汽車智能傳感器技術(shù)與應(yīng)用項目二項目實施3:基于智能攝像頭實現(xiàn)ASL功能(自動限速調(diào)節(jié))(課件)_第1頁
汽車智能傳感器技術(shù)與應(yīng)用項目二項目實施3:基于智能攝像頭實現(xiàn)ASL功能(自動限速調(diào)節(jié))(課件)_第2頁
汽車智能傳感器技術(shù)與應(yīng)用項目二項目實施3:基于智能攝像頭實現(xiàn)ASL功能(自動限速調(diào)節(jié))(課件)_第3頁
汽車智能傳感器技術(shù)與應(yīng)用項目二項目實施3:基于智能攝像頭實現(xiàn)ASL功能(自動限速調(diào)節(jié))(課件)_第4頁
汽車智能傳感器技術(shù)與應(yīng)用項目二項目實施3:基于智能攝像頭實現(xiàn)ASL功能(自動限速調(diào)節(jié))(課件)_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于智能攝像頭實現(xiàn)ASL功能(自動限速調(diào)節(jié))智能汽車傳感器應(yīng)用技術(shù)一、課程導(dǎo)入交通標(biāo)識一般置于道路的上方或兩側(cè),由于駕駛者在駕駛過程中閱讀路牌信息需要一心二用,并且由于車速、天氣、路況等原因,駕駛者可獲取信息的時間較短,在不熟悉道路的情況下往往需要將車輛減速以閱讀信息,由此帶來安全隱患。因此,基于智能識別的實時交通導(dǎo)航系統(tǒng)是未來導(dǎo)航的發(fā)展方向,其核心就是道路交通標(biāo)志的識別。另一方面,超速是最容易發(fā)生的違章,而自動限速識別(ASL)功能則可以避免超速的發(fā)生。該系統(tǒng)通過智能攝像頭與導(dǎo)航地圖識別道路限速標(biāo)志,即使車輛處于地圖信號較弱的隧道中,也可以高效識別車輛行駛路段的限速要求。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備思考討論題(2分鐘)一、課程導(dǎo)入基于自車檢測信息下的速度控制是利用智能駕駛前視攝像頭或高精地圖發(fā)送識別的道路交通標(biāo)志限速信息結(jié)合路況、路徑規(guī)劃(主要指駕駛員設(shè)置速度)等信息后調(diào)整當(dāng)前車速,避免或減輕超速導(dǎo)致的巡航安全風(fēng)險。你知道車輛上攝像頭是如何認識交通標(biāo)識的嗎?課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備二、交通標(biāo)志的識別方法交通標(biāo)志的識別方法主要有基于顏色信息的交通標(biāo)志識別、基于形狀特征的交通標(biāo)志識別、基于顯著性的交通標(biāo)志識別以及基于特征提取和機器學(xué)習(xí)的交通標(biāo)志識別等。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備二、交通標(biāo)志的識別方法顏色分割就是利用交通標(biāo)志特有的顏色特征,將交通標(biāo)志與背景分離。顏色特征具有旋轉(zhuǎn)不變性,即顏色信息不會隨著圖像的旋轉(zhuǎn)、傾斜而發(fā)生變化,與幾何、紋理等特征相比,基于顏色特征設(shè)計的交通標(biāo)志識別算法對圖像旋轉(zhuǎn)、傾斜的情況都有較好的適應(yīng)性,具有較好的識別效果。2.1基于顏色信息的交通標(biāo)志識別中國交通標(biāo)志顏色示例德國交通標(biāo)志顏色示例課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備二、交通標(biāo)志的識別方法除顏色特征外,形狀特征也是交通標(biāo)志的顯著特征。我國警告標(biāo)志、指示標(biāo)志和禁令標(biāo)志共131種,其中130種都有規(guī)則的形狀圓形、矩形、正三角形、倒三角形以及正八邊形。形狀和顏色結(jié)合進行檢測是交通標(biāo)志識別中的重要內(nèi)容,通常都以顏色分割做粗檢測,排除大部分的背景干擾,再提取二值圖像各連通域的輪廓,進行形狀特征的分析,進而確定交通標(biāo)志候選區(qū)域并完成定位。2.2基于形狀特征的交通標(biāo)志識別中國交通標(biāo)志形狀示例德國交通標(biāo)志形狀示例課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備二、交通標(biāo)志的識別方法2.3基于顯著性的交通標(biāo)志識別顯著性作為從人類生物視覺中引入的概念,用來度量場景中具有最顯眼的特征、最容易吸引人優(yōu)先看到的區(qū)域。由于交通標(biāo)志被設(shè)計成具有顯眼的顏色和特定的形狀,是最顯著的視覺特征,在一定程度上滿足了顯著性的要求,因此可以采用相關(guān)的顯著性模型和顯著性算法來檢測交通標(biāo)志。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備二、交通標(biāo)志的識別方法2.4基于特征提取和機器學(xué)習(xí)的交通標(biāo)志識別無論是基于顏色和形狀分析的算法,還是基于顯著性的算法,由于其所包含的信息的局限性,在背景復(fù)雜或者出現(xiàn)與目標(biāo)物十分相似的干擾物時,都不能很好地去除干擾。因此,可通過合適的特征描述符更充分地表示交通標(biāo)志,再通過機器學(xué)習(xí)方法區(qū)分出標(biāo)志和障礙物。本任務(wù)將基于智能攝像頭實現(xiàn)自動限速識別(ASL)功能將采用基于特征提取和機器學(xué)習(xí)實現(xiàn)交通標(biāo)志(限速標(biāo)志)的識別功能課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備三、交通標(biāo)志識別的一般流程利用視覺傳感器進行交通標(biāo)志識別的流程主要是:原始圖像采集圖像預(yù)處理圖像分割檢測圖像特征提取交通標(biāo)志識別原始圖像采集圖像預(yù)處理圖像分割檢測圖像特征提取交通標(biāo)志識別課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備三、交通標(biāo)志識別的一般流程3.1原始圖像采集由視覺傳感器(攝像頭)采集的、未經(jīng)處理的原始圖像。3.2圖像預(yù)處理在實際的交通場景中,由于自然光、天氣條件等各種因素的影響,攝像頭采集的圖像不可避免的存在一定程度的干擾和噪聲,所以需要對圖像進行一些預(yù)處理,如圖像均衡、圖像增強和圖像去噪等,從而將圖像變得清晰、易辨認,為進一步的處理做好數(shù)據(jù)準(zhǔn)備,如下圖所示。如果采用機器學(xué)習(xí)技術(shù),則還需要進行標(biāo)注工作。原圖與預(yù)處理后的圖課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備三、交通標(biāo)志識別的一般流程3.3圖像分割檢測預(yù)處理后的圖像仍然包含很多信息,交通標(biāo)志在其中只有很小的一個區(qū)域,但是由于交通標(biāo)志在顏色和形狀上都有一定的特殊性,同時為了減小處理的數(shù)據(jù)量,加快處理速度,圖像分割檢測一般分兩步走,首先通過顏色分割快速檢測到交通標(biāo)志牌,其次通過形狀分割最終確定交通標(biāo)志的區(qū)域,如下圖所示。通過圖像分割檢測后得到的交通標(biāo)志牌區(qū)域課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備三、交通標(biāo)志識別的一般流程3.4圖像特征提取和交通標(biāo)志識別在圖像檢測完成以后,需要進一步對這些圖像特征進行提取和比對,得出具體的交通標(biāo)識牌含義。通過提取采集到的圖像的顏色特征、線條變化特征、矩特征、灰度直方圖統(tǒng)計特征等等,與數(shù)據(jù)庫中的數(shù)據(jù)進行比對,即可判斷出該交通標(biāo)志的實際意義。但是在實際使用場景中,這種方式識別的成功率和準(zhǔn)確度并不是特別高,而機器學(xué)習(xí)技術(shù)的應(yīng)用大大提升了識別的準(zhǔn)確度和靈活性,圖像識別成功率和準(zhǔn)確率顯著提高。交通標(biāo)志識別結(jié)果

