如何選擇嵌入式系統(tǒng)中的視覺(jué)處理技術(shù)
隨著功能越來(lái)越強(qiáng)大的處理器、圖像傳感器、存儲(chǔ)器和其他半導(dǎo)體器件以及相關(guān)算法的出現(xiàn),可以在多種嵌入式系統(tǒng)中實(shí)現(xiàn)計(jì)算機(jī)視覺(jué)功能,通過(guò)視頻輸入來(lái)分析周?chē)h(huán)境。微軟的Kinect游戲控制器和Mobileye的輔助駕駛系統(tǒng)等產(chǎn)品都非常重視嵌入式視覺(jué)技術(shù)的發(fā)展?jié)摿Α=Y(jié)果,很多嵌入式系統(tǒng)設(shè)計(jì)人員開(kāi)始思考如何實(shí)現(xiàn)嵌入式視覺(jué)功能。本文研究嵌入式視覺(jué)的發(fā)展機(jī)遇,對(duì)比實(shí)現(xiàn)這一技術(shù)的各種處理器選擇,介紹幫助工程師在其設(shè)計(jì)中采用視覺(jué)功能的業(yè)界聯(lián)盟。
“嵌入式視覺(jué)”這一名詞是指在嵌入式系統(tǒng)中使用計(jì)算機(jī)視覺(jué)技術(shù)。換句話(huà)說(shuō),“嵌入式視覺(jué)”是指從視覺(jué)輸入中提取出其背后含義的嵌入式系統(tǒng)。與過(guò)去10年中無(wú)線(xiàn)通信技術(shù)的流行相類(lèi)似,嵌入式視覺(jué)技術(shù)有望在今后10年得到廣泛應(yīng)用。
很明顯,嵌入式視覺(jué)技術(shù)能夠?yàn)槎喾N應(yīng)用帶來(lái)巨大的價(jià)值(圖1)。兩個(gè)例子是,Mobileye基于視覺(jué)的輔助駕駛系統(tǒng),用于幫助防止車(chē)輛事故的發(fā)生;以及MG國(guó)際公司的泳池安全系統(tǒng),旨在防止游泳溺水。還有一些純粹的怪才發(fā)明,Intellectual Ventures的激光滅蚊槍?zhuān)O(shè)計(jì)用于防止人們感染瘧疾等。
圖1.嵌入式視覺(jué)是從計(jì)算機(jī)視覺(jué)應(yīng)用開(kāi)始的,這些應(yīng)用包括,裝配線(xiàn)檢查、光學(xué)字符識(shí)別、機(jī)器人技術(shù)、監(jiān)控和軍事系統(tǒng)等。但是,最近幾年,對(duì)降低成本提高性能的需求加速了這一技術(shù)在各種其他市場(chǎng)上的廣泛應(yīng)用。
正如同高速無(wú)線(xiàn)互聯(lián)是從高成本新奇技術(shù)起步一樣,目前為止,嵌入式視覺(jué)技術(shù)一般只用于復(fù)雜昂貴的系統(tǒng)中,例如,毛發(fā)移植的手術(shù)機(jī)器人,制造業(yè)的質(zhì)量控制檢查系統(tǒng)等。
數(shù)字集成電路的發(fā)展是高速無(wú)線(xiàn)技術(shù)從新奇發(fā)展到主流的關(guān)鍵因素。芯片速度足夠快,成本足夠低,能效足夠高時(shí),高速無(wú)線(xiàn)技術(shù)便成為市場(chǎng)主流技術(shù)。今天,人們能夠以不到100美元的價(jià)格購(gòu)買(mǎi)寬帶無(wú)線(xiàn)調(diào)制解調(diào)器。
同樣的,數(shù)字芯片技術(shù)的進(jìn)步為嵌入式視覺(jué)的大批量應(yīng)用鋪平了道路(圖2)。與無(wú)線(xiàn)通信相似,嵌入式視覺(jué)需要很強(qiáng)的處理能力——特別是,越來(lái)越多的應(yīng)用采用了高分辨率攝像機(jī),開(kāi)始使用多臺(tái)攝像機(jī)。以足夠低的成本實(shí)現(xiàn)這類(lèi)處理能力,從而促進(jìn)大批量應(yīng)用,這是一個(gè)很大的挑戰(zhàn)。事實(shí)是嵌入式視覺(jué)應(yīng)用需要很強(qiáng)的可編程能力,進(jìn)一步增大了這一挑戰(zhàn)的難度。在無(wú)線(xiàn)應(yīng)用中,標(biāo)準(zhǔn)意味著不同手機(jī)之間的基帶算法不會(huì)有太大的變化,與之相比,在嵌入式視覺(jué)應(yīng)用中,通過(guò)獨(dú)特的算法,有可能得到更好的結(jié)果——實(shí)現(xiàn)更有價(jià)值的功能。
圖2.嵌入式視覺(jué)輔助系統(tǒng)涉及到硬件、半導(dǎo)體和軟件元器件供應(yīng)商,子系統(tǒng)開(kāi)發(fā)人員、系統(tǒng)集成商,以及最終用戶(hù),還有實(shí)現(xiàn)未來(lái)突破的基礎(chǔ)研究等。本文主要關(guān)注圖中顯示的嵌入式視覺(jué)算法處理技術(shù)。
采用嵌入式視覺(jué),業(yè)界進(jìn)入了一種“良性循環(huán)”,這是很多其他數(shù)字信號(hào)處理(DSP)應(yīng)用領(lǐng)域的特點(diǎn)。目前雖然很少有專(zhuān)門(mén)用于嵌入式視覺(jué)應(yīng)用的芯片,但是,這些應(yīng)用越來(lái)越多的采用了針對(duì)其他應(yīng)用開(kāi)發(fā)的高性能、高性?xún)r(jià)比處理芯片,包括,數(shù)字信號(hào)處理器、CPU、FPGA和GPU等。這些芯片單位成本、單位功率的可編程性能越來(lái)越高,因此,能夠支持實(shí)現(xiàn)大批量嵌入式視覺(jué)產(chǎn)品。這些大批量應(yīng)用也相應(yīng)的引起了硅片提供商更多的關(guān)注,他們會(huì)提供更好的性能、更高的效率和可編程處理能力。
處理選擇
如前所述,視覺(jué)算法通常需要很強(qiáng)的計(jì)算能力。當(dāng)然,所有的嵌入式系統(tǒng)一般都受限于嚴(yán)格的成本和功耗要求。在其他DSP應(yīng)用領(lǐng)域,例如,數(shù)字無(wú)線(xiàn)通信等,芯片設(shè)計(jì)人員使用專(zhuān)用協(xié)處理器和加速器來(lái)完成應(yīng)用所要求的苛刻的處理任務(wù),同時(shí)滿(mǎn)足了高性能、低成本和低功耗需求,從而解決了這一難題。但是,芯片用戶(hù)一般不能對(duì)這些協(xié)處理器和加速器進(jìn)行編程。
無(wú)線(xiàn)應(yīng)用通常能夠接受這些優(yōu)缺點(diǎn),無(wú)線(xiàn)應(yīng)用標(biāo)準(zhǔn)意味著不同設(shè)備設(shè)計(jì)人員使用的算法之間有很強(qiáng)的共性。然而在視覺(jué)應(yīng)用中,對(duì)算法的選擇并沒(méi)有標(biāo)準(zhǔn)約束。相反,一般可以選擇很多方法來(lái)解決某一特殊的視覺(jué)問(wèn)題。因此,視覺(jué)算法是非常多樣的,往往隨著時(shí)間的變化而迅速變化。結(jié)果,與數(shù)字無(wú)線(xiàn)和以壓縮技術(shù)為主的消費(fèi)類(lèi)視頻設(shè)備等應(yīng)用相比,視覺(jué)應(yīng)用并不傾向于采用非可編程加速器和協(xié)處理器。
但是很難同時(shí)實(shí)現(xiàn)高性能、低成本和低功耗以及可編程功能。專(zhuān)用硬件通常能夠以低成本實(shí)現(xiàn)高性能,但是可編程能力較弱。通用CPU具有可編程能力,但是性能較差,性?xún)r(jià)比不高,能效也較低。要求較高的嵌入式視覺(jué)應(yīng)用通常結(jié)合使用多個(gè)處理單元,例如,可能會(huì)包括:
●通用CPU,用于啟發(fā)式復(fù)雜判決、網(wǎng)絡(luò)訪(fǎng)問(wèn)、用戶(hù)接口、存儲(chǔ)管理和總體控制等。
●高性能數(shù)字信號(hào)處理器,用于實(shí)時(shí)中等速率處理,不太復(fù)雜的算法等。
●用于簡(jiǎn)單算法像素速率處理的一個(gè)或者多個(gè)高度并行的引擎。
評(píng)論