智能座艙算法基礎(chǔ)之機(jī)器視覺篇

0 評(píng)論 2561 瀏覽 9 收藏 12 分鐘

機(jī)器視覺在智能座艙研發(fā)中發(fā)揮著重要作用,其中,與智能座艙相關(guān)的機(jī)器視覺常見任務(wù)有分類、檢測、分割和關(guān)鍵點(diǎn)等。這篇文章里,作者就重點(diǎn)介紹了這些任務(wù)的相關(guān)算法,一起來看看吧,或許會(huì)對(duì)想了解智能座艙和HMI的同學(xué)們有所幫助。

隨著智能座艙技術(shù)的發(fā)展,機(jī)器視覺的應(yīng)用需求也逐步擴(kuò)大,包括人臉識(shí)別、手勢識(shí)別、駕駛員行為識(shí)別等。機(jī)器視覺通過機(jī)器來模擬生物視覺,代替人眼對(duì)目標(biāo)進(jìn)行分類、識(shí)別、跟蹤等。

機(jī)器視覺目前是人工智能領(lǐng)域應(yīng)用最廣的方向之一,在智能座艙研發(fā)中發(fā)揮著重要作用。與智能座艙相關(guān)的機(jī)器視覺常見任務(wù)見下圖:

與智能座艙相關(guān)的機(jī)器視覺常見任務(wù)

下面重點(diǎn)介紹這些任務(wù)的相關(guān)算法。

一、分類

圖像分類簡單來說是輸入一個(gè)圖像,得到對(duì)圖像內(nèi)容分類描述的問題。隨著分類算法的快速發(fā)展,圖像分類已經(jīng)從最簡單的灰度圖數(shù)字10分類,發(fā)展到現(xiàn)在千萬級(jí)別ImageNet數(shù)據(jù)集的20000多類,計(jì)算機(jī)的推理精度和速度已經(jīng)遠(yuǎn)遠(yuǎn)超越了人眼。

圖像分類是計(jì)算機(jī)視覺的核心,是檢測、分割等算法的基礎(chǔ),廣泛應(yīng)用于智能駕駛、智能安防、智能家居等多個(gè)領(lǐng)域。分類算法是從已知的分類集中給圖像分配一個(gè)標(biāo)簽,比如貓、狗、老虎等。在智能座艙里的應(yīng)用比如駕駛員的性別分類,是否在用手機(jī)打電話等。

二、檢測

目標(biāo)檢測是機(jī)器視覺領(lǐng)域最具挑戰(zhàn)的方向之一,它涉及物體的分類和定位。簡而言之,檢測的目的是得到目標(biāo)在圖像中的定位,并且判斷物體的類別。下圖所示為一張?jiān)谀繕?biāo)檢測中的常用圖像,可以看到圖像里的每個(gè)目標(biāo),包括人和汽車,都可以被精確地定位和識(shí)別。

圖為目標(biāo)檢測示意圖(圖片來源網(wǎng)絡(luò))

隨著智能座艙技術(shù)的發(fā)展,目標(biāo)檢測在智能座艙算法中的作用也在不斷擴(kuò)大。通過深度學(xué)習(xí)方法,可以檢測到座艙內(nèi)的人和物體,為后續(xù)的目標(biāo)跟蹤、行為判斷等打好基礎(chǔ)。

經(jīng)典目標(biāo)檢測算法流程如下所示,大部分檢測算法也是在這個(gè)流程圖的基礎(chǔ)上進(jìn)行刪減或改進(jìn)的。

經(jīng)典目標(biāo)檢測算法流程

1)經(jīng)典目標(biāo)檢測算法流程

主要步驟:

候選框:通常采用滑動(dòng)窗口的方法提取。

特征提?。?/strong>基于顏色、紋理、形狀的方法,以及一些中層次或高層次語義特征的方法來提取。

目標(biāo)判別:對(duì)候選區(qū)域提取出的特征進(jìn)行分類判定,如單類別(區(qū)別背景、目標(biāo))、多類別(區(qū)分當(dāng)前窗口中對(duì)象的類別)。

非極大值抑制(NonMaximum Suppression,NMS):解決候選框重疊問題,NMS對(duì)候選框進(jìn)行合并。

