0
本文作者: 黃善清 | 2018-12-25 18:08 |
雷鋒網(wǎng) AI 研習(xí)社按: 以 LIDAR 為代表的 3D 傳感器經(jīng)常用于今日的道路場(chǎng)景理解中。在 GPS 與 IMU 的幫助下,我們將大量捕獲的點(diǎn)云注冊(cè)到預(yù)先構(gòu)建的 3D 地圖上,再通過(guò)復(fù)雜、計(jì)算量大且存儲(chǔ)密集的深度學(xué)習(xí)方法來(lái)檢測(cè)與分割運(yùn)動(dòng)中的障礙物。這些方法已經(jīng)被證明是有效的,但是對(duì)于一些簡(jiǎn)單的問(wèn)題如「一個(gè)物體切入我的車(chē)道嗎?」或者「人行道上有人嗎?」,這些計(jì)算卻是不必要的。
因此,嘉賓的團(tuán)隊(duì)提出了一種替代解決方案——「可編程光幕」傳感器(light curtain sensor),該解決方案幾乎不需要增加任何開(kāi)銷(xiāo),同時(shí)還能具有高能效與靈活性等特點(diǎn)。在本次公開(kāi)課中,嘉賓將分享關(guān)于這個(gè)光幕傳感器的設(shè)計(jì)思路與實(shí)際應(yīng)用效果。
分享嘉賓:
王建,Snap 公司 Research Scientist,卡內(nèi)基梅隆大學(xué)博士,導(dǎo)師是 Aswin Sankaranarayanan 教授和 Srinivasa Narasimhan 教授,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué),三維視覺(jué),計(jì)算攝影等。其研究工作曾在 CVPR、ICCV、ECCV、ICCP 等發(fā)表并且多次獲得 oral presentation 機(jī)會(huì)。
公開(kāi)課回放地址:
分享主題:一種新型光幕傳感器 Light curtain sensor 在機(jī)器人避障和無(wú)人駕駛中的應(yīng)用
分享提綱:
傳統(tǒng) 3D 傳感器。
提出的光幕傳感器的原理。
傳感器設(shè)計(jì)和優(yōu)化
展示大量實(shí)驗(yàn)結(jié)果
雷鋒網(wǎng) AI 研習(xí)社將其分享內(nèi)容整理如下:
我們先看一下我們已經(jīng)熟悉的一種電梯里的 light curtain。電梯門(mén)的兩邊裝有傳感器,一邊是紅外發(fā)射器,一邊是紅外接收器。當(dāng)有人或物體在電梯門(mén)之間阻擋了紅外接收器對(duì)紅外光的接收,電梯會(huì)立馬知道,從而知道是否可以關(guān)門(mén)。Light curtain 在工業(yè)界有很多應(yīng)用。比如自動(dòng)化工廠里,在機(jī)器的周?chē)鷷?huì)裝有這種 safety light curtain——當(dāng)工人接近時(shí),傳感器感知到,可以通知機(jī)器關(guān)閉。
接下來(lái)講一下我們提出的傳感器。以前的電梯里的 light curtain 傳感器可以看成由一個(gè)線光源和線陣 sensor 構(gòu)成,并且 light source 和 sensor 是面對(duì)面的。
我們提出的傳感器是把 light source 和 sensor 放在同一邊。Light plane 和 imaging plane,兩個(gè)平面交于一條線。當(dāng)這條線上沒(méi)有物體時(shí),相機(jī)沒(méi)有任何讀數(shù),圖像是黑的。當(dāng)有物體時(shí),相機(jī)的讀數(shù)就是非0,傳感器可以立馬感知到物體的存在。通過(guò)同時(shí)旋轉(zhuǎn) light plane 和 imaging plane,我們可以?huà)呙杩臻g中的任何一個(gè)平面。
通過(guò)改變 light plane 和 imaging plane 的相對(duì)旋轉(zhuǎn)速度,我們也可以?huà)呙杩臻g中的一個(gè)圓柱面。
由于我們傳感器的成本很低,一個(gè)機(jī)器人或者無(wú)人車(chē)上面可以搭載好幾個(gè)這樣的傳感器。并且各個(gè)傳感器可以?huà)呙璨煌那鎭?lái)達(dá)到不同的監(jiān)控目的。比如這個(gè)機(jī)器人上面可以有我們的傳感器,用來(lái)監(jiān)測(cè)一個(gè) tilted plane,一個(gè)圓柱面,或者看前進(jìn)路線上有沒(méi)有障礙物。無(wú)人車(chē)上面有監(jiān)測(cè)前方的 curtain,有監(jiān)測(cè)車(chē)兩邊的 curtain,也有監(jiān)測(cè)路面的 curtain.
現(xiàn)在的無(wú)人車(chē)基本都裝載 LIDAR 傳感器。通過(guò) LIDAR 可以得到 3D 點(diǎn)云,然后通過(guò)對(duì)點(diǎn)云進(jìn)行處理來(lái)知道車(chē)前方是否有行人和車(chē)輛。我們認(rèn)為,如果只是單純的想知道車(chē)前方幾米處是否有障礙物,完全可以用我們的傳感器來(lái)解決,并且我們的傳感器很便宜,計(jì)算復(fù)雜度也非常低,只需要一個(gè) thresholding 就可以了。
這個(gè)動(dòng)畫(huà)展示了使用我們傳感器的一個(gè)場(chǎng)景。一輛汽車(chē)上搭載了好幾個(gè)傳感器。有一個(gè)前方的 curtain 一直監(jiān)控前方道路上有沒(méi)有別的車(chē)。當(dāng)車(chē)要換道時(shí),首先打開(kāi)側(cè)邊的 curtain,看測(cè)道上是否有別的車(chē)。當(dāng)車(chē)要轉(zhuǎn)彎時(shí),注意 curtain 可以根據(jù)車(chē)速動(dòng)態(tài)變化。當(dāng)有霧來(lái)臨時(shí),由于我們的 light curtain 可以看透煙霧,可以在這時(shí)打開(kāi)路面 curtain,由此看到地面上的鐵路標(biāo)志。
接下來(lái)看一下我們的硬件實(shí)現(xiàn)。這里顯示了我們傳感器的光路。左邊是線光源,右邊是線相機(jī)。左邊線光源部分,首先是一個(gè)點(diǎn)激光,然后經(jīng)過(guò) collimation lens 和 line lens 變成一條線,再使用一個(gè)一維振鏡來(lái)轉(zhuǎn)動(dòng)這個(gè)光平面。右邊線相機(jī)部分,首先是 line sensor,然后是成像物鏡,再是一個(gè)一維振鏡來(lái)掃描看的角度。
這里展示了我們做的 hardware prototype. 左邊是線激光部分,右邊是線相機(jī)部分,中間是 power 和控制電路,還有一個(gè) 2d helper 相機(jī),只是用來(lái)標(biāo)定和更方便的展示檢測(cè)結(jié)果用。
接下里我們用實(shí)際實(shí)驗(yàn)來(lái)展示我們傳感器的掃描的 light curtain 形狀的可編程性。
這里通過(guò)控制 line laser 和 line sensor 的相對(duì)旋轉(zhuǎn)速度,傳感器掃描出了 cosine 形狀的 light curtain。中間的視頻來(lái)自于 2D helper camera,圖中的藍(lán)色部分是我們預(yù)設(shè)的 curtain,綠色是檢測(cè)到的結(jié)果,右邊的視頻則是來(lái)自線相機(jī)的原始讀數(shù)。我們可以看到,當(dāng)物體或人出現(xiàn)在預(yù)設(shè)的 curtain 上時(shí),它們很容易被檢測(cè)出來(lái)。
這個(gè)是機(jī)器人使用 Arc light curtain 來(lái)尋找前方可行的道路。
這里使用 volume light curtain 來(lái)監(jiān)測(cè)一個(gè)空間。這個(gè) volume light curtain 由很多離散的線組成。
這是車(chē)庫(kù)使用 light curtain 來(lái)監(jiān)測(cè)車(chē)庫(kù)里汽車(chē)的情況。
這是搭載在汽車(chē)上的 curtain,來(lái)監(jiān)測(cè)前方道路情況。
這是 tilted curtain 來(lái)監(jiān)測(cè)一個(gè)機(jī)器人。
接下來(lái)我們看一下我們傳感器在強(qiáng)烈太陽(yáng)光下的表現(xiàn)。 對(duì)于主動(dòng)打出光的設(shè)備,戶(hù)外能否工作是非常有挑戰(zhàn)性的。因?yàn)樘?yáng)光是個(gè)非常大的噪聲源,強(qiáng)烈的太陽(yáng)光的光子噪聲會(huì)將主動(dòng)光設(shè)備打出的光淹沒(méi)。這也是為什么 Microsoft Kinect 不能在戶(hù)外工作的原因。
一個(gè)有效的方法是:將主動(dòng)光聚集起來(lái),然后掃描。這里有主動(dòng)光設(shè)備可選的三種機(jī)制,第一個(gè)是像 Microsoft Kinect 那樣,光就這么發(fā)散著打到空間中;第二個(gè)是將光聚集到一條線上,然后使用一維振鏡進(jìn)行一維掃描,這也是我們的傳感器使用的方案;第三個(gè)是將所有光聚集到一個(gè)點(diǎn)上,然后使用二維振鏡進(jìn)行掃描。從信噪比上看,第二種機(jī)制比第一種機(jī)制,也就是 Microsoft Kinect 使用的機(jī)制增加了 N 倍, N 可以認(rèn)為是 1000. 第三種機(jī)制的信噪比提高了 N^2 倍。從幀率的角度看,第一種是最快的,但是它沒(méi)法在太陽(yáng)光下面工作。第三種盡管信噪比很高,速度超級(jí)慢。第二種,也就是我們使用的機(jī)制,既有較高的信噪比保證可以在陽(yáng)光下使用,又有較快的幀率。
這里展示的是一個(gè) sidewalk curtain 。當(dāng)有行人從路邊走到路上時(shí),我們的傳感器很容易的將其檢測(cè)了出來(lái)。
這里我們使用 volume light curtain 來(lái)監(jiān)測(cè)人行道。
在強(qiáng)烈的太陽(yáng)光下,我們的傳感器依然可以看到 25m 外的白板,35m 外的白板也依稀可見(jiàn)。
對(duì)于一般反射率的物體,我們的傳感器可以看到 13m 遠(yuǎn)。這里我們通過(guò) sweeping 40 個(gè) planar curtains 來(lái)合成一個(gè) depth map。需要注意的是,我們的傳感器一般不用做 depth sensor,而只是用作 half depth sensor,就是只是監(jiān)測(cè)空間中某個(gè)預(yù)設(shè)的 depth,所以更準(zhǔn)確的講,是一個(gè) proximity sensor。
接下來(lái)我們看下我們的傳感器在散射介質(zhì),比如煙霧中的表現(xiàn)。
在煙霧中,如果使用傳統(tǒng)的成像,那就是有一個(gè)光源,然后有一個(gè) 2D 相機(jī)。相機(jī)中的每個(gè)像素除了接收到物體反射的光之外,還接收到在煙霧媒介中散射的光。這些散射的光中既有散射一次的,也有散射多次的。
在我們 light curtain 成像中,我們線激光打出去,線相機(jī)接收,對(duì)于線相機(jī)上的每個(gè)像素,它除了接收到物體反射的光外,也會(huì)接收到煙霧媒介散射的光,但是在媒介中只散射一次的散射光是進(jìn)不來(lái)的,也就是在光路中就被隔離掉了。相較于傳統(tǒng)的成像,我們的成像隔離掉了只散射一次的散射光,而只散射一次的散射光的強(qiáng)度要比散射多次的光強(qiáng)很多倍。由此,我們的傳感器成的像的對(duì)比度要比傳統(tǒng)的成像高很多。
這是我們的傳感器在煙霧中的表現(xiàn)。中間的視頻是普通的相機(jī)得到的,右邊是我們的傳感器得到的。當(dāng)有煙霧時(shí),通過(guò)我們的傳感器依然能看到路牌,但是普通的相機(jī)就看不到了。
接著我們來(lái)討論下 light curtain 的厚度問(wèn)題。
由于相機(jī)的像素是有大小的,一般是幾個(gè)微米;線激光也是有厚度的,一般也有幾個(gè)微米到幾十微米;triangulation 的結(jié)果就不是一個(gè)點(diǎn),而是一個(gè)四邊形。我們把這個(gè)四邊形的縱深稱(chēng)為 triangulation uncertainty. 由于 Triangulation uncertainty 的存在,原本我們?cè)O(shè)定在 3.8 米處的 planar curtain,變成了一個(gè)有一定厚度的 curtain。所以當(dāng)面對(duì)的是樓梯這個(gè)場(chǎng)景時(shí),有三個(gè)樓梯被檢測(cè)到。
在一些情況下 curtain 有點(diǎn)厚有些好處,比如可以預(yù)防漏檢。但是在一些情況下,我們也希望 curtain 越薄越好,比如我們只想檢測(cè)車(chē)子左邊 2 米處有沒(méi)有物體,超過(guò) 2 米的我們不關(guān)心,如果 curtain 比較厚,就很可能會(huì)出現(xiàn)虛警。
根據(jù)理論推算,triangulation uncertainty 是跟深度的平方成正比的。這說(shuō)明 curtain 會(huì)隨著深度的增加越來(lái)越厚。怎么降低 curtain 的厚度呢?我們提出在相機(jī)端使用 line TOF sensor。根據(jù)理論推算,我們知道 continuous wave TOF 的 uncertainty 只跟調(diào)制頻率有關(guān),頻率越高,uncertainty 越小,是不隨深度變化的。
所以,當(dāng)在相機(jī)端使用 TOF 時(shí)可以取 triangulation 和 TOF 兩個(gè) uncertainty 的最小值,這樣 uncertainty,也就是厚度,可以一直比較低。
對(duì)于樓梯這個(gè)場(chǎng)景,當(dāng)只使用 triangulation 時(shí),有三個(gè)樓梯被檢測(cè)到。當(dāng)結(jié)合 TOF 的 phase 信息時(shí),那么厚的 curtain 變得很薄,所以只有一個(gè)樓梯亮了。
要想 TOF 的 uncertainty 比較小,TOF 使用的頻率就得比較高,但是當(dāng)面對(duì)較大的場(chǎng)景時(shí),TOF 會(huì)出現(xiàn) phase wrapping 的問(wèn)題。巧的是,Triangulation 可以和 phase 相結(jié)合,triangulation 可以幫助做 phase unwrapping。這是因?yàn)殡m然 triangulation 的 uncertainty 比較高,但也提供了一定的深度信息。所以依然可以得到非常薄的 curtain。
接下來(lái)講一下 depth-adaptive imaging. 主動(dòng)光系統(tǒng)一般都會(huì)面臨 light fall off 的問(wèn)題。主動(dòng)光系統(tǒng)發(fā)出的光會(huì)隨著深度逐漸減弱,這使得近處的物體的像很容易飽和,而遠(yuǎn)處的物體會(huì)因?yàn)楣馓醵浅0?,?dǎo)致檢測(cè)不到。
但是對(duì)于我們的系統(tǒng)來(lái)說(shuō),由于我們掃描的面是由一條一條線組成的,對(duì)于每條線,它的曝光時(shí)間是可以改變的,我們的設(shè)備有這個(gè)自由度,所以我們可以對(duì)近處的線進(jìn)行短曝光,而對(duì)遠(yuǎn)處的線進(jìn)行長(zhǎng)曝光。這樣,總的發(fā)射能量是一樣的,但是可以看得更遠(yuǎn)。
我們也可以控制每條線的激光強(qiáng)度。效果是一樣的,也就是總的使用能量一樣,但是能看得更遠(yuǎn),比如這里后面車(chē)的 frame 看得更清楚。
總結(jié)一下,為什么我們的 light curtain 有諸多好處呢,是因?yàn)槲覀冾A(yù)設(shè)了一個(gè) depth of interest,所以整個(gè)設(shè)備就可以進(jìn)行相應(yīng)的最優(yōu)化了。
我們的傳感器成本很低,消耗的能量很少,需要的運(yùn)算也非常少;
它可以在強(qiáng)烈太陽(yáng)光下工作,也可以穿透煙霧;
它的形狀和厚度也可以很靈活的改變;
它的幀率也很高。
最后再講一下很多人關(guān)心的激光安全問(wèn)題。激光安全距離需要非常多嚴(yán)格的計(jì)算。根據(jù)計(jì)算,我們的 prototype 中使用的激光在 0.72m 之外是絕對(duì)安全的。我們?cè)?prototype 中使用的激光是可見(jiàn)紅色激光,在實(shí)際使用時(shí)應(yīng)該使用紅外激光,紅外激光比紅色激光還要安全。
我今天的分享就到這里,謝謝大家!
以上就是本期嘉賓的全部分享內(nèi)容。更多公開(kāi)課視頻請(qǐng)到雷鋒網(wǎng) AI 研習(xí)社社區(qū)(http://ai.yanxishe.com/)觀看。關(guān)注微信公眾號(hào):AI 研習(xí)社(okweiwu),可獲取最新公開(kāi)課直播時(shí)間預(yù)告。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。