機器視覺
機器視覺(Machine vasion):機器視覺是人工智能正在快速發展的一個分支。簡單說來,機器視覺就是用機器代替人眼來做測量和判斷。機器視覺系統是通過機器視覺産品(即圖像攝取裝置,分CMOS和CCD兩種)将被攝取目标轉換成圖像信号,傳送給專用的圖像處理系統,得到被攝目标的形态資訊,根據像素分布和亮度、顔色等資訊,轉變成數字化信号;圖像系統對這些信号進行各種運算來抽取目标的特征,進而根據判别的結果來控制現場的裝置動作。 Machine vasion
相機标定
錄影機标定(Camera calibration)簡單來說是從世界坐标系換到圖像坐标系的過程,也就是求最終的投影矩陣 P的過程,下面相關的部分主要參考UIUC的計算機視覺的課件(網址Spring 2016 CS543 / ECE549
Computer vision)。
基本的坐标系:
• 世界坐标系(world coordinate system);
• 相機坐标系(camera coordinate system);
• 圖像坐标系(image coordinate system);
一般來說,标定的過程分為兩個部分:
• 第一步是從世界坐标系轉換為相機坐标系,這一步是三維點到三維點的轉換,包括 R,t (相機外參)等參數;
• 第二部是從相機坐标系轉為圖像坐标系,這一步是三維點到二維點的轉換,包括 K(相機内參)等參數;
錄影機模型:二維圖像恢複物方三維空間資訊
(1) 錄影機标定:平面靶标定(張正有)PnP, 内參,外參
(2) 光筆标志點的标定:
(3) 光筆測頭中心位置的标定:
參考:張廣軍《機器視覺》
Hough變換
Hough變換:霍夫變換(Hough Transform)是圖像進行中的一種特征提取技術,它通過一種投票算法檢測具有特定形狀的物體。該過程在一個參數空間中通過計算累計結果的局部最大值得到一個符合該特定形狀的集合作為霍夫變換結果。它通過将圖像坐标空間變換到參數空間,來實作直線與曲線的拟合。
Hough變換能夠查找任意的曲線,隻要你給定它的方程。Hough變換在檢驗已知形狀的目标方面具有受曲線間斷影響小和不受圖形旋轉的影響的優點,即使目标有稍許缺損或污染也能被正确識别
思路解析:
1)讀取一幅帶處理二值圖像,最好背景為黑色;
2)擷取圖像空間的源像素資料;
3)通過量化霍夫參數空間為有限個值間隔等分或者累加格子,即p,theta;
4)霍夫變換算法開始,每個像素坐标點P(x, y)被轉換到(r, theta)的曲線點上面,并累加到對應的格子資料點;
5)尋找最大霍夫值,設定門檻值,反變換到圖像空間;
在圖像空間同一直線上的每一個點,對應參數空間上的一條直線,在參數空間上相交于一點(a,b)的直線,在圖像空間對應的點是共線的
圖像坐标空間中過點(xi,yi)和點(xj,yj)的直線上的每一點在參數空間a−b上各自對應一條直線,這些直線都相交于點(a0,b0),而a0、b0就是圖像坐标空間x−y中點(xi,yi)和點(xj,yj)所确定的直線的參數。
反之,在參數空間相交于同一點的所有直線,在圖像坐标空間都有共線的點與之對應。根據這個特性,給定圖像坐标空間的一些邊緣點,就可以通過Hough變換确定連接配接這些點的直線方程。
具體計算時,可以将參數空間視為離散的。建立一個二維累加數組A(a,b),第一維的範圍是圖像坐标空間中直線斜率的可能範圍,第二維的範圍是圖像坐标空間中直線截矩的可能範圍。開始時A(a,b)初始化為0,然後對圖像坐标空間的每一個前景點(xi,yi),将參數空間中每一個a的離散值代入式子(2)中,進而計算出對應的b值。每計算出一對(a,b),都将對應的數組元素A(a,b)加1,即A(a,b)=A(a,b)+1。所有的計算結束之後,在參數計算表決結果中找到A(a,b)的最大峰值,所對應的a0、b0就是源圖像中共線點數目最多(共A(a,b)個共線點)的直線方程的參數;接下來可以繼續尋找次峰值和第3峰值和第4峰值等等,它們對應于原圖中共線點略少一些的直線。
滅點:在透視投影中,一束平行于投影面的平行線的投影可以保持平行,而不平行于投影面的平行線的投影會聚集到一個點,這個點成為滅點(Vanishing Point)。滅點可以看作是無限遠處的一點在投影面上的投影。
第一類即為通過霍夫變換來進行滅點的檢測,對于每一個可能的直線對,這對直線交點的方向能夠被計算出來,并且他們的角度能夠積累到一個參量中。通過選擇包含最高數量詞目的參量來獲得占據主導的滅點。然而,這種方法對于角度參量量化的水準十分的敏感,可能導緻多重的檢測。除此之外,由于滅點是各自獨立檢測,是以這種方法并不能夠直接在滅點上強加正交性的限制。高斯球滅點檢測算法的思想與該算法類似,即把圖像中的直線映射到高斯球上,在高斯球上劃分累加單元,求取交點數目最多的累加單元對應的球坐标,再映射到原圖像中即為滅點的位置。
滅點檢測算法實質即為聚類算法,直線段能夠檢測出,直線的交點亦能夠檢測出,若已知滅點的位置,則直線的分類能夠計算出,若已知直線的分類,則滅點的位置亦能夠計算出,這是一個先有雞還是先有蛋的問題
基于三維散亂點雲與CAD模型比對算法的研究與實作
三維數字化檢測技術:将三維數字化CAD模型與其成品工件的三維型面測量資料進行配準比較和誤差分析,給出産品的制造精度,進而更好的指導零件的設計/生産/制造及裝配環節
三維數字化檢測:點雲資料擷取,點雲與CAD模型配準,偏差計算與誤差分析
(1) 設計坐标系和測量坐标系在不同的坐标系,要對其誤差進行評估,必須将2個坐标系經過剛體變換到同一個坐标系下,進而實作配準。
光筆:基于攝影測量的自标定技術的光學測量系統
20um = 0.020mm
(2)粗配準:歐式變換,使轉換後的點雲盡可能多的重合,以便于縮小模型之間的初始位置和方位差異,為精确配準提供一個更好的疊代初值
(3)精确配準:采取逐漸疊代逼近的方法反複疊代計算,實作點雲與CAD模型的最佳拟合狀态;
基于主成分分析的配準算法,該方法利用點雲的資料體積的主軸方向進行配準,
- a. 計算d點雲資料集合的協方差矩陣,然後根據求得的協方差矩陣計算點雲資料集合的主軸向量,得到旋轉矩陣和平移矩陣,速度快,但要求點雲資料集合之間有充足的重疊或交叉區域
-
b. 最近點疊代Iterative Closest Point(ICP)算法,通過逐漸疊代,尋找兩個待比對的點的集合中對應比對點,并計算兩個點集合之間的剛體變換參數,直到誤差滿足給定的收斂精度或達到最大的疊代次數,最終達到兩個點集合之間的剛體變換參數
Aa.尋找對應點很難,點集合要對應
Ab.點雲數量多,效率低
原始:point-to-point CAD模型大量均勻采樣,點雲數目急劇增加
Point-to-plane
提出一種基于動态調節因子的ICP配準算法,提高配準算法及精度
創新點:
-
(1)提出一種基于三維CAD模型的STL三角網格的對應點尋找方法
CAD:STL 三角網格, 自身攜帶的法向量資訊計算點雲到目标三角網格的最近點,将其作為目标對應點(可以求得相對準确的點)
-
(2)提出一種動态調節因子—動态調整剛體變換參數,使得每次變換沿着原來的趨勢超程變換,,使得下次疊代時搜尋到更多的有效對應點,使得疊代步幅加大,提高算法的收斂速度;
四元數:四元矢量q = [q0,q1,q2,q3]
奇異值分解法:SVD,矩陣對角化分解方法
Kd樹: 一種用于多元空間關鍵資料存儲/管理的資料結構,kd樹,二叉樹的擴充,每一層按照一個關鍵碼值将對象分解為2部分,樹的第一層按照第一次元劃分,。。。。3維, x,y,z,劃分中間點時盡量保證樹的左右2側50%的點
劃分為特定的小空間,回溯
主成分分析法:princpipal component analysis,PCA 找到資料的主要分量,
PCA(Principal Components Analysis)即主成分分析,是圖像進行中經常用到的降維方法
PCA将n個特征降維到k個,可以用來進行資料壓縮,例如100維的向量最後可以用10維來表示,那麼壓縮率為90%。同樣圖像處理領域的KL變換使用PCA做圖像壓縮,人臉檢測和比對。
PCA的思想是将n維特征映射到k維上(k