隨著計算機科學和自動控制技術的發展,越來越多的不同種類的智能機器人出現在工廠、生活當中,機器人視覺系統作為智能機器人系統中一個重要的子系統,也越來越受到人們的重視。它涉及了圖像處理、模式識別和視覺跟蹤等領域。不同種類的機器人由于工作的重點不一樣,它的視覺系統在軟件或硬件上都有著細微的差別。本文研究基于服務機器人的單目視覺系統。它處理的是二維圖像,是基于對無遮擋物體顏色和形狀的識別以及3D目標物體的平動跟蹤。
視覺系統是一個非常復雜的系統,它既要做到圖像的準確采集還要做到對外界變化反應的實時性,同時還需要對外界運動的目標實時跟蹤。因此,視覺系統對硬件和軟件系統都提出了較高的要求。目前比較流行的足球機器人技術,它的視覺系統屬于比較典型的快速識別和反應類型。一般情況下,它是通過彩色標志定標的方法來達到對隊員和目標的識別,以及通過擴展卡爾曼濾波器的預測功能來實現對目標的跟蹤功能。在硬件上,采用一個現成的攝像機來實現一個機器人的圖像采集系統。
本系統在設計上采用CMOS圖像傳感器代替CCD類型傳感器進行采集圖像,DSP處理芯片TMS320VC5509A進行圖像處理以及作為CPU控制,在設計過程中,為了直觀顯現機器人視覺系統識別和跟蹤的效果,專門采用了一個TFT格式的液晶來直觀顯示。軟件上,采用了一部分足球機器人的視覺技術來達到對目標的快速識別,通過全局的特征矩構建的雅可比矩陣達到對目標的自適應跟蹤。
1 硬件部分設計
圖1為系統硬件電路的功能模塊框圖。
1.1 圖像采集
視覺鏡頭把外部的圖像信息成像在圖像傳感器的面陣單元上。目前流行的圖像傳感器有面陣CCD(Charged Coupled Device,電荷耦合器件)型和面陣CMOS兩種。相比較CCD型的圖像傳感器,CMOS圖像傳感器的有源像素單元為每一個像素提供了放大器,只需一個單供電低邏輯電平電壓,功耗只相當于CCD的十分之一。CMOS圖像傳感器內部集成了A/D轉換部分,直接輸出數字信號?;谶@些因素,本系統采用了Omnivision公司推出的CMOS彩色圖像傳感器OV7635。
OV7635的分辨力為640X480,能輸出3種格式的8位數據:YCbCr4:2:2模式、RGB4:2:2模式和RGB原始數據模式。輸出VGA格式最大可達到30fps(fps:每秒幀數)。能工作在逐行掃描下和隔行掃描下。OV7635有主模式和從模式兩種工作模式。在主模式下,同步信號和時鐘不由外圍設備控制。在從模式下,OV7635的場同步信號VSYNC,行同步信號HREF以及系統的晶振頻率XCLK均由外部設備控制。本系統采用的是主模式。OV7635通過I2C總線配置片內寄存器,使其輸出原始數據。系統上電復位后,由DSP芯片的I2C總線信號對CMOS寄存器初始化。然后OV7635就按要求輸出圖像信號。包括行同步信號HREF,場同步信號VSYNC,像素時鐘信號PCLK,數字圖像信號。
1.2 液晶顯示
為了很直觀的看到視覺系統對人的識別和跟蹤效果,采用了一片INNOLUX公司的PT035TN01液晶顯示屏。為了不增加對DSP的負擔,同時也為了實時看到對外界目標物體的跟蹤效果,液晶顯示的數據不經由DSP,直接通過傳感器OV7635輸出的圖像數據信號和CPLD控制時序來進行顯示。PT035TN01是3.5英寸TFT格式的液晶,分辨力為320×3(RGB)×240,液晶IF1、IF2兩輸入控制腳對輸入的數據格式進行選擇:串行RGB格式、CCIR601格式、CCIR656格式。液晶的掃描模式有4種。本視覺系統采用的輸入數據格式是CCIR601格式,掃描模式為由上到下和左到右的掃描模式。
在CCIR601格式下,圖像傳感器輸出的像素時鐘PCLK通過CPLD二分頻作為液晶的工作時鐘,圖像傳感器輸出的行同步信號HREF經過CPLD的處理后作為液晶的行同步信號HIS,這樣,在CPLD控制下,圖像傳感器OV7635輸出的數據信號送入液晶中進行顯示。
1.3 時序控制
OV7635輸出的場同步信號VSYNC,行同步信號HREF以及像素時鐘信號PCLK接至CPLD芯片,產生控制信號把OV7635輸出的數據信號存入FIFO幀存儲器AL422B中,以及產生液晶的時鐘和行同步信號控制液晶的顯示。CPLD采用了ALTERA公司的EPM7064芯片。在CPLD中完成了對FIFO的寫控制、通知DSP讀信號、液晶的時鐘信號的產生等功能。
CPLD接收場同步信號VSYNC,此信號的下降沿表示圖像傳感器輸出一幀的開始,此時CPLD產生WRST負脈沖復位FIFO的寫指針。場同步信號VSYNC下降沿后,判斷行同步信號HREF的上升沿到來,接著利用像素時鐘信號PCLK作為寫時鐘WCK將圖像數據直接存儲到FIFO中,當存到一定的數后,就及時發信號給DSP,以便DSP讀取數據,本系統采用的是一個中斷INT0來通知DSP。此時DSP可以讀數據也可以不讀,視處理的速度來定。讀數據時,可利用RD和片選,產生RCK信號。DSP讀取的速度不能太快,以讀取速度小于寫速度為原則。
在對液晶的邏輯時序控制上,由于圖像輸出的信號是640×480的像素,而液晶的顯示為320×240的格式。所以利用CPLD把圖像傳感器輸入的像素時鐘信號PCLK進行二分頻產生液晶的時鐘信號控制液晶的顯示,同時對行同步信號進行隔行有效從而達到液晶對圖像的顯示。CPLD中的程序編寫用的采用了硬件描述語言VHDL,在QUARTUSⅡ軟件平臺上進行編寫的。由于在選用芯片時采用的是EPM7064S系列的44腳PLCC封裝的,只能工作在5V電壓情況下,其輸出的高電平信號是5V,必須通過處理才能接入系統中工作在3。3V狀態下的芯片器件。
1.4 幀存儲器選擇
幀存儲器有需要外部提供地址線的RAM和不需要外部提供地址線的FIFO,為了簡化CPLD的設計。采用了FIFO的幀存儲器。FIFO又可以分為基于動態存儲的DRAM和基于靜態的SRAM?;陟o態SRAM的優點是不需要刷新電路,但容量小,需要多片才能存儲一幀數據;基于DRAM的優點是容量大,只需一片就能存儲一幀數據,缺點是必須有刷新電路。本設計中采用的是Averlogic公司的大容量FIFO動態存儲芯片AL422B。其刷新電路比較簡單,僅需WCK或RCK提供大于1M的不間斷脈沖即可。AL422B的存儲容量為3MB,由于系統一幀的信息通常包含640×480個彩色像素,每個像素占用2個字節,可存儲1幀圖像的完整信息,其工作頻率可達50MHz。
1.5 視頻處理DSP
在選用DSP時,在兼顧處理速度,存儲容量,現有條件下的加工工藝水平,以及性價比方面,選用了TI公司的144腳封裝的TMS320VC5509A,此芯片的最高工作頻率可達到200MHz,具有很高的處理速度。
DSP收到來自CPLD的讀通知信號后開始讀取AL422B中的視頻數據。為了方便處理數據,在DSP外圍擴展了一個的SDRAM。芯片采用的是HYNIX公司的HY57V161610E,此芯片的存儲容量為1M×16bits。
當DSP上電復位后,通過采樣GPIO0~GPIO3的狀態,根據采樣的狀態來進行什么樣方式的程序裝載。本系統的采用外接的flash存儲芯片的SPI口對DSP進行程序裝載,接著通過DSP的I2C口對圖像傳感器進行寄存器初始化。圖像傳感器開始輸出信號。整個系統開始進入工作。
DSP作為高速的處理器,主要用于圖像的處理。由于本視覺系統要完成識別和跟蹤功能,數據的處理量是很大的。在完成圖像處理的同時,DSP也作為控制器使用完成對控制器的控制,從而構成視覺跟蹤系統。
2 軟件部分設計
由于本系統采用的是顏色和形狀相結合的辦法對無遮擋目標物體的識別。為了達到機器人實時快速的目的,在軟件方法上,主要采用了目前常用的足球機器人的顏色識別方法,目前比較常見是基于閾值向量的顏色判斷法。下面簡述顏色識別原理。
2.1 色彩空間選擇
對于采用基于彩色圖像分割的方法識別目標時,首先要選擇合適的顏色空間,常用的顏色空間有RGB、YUV、HSV、CMY等。顏色空間的選擇直接影響到圖像分割和目標識別的效果。
RGB:是最常用的顏色空間,其中亮度等于R、G、B3個分量之和。RGB顏色空間是不均勻的顏色空間,兩個顏色之間的知覺差異與空間中兩點間的歐氏距離不成線性比例,而且R、G、B值之間的相關性很高,對同一顏色屬性,在不同條件(光源種類、強度和物體反射特性)下,RGB值很分散,對于識別某種特定顏色,很難確定其閾值和其在顏色空間中的分布范圍。因此通常會選擇能從中分離出亮度分量的顏色空間,其中最常見的是YUV和HSV顏色空間。
HSV:接近人眼感知色彩的方式,H為色調(Hue),S為色飽和度(Saturation),V為亮度(Value)。色調H能準確地反映顏色種類,對外界光照條件變化敏感度低,但是H和S均為R、G、B的非線性變換,存在奇異點,在奇異點附近即使R、G、B的值有很小變化也引起變換值有很大的跳動。
YUV:RGB顏色空間線性變化為的亮度-色彩空間。是為了解決彩色電視機與黑白電視機的兼容問題而提出的。Y表示亮度(Luminance),UV用來表示色差(Chrominance)。YUV表示法的重要性是它的亮度信號(Y)和色度信號(U、V)是相互獨立的。所謂色差是指基色信號中的3個分量信號(即R、G、B)與亮度信號之差。
因此,針對以上原因,本系統在采用的是YUV色彩空間。
YUV格式與RGB存在如下關系:
2.2 閾值確定和色彩判斷
在確定閾值時,首先通過采集樣本進行訓練,從而得到預定的幾種顏色在YUV空間的分量的上下閾值,如圖2所示。
當一個待判定的像素在色彩空間中的位置落在這個長方體中時,就認為該像素屬于要找的顏色,從而完成對圖像顏色的識別。在Y空間中,Y值表示亮度,因它的變化很大,所以只考慮了U和V的值,在進行顏色判斷時,首先分別建立U、V的閾值向量。
由于在系統中圖像傳感器的數字信號是8位,即1Byte,共255Byte,系統最多能判定8種顏色。在顏色識別后進行圖像分割,在圖像分割中采用了種子填充算法,其整個種子的填充是和像素點的顏色同時進行的,一開始不是對所有的像素進行處理,而是分塊進行的,本系統采用的塊是32×24像素,這樣計算量大大減小。當中心點是所要識別的顏色時,就以這個點為種子向四周擴散,并判定周圍像素點的顏色,直到填滿整個塊。在這過程中,同時對目標進行形狀識別。本系統采用了基于全局的特征向量的識別算法來進行識別。同時也為構建雅可比矩陣得到需要的矩特征量。圖3為圖像識別分割流程圖。
2.3 視覺跟蹤軟件原理
當目標物體被識別以后,視覺系統將調整鏡頭使目標位于視野的中心。一旦物體運動,視覺系統將進行對目標物體的跟蹤。
在機器人視覺跟蹤系統上,采用無定標的視覺跟蹤系統。無定標的視覺跟蹤不需要事先對攝像鏡頭進行定標,而是應用自適應控制方面的原理,在線的實時調整圖像雅可比矩陣。通過二維的圖像特征信息反饋,這種方式對攝像機模型誤差和機器人模型誤差、圖像誤差、圖像噪聲不敏感?;趫D像跟蹤的視覺跟蹤控制系統,如圖4。
控制量c為機器人頭部的控制系統。首先把目標放在機器人視野的前方采集到期望的圖像,從期望圖像中抽取期望的特征集,作為視野跟蹤控制系統的期望輸入,從而完成任務需要的視野特征集定義。在實時控制系統中,由機器人的圖像傳感器獲取實時采樣圖像,從中獲取實時特征集,這樣構成一個視野反饋,引導機器人完成跟蹤任務。區別于圖像的簡單幾何特征,本系統選用的視覺特征集為全局的圖像描述—圖像矩。
根據矩特征變化量與相對位姿變化量之間的關系矩陣,即圖像雅可比矩陣,然后利用推導的圖像雅可比矩陣,設計了視覺跟蹤控制器,完成系統對3D目標物體的平動跟蹤。
3 實驗結果
圖5為DSP為clkout腳輸出波形,表明DSP的內部時鐘電路工作正常。圖6的圖像傳感器輸出數據波形證明了圖像傳感器工作正常。圖7的DSP采集到的圖像數據,可以確定整個圖像采集硬件電路工作正常。
4 結 論
針對服務機器人的視覺系統,本文通過構建它的硬件系統和軟件系統完成了整個系統的設計。在硬件系統上,采用了CMOS圖像傳感器,CPLD時序控制,異步動態FIFO的數據緩存,以及高速DSP處理器構成了一個典型的圖像采集系統,并調試輸出了圖像信號。在軟件設計上,采用了足球機器人的彩色識別和彩色分割識別技術去完成視覺系統快速準確的識別,采用基于動態的工作方式以及采用基于圖像的雅可比矩陣的控制原理,去實現自適應補償跟蹤控制系統。
評論
查看更多