基于場景三維點云的視覺定位方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機技術(shù),具體涉及一種基于場景三維點云的視覺定位方法及裝 置。
【背景技術(shù)】
[0002] 當前,隨著智能終端的發(fā)展,基于位置的服務受到越來越多的關(guān)注,促使定位技術(shù) 成為研宄熱點。常見的定位技術(shù)一般基于GPS或者Wi-Fi無線網(wǎng)絡等。但是這些定位技術(shù) 存在著易受干擾、適用范圍有限等諸多問題。
[0003] 視覺定位(Image-based Localization)技術(shù),即基于場景三維點云計算查詢圖像 的相機在該點云中的位置和方向,能夠有效地解決上述問題。
[0004] 然而,視覺定位技術(shù)是基于查詢圖像的局部特征與場景點云中的點之間的匹配關(guān) 系來確定查詢圖像的相機位置和方向的。當前,場景點云的規(guī)模往往在百萬量級甚至更大, 因此,尋找查詢圖像局部特征和場景點之間的匹配關(guān)系需要進行大量的計算,導致視覺定 位技術(shù)中尋找匹配關(guān)系的效率無法提高。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供了一種基于場景三維點云的視覺定位方法及 裝置,能夠提高視覺定位方法中尋找匹配關(guān)系的效率。
[0006] 第一方面,本發(fā)明提供一種基于場景三維點云的視覺定位方法,包括:
[0007] 將預先建立的場景點云劃分為多個不相交的子集;
[0008] 根據(jù)待查詢圖像的全局特征描述子、每個子集的全局特征描述子,將所有子集進 行優(yōu)先級排序,獲得優(yōu)先級排序后的子集隊列;
[0009] 選擇所述子集隊列中的第一個子集,查找該第一個子集中的各場景點與所述待查 詢圖像的局部特征描述子的匹配關(guān)系,并確定查找到的匹配關(guān)系是否滿足預設的結(jié)束條 件,如果滿足,則結(jié)束;
[0010] 否則,選擇所述子集隊列中的第二個子集,查找所述第一個子集和第二個子集中 各場景點與所述待查詢圖像的局部特征描述子的匹配關(guān)系,并確定查找到的匹配關(guān)系是否 滿足結(jié)束條件,如果滿足,則結(jié)束;
[0011] 否則,重復選擇所述子集隊列中的第N個子集,并查找從第一個子集至第N個子集 中各場景點與所述待查詢圖像的局部特征描述子的匹配關(guān)系,直至所述匹配關(guān)系滿足預設 結(jié)束條件,N為大于2的自然數(shù);
[0012] 根據(jù)查找到的所述匹配關(guān)系估計拍攝待查詢圖像相機的位置和方向。
[0013] 可選地,所述根據(jù)查找到的所述匹配關(guān)系估計待查詢圖像所屬相機的位置和方向 之前,所述方法還包括:
[0014] 在已經(jīng)查找M個子集之后的匹配關(guān)系仍不滿足所述結(jié)束條件時,確定M個子集中 所有場景點的數(shù)量是否大于預設閾值,若大于,則結(jié)束,M為大于1的自然數(shù)。
[0015] 可選地,根據(jù)待查詢圖像的全局特征描述子、每個子集的全局特征描述子,將所有 子集進行優(yōu)先級排序,獲得優(yōu)先級排序后的子集隊列,包括:
[0016] 獲取所述待查詢圖像的全局特征描述子,以及獲取每個子集的全局特征描述子;
[0017] 確定每個子集的全局特征描述子與所述待查詢圖像的全局特征描述子的度量距 離;
[0018] 根據(jù)度量距離的大小,將所有子集進行排序,獲得所述子集隊列,排在所述子集隊 列中第一位的子集優(yōu)先級最高,對應的度量距離最小。
[0019] 可選地,所述將預先建立的場景點云劃分為多個不相交的子集,包括:
[0020] 采用劃分算法將所述場景點云劃分為多個不相交的子集。
[0021] 可選地,獲取每個子集的全局特征描述子,包括:
[0022] 獲取一子集中所有場景點的局部特征描述子;
[0023] 根據(jù)所有場景點的局部特征描述子生成所有場景點所屬子集的全局特征描述 子;
[0024] 或者,
[0025] 獲取一子集中所有場景點的局部特征描述子;
[0026] 獲取每一場景點對應的所有局部特征描述子的平均值
[0027] 根據(jù)所有場景點的局部特征描述子的平均值生成所有場景點所屬子集的全局特 征描述子。
[0028] 第二方面,本發(fā)明提供一種基于場景三維點云的視覺定位裝置,包括:
[0029] 子集劃分單元,用于將預先建立的場景點云劃分為多個不相交的子集;
[0030] 子集隊列獲取單元,用于根據(jù)待查詢圖像的全局特征描述子、每個子集的全局特 征描述子,將所有子集進行優(yōu)先級排序,獲得優(yōu)先級排序后的子集隊列;
[0031] 匹配關(guān)系查找單元,用于選擇所述子集隊列中的第一個子集,查找該第一個子集 中的各場景點與所述待查詢圖像的局部特征描述子的匹配關(guān)系,并確定查找到的匹配關(guān)系 是否滿足結(jié)束條件,如果滿足,則結(jié)束;否則,選擇所述子集隊列中的第二個子集,查找所述 第一個子集和第二個子集中各場景點與所述待查詢圖像的局部特征描述子的匹配關(guān)系,并 確定查找到的匹配關(guān)系是否滿足結(jié)束條件,如果滿足,則結(jié)束;否則,重復選擇所述子集隊 列中的第N個子集,并查找從第一個子集至第N個子集中各場景點與所述待查詢圖像的局 部特征描述子的匹配關(guān)系,直至所述匹配關(guān)系滿足預設結(jié)束條件,N為大于2的自然數(shù);
[0032] 估計單元,用于根據(jù)查找到的所述匹配關(guān)系估計拍攝待查詢圖像相機的位置和方 向。
[0033] 可選地,所述匹配關(guān)系查找單元,還用于
[0034] 在已經(jīng)查找M個子集之后的匹配關(guān)系仍不滿足所述結(jié)束條件時,確定M個子集中 所有場景點的數(shù)量是否大于預設閾值,若大于,則結(jié)束,將在M個子集中查找到的匹配關(guān)系 作為最后的匹配關(guān)系,M為大于1的自然數(shù)。
[0035] 可選地,所述子集隊列獲取單元,具體用于
[0036] 獲取所述待查詢圖像的全局特征描述,以及獲取每個子集的全局特征描述子;
[0037] 確定每個子集的全局特征描述子與所述待查詢圖像的全局特征描述子的度量距 離;
[0038] 根據(jù)度量距離的大小,將所有子集進行排序,獲得所述子集隊列,排在所述子集隊 列中第一位的子集優(yōu)先級最高,對應的度量距離最小。
[0039] 可選地,所述子集劃分單元,具體用于
[0040] 采用劃分算法將所述場景點云劃分為多個不相交的子集。
[0041] 可選地,所述子集隊列獲取單元,還用于
[0042] 獲取一子集中所有場景點的局部特征描述子;
[0043] 根據(jù)所有場景點的局部特征描述子生成所有場景點所屬子集的全局特征描述 子;
[0044] 或者,
[0045] 獲取一子集中所有場景點的局部特征描述子;
[0046] 獲取每一場景點對應的所有局部特征描述子的平均值
[0047] 根據(jù)所有場景點的局部特征描述子的平均值生成所有場景點所屬子集的全局特 征描述子。
[0048] 由上述技術(shù)方案可知,本發(fā)明的基于場景三維點云的視覺定位方法及裝置,通過 將場景點云劃分為各個子集,進而在各子集中查找與待查詢圖像局部特征描述子的匹配關(guān) 系,由此,可降低視覺定位方法的查詢復雜度,且能夠提高查詢效率。
【附圖說明】
[0049] 圖1為本發(fā)明一實施例提供的基于場景三維點云的視覺定位方法的流程示意圖;
[0050] 圖2為本發(fā)明一實施例提供的基于場景三維點云的視覺定位裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0051] 下面結(jié)合附圖,對發(fā)明的【具體實施方式】作進一步描述。以下實施例僅用于更加清 楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護范圍。本發(fā)明實施例中所使 用的"第一"、"第二"僅為更清楚的說明本申請的內(nèi)容,不具有特定含義,也不限定任何內(nèi) 容。
[0052] 圖1示出了本發(fā)明一實施例提供的基于場景三維點云的視覺定位方法的流程示 意圖,如圖1所示,本實施例中的基于場景三維點云的視覺定位方法如下所述。
[0053] 101、將預先建立的場景點云劃分為多個不相交的子集。
[0054] 舉例來說,可采用劃分算法將所述場景點云劃分為多個不相交的子集,使得場景 點云中距離較近的點被劃分在同一個子集中,距離較遠的點被劃分在不同的子集中,并且 最終劃分出來的各個子集包含的元素個數(shù)盡量均勻。
[0055] 可理解的是,劃分算法可為基于層次K-Means算法改進的劃分算法。
[0056] 102、根據(jù)待查詢圖像的全局特征描述子、每個子集的全局特征描述子,將所有子 集進行優(yōu)先級排序,獲得優(yōu)先級排序后的子集隊列;
[0057] 103、選擇所述子集隊列中的第一個子集,查找該第一個子集中的各場景點與所述 待查詢圖像的局部特征描述子的匹配關(guān)系,并確定查找到的匹配關(guān)系是否滿足預設的結(jié)束 條件,如果滿足,則結(jié)束,否則,執(zhí)行步驟l〇3a ;
[0058] 103a、選擇所述子集隊列中的第二個子集,查找所述第一個子集和第二個子集中 各場景點與所述待查詢圖像的局部特征描述子的匹配關(guān)系,并確定查找到的匹配關(guān)系是否 滿足預設的結(jié)束條件,如果滿足,則結(jié)束;否則執(zhí)行步驟103b ;
[0059] 103b、重復選擇所述子集隊列中的第N個子集,并查找從第一個子集至第N個子集 中各場景點與所述待查詢圖像的局部特征描述子的匹配關(guān)系,直至所述匹配關(guān)系滿足結(jié)束 條件,N為大于2的自然數(shù);
[0060] 本實施例中,上述即為在子集隊列中按照優(yōu)先級順序?qū)ふ?查找待查詢圖像的局 部特征描述子和各個子集中的場景點的匹配關(guān)系,直至滿足結(jié)束條件。
[0061] 另外,需要說明的是,如果在查找從