陳浩天
(徐州工程學院信息工程學院 江蘇 徐州 221000)
人工智能作為當今最熱門的技術,活躍在全球各個領域。在誕生之初,麥卡錫就提出人工智能的關鍵因素應該是創造一個可以完全單獨解決復雜問題的智能系統。機器人技術的發展在這一理念的指導下日趨成熟。如今,各種類型的機器人不僅可以模仿和還原人類的一些活動,幫助人類完成一些簡單易做的枯燥工作,甚至可以在一些特定領域執行一些危險性高的精密工作。可以說,機器人的蓬勃發展代表著我們已經走到了下一次工業革命的大門。
然而,隨著任務量的增加和應用領域的迅速擴展,對仿人機器人感知能力的要求也越來越高。與人獲取信息的途徑類似,視覺技術是機器人獲取信息至關重要的感官。對不同領域特定圖像識別任務的研究決定了機器人工作質量的上限。在此背景下,本文以軟銀NAO機器人在中國機器人技能大賽高爾夫比賽中的任務為背景,分析了NAO圖像識別的相關技術。
NAO機器人是法國研制的一種人形機器人。NAO擁有25個自由度,動作靈活。它還配有一個慣性導航儀裝置,在移動時十分平穩,并可隨時確定自己的位置[1]。因為其出色的工業設計水平和極高自由度的二次開發接口,是目前非常主流的高校教學科研類人機器人平臺。
NAO機器人通過頭部的兩個高清攝像頭檢測環境信息,920萬像素,30幀/秒的圖像分辨率。在NAO視覺系統運行過程中,兩個攝像頭各司其職,一般不會同時運行。下方攝像頭用于更近距離的視覺識別,上方攝像頭用于更長時間的掃描。NAO兩攝像頭視野夾角為四十度,系統可以根據兩個攝像機的視場和得到的視覺環境計算出目標與NAO的相對坐標。
用于圖像模式識別的特征大致可歸納為:(1)顏色或灰度的統計特征;(2)紋理、邊緣特征;(3)代數特征;(4)變換系數特征或濾波器系數特征[2]。針對NAO的實際算法設計和使用場景,本文主要討論前兩者。
在二十世紀八十年代,一些學者創造性地發明了用直方圖的形式來表示顏色模型。其原理是對于顏色特征,進行對應特征向量的變換,進而表現為直方圖的形式,一直沿用至今。
形狀特征也是機器人視覺信息處理過程中不可缺少的特征,在機器人視覺信息處理中有著廣泛的應用。在大多數圖像目標識別的任務中,因為形狀信息對識別結果有著更至關重要的影響,所以和顏色特征相比,形狀特征層次更高。形狀特征可以分為兩部分進行研究和討論。一種是輪廓特征,主流是傅里葉描述子方法。二是地域特征,常見的是不變矩法。
在圖像處理中,我們往往需要根據特征處理的具體情況對圖像進行分割,這使得我們的視覺信息處理更加高效和準確。這里我們主要討論兩種方法:基于像素的和基于邊緣的。
當我們面對圖片中相鄰像素點灰度值差異較小,但整個圖片的像素值分布比較離散的情況時,直方圖是一個很好的工具,這屬于基于像素的圖像分割范疇。當我們要分割這類圖像時,可以根據像素直方圖的極高值和極低值分別選擇和分割目標。這種方法也叫按激素聚類法。常用的方法有K-MEANS和C-means。聚類分析方法有些簡單易行,但缺點是聚類數的統計不容易準確,在目標平移和旋轉時干擾較大。這屬于基于像素的圖像分割。
而對于基于邊緣的方法,是從灰度圖片分析演化而來的,之后為了對只從灰度圖片分割做補充,出現了距量保持法分割子塊等技術。
3.3.1 OpenCV相關算法
OpenCV(open source computer vision library) 誕生于Intel研究中心,是一個開放源碼的計算機視覺庫[3]。于1999年出現,在高校計算機視覺相關科研領域和工業應用領域被廣泛應用。不管是圖像、視頻還是信號的分析處理任務,其都能很有效的應用。
3.3.2 基于Hough變換的輪廓提取
Hough變換在圖像的邊緣檢測領域內是應用非常廣泛且高效的算法。這種算法的核心即把目標空間中的坐標變換到參數空間中,對應參照的某一曲線或曲面。因此,擁有一樣的參數特征的點,在這一交換過程后,會在對應的參數空間中產生交集。基于此,評估在交點處的累計程度以此來獲得所需的特征曲線的檢測數據。Hough可以隨著參量性質的改變,變換成數種不同的圖形,包括基礎圖形——直線、橢圓以及進階圖形——雙曲線、拋物線等[4]。在此過程中,為了優化變換效率,提高變換的精度,我們可以采取計算概率的方法,采用分層迭代的思想,并將級聯的方法加入進去,從而達到這一目的。
3.3.3 顏色空間之間的轉換
空間模型相對于一個物體來說,是指存在于三維空間中的一個子集,這個子集包含了顏色領域中所有的顏色,與此同時,這個子集還有一個要求,那就是子集本身必須是可見光子集。由于顏色模型的用途主要是代指顏色域中的一個特定色彩,并且可見光子集包括了任何一個顏色域,因此通過推斷我們可以判定,所有的可見光不能同時被納入顏色模型之中。此外,雖然相當一部分的顯示裝置都是基于三原色這一原理基礎的,連帶普通的圖形學說都是采用RGB的模型,但是因為從作用聯系上來說,三原色與色彩明度、色調等其他顏色參數并沒有本質上的關聯,所以并不采用RGB模型作為顏色模型。
在三原色當中,綠色和藍色是十分接近的,通常情況下只能采取調整亮度的方法進行兩者的相互轉化。當三個自變量中的兩個具有十分高的相似度,這就意味著通過改變自變量的參數的方式獲取相對應的應變量數值的操作將會變得較為復雜。除此之外,在三原色模型學說提出之初,每個顏色之間的設定本就不夠嚴密完善,顏色與顏色之間的每項數值都不能很明確地用距離來表現。基于以上列舉的兩個原因,我們將采用HSV模型代替RGB顏色模型的方式來進行算法的執行。
HSV是利用色調H、飽和度S和亮度V這三個色彩的基本屬性來確定顏色的。它對應一個倒立的六棱錐,六棱錐的頂部V=1,它包含RGB顏色模型中R=1,G=1和B=1的三個面,顏色最亮[5]。
根據現有的視覺測距技術,我們可以將信息感知的總體分為下述兩種,分別是以單目視覺為基礎和立體視覺為基礎的距離測量方式。常規來說,只有使用立體視覺的系統才可以獲得對象環境的三維空間環境。但由于立體視覺技術的系統計算量龐大,難以運用到實際操作中去,相較之下,基于單目視覺的測量技術在結構和成本等方面來講都優于前者,并且它所對應的攝像機標定的計算方法也更易方便操作。不僅如此,后者還可以免去立體視覺的一些弊端,舉個例子,立體視覺在現實場景運用中,其視覺范圍較小,三維立體的匹配也有較大的難度挑戰。在一系列對比下,單目視覺的測距技術顯得實用性很強。在此情況下,單目視覺應用于現實生活中的智能車輛與可自行移動的機器人的視覺系統中,以此來實現識別與追蹤所規定的目標。
在我們談及視覺信息分析領域時,對于單目視覺無疑有兩個最重要的處理方式,第一是幀內的,第二則是幀與幀之間的。在計算機執行具體任務的時候,兩種方法通常是混合使用的。
在NAO執行高爾夫任務時,主要基于單目比例縮放的幾何相似算法進行定位。即當目標坐標都在一個面上的時候,目標與這個面平行,并且與攝像頭系統的光軸相垂直。基于基礎光學理論,目標此時與圖像信息中的圖像具有相似的屬性,根據計算得到的倍數,即可得到目標的實際坐標位置。在實際的高爾夫球擊打任務中,因為投影在圖片上顯示出來是圓形,即當NAO在尋球任務階段中只要發現了高爾夫球,不管球在哪個相對位置上,都可以沿著球圓心向著視線中線作一個垂直面,高爾夫球被偵測到的輪廓可以理解為這個垂直面在現實中與高爾夫球的相切面。以此思路繼續,我們可以算出偵測點與球的距離,進而求得NAO需要前進的方向與水平距離,相關信息可以用于后續運動控制的決策。
在實際任務執行過程中,發現視覺處理的效果上依然存在三方面的明顯不足:一是在光線變化下顏色識別不準確,在應用中體現的即是識別不到紅色高爾夫球或是被別的紅色物體如紅色地標桿干擾;二是靜態視覺識別與動態活動控制的矛盾,即當NAO靜態識別出高爾夫球的相對位置并且規劃出路徑之后,有時會因為機器人電機過熱,行走姿態出現偏差引起單步步幅過大,停止位置太近導致下一次尋球工作無法進行,球完全無法出現在NAO視野范圍內;還有的時候會因為NAO行進過程不夠筆直導致停止位置與預期到達位置偏差太大,球無法進入預設好的視野范圍,最終無法進入擊球環節。三是當坐標計算偏角太大時,機器人的位置計算會出現較大誤差。這些誤差主要由于雙足機器人的先天缺陷導致,即預設的長距離運動誤差較大。克服這個問題主流的方法是將動態實時視覺反饋機制與步幅控制結合來進一步優化,繞過對機器人進行長距離的運動規劃,實現精度提高。
綜上所述,本文在機器人NAO視覺系統的基礎上,基于NAO在執行打高爾夫球任務時的技術特點,從NAO的基礎硬件分析,到其涉及的相關計算機視覺技術,最后介紹了目標定位實現的思路與不足。