智能座艙算法基礎之機器視覺篇
機器視覺在智能座艙研發(fā)中發(fā)揮著重要作用,其中,與智能座艙相關的機器視覺常見任務有分類、檢測、分割和關鍵點等。這篇文章里,作者就重點介紹了這些任務的相關算法,一起來看看吧,或許會對想了解智能座艙和HMI的同學們有所幫助。
隨著智能座艙技術的發(fā)展,機器視覺的應用需求也逐步擴大,包括人臉識別、手勢識別、駕駛員行為識別等。機器視覺通過機器來模擬生物視覺,代替人眼對目標進行分類、識別、跟蹤等。
機器視覺目前是人工智能領域應用最廣的方向之一,在智能座艙研發(fā)中發(fā)揮著重要作用。與智能座艙相關的機器視覺常見任務見下圖:
與智能座艙相關的機器視覺常見任務
下面重點介紹這些任務的相關算法。
一、分類
圖像分類簡單來說是輸入一個圖像,得到對圖像內(nèi)容分類描述的問題。隨著分類算法的快速發(fā)展,圖像分類已經(jīng)從最簡單的灰度圖數(shù)字10分類,發(fā)展到現(xiàn)在千萬級別ImageNet數(shù)據(jù)集的20000多類,計算機的推理精度和速度已經(jīng)遠遠超越了人眼。
圖像分類是計算機視覺的核心,是檢測、分割等算法的基礎,廣泛應用于智能駕駛、智能安防、智能家居等多個領域。分類算法是從已知的分類集中給圖像分配一個標簽,比如貓、狗、老虎等。在智能座艙里的應用比如駕駛員的性別分類,是否在用手機打電話等。
二、檢測
目標檢測是機器視覺領域最具挑戰(zhàn)的方向之一,它涉及物體的分類和定位。簡而言之,檢測的目的是得到目標在圖像中的定位,并且判斷物體的類別。下圖所示為一張在目標檢測中的常用圖像,可以看到圖像里的每個目標,包括人和汽車,都可以被精確地定位和識別。
圖為目標檢測示意圖(圖片來源網(wǎng)絡)
隨著智能座艙技術的發(fā)展,目標檢測在智能座艙算法中的作用也在不斷擴大。通過深度學習方法,可以檢測到座艙內(nèi)的人和物體,為后續(xù)的目標跟蹤、行為判斷等打好基礎。
經(jīng)典目標檢測算法流程如下所示,大部分檢測算法也是在這個流程圖的基礎上進行刪減或改進的。
經(jīng)典目標檢測算法流程
1)經(jīng)典目標檢測算法流程
主要步驟:
候選框:通常采用滑動窗口的方法提取。
特征提?。?/strong>基于顏色、紋理、形狀的方法,以及一些中層次或高層次語義特征的方法來提取。
目標判別:對候選區(qū)域提取出的特征進行分類判定,如單類別(區(qū)別背景、目標)、多類別(區(qū)分當前窗口中對象的類別)。
非極大值抑制(NonMaximum Suppression,NMS):解決候選框重疊問題,NMS對候選框進行合并。
2)基于深度學習的常見檢測算法,如Faster RCNN、YOLO系列等。
三、分割
許多計算機視覺任務需要對圖像中的內(nèi)容進行理解與分割,并使每個部分的分析更加容易。目前,圖像分割技術主要通過計算機視覺深度學習模型來理解圖像的每個像素所代表的真實物體,從而進行“像素級別”的分類。圖像分割,顧名思義就是根據(jù)某些規(guī)則將圖片分成若干特定的、具有獨特性質的區(qū)域,并抽取出感興趣的目標。
圖像分割子領域圖,主要包括以下幾種:
1)語義分割(Semantic Segmentation):對于一張圖像,分割出所有的目標(包括背景),但對于同一類別的目標,無法區(qū)別不同個體。例如,你可以將與貓相關的所有像素分離出來,并將它們涂成綠色。這也被稱為dense預測,因為預測了每個像素的含義。
2) 實例分割(Instance Segmentation):將圖像中除背景之外的所有目標分割出來,并且可以區(qū)分同一類別下的不同個體。例如,下圖每輛車都用不同的顏色表示。
3) 全景分割(Panoptic Segmentation):在實例分割的基礎上,可以分割出背景目標。
a)圖像 b)語義分割 c)實例分割 d)全景分割 圖片來源網(wǎng)絡
深度學習使用的算法傳統(tǒng)的圖像分割在效率上不如深度學習技術,因為它們使用嚴格的算法,需要人工干預和專業(yè)知識,主要包括:
1)基于閾值:將圖像分割為前景和背景。指定的閾值將像素分為兩個級別之一,以隔離對象。閾值化將灰度圖像轉換為二值圖像或將彩色圖像的較亮和較暗像素進行區(qū)分。
2)基于K-means 聚類:算法識別數(shù)據(jù)中的組,變量K表示組的數(shù)量。該算法根據(jù)特征相似性將每個數(shù)據(jù)點(或像素)分配到其中一組。聚類不是分析預定義的組,而是迭代地工作,從而有機地形成組。
3)基于直方圖的圖像分割:使用直方圖根據(jù)“灰度”對像素進行分組。簡單的圖像由一個對象和一個背景組成。背景通常是一個灰度級,是較大的實體。因此,一個較大的峰值代表了直方圖中的背景灰度。一個較小的峰值代表這個物體,這是另一個灰色級別。
4) 基于邊緣檢測:識別亮度的急劇變化或不連續(xù)的地方。邊緣檢測通常包括將不連續(xù)點排列成曲線線段或邊緣。例如,一塊紅色和一塊藍色之間的邊界。
基于深度學習的圖像分割方法下面介紹幾個經(jīng)典的基于深度學習的圖像分割方法,包括全卷積網(wǎng)絡(FullyConvolutional Networks,FCN)、ReSeg和 Mask R-CNN。
1) FCN:FCN是一種基于上采樣/反卷積的分割方法,能夠實現(xiàn)圖像端到端的分割。
2) ReSeg:由于FCN沒有考慮到局部乃至全局的信息,對各個像素分別進行分類,沒有充分考慮像素與像素的關系,缺乏空間一致性,而在語義分割中這種像素間的依賴關系是非常有用的。因此在ReSeg中使用RNN去檢索上下文信息,以此作為分割的一部分依據(jù)。
3) MaskRCNN:MaskRCNN的本質是基于候選區(qū)域的分割方法,是一個基于asterRCNN模型的一種新型的實例分割模型。在MaskRCNN的工作中,它主要完成了目標檢測、目標分類、像素級分割三件事情。
四、關鍵點
在圖像處理中,關鍵點本質上是一種特征,在圖像中用一個點表示物體特定部位的特征。它是對物體的一個固定區(qū)域或者空間物理關系的抽象描述,它不僅是一個點信息,更代表著關鍵點周圍鄰域特征的組合關系。
常見關鍵點有人臉關鍵點、人體骨骼關鍵點、標識關鍵點等。人臉關鍵點涉及人臉識別的相關場景,人體骨骼關鍵點可以應用于分析人體的行為動作,標識關鍵點則一般和智能駕駛等場景相關。
在自動駕駛當中,通過關鍵點檢測可以識別人或者其他不可控障礙物的行為動作,進而預測其下一步動作及意圖。在智能座艙系統(tǒng)中,通過人臉關鍵點的檢測可以識別出駕駛人員的情緒、精神狀態(tài)等。
其次,交通標志的關鍵點檢測使得汽車能夠感知交通環(huán)境下的各種標志信息。例如在自動泊車中,需要先檢測出車位,然后通過關鍵點檢測把車位的角點識別出來。通過車位的角點坐標信息,可以精確獲取車位相對自車的位置信息,然后通過控制模塊實現(xiàn)對自車的控制,實現(xiàn)自動泊車功能。因此,車位的關鍵點檢測對自動泊車來說是非常重要的信息。
因為關鍵點檢測的算法在不同場景下差異較大,而且方法眾多,這里主要介紹兩個基礎檢測方法,包括坐標點方法以及熱力圖方法。坐標點方法主要是發(fā)源自人臉關鍵點檢測,用CNN提取特征,然后使用全連接層直接數(shù)值回歸關鍵點的坐標。經(jīng)典網(wǎng)絡包括DeepPose、MTCNN等。
研究人員在研究人體關鍵點檢測算法時發(fā)現(xiàn),照搬人臉關鍵點的暴力回歸做法效果不太好,主要是由于人體的姿態(tài)動作變化較多,網(wǎng)絡針對關鍵點的學習難度增大,而人臉的關鍵點基本在一個平面上,相對穩(wěn)定,內(nèi)在規(guī)律比較簡單,網(wǎng)絡學起來也相對容易。
基于以上分析,研究人員進而提出使用熱力圖預測的方法,類似分割中的dense預測的思想,網(wǎng)絡預測的結果也是一張熱力圖,通過對預測結果進行后處理提取關鍵點的坐標。經(jīng)典網(wǎng)絡包括Hourglass、Openpose、Simplebaseline、HRNet等。
本文由 @ALICS 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉載
題圖來自Unsplash,基于CC0協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發(fā)揮!