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

?

一種基于人工地標(biāo)解碼的定位方法

2021-06-25 14:18:04龔征絳費煥強(qiáng)喻擎蒼
軟件導(dǎo)刊 2021年6期
關(guān)鍵詞:碼字六邊形像素點

龔征絳,陳 武,查 楊,周 磊,費煥強(qiáng),喻擎蒼

(浙江理工大學(xué)信息學(xué)院,浙江 杭州 310000)

0 引言

機(jī)器人在人工智能領(lǐng)域[1-5]一直具有重要應(yīng)用,在機(jī)器人協(xié)同[6-12]、運動學(xué)參數(shù)辨識[13-18]、機(jī)器人定位導(dǎo)航[19-23]和機(jī)器人離線編程等作業(yè)[24-29]中,首先要解決的問題是機(jī)器人定位問題[30-35]。機(jī)器人定位的精確與否,很大程度上決定該領(lǐng)域的發(fā)展。由于定位過程煩瑣,所以尋找一種快速的定位方法越來越重要。

目前的定位方式主要分為基于立體視覺的機(jī)器人定位[36-38]、基于全局視覺的機(jī)器人定位[39]和基于單目視覺的機(jī)器人定位[40-43]3 種方式。

通過地標(biāo)提供信息是機(jī)器人進(jìn)行探索和尋找的主要方法。地標(biāo)指能夠為機(jī)器人提供外部導(dǎo)航定位信息的載體。地標(biāo)分為人工視覺地標(biāo)和自然地標(biāo)[44-47]。與自然地標(biāo)相比,人工視覺地標(biāo)特征顯著、貼放位置隨意和可嵌入特定信息的特點更加實用。

D.Scharstein 等利用尺度相似模式構(gòu)造了一種自相似人工視覺地標(biāo),將一維尺度自相似方波進(jìn)行二維圖形映射;司秉玉利用小波和分形技術(shù),從信號頻譜角度分析如何設(shè)計地標(biāo)使其能較高效率地識讀,進(jìn)而提出一種改進(jìn)的信息嵌入式地標(biāo)模式;李國棟等[48-49]利用QRCode 作為地標(biāo)信息載體,控制移動機(jī)器人對QRCode 內(nèi)存儲信息進(jìn)行提取。

對比以上幾種人工視覺地標(biāo)發(fā)現(xiàn),機(jī)器人采集到這些地標(biāo)不可避免會產(chǎn)生畸變,導(dǎo)致無法對當(dāng)前機(jī)器人位置進(jìn)行精確定位。本文提出一種基于單目視覺的人工視覺地標(biāo)編碼及解碼方法,能夠?qū)C(jī)器人攝像頭中心進(jìn)行快速準(zhǔn)確定位。

1 人工視覺地標(biāo)編碼設(shè)計

1.1 單個編碼片編碼方式

采用顏色+圖形設(shè)計地標(biāo),顏色總體采用黑紅綠藍(lán)4 種顏色,0 代表黑色、1 代表紅色、2 代表綠色、3 代表藍(lán)色。圖形采用六邊形和圓形。

地標(biāo)中包含多個編碼片,每個編碼片由中心標(biāo)定環(huán)和外圈6 個六邊形編碼塊組成。

中心標(biāo)定環(huán)有0、1、2、3(黑紅綠藍(lán))4 種顏色可以選擇,外圈的六邊形有且僅有一個六邊形編碼塊為0(黑色),其余5 個編碼塊可以是1、2、3(紅綠藍(lán))中的任意色自由組合。

對單個形態(tài)編碼片進(jìn)行編碼設(shè)計,采用0、1、2、3 即黑紅綠藍(lán)4 種顏色能夠?qū)崿F(xiàn),黑色編碼片是不變的,按其余5個編碼片包括一個中心標(biāo)定環(huán)可以有5 832 種組合。而以黑色編碼片為基準(zhǔn)有順時針和逆時針兩種旋轉(zhuǎn)編碼方向,旋轉(zhuǎn)無關(guān)性指無論以哪種旋轉(zhuǎn)編碼方向進(jìn)行編碼碼字都不變,所以有5 832 種組合,編碼片有972 個與旋轉(zhuǎn)無關(guān)的碼字。以黑色編碼塊為基準(zhǔn)順時針方向旋轉(zhuǎn)進(jìn)行編碼,表現(xiàn)為如下編碼形式(這里黑色編碼塊不列入碼字)。

