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