2)基于深度學(xué)習(xí)的常見檢測算法,如Faster RCNN、YOLO系列等。

三、分割

許多計(jì)算機(jī)視覺任務(wù)需要對(duì)圖像中的內(nèi)容進(jìn)行理解與分割,并使每個(gè)部分的分析更加容易。目前,圖像分割技術(shù)主要通過計(jì)算機(jī)視覺深度學(xué)習(xí)模型來理解圖像的每個(gè)像素所代表的真實(shí)物體,從而進(jìn)行“像素級(jí)別”的分類。圖像分割,顧名思義就是根據(jù)某些規(guī)則將圖片分成若干特定的、具有獨(dú)特性質(zhì)的區(qū)域,并抽取出感興趣的目標(biāo)。

圖像分割子領(lǐng)域圖,主要包括以下幾種:

1)語義分割(Semantic Segmentation):對(duì)于一張圖像,分割出所有的目標(biāo)(包括背景),但對(duì)于同一類別的目標(biāo),無法區(qū)別不同個(gè)體。例如,你可以將與貓相關(guān)的所有像素分離出來,并將它們涂成綠色。這也被稱為dense預(yù)測,因?yàn)轭A(yù)測了每個(gè)像素的含義。

2) 實(shí)例分割(Instance Segmentation):將圖像中除背景之外的所有目標(biāo)分割出來,并且可以區(qū)分同一類別下的不同個(gè)體。例如,下圖每輛車都用不同的顏色表示。

3) 全景分割(Panoptic Segmentation):在實(shí)例分割的基礎(chǔ)上,可以分割出背景目標(biāo)。

a)圖像 b)語義分割 c)實(shí)例分割 d)全景分割 圖片來源網(wǎng)絡(luò)

深度學(xué)習(xí)使用的算法傳統(tǒng)的圖像分割在效率上不如深度學(xué)習(xí)技術(shù),因?yàn)樗鼈兪褂脟?yán)格的算法,需要人工干預(yù)和專業(yè)知識(shí),主要包括:

1)基于閾值:將圖像分割為前景和背景。指定的閾值將像素分為兩個(gè)級(jí)別之一,以隔離對(duì)象。閾值化將灰度圖像轉(zhuǎn)換為二值圖像或?qū)⒉噬珗D像的較亮和較暗像素進(jìn)行區(qū)分。

2)基于K-means 聚類:算法識(shí)別數(shù)據(jù)中的組,變量K表示組的數(shù)量。該算法根據(jù)特征相似性將每個(gè)數(shù)據(jù)點(diǎn)(或像素)分配到其中一組。聚類不是分析預(yù)定義的組,而是迭代地工作,從而有機(jī)地形成組。

3)基于直方圖的圖像分割:使用直方圖根據(jù)“灰度”對(duì)像素進(jìn)行分組。簡單的圖像由一個(gè)對(duì)象和一個(gè)背景組成。背景通常是一個(gè)灰度級(jí),是較大的實(shí)體。因此,一個(gè)較大的峰值代表了直方圖中的背景灰度。一個(gè)較小的峰值代表這個(gè)物體,這是另一個(gè)灰色級(jí)別。

4) 基于邊緣檢測:識(shí)別亮度的急劇變化或不連續(xù)的地方。邊緣檢測通常包括將不連續(xù)點(diǎn)排列成曲線線段或邊緣。例如,一塊紅色和一塊藍(lán)色之間的邊界。

基于深度學(xué)習(xí)的圖像分割方法下面介紹幾個(gè)經(jīng)典的基于深度學(xué)習(xí)的圖像分割方法,包括全卷積網(wǎng)絡(luò)(FullyConvolutional Networks,FCN)、ReSeg和 Mask R-CNN。

1) FCN:FCN是一種基于上采樣/反卷積的分割方法,能夠?qū)崿F(xiàn)圖像端到端的分割。

2) ReSeg:由于FCN沒有考慮到局部乃至全局的信息,對(duì)各個(gè)像素分別進(jìn)行分類,沒有充分考慮像素與像素的關(guān)系,缺乏空間一致性,而在語義分割中這種像素間的依賴關(guān)系是非常有用的。因此在ReSeg中使用RNN去檢索上下文信息,以此作為分割的一部分依據(jù)。