(1)編碼形式前5 位為1 或2 或3。

(2)編碼形式第6 位可以為0 或1 或2 或3。

(3)編碼形式第7 位為“-”,編碼形式第8 位表示從編碼片右上角開始數(shù),黑色編碼塊所在位置的序號數(shù)(不是顏色數(shù))。

(4)編碼形式的前6 位為擋片編碼片碼字。

以圖1(彩圖掃OSID 碼可見,下同)為例,單個形態(tài)編碼片顏色形態(tài)編碼形式為232211-5,碼字為232211。

Fig.1 Encoding of single coding slice圖1 單個編碼片編碼

1.2 多個編碼片拼接方式

研究多個編碼片的連接關(guān)系實現(xiàn)多片的拼接表達(dá),在整個地標(biāo)中能拆解成兩種基礎(chǔ)連接方式,一種是兩片編碼片的拼接方式,另一種是三片編碼片的拼接方式。兩片編碼片拼接又能分為左拼接和右拼接兩種形式。

兩片編碼片存在相對位置關(guān)系,基編碼片自身存在一個基位置,目標(biāo)編碼片存在一個目標(biāo)位置。若目標(biāo)編碼片在基編碼片的左側(cè)視為左拼接,若目標(biāo)編碼片在基編碼片的右側(cè)則視為右拼接。通過兩個位置實現(xiàn)兩片編碼片拼接表達(dá)式。同樣的,三片編碼片也存在相對位置關(guān)系,有兩個基編碼片和一個目標(biāo)編碼片。以編碼片右上角為基準(zhǔn)順時針旋轉(zhuǎn),標(biāo)定編碼塊序號為1、2、3、4、5、6(僅為序號,這里不代表顏色)。

如圖2 所示,對于P1 號編碼片來說,它的右連接編碼片是P2 號編碼片,表示如下:

對于P2 號編碼片來說,它的右連接編碼片是P1 號編碼片,表示為式(2):

編碼片P1,P2,P3 連接,表示為式(3):

Fig.2 Encoding slice connection圖2 編碼片連接

1.3 全局唯一人工視覺地標(biāo)

設(shè)計如下算法實現(xiàn)人工視覺地標(biāo)生成,算法需滿足以下拼接條件:

(1)每一個編碼片αm的碼字不能與其他編碼片αn的碼字重復(fù),見式(4)。

(2)編碼片與相鄰編碼片間有且僅有一個編碼片同色。

(3)中心標(biāo)定環(huán)的圖像面積相同,外圈六邊形編碼塊的圖像面積相同。

(4)中心標(biāo)定環(huán)的圖像面積大于六邊形編碼塊的圖像面積。

在算法生成地標(biāo)時采用M 陣列思想,采用拼片算法,1×1 尺寸的子窗體在這里體現(xiàn)為單個編碼片,每個子窗體(編碼片)有且僅出現(xiàn)一次,最終實現(xiàn)編碼的全局唯一性。

首先生成編碼片,開辟一塊內(nèi)存空間用來存放編碼片的碼字。通過初始化函數(shù)對編碼片碼字進(jìn)行枚舉,存放在集合中。每次生成編碼片時,將集合中的元素遍歷取出,和上一塊編碼片進(jìn)行拼接,同時在集合中刪除該元素。這里有兩種情況:①編碼片實現(xiàn)拼接過程中完全符合拼接條件,直接生成人工視覺地標(biāo);②實現(xiàn)拼接過程中無法找到滿足條件的碼字,此時回溯到當(dāng)前編碼片的前一個編碼片,在集合中重新選擇,程序繼續(xù)運行直到完成拼接。生成人工視覺地標(biāo)要保證生成過程的準(zhǔn)確無誤,可生成10×10 至31×31 的人工視覺地標(biāo),生成過程如圖3 所示。

Fig.3 Generation of artificial vision landmark圖3 人工視覺地標(biāo)生成

10×10 規(guī)模大小的人工視覺地標(biāo)如圖4 所示。

Fig.4 Artificial visual landmarks圖4 人工視覺地標(biāo)

人工視覺地標(biāo)生成時,存在一個全局唯一的M 陣列(Mij)能夠表示整個人工視覺地標(biāo),如式(5)所示。

