yolo(You Only Look Once)是一个高速的物体识别算法,在这里我不详细赘述论文的内容,记录一下我在环境中进行物体识别的整个过程。
YOLOv1的原文:https://arxiv.org/pdf/1506.02640.pdf
YOLOv2原文:https://arxiv.org/pdf/1612.08242.pdf
一.准备工作:
python 3.5 or 3.6 or 3.7
Anaconda
Tensorflow(cpu or gpu 均可)
openCV(我用的是pip安装)
pip install opencv-python
或者通过该链接进行安装:https://www.lfd.uci.edu/~gohlke/pythonlibs/
打开页面如下
点进去下载即可
二.下载Darkflow repo
https://github.com/thtrieu/darkflow
点击Download Zip
在自己的盘中新建一个文件夹,将下载的压缩文件拖入新建的文件夹中,再进行解压缩
三.build a library
win+R------->cmd
将盘符转到刚刚新建的文件夹
输入以下
python setup.py build_ext --inplace
or
pip innstall -e
此时可以看见文件夹中新建了一个build文件夹
四.下载一个weights文件
下载YOLOv2 608x608 weights file:https://pjreddie.com/darknet/yolo/
点击右边的weights
在darkflow-master文件夹中新建bin文件夹,
并将下好的文件yolo.weights拖至bin下
自己去网上找一段视频或者自己拍摄一段视频(最好场景不要是空的)
将此视频文件命名为carvideo.mp4放置darkflow-master文件夹下
五.处理视频文件
打开cmd
输入
python flow --model cfg/yolo.cfg --load bin/yolo.weights --carvideo.mp4 --saveVideo
注意:若你的tensorflow是gpu版本,如下:
python flow --model cfg/yolo.cfg --load bin/yolo.weights --carvideo.mp4 --gpu 1.0 --saveVideo
调用摄像头
python flow --model cfg/yolo.cfg --load bin/yolo.weights --demo camera
此时会看到arkflow-master文件夹中多出一个.avi的视频文件
此为识别后的视频
过程中出现的错误:
Darkflow — No module named 'darkflow.cython_utils.cy_yolo_findboxes'
1.Darkflow — No module named ‘darkflow.cython_utils.cy_yolo_findboxes’
解决方法参考
https://stackoverflow.com/questions/52581584/darkflow-no-module-named-darkflow-cython-utils-cy-yolo-findboxes#
2.如何确定tensorflow是cpu还是gpu版本
解决方法参考
https://blog.csdn.net/zlase/article/details/79261348
3.Microsoft visual c++ 14.0 is required
Microsoft visual c++ 14.0 is required
解决办法参考下载visual c++ 14.0
https://pan.baidu.com/s/1WaBxFghTll6Zofz1DGOZBg
4.LINK : fatal error LNK1158: cannot run 'rc.exe’
LINK : fatal error LNK1158: cannot run 'rc.exe'
参考方法
https://blog.csdn.net/yapingxin/article/details/80541537