Sensor Fusion 基本介紹(Amazon Go and Autonomous Vehicle)

張凱喬
15 min readJan 22, 2022

--

Photo by @heyminhy on Unsplash

最近在接觸一些AI辨識與實體物品互動的案件,看了網路上一些文章,發現有一塊藏得比較隱密一些,多半都只有AI從業人員才比較熟悉的名詞:『Sensor Fusion』,今天也決定來整理一些資料,目標是幫助我自己理解這一類應用發展的現況,如果有專家提供指教建議也十分感謝。

Sensor Fusion is type of software that combines data from several sensors to improve performance or produce more accurate results.

簡單來說,就是可以結合不同的感測器,利用感測器的特性來組合成更有用的資料。一個最直接的範例是2D的圖像+3D的點雲,可以幫助電腦組合成像是人眼看出去一般的視覺效果,人的眼睛有兩個,因此除了獲取豐富顏色的圖像之外,還可以判斷距離。

下圖的範例可以說明3D object detection在自駕車的技術中應是最重要的應用之一,因為要辨識行人、汽車、機踏車、等路上可能會有的各種其他東西。所以透過了(A) 3D Point Cloud取得三維空間的資訊,可以掌握各個點像距離感測器之間的距離,再結合(B) RGB Image取得色彩影像,融合兩則就可以模仿眼睛去達成物體的判斷。

https://blog.techbridge.cc/2020/08/30/intro-to-sensor-fusion-in-visual-perception/

這邊用了兩種資訊,第一種是RGB圖像,這個就是照相原理,就不再補充說明,另外一種則是點雲(Point Cloud)是真實世界空間維度的數位記錄。它之所以被稱為點雲,是因為它由數百萬個點組成,每個點都是三維掃描儀捕捉到的現有條件的精確尺寸量測。根據雷射測量原理得到的點雲,包括三維座標(XYZ)和鐳射反射強度(Intensity),強度資訊與目標的表面材質、粗糙度、入射角方向,以及儀器的發射能量,鐳射波長有關。

一般來說,RGB圖像可以用簡單的攝影機頭取得,再加上數位相機的市場大,相關資源發展的技術豐沛,所以成本也較低。當然,缺點就是他缺乏了深度資訊,也容易受光線影響,在光線差的地方基本上派不上用場。而其他常在車輛使用的感測器就包含了LiDar(光達)、Radar、Thermal等,相關的比較可以參考下圖。

LiDar(光達)在近年的發展廣受矚目,LiDar屬於飛行時間 (ToF)傳感器,這類的傳感器的特色是發出某種波段,運用物體、粒子或波(無論是聲波、電磁波等)在介質中傳播一段距離所用時間的測量值。

https://www.researchgate.net/publication/333647780_Pedestrian_and_Cyclist_Detection_and_Intent_Estimation_for_Autonomous_Vehicles_A_Survey

這邊也附上我過去對光達的資訊整理:

以及去年相關的CES車用電子更新

除了簡單的結合『圖像』及『距離』來判斷出物體特徵,在攸關人身安全的車輛駕駛行為中,必須要更完整的『策略』,包含兩個以上的感測器、以及與雲端連結、地圖位置判斷等等,來決定當下這台車子究竟是要加速減速或是向左向右。

https://www.mdpi.com/1424-8220/19/20/4357

上圖說明了,我們所提到的車輛感測器,只是在幫車子理解『周遭的環境』,參考下圖,環境是透過多種相同及相異的感測器組合而成。

道路環境相當複雜,要判斷前方的車輛、行人,也可能包含了廣告看板、路障、樹木等。道路環境還要考慮到紅綠燈號誌、標誌、以及分隔線,才能知道車子到底是不是在『路上』,並且確保有沒有在危險的環境中。

而車子本身也有許多資訊,包含引擎、煞車、電力、方向驅動等,都是各類大大小小的ECU、傳感器及控制器組合而成。所以一台車載AI在發展自駕車的過程中,需要負荷大量的運算、複雜的決策控制。

https://www.ni.com/en-us/innovations/white-papers/19/testing-perception-and-sensor-fusion-systems.html

除了提供不同類型資訊的感測器之外,另外一種則是多顆同樣的感測器、依賴軟體進行資訊整合。常見的範例例如汽車環景系統、商店人流分析以及城市智慧交通應用等。