2 人工視覺地標(biāo)解碼定位

2.1 碼字方法研究

2.1.1 編碼組件提取方法研究

得到攝像頭光學(xué)中心在人工視覺地標(biāo)上的像素點坐標(biāo)后,識別出這個中心點所在的編碼片位置,提取這個編碼片的編碼組件。編碼組件包括此編碼片的中心標(biāo)定環(huán)和6 個外圈編碼塊,識別中心點所在位置步驟如下:

(1)整個人工視覺地標(biāo)進(jìn)行輪廓鏈連通域提?。ㄔ紙D像經(jīng)過多值化處理,對相同顏色的像素點提取整合形成連通域),并用Image Moments 算法進(jìn)行圖像處理,提取出所有連通域的像素點(大小、質(zhì)心)。遍歷選擇連通域中像素點大小最大(上述所設(shè)計的人工視覺地標(biāo)中心標(biāo)定環(huán)的像素點大小遠(yuǎn)大于六邊形編碼塊的像素點大小,所以一定是中心標(biāo)定環(huán))并且與中心點坐標(biāo)進(jìn)行差運算值最小的即為距離中心點最近的中心標(biāo)定環(huán)。

(2)中心標(biāo)定環(huán)質(zhì)心與其他所有連通域質(zhì)心進(jìn)行差運算,取絕對值,提取其最小的6 個連通域是中心標(biāo)定環(huán)周圍的6 個外圈編碼塊。

2.1.2 碼字識別方法研究

對一個中心標(biāo)定環(huán)和6 個六邊形編碼塊共7 個編碼組件進(jìn)行顏色提取,采用RGB 顏色空間到HSV 顏色空間的轉(zhuǎn)換。

定義顏色分類,當(dāng)H≥60 &&H<60 時,提取的是紅色,當(dāng)H>110 &&H<150 時,提取的是綠色,當(dāng)H>180 &&H<260時,提取的是藍(lán)色,當(dāng)V≥0&&V≤180時,提取的是黑色。

對編碼塊進(jìn)行位置定義如圖5(編碼形式為232211-5)所示。

(1)遍歷6 個編碼塊與中心標(biāo)定環(huán)質(zhì)心坐標(biāo)進(jìn)行對比,橫坐標(biāo)最小的標(biāo)記為4 號位置,橫坐標(biāo)最大的標(biāo)記為1 號位置。

(2)遍歷其余4 個編碼塊與中心標(biāo)定環(huán)質(zhì)心坐標(biāo)進(jìn)行對比,橫坐標(biāo)最小且縱坐標(biāo)最大的標(biāo)記為5 號位置,橫坐標(biāo)最大且總坐標(biāo)最小的標(biāo)記為3 號位置。

(3)遍歷最后兩個編碼塊,縱坐標(biāo)最大的是0 號位置,縱坐標(biāo)最小的是2 號位置。

以0、1、2、3、4、5 號位置依次順時針提取編碼塊的顏色信息,隨后進(jìn)行排序,以黑色編碼片為第一位并記錄黑色編碼片所在位置,依次排列,進(jìn)行編碼片解碼,得到的碼字為232211。

Fig.5 Decoding position of a single code slice圖5 單個編碼片解碼位置

2.2 解碼定位方法研究

2.2.1 中心線擬合求特征點

為解決攝像頭存在的畸變問題,需要建立擬合曲面來消除此畸變,首要解決的問題是確定擬合曲面所需要的特征點。在此,對六邊形編碼塊進(jìn)行中心線提取。中心線提取首先要提取六邊形編碼塊的銳角頂點坐標(biāo),對六邊形編碼塊輪廓鏈進(jìn)行處理。

(1)計算出與六邊形編碼塊質(zhì)心坐標(biāo)距離最近的像素點g,以這個像素點g 為起始點,遍歷一半輪廓鏈的像素點。

(2)計算出在這半個輪廓鏈上與六邊形編碼塊距離最遠(yuǎn)的像素點h,這個像素點h 就是解決擬合問題的一個銳角頂點。

(3)再從像素點g 開始遍歷另外一半輪廓鏈。

(4)計算出在這半個輪廓鏈上與六邊形編碼塊距離最遠(yuǎn)的像素點k,這個像素點k 就是解決擬合問題的一個銳角頂點,如圖6 所示。

