教女友學會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
在這裏插入圖片描述

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