




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
邊緣計算與智能視覺應(yīng)用5.3YOLO目標檢測模型講課人:XXX時間:20XX年12月30日延時符AboutUs目錄YOLO算法原理介紹01YOLO模型版本演進(v1-v8)02YOLO模型訓練數(shù)據(jù)標注
03數(shù)據(jù)集擴展04YOLO模型訓練05YOLO模型在邊緣設(shè)備上的推理06YOLO算法原理介紹01YOLO(YouOnlyLookOnce)是一種創(chuàng)新的目標檢測算法,它的提出改變了傳統(tǒng)目標檢測的范式。傳統(tǒng)目標檢測方法通常通過先生成候選區(qū)域,然后對這些區(qū)域進行分類的方式來檢測物體。這種方法計算量大且速度較慢,而YOLO則通過一次前向傳播即可完成整個檢測過程,因此在速度上具有明顯優(yōu)勢。YOLO算法原理介紹11.圖像分割22.邊界框預(yù)測33.類別預(yù)測44.非極大值抑制(NMS)YOLO算法原理YOLO的第一個步驟是將輸入圖像劃分為一個S×S的網(wǎng)格。每個網(wǎng)格預(yù)測B個邊界框(boundingboxes),每個邊界框由5個參數(shù)表示:中心坐標(x,y)、寬度w、高度h,以及置信度分數(shù)c。除了預(yù)測邊界框,每個網(wǎng)格還會預(yù)測C個類別的概率分布,即目標屬于每個類別的概率。通常,C代表的是所有可能的目標類別數(shù)。在預(yù)測出所有邊界框及其對應(yīng)的類別概率后,YOLO通過非極大值抑制(NMS,Non-MaximumSuppression)來過濾掉冗余的邊界框。NMS的基本思想是:對于每個類別,首先選擇置信度分數(shù)最高的邊界框,然后移除與其重疊度(IoU)較高的其他邊界框,僅保留得分最高的邊界框。YOLO模型版本演進(v1-v8)02YOLO模型版本演進作為YOLO系列的初代版本,YOLOv1創(chuàng)新性地將目標檢測問題轉(zhuǎn)化為回歸問題,通過一個單一的神經(jīng)網(wǎng)絡(luò)模型在圖像上直接預(yù)測目標的邊界框和類別標簽。雖然其檢測速度非常快,但在小目標檢測和定位精度方面表現(xiàn)欠佳,尤其是在復(fù)雜場景中,容易漏檢和錯檢。1、YOLOv1YOLOv2在YOLOv1的基礎(chǔ)上引入了多項關(guān)鍵技術(shù),包括BatchNormalization(批歸一化)以提高模型的穩(wěn)定性,AnchorBoxes(錨框)以更好地捕捉不同尺度的目標,以及多尺度訓練以增強模型的泛化能力。2、YOLOv2YOLOv3進一步深化了模型架構(gòu),采用了更復(fù)雜的Darknet-53網(wǎng)絡(luò)結(jié)構(gòu),這是一種深度卷積神經(jīng)網(wǎng)絡(luò),能夠更好地提取圖像特征。YOLOv3還引入了多尺度預(yù)測,即在不同的特征層上進行檢測,從而提高了對小目標和大目標的檢測能力。3、YOLOv3YOLOv3進一步深化了模型架構(gòu),采用了更復(fù)雜的Darknet-53網(wǎng)絡(luò)結(jié)構(gòu),這是一種深度卷積神經(jīng)網(wǎng)絡(luò),能夠更好地提取圖像特征。YOLOv3還引入了多尺度預(yù)測,即在不同的特征層上進行檢測,從而提高了對小目標和大目標的檢測能力。4、YOLOv4YOLO模型版本演進YOLOv5由社區(qū)開發(fā)并廣泛應(yīng)用,其主要貢獻在于提供了多種輕量化模型版本(如YOLOv5s、YOLOv5m等),以適應(yīng)不同的計算資源需求。YOLOv5基于PyTorch框架,增強了訓練和推理的靈活性,并支持自動混合精度訓練,進一步加快了模型的訓練過程,適合在資源受限的設(shè)備上進行部署。5、YOLOv5YOLOv6專注于輕量化設(shè)計和推理速度優(yōu)化,使其特別適用于邊緣計算和嵌入式系統(tǒng)等資源受限環(huán)境。YOLOv6保留了高檢測精度,同時通過優(yōu)化模型結(jié)構(gòu)和推理引擎,進一步提升了在低算力設(shè)備上的實時檢測能力。6、YOLOv6YOLOv7在YOLOv6的基礎(chǔ)上,進一步優(yōu)化了模型的精度和訓練過程。通過改進正則化技術(shù)和平衡訓練流程,YOLOv7在各種數(shù)據(jù)集上都展示了更為出色的性能,特別是在精度和速度之間達到了更好的平衡。7、YOLOv7YOLOv8是YOLO系列的最新版本,結(jié)合了多種前沿技術(shù)如深度可分離卷積和特征融合,進一步提升了模型的推理效率和檢測精度。YOLOv8不僅適用于圖像目標檢測,還支持視頻目標檢測和對象跟蹤等任務(wù),拓展了應(yīng)用場景,能夠在不同硬件平臺上保持卓越的性能。8、YOLOv8YOLO模型訓練數(shù)據(jù)標注03在YOLO模型的訓練過程中,數(shù)據(jù)標注至關(guān)重要,直接影響模型的檢測精度與泛化能力。YOLO模型要求每個目標都有明確的邊界框及其對應(yīng)的類別標簽,這些信息需要通過手動標注從圖像中提取。首先,需要收集并整理用于模型訓練的圖像數(shù)據(jù),確保圖像多樣化,涵蓋各種場景和角度,以提高模型的泛化能力。YOLO模型訓練數(shù)據(jù)標注1、安裝LabelImgLabelImg是一個常用的開源圖像標注工具,支持生成YOLO所需的標注文件,并用于完成這些標注任務(wù)YOLO模型訓練數(shù)據(jù)標注YOLO模型訓練數(shù)據(jù)標注3、選擇YOLO格式4、開始標注:2、加載圖像在LabelImg界面中,點擊“OpenDir”按鈕,選擇包含待標注圖像的文件夾:配套素材\標注圖片。圖像將按順序加載在LabelImg工具欄中,點擊“PascalVOC”按鈕會變成“Yolo”,切換到Y(jié)OLO格式。這確保了生成的標注文件符合YOLO模型的格式要求。按“w”鍵使用鼠標在圖像上繪制矩形框來標注目標對象。每個框應(yīng)該準確地包圍目標的邊緣,以確保模型訓練時能夠正確識別目標。在繪制完邊界框后,會彈出一個對話框,要求輸入該目標的類別標簽。輸入相應(yīng)類別,并點擊“OK”。YOLO模型訓練數(shù)據(jù)標注6、標注文件格式7、數(shù)據(jù)集文件夾的結(jié)構(gòu)5、保存標注文件全部物體標注完成后,按空格鍵保存,彈出保存路徑對話框,按回車鍵保存,生成與圖像同名的.txt文件。此文件將保存在與圖像相同的文件夾中,包含目標類別、邊界框的中心坐標、寬度和高度。再按“d”鍵切換到下一張圖片繼續(xù)標注,如果想返回上一張,按“a”鍵。YOLO的標注文件格式要求每個圖像對應(yīng)一個.txt文件,文件內(nèi)容包括:(1)目標類別:一個整數(shù),表示目標的類別索引。(2)邊界框的左上角坐標(x,y):相對于圖像寬度和高度的比例,值域為0到1。(3)邊界框的寬度和高度:相對于圖像寬度和高度的比例,值域為0到1。在YOLO模型的訓練中,數(shù)據(jù)集的文件夾結(jié)構(gòu)通常需要按照以下標準進行組織,以確保訓練過程能夠順利進行:(1)images/train:用于存放訓練集的圖像文件。這里的圖像是經(jīng)過標注的,并將用于訓練模型。(2)images/val:用于存放驗證集的圖像文件。驗證集用于評估模型在訓練過程中的表現(xiàn),以防止模型過擬合。(3)labels/train:用于存放訓練集的標注文件。每個圖像文件對應(yīng)一個標注文件,標注文件記錄了圖像中所有目標的類別和邊界框信息。(4)labels/val:用于存放驗證集的標注文件。與訓練集類似,每個驗證集圖像也需要對應(yīng)一個標注文件。這種目錄結(jié)構(gòu)有助于保持數(shù)據(jù)的有序管理,并方便模型訓練過程中對數(shù)據(jù)集的正確加載和使用。數(shù)據(jù)集擴展04在YOLO模型的訓練過程中,數(shù)據(jù)集的多樣性和規(guī)模直接影響模型的泛化能力和檢測效果。為了擴展數(shù)據(jù)集,可以通過復(fù)制和擴展現(xiàn)有的圖像和標注文件來增加訓練數(shù)據(jù)量。將“配套源碼\data”文件夾下所有文件通過SSH復(fù)制到邊緣計算平臺,執(zhí)行bclstxkk.py程序?qū)⒅付ㄎ募A中的圖像和標注文件復(fù)制到指定的數(shù)據(jù)集目錄,并通過添加前綴來避免文件名沖突。數(shù)據(jù)集擴展1、清空目標目錄(clear_directory函數(shù))此函數(shù)用于清空目標目錄中的所有文件和子目錄。它首先檢查目錄是否存在,如果不存在則創(chuàng)建新目錄。接著,逐一刪除目錄中的文件和子目錄。這一操作確保在復(fù)制新文件時不會出現(xiàn)舊文件干擾的情況。根據(jù)實際情況來決定,如果需要保留舊文件,則注釋相關(guān)代碼。bclstxkk程序代碼說明2、復(fù)制文件(copy_files函數(shù))此函數(shù)從源目錄中找到所有的.png圖像文件和.txt標注文件,將它們復(fù)制到指定的目標目錄中。為了避免文件名沖突,每個文件都會添加一個特定的前綴(由三位數(shù)字構(gòu)成)。函數(shù)返回成功復(fù)制的文件數(shù)量。執(zhí)行兩次代碼后的train文件夾下的文件如圖5-16所示。bclstxkk程序代碼說明3、定義目錄路徑source_directory是源數(shù)據(jù)的存儲路徑,png_destination和txt_destination分別是圖像和標注文件的目標存儲路徑。4、復(fù)制次數(shù)控制程序通過conu.txt文件記錄復(fù)制的進度,每次運行程序時會從該文件讀取上次復(fù)制的起始編號,并從該編號繼續(xù)執(zhí)行下一次復(fù)制。這樣可以在多次執(zhí)行復(fù)制操作時保持一致性。5、文件統(tǒng)計在完成復(fù)制操作后,程序會統(tǒng)計目標目錄中圖像和標注文件的數(shù)量,并輸出結(jié)果以便檢查復(fù)制是否正確完成。bclstxkk程序代碼說明(1)訓練和驗證數(shù)據(jù)路徑train:指定訓練數(shù)據(jù)的路徑,即用于模型訓練的圖像文件夾。在此示例中,路徑為./data/train/images/,表示訓練集的圖像文件存放在該目錄下。(2)val:指定驗證數(shù)據(jù)的路徑,即用于模型驗證的圖像文件夾。在此示例中,路徑為./data/val/images/,表示驗證集的圖像文件存放在該目錄下。這些路徑應(yīng)準確指向圖像文件所在的文件夾,以確保訓練過程能夠正確加載數(shù)據(jù)。(3)類別數(shù)量(nc)nc表示數(shù)據(jù)集中目標類別的數(shù)量。在此示例中,nc:16表示有16個不同的類別。類別數(shù)量必須與實際標注數(shù)據(jù)中的類別數(shù)目一致,否則會導(dǎo)致訓練錯誤。(4)類別名稱(names)names是一個包含所有類別名稱的列表,每個名稱對應(yīng)一個類別編號。編號從0開始,依次對應(yīng)列表中的每個名稱。數(shù)據(jù)集擴展YOLO模型訓練051、模型初始化模型初始化使用model=YOLO(r'./yolov8n.pt'),使用預(yù)訓練的YOLOv8n模型權(quán)重進行初始化。預(yù)訓練模型已經(jīng)在大型數(shù)據(jù)集上訓練,可以加速收斂并提高精度。YOLO模型訓練2、模型訓練(1)data:指定數(shù)據(jù)集配置文件的路徑,定義了訓練集和驗證集的圖像及標簽路徑、類別數(shù)量等信息。(2)epochs:設(shè)置訓練的周期數(shù),表示模型將在整個數(shù)據(jù)集上訓練的次數(shù)。(3)patience:當驗證集的性能在指定周期內(nèi)無明顯提升時,觸發(fā)早期停止。(4)batch:每次迭代中處理的圖像數(shù)量。較大的批次可以提高訓練效率,但也需要更多的顯存。(5)imgsz:輸入圖像的大小。YOLOv8可以接受多種分辨率,但較大的圖像通常能提供更好的檢測效果。(6)workers:數(shù)據(jù)加載的工作線程數(shù),更多的線程可以加快數(shù)據(jù)預(yù)處理速度。(7)optimizer:選擇的優(yōu)化器,這里使用的是SGD(隨機梯度下降),常用于深度學習模型訓練。(8)lr0,lrf:學習率的初始值和最終值。初始學習率決定了訓練開始時的步長,最終學習率決定了訓練結(jié)束時的步長。(9)momentum,weight_decay:SGD優(yōu)化器的動量和權(quán)重衰減參數(shù),用于控制模型更新的速度和防止過擬合。(10)cos_lr:是否使用余弦退火學習率調(diào)度器,控制學習率隨訓練周期的變化。(11)single_cls:是否將所有類別視為一個單一類別進行訓練,通常用于單類目標檢測。(12)amp:啟用自動混合精度訓練,可在保持精度的同時減少顯存使用。YOLO模型訓練3、數(shù)據(jù)增強(1)hsv_h,hsv_s,hsv_v:HSV顏色空間下的色調(diào)、飽和度和亮度增強參數(shù),用于增強訓練圖像的多樣性。(2)mosaic:是否啟用馬賽克數(shù)據(jù)增強,融合多張圖像以生成新的訓練樣本。(3)fliplr:左右翻轉(zhuǎn)圖像的概率,用于增加訓練樣本的多樣性。(4)mixup:圖像混合的概率,主要用于對抗過擬合。YOLO模型訓練通過詳細的參數(shù)配置,YOLOv8的訓練可以根據(jù)具體的任務(wù)需求進行優(yōu)化,從而得到更好的檢測效果。合理的參數(shù)設(shè)置不僅能夠提高模型的精度,還能有效縮短訓練時間。YOLO模型訓練YOLO模型在邊緣設(shè)備上的推理061、模型加載model=YOLO(r'/home/oem/lin/yolov8train/runs/detect/train10/weights/best.pt'):加載訓練好的YOLOv8模型的最佳權(quán)重文件。該模型已經(jīng)過充分訓練,具備較高的檢測準確率。YOLO模型在邊緣設(shè)備上的推理2、推理配置(1)source:指定待檢測圖像的路徑。如果輸入視頻或多個圖像路徑,則可以進行批量推理。(2)save:設(shè)置為True表示將預(yù)測結(jié)果保存到指定目錄中。(3)imgsz:輸入圖像的尺寸。較大的尺寸可能會提高檢測精度,但也會增加計算量。(4)conf:設(shè)置置信度閾值,低于此閾值的檢測將被忽略。一般情況下,0.25是一個較好的默認值。(5)iou:設(shè)置非極大值抑制(NMS)的交并比閾值,用于控制多個檢測框的合并程度。閾值越高,保留的框越多。(6)show:控制是否在屏幕上顯示檢測結(jié)果圖像。在實驗或測試階段,可以設(shè)置為True以便實時查看檢測效果。(7)project和name:用于定義保存預(yù)測結(jié)果的路徑,預(yù)測結(jié)果將被保存到'runs/predict/exp/'目錄中。(8)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 及時更新完善管理制度
- 協(xié)會內(nèi)部規(guī)范管理制度
- 物理中考一輪復(fù)習教案 第十講 速度、直線運動復(fù)習教案
- 介紹裝修活動方案
- 倉儲促銷活動方案
- 高新區(qū)220KV配套市政電纜隧道新建工程(一期)項目總體施工組織設(shè)計
- 倉鼠活動抽獎活動方案
- 仙居吳悅烤肉店活動方案
- 浙江省溫州市甌海區(qū)第二實驗中學2023-2024學年四年級下學期數(shù)學期末考試試卷(含答案)
- 代駕公司推廣策劃方案
- 廣東省廣州市天河區(qū)2023-2024學年七年級下學期期末考試英語試題(含答案)
- 凈水機服務(wù)合同協(xié)議書
- 古城煤礦壓風系統(tǒng)遠程監(jiān)控改造技術(shù)協(xié)議
- 2025年上海市公務(wù)員錄用考試《行測》真題及答案解析(B類)
- 村務(wù)管理崗面試題及答案
- 湖南興湘資產(chǎn)經(jīng)營管理集團有限公司招聘考試真題2024
- 電力企業(yè)應(yīng)急預(yù)案評審與備案細則
- 院感各類應(yīng)急預(yù)案培訓
- 幼教師德考試試題及答案
- GB/T 4447-2025船舶與海洋技術(shù)海船起錨機和起錨絞盤
- 生豬屠宰管理條例解讀與應(yīng)用
評論
0/150
提交評論