参照:
https://blog.csdn.net/weixin_43472830/article/details/88022869
一、所需环境:
1.python3.7
2.OpenCV3.4.1
3.TensorFlow
二、下载darkflow
源文件地址:github.com/thtrieu/darkflow 点击download即可
编译darkflow 在cmd中,将路径切换到 darkflow 所在目录,输入指令:python setup.py build_ext --inplace 即可完成编译
编译完后,界面如下:
三、 下载YOLO权重文件
YOLO 官网:https://pjreddie.com/darknet/yolo/
视频以YOLO V2为例,所以下载的是打框的文件。(下载V3的权重,发现文件太大,估计后面程序看懂后才能改),【注】把yolov2.weight中的v2去掉
这个是权重文件的格式
在darkflow 下创建一个名为bin的文件夹,把下载的权重复制进去,在复制一个待检测的视频 test.mp4,最后文件夹如下所示:
四、测试:
在cmd中,将路径切换到 darkflow 所在目录,输入指令:python flow --model cfg/yolo.cfg --load bin/yolo.weights --demo test.avi --gpu 1.0 --saveVideo 即可完成编译(没装GPU的将 --gpu 1.0去掉即可,注意指令与自己的文件名称,路径相对应)
在测试开始之前要先安装anaconda,然后在anaconda中安装OpenCV和TensorFlow:
安装anaconda:
首先在清华镜像源站https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 中下载anaconda3-5.3.1,下载好之后进行安装,过程比较简单,一步步安装就可以。利用anaconda安装OpenCV可参照下面这个链接:
https://blog.csdn.net/qq_33287871/article/details/97963280
然后利用anaconda安装TensorFlow,可参照下面这个链接:
https://www.cnblogs.com/HongjianChen/p/8385547.html
大家还是安装GPU版本吧,yolo对硬件要求高,我一开始以为我电脑的显卡不怎么样,就没安装GPU版本,装的CPU版本,结果装完测试提示我CPU计算能力不行,太尴尬了,CPU计算能力不行也勉强可以,只不过等的时间长一些,差不多两秒一帧。
在安装完成后还需要在TensorFlow环境下安装OpenCV,打开anaconda navigater
在environments中找到TensorFlow:
在右侧选择uninstalled,在里面查找OpenCV,安装即可,上图是我安装完成之后的结果。为什么要在TensorFlow环境下安装OpenCV?因为TensorFlow的使用要在anaconda prompt中先activate TensorFlow才能使用,但是在TensorFlow环境下一般是没有OpenCV的,同理在OpenCV环境下也没有TensorFlow。
运行过程:
1.先在anaconda prompt中将路径指向darkflow-master文件夹下,然后在这个路径下activate TensorFlow一下,进入到TensorFlow环境
2.运行指令
python flow --model cfg/yolo.cfg --load bin/yolo.weights --demo test.avi --gpu 1.0 --saveVideo
运行完后会在darkflow-master文件夹下生成名为video的视频。运行效果如下图所示:我随便在网上下载的一个视频,可能原来的数据集中有别的分类,这个视频中只有轿车,也给识别成truck了,但是car和person还是能够正确识别的。