国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

攝影測量中環(huán)狀編碼標(biāo)靶識別與定位方法

2024-02-29 09:11楊延竹柳俊先
關(guān)鍵詞:標(biāo)靶同心圓二進(jìn)制

李 恒,楊延竹,柳俊先,楊 肖

(東華大學(xué) 機械工程學(xué)院, 上海)

在三維攝影測量領(lǐng)域,為了提高相機標(biāo)定、特征點立體匹配、數(shù)據(jù)拼接以及三維重建的準(zhǔn)確性[1-2],使用編碼標(biāo)靶作為被測物體表面特征點。其中,圓環(huán)編碼標(biāo)靶具有仿射不變性、旋轉(zhuǎn)平移不變性、易于識別等特點,因而被廣泛應(yīng)用。

空間平面上的圓在相機成像后易變?yōu)闄E圓。由于透視投影的特性,圓心的投影點并不是橢圓幾何中心,圖像中單個橢圓可能對應(yīng)著空間中多個平面圓,難以通過單個橢圓求解準(zhǔn)確的中心,因此環(huán)狀編碼標(biāo)靶中心精確定位與編碼標(biāo)靶解碼是研究的關(guān)鍵。關(guān)于編碼標(biāo)靶中心的提?。簩O麗君等[3]提出一種基于均值像素法的圓心亞像素提取方法,通過對編碼標(biāo)靶內(nèi)像素點及像素坐標(biāo)加權(quán)質(zhì)心,求得其中心亞像素坐標(biāo),但未考慮透視變換的影響。陳天飛等[4]利用射影變換及RANSAC思想,計算橢圓圓心與射影變換后實際標(biāo)靶標(biāo)準(zhǔn)圓心,并通過迭代的思想來優(yōu)化射影變換矩陣,求得最優(yōu)的橢圓圓心,但該方法迭代時間較長。Xie等[5]根據(jù)對偶二次曲線的幾何特征提出經(jīng)過任意兩標(biāo)志點的對偶矩陣,可得到一條穿過兩圓圓心投影的特征向量,將同一個圓心投影后的多個向量叉乘,可得到任意圓圓心,但這需要平面內(nèi)有非共線的3點才能求出圓心。關(guān)于編碼標(biāo)靶的解碼:周申江等[6]通過仿射變換將橢圓變換為標(biāo)準(zhǔn)圓,然后進(jìn)行編碼標(biāo)靶的解碼,但此方法解碼準(zhǔn)確率較低;金滔等[7]在傳統(tǒng)圓環(huán)編碼標(biāo)靶上添加3個定位符,既可以用于標(biāo)靶定位,也可以增加標(biāo)靶的數(shù)目,但圖像較模糊時無法識別定位符;熊雪菲等[8]將編碼標(biāo)靶設(shè)計為定位層、起始層、編碼層,既提高解碼準(zhǔn)確率,又增加了編碼容量,但設(shè)計較復(fù)雜。

1 同心圓投影變換求解圓心

圖1 圓的空間透視投影圖Fig.1 Spatial perspective projection diagram of a circle

(1)

設(shè)

則由二次曲線投影變換公式一般表示形式E′=H-TEH-1可得[10],二次曲線變換后在圖像平面上成像的橢圓方程如式(2)所示。

(2)

通過觀察式(2)可發(fā)現(xiàn):

1)若向量β屬于正交于P3的平面,則E′1β=sE′2β(s為比例系數(shù))。取該平面的兩個基向量α1、α2,可得到E′1β1=sE′2β1和E′1β2=sE′2β2,即這兩個基向量為矩陣E′2-1E′1的特征向量,兩者對應(yīng)的特征值均為s。

經(jīng)進(jìn)一步分析發(fā)現(xiàn)(2)中特征向量的含義,由H-1H=I可得H的第3個列向量h3正交于P1和P2。

(3)

另外,由點投影變換p′=Hp可得,原平面上原點經(jīng)過投影變換后的坐標(biāo)也為h3。

(4)

