1.一種基于灰度特征提取和稠密光流法的室內(nèi)定位方法,其特征在于,所述基于灰度特征提取和稠密光流法的室內(nèi)定位方法包括以下步驟:
步驟一:人在室內(nèi)行走或車在行進過程中,使用相機傳感器進行固定方向和視角的視頻采集,并標(biāo)識出錄像的起點;
步驟二:對步驟一得到的視頻每隔時間T進行一幀圖像的截取;
步驟三:對每兩幅相鄰圖像利用稠密型光流法進行計算,得到這兩幅圖像運動過程的水平和垂直速度(u,v);
步驟四:對圖像進行灰度變換,得到灰度圖像后計算圖像的灰度平均值,選取灰度值大于平均灰度值的像素點,記錄每個選取的像素的位置用(ll(m),lv(m))表示,其中m為第m個像素,ll為像素的橫坐標(biāo)集合,lv為像素的縱坐標(biāo)集合;
步驟五:根據(jù)(ll(m),lv(m))確定的位置,進行光流的選取得到水平速度un((ll(m),lv(m)))和垂直速度vn((ll(m),lv(m))),根據(jù)得到的所有點的水平速度與垂直速度,計算平均水平速度和平均垂直速度并進行噪點的去除,得到去噪后的平均水平速度和平均垂直速度
步驟六:根據(jù)相機標(biāo)定原理將步驟五得到的平均水平速度和平均垂直速度,轉(zhuǎn)換為三維空間的平均水平速度和平均垂直速度,并根據(jù)時間間隔T,計算兩幅相鄰圖像運動過程中的水平位移和垂直位移;
步驟七:重復(fù)執(zhí)行步驟一至步驟六,直至全部位移計算完畢,并根據(jù)起點,得到行進路線以及每個時間點的具體位置。
2.根據(jù)權(quán)利要求1所述的一種基于灰度特征提取和稠密光流法的室內(nèi)定位方法,其特征在于,所述步驟三中對每兩幅相鄰圖像利用稠密型光流法進行計算的具體過程為:
步驟三一:對兩幅圖像進行灰度變換,得到兩幅灰度圖像;
步驟三二:計算兩幅圖像的時間梯度矩陣ft、第一幅圖像的水平方向梯度fu以及第一幅圖片的垂直方向梯度fv;
其中所述xi為一幅圖像中水平方向上第i個像素的橫坐標(biāo),yj為一幅圖像中垂直方向上第j個像素的縱坐標(biāo),tk為第k幅圖像的時間;
步驟三三:計算光流平均分量與
其中為由第k幅圖像的橫坐標(biāo)為i,縱坐標(biāo)為j的像素及周圍像素計算得到的水平方向平均速度;為由第k幅圖像的橫坐標(biāo)為i,縱坐標(biāo)為j的像素及周圍像素計算得到的垂直方向平均速度;
步驟三四:根據(jù)圖像的拉普拉斯算子,將和帶入公式(6);
其中為根據(jù)圖像的拉普拉斯算子定義計算u的拉普拉斯變換,為根據(jù)圖像的拉普拉斯算子定義計算v的拉普拉斯變換,uxx圖像的水平方向的二階梯度矩陣,uyy為圖像的垂直方向的二階梯度矩陣;根據(jù)拉普拉斯的估計計算
步驟三五:設(shè)置光流初始值以及迭代次數(shù),將u0和v0記為光流估計的初始值;u0為迭代開始前設(shè)定的水平方向速度初值,v0為迭代開始前設(shè)定的垂直方向速度初值;
步驟三六:進行光流的迭代計算,得到水平速度和垂直速度;
其中為迭代n次后得到的水平方向速度,為迭代n次后得到的垂直方向速度,a為平滑因子。
3.根據(jù)權(quán)利要求2所述的一種基于灰度特征提取和稠密光流法的室內(nèi)定位方法,其特征在于,所述步驟四中對圖像進行灰度變換,得到灰度圖像后計算圖像的灰度平均值,選取灰度值大于平均灰度值的像素點的具體過程為:
步驟四一、對圖像進行灰度變換,變換為灰度圖像,并計算整幅圖像的平均灰度,記為
步驟四二、設(shè)置灰度閾值為
步驟四三、建立像素坐標(biāo)系,相鄰兩個像素的距離為1,水平方向坐標(biāo)記為ll,垂直方向坐標(biāo)記為lv;從第一行第一個像素開始,每個像素的灰度與閾值相比,若大于等于閾值,則保存坐標(biāo);若小于閾值,則不保存。
4.根據(jù)權(quán)利要求3所述的一種基于灰度特征提取和稠密光流法的室內(nèi)定位方法,其特征在于,所述步驟五中得到去噪后的平均水平速度和平均垂直速度的具體過程為:
步驟五一:根據(jù)步驟四三保存的水平坐標(biāo)ll與垂直坐標(biāo)lv,得到新的水平速度集un和新的垂直水平速度集vn;
步驟五二:用新的水平速度集un和新的垂直速度集vn計算平均水平速度和平均垂直速度
步驟五三:設(shè)定水平速度閾值為和垂直速度閾值為和將un中所有速度值與和比較,若數(shù)值在和之間則保留,否則則剔除,得到新的水平速度集將vn中所有速度值與和比較,若數(shù)值在和之間則保留,否則則剔除,得到新的垂直速度集計算水平平均速度和垂直平均速度
5.根據(jù)權(quán)利要求4所述的一種基于灰度特征提取和稠密光流法的室內(nèi)定位方法,其特征在于,所述步驟六中計算兩幅相鄰圖像運動過程中的水平位移和垂直位移的具體過程為:
步驟六一:成像平面到攝像機之間的坐標(biāo)轉(zhuǎn)換,像平面坐標(biāo)系的原點O在像素坐標(biāo)系下的坐標(biāo)變?yōu)?u0,v0),將單位像素在X軸和Y軸方向上的長度記成dx和dy,得到兩個坐標(biāo)系之間有如下數(shù)學(xué)關(guān)系:
其中所述sx是攝像機成像的傾斜因子,u0為像平面坐標(biāo)系的原點O在像素坐標(biāo)系下的橫坐標(biāo),v0為像平面坐標(biāo)系的原點O在像素坐標(biāo)系下的縱坐標(biāo),dx為單位像素在X軸方向上的長度,dy為單位像素在Y軸方向上的長度,Xu為像素點在像素平面坐標(biāo)系下的橫坐標(biāo),Yv為像素點在像素平面坐標(biāo)系下的縱坐標(biāo),x為像素點在像平面坐標(biāo)系下的橫坐標(biāo),y為像素點在像平面坐標(biāo)系下的縱坐標(biāo);
步驟六二:成像平面到攝像機之間的坐標(biāo)轉(zhuǎn)換,得到像平面坐標(biāo)系和攝像機坐標(biāo)系之間的如下數(shù)學(xué)關(guān)系:
其中所述xc為該點在攝像機坐標(biāo)系下的X軸坐標(biāo),yc為該點在相機三維坐標(biāo)系下的Y軸坐標(biāo),zc為該點在相機三維坐標(biāo)系下的Z軸坐標(biāo),fc為相機的焦距;
步驟六三:攝像機坐標(biāo)系到世界坐標(biāo)系的坐標(biāo)轉(zhuǎn)換,通過單位正交旋轉(zhuǎn)矩陣R和平移向量t獲得世界坐標(biāo)系與攝像機坐標(biāo)系的映射關(guān)系:
其中所述xw為該點在世界三維坐標(biāo)系下的X軸坐標(biāo),yw為該點在世界三維坐標(biāo)系下的Y軸坐標(biāo),zw該點在世界三維坐標(biāo)系下的Z軸坐標(biāo),R為單位正交旋轉(zhuǎn)矩陣,t為平移向量;
步驟六四:由得到的三維世界坐標(biāo)系的速度,與截取圖像的時間相乘,得到兩幅相鄰圖片運動過程中的水平位移du和垂直位移dv。