github源代码:https://github.com/qqwweee/keras-yolo3
Cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive
Cudnn下载地址:https://developer.nvidia.com/rdp/cudnn-archive
yolo3预训练权重:https://pjreddie.com/media/files/yolov3.weights
TinyYOLOv3的权重文件下载:https://pjreddie.com/media/files/yolov3-tiny.weights
查看windows下显卡的版本,控制面板->硬件和声音->Nvidia控制面板->帮助->系统信息->组件 看cuda dll版本
yolo3的github说明文档中,说明了配置文件:
Python 3.5.2 (自己用3.6依旧可以运行)
Keras 2.1.5
tensorflow 1.6.0
注意,tensorflow 1.6.0需要Cuda9.0以及cudnn7.0.*的版本,特别cudnn版本高了会报错,下载了cudnn7.1的结果就运行出错:
Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogr adNonfuse
在anaconda中重新创建一个新环境,安放tensorflow-gpu
conda create -n tensorflow-gpu python=3.6
conda activate tensorflow-gpu
安装上述的包,用pip下载速度慢,可以用镜像加速。推荐豆瓣或者清华源。
http://pypi.douban.com/simple/ (豆瓣)
https://pypi.tuna.tsinghua.edu.cn/simple (清华)
pip install --ignore-installed --upgrade tensorflow-gpu==1.6.0 -i http://pypi.douban.com/simple/
pip install --ignore-installed --upgrade keras==2.1.5 -i http://pypi.douban.com/simple/
同时安装一些yolo3里面用到的python库
pip install --ignore-installed --upgrade pillow h5py matplotlib opencv_python==3.2.0.8 -i http://pypi.douban.com/simple/
转化配置文件
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
python convert.py yolov3-tiny.cfg yolov3-tiny.weights model_data/yolo.h5
测试:
python yolo_video.py --image
输入图片路径,即可得到最终结果
接着测试实时视频流:
将yolo.py
vid = cv2.VideoCapture(video_path) 修改为
vid = cv2.VideoCapture(0)
运行
python yolo_video.py
可以直接从摄像头读取视频