[發(fā)明專利]一種自設(shè)特征圖形的視覺二維碼室內(nèi)定位方法有效
| 申請?zhí)枺?/td> | 201810952600.6 | 申請日: | 2018-08-21 |
| 公開(公告)號: | CN109029464B | 公開(公告)日: | 2021-05-14 |
| 發(fā)明(設(shè)計)人: | 馮立輝;呂慧超;楊愛英;盧繼華 | 申請(專利權(quán))人: | 北京理工大學(xué) |
| 主分類號: | G01C21/20 | 分類號: | G01C21/20 |
| 代理公司: | 北京正陽理工知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11639 | 代理人: | 唐華 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 特征 圖形 視覺 二維碼 室內(nèi) 定位 方法 | ||
1.一種自設(shè)特征圖形的視覺二維碼室內(nèi)定位方法,其特征在于:核心思想是:基于SIFT的特點設(shè)置特征圖形,并使用經(jīng)過設(shè)置的特征圖形構(gòu)建二維碼,在已知位置粘貼二維碼,使用攝像頭接收二維碼并解碼,使用比例正交投影迭代變換算法確定攝像頭與二維碼之間的相對位置關(guān)系,二維碼中的內(nèi)容為二維碼自身坐標,結(jié)合求得的攝像頭與二維碼之間的相對位置關(guān)系得到攝像頭的位置,通過控制解方程時的迭代誤差來控制定位誤差;
本方法涉及如下定義:
定義1.圖像坐標系:每幅數(shù)字圖像表示為M*N維度的數(shù)組,即M行N列;該圖像中的每一個元素即pixel,稱為像素,數(shù)組中的數(shù)值即是圖像點的灰度值;在圖像中定義直角坐標系,該直角坐標系中每一像素的坐標(u,v)代表該像素在數(shù)組中的列數(shù)和行數(shù);所以,(u,v)是以像素為單位的圖像坐標系的坐標;由于(u,v)只表示像素位于數(shù)組中的列數(shù)和行數(shù),并沒有用物理單位表示出該像素在圖像中的位置;所以建立以物理單位,毫米表示的圖像坐標系的坐標;圖像中任意一個像素(u,v)在直角坐標系和圖像坐標系中這兩個坐標的關(guān)系表達為公式(1):
x=(u-u0)dx
y=(v-v0)dy (1)
在公式(1)中,(x,y)是該像素在圖像坐標系下以毫米為單位的坐標,(u0,v0)是該數(shù)組中心點所在的列數(shù)和行數(shù);dx、dy分別是X軸及Y軸方向上以毫米為單位的像素間距;
定義2.世界坐標系:在環(huán)境中選擇一個基準坐標來描述攝像頭的位置,并用它描述環(huán)境中任何物體的位置;
定義3.攝像頭坐標系:攝像頭坐標系的原點為相機的光心,x軸與y軸與圖像的X,Y軸平行,z軸為攝像頭光軸,它與圖像平面垂直;光軸與圖像平面的交點,即為攝像頭坐標系的原點,構(gòu)成的直角坐標系為攝像頭坐標系;
一種自設(shè)特征圖形的視覺二維碼室內(nèi)定位方法,包括以下步驟:
步驟一:根據(jù)SIFT的特征設(shè)置特征圖形并生成二維碼,具體包括如下步驟:
步驟1.1.以N度步進設(shè)置梯度分布直方圖,在360/N個方向上設(shè)置不同的梯度值,生成梯度分布直方圖,具體為:
其中,N能被360整除,且N的范圍是1到40;
步驟1.2.根據(jù)步驟1.1生成的梯度分布直方圖生成四個不同梯度分布的特征圖形;
步驟1.3.使用步驟1.2中生成的特征圖形構(gòu)建二維碼,具體為:
將四個不同梯度分布的特征圖形作為特征點置于四個頂點上,并在四個特征圖形之間分別插入內(nèi)容區(qū)和校驗區(qū),形成二維碼;
步驟二:將二維碼貼在世界坐標已知的固定位置,進而得到二維碼上的四個特征圖形的世界坐標;使用攝像頭拍攝步驟一生成的二維碼,輸出二維碼數(shù)字圖像;
其中,拍攝輸出的二維碼數(shù)字圖像中包含四個特征圖形;
步驟三:利用SIFT算法識別步驟二輸出的二維碼數(shù)字圖像中的四個特征圖形,并按四個特征圖形的順序來提取二維碼內(nèi)容;
步驟四:基于步驟三中識別到的特征圖形,使用POSIT算法進行計算,得出攝像頭位置的三維坐標,具體包括如下步驟:
步驟4.1將步驟三識別的四個特征圖形在二維碼數(shù)字圖像上的坐標值以及在攝像頭坐標系中的坐標值,代入式子(2)、(3)和(4):
其中,(2)中R為旋轉(zhuǎn)矩陣,具體的:RHj,j=1,2,3為旋轉(zhuǎn)矩陣的行向量,RTj=[Rj1H Rj2HRj3H],j=1,2,3;Rj1H、Rj2H、Rj3H分別為世界坐標系的三個坐標軸方向上的單位向量,在攝像頭坐標系的X、Y、Z三個坐標軸上的投影大小,H代表矩陣的轉(zhuǎn)置,(3)中T是傳輸矩陣,Tx、Ty、Tz為世界坐標系的原點在攝像頭坐標系中的坐標值;(4)中xi、yi,i=1,2,3,4是四個特征圖形在圖像坐標系中的坐標值,其單位均為毫米,為已知量;Xci,Yci,Zci,i=1,2,3,4;代表四個特征圖形在攝像頭坐標系中的坐標值,其單位均為毫米,為未知量;式(3)中的f是攝像頭的焦距,單位是毫米,為已知量;
步驟4.2設(shè)世界坐標系中的一點為(Xw,Yw,Zw),使用式(5)的坐標轉(zhuǎn)換關(guān)系得到Zcx,Zcy,Zc:
其中,RHj=[Rj1H Rj2H Rj3H],右邊最后一個等號是3*4維,最右邊是4*1維,最終得到3*1維;
步驟4.3將公式(5)最左邊和最右邊同時除以Tz,得到公式(6):
其中:
步驟4.4將式(7)中w的公式近似為式(8);
w=Zc/Tz≈1 (8)
其中,將式(7)中w的公式近似為式(8)的原因是二維碼上四個特征點在攝像頭坐標系中攝像頭深度方向的分布范圍跟與攝像頭之間的距離Tz比起來能夠忽略;
步驟4.5將式(8)帶入式(6)得到式(9),并將(9)化簡為(10),并將(9)和(10)中的8個未知量表達為(11)中的向量:
其中,W=[Xw Yw Zw]H;
其中,式(9)和(10)中的8個未知量為sR11、sR12、sR13、sTx、sR21、sR22、sR23和sTy;進一步表達為3個向量,分別表示如(11):
步驟4.5將步驟二得到的四個特征圖形的世界坐標和步驟三得到的四個特征圖形在二維碼數(shù)字圖像上的坐標帶入式(11),得到8個獨立方程組成的方程組,求解該方程組解得這8個未知數(shù)的值,即:
步驟4.6將公式(12)獲得的w帶入公式(11)重新求解,循環(huán)求解直到前后兩次(12)公式的結(jié)果之間差值小于預(yù)先設(shè)定的誤差閾值,解得傳輸矩陣T=[Tx Ty Tz]T;
控制w的誤差,能夠控制最終求解的相機位置的誤差,最終起到人為控制誤差的效果;
步驟4.7使用步驟二中二維碼上的四個特征圖形的世界坐標與步驟4.6解得的傳輸矩陣T=[Tx Ty Tz]T做差,即通過(13)得到攝像頭坐標:
其中,公式(13)左邊(X,Y,Z)即為攝像頭坐標;
至此,完成攝像頭位置的解算,得到了攝像頭位置的三維坐標。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京理工大學(xué),未經(jīng)北京理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810952600.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