只要是牽涉到感測器的需求,一定都是為了『偵測』某些東西,例如雷射是偵測距離、攝影機是偵測圖像與顏色、溫度計是偵測溫度等等。而從上一段我們所討論的3D object detection,則是可以更好的掌握到物體的形狀,而提升更多的偵測準確性。

以車子的需求,是車子為中心點向外看周圍附近的物體,近一步提供辨識的資訊及準確率,如果是車子、行人、機踏車則會有不同的應對策略,而如果偵測到無法辨識的物品則可能會緊急停止。然而,如果換另外一個角度,以智慧城市為例,每個路口之間會有一隻攝影機,如果我想要知道這條路塞車的車子都是從哪邊匯集而來的,則這個時候則不是從一個單點出發,而是要跨很多相同類型的感測器,給每一台車子一個特別的ID,再去追蹤這個ID在不同感測器出現的時間與方向性。

另外,追蹤犯罪也很好用,鎖定目標之後可以知道路線,不用再花費大量的人力去調閱攝影機。

https://www.researchgate.net/publication/327654858_People_tracking_in_multi-camera_systems_a_review

上圖說明了不同的物件追蹤方法,簡單來說,這類的跨感測器問題,一定都是以單一感測器的技術為出發點,譬如說物體偵測在單一感測器上已經相當純熟,便可再往上疊加跨感測器的應用。

過去傳統的跨感測器問題,是直接強制將攝影機的方位及角度固定,簡單來說可以想像畫一個九宮格在地上,把每個格子上方都架一隻攝影機,然後再靠軟體把這九隻攝影機的畫面集中在一起,這樣原本每次只能看一個格子,就可以變成一次看九個格子。

centralized multi-camera 示意圖

直接將這個九宮格縫起來,再去做後續的object tracking,這樣就可以知道一個物體從A格到B格的移動路徑。這樣子的概念就是centrailized approach,因為我先把所有的圖像資料搜集回來才開始作業,好處當然是技術上相對簡單,可以直接縫合圖像來處理物體追蹤。

而缺點便是挑戰攝影機的角度與位置必須要固定、預先設定好,換句話說,就是對於攝影機的參數要求較嚴格。且若區域過大,則圖像計算上的複雜程度將快速攀升,對最後處理的伺服器是大挑戰,換句話說,就是擴充的彈性較差。

http://media.ee.ntu.edu.tw/research/MTMC_tracking/

近年因應深度學習演算法的大量發展,也使得這類技術的發展得以有更多的突破。上圖說明了Distributed approach的簡單流程,透過『萃取特徵』的方法,每個攝影機都預先處理好一定量的資訊,只回拋物體特徵及位置的相關資訊。

所以當攝影機A回拋了一個001特徵的物體,若干秒後,攝影機C發現了一個未知物體X,回拋特徵之後發現跟001的相似度通過預設的門檻分數,所以這個時候,C攝影機就知道,這個001是從A攝影機那個位置過來的,再把X的名字修正成001(因為是同一個物體)。

這樣的應用就稱為Re-Identification(再辨識),指針對廣大區域內不同攝影機,於不同地點及不同時間,凡是曾經出現過的人或物,系統都能正確的核對出來。這是一個相當複雜的問題,因為不同的視角、光線、背景雜訊及遮蔽現象,使得比對的準確度有所影響。

總結而言,對於機器視覺而言,深度學習的確帶來的許多變化性,也讓很多應用得以實際商業化。而我們談的集中式跟分散式的計算,可以簡單取其優缺說明,集中式計算的強項是減少雜訊干擾(因為算法較簡單),容易視覺化(因為完整的集中處理圖像),分散式計算的強項則是對於相機的角度與位置的精確要求較低(單純靠深度學習判別特徵)、也容易應用於更大的區域(支援更多的攝影機)。

https://www.researchgate.net/publication/327654858_People_tracking_in_multi-camera_systems_a_review

最後再提供一個跨感測器的範例:智慧商店,在2016年Amazon推出 Amazon Go 的零售體驗服務,主打的服務是註冊APP進入商店之後,無需結帳、東西拿了就走,一切計算仰賴Just Walk Out 技術,融合了電腦視覺,感測器和深度學習。據悉感測系統被放置在商店的天花板上,彷彿「天眼」一般,而不是當你拿起某樣東西時,會檢測到重量或庫存變化的壓力感應墊。

https://buzzorange.com/techorange/2020/03/10/amazon-go-grocery-bug/