對上述銳角頂點進(jìn)行多次搜索實驗,得到多組6 個編碼塊銳角頂點數(shù)據(jù)(x 坐標(biāo),y 坐標(biāo)),對此數(shù)據(jù)進(jìn)行最小二乘法擬合,原理見式(6)(其中a,b 為y=a+bx 的系數(shù)),快速實現(xiàn)直線的最小二乘法擬合,擬合之后每相鄰兩條直線有交點,這6 個交點即得到的特征點,結(jié)果如圖7 所示。

Fig.6 Acute angle vertex search圖6 銳角頂點搜索

Fig.7 Line fitting圖7 直線擬合

2.2.2 二次擬合曲面模型

攝像頭在進(jìn)行圖像采集任務(wù)時,難以避免的問題是會有攝像頭畸變存在。為了減少攝像頭產(chǎn)生的畸變誤差,使攝像頭中心點在人工視覺地標(biāo)下的坐標(biāo)盡量準(zhǔn)確,需要進(jìn)行二次曲面擬合,一般的二次曲面方程如式(7)所示??紤]到要調(diào)整坐標(biāo)誤差,保持?jǐn)z像頭離地高度Z 的值不變,將式(7)轉(zhuǎn)變成式(8),之后得到變形如式(9)、式(10)所示,其中x,y 是特征點像素坐標(biāo),XY 是實際坐標(biāo)。

6 個特征點的xy 坐標(biāo)必定不都相等,滿足線性無關(guān)性,也即實現(xiàn)了滿秩。

原點設(shè)置為照片左上角頂點位置,記為(0,0)。將6個特征點的坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6)以及現(xiàn)實坐標(biāo)X1、X2、X3、X4、X5、X6進(jìn)行方程組求解,得到未知數(shù)a1、b1、c1、d1、e1、f1,從而進(jìn)行橫坐標(biāo)方向上的曲面擬合。同樣地,進(jìn)行縱坐標(biāo)方向上的曲面擬合,將6 個特征點 的坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6)以及現(xiàn)實坐標(biāo)Y1、Y2、Y3、Y4、Y5、Y6進(jìn)行方程組求解求得曲面,其中(X1,Y1)、(X2,Y2)、(X3,Y3)、(X4,Y4)、(X5,Y5)、(X6,Y6)為現(xiàn)實坐標(biāo),用千分尺進(jìn)行精確測量,在二次曲面基礎(chǔ)上定位得到攝像頭中心像素坐標(biāo)到現(xiàn)實坐標(biāo)的轉(zhuǎn)換。

3 實驗結(jié)果分析

人工視覺地標(biāo)生成編碼采用Intel Core i5-4200U 2.3GHz處理器,16G 內(nèi)存。人工視覺解碼采用樹莓派3B+,攝像頭采用Raspberry P(iB)型。

3.1 地標(biāo)生成編碼實驗

改進(jìn)后的單個編碼片總共有972 種,可以編碼生成10×10 至31×31 大小的人工視覺地標(biāo),將10×10 至30×30(31×31的人工視覺地標(biāo)生成運行時間不穩(wěn)定,不列入統(tǒng)計)的運行時間繪制成表格1 并做成折線圖8。

Table 1 Matrix generation time表1 矩陣生成時間

Fig.8 Artificial visual landmark generation time圖8 人工視覺地標(biāo)生成時間

在生成人工視覺地標(biāo)時,同時生成唯一一個人工視覺地標(biāo)編碼矩陣,圖4 的對應(yīng)編碼矩陣如表2 所示。

3.2 地標(biāo)解碼定位實驗

將樹莓派攝像頭固定在人工視覺地標(biāo)正上方進(jìn)行解碼定位實驗,攝像頭拍攝的是640×480 像素照片,如圖9 所示。攝像頭中心所在編碼片的6 個特征點(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6)進(jìn)行二次曲面擬合,得到曲面圖如圖10、圖11 所示。其中圖10 是X 方向上擬合后的二次曲面,圖11 是Y 方向上擬合后的二次曲面。

Table 2 Coding matrix表2 編碼矩陣

Fig.9 Original image圖9 原圖

Fig.10 X direction quadratic surface圖10 X 方向二次曲面

Fig.11 Y direction quadratic surface圖11 Y 方向二次曲面