課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.1基本配置對于本實訓(xùn)平臺,環(huán)境已經(jīng)配置好,但是對于沒有本實訓(xùn)平臺的讀者,需要一些基本設(shè)備如比較新的計算機(Win10系統(tǒng),64位)和配置Ubuntu系統(tǒng)才能夠進一步完成接下來的實訓(xùn)。①計算機上(Win10系統(tǒng))安裝VMwareWorkstationPro虛擬機(具體步驟參考相關(guān)材料),安裝好后如下圖所示,單擊后進入VM虛擬機界面,單擊菜單欄“文件”->“打開”,導(dǎo)入本教材配套提供的Ubuntu鏡像(隨教材提供,也可自行下載,具體操作查看配套資料)。安裝好的VMware虛擬機圖標(biāo)課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.1基本配置②啟動虛擬機,首先安裝Anaconda,它是大型的科學(xué)計算平臺,是Python集成開發(fā)環(huán)境,包含了大量的科學(xué)包,能夠方便快捷的對程序包進行管理和部署,后面很多工具軟件都可以通過它完成下載安裝,一站式完成,比較便捷。在Ubuntu環(huán)境下到anaconda的官網(wǎng)下載對應(yīng)的Linux系統(tǒng)的安裝包,完成安裝(具體操作查看配套資料)。③將YOLOv5項目(用于交通標(biāo)志識別,隨教材提供)下載到虛擬機“文件”->“Home”目錄下,如下圖所示的yolov5_project。yolov5_project文件夾課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.2創(chuàng)建并激活虛擬環(huán)境在“Home”目錄下空白處右鍵打開一個終端,通過以下命令創(chuàng)建一個名字為“yolov5”的虛擬環(huán)境并激活它,這樣后面和YOLOv5有關(guān)的操作就在這個虛擬環(huán)境下完成。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.3安裝工具軟件在該虛擬環(huán)境下下載安裝必要的工具軟件,包括PyTorch(PyTorch是Facebook于2017年初在機器學(xué)習(xí)和科學(xué)計算工具Torch的基礎(chǔ)上,針對Python語言發(fā)布的一個全新的機器學(xué)習(xí)工具包)和TorchVision(獨立于pytorch的關(guān)于圖像操作的一些方便工具庫),但是在安裝兩者之前,需要有CUDA平臺(ComputeUnifiedDeviceArchitecture,是顯卡廠商NVIDIA推出的運算平臺)作為支撐,同時硬件方面需要一個支持CUDA的GPU(如果沒有,可以考慮云平臺上提供的產(chǎn)品,其中許多云平臺都提供預(yù)裝有PyTorch的、支持GPU的命令交互工具JupyterNotebook,且通常提供一定的免費配額)。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.3安裝工具軟件安裝好CUDA后,安裝PyThorch和TorchVision,這里使用pip命令完成:

