河北農(nóng)業(yè)大學 崔卓賢 張清 王恩培 劉月皓
對經(jīng)攝像頭采集到的圖像進行合理的處理,并達到預(yù)期的任務(wù)目標要求,是機器視覺的最關(guān)鍵部分?,F(xiàn)行主流的視覺處理是基于Opencv 庫,通過python 和C++語言進行代碼編寫,調(diào)用庫中相關(guān)功能模塊構(gòu)成算法,進行任務(wù)處理。因為越疆的視覺操作平臺已將相關(guān)的視覺處理功能模塊封裝完成,我們將工作的重心放在研究圖像處理算法上。
定位識別種子(判斷種子在工作區(qū)域內(nèi)的位置,和物體是否為種子)。
缺陷檢測(將種子的特征值提取完畢后與存入的良好的種子特征值進行比對)。
傳送種子坐標(比對完成后,將優(yōu)質(zhì)種子、劣質(zhì)種子坐標分批傳送到控制運動機構(gòu)的MCU,進行分揀操作)。
影響任務(wù)處理效果的因素,可能有光源、使用的攝像頭、算法層面等各種因素,將在下文展開進一步的分析。
圖像采集(使用高分辨率攝像投采集圖像)。
圖像預(yù)處理,進行幾何變換、灰度化、圖像增強(使亮的地方更亮,暗的地方更暗)。
圖像位置定位(進行坐標變換處理,確定物體在世界坐標的位置,和機械臂坐標系的相對位置,便于執(zhí)行機構(gòu)在圖像處理結(jié)束后完成相關(guān)的抓取任務(wù))。
特征提取,有形狀特征、紋理特征、概率特征、焦點、特征描述算子特征等,其與定位、識別效果息息相關(guān)。
圖像識別,將采集到的圖像處理完畢并提取特征值,與特征值庫中的數(shù)據(jù)進行比對。
顯示處理結(jié)果。
分揀機器人在圖像處理中的關(guān)鍵步驟如下。
由于采集到圖像轉(zhuǎn)換成的矩陣數(shù)據(jù)量巨大,直接在原先的笛卡兒直角空間坐標系中進行處理,涉及計算量很大,數(shù)據(jù)的處理時間隨量的增多在整體上成幾何增加,非常影響系統(tǒng)整體的運行性能,因此,采用圖像變換的方法,如傅立葉變換等處理技術(shù),將空間域的處理轉(zhuǎn)換為變換域處理,不僅可減少運算量,更可以高效處理數(shù)據(jù),使得分揀機器人的整體性能得到保證。
采集到的正常圖像為彩色圖像,分為R、G、B 三個通道,彩色圖像中的每個像素點,都是由不同RGB 值混合在一起形成的。將彩色圖片去色后得到灰度圖,近似于黑白照片,但其中仍然存在著一些灰色地帶(介于黑色與白色之間的像素成分),我們需要設(shè)置一個閾值,高于它將變?yōu)楹谏蛘呤前咨蛘呤侨藶橐?guī)定的新的像素值。反之亦然,將其完全轉(zhuǎn)變成黑白圖像。大幅度減少圖片中與分揀任務(wù)無關(guān)的信息,提高處理效率。
調(diào)整圖像的對比度,簡單來說就是讓黑的更黑,白的更白。突出圖像中的重要細節(jié)(如采集到的種子的圖像,將種子的細節(jié)部分盡可能地展現(xiàn)出來),改善圖像對任務(wù)要求的質(zhì)量。有目的地強調(diào)圖像的整體或局部特征,將模糊的圖像變得清晰或強調(diào)識別任務(wù)中所需要的特征,擴大圖像中不同物體特征之間的差別,降低與任務(wù)無關(guān)的特征的重要程度,為提取圖像的特征值做進一步準備。
此步的操作也可以稱作圖像分割提取,想要把圖像上的特定部分區(qū)域與其他部分分離出來或者是以不同的顏色標記出來,通過將圖像上的點、連續(xù)的曲線將區(qū)域分割為不同的子集(將種子的外部優(yōu)質(zhì)特征,如形狀、顏色、根芽等),把這些特征子集以數(shù)據(jù)矩陣的形式記錄下來,構(gòu)成數(shù)據(jù)庫。這正是進行種子分揀的基礎(chǔ),將種子優(yōu)秀的外部特征制作成為數(shù)據(jù)庫,讓機器人明白對種子的好壞是如何定義的。
經(jīng)過同樣的圖像處理手法后,得到經(jīng)攝像頭采集圖像的特征值信息后,與評判標準的特征值數(shù)據(jù)進行比對后,完成識別(圖1)。
圖1 流程圖
4.1.1 硬件方面
可以進行優(yōu)化的方面為攝像頭和光源照射。將攝像頭的像素進一步增加以提高圖像本身的信息質(zhì)量,光源采用為漫射照射,多光源照射。減少可能出現(xiàn)的過高曝光和光照不均勻以至于圖像的部分區(qū)域出現(xiàn)模糊等其他情況,來增加獲取圖片信息的傳輸量。
電源系統(tǒng),因為電源是向分揀機器人的視覺處理和抓取機構(gòu)兩部分同時進行供電的,這就包括了進行視覺任務(wù)處理的miniPC 和控制執(zhí)行機構(gòu)的MCU,這兩者構(gòu)成了數(shù)據(jù)鏈中的關(guān)鍵部分,如果出現(xiàn)運行不穩(wěn)定的狀況,則直接影響分揀作業(yè)的效果,電源轉(zhuǎn)換系統(tǒng)的設(shè)計一定要盡可能減小波動,即使在外部電壓出現(xiàn)大幅度波動的情況下,也能最大限度地留出工作緩沖空間,啟動相應(yīng)的保護機制,防止設(shè)備出現(xiàn)損壞。
4.1.2 軟件方面
對于算法進行改進。如進行圖像變化時,可以采用離散傅里葉變換、離散余弦變換等改良算法。脫離單純的傅里葉變換,將計算周期減半大大減少計算任務(wù)量,進一步提高圖像處理的效率。
分割圖像時,采用更加優(yōu)秀的分割算法,讓特征矩陣的數(shù)據(jù)得到最大發(fā)揮。如采用分水嶺分割算法,將圖像看作一個平面,圖像灰度值高的區(qū)域被看作山峰,灰度值低的地方被看作山谷,若相鄰的山峰高度相差不大,這些不同區(qū)域的山谷則可能會出現(xiàn)會合的問題,在圖像分割時處理的圖像的區(qū)域越大,則這種山谷會合的問題的出現(xiàn)率也會增大(圖像特征區(qū)域提取的結(jié)果不一定指向我們真正需要的那些特征值),根據(jù)算法流程我們可以得出結(jié)論,也就是在識別匹配的過程將會出現(xiàn)錯誤,導(dǎo)致種子被誤揀,造成農(nóng)業(yè)資源浪費。為了防止這一現(xiàn)象的出現(xiàn),要做的就是把高峰變得更高 (改變對應(yīng)區(qū)域的灰度值),之后再用顏色標記,如此反復(fù)完成對所有山谷的顏色標記,最后完成圖像的分割。提高圖像識別的準確率,這對于種子分揀機器人技術(shù)指標達標是十分必要的。
通過對種子分揀機器人的任務(wù)需求分析,結(jié)合現(xiàn)行的機器視覺技術(shù),利用越疆視覺工作平臺,建立了一套相應(yīng)的圖像處理流程。對其關(guān)鍵步驟進行分析和改善,使種子分揀從外觀上的初次分揀效率得到提升,為農(nóng)業(yè)智能化進一步發(fā)展打下基礎(chǔ)