2 環(huán)形標(biāo)靶編解碼

本文采用具有明顯特征的環(huán)形編碼標(biāo)靶進(jìn)行編解碼,如圖2所示。對于左邊不帶編碼信息的非編碼標(biāo)靶無編碼信息,只能對其圓心進(jìn)行定位,因此常用于相機的標(biāo)定。而右邊有編碼信息的編碼標(biāo)靶不僅能對同心圓圓心進(jìn)行定位,還能識別唯一的編碼信息,常用于點云拼接和初步確立空間三維點坐標(biāo)等[11]。

圖2 非編碼標(biāo)靶與編碼標(biāo)靶Fig.2 Non-coded target and coded target

2.1 編碼標(biāo)靶設(shè)計

編碼標(biāo)靶的設(shè)計具備唯一性、便于識別以及數(shù)量充足等特點。Schneider等[12]設(shè)計的環(huán)形編碼標(biāo)靶應(yīng)用較廣泛,本文在該研究的基礎(chǔ)上,設(shè)計了新的環(huán)狀編碼標(biāo)靶(見圖2)。該編碼標(biāo)靶由外部環(huán)狀編碼帶與內(nèi)部被12等分的編碼標(biāo)靶組成,其中,外部編碼帶用于標(biāo)靶快速定位,內(nèi)部編碼標(biāo)靶用于標(biāo)靶識別。

此編碼標(biāo)靶同心圓直徑由外向內(nèi)分別為11、8、5 mm,每一等分編碼標(biāo)靶根據(jù)顏色的不同對應(yīng)二進(jìn)制的0或1。遍歷編碼標(biāo)靶一周,將此12位二進(jìn)制數(shù)對應(yīng)的最小十進(jìn)制作為此編碼標(biāo)靶的身份標(biāo)識。

2.2 編碼標(biāo)靶提取及定位

采集編碼標(biāo)靶后,要對圖像進(jìn)行標(biāo)靶提取,將符合特征的候選橢圓提取出來,以便后面的定位與解碼,具體流程如圖3所示。

圖3 編碼標(biāo)靶提取流程Fig.3 Encoded target extraction process

2.2.1 圖像預(yù)處理

首先,將采集到的原始圖像轉(zhuǎn)為灰度圖像,以減少圖像原始數(shù)據(jù),便于后續(xù)數(shù)據(jù)處理;其次,對灰度圖采用中值濾波進(jìn)行非線性處理,保留圖像邊緣信息,以實現(xiàn)在不損失圖像細(xì)節(jié)的情況下保護(hù)圖像邊緣信息;再次,通過大津閾值法對圖像進(jìn)行二值化處理;最后,利用Canny邊緣算子進(jìn)行邊緣提取。Canny邊緣提取算子具有對梯度方向幅值進(jìn)行非極大值抑制和可通過雙閾值來進(jìn)行邊緣檢測的優(yōu)點,能夠很好地檢測邊緣并進(jìn)行連接。預(yù)處理前后的圖像如圖4所示。

圖4 預(yù)處理前后圖像Fig.4 Before and after pre-processing images

2.2.2 最小二乘法擬合橢圓

將提取到的邊緣像素進(jìn)行最小二乘法擬合橢圓,確定標(biāo)靶中心位置坐標(biāo),以便進(jìn)行下一步操作。

空間中的二次曲線如式(5)。

f(x,y)=Ax2+Bxy+Cy2+Dx+Ey+F

(5)

則目標(biāo)函數(shù)為

(6)

若使G取得最小值,根據(jù)極值原理,需要滿足式(7)。

利用WordCloud 制作詞云時,一般經(jīng)過三個步驟:一是使用wordcloud.WorldCloud 函數(shù)來設(shè)置詞云對象的有關(guān)屬性(或者說是參數(shù));二是利用wordcloud.generate(text)函數(shù)或wordcloud.generate_from_frequencies(frequencies[,…])函數(shù)生成詞云,前者是根據(jù)文本生成詞云,后者是根據(jù)詞頻生成詞云;三是利用wordcloud.to_file(file_name)函數(shù)將詞云輸出到文件進(jìn)行保存。