3) MaskRCNN:MaskRCNN的本質(zhì)是基于候選區(qū)域的分割方法,是一個(gè)基于asterRCNN模型的一種新型的實(shí)例分割模型。在MaskRCNN的工作中,它主要完成了目標(biāo)檢測、目標(biāo)分類、像素級(jí)分割三件事情。

四、關(guān)鍵點(diǎn)

在圖像處理中,關(guān)鍵點(diǎn)本質(zhì)上是一種特征,在圖像中用一個(gè)點(diǎn)表示物體特定部位的特征。它是對(duì)物體的一個(gè)固定區(qū)域或者空間物理關(guān)系的抽象描述,它不僅是一個(gè)點(diǎn)信息,更代表著關(guān)鍵點(diǎn)周圍鄰域特征的組合關(guān)系。

常見關(guān)鍵點(diǎn)有人臉關(guān)鍵點(diǎn)、人體骨骼關(guān)鍵點(diǎn)、標(biāo)識(shí)關(guān)鍵點(diǎn)等。人臉關(guān)鍵點(diǎn)涉及人臉識(shí)別的相關(guān)場景,人體骨骼關(guān)鍵點(diǎn)可以應(yīng)用于分析人體的行為動(dòng)作,標(biāo)識(shí)關(guān)鍵點(diǎn)則一般和智能駕駛等場景相關(guān)。

在自動(dòng)駕駛當(dāng)中,通過關(guān)鍵點(diǎn)檢測可以識(shí)別人或者其他不可控障礙物的行為動(dòng)作,進(jìn)而預(yù)測其下一步動(dòng)作及意圖。在智能座艙系統(tǒng)中,通過人臉關(guān)鍵點(diǎn)的檢測可以識(shí)別出駕駛?cè)藛T的情緒、精神狀態(tài)等。

其次,交通標(biāo)志的關(guān)鍵點(diǎn)檢測使得汽車能夠感知交通環(huán)境下的各種標(biāo)志信息。例如在自動(dòng)泊車中,需要先檢測出車位,然后通過關(guān)鍵點(diǎn)檢測把車位的角點(diǎn)識(shí)別出來。通過車位的角點(diǎn)坐標(biāo)信息,可以精確獲取車位相對(duì)自車的位置信息,然后通過控制模塊實(shí)現(xiàn)對(duì)自車的控制,實(shí)現(xiàn)自動(dòng)泊車功能。因此,車位的關(guān)鍵點(diǎn)檢測對(duì)自動(dòng)泊車來說是非常重要的信息。

因?yàn)殛P(guān)鍵點(diǎn)檢測的算法在不同場景下差異較大,而且方法眾多,這里主要介紹兩個(gè)基礎(chǔ)檢測方法,包括坐標(biāo)點(diǎn)方法以及熱力圖方法。坐標(biāo)點(diǎn)方法主要是發(fā)源自人臉關(guān)鍵點(diǎn)檢測,用CNN提取特征,然后使用全連接層直接數(shù)值回歸關(guān)鍵點(diǎn)的坐標(biāo)。經(jīng)典網(wǎng)絡(luò)包括DeepPose、MTCNN等。

研究人員在研究人體關(guān)鍵點(diǎn)檢測算法時(shí)發(fā)現(xiàn),照搬人臉關(guān)鍵點(diǎn)的暴力回歸做法效果不太好,主要是由于人體的姿態(tài)動(dòng)作變化較多,網(wǎng)絡(luò)針對(duì)關(guān)鍵點(diǎn)的學(xué)習(xí)難度增大,而人臉的關(guān)鍵點(diǎn)基本在一個(gè)平面上,相對(duì)穩(wěn)定,內(nèi)在規(guī)律比較簡單,網(wǎng)絡(luò)學(xué)起來也相對(duì)容易。

基于以上分析,研究人員進(jìn)而提出使用熱力圖預(yù)測的方法,類似分割中的dense預(yù)測的思想,網(wǎng)絡(luò)預(yù)測的結(jié)果也是一張熱力圖,通過對(duì)預(yù)測結(jié)果進(jìn)行后處理提取關(guān)鍵點(diǎn)的坐標(biāo)。經(jīng)典網(wǎng)絡(luò)包括Hourglass、Openpose、Simplebaseline、HRNet等。

本文由 @ALICS 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!