










摘 要 為了增強機器視覺與圖像處理課程教學效果與工程實用性,基于HALCON集成開發環境,研究開發一個復雜環境紙箱識別機器視覺綜合性實驗教學項目。該實驗項目首先使用圖像標注工具Deep Learning Tool對采集到的紙箱圖像進行標注,然后將標注后的文件集成到HALCON環境中進行訓練,最后通過調用訓練后的紙箱定位模型驗證機器視覺效果。實驗項目包括學生動手采集紙箱圖像和編寫代碼過程,可有效加深學生對機器視覺理論知識的理解,促進學生工程實踐能力的培養。
關鍵詞 機器視覺與圖像處理;深度學習;HALCON;實驗教學
中圖分類號:G642.423 文獻標識碼:B
文章編號:1671-489X(2024)18-0132-06
0 引言
機器視覺與圖像處理是一門新工科屬性的強實用性課程,也是一門多學科交叉的綜合性課程,具有數學公式多、理論原理抽象、學習起點高、理解難度大等特點[1-2]。為了增強課程的教學效果、達成教學目的,課程組面向實際工程應用需求,強化實踐教學,采用梅卡曼德Mech-Eye DEEP系列的3D相機和MVTec公司開發的HALCON集成開發環境,研發設計復雜環境紙箱識別機器視覺綜合性實驗教學項目。該項目不僅可以讓學生實際了解工業界常用機器視覺與圖像處理工具軟硬件平臺,訓練學生的動手能力,也可以以實際工程應用帶動課本理論學習,幫助學生融會貫通抽象的理論知識,提高學習主觀能動性,增強學生在實踐中發現問題和解決問題的能力,進一步培養學生的思考創新能力、理性批判能力和終身學習能力。
1 HALCON集成開發環境簡介
HALCON是德國MVTec公司開發的一套完善、標準的機器視覺算法軟件包,擁有可交互式集成開發環境HDevelop,算子提供C、C++、C#和VB等多種編程語言,用戶可以利用開發環境HDevelop直接導出不同語言的程序代碼,從而減少系統開發的難度,節約產品成本,縮短軟件開發周期。
HALCON具有深度學習版本,采用卷積神經網絡實現對圖像的異常檢測、分類、目標檢測、實例分割、語義分割和邊緣提取。HALCON在深度學習模塊方面的特色主要體現在代碼集成度高、便捷性高、可視化更加多樣、針對性更強,并且更加容易和傳統算法與深度學習算法相結合。HALCON在歐美日的工業界已經是公認的具有最佳效能的機器視覺軟件[3-5]。
2 實驗教學項目步驟設計
2.1 圖像采集與標注
圖像數據集的搭建是深度學習的基礎。本項目的檢測目標選用工業生產作業中常用的紙箱。為此,項目首先采用梅卡曼德Mech-Eye DEEP系列的3D相機在作業現場實地拍攝各類工況的紙箱圖像,共采集紙箱圖像518張,圖像真實有效,且具有應有的價值。部分紙箱采集圖像如圖1所示。
圖像標注的質量會在一定程度上影響網絡訓練的效果。本項目采用數據集專用標記軟件Deep Learning Tool對采集的紙箱圖像進行標注,標注后生成的.hdict文件能夠集成到HALCON集成開發環境HDevelop中直接進行訓練。與當前流行的圖像標注工具LabelImg相比,Deep Learning Tool的標注界面可視化更高,標注起來更加方便快捷。該軟件提供不同種類的標注方法,如圖像分類、異常檢測、對象檢測、語義分割、實例分割等。
在Deep Learning Tool不同種類的標注中,對象檢測分為軸對齊矩形和自由矩形。軸對齊矩形的對象檢測是簡易的對象檢測方法,使用與坐標軸對齊的矩形包圍框進行標注。自由矩形的對象檢測是進階的對象檢測方法,該方法尤其適用于傾斜對象,也可以計算對象的尺寸。
考慮到紙箱的擺放可能無序、傾斜,紙箱圖像的標注方法采用自由矩形的對象檢測方法。標注界面可以顯示標簽類別、標注框中心點的X坐標和Y坐標、標注框的高度和寬度以及標注框的角度。
2.2 網絡模型構建與訓練
深度學習是一系列機器學習的方法集合,其算法結構類似于多層次的神經網絡,對大量的訓練樣本圖像進行學習,提取各個層次的特征,使網絡具有判別和推理的能力。
深度學習的本質是參數迭代,學習完成后輸出模型,與傳統的學習模型相比,最明顯的區別就是網絡更加復雜[6-7]。HALCON中集成的基于深度學習的目標檢測網絡模型及說明如下:
1)pretrained_dl_classifier_alexnet.hdl,該網絡模型適用于簡單的分類任務;
2)pretrained_dl_classifier_compact.hdl,該網絡模型的優點是節省內存和提高運行效率;
3)pretrained_dl_classifier_enhanced.hdl,該網絡模型比網絡模型2擁有更多的隱含層,計算更加復雜,因此可以勝任更復雜的任務,但需要更多的內存和更長的訓練時間;
4)pretrained_dl_classifier_mobilenet.hdl,基于該網絡模型構造的分類器是一個小而低功耗的模型,因此更適合移動和嵌入式視覺應用;
5)pretrained_dl_classifier_resnet50.hdl,該網絡模型適用于更復雜的任務,與網絡模型3的結構不同,相比之下,其訓練更穩定、魯棒性更好。
紙箱定位流程如圖2所示,主要實現算子如下。
2.2.1 圖像數據預處理
1)通過read_dict算子讀取標注好的數據文件并存入數據字典DLSample中,DLSample可以充當一個數據庫,存儲數據的所有必要信息。
2)通過split_dl_dataset算子對紙箱數據集進行分割,將數據集劃分為訓練集、驗證集和測試集三個部分,占比分別為70%、15%和15%。
3)接著通過create_dict算子創建預處理字典DLModelDetectionParam并通過set_dict_tuple算子設置相關參數。
4)通過create_dl_preprocess_param_from_model算子從深度學習網絡中檢索所有必要的預處理參數。
5)通過preprocess_dl_dataset算子對數據進行預處理,預處理后會將數據存入磁盤中,這樣可以減少后期訓練的時間。預處理完成后可以使用算子dev_display_dl_data對預處理后的數據進行可視化。
2.2.2 模型構建
考慮到采集的紙箱圖像數量較多但種類較為單一,所以選用pretrained_dl_classifier_compact.hdl網絡模型。通過create_dl_model_detections算子創建網絡模型,并通過set_dl_model_param算子設置學習率(learning_rate)、批量大小(batch_size)、迭代次數(epoch)等模型參數。
1)學習率是深度學習的一個重要參數,決定訓練期間如何對梯度進行加權,意味著目標函數是否能以及何時能收斂至局部最小值。
2)批量大小表示在一次迭代中能夠處理的圖像數量,直接影響網絡訓練速度。
3)迭代次數是使用訓練集的所有數據進行的一次完整訓練過程。
通過train_dl_model算子進行模型訓練,訓練結束后輸出的最佳模型保存為hdl文件。通過evaluate_dl_model算子對模型進行評估,主要評估指標有全類平均正確率(mean Average Preci-sion,mean_ap)、損失函數、精確率和召回率等。如果評估指標不夠理想,可以進行模型調優,即重新設置參數訓練。
2.2.3 模型預測
通過算子apply_dl_model調用訓練好的紙箱定位模型,對測試圖像進行預測。通過算子get_dict_tuple獲取字典中的鍵值,包括定位框所屬類別、推理邊界框的中心點坐標等信息。
2.3 網絡模型評估
數據集檢測會產生以下四類檢測結果:
1)預測正確,原本是正樣本,檢測也為正樣品(TP,真陽性);
2)預測正確,原本是負樣本,檢測也為負樣本(TN,真陰性);
3)預測錯誤,原本是負樣本,檢測為正樣本(FP,假陽性);
4)預測錯誤,原本是正樣本,檢測為負樣本(FN,假陰性)。
其中,正樣本表示前景目標,負樣本表示背景。TP+FP+TN+FN表示樣本總數,TP+FN表示實際正樣本數,FP+TN表示實際負樣本數,TP+FP表示預測結果為正樣本數(包括預測正確和預測錯誤的),TN+FN表示預測結果為負樣本數(包括預測正確和預測錯誤的)。
對于訓練好的網絡模型需要進行評估,一些重要的性能評估指標介紹如下。
精確率(Precision)表示預測正確的正樣本在全部預測是正樣本中的占比,計算式為:
召回率(Recall)表示預測正確的正樣本在實際所有正樣本中的占比,計算式為:
精確率和召回率的取值在0~1之間,數值越接近1,目標檢測效果越好。一個好的目標檢測模型精確率和召回率兩項指標越高越好,但是由于置信度閾值設定的不同,這兩個指標的變化趨勢往往相反,因此,在實際檢測場景中需要根據自己的判斷選擇取舍或者繪制Precision-Recall(簡稱P-R)曲線幫助分析[8],如圖3所示。
根據P-R曲線提出平均精度(Average Preci-sion,AP)性能指標,一般來說,目標檢測模型越好,AP值越高,其計算式為:
實際的P-R曲線中,召回率是離散的,AP的計算式為:
對于多類別場景,引入mAP(Mean Average Precision),表示多個類別AP的平均值。mAP的大小在0~1之間,值越大,目標檢測效果越好,其計算式為:
式中,N代表總類別數。
訓練過程中,設置參數“batch_size”為2,表示一次處理2張圖像數據。訓練過程如圖4所示,其中,最上排的圖片是原始輸入的紙箱圖像,中間排的圖片是識別出的實例對象,最下排的圖片是訓練后得到的定位框。
圖5是進行模型訓練時的一些必要參數信息,圖中顯示正在使用train_dl_model算子進行模型訓練,Epoch表示迭代次數,Iteration表示使用訓練樣本對模型進行的一次參數更新過程,Time elapsed表示已經訓練的時間,Time left表示訓練剩余時間,還給出了評估指標mean_ap和模型參數的具體信息:學習率learning_rate=0.000 050,批量大小batch_size=2,動量momentum=0.99,正則化參數weight_prior=0,以及圖片維度image_dimensions=640×480×1,表示圖片為寬度640像素、高度480像素的單通道灰度圖。
圖5還顯示了損失函數Loss與迭代次數Epochs的變換曲線,可以看出損失函數曲線隨著迭代次數的增加由急劇下降到逐漸平穩,檢測準確率也在不斷提高。
使用mean_ap(mean Average Precision)指標評估網絡訓練后得到的紙箱定位模型,mean_ap與迭代次數Epochs的變換曲線如圖6所示。可見,指標mAP隨著迭代次數的增加,由時大時小上升到逐漸平穩,檢測準確率不斷提高。
3 實驗結果分析
完成以上實驗步驟以后,學生可以通過算子apply_dl_model調用訓練好的紙箱定位模型對測試圖像進行預測,觀察機器視覺檢測效果。圖7是基于HALCON集成開發環境編寫的界面。
通過算子get_dict_tuple獲取字典中的鍵值。
1)Bbox_Row1:推斷邊界框定義在檢測物體的中心點的行坐標。
2)Bbox_Col1:推斷邊界框定義在檢測物體的中心點的列坐標。
3)Bbox_Length1:推斷邊界框邊1一半的長度。
4)Bbox_Length2:推斷邊界框邊2一半的長度。
5)Bbox_Phi:水平軸和Bbox_Length1之間的角度。
6)Bbox_Confidence:邊界框推理的置信度值。
圖8是紙箱視覺辨識測試結果圖,辨識結果顯示所有定位框所屬的類別是paperbox,說明識別出來的都屬于紙箱類別,得到的置信度值分別是1.00、1.00、1.00、0.91和0.85,置信度在0~1之間,置信度越高,表示定位的效果越好。
圖9是獲取到的定位框的具體信息圖,可以得到五個紙箱定位框中心點的行坐標分別為91.384 6、151.61、112.438、237.538和276.904;五個紙箱定位框中心點的列坐標分別為217.464、213.655、264.148、381.125和256.765;五個紙箱定位框邊1一半的長度分別為23.66、23.825 1、19.746、20.887和59.272 4;五個紙箱定位框邊2一半的長度分別為30.697 2、30.127 4、48.306 2、84.397 2和49.152 1;五個紙箱定位框的邊1和水平軸的弧度分別為-0.060 817 4、-0.058 319 9、0.017 574、-0.282 788和-0.010 411 7;五個紙箱定位框的置信度值分別為1.0、1.0、0.999 979、0.911 363和0.854 632。在紙箱定位結果圖中紙箱定位框的置信度值保留兩位小數。
學生可以通過調用訓練好的模型對紙箱圖像測試集進行定位,得到定位結果和具體定位框參數信息,且定位結果良好,置信度接近于1。
4 結束語
本文運用Deep Learning Tool圖像標注工具和HALCON集成開發環境設計開發了一種機器視覺紙箱定位綜合實驗項目。本實驗項目首先對采集到的紙箱圖像進行標注,然后導入HALCON環境,進行數據預處理、模型構建和模型預測,得到紙箱定位最佳模型,最后調用訓練好的紙箱定位模型,對測試集進行測試,完成對機器視覺紙箱定位效果的驗證。
Deep Learning Tool標注軟件具有各類標注方法,HALCON環境中也集成了多種檢測方法,學生可以根據理論知識和實際情況選用不同的標注方法和檢測方法,對各種定位目標進行實驗。本實驗項目不僅可以讓學生鞏固圖像處理理論知識,了解市場上常用的機器視覺開發軟件,還可以鍛煉學生的編程應用能力、實踐動手能力和創新開發能力,取得良好的教學效果。
5 參考文獻
[1] 楊澤青,張明軒,陳英姝,等.基于機器視覺的表面缺 陷檢測方法研究進展[J].現代制造工程,2023(4):143- 156.
[2] 鞏師鑫,趙國瑞,王飛.機器視覺感知理論與技術在煤 炭工業領域應用進展綜述[J].工礦自動化,2023,49(5): 7-21.
[3] 李穎,段玉坤,秦浩然,等.基于機器視覺Halcon軟件 的齒輪參數檢測系統[J].機電工程技術,2023,52(3): 188-193.
[4] 程強,黃河,許靜靜,等.一種基于雙目視覺和Halcon 的高效機器人手眼標定方法[J].現代電子技術,2023, 46(13):35-42.
[5] 陳嵐萍,劉寒寒,馬正華.基于Halcon的普通工件目標 檢測方法[J].計算機工程與設計,2018,39(8):2576- 2581.
[6] 楊航,陳瑞,安仕鵬,等.深度學習背景下的圖像三維 重建技術進展綜述[J].中國圖象圖形學報,2023,28(8): 2396-2409.
[7] 楊鋒,丁之桐,邢蒙蒙,等.深度學習的目標檢測算法 改進綜述[J].計算機工程與應用,2023,59(11):1-15.
[8] 張超.P-R曲線與模型評估問題研究[J].現代信息科 技,2020,4(4):23-24,27.