(7)

設(shè)橢圓中心坐標(biāo)為(x0,y0),長軸半徑為ra,短軸半徑為rb,橢圓偏角(橢圓短軸與水平方向的夾角)為θ,則計算橢圓如式(8)所示。

(8)

聯(lián)立(5)和(8)可得[13]:

(9)

此時經(jīng)投影變換二次曲線對應(yīng)的矩陣形式分別為

2.2.3 橢圓篩選準(zhǔn)則

通過最小二乘法對橢圓進(jìn)行擬合,精確獲取標(biāo)靶特征圓。為了對擬合的候選“橢圓”進(jìn)行篩選,以剔除由于環(huán)境光和其他因素造成的影響。具體通過以下3個準(zhǔn)則來確定真實橢圓。

1)尺寸準(zhǔn)則。通過判斷提取出的輪廓內(nèi)像素個數(shù)φ是否滿足φmin<φ<φmax來確定并清除不在像素范圍內(nèi)的輪廓,φmin和φmax分別為最小和最大像素閾值。

2)圓度準(zhǔn)則。設(shè)候選橢圓輪廓內(nèi)點到橢圓的距離[14]為T,并設(shè)置一個誤差閾值Terror,當(dāng)l>Terror時,索引index+1,最后判斷索引index的大小,如果index大于設(shè)置的閾值Tindex,認(rèn)為此候選輪廓不是橢圓輪廓,則進(jìn)行剔除。

3)長短軸比準(zhǔn)則。當(dāng)輪廓長軸大于3倍的短軸時,認(rèn)為此輪廓傾斜角度過大,不符合橢圓輪廓特征,則進(jìn)行剔除。

圖5 同心橢圓效果圖Fig.5 Concentric ellipse effect

2.3 編碼標(biāo)靶解碼

由于拍攝角度的不同,環(huán)狀標(biāo)靶成像相較于實際三維圖像會發(fā)生不同比例的收縮變換,對解碼產(chǎn)生較大的影響,因此采用基于最小二乘法的仿射變換來矯正圖像,使其成為正圓。仿射變換通過對圖像進(jìn)行旋轉(zhuǎn)、平移,解決相機成像過程中的圖像比例失調(diào)問題[15]。

對拍攝的圖像進(jìn)行仿射變換后得到圓環(huán)標(biāo)靶,如圖6所示。由圖6可知,圓環(huán)M、N分別為編碼帶外環(huán)與內(nèi)環(huán),經(jīng)過仿射變換可知,此時圓環(huán)M、N為標(biāo)準(zhǔn)圓,對兩圓環(huán)之間的像素進(jìn)行遍歷,從而解得編碼標(biāo)靶。

圖6 變換后的圓環(huán)標(biāo)靶Fig.6 The transformed circular target

本文采用12位編碼標(biāo)靶進(jìn)行編碼,每一等分編碼帶所對應(yīng)的角度為30°。通過使用Flann庫中KD-Tree搜索半徑最近點,得到每個角度對應(yīng)半徑范圍內(nèi)像素的數(shù)目l。l與設(shè)置的閾值T進(jìn)行比較,如果l>T,則對應(yīng)的二進(jìn)制數(shù)字為1;否則,二進(jìn)制數(shù)字為0。然后每隔30°進(jìn)行一次搜索,得到一個12位的二進(jìn)制數(shù)字序列b[i]。通過移位運算將此二進(jìn)制序列b[i]轉(zhuǎn)為對應(yīng)最小十進(jìn)制整數(shù)的二進(jìn)制序列bmin[i],此時完成第一次遍歷。第二次遍歷相對于第一次遍歷位置順時針偏移1°,同樣將得到的12位二進(jìn)制序列轉(zhuǎn)為對應(yīng)的最小二進(jìn)制序列。最后,將得到的30個對應(yīng)最小二進(jìn)制序列對應(yīng)元素相加,并取平均值。分別對該序列的每一位數(shù)字進(jìn)行判斷,如果該數(shù)字大于0.5,則將該二進(jìn)制數(shù)字設(shè)置為1;反之,則設(shè)置為0。此時得到的二進(jìn)制序列即最終的二進(jìn)制序列,將該序列轉(zhuǎn)為十進(jìn)制數(shù),即此編碼標(biāo)靶對應(yīng)的編碼值,對應(yīng)的標(biāo)靶解碼如圖7所示。