注意:建議先下載相關(guān)的安裝包到本地再進行安裝,防止網(wǎng)速不穩(wěn)定出現(xiàn)安裝錯誤。

課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.4安裝依賴因為我們建立的環(huán)境引用別人的項目,因此在該項目中會包含很多第三方模塊的包,這些都必須同時完成安裝才能跑該項目,這時候如果一個一個下載安裝,則會費時費力,此時可以通過項目提供的requirements.txt一次完成全部第三方模塊的包的下載和安裝,方便快捷,輸入命令:

課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.5安裝pycocotoolspycocotools,即pythonapitoolsofCOCO。COCO是一個大型的圖像數(shù)據(jù)集,用于目標(biāo)檢測、分割、人的關(guān)鍵點檢測、素材分割和標(biāo)題生成。在第(2)步創(chuàng)建的虛擬環(huán)境下,輸入下面命令進行安裝pycocotools:

課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備四、ASL項目的環(huán)境配置準(zhǔn)備4.5安裝pycocotools其中,sudo是linux系統(tǒng)管理指令,是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具;apt-get,是一條linux命令,適用于deb包(deb包是Linux下的安裝包)管理式的操作系統(tǒng)(如Linux),主要用于自動從互聯(lián)網(wǎng)的軟件倉庫中搜索、安裝、升級、卸載軟件或操作系統(tǒng)。Cython是讓Python腳本支持C語言擴展的編譯器,Cython能夠?qū)ython+C混合編碼的.pyx腳本轉(zhuǎn)換為C代碼,主要用于優(yōu)化Python腳本性能或Python調(diào)用C函數(shù)庫。

