基于客戶端-服務器的動態(tài)搜索的制作方法
【專利說明】基于客戶端-服務器的動態(tài)搜索
[0001]相關串請的交叉引用
[0002]本申請要求2013年3月15日提交的題為“基于客戶端-服務器的動態(tài)搜索”的第N0.13/843,607號美國申請的權益和優(yōu)先權,所述申請被轉讓給本申請受讓人,并且明確地通過引用被并入本文中。
技術領域
[0003]本發(fā)明涉及無線通信領域。特別地,本發(fā)明涉及在客戶端-服務器環(huán)境下執(zhí)行搜索。
【背景技術】
[0004]隨著移動裝置(例如智能手機)的增加,它們可以用于檢測對象和執(zhí)行擴增的現實應用。然而,由于在這種移動裝置上的存儲空間有限,本地數據庫(如果存在的話)可以僅僅存儲用于支持這種視覺搜索的有限數量的對象,這可能非常不利地影響到對象識別的準確性。為了獲得更好的搜索品質,移動裝置可以將捕獲的圖像發(fā)送到服務器以執(zhí)行對象識別。
[0005]圖1示出了執(zhí)行視覺搜索的常規(guī)方法。如圖1中所示,移動裝置102將查詢圖像104作為查詢數據發(fā)送到服務器106 (也稱為云)。然后服務器106可以從查詢圖像104中提取二維(2D)特征和相關描述符,并且將這些描述符與帶有服務器106中的對象數據庫(未示出)的三維(3D)位置的描述符相匹配,發(fā)現2D到3D的對應關系。所述方法可以用于識別對象,并且在采集查詢圖像104時產生相對于移動裝置102的位姿。
[0006]以上常規(guī)方法的問題之一是,在將查詢數據發(fā)送到服務器106、處理查詢以及將響應數據返回移動裝置102方面存在長的延遲。在此期間,移動裝置102可從捕獲查詢圖像104的位置移動。結果,通過服務器106計算的移動裝置102的位姿可能已經過時。
[0007]圖1中所示的常規(guī)方法的另一問題是,查詢圖像104包含需要從移動裝置102發(fā)送到服務器106的大量數據。當移動裝置102的圖像分辨率繼續(xù)增加(例如從2兆像素到4兆像素等)時,所述問題可能變得更糟。這種增加的查詢數據可能進一步使查詢圖像104可以被發(fā)送的時間與查詢響應可以從服務器106接收的時間之間的持續(xù)時間延遲。
[0008]因此,需要能夠解決常規(guī)方法的以上問題的方法、設備和計算機程序產品。
【發(fā)明內容】
[0009]本發(fā)明涉及用于執(zhí)行搜索的方法、設備和計算機程序產品。在一個實施例中,執(zhí)行搜索的方法包括:接收從移動裝置所觀看到的環(huán)境的一或多個圖像,使用一或多個圖像來生成環(huán)境的同時定位與測繪,其中環(huán)境的同時定位與測繪包括表示在環(huán)境的三維坐標系統中的多個表面的多個地圖點,將一組多個地圖點作為搜索查詢而發(fā)送到服務器,從服務器接收查詢響應,以及至少部分地基于查詢響應來識別環(huán)境中的對象。根據本發(fā)明的方面,多個地圖點包括由移動裝置從不同角度采集的多個表面的視圖。
[0010]根據本發(fā)明的方面,多個地圖點包括由移動裝置從不同角度捕獲的多個表面的視圖。在多個地圖點中的每個地圖點可包括三維位置、三維位置的一或多個描述符,以及三維位置的對應表面法線。在其它方法中,在多個地圖點中的每個地圖點可包括來自與所述地圖點的法線方向正交的方向的表示。
[0011]所述方法進一步包括在第一時刻將一組多個地圖點作為搜索查詢而發(fā)送到服務器,以及在第二時刻從服務器接收查詢響應,且其中移動裝置在第一時刻具有相對于對象的第一位姿,并且移動裝置在第二時刻具有相對于對象的第二位姿。所述方法可以進一步包括至少部分地基于在第二時刻接收的查詢響應來確定移動裝置相對于環(huán)境中的對象的第二位姿。
[0012]確定移動裝置相對于在環(huán)境中的對象的第二位姿的方法包括:從查詢響應來獲得對象相對于環(huán)境的原點的位姿;跟蹤移動裝置相對于環(huán)境的原點的位姿;以及使用對象相對于環(huán)境的原點的位姿和移動裝置相對于環(huán)境的原點的位姿來確定移動裝置相對于對象的第二位姿。
[0013]所述方法進一步包括響應于移動裝置相對于環(huán)境中的對象的第二位姿來致使呈現擴增。所述方法可以進一步包括跟蹤移動裝置相對于環(huán)境的原點的移動,以及確定移動裝置已經相對于環(huán)境的原點移動。確定移動裝置已經移動的方法包括以下至少一者:確定移動裝置已經旋轉超過預定角度,以及確定移動裝置已經平移超過預定距離。
[0014]所述方法進一步包括:響應于移動裝置的移動來識別由移動裝置捕獲的增量地圖點;使用由移動裝置捕獲的增量地圖點來生成環(huán)境的更新的同時定位與測繪;以及將由移動裝置捕獲的增量地圖點在更新的搜索查詢中發(fā)送到服務器。環(huán)境的更新的同時定位與測繪包含比從移動裝置的所觀看到的環(huán)境的視場更大的環(huán)境的視圖;且其中環(huán)境的原點在移動裝置的視場之外。
[0015]在另一個實施例中,移動裝置包括:控制單元,其包含處理邏輯,所述處理邏輯包括:經配置以接收從移動裝置所觀看到的環(huán)境的一或多個圖像的邏輯;經配置以使用一或多個圖像來生成環(huán)境的同時定位與測繪的邏輯,其中環(huán)境的同時定位與測繪包括表示在環(huán)境的三維坐標系統中的多個表面的多個地圖點;經配置以將一組多個地圖點作為搜索查詢而發(fā)送到服務器的邏輯;經配置以從服務器接收查詢響應的邏輯;以及至少部分地基于查詢響應來識別環(huán)境中的對象的邏輯。
[0016]在另一個實施例中,計算機程序產品包括存儲用于由一或多個計算機系統執(zhí)行的指令的非暫時性媒體;所述指令包括:用于接收從移動裝置所觀看到的環(huán)境的一或多個圖像的指令;用于使用一或多個圖像來生成環(huán)境的同時定位與測繪的指令,其中環(huán)境的所述同時定位與測繪包括表示在環(huán)境的三維坐標系統中的多個表面的多個地圖點;用于將一組多個地圖點作為搜索查詢而發(fā)送到服務器的指令;用于從服務器接收查詢響應的指令;以及用于至少部分地基于查詢響應來識別在環(huán)境中的對象的指令。
[0017]在另一個實施例中,設備包括:用于接收從移動裝置所觀看到的環(huán)境的一或多個圖像的裝置;用于使用一或多個圖像來生成環(huán)境的同時定位與測繪的裝置,其中環(huán)境的同時定位與測繪包括表示在環(huán)境的三維坐標系統中的多個表面的多個地圖點;用于將一組多個地圖點作為搜索查詢而發(fā)送到服務器的裝置;用于從服務器接收查詢響應的裝置;以及用于至少部分地基于查詢響應來識別在環(huán)境中的對象的裝置。
【附圖說明】
[0018]在結合以下附圖閱讀本發(fā)明實施例的詳細說明之后,將更清楚地理解本發(fā)明的前述特征和優(yōu)點以及它們的另外特征和優(yōu)點。
[0019]圖1示出執(zhí)行基于客戶端-服務器搜索的常規(guī)方法。
[0020]圖2示出根據本發(fā)明一些方面執(zhí)行基于客戶端-服務器搜索的方法。
[0021]圖3示出根據本發(fā)明一些方面確定移動裝置相對于對象的位姿的方法。
[0022]圖4示出根據本發(fā)明一些方面經配置以執(zhí)行基于客戶端-服務器搜索的移動裝置的示例性框圖。
[0023]圖5示出根據本發(fā)明的一些方面用于執(zhí)行基于客戶端-服務器的搜索的服務器的框圖。
[0024]圖6A和圖6B示出根據本發(fā)明的一些方面執(zhí)行基于客戶端-服務器的搜索的示例性方法。
[0025]貫穿附圖使用類似的標號。
【具體實施方式】
[0026]公開了用于基于客戶端-服務器的搜索的方法和設備的實施例。給出以下描述使得本領域任何技術人員能夠作出和使用本發(fā)明。對特定實施例和應用的描述僅作為實例來提供。對于本領域技術人員而言,本文所述的示例的各種修改和組合將是顯而易見的,并且在不脫離本發(fā)明的精神和范圍的情況下,可以將本文限定的一般原理應用于其它示例和應用。因此,本發(fā)明不旨在局限于描述和示出的示例,而是應給予與本文所公開的原理和特征一致的最寬范圍。本文使用的詞“示例性”或“示例”意指“作為示例、實例或說明”。本文作為“示例性”或“示例”描述的任何方面或實施例不必被解釋為優(yōu)于或勝過其它方面或實施例。
[0027]圖2示出根據本發(fā)明的一些方面執(zhí)行基于客戶端-服務器的搜索的方法。根據本發(fā)明的方面,同時定位與跟蹤(SLAM)框架可以通過移動裝置結合基于服務器的檢測系統來使用。在圖2所示的示例性方法中,移動裝置202(也稱為客戶端裝置或簡稱為客戶端,由黑色圓點表示)可以經配置以建立SLAM環(huán)境203,同時使移動裝置相對于SLAM環(huán)境203的位姿能夠由服務器206計算。SLAM環(huán)境203可以是致密網格或致密/稀疏點云,例如,具有相對于SLAM環(huán)境203坐標框架原點的3D位置(在圖3中示出)。每一地圖點可以包含一或多個描述符,其描述地圖點的視覺外觀,和/或如果地圖是網格,則描述關于點的3D結構信息。例如,表面204a和它的對應表面法線204b、表面206a和它的對應表面法線206b、表面208a和它的對應表面法線208b、表面210a和它的對應表面法線210b,以及表面212a和它的對應表面法線212b描述SLAM環(huán)境203中的各種示例性地圖點。
[0028]應注意,地圖點可由移動裝置202捕獲在一系列圖像幀上。例如,地圖點204a和206a可被捕獲在第一圖像幀中;地圖點208a和210a可被捕獲在第二圖像幀中;且地圖點212a可被捕獲在第三圖像幀中。隨著移動裝置202到處移動,另外的地圖點可以被捕獲并被添加到SLAM環(huán)境,且更新的SLAM環(huán)境可以隨后被發(fā)送到服務器。
[0029]根據本發(fā)明的方面,構成SLAM環(huán)境的地圖點可以作為搜索查詢被發(fā)送。每一地圖點可以包含表示所述地圖點的3D位置、表面法線和一或多個描述符。然后,服務器上的對象和位姿檢測可涉及將來自SLAM地圖的描述符與來自對象數據庫的