蔣靈龍 胡 薦 劉青云
(重慶交通大學 機電與車輛工程學院,重慶400074)
在全國產(chǎn)業(yè)智能化與規(guī)?;谋尘跋?,物體智能識別檢測在工業(yè)中越來越受關注,應用場景豐富,如產(chǎn)品外表色差、汽車身裝配檢測、零件的幾何尺寸和誤差測量、表面和內(nèi)部缺陷檢測、間隙檢測等。自動化設備在提高效率的同時還解決了人眼視覺疲勞的問題。傳統(tǒng)的識別裝置多為識別單一物體或要求被測物與裝置的距離相對固定,本文介紹了一種基于OPENMV 攝像頭模組的物體識別檢測裝置,該裝置上的云臺能夠在OPENMV 的引導下運動搜尋目標,檢測出目標離裝置的距離及其幾何特征并標定。
硬件系統(tǒng)由電源模塊、OPENMV 攝像頭模塊、STM32 處理器、激光束發(fā)生器、激光測距模塊、二自由度云臺,OLED 顯示屏等功能模塊組成。OPENMV、激光束發(fā)生器、激光測距儀作為裝置的前端安放在云臺上,電源模塊變壓后為整個裝置供電。
裝置的原理如圖1 所示,OPENMV 作為圖像傳感器與圖像處理器,將處理后的圖像信息發(fā)送給STM32,STM32 作為控制芯片,負責對OPENMV 輸入指令,根據(jù)傳來的信息控制云臺,OLED 屏等其他外設,最終達到自主識別、尺寸檢測、標定的功能。
圖1 裝置原理圖
其流程如圖2 所示,用戶通過按鍵設定搜索識別的目標,STM32 接收到命令后給OPEMNV 發(fā)送相應的識別指令,OPENMV 對當前圖像信息處理后反饋給STM32,STM32 根據(jù)反饋信息控制云臺運動,使裝置前端向識別到的物體方向旋轉(zhuǎn);在裝置前端對準被識別物體中心后,用激光測距儀測量出物體的距離,OPENMV 再次對物體形狀、顏色,尺寸進行分析,反饋給STM32F1 處理器;處理器收到信息后控制激光束發(fā)射器對識別后的物體標定,并在OLED 上將物體的信息顯示出來。
圖2 工作流程圖
OPENMV 是一個可編程的攝像頭,內(nèi)置了一塊STM32 芯片,使用MicroPython 語言進行編程,有良好的開源環(huán)境,能較為方便地運用多種圖像處理并進行簡單的圖像分析。在本設計中通過串口與主控芯片進行通信。
對形狀判斷可以根據(jù)形狀的各種特征進行判斷,例如要尋找畫面內(nèi)的圓形圖形并檢測其顏色可以調(diào)用find_circles 函數(shù)找到畫面內(nèi)的圓形;要對正方形進行判斷則可調(diào)用色塊占所在矩形的占空比函數(shù)density 來判斷,經(jīng)實驗正方形的占比都大于0.8;對于三角形同樣可用占比的方法進行判斷。在識別到形狀后再對其所在區(qū)域的色素值與標準色的閾值進行對比就可得到它的顏色。對于其他非單一色彩的平面和立體則使用基于模板匹配的NCC 算法:將目標的灰度圖保存在OPENMV 內(nèi),使用算法在攝像頭畫面內(nèi)尋找與其相似度較高的部分。
OPENMV 的感光元件感光點數(shù)目決定了其分辨率,每一個點就是一個像素,像素坐標就是感光點所在的坐標。在識別到物體的形狀后OPENMV 重復將物體中心所在的像素坐標通過串口發(fā)送給STM32 主控,STM32 根據(jù)像素位置通過兩路PWM波控制云臺上兩個舵機在X 軸和Y 軸上旋轉(zhuǎn),讓像素坐標的中心與物體的幾何中心所在像素重合,此時OPENMV 正對著被檢測物體,這時再讓STM32 通過串口讀取激光測距模塊測得的值,最后讓激光指示器發(fā)射激光進行標定。
激光測距模塊使用的為北醒光子科技有限公司生產(chǎn)的TFmini-S 模塊,基于TOF(飛行時間)原理,采用850nm 紅外光源,測距范圍為0.3-12m,采樣頻率可達100HZ,通過USART 與STM32 進行通信。其自身發(fā)射紅外光線,在被測物體反射后回到傳感器,用模塊內(nèi)置的定時器進行計時,然后根據(jù)內(nèi)置的算法計算出反射物的距離,最后將數(shù)據(jù)通過串口傳回STM32 主控芯片。其優(yōu)點在于對面積較小的物體同樣能夠精準快速地測量出距離,受周圍物體干擾較小。在裝置前端對準被測物體后,主控芯片讀取模塊傳來的距離信息,為尺寸測量作準備。
對于平面圖形的尺寸測量,使用簡單的小孔成像原理,如圖3 以圓形平面為例。
圖3 尺寸測量原理
假設攝像頭感光元件一個邊的像素點個數(shù)為An個,它的一半為Hn個,感官元件與鏡頭的距離為焦距Ln,物體半徑為Rm,與鏡頭的距離為Lm,在攝像頭鏡頭內(nèi)成像的半徑對應的像素為Rn,攝像頭呈現(xiàn)最大半徑像素Hn對應的實際半徑為Hm。
當攝像頭與被測平面物體中心連線與被測平面物體垂直時,根據(jù)相似三角形可知:
將一已知半徑為Rm的圓放在已知距離位置Lm,通過OPENMV 測量其在鏡頭內(nèi)的像素值Rn,運用式(4)運算可以得到比例系數(shù)C。多次改變距離Lm,對得到的C 取平均值減小誤差。
得到C 后,在進行尺寸測量時,STM32 主控芯片在得到激光測距模塊的Lm及物體圖像在鏡頭內(nèi)成像的像素值的一半Rn運用式(3)即可得到圓形物體的半徑Rm。經(jīng)測試,在3M 距離內(nèi),其檢測尺寸的相對誤差在6%以內(nèi)。
本文對一種基于OPENMV 的非接觸識別裝置進行了介紹,對系統(tǒng)的設計思路及工作原理進行了詳細的闡述。該裝置運用的原理簡單,運行穩(wěn)定可靠,能對不同距離的物體進行識別和尺寸測量,運用場景豐富。后期還可通過提高攝像頭分辨率和使用更精準的測距儀器來提高識別的精度,對于立體物體的三維尺寸測量還有待研究。