平鈺光+錢炳鋒+屠強


【摘 要】目前圖像跟蹤平臺,多大基于PC系統,不利于嵌入式移植和小型移動平臺設計,而視覺系統的執行機構大多需要做定制化的結構設計,不利于推廣實施。本文提出一種基于pixy開源平臺,高響應,多物體跟蹤的模塊化平臺,文中分別對該系統的各硬件軟件組成部分進行了介紹。
【關鍵詞】Pixy;模塊化;卡接式云臺
1.Pixy簡介
Pixy是一個開源的視覺傳感器,該技術的識別速度很快,因為它以顏色為中心,使用色調過濾算法來識別物體,但對物體的色彩飽和度有較高的要求[1]。
這種視覺傳感器支持多物體、多色彩的顏色識別,最高支持7種顏色,我們可以告訴它想要的顏色,教它找東西。該系統可以一次性標繪和報道數百個物體的實時地理位置,并且以50Hz的速度完成。如,Pixy每20毫秒就能處理一整幅640×400的圖片,也就是說,每20毫秒就能夠獲得一次有關所偵查物體位置的全面更新。
Pixy支持多種通信方式來報道物體的實時地理位置,如UARTserial,SPI,I2C等,此外還有PC或Mac版PixyMon應用程序,可以用來瀏覽傳感器實時看到的東西。它搭載的圖像傳感器配合強大的硬件,可以配合PC跟蹤、分析多色的數據[2-4]。也可以直插在Arduino控制板上,整合到其他項目中。如,把它安裝到機器人上,便可以為機器人增加一副眼睛,為機器人創造了室內導航系統——通過在門口標注顏色代碼,Pixy能夠識別出入口,并且告訴機器人該如何走。
2.Pixy系統設計
2.1 Pixy“學習”物體
當開始給Pixy供電,Pixy的LED燈會閃幾下。等待LED燈滅掉后再繼續。用手按住其頂部的按鈕,大約等待1秒鐘,LED會變亮,先顯示白色,然后是紅色,再然后是其他顏色,當其顯示紅色時,松開按鈕。
在松開按鈕后,LED的顏色就是Pixy攝像頭所看到的圖像中間部分的顏色。
可以用LED的顏色來判斷物體是否在Pixy視角的中心位置。當LED顏色和物體顏色很接近時,點擊按鍵并迅速松開。如果Pixy認為物體有足夠的色彩飽和度,LED便會閃爍,即操作完成,此時Pixy現在已經“學會”了所給的物體,并且會追蹤具有相同顏色的物體。如果物體的色調不夠好,LED不會閃,即Pixy沒有學會所給的物體。這時,我們可以換一個色彩飽和度較高的物體。
2.2 Pixy 顏色識別算法分析
(1)三基色原理
根據三基色原理,任意一種色光 F 都可以用不同分量的 R、G、B 三色相加混合而成,即F = r [ R ] + g [ G ] + b [ B ]。
其中,r、g、b 分別為三基色參與混合的系數。當r=g=b=0,即最弱時,混合為黑色光;當r=g=b=k,即最強時,時混合為白色光。更改三個系數的值,就可以得到各種各樣的色光。
(2)YUV 色彩空間表示
Y為亮度信號,U、V為色度信號,且Y與U、V是分離的。假如有亮度分量而沒有色度信號,那么其表示的圖像是黑白灰的圖像。
(3)RGB 和 YUV轉換方式
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
(4)Pixy 算法核心思想
在前面介紹的色彩空間表示中Y 是亮度信號,U、V是色差信號,而Pixy的算法就是不要亮度只要色度,即只需要色彩。所以我們需要去掉色彩,根據下面三個公式:
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
可以得到 U' = R - G = 1.72V + 0.39V
V' = B - G = 2.42U + 0.58V
C' = R + G + B = 3Y + 0.56V + 1.64U
變化后的U'和V'已經沒有 Y 亮度的分量了
因為物體在不同亮度中顯示的顏色可能也有差異,所以還得考慮一部分亮度的影響即C'。
所以為了減弱亮度對物體顏色的影響,Pixy會把色彩值放大若干倍后在除以亮度值。這樣做就強化了色彩,減輕的亮度值的影響。Pixy就能輕松識別顏色而不會有太大的誤差。
(5)pixy與 Arduino通訊
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件和軟件。Pixy需要與Arduino進行通訊。
設置Pixy為可以與微控制器進行通訊,且Pixy可以直接與Arduino進行通訊,使Pixy自帶的數據線將Pixy連接到Arduino,它會以1Mbits/s的速度發送塊信息給Arduino,這意味著Pixy每秒可以發送超過6000個識別的物體或每幀135個被識別的物體(Pixy每秒可以處理50幀畫面)。
3.卡接式模塊化云臺系統
3.1系統構成
卡接式模塊化云臺系統如圖1,包括控制器(1)、智能電機(2)、卡接件一(3)、轉接衡梁(4)、卡接件二(5)、從動塊(6)、卡接件三(7)。云臺是由智能電機通過各卡接件以及從動塊和衡量拼接完成,智能電機通過總線方式和控制器連接,控制器對智能電機發出控制指令,實現對云臺的控制。通過上述卡接方式,可以快速實現多自由度云臺的搭建,為快速定制云臺系統提供有效的解決方案。
3.2卡接式模塊化的優點
卡接的優勢在于避免了螺紋連接,夾緊,粘貼等其他的連接方法。這些卡接結構是采用模具成型的,不需要額外把他們連接起來。卡接結構可以設計成一次性的和多次使用的。
云臺是用于安裝、固定外部器件的支撐設備,分為固定和電動云臺兩種。固定云臺適用于作用范圍不大的情況,其達到最好的工作姿態后只要鎖定調整機構即可達到運用效果。而卡接式模塊化云臺系統(電動云臺的一種),可以極大程度得滿足多場合快速組件要求,提高工作效率。
通過這種模塊化的卡接方式,能夠快速有效地實現多自由度云臺的快速搭建,減少云臺選型或測試的工時損耗。
3.3系統流程
設置Pixy,使其“學會”所給物體并對顏色進行跟蹤,流程如圖2所示。Pixy與Arduino通訊連接后,在Arduino程序中編寫代碼,使云臺能夠根據所識別的顏色對物體進行追蹤。
4.結語
本文設計的基于Pixy開發的模塊化云臺圖像跟蹤系統采用在機械云臺上安裝Pixy Cmucam攝像機,利用其可以“學習”所給顏色進行識別的特點,對圖像物體進行跟蹤。此系統可以同時識別多物體、多顏色,高響應,具有高時效性,可大大縮短項目開發設計,且利于基于視覺的競賽系統開發。
參考文獻:
[1]劉治湘,羅均.基于仿生雙目機械云臺的圖像跟蹤技術研究[J].機械工程師,2012,6.
[2]張桂紅.基于Pixy Cmucam5圖像識別傳感器的物品分揀裝置[J].電子制作.2016,20.
[3]陳孟臻.三軸WIFI攝像頭舵機云臺的設計與實現[D].2015,3.
[4]張雁寧.基于STM32和pixy CMUcam5視覺傳感器的雙控制模式全向車的設計[J].2016,16.
基金項目:
本項目受上海電機學院車輛工程學科建設項目資助,項目編號:16TSXK01;上海市大學生創新計劃資助。endprint