摘要:本文設(shè)計(jì)了一款基于深度學(xué)習(xí)的目標(biāo)檢測(cè)實(shí)踐平臺(tái),平臺(tái)采用YOLOv8網(wǎng)絡(luò)模型作為目標(biāo)檢測(cè)算法,通過對(duì)圖像數(shù)據(jù)集的訓(xùn)練優(yōu)化網(wǎng)絡(luò),達(dá)到目標(biāo)檢測(cè)結(jié)果。該平臺(tái)達(dá)到了“軟件+硬件+網(wǎng)絡(luò)”同步實(shí)踐的教學(xué)效果,能夠讓學(xué)生將理論付諸實(shí)踐,在一定程度上培養(yǎng)了學(xué)生的動(dòng)手操作和應(yīng)用創(chuàng)新能力,并且能夠助力教師科研水平的提高,達(dá)到教學(xué)和科研“雙贏”。
關(guān)鍵詞:目標(biāo)檢測(cè);YOLOv8;Jetson Nano;實(shí)踐教學(xué)
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2024)22-0000-05
引言
“新工科”是應(yīng)對(duì)變化、引領(lǐng)未來的建設(shè)理念,也就是對(duì)新技術(shù)、新產(chǎn)業(yè)與新變化推進(jìn)可持續(xù)競(jìng)爭(zhēng)力的新型工科人才培養(yǎng)改革。電子信息類專業(yè)是支撐“中國(guó)制造2025”“互聯(lián)網(wǎng)+”時(shí)代需求的專業(yè)之一,其培養(yǎng)的人才不僅要掌握和運(yùn)用現(xiàn)有的知識(shí),更要能夠掌握和運(yùn)用現(xiàn)有知識(shí)來不斷更新自我以適應(yīng)新的變化和需求。[1]在“新工科”建設(shè)理念指導(dǎo)下,更多的應(yīng)用型課程應(yīng)運(yùn)而生,筆者所在學(xué)校通信工程專業(yè)開設(shè)的應(yīng)用型課程“模式識(shí)別與機(jī)器學(xué)習(xí)”是一門“理論+應(yīng)用”的實(shí)踐課程,該課程內(nèi)容包括人工智能技術(shù)方面的理論,以及更重要的該技術(shù)的應(yīng)用實(shí)踐環(huán)節(jié)。
在模式識(shí)別與機(jī)器學(xué)習(xí)中有一個(gè)重要的應(yīng)用領(lǐng)域——“目標(biāo)檢測(cè)識(shí)別”,其原理是利用計(jì)算機(jī)視覺對(duì)環(huán)境進(jìn)行感知,提取目標(biāo)并進(jìn)行分割,相比于人眼,它能夠快速地在視覺信息里提取到需要的圖像和視頻信息。[2]目標(biāo)檢測(cè)也是人工智能技術(shù)的重要應(yīng)用之一,其主要任務(wù)就是找出圖像中感興趣的物體,確定目標(biāo)的類別和位置。目標(biāo)檢測(cè)技術(shù)廣泛應(yīng)用于智能視頻監(jiān)控、工業(yè)檢測(cè)、航空航天、智能交通等諸多領(lǐng)域。[3]
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法有著較強(qiáng)的提取特征能力,為了提高學(xué)生在模式識(shí)別領(lǐng)域的創(chuàng)新和實(shí)踐能力,筆者結(jié)合學(xué)生專業(yè)背景和未來就業(yè)前景,設(shè)計(jì)了一款基于深度學(xué)習(xí)的目標(biāo)檢測(cè)實(shí)踐平臺(tái)。該平臺(tái)采用主流的目標(biāo)檢測(cè)YOLOv8算法,在目標(biāo)檢測(cè)和識(shí)別領(lǐng)域進(jìn)行實(shí)時(shí)檢測(cè),在服務(wù)器端進(jìn)行網(wǎng)絡(luò)優(yōu)化,得到理想的檢測(cè)結(jié)果;在硬件部署方面利用NVIDIA的Jetson Nano開發(fā)板作為載體,其具有嵌入式端的GPU模塊,能夠更好地完成深度學(xué)習(xí)模型推理;網(wǎng)絡(luò)模型通過Web技術(shù)移植到網(wǎng)絡(luò)云端,網(wǎng)絡(luò)端可以方便讀取和觀察檢測(cè)過程的結(jié)果?!霸?、邊、端”三平臺(tái)都可以實(shí)現(xiàn)數(shù)據(jù)圖像的追蹤、定位、分割、識(shí)別、缺陷檢測(cè)等。該平臺(tái)滿足“新工科”建設(shè)中對(duì)人才培養(yǎng)提出的新要求,有助于加強(qiáng)學(xué)生對(duì)理論知識(shí)的鞏固,并在科教融合背景下促進(jìn)學(xué)生工程能力的提升。[4-6]
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)實(shí)踐平臺(tái)的設(shè)計(jì)
1.目標(biāo)檢測(cè)實(shí)踐設(shè)計(jì)流程
目標(biāo)實(shí)時(shí)檢測(cè)主要包括圖像數(shù)據(jù)集處理、檢測(cè)模型處理、實(shí)時(shí)嵌入式設(shè)備檢測(cè)和網(wǎng)絡(luò)云端上線操作。目標(biāo)檢測(cè)平臺(tái)設(shè)計(jì)流程如圖1所示。
數(shù)據(jù)集的處理包括圖像數(shù)據(jù)的收集。大部分常用圖像數(shù)據(jù)信息可以從官方網(wǎng)站獲取,有些圖像數(shù)據(jù)則需要自主按照要求去實(shí)地現(xiàn)場(chǎng)拍攝、加工和篩選等。[7]經(jīng)過簡(jiǎn)單收集后的圖像數(shù)據(jù)按照要求進(jìn)行標(biāo)注,標(biāo)注后的數(shù)據(jù)集按照一定的比例分為訓(xùn)練集和測(cè)試集。
檢測(cè)模型采用目標(biāo)檢測(cè)較優(yōu)的YOLOv8網(wǎng)絡(luò)模型,首先,針對(duì)不同的項(xiàng)目特點(diǎn)優(yōu)化網(wǎng)絡(luò)模型,修改模型超參數(shù)達(dá)到目標(biāo)檢測(cè)優(yōu)化。其次,在網(wǎng)絡(luò)模型訓(xùn)練成功后,將其部署到Jetson Nano核心板上,通過核心板的外接設(shè)備對(duì)圖像目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)。[8]最后,將模型移植到網(wǎng)絡(luò)云端,進(jìn)行可視化、互動(dòng)操作等。
該實(shí)踐平臺(tái)實(shí)現(xiàn)了“軟件、硬件、網(wǎng)絡(luò)”三平臺(tái)一體化結(jié)合,學(xué)生通過收集圖像和數(shù)據(jù)標(biāo)簽,先期通過軟件進(jìn)行模型訓(xùn)練,中期利用硬件部署達(dá)到實(shí)時(shí)監(jiān)測(cè),后期移植網(wǎng)絡(luò)端可視化操作,最后達(dá)到理論與實(shí)踐的完美結(jié)合,這在一定程度上提高了學(xué)生的動(dòng)手操作和創(chuàng)新應(yīng)用的能力。
2.目標(biāo)檢測(cè)的實(shí)踐教學(xué)平臺(tái)設(shè)計(jì)
圖像目標(biāo)檢測(cè)實(shí)踐平臺(tái)設(shè)計(jì)的核心是通過學(xué)生“學(xué)中做”“做中研”“研中學(xué)”的循k7vpsdiGP32SGlnVaj03Cw==環(huán)學(xué)習(xí)方式,讓學(xué)生運(yùn)用新知識(shí)提升工程設(shè)計(jì)能力和創(chuàng)新能力。該實(shí)踐通過項(xiàng)目式教學(xué)充分調(diào)動(dòng)學(xué)生的積極性和主動(dòng)性,培養(yǎng)學(xué)生的設(shè)計(jì)思維和工程思維。[9]圖像檢測(cè)實(shí)踐平臺(tái)設(shè)計(jì)的項(xiàng)目如上頁表所示,其中的項(xiàng)目類型包括基礎(chǔ)項(xiàng)目、拓展項(xiàng)目和創(chuàng)新項(xiàng)目。
基礎(chǔ)項(xiàng)目訓(xùn)練使學(xué)生初步運(yùn)用YOLOv8神經(jīng)網(wǎng)絡(luò)模型對(duì)目標(biāo)進(jìn)行檢測(cè)識(shí)別,首先構(gòu)建數(shù)據(jù)集,并將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,其次構(gòu)建神經(jīng)網(wǎng)絡(luò)模型對(duì)模型進(jìn)行訓(xùn)練,最后加載訓(xùn)練好的模型,對(duì)測(cè)試集進(jìn)行預(yù)測(cè),達(dá)到識(shí)別效果。
拓展項(xiàng)目要求學(xué)生通過優(yōu)化現(xiàn)有的網(wǎng)絡(luò)模型,對(duì)較難的目標(biāo)進(jìn)行檢測(cè)識(shí)別。
創(chuàng)新項(xiàng)目要求學(xué)生可以選擇教師發(fā)布的項(xiàng)目,也可以自行設(shè)計(jì)檢測(cè)目標(biāo),自行完成目標(biāo)檢測(cè)。
同時(shí),設(shè)計(jì)的項(xiàng)目?jī)?nèi)容要充分滿足“高階性、創(chuàng)新型和挑戰(zhàn)度”原則[10],通過“層層遞進(jìn)”式的項(xiàng)目化設(shè)計(jì),覆蓋全員進(jìn)行模式識(shí)別的實(shí)踐。
目標(biāo)檢測(cè)方法設(shè)計(jì)和部署
1.圖像數(shù)據(jù)集的選擇
本實(shí)踐平臺(tái)針對(duì)的主要是圖像數(shù)據(jù)的目標(biāo)檢測(cè)和識(shí)別,對(duì)于常用的圖像目標(biāo)檢測(cè)識(shí)別,其圖像數(shù)據(jù)集資源較豐富,并且包括訓(xùn)練圖像和和測(cè)試圖像,如動(dòng)物種類Dogs vs Cats數(shù)據(jù)集、面部表情KDEF數(shù)據(jù)集、垃圾分類數(shù)據(jù)集等。在下載數(shù)據(jù)集后,進(jìn)行標(biāo)注預(yù)處理,以便能夠達(dá)到訓(xùn)練和測(cè)試圖像分類、目標(biāo)檢測(cè)、圖像分割等的目的。
但對(duì)于特定場(chǎng)景下的圖像目標(biāo)檢測(cè)識(shí)別,其圖像數(shù)據(jù)集網(wǎng)絡(luò)資源則不一定豐富。在這種情況下,就需要學(xué)生通過視頻監(jiān)控或者實(shí)地拍攝收集圖像資源,進(jìn)行訓(xùn)練圖像和測(cè)試圖像的劃分。因此,從利用現(xiàn)有的數(shù)據(jù)集進(jìn)行訓(xùn)練檢測(cè)到自建數(shù)據(jù)集進(jìn)行訓(xùn)練檢測(cè),這樣的實(shí)踐過程能夠使學(xué)生從上到下完整地完成一個(gè)設(shè)計(jì)項(xiàng)目,進(jìn)而達(dá)到較好的訓(xùn)練目的。
2.YOLOv8模型構(gòu)建
YOLO現(xiàn)在已經(jīng)成為機(jī)器人、無人駕駛和視頻監(jiān)控應(yīng)用中的核心實(shí)時(shí)物體檢測(cè)算法。目前,YOLO版本已經(jīng)發(fā)展到Y(jié)OLOv8網(wǎng)絡(luò)模型,該模型是一個(gè)面向?qū)崟r(shí)工業(yè)應(yīng)用而開源的目標(biāo)檢測(cè)算法。因此,筆者在實(shí)踐教學(xué)平臺(tái)中使用了最新的YOLOv8模型。該算法針對(duì)不同的設(shè)備需求和不同的應(yīng)用場(chǎng)景提供了大小和參數(shù)不同的網(wǎng)絡(luò)。YOLOv8模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
YOLOv8網(wǎng)絡(luò)模型分為輸入端(Input)、主干道(Backbone)、連接(Neck)和輸出(Detect)4個(gè)部分。Backbone和Neck中主要采用C2f結(jié)構(gòu),該結(jié)構(gòu)是對(duì)殘差特征進(jìn)行學(xué)習(xí)的主要模塊,C2f結(jié)構(gòu)相較于YOLOv5的C3模塊加入了更多的分支,豐富了梯度回傳時(shí)的直流。其他主要組成模塊還包含卷積層(Conv)和SPPF結(jié)構(gòu)。[11-12]
然后,通過服務(wù)器上的網(wǎng)絡(luò)模型進(jìn)行目標(biāo)檢測(cè),流程如下:將測(cè)試圖像傳入YOLOv8網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,通過訓(xùn)練得到較優(yōu)的網(wǎng)絡(luò)模型,然后輸入數(shù)據(jù)進(jìn)行YOLO檢測(cè)得到檢測(cè)結(jié)果(如上頁圖3)。
3.模型硬件部署
在服務(wù)器端按照以上步驟學(xué)習(xí)完成后,需要在Jetson Nano嵌入式設(shè)備上完成目標(biāo)檢測(cè)算法的板級(jí)驗(yàn)證。Jetson Nano是NVIDIA的嵌入式平臺(tái),為了可以在Jetson Nano硬件上運(yùn)行模型,首先要對(duì)開發(fā)環(huán)境進(jìn)行搭建。[13-14]Jetson Nano的系統(tǒng)安裝以SD卡作為媒介進(jìn)行,采用Jetson Nano進(jìn)行模型遷移部署,對(duì)TensorFlow GPU、優(yōu)化引擎TensorRT等進(jìn)行安裝,具體步驟如圖4所示。
在深度學(xué)習(xí)服務(wù)器上,將訓(xùn)練好的YOLOv8模型.pt文件序列化成.wts文件傳入Jeston Nano開發(fā)板,在Jeston Nano開發(fā)板上優(yōu)化并編譯相應(yīng)的YOLOv8模型文件,將.wts文件轉(zhuǎn)換為.engine文件,完成后進(jìn)行模型轉(zhuǎn)換,采用TensorRT Python程序接口實(shí)現(xiàn)API調(diào)用。
實(shí)踐項(xiàng)目案例應(yīng)用
本文的實(shí)踐項(xiàng)目,筆者選取了非機(jī)動(dòng)車佩戴頭盔目標(biāo)檢測(cè)識(shí)別。由于非機(jī)動(dòng)車事故產(chǎn)生的人身傷害最嚴(yán)重的是頭部受傷,因此,交管部門大力倡導(dǎo)非機(jī)動(dòng)車駕駛員佩戴頭盔,但是通過人工監(jiān)管的方法覆蓋范圍有限,工作實(shí)施難度大,所以本項(xiàng)目設(shè)計(jì)的初衷也是要求學(xué)生在學(xué)習(xí)實(shí)踐專業(yè)知識(shí)的同時(shí),遵守交通規(guī)則,懂得規(guī)矩意識(shí),實(shí)現(xiàn)“育才”和“育德”相向而行。
1.服務(wù)器端實(shí)踐項(xiàng)目應(yīng)用
由于非機(jī)動(dòng)車佩戴頭盔的圖片網(wǎng)絡(luò)資源并不豐富,因此本設(shè)計(jì)項(xiàng)目要求學(xué)生先自建數(shù)據(jù)集,該數(shù)據(jù)集由學(xué)生分組收集拍照。
首先,教師將40人的班級(jí)分為10組,要求每組拍照100張,圖片要求涵蓋不同的地點(diǎn)、不同的背景、不同的車型(包括自行車、電動(dòng)自行車和電動(dòng)摩托車)。
其次,學(xué)生將拍照后的圖片進(jìn)行數(shù)據(jù)集的標(biāo)注處理,利用Labelimag工具對(duì)獲取的圖像進(jìn)行標(biāo)注,將拍攝到的圖像分為四類,分別是Hel_mo,Hel_no,Hel_mo1,Hel_no1。其中,Hel_mo,Hel_no分別表示電動(dòng)自行車騎行者佩戴和未佩戴頭盔;Hel_mo1,Hel_no1分別表示非電動(dòng)自行車騎行者佩戴和未佩戴頭盔。
再次,采用YOLOv8網(wǎng)絡(luò)模型對(duì)以上圖像數(shù)據(jù)進(jìn)行訓(xùn)練和檢測(cè)。利用第一層網(wǎng)絡(luò)識(shí)別第一目標(biāo)是否駕駛的是電動(dòng)自行車,再利用第二層網(wǎng)絡(luò)識(shí)別判斷目標(biāo)是否佩戴頭盔。其中一組學(xué)生獲得的檢測(cè)識(shí)別結(jié)果正確率都在95%以上,效果較好。
最后,教師利用圖像集中有大量的多目標(biāo)圖像將難度適當(dāng)升高,學(xué)生經(jīng)過網(wǎng)絡(luò)模型訓(xùn)練后得到的識(shí)別率為90%左右。
2.Jetson Nano端實(shí)踐項(xiàng)目應(yīng)用
為了實(shí)時(shí)監(jiān)控項(xiàng)目監(jiān)測(cè)結(jié)果,教師可以指導(dǎo)學(xué)生采用Jetson Nano進(jìn)行模型遷移部署。學(xué)生按流程完成服務(wù)器端訓(xùn)練好的模型,將模型遷移部署到Jeston Nano端,在Jetson Nano開發(fā)板上優(yōu)化并編譯相應(yīng)的YOLOv8模型文件,完成后進(jìn)行模型轉(zhuǎn)換,轉(zhuǎn)換格式后實(shí)現(xiàn)API調(diào)用。TensorRT進(jìn)一步加快了推理過程,運(yùn)行結(jié)果顯示在Jetson Nano端運(yùn)行速度有明顯提高,一張照片的檢測(cè)識(shí)別速度由幾百毫秒提升到幾十毫秒,識(shí)別速度和效果較好。
3.網(wǎng)頁云端實(shí)踐項(xiàng)目應(yīng)用
為提升目標(biāo)檢測(cè)系統(tǒng)的效率,云端覆蓋了圖像數(shù)據(jù)的標(biāo)定、數(shù)據(jù)集管理、模型訓(xùn)練和部署等。[15]教師進(jìn)一步將上述訓(xùn)練好的網(wǎng)絡(luò)模型移植網(wǎng)絡(luò)端,Web網(wǎng)絡(luò)端可以進(jìn)行實(shí)時(shí)交互式、可視化操作。該頁面包含模型配置,配置下有任務(wù)類型選擇、模型類型選擇和置信度選擇。主界面包含原圖像和檢測(cè)識(shí)別后的圖像,在輸出圖像下方詳細(xì)介紹該檢測(cè)結(jié)果的張量信息。在網(wǎng)頁端進(jìn)行參數(shù)選擇執(zhí)行化高,結(jié)果可以實(shí)時(shí)顯示,對(duì)比性強(qiáng),同時(shí)也大大降低了去程序中修改參數(shù)的工作量,免去了大量的重復(fù)工作。
結(jié)語
基于深度學(xué)習(xí)的圖像檢測(cè)實(shí)踐平臺(tái)是“模式識(shí)別和機(jī)器學(xué)習(xí)”課程的實(shí)踐環(huán)節(jié),該實(shí)踐平臺(tái)的使用能讓學(xué)生更好地理解模式識(shí)別和機(jī)器學(xué)習(xí)在實(shí)際生活中的實(shí)際應(yīng)用價(jià)值。該平臺(tái)以網(wǎng)絡(luò)模型YOLOv8算法為核心,在“云、邊、端”進(jìn)行實(shí)踐操作,采用“軟件+硬件+網(wǎng)絡(luò)云”結(jié)合的形式進(jìn)行模型設(shè)計(jì)和部署,每個(gè)環(huán)節(jié)都培養(yǎng)了學(xué)生的動(dòng)手操作和應(yīng)用創(chuàng)新能力。該實(shí)踐平臺(tái)的建設(shè)有助于學(xué)生在計(jì)算機(jī)視覺、深度學(xué)習(xí)、模式識(shí)別領(lǐng)域的深入研究和學(xué)習(xí),拓展了學(xué)生的知識(shí)領(lǐng)域。
參考文獻(xiàn):
[1]王鳳仙,閆曉波.應(yīng)用型本科多學(xué)科互融型創(chuàng)新創(chuàng)業(yè)教育模式探究[J].農(nóng)機(jī)使用與維修,2023(10):126-129.
[2]李穎,王奇強(qiáng).分布式人工智能技術(shù)在視覺信息處理中的應(yīng)用[J].數(shù)字通信世界,2019(10):182.
[3]蔡嘉磊,茅智慧,李君,等.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法與應(yīng)用綜述[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2023(11):41-45.
[4]孫康寧,于化東,梁延德.基于新工科的知識(shí)、能力、實(shí)踐、創(chuàng)新一體化培養(yǎng)教學(xué)模式探討[J].中國(guó)大學(xué)教學(xué),2019(03):93-96.
[5]任玉琢,徐利梅,謝曉梅.面向新工科的本科專業(yè)培養(yǎng)方案及創(chuàng)新課程設(shè)計(jì)與實(shí)踐[J].高等工程教育研究,2019(03):29-32.
[6]周珂,趙志毅,李虹.“學(xué)科交叉、產(chǎn)教融合”工程能力培養(yǎng)模式探索[J].高等工程教育研究,2019(03):33-39.
[7]左超,陳錢.計(jì)算光學(xué)成像:何來,何處,何去,何從?[J]紅外與激光工程,2022,(51):158.
[8]王俊,陳俊杰,劉勝.基于Jetson Nano的遺留物檢測(cè)人工智能嵌入式教學(xué)實(shí)踐系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,2022,41(11):204-207.
[9]蔣翠玲,萬永菁,朱煜.基于華為“智能基座”計(jì)劃的項(xiàng)目式教學(xué)實(shí)踐——以機(jī)器視覺算法實(shí)訓(xùn)課程為例[J].化工高等教育,2022,39(04):24-30.
[10]肖成勇,李擎,張德政,等.基于深度學(xué)習(xí)的計(jì)算機(jī)視覺創(chuàng)新實(shí)驗(yàn)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2022,41(04):94-98.
[11]杜寶俠,唐友,辛鵬,等.基于改進(jìn)YOLOv8的蘋果檢測(cè)方法[J].無線互聯(lián)科技,2023,20(13):119-122.
[12]袁紅春,陶磊.基于改進(jìn)的Yolov8商業(yè)漁船電子監(jiān)控?cái)?shù)據(jù)中魚類的檢測(cè)與識(shí)別[J].大連海洋大學(xué)學(xué)報(bào),2023,38(03):533-542.
[13]鄭朝冰.基于深度學(xué)習(xí)的復(fù)雜交通場(chǎng)景下車牌識(shí)別算法研究與實(shí)現(xiàn)[D].深圳:深圳大學(xué).2021.
[14]丁奇安,劉龍申,陳佳,等.基于Jetson Nano+YOLOv5的哺乳期仔豬目標(biāo)檢測(cè)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(03):277-280.
[15]孫賀,冷于浩,劉默嘉.基于機(jī)器視覺的表面質(zhì)量檢測(cè)系統(tǒng)研究與應(yīng)用[J].無線互聯(lián)科技,2022,19(18):106-109.
第一作者簡(jiǎn)介:李哲(1988—),女,漢族,河北邢臺(tái)人,講師,碩士,研究方向?yàn)槟J阶R(shí)別。
基金項(xiàng)目:河北省社會(huì)科學(xué)發(fā)展研究課題(編號(hào):202403214);教育部高等學(xué)校自動(dòng)化類專業(yè)教學(xué)指導(dǎo)委員會(huì)教改研究面上項(xiàng)目(編號(hào):2024065);河北省高等學(xué)校科學(xué)技術(shù)研究項(xiàng)目(編號(hào):ZC2024032)。