課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備五、任務(wù)實施準(zhǔn)備工作5.1認識精靈標(biāo)注助手現(xiàn)在人工智能領(lǐng)域需要標(biāo)注好的數(shù)據(jù)情況很多,無論是圖片,視頻還是文本;無論是分類問題還是物體識別問題都需要標(biāo)注,精靈標(biāo)注助手是一個比較好用的小工具,精靈標(biāo)注助手目前支持Windows/Mac/Linux平臺(隨書配套)。本節(jié)任務(wù)的訓(xùn)練數(shù)據(jù)集為限速圖片,將用精靈標(biāo)注助手進行前期的標(biāo)注工作,下載后放到后續(xù)的YOLO項目文件夾中。該工具不僅操作簡單上手快,支持除了圖片標(biāo)注外,還支持文本標(biāo)注,視頻標(biāo)注,還可以保存之前標(biāo)注的數(shù)據(jù)集,方便后續(xù)對數(shù)據(jù)集標(biāo)注內(nèi)容的修改。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備5.2認識目標(biāo)檢測算法(YOLO)YOLO是一種目標(biāo)檢測方法,該方法的特點是實現(xiàn)快速檢測的同時還達到較高的準(zhǔn)確率。相對于其他目標(biāo)檢測與識別方法(比如FastR-CNN)將目標(biāo)識別任務(wù)分類目標(biāo)區(qū)域預(yù)測和類別預(yù)測等多個流程,YOLO將目標(biāo)區(qū)域預(yù)測和目標(biāo)類別預(yù)測整合于單個神經(jīng)網(wǎng)絡(luò)模型中,實現(xiàn)在準(zhǔn)確率較高的情況下快速目標(biāo)檢測與識別,更加適合現(xiàn)場應(yīng)用環(huán)境。本次實訓(xùn)采用YOLOv5(可以理解為YOLO的第五代,它不是一個單獨的模型,而是一個模型家族,包括了YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x)進行交通標(biāo)志的檢測。YOLO目標(biāo)檢測系統(tǒng)五、任務(wù)實施準(zhǔn)備工作課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備限速標(biāo)識圖片采集選擇標(biāo)注軟件數(shù)據(jù)標(biāo)注生成標(biāo)注信息對應(yīng)的文件目錄數(shù)據(jù)集生成調(diào)節(jié)參數(shù)限速標(biāo)志識別準(zhǔn)確率驗證模型訓(xùn)練將訓(xùn)練好的模型應(yīng)用于真實路況的交通標(biāo)志識別五、任務(wù)實施準(zhǔn)備工作5.3自動限速識別(ASL)開發(fā)任務(wù)流程課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備首先從github上下載YOLOv5,命名為yolov5,并放在yolo5_project根目錄下(可從本書配套資源下載YOLOv5)。其中,images存放的是原始的圖片數(shù)據(jù)集,Annotations存放的是標(biāo)記后生成的文件(xml格式),labels存放的是保存標(biāo)記內(nèi)容的文件(txt),ImageSets存放的是訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的分類情況,如下圖所示。data目錄下的文件類型六、自動限速識別(ASL)功能的開發(fā)實施6.1下載并部署YOLO項目課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.2標(biāo)注前的準(zhǔn)備工作準(zhǔn)備好需要標(biāo)注的含有限速標(biāo)志的原始圖片數(shù)據(jù)集(隨書配套提供),放到data/images文件夾中,如下左圖所示。找到精靈標(biāo)記助手,鼠標(biāo)右鍵單擊運行,如下右圖所示。data/images文件夾內(nèi)的限速圖片