通過這兩個擬合曲面實現(xiàn)攝像頭中心所在六邊形編碼片圖像像素點坐標(biāo)到現(xiàn)實坐標(biāo)的變換,省卻了傳統(tǒng)標(biāo)定方法的繁雜步驟,能夠快速進(jìn)行坐標(biāo)變換。

將擬合直線交點得到的6 個特征點經(jīng)過二次曲面擬合程序編譯運行,得到攝像頭中心坐標(biāo)、攝像頭中心所在編碼片的碼字,如圖12 所示。攝像頭中心現(xiàn)實坐標(biāo)通過擬合曲面得到如下坐標(biāo):(126.452,107.187),這里世界單位坐標(biāo)以毫米為單位。攝像頭中心所在編碼片的編碼形式為311222-4,碼字為311222。

Fig.12 Decoding diagram圖12 解碼

3.3 插值點誤差分析

控制電機(jī)將攝像頭移動,得到移動前后攝像頭中心像素點坐標(biāo)位置。圖13 為移動后的解碼圖。

如圖13,移動前攝像頭中心現(xiàn)實坐標(biāo)為(126.452,107.187),其像素坐標(biāo)為(320,240)。移動一次后,攝像頭中心現(xiàn)實坐標(biāo)為(127.775,111.262),其像素坐標(biāo)為(330,246)。

Fig.13 Decoded image after moving圖13 移動后的解碼

移動兩次后,攝像頭中心現(xiàn)實坐標(biāo)為(129.098,115.337),進(jìn)行插值點誤差分析,得到此時攝像頭中心像素坐標(biāo)為(342,253),比較前兩次的像素坐標(biāo)差,X 方向有2個像素點誤差,Y 方向有1 個像素點誤差。

進(jìn)行100 次插值點誤差分析實驗,得到其中5 次實驗的結(jié)果如表3 所示。其中X 方向上最大誤差為3 個像素,最小誤差為0 個像素;Y 方向最大誤差為2 個像素,最小誤差為0 個像素,滿足定位精度要求,換成像素精度是0.047mm/像素,而黑白棋盤格標(biāo)定板定位的像素精度是0.17mm/像素,提高了0.123mm/像素精度。

Table 3 Comparison of interpolation point results表3 插值點結(jié)果對比

4 結(jié)語

本文分析了現(xiàn)有人工視覺地標(biāo)現(xiàn)狀,針對攝像頭中心點定位問題提出一種新型人工視覺地標(biāo)的編碼以及解碼方法,快速實現(xiàn)人工視覺地標(biāo)生成,并采取特征點擬合定位方法針對此地標(biāo)進(jìn)行解碼。實驗表明,人工視覺的編碼生成速度快,根據(jù)此人工地標(biāo)進(jìn)行的解碼完成度高,中心定位準(zhǔn)確,比傳統(tǒng)棋盤格標(biāo)定定位提高了0.123mm/像素的精度。后續(xù)工作要進(jìn)行機(jī)械臂相對運動進(jìn)行機(jī)械臂誤差糾正,以此調(diào)整機(jī)械臂,檢測機(jī)械臂運動過程中的失步問題以及安裝誤差。

猜你喜歡
碼字六邊形像素點
知識快餐店 到處都是六邊形
創(chuàng)意六邊形無限翻
童話世界(2018年32期)2018-12-03 05:14:56
放 下
揚子江詩刊(2018年1期)2018-11-13 12:23:04
數(shù)據(jù)鏈系統(tǒng)中軟擴(kuò)頻碼的優(yōu)選及應(yīng)用
基于canvas的前端數(shù)據(jù)加密
放下
揚子江(2018年1期)2018-01-26 02:04:06
怎樣剪拼
怎樣剪拼
基于逐像素點深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
平南县| 怀安县| 泸水县| 东阳市| 青铜峡市| 自贡市| 开江县| 邵阳县| 黔南| 闽清县| 安康市| 崇明县| 衡山县| 八宿县| 同江市| 孟州市| 志丹县| 秀山| 沿河| 台东县| 托克托县| 闵行区| 青冈县| 曲阳县| 黑山县| 阿城市| 鱼台县| 潮安县| 明溪县| 荃湾区| 罗甸县| 平潭县| 青海省| 绥德县| 洪江市| 宁安市| 茶陵县| 会泽县| 古蔺县| 合江县| 永兴县|