yoloV3spp学习教程

YOLOV3spp使用教程

这个文章是第一次发博客,可能有不对的地方,能给予一些指示,其次本篇文章主要还是在学习b站的一位up主的视频以及在博客上看到的所做的总结。
up主:霹雳吧啦Wz
github:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

第一:首先注意的是环境配置

期初我使用的是torch1.8.1加上torchvision0.9.0和cuda11,但是跑程序会出现错误,错误如下所示
yolov3出现的错误

yolov5出现的loss  nan

不仅在yolov3出现,yolov5也是出现这种原因,查过很多资料,说是cuda11能够引起loss nan的情况,所以换了新的环境,问题基本解决。
配置环境如上所示
第二:装pycocotools

看到很多人都会出现这个装不上去,可以用三种方法安装
1. pip install pycocotools
2. conda install pycocotools
3. 或者使用pip install pycocotools-windows

基本上其他的问题,都是库的原因

第三:视频转为为训练的照片

学了很久的目标检测,由于每次照片去训练,都是图片类型,但是现在有一个任务是通过视频来读取照片,这样就会出现一个问题,使用OpenCV读取照片。
OpenCV读取视频

比如一个视频是5s钟,1s差不多是30帧,那么使用上述的代码读取将会是一帧一张照片,读取150张照片,所以需要采取比如20帧读取一张照片,那么读取照片少了很多,但是比如检测一些东西依旧会留在照片上,而且会节约时间。

	VIDEO_PATH = './1.avi' # 视频地址
	EXTRACT_FOLDER = './extract_folder' # 存放帧图片的位置
	EXTRACT_FREQUENCY = 100 # 帧提取频率
	
	
	def extract_frames(video_path, dst_folder, index):
	    # 主操作
	    import cv2
	    video = cv2.VideoCapture()
	    if not video.open(video_path):
	        print("can not open the video")
	        exit(1)
	    count = 1
	    while True:
	        _, frame = video.read()
	        if frame is None:
	            break
	        if count % EXTRACT_FREQUENCY == 0:
	            save_path = "{}/{:>03d}.jpg".format(dst_folder, index)
	            cv2.imwrite(save_path, frame)
	            index += 1
	        count += 1
	    video.release()
	    # 打印出所提取帧的总数
	    print("Totally save {:d} pics".format(index-1))
	
	
	def main():
	    # 递归删除之前存放帧图片的文件夹,并新建一个
	    import shutil
	    try:
	        shutil.rmtree(EXTRACT_FOLDER)
	    except OSError:
	        pass
	    import os
	    os.mkdir(EXTRACT_FOLDER)
	    # 抽取帧图片,并保存到指定路径
	    extract_frames(VIDEO_PATH, EXTRACT_FOLDER, 1)
	
	
	if __name__ == '__main__':
	    main()

上面代码链接:https://blog.csdn.net/JNingWei/article/details/77869078
通过上面的代码就会采集到合适的照片

基本信息就是这些,如有其他的,我会继续补充,也希望各位网友能够提一些建议

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值