一、所需要的库文件以及Python版本
- Python 3.7 + 开发环境
- TensorFlow-gpu 2.6.0
- OpenCV-Python 4.5.3+
- win10
- Microsoft Visual Studio 2019(我反正要下,缺少这个,因为这个弄得我很难受)
二、下载YOLO3源代码
- YOLO3源代码:github_keras-yolo3
- 下载权重文件:官网_yolov3_weights(点击直接下载)
三、添加YOLO模型
先将刚刚下载好的yolov3.weights 权重放在下载的yolo文件中
再用Pycharm打开YOLO源代码
在命令行输入:python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
运行命令直到出现:Saved Keras model to model_data/yolo.h5
且 model_data 中多了个 yolo.h5 文件就代表准备工作完成了
注意
如果在执行
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
这行命令报错了!
报错内容如下
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Micros......
这个时候就是我所说的难受的了来了!
去官网下载Microsoft Visual Studio 2019
下载完之后重启电脑,再次执行python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
出现以下情况就说明你执行成功了!
这个时候你的model_data中多了个 yolo.h5 文件
四、改代码并运行
打开 yolo.py 大概在170多行的位置找到:vid = cv2.VideoCapture(video_path)
将其改为:vid = cv2.VideoCapture(0)
这里我们使用opencv库中的VideoCapture()
函数创建摄像头对象,参数0是表示调用第一个摄像头,一般就是笔记本的内置摄像头。
然后打开 yolo_video.py 并运行
第一次运行的话应该会有一个转换问题,报错如下:
这个时候就在model.py代码里添加代码
然后再次打开 yolo_video.py 并运行
下面是我刚刚运行并演示出的效果
最终识别出了Person(人)
我估计大概猜测以下,估计有的朋友,运行的时候,摄像头的帧数很低,很卡,因为你没有在GPU上运行,所以导致帧数上不去,后期会出一个如何让代码在GPU中运行!
还有一个问题就是,导包的问题,因为代码估计会很旧,所以有的时候Pycharm导包导入不了,就两个地方需要改,根据报错去百度上找,很容易修改的!(博主自己改完了,忘记了哪要改了 哈哈哈~)