圖7 編碼標(biāo)靶解碼圖Fig.7 Decoding diagram of the coded target

3 試驗與分析

本文采用分辨率為6 464像素×4 852像素的相機對同心圓投影變換的圓心提取方法的精度和環(huán)狀編碼標(biāo)靶不同角度解碼的精度進(jìn)行驗證。試驗分為3部分:一是對同心圓中心提取精度進(jìn)行測試分析,并與文獻(xiàn)[3]中利用質(zhì)心法所提取亞像素中心精度進(jìn)行對比;二是對不同角度編碼標(biāo)靶解碼的精度進(jìn)行分析;三是對不同角度編碼標(biāo)靶重復(fù)性誤差進(jìn)行分析。

3.1 同心圓中心提取精度驗證

將相機光軸與貼有編碼標(biāo)靶平面的夾角設(shè)置為60°,并對9個編碼標(biāo)靶進(jìn)行圓心提取,以驗證本文方法精度。圓心提取精度結(jié)果如圖8所示。

圖8 圓心提取精度驗證Fig.8 Verification of circle extraction accuracy

圖8(a)為本文圓心提取精度標(biāo)靶圖。圖8(b)為采用編碼值為1 365的12位編碼標(biāo)靶進(jìn)行驗證,以編碼帶內(nèi)圈與外圈半徑平均值畫圓,得到圖中紅色輪廓,并與編碼帶相交于12個點。以圖8(b)中Q為例,根據(jù)透視投影變換原理,理論上Q與Q′經(jīng)過圓心,同理其余相交點兩兩之間連線也都經(jīng)過圓心,通過最小二乘法求得距離6條直線最近的點為準(zhǔn)確圓心。

將上述方法求得圖8(a)中的全部圓心作為理想圓心,并與本文通過同心圓投影變換得到的圓心、非編碼帶外圓通過橢圓擬合得到的圓心、內(nèi)圓通過橢圓擬合得到的圓心進(jìn)行對比,結(jié)果如表1所示。

表1 不同方法所提取的圓心坐標(biāo)對比 單位:像素

由表1數(shù)據(jù)可知,本文算法得到的中心圓與理想圓心的平均誤差為0.225像素,相較于外圓擬合圓心平均誤差(0.501像素)、內(nèi)圓擬合誤差(0.294像素)有所減少,這說明本文算法得到的圓心坐標(biāo)更接近理想圓心,圓心定位精度更高。

為進(jìn)一步驗證本文提出的圓心提取方法精度,將本文算法提取到的編碼標(biāo)靶圓心與文獻(xiàn)[3]中提出的方法進(jìn)行對比。其中,文獻(xiàn)[3]利用質(zhì)心法對仿射變換后的單個編碼標(biāo)靶進(jìn)行中心定位的方法,得到編碼標(biāo)靶的亞像素中心。分別采用理想圓心提取方法、本文同心圓提取圓心方法、文獻(xiàn)[3]中的方法對圖8(a)中的編碼標(biāo)靶進(jìn)行圓心亞像素提取,結(jié)果如表2所示。

表2 與其他文獻(xiàn)提取圓心坐標(biāo)對比 單位:像素

由表2可知,本文所提出的方法在圓心提取平均誤差和標(biāo)準(zhǔn)差方面都明顯比文獻(xiàn)[3]中利用質(zhì)心法求得的圓心亞像素方法誤差要小,更能適用復(fù)雜環(huán)境下對環(huán)狀編碼標(biāo)靶的定位。

