教女友学会python+yolov3调用笔记本摄像头——实时进行识别

我终于回来啦,快一个月没有正式写博客了
最近忙着把老师交给我的项目完成,又从老师经费里白嫖了好多好玩的硬件,网课都没咋听,今天介绍完这个小点,马上就要准备看模电了
其实我做项目时完全从0开始,所接触的东西也是零零散散的,我想表达的东西用面向新手的方式写出来,之后开始介绍软硬件结合的东西。
也可以加我的交流群,所有资料我会在群里分享出来哦:977947271
2020/5/30:
近日每天都有十几个很明显的小号加群,而且有的大号进群竟然打广告和卖不良物品,经我和群友讨论后,加群需要1元钱,但是进群后我会将钱退还给大家,只是为了过滤一些不好的人。

环境:win10、py3.6、yolov3

1、准备工作

1、yolo3源代码:github_keras-yolo3

2、权重文件:官网_yolov3_weights(点击直接下载)或者 我的百度网盘文件 链接:

https://pan.baidu.com/s/1YD5dtSrEkcBO0PRHO7eLlw 
提取码:1uub 

我也有自己训练的只识别 person 的权重文件,有需要的话可以评论邮箱地址
如果你是新手中的新手,可以先参考下我的这两篇文章:
1、keras-yolov3目标检测详解——适合新手(教你运行成功yolo)
2、win10+yolov3+python训练自己的模型(教你训练自己的模型去识别)

2、添加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 文件就代表准备工作完成了
在这里插入图片描述

3、改代码并运行

打开 yolo.py 大概在170多行的位置找到:vid = cv2.VideoCapture(video_path)
在这里插入图片描述
将其改为:vid = cv2.VideoCapture(0)

这里我们使用opencv库中的VideoCapture()函数创建摄像头对象,参数0是表示调用第一个摄像头,一般就是笔记本的内置摄像头。
在这里插入图片描述
然后打开 yolo_video.py 并运行
下面是我刚刚运行并演示出的效果,手机拿的有些近,所以没有识别出手机

在这里插入图片描述

不过细心的朋友看下代码就知道,其实这种方法实际上是读取摄像头某一帧的画面,对此画面进行图片式的识别。但是我们很多项目其实并不要求保存视频,或者处理的很流畅,我们需求就是单纯识别的话这种方法完全满足项目的需要了。
.

4、用自己训练的模型来识别

上图有些瑕疵,只识别出了 person,但我拿开手机的话,我背后的很多物品,官方的权重都能识别,包括手机壳上的小狗。

但是很多情况下我们只想让他识别出一种或几种物品怎么办呢?

比如我之前训练出的只能识别出人的的权重,下面就介绍一下方法。

可以看我这篇文章:win10+yolov3+python训练自己的模型——适合新手 去自己训练出模型。

也可以直接用我训练的模型:

链接:https://pan.baidu.com/s/1NSR2XC-SmId9O1E0QvNGcg 
提取码:cs99
>>>网盘下载的慢的话可以评论下邮箱,QQ传文件还是蛮快的<<<

将我的模型下载好后放在 model_data 文件夹中,改名为:yolo.h5

在这里插入图片描述
像上文一样运行 yolo_video.py 文件就可以了。
在这里插入图片描述

我也只是个学生,做项目的时候刚好看到 yolo 了,就玩了一阵子,这些只是很简单的东西,之后我会慢慢的把我做的比较深入的东西写出来(说实话…一般没人看),所以呢,今天2020/5/4,我准备创建一个开源项目的交流群。
我本身很菜,但是玩过一些开源的项目,本身电气专业,也喜欢自己用单片机做东西,现在自己发过论文、国际发明专利、国内发明专利。马上准备考研了,也希望能遇到一些大佬,给些指点,也可以大家一起讨论问题,解决问题。

群号:977947271
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章