購物時只需在門口掃瞄 Amazon Go App 的 QR code 就可以進入商店,如果帶了朋友或小孩,只要多刷一次,讓同行者先進去就可以了。Just Walk Out 技術可以自動檢測何時從貨架上取走產品或將產品退回貨架,並在虛擬購物車中對其進行追蹤。購物完畢後,可以直接離開商店。隨後會收到收據並向你的亞馬遜帳戶收費。

這篇有趣的是,記者挑戰了購物到一半到洗手間『換裝』,結果證實此舉確實能突破感測器的限制,該記者換好衣服離開洗手間後,手上多拿了兩件物品,總計 6 美元,系統並未識別出是他所拿的,只向該記者收費了進入係首間換裝之前所拿取的商品。

回到主題,我們想看一下這類的技術整合了多少種的感測技術。天花板上的相機鏡頭對準下方的走道或是貨架上的商品,並有上下兩顆鏡頭,推測應具備3D深度感測的能力,以偵測追蹤消費者與商品的一舉一動。

有別於一般超商,店內所有商品皆整齊擺放在貨架上,每個商品皆以透明隔板分開,或裝在黑色的小籃子裏,能夠清楚分辨每一樣商品,就連小包裝零食或瓶裝飲品都是如此。

要達成無人服務,透過深度學習技術辨識現在站在貨架前的這個人是誰,拿了什麼商品,就算同時有數個人並排也都能夠辨別。店內的貨架上也整合重量感測器,能偵測架上商品的重量,並比對影像辨識的結果,以提高辨識準確度。另外也有報導指出,貨架除了重量感測之外,可能還使用了紅外線、位移、光幕等多種感測器。

https://www.idtechex.com/zh/research-article/will-amazon-go-win-the-war-between-computer-vision-and-rfid-in-retail/10463

上圖展示了可能的多項感測器及系統的整合。主要可以分為3個部分:動作辨識、商品辨識和人體辨識。通過人體手部接近或遠離貨架的圖像,系統可以判斷是移走物品還是放置物品的行為,如下圖,在Amazon的文章裡也提到,動作感測可以清楚的辨識出人的四肢,並推測其動作意圖。此外,重量感測可用於檢測物體何時從貨架上離開或返回。

https://aws.amazon.com/cn/blogs/china/amazon-go-unveils-unmanned-retail-store/

至於物品辨識,亞馬遜在 2009 年收購 SnapTell 後,透過其機器視覺技術來辨識大量亞馬遜產品。先前Amazon曾推出『Sowrooming』服務,消費者可以隨時隨地拍攝自己想要的商品,程式會立即進行價格比較。接著,越大量的產品圖像數據,識別準確率將越高。而就算商店裡的商品無法透過視覺辨識,也可以透過重量及紅外線來協助系統判定是一瓶果汁或一包餅乾。

根據報導指出,店內可供辨別的販售商品超過1,600項,包括零食、冷飲、熟食、酒類飲品,以及雜貨等都有。可能會有反對方認為,一間店裡面動輒上百顆的感測器與複雜的軟體系統,不如RFID方便,只需要在門口架一道感測門。

但重點就是怎麼樣讓這些大量的數據變成黃金,RFID只有出跟入,很難追蹤到人的行為。例如,Amazon Go所搜集的數據,進一步可以依據顧客的動作變化,來預測對方接下來的購物行為,比如,準備拿起商品,還是正要將其放回原處,藉此來加快系統處理的反應時間。

透過分析也能用來提高人員作業效率,像是當商品即將銷售一空時,就會自動發送訊息通知店員補貨,亦或是商品放錯位置或被擺在不對的貨架上時,也會發出警示,店員從手持裝置上就能查看,將商品重新放到正確的貨架。

而Amazon透過大量的線上商品數據、線下的人員動線與對商品感興趣的程度分析,進而可以快速地調整價格,以確保獲利與價格的競爭力達到平衡。Business Insider 曾引述 360pi 的數據,說明 Amazon 為了領導市場價格,一天內同件商品價格調整幅度超過 8 次。這件事情是一件雙面刃,快速調降價格代表隊市場的快速反應、由消費者獲益,而快速調升價格代表提升其獲利,也可能潛在的影響了消費市場商品均價的不穩定性。

以上,簡單介紹到這邊,謝謝

ㄅㄅ

--

--