本發明涉及定位技術領域,更具體地說,涉及一種室內定位方法和系統。
背景技術:
人們80%以上時間在室內活動,70%以上的通信量來自室內,室內定位導航的需求愈顯突出,購物導航、室內救援、災難逃生導引、醫療救護、機場向導、社交網絡、特殊群體關愛救助等新的應用必將引發新的業務模式,極大提高數據流量,提供新的業務增值點,室內定位將成為基于位置的服務(Location Based Service,LBS)的主要市場。
在室內需要定位時,一般選用可見光成像的定位方法進行室內定位,在采用可見光進行定位時,每個時刻定位處的結果只使用了一組特征點坐標信息,導致定位結果精準度低。
技術實現要素:
本發明的目的在于提供一種室內定位方法和系統,用于解決現有技術中采用可見光成像法定位時精準度低的問題。
為實現上述目的,本發明實施例提供了如下技術方案:
一種室內定位方法,應用于定位裝置中,包括:
在t1至t2時間段內采集定位區域的幀圖像;
提取采集到的所述幀圖像上的特征點信息;
采用可見光成像定位系統對所述特征點信息進行可見光定位,獲得與t1至t2時間采集到的每個幀圖像所匹配的可行解;
判斷所述幀圖像中的特征點信息的數量;
當所述特征點的數量不小于預設值時,提取與t1至t2時間段內的預設時刻tm拍攝到的幀圖像所匹配的可行解P(tm);
獲取慣性導航系統t1至t2時間段內連續測得的運動體航向角和速度;
采用慣性導航系統依據所述可行解P(tm)、所述運動體航向角和所述速度計算得到t1至t2內各個時刻定位裝置的位置信息;
采用最小二乘法對由可見光成像定位系統得到的t1至t2時間采集到的每個幀圖像所匹配的可行解和所述慣性導航系統進行計算,得到的t1至t2內各個時刻的位置信息進行曲線擬合,得到擬合后的預設時刻的位置信息P(tm1);
采用慣性導航系統依據所述預設時刻的位置信息P(tm1)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息并輸出;
其中,所述預設值為不小于4的正整數。
優選的,上述室內定位方法中,還可以包括:
當所述特征點的數量小于預設值時,獲取所述可見光成像定位系統得到的與t1至t2時間段內采集到的各個幀圖像所匹配的多個可行解;
獲取與所述多個可行解相匹配的相機主光軸信息;
將所述多個可行解中與所述相機主光軸信息所匹配的可行解作為定位結果輸出。
優選的,上述室內定位方法中,當所述特征點的數量值等于3時,所述將所述多個可行解中與所述主光軸信息所匹配的可行解作為定位結果輸出,包括:
將所述多個可行解中與相機主光軸方向相一致可行解作為定位結果輸出。
優選的,上述室內定位方法中,當所述特征點的數量值等于2時,所述將所述多個可行解中與所述主光軸信息所匹配的可行解作為定位結果輸出,包括:
將所述多個可行解中與所述相機主光軸相交叉的可行解作為定位結果輸出。
優選的,上述室內定位方法中,其特征在于,當所述特征點的數量值等于1時,所述將所述多個可行解中與所述主光軸信息所匹配的可行解作為定位結果輸出,包括:
依據所述相機主光軸方向和點光源方向確定相機光心所在的位置,將穿過所述相機光心的所述點光源方向上的可行解作為定位結果輸出。
一種室內定位系統,包括:
圖像采集模塊,用于在t1至t2時間段內采集定位區域的幀圖像,將采集到的幀圖像發送至特征點提取模塊;
特征點提取模塊,用于提取采集到的所述幀圖像上的特征點信息,將提取到的所述特征點信息發送至可見光定位系統;
可見光成像定位系統,用于采用可見光成像定位法對所述特征點信息進行可見光定位,獲得與t1至t2時間采集到的每個幀圖像所匹配的可行解;
特征點信息判斷模塊,用于判斷所述幀圖像中的特征點的數量,當所述特征點的數量不小于預設值時,輸出第一數據信息至慣性導航系統,否則輸出與所述特征點的數量相匹配的數據信息至所述慣性導航系統;
慣性導航系統,用于當獲取到所述第一數據信息時,用于提取與t1至t2時間段內的預設時刻tm拍攝到的幀圖像所匹配的可行解P(tm),獲取t1至t2時間段內連續測得的運動體航向角和速度,依據所述可行解P(tm)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息,采用最小二乘法對由可見光成像定位系統得到的t1至t2時間采集到的每個幀圖像所匹配的可行解和計算得到的t1至t2內各個時刻的位置信息進行曲線擬合,得到擬合后的預設時刻的位置信息P(tm1),采用慣性導航系統依據所述預設時刻的位置信息P(tm1)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息并輸出;
所述預設值為不小于4的正整數。
優選的,上述室內定位系統中,當所述慣性導航系統獲取到與所述特征點的數量相匹配的數據信息時,還用于:
獲取所述可見光成像定位系統得到的與t1至t2時間段內采集到的各個幀圖像所匹配的多個可行解;獲取與所述多個可行解相匹配的相機主光軸信息;將所述多個可行解中與所述相機主光軸信息所匹配的可行解作為定位結果輸出。
優選的,上述室內定位系統中,當所述慣性導航系統獲取到所述特征點的數量為3時的數據信息時,所述慣性導航系統具體用于:
將所述多個可行解中與相機主光軸方向相一致可行解作為定位結果輸出。
優選的,上述室內定位系統中,當所述慣性導航系統獲取到所述特征點的數量為2時的數據信息時,所述慣性導航系統具體用于:
將所述多個可行解中與所述相機主光軸相交叉的可行解作為定位結果輸出。
優選的,上述室內定位系統中,當所述慣性導航系統獲取到所述特征點的數量為1時的數據信息時,所述慣性導航系統具體用于:
依據所述相機主光軸方向和點光源方向確定相機光心所在的位置,將穿過所述相機光心的所述點光源方向上的可行解作為定位結果輸出。
通過以上方案可知,本發明實施例提供的室內定位方法,在t1至t2時間段內采集定位區域的幀圖像,通過當獲取到采用可見光成像定位系統計算得到的可行解后,依據預設時刻所對應的可行解P(tm)和t1至t2時間段內的運動體航向角和速度計算得到t1至t2時間段內定位裝置的位置信息,再采用最小二乘法對由可見光成像定位系統得到的t1至t2時間采集到的每個幀圖像所匹配的可行解和所述慣性導航系統計算得到的t1至t2內各個時刻的位置信息進行曲線擬合,得到擬合后的預設時刻的位置信息P(tm1),再次P(tm1)和t1至t2時間段內的運動體航向角和速度計算得到t1至t2時間段內定位裝置的位置信息,并作為定位結果輸出,可見在計算預設時刻tm的位置信息時融合了整段時間(t1-t2)的特征點信息,所以可以獲得更高精度的定位,而其他時刻的位置信息又是可以通過較高精度的慣性導航信息遞推得到的,因而采用本申請上述實施例公開的技術方案可以有效提高定位精度。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例公開的一種室內定位方法的流程圖;
圖2為本申請公開的定位方法與可見光成像定位法定位結果的對比示意圖;
圖3為當幀圖像上的特診點數量少于預設值時,本申請公開的室內定位方法的流程圖;
圖4為本申請實施例公開的當幀圖像上的特征點數量為1時,采用本申請公開的方法定得到的位結果的示意圖;
圖5為本申請實施例公開的一種室內定位系統的示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
目前手機終端大多都有慣性導航系統,該系統包括陀螺儀、加速度傳感器、重力傳感器,地磁傳感器等。其中陀螺儀、重力傳感器和地磁傳感器數據組合后可以獲得手機當前的姿態和角加速度。當已知起始時刻手機的位置和姿態后,使用角加速度和位置加速度值的二次積分,即可獲得新時刻手機的位置和姿態。
申請人研究發現慣性導航系統的定位精度會隨時間推移而逐步下降,但是短時間內,如秒級,慣性導航系統能夠提供較高精度的相對運動估計。利用慣性導航系統提供的精度較高的相對運動信息,可以有效提高可見光定位精度。
圖1為本申請實施例公開的一種融合基于可見光成像定位法和慣性導航法的室內定位方法,應用于定位裝置中,所述定位裝置例如手機,其具體方法流程,包括:
首先,采用可見光成像定位法對目標區域進行定位,該步驟包括:
步驟S101:在t1至t2時間段內采集定位區域的幀圖像;
在該步驟中,采用照相機對目標區域內在t1-t2時間段內進行連續拍攝,獲取連續的、按時間軸排列的幀圖像,需要說明的是,所述t1-t2的時間間隔十分短,導致各個幀圖像上的特征點的數量基本相同;
步驟S102:提取采集到的所述幀圖像上的特征點信息;
步驟S103:采用可見光成像定位系統對所述特征點信息進行可見光定位,獲得與t1至t2時間采集到的每個幀圖像所匹配的可行解;
需要說明的時,所述可見光成像定位方法為現有技術中的一種技術較為成熟的定位方法,其具體實現方式在此并不再具體介紹;
在采用可見光成像定位方法獲取到每個幀圖像對應的可行解后,依據所述特征點的數量調用慣性導航系統,實現目標區域的精確定位,具體過程包括:
步驟S104:判斷所述幀圖像中的特征點信息的數量;
步驟S105:當所述特征點的數量不小于預設值時,提取與t1至t2時間段內的預設時刻tm拍攝到的幀圖像所匹配的可行解P(tm),所述預設值為不小于4的正整數;
可以理解的是,在采用可見光成像法進行定位時,理論上,至少需要采集到4個特征點才可以實現定位,且特征點數量越多,定位精度越高,因而本申請上述方法中將所述預設值的大小設置為不小于4的正整數。本步驟中的所述預設時刻tm可以根據用戶需求設置為t1-t2之間的任意一時刻,優選的,本申請上述實施例中,所述tm時刻為t1-t2時間段內的中間時刻,即tm=(t1+t2)/2;
步驟S106:獲取慣性導航系統t1至t2時間段內連續測得的各個時刻的運動體航向角和速度;
步驟S107:采用慣性導航系統依據所述可行解P(tm)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息;
假設在[t1,t2]區間內,用照相機對光源(目標區域)進行拍照定位。設預設時刻tm時,手機的位置是P(tm),利用慣性導航系統提供的較精確的相對運動信息(即所述運動體航向角和速度),可以依據P(tm)向前后遞推出P(t),t∈[t1,t2]的位置。也就是說只要估計出P(tm),就可以估計P(t),t∈[t1,t2];
步驟S108:采用最小二乘法對由可見光成像定位系統得到的t1至t2時間采集到的各個幀圖像所匹配的可行解和由所述慣性導航系統計算得到的t1至t2內各個時刻的定位裝置的位置信息進行曲線擬合,得到擬合后的預設時刻的位置信息P(tm1);
步驟S109:采用慣性導航系統依據所述預設時刻的位置信息P(tm1)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息并輸出,此時所述第二次計算得到的t1至t2內各個時刻定位裝置的位置信息即為定位裝置的當前位置信息。
所述步驟S108和109中,綜合[t1,t2]區間內拍攝的幀圖像的可行解和由P(tm)決定的P(t)建立最小二乘估計,即可獲得更準確的預設時刻tm的位置信息P(tm1),再采用所述慣性導航系統依據所述P(tm1)進一步估計即可得到更精確的P(t0)信息。
如圖2所示,圖2中所示每個點為該時刻的幀圖像所對應的可行解,所示曲線為采用本申請上述實施例公開的技術方案得到的位置信息P(t0),參見圖2可見,若每個時刻分別用可見光成像發進行定位,其定位結果的誤差較大,而聯合慣性導航定位信息后,可以獲得更高精度的定位。這是因為若僅用可見光逐幀定位,每個時刻只用了一組特征點坐標信息,而可見光定位與慣性導航聯合定位后,計算預設時刻tm的位置信息時融合了整段時間(t1-t2)的特征點信息,所以可以獲得更高精度的定位。而其他時刻(為獲取幀圖像的時刻)的位置信息又是可以通過較高精度的慣性導航信息遞推得到的,因而采用本申請上述實施例公開的技術方案可以有效提高定位精度。
可以理解的是,在實時性要求較高的應用中,往往無法保證照相機拍攝到的每個幀圖像都能獲取到足夠多的特征點,有時甚至連4個都達不到。此時就需要將所述慣性導航系統融合到可見光成像定位系統中,以彌補連貫性不佳的缺點,此時,在所述步驟S104中,判定出所述幀圖像中的特征點信息的數量后,當所述特征點的數量小于預設值時,為了實現用戶定位,上述方法還可以包括:
步驟S110:獲取所述可見光成像定位系統得到的與t1至t2時間段內采集到的各個幀圖像所匹配的多個可行解和獲取與所述多個可行解相匹配的相機主光軸信息,所述與所述多個可行解相匹配的相機主光軸信息,可以理解為:所述每個圖像幀對應多個可行解,且每個圖像幀均對應一拍攝時刻,所述拍攝時刻所對應一相機的主光軸信息;
步驟S111:將所述多個可行解中與所述相機主光軸信息所匹配的可行解作為定位結果輸出。
可以理解的是,當每個幀圖像上的特征點的數量小于4時,依據所述特征點的數量的不同,所得到的可行解也就不同,例如,當所述特征點的數量為3個時,每個幀圖像對應的可行解的數量為兩個,當所述特征點的數量為2個時,所述幀圖像對應的可行解為空間中的一個已知半徑的圓,當所述特征點的數量為1個時,每個幀圖像所對應的可行解為具有一定角度的、以光源為中心的漏斗面。
可以理解的是,當判斷到所述特征點的數量為3個時,上述方法步驟S111,包括:
將所述多個可行解中與相機主光軸方向相一致可行解作為定位結果輸出。
當所述幀圖像僅能拍攝到3個特征點時(每個特征點為一光源),僅依據這3個特征點,使用可見光成像定位法可得到2個可行解,且這兩個可行解的主光軸方向是不一致的,此時可依據慣性導航系統提供的相機姿態信息獲取相機主光軸,排除兩個可行解中與所述相機主光軸方向不一致的一個錯誤的可行解,從而實現3個特征點的情況下的定位。
可以理解的是,當判斷到所述特征點的數量為2個時,上述方法步驟S111,包括:
將所述多個可行解中與所述相機主光軸相交叉的可行解作為定位結果輸出。
當每個幀圖像僅能拍攝到2個特征點時,此時得到的可行解是空間中的一個已知半徑的圓,且該圓的圓心即為光源所在,利用慣性導航系統提供的手機姿態信息獲取相機主光軸信息,所述相機主光軸穿過所述光源與所述半徑已知的圓相交叉,將交叉點所對應的可行解作為定位結果輸出。
可以理解的是,當判斷到所述特征點的數量為1個時,上述方法步驟S111,包括:
依據所述相機主光軸方向和點光源方向確定相機光心所在的位置,將穿過所述相機光心的所述點光源方向上的可行解作為定位結果輸出。
當所述幀圖像上的特征點的數量為1個時,所述可行解為中心為光源的、具有一特定角度的漏斗形面。利用慣性導航系統可以獲得相機主光軸方向,所述特定角度為光源方向與相機主光軸垂直方向上的夾角,進一步可以依據照片中主光軸與光源方向的夾角,確定相機光心所在的直線,參見圖4,將穿過所述相機光心和所述光源的直線上的可行解所組成的直線作為定位結果輸出。
可以理解的是,當所述特征點為1個時,所述可行解為具有一特定角度的直線,且該直線上的每個點所對應的相機的高度是不同的,因此用戶還可以通過手機系統獲取相機的高度信息,將與所述高度信息相匹配的可行解作為定位結果輸出。
可以理解的是,與上述方法相對應,本申請還用開了一種室內定位系統,兩者可相互借鑒,參見圖5,所述系統包括:
圖像采集模塊1,用于在t1至t2時間段內采集定位區域的幀圖像,將采集到的幀圖像發送至特征點提取模塊;
特征點提取模塊2,與所述圖像采集模塊1相連,用于提取采集到的所述幀圖像上的特征點信息,將提取到的所述特征點信息發送至可見光定位系統3;
與所述特征點提取模塊2相連的可見光成像定位系統3,用于采用可見光成像定位法對所述特征點信息進行可見光定位,獲得與t1至t2時間采集到的每個幀圖像所匹配的可行解;
與所述可見光成像定位系統3相連的特征點信息判斷模塊4,用于判斷所述幀圖像中的特征點的數量,當所述特征點的數量不小于預設值時,所述預設值為不小于4的正整數,輸出第一數據信息至慣性導航系統,否則輸出與所述特征點的數量相匹配的數據信息至所述慣性導航系統;
與所述可見光成像定位系統3和所述特征點信息判斷模塊4相連的慣性導航系統5,當獲取到所述第一數據信息時,用于提取與t1至t2時間段內的預設時刻tm拍攝到的幀圖像所匹配的可行解P(tm),獲取t1至t2時間段內連續測得的運動體航向角和速度,依據所述可行解P(tm)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息,采用最小二乘法對由可見光成像定位系統3得到的t1至t2時間采集到的每個幀圖像所匹配的可行解和t1至t2內各個時刻的位置信息進行曲線擬合,得到擬合后的預設時刻的位置信息P(tm1),再依據所述預設時刻的位置信息P(tm1)和所述運動體航向角和速度計算得到t1至t2內各個時刻定位裝置的位置信息并輸出,將第二次計算得到的所述位置信息作為定位結果輸出。
與上述方法相對應,當所述慣性導航系統獲取到與所述特征點的數量相匹配的數據信息時,即此時所述特征點的數量小于預設值,所述慣性導航系統還用于:
獲取所述可見光成像定位系統3得到的與t1至t2時間段內采集到的各個幀圖像所匹配的多個可行解;獲取與所述多個可行解相匹配的相機主光軸信息;將所述多個可行解中與所述相機主光軸信息所匹配的可行解作為定位結果輸出。
與上述方法相對應,當所述慣性導航系統獲取到所述特征點的數量為3時的數據信息時,所述慣性導航系統具體用于:
將所述多個可行解中與相機主光軸方向相一致可行解作為定位結果輸出。
與上述方法相對應,當所述慣性導航系統獲取到所述特征點的數量為2時的數據信息時,所述慣性導航系統具體用于:
將所述多個可行解中與所述相機主光軸相交叉的可行解作為定位結果輸出。
與上述方法相對應,當所述慣性導航系統獲取到所述特征點的數量為1時的數據信息時,所述慣性導航系統具體用于:
依據所述相機主光軸方向和點光源方向確定相機光心所在的位置,將穿過所述相機光心的所述點光源方向上的可行解作為定位結果輸出。
可以理解的是,本申請還公開了一種應用上述任一一項實施例公開的室內定位系統的手機。
為了描述的方便,描述以上系統時以功能分為各種模塊分別描述。當然,在實施本申請時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統或系統實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統及系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。
還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。