使用Python和TensorRT在Jetson Nano上運行的實時螺栓檢測和計數(shù)系統(tǒng)-專為低功耗工業(yè)設(shè)置而構(gòu)建
工業(yè)自動化正在迅速發(fā)展,制造企業(yè)越來越多地采用工業(yè)4.0實踐,以變得更智能、更高效。與此同時,硬件的進步使計算能力更容易獲得,也更緊湊。
利用這兩種趨勢,我們利用NVIDIA Jetson Nano開發(fā)了一種實時螺栓檢測和計數(shù)系統(tǒng)。該解決方案不僅涉及強大的機器學(xué)習(xí)模型的開發(fā),還涉及在Jetson Nano等邊緣設(shè)備上直接優(yōu)化和部署這些模型,從而實現(xiàn)工業(yè)過程中的變革性自動化。
執(zhí)行步驟
數(shù)據(jù)集采集:使用移動相機和USB相機采集數(shù)據(jù)集,采集工業(yè)螺栓排列在不同位置的圖像。螺栓被放置在不同的角度和多種照明條件下,以模擬真實的工業(yè)環(huán)境。這種多樣性確保了模型可以很好地概括,即使在外部條件發(fā)生變化時也能做出準(zhǔn)確的預(yù)測,比如在低光照或不尋常的視角下。
數(shù)據(jù)注釋:由于目標(biāo)是檢測和計數(shù)工業(yè)螺栓,我們使用Edge Impulse應(yīng)用程序創(chuàng)建注釋來標(biāo)記圖像中的每個螺栓。為了提高精度,每個螺栓周圍使用矩形框進行手動標(biāo)注。正確的標(biāo)記對于訓(xùn)練能夠識別和區(qū)分單個幀中的多個螺栓的目標(biāo)檢測模型至關(guān)重要。
特征提取:我們進行特征提取,將原始圖像數(shù)據(jù)轉(zhuǎn)化為有意義的特征。這一步包括規(guī)范化、調(diào)整大小和轉(zhuǎn)換為RGB通道,具體取決于所選的模型管道。這些特征是訓(xùn)練目標(biāo)檢測模型的關(guān)鍵輸入。
ML模型:我們使用MobileNetV2 SSD FPN-Lite 320x320訓(xùn)練模型,這是一種為邊緣設(shè)備量身定制的高效目標(biāo)檢測架構(gòu)。這種模型架構(gòu)非常適合在復(fù)雜場景中檢測像工業(yè)螺栓這樣的小物體。
?MobileNetV2作為特征提取器,提供輕量級和快速的主干。
?SSD(單鏡頭多盒檢測器)允許實時對象檢測,通過預(yù)測邊界框和類分?jǐn)?shù)在單一的向前傳遞。
?FPN-Lite(特征金字塔網(wǎng)絡(luò)Lite)通過聚合來自多個網(wǎng)絡(luò)級別的特征來改進對小尺度目標(biāo)的檢測。
?320x320的輸入圖像分辨率平衡了邊緣部署的檢測精度和計算效率。
培訓(xùn)配置:
?訓(xùn)練周期:25
?學(xué)習(xí)率:0.15
?批量大小:32
?訓(xùn)練處理器:CPU
?驗證集大?。嚎倲?shù)據(jù)集的20%
?數(shù)據(jù)分割方式:隨機分割
?量化:INT8
訓(xùn)練后,使用INT8量化對模型進行了性能分析,使其能夠在邊緣硬件上高效運行,進一步降低了其內(nèi)存占用和推理延遲。這種配置使我們能夠創(chuàng)建一個緊湊而準(zhǔn)確的模型,能夠在資源受限的設(shè)備上實時運行,如NVIDIA Jetson Nano。
ML模型轉(zhuǎn)換:訓(xùn)練成功后,將模型轉(zhuǎn)換為與邊緣設(shè)備兼容的格式。根據(jù)部署目標(biāo),訓(xùn)練后的ML模型被轉(zhuǎn)換為TensorFlow Lite和自定義c++庫格式。在這種情況下,模型被轉(zhuǎn)換為與tensorrt兼容的格式,以便在Jetson Nano上優(yōu)化性能。
機器學(xué)習(xí)模型在Nvidia Jetson Nano上的部署:部署環(huán)境是通過使用Nvidia SDK Manager將Ubuntu 18.04加載到Nvidia Jetson Nano上準(zhǔn)備的。這為AI模型推理提供了一個穩(wěn)定、兼容的基礎(chǔ)系統(tǒng)。
安裝完操作系統(tǒng)后,安裝并配置Python 3.6以支持模型的運行時需求。轉(zhuǎn)換后的模型與自定義C和Python腳本集成在一起,可以直接在設(shè)備上進行實時推理。
該模型使用NVIDIA的高性能深度學(xué)習(xí)推理庫TensorRT進行優(yōu)化。這使得Jetson Nano可以利用其板載GPU加速處理。創(chuàng)建了一個輕量級推理應(yīng)用程序來處理相機輸入、圖像預(yù)處理、模型執(zhí)行和輸出可視化——所有這些都是實時的。
這種部署設(shè)置確保系統(tǒng)在邊緣自主運行,提供低延遲檢測和螺栓計數(shù),而無需互聯(lián)網(wǎng)連接。
ML模型推理:一旦部署,模型對視頻幀執(zhí)行實時推理。它檢測和計數(shù)存在于視場中的螺栓,并在其上覆蓋邊界框。輸出包括螺栓數(shù)量及其位置,可進一步用于質(zhì)量控制、自動檢查或工業(yè)環(huán)境中的操作分析。
整體總結(jié)
延遲故障
產(chǎn)業(yè)整合準(zhǔn)備情況
本文編譯自hackster.io