3.2 不同角度編碼標(biāo)靶解碼驗證

為驗證本文解碼算法的識別效果,采用不同角度對編碼標(biāo)靶識別率進(jìn)行驗證。本文選用的拍攝角度如圖9所示,圖9(a)~(e)分別為采用60°、65°、70°、75°、80°來進(jìn)行驗證。

圖9 不同角度下編碼標(biāo)靶識別結(jié)果圖Fig.9 The recognition results of coded targets under different angles

當(dāng)相機光軸與編碼標(biāo)靶平面法線角度為75°(<80°)時,以圖9(d)為例,提取標(biāo)靶平面上64個編碼標(biāo)靶中心,提取標(biāo)靶中心結(jié)果如表3所示。由表3得到的64個編碼標(biāo)靶中心坐標(biāo)可知,在75°時標(biāo)靶平面上所有編碼標(biāo)靶都能被提取出來,此時解碼率為100%。當(dāng)角度變?yōu)?0°時,如圖9(e)所示,只有46個編碼標(biāo)靶被提取出來,其解碼率只有71.8%,因此建議在用編碼標(biāo)靶進(jìn)行識別定位時盡量使得其角度在75°以內(nèi)。

表3 相機與標(biāo)靶平面呈75°時的編碼標(biāo)靶圓心提取Table 3 Coded target circle extraction when the camera is at 75° to the target plane

3.3 不同角度編碼標(biāo)靶重復(fù)性誤差分析

將相機固定并調(diào)整標(biāo)靶平面與相機的角度,相機曝光設(shè)置為40 000 μs條件下采用同心圓環(huán)提取編碼標(biāo)靶圓心的方式,分別對45°、50°、55°、60°、65°、70°、75°等7種拍攝位姿進(jìn)行10次拍攝,最終得到圓心重復(fù)性誤差最大值。不同角度提取結(jié)果如表4所示。

表4 不同角度提取圓心重復(fù)誤差Table 4 Repetition error of circle center extraction at different angles

根據(jù)表4知,不同角度的編碼標(biāo)靶重復(fù)性誤差均在0.1像素內(nèi),可以看出本文圓心提取方法能適應(yīng)不同角度拍攝條件,且穩(wěn)定性較高。

4 結(jié) 語

本文提出了一種基于同心圓投影變換求解圓心的方法。該方法利用同心圓投影變換后圓心唯一的特性,對投影變換后的兩橢圓矩陣進(jìn)行線性組合,從而確定同心圓圓心即為此線性組合矩陣第三個特征值所對應(yīng)的特征向量。此外,對于編碼標(biāo)靶的識別,設(shè)計了一套基于最小二乘仿射變換方法的編碼標(biāo)靶編解碼流程。

為驗證本文的方法提取橢圓圓心的精度,在相機光軸與編碼標(biāo)靶平面法線成60°角度的情況下,利用最小二乘法求得編碼值為1 365的編碼標(biāo)靶理想圓心。試驗結(jié)果表明,所求得的圓心距理想圓心的平均誤差為0.225像素,小于內(nèi)外圓擬合的平均誤差,更接近真實圓心。對于編碼標(biāo)靶的識別,采用相機與編碼標(biāo)靶夾角在75°以內(nèi)有良好的解碼效果。

本文提出的對編碼標(biāo)靶精確定位的方法能夠適應(yīng)復(fù)雜環(huán)境的要求,并很好地對圓心進(jìn)行定位,進(jìn)而提高攝像機的標(biāo)定與特征點立體匹配精度。

猜你喜歡
標(biāo)靶同心圓二進(jìn)制
同心圓夢再出發(fā)
用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
同心圓夢再出發(fā)
繡出里下河畔最美“同心圓”
同心圓變變變
有趣的進(jìn)度
二進(jìn)制在競賽題中的應(yīng)用
基于凸包算法和抗差最小二乘法的激光掃描儀圓形標(biāo)靶中心定位
球形標(biāo)靶的固定式掃描大點云自動定向方法
一種平面靶心的提取算法*