基于YoloV5的钢筋计数
文章目錄
- 1、下載YoloV5源代碼
- 2、項目代碼介紹
- 3、在圖片上顯示計數的個數
- 4、手機連接攝像頭進行實時計數
- 5、圖片檢測效果
- 6、攝像頭實時計數
文章為原創內容,如轉載請標明,嚴禁照搬照抄!
另外如果大家有什么問題可以在評論區留言,我也是小白,我會盡量幫大家解答的。
1、下載YoloV5源代碼
yolov5的源碼下載地址 yolov5官網
下載之后大致是這樣的,因為我這個是做鋼筋計數,可能有一點不同
2、項目代碼介紹
就簡單做一下介紹:
1、data:主要是存放一些超參數的配置文件(這些文件(yaml文件)是用來配置訓練集和測試集還有驗證集的路徑的,其中還包括目標檢測的種類數和種類的名稱);還有一些官方提供測試的圖片。如果是訓練自己的數據集的話,那么就需要修改其中的yaml文件。但是自己的數據集不建議放在這個路徑下面,而是建議把數據集放到yolov5項目的同級目錄下面。
2、models:里面主要是一些網絡構建的配置文件和函數,其中包含了該項目的四個不同的版本,分別為是s、m、l、x。從名字就可以看出,這幾個版本的大小。他們的檢測測度分別都是從快到慢,但是精確度分別是從低到高。這就是所謂的魚和熊掌不可兼得。如果訓練自己的數據集的話,就需要修改這里面相對應的yaml文件來訓練自己模型。
3、weights:放置訓練好的權重參數。下載地址yolo_.pt
4、train.py:訓練自己的數據集的函數
這里我們需要對這幾行的代碼進行修改
這里再放一張目錄的圖片
這里我們把數據集的路徑添加進來,test這個可有可無,nc:后面記得有個空格,這里我們只檢測鋼筋,所以為1.
我們運行train.py之后會生成下面圖片上的文件
5、detect.py:利用訓練好的權重參數進行目標檢測,可以進行圖像、視頻和攝像頭的檢測。
我們接下來在detect.py中修改上面的代碼,第223行是把train.py生成的best.pt添加進來,第224行是我們要進行鋼筋計數的圖片。
3、在圖片上顯示計數的個數
這里我們需要在
` if save_img:cv2.putText(im0, f"{n} {names[int(c)]}{'s' * (n > 1)}", (5, 50), cv2.FONT_HERSHEY_SIMPLEX, 1.2,(0, 0, 255), 2) # 添加的顯示計數值`if save_img:下面添加下面這行代碼才可以顯示計數的數量。大概在detect.py的190行左右
4、手機連接攝像頭進行實時計數
1,下載IP攝像頭APP
2、按如下步驟操作
我們記下自己的ip地址,每個人的不一樣
然后在上圖中這個位置添加這行代碼,填寫自己的IP地址和端口號。
點擊ok,再在pycharm上運行detect.py就可以了。
5、圖片檢測效果
yolov5s.pt的計數效果(數量為134)
yolov5m.pt的計數效果(數量為153)
yolov5l.pt的計數效果(數量為169)
通過這個計數對比我們可以發現計數效果yolov5l.pt優于yolov5m.pt優于yolov5s.pt.
6、攝像頭實時計數
基于yolov5的攝像頭鋼筋實時計數
此外還有yolov5s.pt與yolov5m.pt的攝像頭計數。需要源碼的可以關注一下公共號:
Belated to bide
總結
以上是生活随笔為你收集整理的基于YoloV5的钢筋计数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把高版本的CAD文件转换成低版本的
- 下一篇: 关于MATLAB的学习记录(纯入门用)