運行標(biāo)注軟件課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(1)打開精靈標(biāo)注助手后,單擊“新建”,新建標(biāo)注項目,如圖所示。新建標(biāo)注項目課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(2)在彈出的新建項目頁面左側(cè)選擇“機器視覺”->“位置標(biāo)注”,右側(cè)填入項目名稱,圖片文件夾的選擇通過目錄選擇按鈕,選擇第2步驟中準(zhǔn)備好的圖片所在目錄,最后填寫分類值用于標(biāo)注,用pl+數(shù)值標(biāo)識,分別是pl5,pl15,pl20,pl30,pl40,pl50,pl60,pl70,pl80和pl100,共10類。該分類可根據(jù)data/images文件夾內(nèi)的限速標(biāo)識圖片的限速類型填寫,如果該文件夾內(nèi)有限速120(km/h)的,則增加pl120即可,然后單擊“創(chuàng)建”按鈕,如下圖所示。填寫分類值課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(3)創(chuàng)建完畢后進入標(biāo)注頁面,在頁面底部選擇要標(biāo)注的圖片,然后單擊頁面左側(cè)合適的工具在圖片中標(biāo)注,這里選擇“矩形框”,用矩形框標(biāo)注限速標(biāo)志(60),單擊鼠標(biāo)左鍵并拖動框到合適的位置松開鼠標(biāo),此時矩形框內(nèi)的內(nèi)容即為需要學(xué)習(xí)的區(qū)域,如下圖所示。限速標(biāo)志標(biāo)注區(qū)域課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(4)單擊頁面右側(cè)自定義輸入框,選擇標(biāo)注信息為pl60,如下圖所示。選擇對應(yīng)的標(biāo)注信息課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(5)單擊下方打勾按鈕,保存標(biāo)注信息,顯示保存成功,同時可以注意到左下側(cè)有一欄信息顯示已標(biāo)注和總的圖片數(shù)量,如下圖所示。保存標(biāo)注信息課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(6)單擊“后一個”,切換到下一張圖片,重復(fù)第(3)-(5)步,直到所有照片標(biāo)記完畢,如下圖所示,最后單擊“導(dǎo)出”。標(biāo)注下一張圖片課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(7)導(dǎo)出格式選擇xml格式,如下圖所示。選擇導(dǎo)出為xml格式課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(7)點擊“保存到”路徑方框右邊的“...”選擇導(dǎo)出路徑,彈出對話框,如下圖所示,選擇導(dǎo)出路徑為data/Annotations,然后單擊“ok”按鈕,回到上一界面,單擊“確定導(dǎo)出”導(dǎo)出標(biāo)注文件。導(dǎo)出所有標(biāo)注完成圖片的路徑選擇課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(7)導(dǎo)出的文件夾data/Annotations下會自動生成一個outputs文件夾,里面是存儲標(biāo)注完成的數(shù)據(jù)文件,如下圖所示。導(dǎo)出后data/Annotations/outputs文件夾下內(nèi)容課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.3數(shù)據(jù)標(biāo)注(7)我們需要將outputs文件夾下的數(shù)據(jù)剪切到Annotations文件夾的根目錄下,才能被讀取到,如圖2.96所示。至此,數(shù)據(jù)標(biāo)注準(zhǔn)備工作完成。Outputs內(nèi)的數(shù)據(jù)轉(zhuǎn)移到Annotations根目錄下課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.4構(gòu)建數(shù)據(jù)集在yolov5的根目錄下新建一個文件makeTxt.py和文件voc_label.py,本項目已提供好這兩個文件,如圖所示。文件makeTxt.py和文件voc_label.py課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.4構(gòu)建數(shù)據(jù)集makeTxt.py主要是將數(shù)據(jù)集分類成訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,默認train,val,test按照8:1:1的比例進行隨機分類,運行后ImagesSets文件夾中會出現(xiàn)四個文件,主要是生成的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的圖片名稱。同時data目錄下也會出現(xiàn)這四個文件,內(nèi)容是訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的圖片路徑,操作步驟如下。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.4構(gòu)建數(shù)據(jù)集(1)在yolov5文件夾下,空白處右鍵打開一個終端窗口,如圖所示。yolov5文件夾下打開一個終端窗口課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.4構(gòu)建數(shù)據(jù)集(2)輸入命令sourceactivateyolov5然后回車,進入已經(jīng)配置好的虛擬環(huán)境。進入yolov5虛擬環(huán)境課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.4構(gòu)建數(shù)據(jù)集(3)輸入命令pythonmakeTxt.py,回車,運行makeTxt.py文件,生成標(biāo)注信息對應(yīng)的文件目錄,trainval.txt,test.txt,train.txt和val.txt四個文件,如圖所示。ImageSets文件夾下生成的四個文件課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.4構(gòu)建數(shù)據(jù)集(4)輸入命令pythonvoc_label.py運行voc_label.py文件。voc_label.py主要是將圖片數(shù)據(jù)集標(biāo)注后的xml文件中的標(biāo)注信息讀取出來并寫入txt文件,運行后在labels文件夾中出現(xiàn)所有圖片數(shù)據(jù)集的標(biāo)注信息,如圖所示。至此,本次訓(xùn)練所需的數(shù)據(jù)集已經(jīng)全部準(zhǔn)備好了。labels文件夾下生成txt文件課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.5文件修改(1)數(shù)據(jù)集方面的yaml文件修改(yaml是專門用來寫配置文件的語言,是一種通用的數(shù)據(jù)串行化格式)。首先在data目錄下,復(fù)制一份coco.yaml文件并將其重命名,例如本鏡像包中的命名為sign.yaml,放在data目錄下,并對sign.yaml中的參數(shù)進行配置。如下圖所示,修改train,val,test后面的路徑為之前存放的路徑,nc為數(shù)據(jù)集的類別數(shù),修改為10,names為類別名稱的集合,和第3步中標(biāo)注精靈助手標(biāo)注圖片的時候所設(shè)置的參數(shù)一致。sign.yaml文件修改課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.5文件修改(2)網(wǎng)絡(luò)參數(shù)方面的yaml文件修改。接著在yolov5_project/models目錄下的yolov5s.yaml文件進行修改,根據(jù)實際標(biāo)注類別修改,如下圖所示,把nc的參數(shù)改為10。yolov5s.yaml文件修改課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.5文件修改(3)準(zhǔn)備訓(xùn)練腳本文件(train.py,在yolov5項目文件夾下)。在train.py中找到下圖的參數(shù)配置函數(shù),改為前面修改的yaml文件名稱。若運行訓(xùn)練腳本報錯,可以嘗試修改‘--batch-size’參數(shù)的值改小一些,該參數(shù)是指單次傳遞給程序用以訓(xùn)練的參數(shù)個數(shù),數(shù)值小可以減少內(nèi)存的使用,對于計算機內(nèi)存不能滿足一次性訓(xùn)練所有數(shù)據(jù)時,比較有效,有時候甚至需要改成1(特別是對于沒有GPU的計算機),如下圖所示。參數(shù)修改與訓(xùn)練設(shè)置課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.6開始模型訓(xùn)練回到y(tǒng)olov5虛擬環(huán)境,輸入pythontrain.py運行文件,以默認參數(shù)進行訓(xùn)練,如圖所示。如果只考慮正樣本的指標(biāo),精確度P(Precision)和召回率R(Recall)是比較常用的指標(biāo)。運行python

