江蘇營銷型網(wǎng)站推廣網(wǎng)絡(luò)營銷組合策略
《------往期經(jīng)典推薦------》
一、AI應(yīng)用軟件開發(fā)實戰(zhàn)專欄【鏈接】
項目名稱 | 項目名稱 |
---|---|
1.【人臉識別與管理系統(tǒng)開發(fā)】 | 2.【車牌識別與自動收費管理系統(tǒng)開發(fā)】 |
3.【手勢識別系統(tǒng)開發(fā)】 | 4.【人臉面部活體檢測系統(tǒng)開發(fā)】 |
5.【圖片風(fēng)格快速遷移軟件開發(fā)】 | 6.【人臉表表情識別系統(tǒng)】 |
7.【YOLOv8多目標(biāo)識別與自動標(biāo)注軟件開發(fā)】 | 8.【基于YOLOv8深度學(xué)習(xí)的行人跌倒檢測系統(tǒng)】 |
9.【基于YOLOv8深度學(xué)習(xí)的PCB板缺陷檢測系統(tǒng)】 | 10.【基于YOLOv8深度學(xué)習(xí)的生活垃圾分類目標(biāo)檢測系統(tǒng)】 |
11.【基于YOLOv8深度學(xué)習(xí)的安全帽目標(biāo)檢測系統(tǒng)】 | 12.【基于YOLOv8深度學(xué)習(xí)的120種犬類檢測與識別系統(tǒng)】 |
13.【基于YOLOv8深度學(xué)習(xí)的路面坑洞檢測系統(tǒng)】 | 14.【基于YOLOv8深度學(xué)習(xí)的火焰煙霧檢測系統(tǒng)】 |
15.【基于YOLOv8深度學(xué)習(xí)的鋼材表面缺陷檢測系統(tǒng)】 | 16.【基于YOLOv8深度學(xué)習(xí)的艦船目標(biāo)分類檢測系統(tǒng)】 |
17.【基于YOLOv8深度學(xué)習(xí)的西紅柿成熟度檢測系統(tǒng)】 | 18.【基于YOLOv8深度學(xué)習(xí)的血細(xì)胞檢測與計數(shù)系統(tǒng)】 |
19.【基于YOLOv8深度學(xué)習(xí)的吸煙/抽煙行為檢測系統(tǒng)】 | 20.【基于YOLOv8深度學(xué)習(xí)的水稻害蟲檢測與識別系統(tǒng)】 |
21.【基于YOLOv8深度學(xué)習(xí)的高精度車輛行人檢測與計數(shù)系統(tǒng)】 | 22.【基于YOLOv8深度學(xué)習(xí)的路面標(biāo)志線檢測與識別系統(tǒng)】 |
23.【基于YOLOv8深度學(xué)習(xí)的智能小麥害蟲檢測識別系統(tǒng)】 | 24.【基于YOLOv8深度學(xué)習(xí)的智能玉米害蟲檢測識別系統(tǒng)】 |
25.【基于YOLOv8深度學(xué)習(xí)的200種鳥類智能檢測與識別系統(tǒng)】 | 26.【基于YOLOv8深度學(xué)習(xí)的45種交通標(biāo)志智能檢測與識別系統(tǒng)】 |
27.【基于YOLOv8深度學(xué)習(xí)的人臉面部表情識別系統(tǒng)】 | 28.【基于YOLOv8深度學(xué)習(xí)的蘋果葉片病害智能診斷系統(tǒng)】 |
29.【基于YOLOv8深度學(xué)習(xí)的智能肺炎診斷系統(tǒng)】 | 30.【基于YOLOv8深度學(xué)習(xí)的葡萄簇目標(biāo)檢測系統(tǒng)】 |
31.【基于YOLOv8深度學(xué)習(xí)的100種中草藥智能識別系統(tǒng)】 | 32.【基于YOLOv8深度學(xué)習(xí)的102種花卉智能識別系統(tǒng)】 |
33.【基于YOLOv8深度學(xué)習(xí)的100種蝴蝶智能識別系統(tǒng)】 | 34.【基于YOLOv8深度學(xué)習(xí)的水稻葉片病害智能診斷系統(tǒng)】 |
35.【基于YOLOv8與ByteTrack的車輛行人多目標(biāo)檢測與追蹤系統(tǒng)】 | 36.【基于YOLOv8深度學(xué)習(xí)的智能草莓病害檢測與分割系統(tǒng)】 |
37.【基于YOLOv8深度學(xué)習(xí)的復(fù)雜場景下船舶目標(biāo)檢測系統(tǒng)】 | 38.【基于YOLOv8深度學(xué)習(xí)的農(nóng)作物幼苗與雜草檢測系統(tǒng)】 |
39.【基于YOLOv8深度學(xué)習(xí)的智能道路裂縫檢測與分析系統(tǒng)】 | 40.【基于YOLOv8深度學(xué)習(xí)的葡萄病害智能診斷與防治系統(tǒng)】 |
41.【基于YOLOv8深度學(xué)習(xí)的遙感地理空間物體檢測系統(tǒng)】 | 42.【基于YOLOv8深度學(xué)習(xí)的無人機視角地面物體檢測系統(tǒng)】 |
43.【基于YOLOv8深度學(xué)習(xí)的木薯病害智能診斷與防治系統(tǒng)】 | 44.【基于YOLOv8深度學(xué)習(xí)的野外火焰煙霧檢測系統(tǒng)】 |
45.【基于YOLOv8深度學(xué)習(xí)的腦腫瘤智能檢測系統(tǒng)】 | 46.【基于YOLOv8深度學(xué)習(xí)的玉米葉片病害智能診斷與防治系統(tǒng)】 |
47.【基于YOLOv8深度學(xué)習(xí)的橙子病害智能診斷與防治系統(tǒng)】 | 48.【基于深度學(xué)習(xí)的車輛檢測追蹤與流量計數(shù)系統(tǒng)】 |
49.【基于深度學(xué)習(xí)的行人檢測追蹤與雙向流量計數(shù)系統(tǒng)】 | 50.【基于深度學(xué)習(xí)的反光衣檢測與預(yù)警系統(tǒng)】 |
51.【基于深度學(xué)習(xí)的危險區(qū)域人員闖入檢測與報警系統(tǒng)】 | 52.【基于深度學(xué)習(xí)的高密度人臉智能檢測與統(tǒng)計系統(tǒng)】 |
53.【基于深度學(xué)習(xí)的CT掃描圖像腎結(jié)石智能檢測系統(tǒng)】 | 54.【基于深度學(xué)習(xí)的水果智能檢測系統(tǒng)】 |
55.【基于深度學(xué)習(xí)的水果質(zhì)量好壞智能檢測系統(tǒng)】 | 56.【基于深度學(xué)習(xí)的蔬菜目標(biāo)檢測與識別系統(tǒng)】 |
57.【基于深度學(xué)習(xí)的非機動車駕駛員頭盔檢測系統(tǒng)】 | 58.【太基于深度學(xué)習(xí)的陽能電池板檢測與分析系統(tǒng)】 |
59.【基于深度學(xué)習(xí)的工業(yè)螺栓螺母檢測】 | 60.【基于深度學(xué)習(xí)的金屬焊縫缺陷檢測系統(tǒng)】 |
61.【基于深度學(xué)習(xí)的鏈條缺陷檢測與識別系統(tǒng)】 | 62.【基于深度學(xué)習(xí)的交通信號燈檢測識別】 |
63.【基于深度學(xué)習(xí)的草莓成熟度檢測與識別系統(tǒng)】 | 64.【基于深度學(xué)習(xí)的水下海生物檢測識別系統(tǒng)】 |
65.【基于深度學(xué)習(xí)的道路交通事故檢測識別系統(tǒng)】 | 66.【基于深度學(xué)習(xí)的安檢X光危險品檢測與識別系統(tǒng)】 |
67.【基于深度學(xué)習(xí)的農(nóng)作物類別檢測與識別系統(tǒng)】 | 68.【基于深度學(xué)習(xí)的危險駕駛行為檢測識別系統(tǒng)】 |
69.【基于深度學(xué)習(xí)的維修工具檢測識別系統(tǒng)】 | 70.【基于深度學(xué)習(xí)的維修工具檢測識別系統(tǒng)】 |
71.【基于深度學(xué)習(xí)的建筑墻面損傷檢測系統(tǒng)】 | 72.【基于深度學(xué)習(xí)的煤礦傳送帶異物檢測系統(tǒng)】 |
73.【基于深度學(xué)習(xí)的老鼠智能檢測系統(tǒng)】 | 74.【基于深度學(xué)習(xí)的水面垃圾智能檢測識別系統(tǒng)】 |
75.【基于深度學(xué)習(xí)的遙感視角船只智能檢測系統(tǒng)】 | 76.【基于深度學(xué)習(xí)的胃腸道息肉智能檢測分割與診斷系統(tǒng)】 |
77.【基于深度學(xué)習(xí)的心臟超聲圖像間隔壁檢測分割與分析系統(tǒng)】 | 78.【基于深度學(xué)習(xí)的心臟超聲圖像間隔壁檢測分割與分析系統(tǒng)】 |
79.【基于深度學(xué)習(xí)的果園蘋果檢測與計數(shù)系統(tǒng)】 | 80.【基于深度學(xué)習(xí)的半導(dǎo)體芯片缺陷檢測系統(tǒng)】 |
81.【基于深度學(xué)習(xí)的糖尿病視網(wǎng)膜病變檢測與診斷系統(tǒng)】 |
二、機器學(xué)習(xí)實戰(zhàn)專欄【鏈接】,已更新31期,歡迎關(guān)注,持續(xù)更新中~~
三、深度學(xué)習(xí)【Pytorch】專欄【鏈接】
四、【Stable Diffusion繪畫系列】專欄【鏈接】
五、YOLOv8改進專欄【鏈接】,持續(xù)更新中~~
六、YOLO性能對比專欄【鏈接】,持續(xù)更新中~
《------正文------》
目錄
- 基本功能演示
- 研究背景
- 應(yīng)用場景
- 主要工作內(nèi)容
- 一、軟件核心功能介紹及效果演示
- 軟件主要功能
- 界面參數(shù)設(shè)置說明
- 檢測結(jié)果說明
- 主要功能說明
- (1)圖片檢測說明
- (2)視頻檢測說明
- (3)攝像頭檢測說明
- (4)保存圖片與視頻檢測說明
- 二、YOLO11簡介
- 三、模型訓(xùn)練、評估與推理
- 1. 數(shù)據(jù)集準(zhǔn)備與訓(xùn)練
- 2.模型訓(xùn)練
- 3. 訓(xùn)練結(jié)果評估
- 4. 使用模型進行推理
- 四、可視化系統(tǒng)制作
- Pyqt5詳細(xì)介紹
- 系統(tǒng)制作
- 【獲取方式】
基本功能演示
基于YOLO11深度學(xué)習(xí)的運動鞋品牌檢測與識別系統(tǒng)【python源碼+Pyqt5界面+數(shù)據(jù)集+訓(xùn)練代碼】
摘要:運動文化普及和體育用品市場擴大使運動鞋品牌和款式增多,快速準(zhǔn)確識別品牌信息對消費者、零售商和品牌方至關(guān)重要。但傳統(tǒng)的人工檢查和條形碼掃描效率低、易出錯。本文基于
YOLO11的深度學(xué)習(xí)框架
,通過6060
張實際場景中不同運動鞋品牌
的相關(guān)圖片,訓(xùn)練了可進行運動鞋品牌
檢測的模型,可以很好的檢測并識別實際場景中不同運動鞋。最終基于訓(xùn)練好的模型制作了一款帶UI界面的運動鞋品牌檢測與識別系統(tǒng)
,更便于進行功能的展示。該系統(tǒng)是基于python
與PyQT5
開發(fā)的,支持圖片
、視頻
以及攝像頭
進行目標(biāo)檢測
,并保存檢測結(jié)果
。本文提供了完整的Python代碼和使用教程,給感興趣的小伙伴參考學(xué)習(xí),完整的代碼資源文件獲取方式見文末。
文章目錄
- 基本功能演示
- 研究背景
- 應(yīng)用場景
- 主要工作內(nèi)容
- 一、軟件核心功能介紹及效果演示
- 軟件主要功能
- 界面參數(shù)設(shè)置說明
- 檢測結(jié)果說明
- 主要功能說明
- (1)圖片檢測說明
- (2)視頻檢測說明
- (3)攝像頭檢測說明
- (4)保存圖片與視頻檢測說明
- 二、YOLO11簡介
- 三、模型訓(xùn)練、評估與推理
- 1. 數(shù)據(jù)集準(zhǔn)備與訓(xùn)練
- 2.模型訓(xùn)練
- 3. 訓(xùn)練結(jié)果評估
- 4. 使用模型進行推理
- 四、可視化系統(tǒng)制作
- Pyqt5詳細(xì)介紹
- 系統(tǒng)制作
- 【獲取方式】
點擊跳轉(zhuǎn)至文末《完整相關(guān)文件及源碼》獲取
研究背景
隨著運動文化的普及和體育用品市場的不斷擴大,市場上運動鞋的品牌和款式日益多樣化。對于消費者、零售商以及品牌方來說,準(zhǔn)確快速地識別運動鞋的品牌信息變得越來越重要。然而,傳統(tǒng)的識別方法依賴于人工檢查或條形碼掃描等方式,這些方法在處理大量商品時效率低下且容易出錯。基于YOLO深度學(xué)習(xí)框架開發(fā)的運動鞋品牌檢測識別系統(tǒng),能夠?qū)崟r自動識別圖像中的運動鞋位置及其具體品牌名稱,極大地提高了識別效率和準(zhǔn)確性。該系統(tǒng)的應(yīng)用不僅優(yōu)化了庫存管理和顧客服務(wù)流程,也為市場分析和品牌保護提供了新的工具。
應(yīng)用場景
零售管理:
幫助零售商實現(xiàn)自動化庫存盤點,通過攝像頭監(jiān)控店內(nèi)商品,快速獲取貨架上各類運動鞋的品牌信息,提高庫存管理效率。
智能購物體驗:
為實體店鋪提供智能導(dǎo)購服務(wù),顧客可以通過手機應(yīng)用程序拍攝感興趣的運動鞋,系統(tǒng)即時顯示品牌及相關(guān)信息,增強購物體驗。
電子商務(wù)平臺:
在線銷售平臺上使用該系統(tǒng)對上傳的商品圖片進行自動標(biāo)注,確保產(chǎn)品信息的準(zhǔn)確性和一致性,提升用戶體驗。
市場研究與趨勢分析:
收集不同地區(qū)、時間段內(nèi)各種品牌運動鞋的出現(xiàn)頻率數(shù)據(jù),為企業(yè)制定市場營銷策略提供依據(jù)。
主要工作內(nèi)容
本文的主要內(nèi)容包括以下幾個方面:
搜集與整理數(shù)據(jù)集:
搜集整理實際場景中不同品牌運動鞋
的相關(guān)數(shù)據(jù)圖片,并進行相應(yīng)的數(shù)據(jù)標(biāo)注與處理,為模型訓(xùn)練提供訓(xùn)練數(shù)據(jù)集;訓(xùn)練模型:
基于整理的數(shù)據(jù)集,根據(jù)最前沿的YOLOv11目標(biāo)檢測技術(shù)
訓(xùn)練目標(biāo)檢測模型,實現(xiàn)對需要檢測的對象進行有效檢測的功能;模型性能評估:對訓(xùn)練出的模型在驗證集上進行了充分的結(jié)果評估和對比分析
,主要目的是為了揭示模型在關(guān)鍵指標(biāo)(如Precision、Recall、mAP50和mAP50-95等指標(biāo))上的表現(xiàn)情況
。可視化系統(tǒng)制作:
基于訓(xùn)練出的目標(biāo)檢測模型
,搭配Pyqt5
制作的UI界面,用python
開發(fā)了一款界面簡潔的軟件系統(tǒng),可支持圖片、視頻以及攝像頭檢測
,同時可以將圖片或者視頻檢測結(jié)果進行保存
。其目的是為檢測系統(tǒng)提供一個用戶友好的操作平臺,使用戶能夠便捷、高效地進行檢測任務(wù)。
軟件初始界面如下圖所示:
檢測結(jié)果界面如下:
一、軟件核心功能介紹及效果演示
軟件主要功能
1. 可用于實際場景中的運動鞋
檢測,并識別不同品牌,分6個檢測類別:['阿迪達斯','斐樂','新百倫','耐克','彪馬','安德瑪']
;
2. 支持圖片、視頻及攝像頭
進行檢測,同時支持圖片的批量檢測
;
3. 界面可實時顯示目標(biāo)位置
、目標(biāo)總數(shù)
、置信度
、用時
、檢測結(jié)果
等信息;
4. 支持圖片
或者視頻
的檢測結(jié)果保存
;
5. 支持將圖片的檢測結(jié)果保存為csv文件
;
界面參數(shù)設(shè)置說明
置信度閾值:也就是目標(biāo)檢測時的conf參數(shù),只有檢測出的目標(biāo)框置信度大于該值,結(jié)果才會顯示;
交并比閾值:也就是目標(biāo)檢測時的iou參數(shù),對檢測框重疊比例iou大于該閾值的目標(biāo)框進行過濾【也就是說假如兩檢測框iou大于該值的話,會過濾掉其中一個,該值越小,重疊框會越少】;
檢測結(jié)果說明
顯示標(biāo)簽名稱與置信度:
表示是否在檢測圖片上標(biāo)簽名稱與置信度,顯示默認(rèn)勾選,如果不勾選則不會在檢測圖片上顯示標(biāo)簽名稱與置信度;
總目標(biāo)數(shù)
:表示畫面中檢測出的目標(biāo)數(shù)目;
目標(biāo)選擇
:可選擇單個目標(biāo)進行位置信息、置信度查看。
目標(biāo)位置
:表示所選擇目標(biāo)的檢測框,左上角與右下角的坐標(biāo)位置。默認(rèn)顯示的是置信度最大的一個目標(biāo)信息;
主要功能說明
功能視頻演示見文章開頭,以下是簡要的操作描述。
(1)圖片檢測說明
點擊打開圖片
按鈕,選擇需要檢測的圖片,或者點擊打開文件夾
按鈕,選擇需要批量檢測圖片所在的文件夾,操作演示如下:
點擊目標(biāo)下拉框后,可以選定指定目標(biāo)的結(jié)果信息進行顯示。
點擊保存
按鈕,會對檢測結(jié)果進行保存,存儲路徑為:save_data
目錄下,同時會將圖片檢測信息保存csv文件
。
注:1.右側(cè)目標(biāo)位置默認(rèn)顯示置信度最大一個目標(biāo)位置,可用下拉框進行目標(biāo)切換。所有檢測結(jié)果均在左下方表格中顯示。
(2)視頻檢測說明
點擊視頻
按鈕,打開選擇需要檢測的視頻,就會自動顯示檢測結(jié)果,再次點擊可以關(guān)閉視頻。
點擊保存
按鈕,會對視頻檢測結(jié)果進行保存,存儲路徑為:save_data
目錄下。
(3)攝像頭檢測說明
點擊打開攝像頭
按鈕,可以打開攝像頭,可以實時進行檢測,再次點擊,可關(guān)閉攝像頭。
(4)保存圖片與視頻檢測說明
點擊保存
按鈕后,會將當(dāng)前選擇的圖片【含批量圖片】或者視頻
的檢測結(jié)果進行保存,對于圖片圖片檢測還會保存檢測結(jié)果為csv文件
,方便進行查看與后續(xù)使用。檢測的圖片與視頻結(jié)果會存儲在save_data
目錄下。
【注:暫不支持視頻文件的檢測結(jié)果保存為csv文件格式。】
保存的檢測結(jié)果文件如下:
圖片文件保存的csv文件內(nèi)容如下,包括圖片路徑、目標(biāo)在圖片中的編號、目標(biāo)類別、置信度、目標(biāo)坐標(biāo)位置
。
注:其中坐標(biāo)位置是代表檢測框的左上角與右下角兩個點的x、y坐標(biāo)。
二、YOLO11簡介
YOLO11源碼地址:https://github.com/ultralytics/ultralytics
Ultralytics YOLO11是一款前沿的、最先進的模型,它在之前YOLO版本成功的基礎(chǔ)上進行了構(gòu)建,并引入了新功能和改進,以進一步提升性能和靈活性。YOLO11設(shè)計快速、準(zhǔn)確且易于使用,使其成為各種物體檢測和跟蹤、實例分割、圖像分類以及姿態(tài)估計任務(wù)的絕佳選擇。
YOLO11創(chuàng)新點如下:
YOLO 11主要改進包括:
增強的特征提取
:YOLO 11采用了改進的骨干和頸部架構(gòu),增強了特征提取功能,以實現(xiàn)更精確的目標(biāo)檢測。
優(yōu)化的效率和速度
:優(yōu)化的架構(gòu)設(shè)計和優(yōu)化的訓(xùn)練管道提供更快的處理速度,同時保持準(zhǔn)確性和性能之間的平衡。
更高的精度,更少的參數(shù)
:YOLO11m在COCO數(shù)據(jù)集上實現(xiàn)了更高的平均精度(mAP),參數(shù)比YOLOv8m少22%,使其在不影響精度的情況下提高了計算效率。
跨環(huán)境的適應(yīng)性
:YOLO 11可以部署在各種環(huán)境中,包括邊緣設(shè)備、云平臺和支持NVIDIA GPU的系統(tǒng)。
廣泛的支持任務(wù)
:YOLO 11支持各種計算機視覺任務(wù),如對象檢測、實例分割、圖像分類、姿態(tài)估計和面向?qū)ο髾z測(OBB)。
三、模型訓(xùn)練、評估與推理
本文主要基于YOLO11n
模型進行模型訓(xùn)練,訓(xùn)練完成后對模型在驗證集上的表現(xiàn)進行全面的性能評估及對比分析??傮w流程包括:數(shù)據(jù)集準(zhǔn)備、模型訓(xùn)練、模型評估。
1. 數(shù)據(jù)集準(zhǔn)備與訓(xùn)練
通過網(wǎng)絡(luò)上搜集關(guān)于實際場景中不同品牌運動鞋
的相關(guān)圖片,并使用Labelimg標(biāo)注工具對每張圖片進行標(biāo)注,分6個檢測類別
:['阿迪達斯','斐樂','新百倫','耐克','彪馬','安德瑪']
。
數(shù)據(jù)增強:
通過隨機旋轉(zhuǎn)、縮放、裁剪、翻轉(zhuǎn)
等方式進行圖片數(shù)據(jù)增強,以擴充數(shù)據(jù)集。
最終數(shù)據(jù)集一共包含6060張圖片
,其中訓(xùn)練集包含5304張圖片
,驗證集包含504張圖片
,測試集包含252張圖片
。
部分圖像及標(biāo)注如下圖所示:
數(shù)據(jù)集各類別數(shù)目分布情況如下:
2.模型訓(xùn)練
準(zhǔn)備好數(shù)據(jù)集后,將圖片數(shù)據(jù)以如下格式放置在項目目錄中。在項目目錄中新建datasets
目錄,同時將檢測的圖片分為訓(xùn)練集與驗證集放入Data
目錄下。
同時我們需要新建一個data.yaml
文件,用于存儲訓(xùn)練數(shù)據(jù)的路徑及模型需要進行檢測的類別。YOLOv11在進行模型訓(xùn)練時,會讀取該文件的信息,用于進行模型的訓(xùn)練與驗證。data.yaml
的具體內(nèi)容如下:
train: D:\2MyCVProgram\2DetectProgram\SneakerBrandDetetction_v11\datasets\Data/train/images
val: D:\2MyCVProgram\2DetectProgram\SneakerBrandDetetction_v11\datasets\Data/valid/images
test: D:\2MyCVProgram\2DetectProgram\SneakerBrandDetetction_v11\datasets\Data/test/imagesnc: 6
names: ['adidas', 'fila', 'new_balance', 'nike', 'puma', 'under_armour']
注:train與val后面表示需要訓(xùn)練圖片的路徑,建議直接寫自己文件的絕對路徑。
數(shù)據(jù)準(zhǔn)備完成后,通過調(diào)用train.py
文件進行模型訓(xùn)練,epochs
參數(shù)用于調(diào)整訓(xùn)練的輪數(shù),batch
參數(shù)用于調(diào)整訓(xùn)練的批次大小【根據(jù)內(nèi)存大小調(diào)整,最小為1】,optimizer
設(shè)定的優(yōu)化器為SGD
,訓(xùn)練代碼如下:
#coding:utf-8
from ultralytics import YOLO
import matplotlib
matplotlib.use('TkAgg')# 模型配置文件
model_yaml_path = "ultralytics/cfg/models/11/yolo11.yaml"
#數(shù)據(jù)集配置文件
data_yaml_path = 'datasets/Data/data.yaml'
#預(yù)訓(xùn)練模型
pre_model_name = 'yolo11n.pt'if __name__ == '__main__':#加載預(yù)訓(xùn)練模型model = YOLO(model_yaml_path).load(pre_model_name)#訓(xùn)練模型results = model.train(data=data_yaml_path,epochs=150, # 訓(xùn)練輪數(shù)batch=4, # batch大小name='train_v11', # 保存結(jié)果的文件夾名稱optimizer='SGD') # 優(yōu)化器
模型常用訓(xùn)練超參數(shù)參數(shù)說明:
YOLO11 模型的訓(xùn)練設(shè)置包括訓(xùn)練過程中使用的各種超參數(shù)和配置
。這些設(shè)置會影響模型的性能、速度和準(zhǔn)確性。關(guān)鍵的訓(xùn)練設(shè)置包括批量大小、學(xué)習(xí)率、動量和權(quán)重衰減。此外,優(yōu)化器、損失函數(shù)和訓(xùn)練數(shù)據(jù)集組成的選擇也會影響訓(xùn)練過程。對這些設(shè)置進行仔細(xì)的調(diào)整和實驗對于優(yōu)化性能至關(guān)重要。
以下是一些常用的模型訓(xùn)練參數(shù)和說明:
參數(shù)名 | 默認(rèn)值 | 說明 |
---|---|---|
model | None | 指定用于訓(xùn)練的模型文件。接受指向 .pt 預(yù)訓(xùn)練模型或 .yaml 配置文件。對于定義模型結(jié)構(gòu)或初始化權(quán)重至關(guān)重要。 |
data | None | 數(shù)據(jù)集配置文件的路徑(例如 coco8.yaml ).該文件包含特定于數(shù)據(jù)集的參數(shù),包括訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)的路徑、類名和類數(shù)。 |
epochs | 100 | 訓(xùn)練總輪數(shù)。每個epoch代表對整個數(shù)據(jù)集進行一次完整的訓(xùn)練。調(diào)整該值會影響訓(xùn)練時間和模型性能。 |
patience | 100 | 在驗證指標(biāo)沒有改善的情況下,提前停止訓(xùn)練所需的epoch數(shù)。當(dāng)性能趨于平穩(wěn)時停止訓(xùn)練,有助于防止過度擬合。 |
batch | 16 | 批量大小,有三種模式:設(shè)置為整數(shù)(例如,’ Batch =16 ‘), 60% GPU內(nèi)存利用率的自動模式(’ Batch =-1 ‘),或指定利用率分?jǐn)?shù)的自動模式(’ Batch =0.70 ')。 |
imgsz | 640 | 用于訓(xùn)練的目標(biāo)圖像尺寸。所有圖像在輸入模型前都會被調(diào)整到這一尺寸。影響模型精度和計算復(fù)雜度。 |
device | None | 指定用于訓(xùn)練的計算設(shè)備:單個 GPU (device=0 )、多個 GPU (device=0,1 )、CPU (device=cpu ),或蘋果芯片的 MPS (device=mps ). |
workers | 8 | 加載數(shù)據(jù)的工作線程數(shù)(每 RANK 多 GPU 訓(xùn)練)。影響數(shù)據(jù)預(yù)處理和輸入模型的速度,尤其適用于多 GPU 設(shè)置。 |
name | None | 訓(xùn)練運行的名稱。用于在項目文件夾內(nèi)創(chuàng)建一個子目錄,用于存儲訓(xùn)練日志和輸出結(jié)果。 |
pretrained | True | 決定是否從預(yù)處理模型開始訓(xùn)練??梢允遣紶栔?#xff0c;也可以是加載權(quán)重的特定模型的字符串路徑。提高訓(xùn)練效率和模型性能。 |
optimizer | 'auto' | 為訓(xùn)練模型選擇優(yōu)化器。選項包括 SGD , Adam , AdamW , NAdam , RAdam , RMSProp 等,或 auto 用于根據(jù)模型配置進行自動選擇。影響收斂速度和穩(wěn)定性 |
lr0 | 0.01 | 初始學(xué)習(xí)率(即 SGD=1E-2 , Adam=1E-3 ) .調(diào)整這個值對優(yōu)化過程至關(guān)重要,會影響模型權(quán)重的更新速度。 |
lrf | 0.01 | 最終學(xué)習(xí)率占初始學(xué)習(xí)率的百分比 = (lr0 * lrf ),與調(diào)度程序結(jié)合使用,隨著時間的推移調(diào)整學(xué)習(xí)率。 |
3. 訓(xùn)練結(jié)果評估
在深度學(xué)習(xí)中,我們通常用損失函數(shù)下降的曲線來觀察模型訓(xùn)練的情況。YOLOv11在訓(xùn)練時主要包含三個方面的損失:定位損失(box_loss)、分類損失(cls_loss)和動態(tài)特征損失(dfl_loss),在訓(xùn)練結(jié)束后,可以在runs/
目錄下找到訓(xùn)練過程及結(jié)果文件,如下所示:
各損失函數(shù)作用說明:
定位損失box_loss
:預(yù)測框與標(biāo)定框之間的誤差(GIoU),越小定位得越準(zhǔn);
分類損失cls_loss
:計算錨框與對應(yīng)的標(biāo)定分類是否正確,越小分類得越準(zhǔn);
動態(tài)特征損失(dfl_loss)
:DFLLoss是一種用于回歸預(yù)測框與目標(biāo)框之間距離的損失函數(shù)。在計算損失時,目標(biāo)框需要縮放到特征圖尺度,即除以相應(yīng)的stride,并與預(yù)測的邊界框計算Ciou Loss,同時與預(yù)測的anchors中心點到各邊的距離計算回歸DFLLoss。
本文訓(xùn)練結(jié)果如下:
我們通常用PR曲線
來體現(xiàn)精確率和召回率的關(guān)系,本文訓(xùn)練結(jié)果的PR曲線如下。mAP
表示Precision和Recall作為兩軸作圖后圍成的面積,m表示平均,@后面的數(shù)表示判定iou為正負(fù)樣本的閾值。mAP@.5:表示閾值大于0.5的平均mAP,可以看到本文模型目標(biāo)檢測的mAP@0.5
值為0.636
,結(jié)果還是可以的。
4. 使用模型進行推理
模型訓(xùn)練完成后,我們可以得到一個最佳的訓(xùn)練結(jié)果模型best.pt
文件,在runs/train/weights
目錄下。我們可以使用該文件進行后續(xù)的推理檢測。
圖片檢測代碼如下:
#coding:utf-8
from ultralytics import YOLO
import cv2# 所需加載的模型目錄
path = 'models/best.pt'
# 需要檢測的圖片地址
img_path = "TestFiles/5-151-_jpg.rf.3c8bc33847c19c4186bda2ea93e58016.jpg"# 加載預(yù)訓(xùn)練模型
model = YOLO(path, task='detect')# 檢測圖片
results = model(img_path)
res = results[0].plot()
# res = cv2.resize(res,dsize=None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR)
cv2.imshow("Detection Result", res)
cv2.waitKey(0)
執(zhí)行上述代碼后,會將執(zhí)行的結(jié)果直接標(biāo)注在圖片上,結(jié)果如下:
更多檢測結(jié)果示例如下:
四、可視化系統(tǒng)制作
基于上述訓(xùn)練出的目標(biāo)檢測模型,為了給此檢測系統(tǒng)提供一個用戶友好的操作平臺,使用戶能夠便捷、高效地進行檢測任務(wù)。博主基于Pyqt5開發(fā)了一個可視化的系統(tǒng)界面,通過圖形用戶界面(GUI),用戶可以輕松地在圖片、視頻和攝像頭實時檢測之間切換,無需掌握復(fù)雜的編程技能即可操作系統(tǒng)?!鞠到y(tǒng)詳細(xì)展示見第一部分內(nèi)容】
Pyqt5詳細(xì)介紹
關(guān)于Pyqt5的詳細(xì)介紹可以參考之前的博客文章:《Python中的Pyqt5詳細(xì)介紹:基本機構(gòu)、部件、布局管理、信號與槽、跨平臺》
,地址:
https://a-xu-ai.blog.csdn.net/article/details/143273797
系統(tǒng)制作
博主基于Pyqt5框架開發(fā)了此款運動鞋品牌檢測與識別系統(tǒng)
,即文中第一部分的演示內(nèi)容,能夠很好的支持圖片、視頻及攝像頭進行檢測,同時支持檢測結(jié)果的保存
。
通過圖形用戶界面(GUI),用戶可以輕松地在圖片、視頻和攝像頭實時檢測之間切換,無需掌握復(fù)雜的編程技能即可操作系統(tǒng)。這不僅提升了系統(tǒng)的可用性和用戶體驗,還使得檢測過程更加直觀透明,便于結(jié)果的實時觀察和分析。此外,GUI還可以集成其他功能,如檢測結(jié)果的保存與導(dǎo)出、檢測參數(shù)的調(diào)整,從而為用戶提供一個全面、綜合的檢測工作環(huán)境,促進智能檢測技術(shù)的廣泛應(yīng)用。
關(guān)于該系統(tǒng)涉及到的完整源碼、UI界面代碼、數(shù)據(jù)集、訓(xùn)練代碼、訓(xùn)練好的模型、測試圖片視頻等相關(guān)文件,均已打包上傳,感興趣的小伙伴可以通過下載鏈接自行獲取。
【獲取方式】
關(guān)注末尾名片GZH【阿旭算法與機器學(xué)習(xí)】,發(fā)送【源碼】獲取下載方式
本文涉及到的完整全部程序文件:包括python源碼、數(shù)據(jù)集、訓(xùn)練好的結(jié)果文件、訓(xùn)練代碼、UI源碼、測試圖片視頻等(見下圖),獲取方式見文末:
注意:該代碼基于Python3.9開發(fā),運行界面的主程序為
MainProgram.py
,其他測試腳本說明見上圖。為確保程序順利運行,請按照程序運行說明文檔txt
配置軟件運行所需環(huán)境。
好了,這篇文章就介紹到這里,喜歡的小伙伴感謝給點個贊和關(guān)注,更多精彩內(nèi)容持續(xù)更新~~
關(guān)于本篇文章大家有任何建議或意見,歡迎在評論區(qū)留言交流!