計算機視覺常用算法
計算機視覺算法在圖像識別方面的一些難點:
1)視角變化:同一物體,攝像頭可以從多個角度來展現;
2)大小變化:物體可視的大小通常是會變化的(不僅是在圖片中,在真實世界中大小也是由變化的);
3)形變:很多東西的形狀并非一成不變,會有很大變化;
4)遮擋:目標物體可能被遮擋。有時候只有物體的一部分(可以小到幾個像素)是可見的; 5)光照條件:在像素層面上,光照的影響非常大;
6)背景干擾:物體可能混入背景之中,使之難以被辨認;
7)類內差異:一類物體的個體之間的外形差異很大,如椅子。這一類物體有許多不同的對象,每個都有自己的外形
人臉識別算法主要包含三個模塊:
人臉檢測(Face Detection):確定人臉在圖像中的大小和位置,也就是在圖像中預測anchor;
人臉對齊(Face Alignment):它的原理是找到人臉的若干個關鍵點(基準點,如眼角,鼻尖,嘴角等),然后利用這些對應的關鍵點通過相似變換(Similarity Transform,旋轉、縮放和平移)將人臉盡可能變換到標準人臉;
人臉特征表征(Feature Representation):它接受的輸入是標準化的人臉圖像,通過特征建模得到向量化的人臉特征,最后通過分類器判別得到識別的結果。關鍵點是怎樣得到不同人臉的有區分度的特征,比如:鼻子、嘴巴、眼睛等。
早期算法:
子空間(線性降維)
PCA(主成成分分析) :盡量多地保留原始數據的保留主要信息,降低冗余信息;
LDA(線性判別分析):增大類間差距,減小類內差距。
非線性降維: 流形學習、加入核函數。
ICA(獨立成分分析):比PCA效果好,比較依賴于訓練測試場景,且對光照、人臉的表情、姿態敏感,泛化能力不足。
HMM(隱馬爾科夫) : 和前面這些算法相比,它對光照變化、表情和姿態的變化更魯棒。
早期:數據和模型結構;
后期:loss,從而得到不同人臉的有區分度的特征。
常用算法總結
計算機視覺中的相關算法的源代碼
計算機視覺常用算法博客
特征提取(找到若干個關鍵點)
(1) SIFT (尺度不變特征變換) 具有尺度不變性,可在圖像中檢測出關鍵點。
(2) SURF(加速穩健特征,SIFT加速版)
核心:構建Hessian矩陣,判別當前點是否為比鄰域更亮或更暗的點,由此來確定關鍵點的位置。
優:特征穩定;
缺:對于邊緣光滑的目標提取能力較弱。
(3) ORB
結合Fast與Brief算法,并給Fast特征點增加了方向性,使得特征點具有旋轉不變性,并提出了構造金字塔方法,解決尺度不變性。
ORB算法的速度是sift的100倍,是surf的10倍。
經顯示觀察到,ORB算法在特征點標記時數量較少,如圖:
SIFT、SURF、ORB實現
(4) FAST角點檢測
FAST的方法主要是考慮像素點附近的圓形窗口上的16個像素
如果要提高檢測速度的話,只需要檢測四個點就可以了,首先比較第1和第9個像素,如果兩個點像素強度都在中心像素強度t變化范圍內(及都同中心點相似),則說明這不是角點,如果接下來檢測第5和13點時,發現上述四點中至少有三個點同中心點不相似,則可以說明這是個角點。
非極大值抑制:如果存在多個關鍵點,則刪除角響應度較小的特征點。
(5) HOG (方向梯度直方圖)
(6) LBP(局部二值特征)論述了高維特征和驗證性能存在著正相關的關系,即人臉維度越高,驗證的準確度就越高。
(7)Haar
計算機視覺有哪些分類
人類視覺所具有的強大功能和完美的信息處理方式引起了智能研究者的極大興趣,人們希望以生物視覺為藍本研究一個人工視覺系統用于機器人中,期望機器人擁有類似人類感受環境的能力。機器人要對外部世界的信息進行感知,就要依靠各種傳感器。就像人類一樣,在機器人的眾多感知傳感器中,視覺系統提供了大部分機器人所需的外部相界信息。因此視覺系統在機器人技術中具有重要的作用。
依據視覺傳感器的數量和特性,目前主流的移動機器人視覺系統有單目視覺、雙目立體視覺、多目視覺和全景視覺等。
單目視覺,單目視覺系統只使用一個視覺傳感器。單目視覺系統在成像過程中由于從三維客觀世界投影到N維圖像上,從而損失了深度信息,這是此類視覺系統的主要缺點(盡管如此,單目視覺系統由于結構簡單、算法成熟且計算量較小,在自主移動機器人中已得到廣泛應用,如用于目標跟蹤、基于單目特征的室內定位導航等。同時,單目視覺是其他類型視覺系統的基礎,如雙目立體視覺、多目視覺等都是在單目視覺系統的基礎上,通過附加其他手段和措施而實現的。
雙目立體視覺。雙目視覺系統由兩個攝像機組成,利用三角測量原理獲得場景的深度信息,并且可以重建周圍景物的三維形狀和位置,類似人眼的體視功能,原理簡單。雙目視覺系統需要精確地知道兩個攝像機之間的空間位置關系,而且場景環境的3D信息需要兩個攝像機從不同角度,同時拍攝同一場景的兩幅圖像,并進行復雜的匹配,才能準確得到立體視覺系統能夠比較準確地恢復視覺場景的三維信息,在移動機器人定位導航、避障和地圖構建等方面得到了廣泛的應用用。然而,立體視覺系統的難點是對應點匹配的問題,該問題在很大程度上制約著立體視覺在機器人領域的應用前景。
多目視覺系統。多目視覺系統采用三個或三個以上攝像機,三目視覺系統居多,主要用來解決又目立體視覺系統中匹配多義性的問題,提高匹配精度。多目視覺系統最早由莫拉維克研究,他為“StanfordCart”研制的視覺導航系統采用單個攝像機的“滑動
立體視覺”來實現,雅西達提出了三目立體視覺系統解決對應點匹配的問題,真正突破了《目立體視覺系統的局限,并指出以邊界點作為匹配特征的三目視覺系統中,其三元的配的準確率比較高,艾雅湜提出了用多邊形近似宕的邊界點段作為特征的三目匹配算法,并用到移動機器人中,取得了較好的效果,三目視覺系統的優點是充分利用了第三個攝像機的信息,減少了錯誤匹配,解決了雙目視覺系統匹配的多義性,提高了定位精度,但三目視覺系統要合理安置三個攝像機的相對位置,其結構配置比雙目視覺系統更煩瑣,而且匹配算法更復雜需要消耗更多的時間,實時性更差
全景視覺,全景視覺系統是具有較大水平視場的多方向成像系統,突出的優點是有較大的視場,可以達到360度,這是其他常規鏡頭無法比擬的,全景視覺系統可以通過圖像拼的方法或者通過折反射光學元件實現。圖像拼接的方法使用單個或多個相機旋轉,對場景進行大角度掃描,獲取不同方向上連續的多幀圖像,再用拼接技術得到全景圖。折反射全景視覺系統由CCD攝像機、折反射光學元件等組成,利用反射鏡成像原理,可以觀察360度場景,成像速度快,能達到實時要求,具有十分重要的應用前景,可以應用在機器人導航中。全景視覺系統本質上也是一種單目視覺系統,也無法得到場景的深度信息。其另一個特點是獲取的圖像分辨率較低,并且圖像存在很大的畸變,從而會影響圖像處理的穩定性和精度。在進行圖像處理時首先需要根據成像模型對畸變圖像進行校正,這種較正過程不但會影響視覺系統的實時性,而且還會造成信息的損失。另外這種視覺系統對全景反射鏡的加工精度要求很多,若雙曲反射鏡面的精度達不到要求,利用理想模型對圖像校正則會存在較大偏差。
混合視覺系統,混合視覺系統吸收各種視覺系統的優點,采用兩種或兩種以上的視覺系統組成復合視覺系統,多采用單目或雙目視覺系統,同時配備其他視覺系統。全景視覺系統由球面反射系統組成,其中全景視覺系統提供大視角的環境信息,雙目立體視覺系統和激光測距儀檢測近距離的障礙物,清化大學的朱志剛使用一個攝像機研制了多尺度視覺傳感系統POST,實現了雙目注視、全方位環視和左右兩側的時代全景成像,為機器人提供了導航。全景視覺系統具有全景視覺系統視場范圍大的優點,同時又具備雙目視覺系統精度高的長處,但是該類系統配置復雜,費用比較高。
在不久的將來,多智時代一定會徹底走入我們的生活,有興趣入行未來前沿產業的朋友,可以收藏多智時代,及時獲取人工智能、大數據、云計算和物聯網的前沿資訊和基礎知識,讓我們一起攜手,引領人工智能的未來!
-
人臉識別
+關注
關注
76文章
4069瀏覽量
83656 -
計算機視覺
+關注
關注
9文章
1706瀏覽量
46569
發布評論請先 登錄
評論