train.py課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通標(biāo)志識別的一般流程任務(wù)實施準(zhǔn)備工作ASL項目的環(huán)境配置準(zhǔn)備六、自動限速識別(ASL)功能的開發(fā)實施6.6開始模型訓(xùn)練正樣本是指屬于某一類別的樣本,負樣本是指不屬于某一類別的樣本;例如在做字母A的圖像識別,字母A的樣本就屬于正樣本,不是字母A的樣本就屬于負樣本。TP(TruePositive),把正樣本判定為正樣本;FP(FalseNegative),把正樣本判定為負樣本;TN(True,Negative),把負樣本判定為負樣本;FP(FalsePositive)把負樣本判定為正樣本。正樣本的精確度P:表示是判定為正樣本的樣本中,真正的正樣本比率有多少,P=TP/(TP+FP)。召回率R:是指針對所有正樣本,有多少正樣本被判定正確了,R=TP/(TP+FN)。mAP(meanaverageprecision):是一個平均值,常用作目標(biāo)檢測中的檢測精度指標(biāo)。mAP指標(biāo)通過對于一個平均目標(biāo)來檢測任務(wù)中多個目標(biāo)所對應(yīng)不同AP(averageprecision)值進行計算得到。AP衡量的是學(xué)出來的模型在一個類別上的好壞,而mAP則衡量學(xué)出的模型在所有類別上的好壞。課程導(dǎo)入自動限速識別(ASL)功能的開發(fā)實施交通標(biāo)志的識別方法交通

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論