如何使用 Yolo v5 對(duì)象檢測(cè)算法進(jìn)行自定義對(duì)象檢測(cè)
介紹
在本文中,將向你解釋如何使用 Yolo v5 算法檢測(cè)和分類60+個(gè)不同類型的道路交通標(biāo)志。
我們將從非;A(chǔ)的開始,涵蓋每個(gè)步驟,如準(zhǔn)備數(shù)據(jù)集、訓(xùn)練和測(cè)試等。在本文中,我們將使用 Windows 10系統(tǒng)。
讓我們更多地討論 YOLO 及其架構(gòu)。
YOLO 是You Only Look Once的首字母縮寫。我們使用的是Ultralytics于2020年6月推出的版本 5,它是目前可用的最先進(jìn)的目標(biāo)識(shí)別算法。
YOLOv5 是一種新穎的卷積神經(jīng)網(wǎng)絡(luò)(CNN),可以非常準(zhǔn)確地實(shí)時(shí)檢測(cè)對(duì)象。這種方法使用單個(gè)神經(jīng)網(wǎng)絡(luò)來處理整個(gè)圖片,然后將其分成多個(gè)部分并預(yù)測(cè)每個(gè)部分的邊界框和概率。這些邊界框由預(yù)期概率加權(quán)。
該方法“只看一次”圖像,因?yàn)樗鼉H在一次前向傳播通過神經(jīng)網(wǎng)絡(luò)后進(jìn)行預(yù)測(cè)。然后在非最大抑制之后傳遞檢測(cè)到的項(xiàng)目(這確保對(duì)象檢測(cè)算法只識(shí)別每個(gè)對(duì)象一次)。
它的架構(gòu)主要由三部分組成,即:
1. Backbone: Backbone 主要用于從輸入圖像中提取關(guān)鍵特征。CSP(Cross Stage Partial Networks)在 YOLO v5 中用作主干,以從輸入圖像中提取豐富的有用特征。
2. Neck: Neck 主要用于創(chuàng)建特征金字塔。當(dāng)涉及到對(duì)象縮放時(shí),特征金字塔有助于模型泛化。它有助于識(shí)別不同大小和比例的同一物體。特征金字塔在幫助模型有效地處理之前看不見的數(shù)據(jù)方面是非常有益的。其他模型,如FPN、BiFPN和PANet,使用各種各樣的特征金字塔方法。PANet 在 YOLO v5 中用作 Neck 來獲取特征金字塔。
3. Head: 模型Head主要負(fù)責(zé)最后的檢測(cè)步驟。它使用錨框來構(gòu)建具有類別概率、對(duì)象性分?jǐn)?shù)和邊界框的最終輸出向量。
YOLO v5 模型的頭部與之前的 YOLO V3 和 V4 版本相同。
Yolo v5 的優(yōu)缺點(diǎn)
· 它比 YOLOv4 小 88%(27 MB vs 244 MB)
· 它比 YOLOv4 快 180%(140 FPS vs 50 FPS)
· 它在同一任務(wù)上大致與 YOLOv4 一樣準(zhǔn)確(0.895 mAP vs 0.892 mAP)
· 但主要的問題是YOLOv5沒有像其他YOLO版本一樣發(fā)布官方論文。此外,YOLO v5 仍在開發(fā)中,我們會(huì)經(jīng)常收到Ultralytics 的更新,未來開發(fā)者可能會(huì)更新一些設(shè)置。
目錄
1.在 Windows 10 中設(shè)置虛擬環(huán)境。
2.克隆 Yolo v5 的 GitHub 倉庫。
3.數(shù)據(jù)集的準(zhǔn)備和預(yù)處理。
4.訓(xùn)練模型。
5.預(yù)測(cè)和現(xiàn)場(chǎng)測(cè)試。
創(chuàng)建虛擬環(huán)境
我們將首先通過在 Windows 命令提示符中運(yùn)行該命令來設(shè)置虛擬環(huán)境
1.安裝Virtualenv(運(yùn)行以下命令安裝虛擬環(huán)境)
$ pip install virtualenv
2.創(chuàng)建環(huán)境(運(yùn)行以下命令創(chuàng)建虛擬環(huán)境)
$ py -m venv YoloV5_VirEnv
3.使用該命令激活它(運(yùn)行以下命令以激活該環(huán)境)
$ YoloV5_VirEnvScriptsactivate
你也可以使用停用它(如果要停用該環(huán)境,請(qǐng)運(yùn)行以下命令)
$ deactivate
設(shè)置 YOLO
激活虛擬環(huán)境后,克隆這個(gè)由Ultralytics創(chuàng)建和維護(hù)的 GitHub 存儲(chǔ)庫:
$ git clone https://github.com/ultralytics/yolov5
$ cd yolov5
目錄結(jié)構(gòu)
yolov5/
.github/
data/
models/
utils/
.dockerignore
.gitattributes
.gitignore
.pre-commit-config.yaml
CONTRIBUTING.md
detect.py
Dockerfileexport.py
hubconf.py
LICENSE
README.md
requirements.txt
setup.cfg
train.py
tutorial.ipynb
val.py
安裝必要的庫:首先,我們將安裝做圖像處理所需的所有必要的庫(OpenCV &Pillow),圖像分類 (Tensorflow&PyTorch) , 進(jìn)行矩陣操作(Numpy)
$ pip install -r requirements.txt
數(shù)據(jù)集的準(zhǔn)備
從該鏈接下載完整的標(biāo)記數(shù)據(jù)集:
然后解壓 zip 文件并將其移動(dòng)到 yolov5/ 目錄。
1144images_dataset/
train/
test/
在yolov5/目錄中創(chuàng)建一個(gè)名為 data.yaml 的文件 ,并將以下代碼粘貼到其中。
該文件將包含你的標(biāo)簽以及訓(xùn)練和測(cè)試數(shù)據(jù)集的路徑。
我們將使用總共 77 個(gè)不同的類
使用 Yolo v5 訓(xùn)練模型
現(xiàn)在,運(yùn)行該命令以最終訓(xùn)練你的數(shù)據(jù)集。你可以根據(jù) PC 的規(guī)格更改批次大小。訓(xùn)練時(shí)間將取決于你電腦的性能,最好使用 Google Colab。
你還可以訓(xùn)練不同版本的 YOLOv5 算法,
所有這些都將采用不同的計(jì)算能力,并提供 FPS(每秒幀數(shù))和精度的不同組合。
在本文中,我們將使用YOLOv5s版本,因?yàn)樗亲詈?jiǎn)單的。
$ python train.py --data data.yaml --cfg yolov5s.yaml --batch-size 8 --name Model
現(xiàn)在內(nèi)部運(yùn)行 runs/train/Model/,你將找到最終訓(xùn)練好的模型。
best.pt 包含用于最終檢測(cè)和分類的最終模型。
results.txt 文件將包含你在每個(gè)時(shí)期實(shí)現(xiàn)的準(zhǔn)確度和損失的摘要。
其他圖像包含一些繪圖和圖表,可用于更多分析。
Model Yolo v5 的測(cè)試
將你的 yolov5/目錄移到別處,并克隆那個(gè)存儲(chǔ)庫。
$ git clone https://github.com/aryan0141/RealTime_Detection-And-Classification-of-TrafficSigns
$ cd RealTime_Detection-And-Classification-of-TrafficSigns
目錄結(jié)構(gòu)
現(xiàn)在復(fù)制我們?cè)谏厦嬗?xùn)練的模型并將其粘貼到此目錄中。
注意:我已經(jīng)在Model/目錄中包含了一個(gè)經(jīng)過訓(xùn)練的模型,但你也可以將其替換為經(jīng)過訓(xùn)練的模型。移動(dòng)到代碼所在的目錄中。
$ cd Codes/
將你的視頻或圖像放在**Test*目錄中。我還提供了一些示例視頻和圖像供你參考。
用于測(cè)試圖像
$ python detect.py --source ../Test/test1.jpeg --weights ../Model/weights/best.pt
用于測(cè)試視頻
$ python detect.py --source ../Test/vidd1.mp4 --weights ../Model/weights/best.pt
對(duì)于網(wǎng)絡(luò)攝像頭
$ python detect.py --source 0 --weights ../Model/weights/best.pt
你的最終圖像和視頻存儲(chǔ)在Results/目錄中。
示例圖像
每秒幀數(shù)(FPS)取決于你使用的 GPU。我在 Nvidia MX 350 2GB 顯卡上獲得了大約 50FPS
GitHub
這是 Github, 可以找到本文中使用的完整代碼。
原文標(biāo)題 : 如何使用 Yolo v5 對(duì)象檢測(cè)算法進(jìn)行自定義對(duì)象檢測(cè)

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測(cè)量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報(bào)告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場(chǎng)潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級(jí)獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國家數(shù)據(jù)局局長(zhǎng)劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡(jiǎn)單
- 10 一文看懂視覺語言動(dòng)作模型(VLA)及其應(yīng)用