傳感器在我們的世界經(jīng)歷了快速的推廣,事實(shí)上,傳感器現(xiàn)在已經(jīng)非常普遍,以至于我們每個(gè)人日常所使用的手機(jī)里都有好幾種不同類(lèi)型的傳感器。這些傳感器有的能檢測(cè)壓力、溫度、加速度和重力的簡(jiǎn)單變化,同樣也有更為高級(jí)的傳感器,例如 GPS、RADAR、LIDAR 和圖像傳感器。
傳感器融合是指從幾種不同的傳感器中提取數(shù)據(jù),以生成靠單個(gè)傳感器無(wú)法提供的信息。隨后,可以對(duì)該信息做進(jìn)一步處理和分析。并根據(jù)最終應(yīng)用,必要時(shí)還可用傳感器來(lái)制定決策。傳感器融合分為兩大類(lèi) :
· 實(shí)時(shí)傳感器融合——提取并融合傳感器數(shù)據(jù),并根據(jù)得到的信息實(shí)時(shí)制定決策。
· 離線(xiàn)傳感器融合——這種方案是提取并融合傳感器數(shù)據(jù),但在過(guò)后的某個(gè)時(shí)間制定決策。
就嵌入式視覺(jué)系統(tǒng)和傳感器融合應(yīng)用而言,大部分應(yīng)用適合實(shí)時(shí)傳感器融合。
嵌入式視覺(jué)應(yīng)用
嵌入式視覺(jué)應(yīng)用正在經(jīng)歷迅猛增長(zhǎng),涉及領(lǐng)域廣泛,從機(jī)器人、高級(jí)駕駛員輔助系統(tǒng) (ADAS) 到增強(qiáng)現(xiàn)實(shí),不一而足。這些嵌入式視覺(jué)應(yīng)用對(duì)最終應(yīng)用的成功運(yùn)行有很大幫助。將嵌入式視覺(jué)系統(tǒng)提供的信息與來(lái)自不同傳感器或多個(gè)傳感器的信息進(jìn)行融合,有助于更好理解環(huán)境,從而提升所選應(yīng)用的性能。
很多嵌入式視覺(jué)應(yīng)用只使用一個(gè)圖像傳感器來(lái)監(jiān)控一個(gè)方向,例如只監(jiān)測(cè)汽車(chē)的前方。利用這樣的圖像傳感器可以檢測(cè)、分類(lèi)和跟蹤對(duì)象。然而,由于只使用一個(gè)傳感器,因此就無(wú)法測(cè)量與圖像中對(duì)象的距離。也就是說(shuō),我們可以檢測(cè)和跟蹤到另一個(gè)車(chē)輛或行人,但如果不借助另一個(gè)傳感器,我們就無(wú)法確定是否存在碰撞風(fēng)險(xiǎn)。本例中我們需要另一個(gè)傳感器,例如 RADAR 或 LIDAR,該傳感器能提供與已檢測(cè)到的對(duì)象的距離。由于這種方法能夠?qū)?lái)自多個(gè)不同類(lèi)型傳感器的信息融合,因此稱(chēng)為異構(gòu)傳感器融合。
ADAS 異構(gòu)傳感器融合實(shí)例(資料來(lái)源:賽靈思幻燈片)
另一種方案是提供第二個(gè)圖像傳感器,以實(shí)現(xiàn)立體視覺(jué)。這種方案是讓兩個(gè)圖像傳感器朝著相同方向,但分開(kāi)一小段距離,就像人的兩個(gè)眼睛那樣,通過(guò)視差確定對(duì)象在視場(chǎng)中的深度。像這樣使用多個(gè)相同類(lèi)型的圖像傳感器,稱(chēng)為同構(gòu)傳感器融合。
當(dāng)然,這里需要根據(jù)駕駛條件確定架構(gòu)和傳感器類(lèi)型的選擇。這包括深度感的范圍、測(cè)量精度、環(huán)境光和天氣條件、實(shí)現(xiàn)成本以及實(shí)現(xiàn)復(fù)雜程度。
嵌入式視覺(jué)不僅可用于對(duì)象檢測(cè)和汽車(chē)防撞,還可以作為導(dǎo)航系統(tǒng)的一部分,用來(lái)收集交通標(biāo)志信息。另外,還可融合醫(yī)用 X 光、MRI 和 CT 等多種不同圖像,或者融合安防與監(jiān)視設(shè)備中的可見(jiàn)光和紅外圖像。
我們通常認(rèn)為嵌入式視覺(jué)應(yīng)用只使用可見(jiàn)電磁光譜,其實(shí)很多嵌入式視覺(jué)應(yīng)用能融合來(lái)自可見(jiàn)電磁光譜以外的數(shù)據(jù)。
處理要求
如果不進(jìn)行融合,處理圖像時(shí)就需要相當(dāng)大的計(jì)算能力,這是因?yàn)橄到y(tǒng)要執(zhí)行一系列預(yù)處理功能。例如在使用彩色圖像傳感器時(shí),這些處理任務(wù)包括顏色濾波插值、色彩空間轉(zhuǎn)換/重采樣以及圖像校正。除此之外,我們還要執(zhí)行傳感器融合算法本身的處理任務(wù),在之前使用的對(duì)象檢測(cè)實(shí)例中,我們需要執(zhí)行背景減法、閾值和輪廓檢測(cè),以使用最簡(jiǎn)單方案定位對(duì)象,或者可能需要更強(qiáng)的 HoG/SVM 分類(lèi)器。
隨著幀率和圖像尺寸增加,預(yù)處理圖像和提取信息所需的處理能力也會(huì)隨之增加。
然而,從圖像中提取所需的信息還只是任務(wù)的一部分,如果使用異構(gòu)融合,我們還需對(duì)來(lái)自第二個(gè)傳感器的信息進(jìn)行配置、驅(qū)動(dòng)、接收和提取。如果我們選擇同構(gòu)系統(tǒng),則需要為第二個(gè)圖像傳感器再次執(zhí)行與第一個(gè)傳感器相同的圖像處理流水線(xiàn)。
這樣能提供兩組數(shù)據(jù),必須對(duì)這兩組數(shù)據(jù)進(jìn)行處理以確定與對(duì)象的實(shí)際距離,這才是真正的融合。
All Programmable SoC 或 FPGA 的優(yōu)勢(shì)
在嵌入式視覺(jué)系統(tǒng)中,一般使用 All Programmable FPGA 或 All Programmable SoC 來(lái)實(shí)現(xiàn)圖像處理流水線(xiàn)。如果它們能用于傳統(tǒng)嵌入式視覺(jué)應(yīng)用,那么也適用于嵌入式視覺(jué)融合應(yīng)用。
無(wú)論選擇 FPGA 還是 SoC,嵌入式視覺(jué)應(yīng)用通常使用處理器進(jìn)行監(jiān)視、控制和通信。如果選用 All Programmable SoC,那么中間有一個(gè)硬核,并有很多支持外設(shè)和接口標(biāo)準(zhǔn)。如果使用 All Programmable FPGA,就會(huì)使用一個(gè)軟核,例如 MicroBlaze?,并采用更加定制化的外設(shè)和接口支持。
對(duì)于嵌入式視覺(jué)傳感器融合應(yīng)用,我們可進(jìn)一步利用處理器為所用的眾多傳感器提供簡(jiǎn)單接口。例如,加速計(jì)、壓力計(jì)、陀螺儀和 GPS 傳感器都配有串行外設(shè)接口 (SPI) 和內(nèi)部集成電路(I2C)接口,都得到 All Programmable Zynq?-7000 和 MicroBlaze 軟核處理器的支持。這使軟件能夠快速、方便地從不同類(lèi)型的傳感器獲得所需信息,并提供給可擴(kuò)展架構(gòu)。