新四季網

使用邊緣的三維模型生成的製作方法

2023-05-21 06:18:51 2


本公開涉及使用邊緣的三維模型生成。



背景技術:

可由場景的多個二維(2d)圖像來重建三維(3d)模型。可由一個或多個相機使用各種相機姿勢來拍攝2d圖像。常規3d模型生成技術依賴於特徵點識別。通常,處理2d圖像以識別跨多個2d圖像被匹配的特徵點。可在三個維度中將特徵點三角形化。然後,可將特徵點的實際位置與從三維返回到二維的經重投影的特徵點之間的重投影誤差連同相機姿勢誤差兩者最小化。

許多2d圖像包括弱紋理區域。弱紋理區域可出現在室外場景的2d圖像中,並且常常在室內場景的2d圖像中發現。弱紋理區域大體指2d圖像中像素相同或高度類似的區域。從一個像素到下一個像素的偏差是最小的或是不存在的。2d圖像內的弱紋理區域通常表示沒有細節的光滑表面。弱紋理區域的示例可包括但不限於牆壁、工作檯面等等,其中包括顏色相對恆定的弱紋理區域示例。



技術實現要素:

技術問題

當處理紋理豐富的2d圖像時,常規3d模型生成技術往往表現相對良好。然而,在2d圖像包括弱紋理區域的情況下,常規3d模型生成技術往往表現不理想。常規技術常常需要大量2d圖像來作為輸入,以確定對於重建哪怕很小的區域來說足夠的特徵點。由於弱紋理區域具有很少或不具有特徵點,所以涉及弱紋理區域的常規3d模型生成技術常常是有缺陷的。此外,對相機姿勢的估計往往不準確。

問題的解決方案

一種方法可包括:使用處理器來檢測多個圖像中的多個邊緣;以及使用處理器來確定多個邊緣中跨多個圖像匹配的一組邊緣。該方法還可包括:使用處理器,利用依賴於該組邊緣的成本函數來估計多個圖像的相機姿勢。

一種系統包括處理器,處理器經編程以發起可執行操作。可執行操作可包括:檢測多個圖像中的多個邊緣;以及確定多個邊緣中跨多個圖像匹配的一組邊緣。可執行操作還可包括:使用依賴於該組邊緣的成本函數來估計多個圖像的相機姿勢。

一種電腦程式產品包括上面存儲有程序代碼的計算機可讀存儲媒體。程序代碼可由處理器來運行以執行一種方法。所述方法可包括:使用處理器來檢測多個圖像中的多個邊緣;以及使用處理器來確定多個邊緣中跨多個圖像匹配的一組邊緣。所述方法還可包括:使用處理器,利用依賴於該組邊緣的成本函數來估計多個圖像的相機姿勢。

提供此技術解決方案部分僅僅是為了引入某些概念,而不是為了識別所要求的主題的任何關鍵或重要特徵。本發明的許多其他特徵和實施方案將自附圖和以下詳細描述顯而易見。

本發明的有利效應

利用如本文中所描述的基於邊緣的處理,可在3d模型中以比使用其他常規技術的情況更大的準確度來渲染弱紋理區域。由於弱紋理區域中的特點是缺乏特徵點,所以只依賴於特徵點的常規技術常常不適合渲染弱紋理區域。弱紋理區域常常在重建的3d模型中呈現為不完整。

附圖說明

附圖示出一個或多個實施方案;然而,附圖不應理解為將本發明僅限制到所示的實施方案。各種方面和優點將在審閱以下詳細描述和參考附圖後即刻變得顯而易見。

圖1是示出例示性數據處理系統的框圖。

圖2是示出三維(3d)模型生成的例示性方法的流程圖。

圖3是示出生成平面的例示性方法的流程圖。

圖4是示出確定軸的例示性方法的流程圖。

圖5a、圖5b、圖5c和圖5d是室內場景的不同圖像。

圖6是圖5的場景的密集點雲的透視圖。

圖7是圖6的密集點雲的俯視平面圖。

圖8是圖6的密集點雲的另一個俯視平面圖,其示出生成的平面。

圖9是在移除假平面之後圖6的密集點雲的另一個俯視平面圖。

具體實施方式

儘管本公開以定義新穎特徵的權利要求結束,但據信將從對結合附圖的描述的考慮來更好地理解本文中所描述的各種特徵。出於示出的目的提供了本公開內所描述的過程、機器、製造及其任何變體。所描述的任何特定結構和功能細節將不解釋為限制性的,而是僅僅解釋為權利要求書的基礎和教導本領域技術人員以各種方式採用在幾乎任何經適當詳述的結構中描述的特徵的代表性基礎。此外,本公開內所使用的術語和短語並非旨在為限制性的,而是提供對所描述的特徵的可理解描述。

本公開涉及使用邊緣的三維(3d)模型生成。根據本公開內所描述的發明性布置,可處理二維(2d)圖像以識別其中所包含的邊緣。可處理邊緣以在2d圖像的不同圖像中來識別相同的邊緣。可使用成本函數來估計相機姿勢,所述成本函數至少部分地取決於邊緣。

使用所估計的相機姿勢,可生成3d模型。例如,3d模型可以是3d房間場景。可使用3d點、三角形網格、3d體素等等來生成3d模型。在一個方面,生成3d模型可包括一個或多個附加操作,諸如確定軸、基於邊緣來確定平面、移除假平面和在3d空間中渲染平面。所述平面可表示弱紋理區域。

利用如本文中所描述的基於邊緣的處理,可在3d模型中以比使用其他常規技術的情況更大的準確度來渲染弱紋理區域。由於弱紋理區域的特點是缺乏特徵點,所以只依賴於特徵點的常規技術常常不適合渲染弱紋理區域。弱紋理區域常常在重建的3d模型中呈現為不完整。例如,如3d模型內表示的弱紋理區域(諸如,牆壁)可呈現為具有許多孔、間隙,或呈現為部分地形成。此外,使用特徵點所估計的相機姿勢常常不準確,從而導致3d模型生成不準確。

儘管本文中所公開的實施方案是針對邊緣的使用,但應了解,可結合基於邊緣的技術來利用特徵點。例如,可出於估計相機姿勢、生成平面等等的目的來使用特徵點與邊緣兩者。

可將本文中所描述的發明性布置實施為由數據處理系統執行的方法或過程。在另一個方面,可將發明性布置實施為設備,諸如具有處理器的數據處理系統。處理器可在執行程序代碼後即刻執行本文中所描述的一個或多個操作。在又一個方面,可將發明性布置實施為存儲程序代碼的非暫時性計算機可讀存儲媒體,所述程序代碼在執行時致使處理器和/或系統執行和/或發起方法或過程。

為了實現描述的簡單性和清晰性,諸圖中所示的元件並非一定按比例繪製。例如,出於清晰性,可相對於其他元件將一些元件的尺寸誇大。此外,在認為合適之處,在諸圖當中重複參考數字以指示對應、類似等等的特徵。

圖1是示出例示性數據處理系統(系統)100的框圖。如所描繪,系統100包括至少一個處理器(例如,中央處理單元(cpu))105,所述處理器通過系統總線115或其他合適的電路聯接到存儲器元件110。系統100將程序代碼存儲在存儲器元件110內。處理器105執行經由系統總線115從存儲器元件110存取的程序代碼。存儲器元件110包括一個或多個物理存儲器裝置,諸如本地存儲器120及一個或多個大容量存儲裝置125。本地存儲器120指隨機存取存儲器(ram)或通常在實際執行程序代碼期間使用的其他非永久性存儲器裝置。可將大容量存儲裝置125實施為硬碟驅動器(hdd)、固態驅動器(ssd)或其它永久性數據存儲裝置。系統100還可包括一個或多個高速緩衝存儲器(未示出),所述高速緩衝存儲器提供對至少某個程序代碼的臨時存儲以便減少在執行期間必須從大容量存儲裝置125檢索程序代碼的次數。

可選地,輸入/輸出(i/o)裝置(諸如,鍵盤130、顯示裝置135和指示裝置140)可聯接到系統100。在一些情況下,可將i/o裝置中的一個或多個相組合(如在將觸控螢幕用作顯示裝置135的情況下)。在所述情況下,顯示裝置135也可實施鍵盤130和指示裝置140。

i/o裝置可直接地或者通過介入的i/o控制器聯接到架構100。一個或多個網絡適配器145也可聯接到系統100,以使得架構100能夠變成通過介入的專用或公用網絡聯接到其他系統、計算機系統、遠程印表機和/或遠程存儲裝置。調製調解器、電纜調製調解器、乙太網卡和無線收發器是可與架構100一起使用的不同類型的網絡適配器145的示例。取決於使用架構100所實施的特定裝置,特定類型的網絡適配器或多個網絡適配器將根據具體情況而變化。

如圖1中所描繪,存儲器元件110可存儲作業系統150和一個或多個應用程式155。在一個方面,由系統100(且特定地,處理器105)來執行以可執行程序代碼形式所實施的作業系統150和應用程式155。因而,可將作業系統150和應用程式155視為系統100的完整部分。由系統100使用、生成和/或操作的作業系統150、應用程式155和任何數據項目是在由系統100利用時賦予功能的功能性數據結構。

在一個方面,系統100可以是計算機或適合於存儲和/或執行程序代碼的其他裝置。系統100可表示包括處理器和存儲器且能夠執行本公開內所描述的操作的多種計算機系統和/或裝置中的任一者。在一些情況下,特定的計算機系統和/或裝置可包括比所描述的部件更少的部件或更多的部件。可將系統100實施為單個系統(如所示),或實施為多個聯網或互連的系統,其中每個系統具有與系統100的架構相同或類似的架構。

在操作中,系統100可接收多個二維(2d)圖像160。2d圖像160可屬於特定場景。可使用一個相機或使用不同相機來拍攝2d圖像160。此外,可從不同有利位置來拍攝2d圖像160,例如使用不同的相機姿勢來拍攝。如本領域中已知,「相機姿勢」指相機在拍攝圖像時的位置和定向。在這種情況下,圖像是2d圖像。

在一個方面,系統100可檢測2d圖像160內的多個邊緣。系統100可進一步確定來自多個邊緣的跨2d圖像160而匹配的一組邊緣。系統100可進一步使用成本函數來估計用於2d圖像160的相機姿勢165,所述成本函數取決於該組邊緣。系統也可使用相機姿勢來生成3d模型170。在一個方面,系統可在3d模型170中生成一個或多個平面,所述平面表示圖像160中的一個或多個弱紋理區域,將在本公開內進一步詳細描述。

圖2是示出3d模型生成的例示性方法200的流程圖。可由參考圖1所描述的系統來實施方法200。

方法200在框205中開始,其中系統可接收圖像。圖像可以是2d的,諸如照片。圖像可以屬於同一個3d場景,且具有數字形式。一般來說,可不對圖像設置約束。圖像可在不同時間、在不同照明條件下拍攝,並且可包括非剛性物體(諸如,人)。在一個方面,可通過眾包來獲得圖像。圖像可以是無序的。此外,圖像可包括一個或多個弱紋理區域。另外,可不對用於捕獲圖像的相機設置約束。例如,相機不需要附加的傳感器。可由同一個相機或由兩個或兩個以上不同的相機來捕獲圖像。

在框210中,系統可檢測圖像內的特徵點。系統可使用多種已知的特徵點檢測技術中的任一種來檢測特徵點。在框215中,系統可跨圖像匹配特徵點。例如,系統確定第一圖像中的哪個特徵點與在另一個不同圖像中找到的特徵點匹配或與之相同。在一個方面,系統可考慮若干對圖像,並確定針對這些圖像對的特徵點的匹配。可出於匹配特徵點的目的來考慮每對圖像。

匹配特徵點可包括系統能夠過濾掉或以其他方式移除的離群值。在一個方面,例如,系統可通過使用離群值匹配來近似估算每對圖像之間的基本矩陣而過濾掉離群值特徵點。可將特徵點之間的成對匹配組織成軌跡。在一個示例中,每個軌跡可指定圖像-特徵點對的列表,其中軌跡中的每個特徵點在所述軌跡中列出的圖像間被識別為相同的特徵點。系統可不止一次識別出包括相同圖像的那些軌跡。不止一次包括一圖像的軌跡表示特徵點已與至少一個其他圖像中的不同特徵點匹配。因此,系統可刪除或移除不止一次出現在軌跡中的圖像。

在執行框215時,系統可確定跨圖像匹配的一組特徵點。該組特徵點可以是圖像內的全部特徵點,或可以是圖像內所檢測到的特徵點的子集。

在框220中,系統可檢測圖像內的邊緣。系統可實施邊緣檢測技術以檢測接收到的圖像內的一個或多個邊緣。可使用多種已知的邊緣檢測技術中的任一種。在另一個方面,可使用多種已知的線檢測技術中的任一種來識別邊緣。在框225中,系統可跨圖像匹配檢測到的邊緣。在一個實施方案中,系統可檢測的每對可能邊緣,以在圖像成對的基礎上確定每對邊緣是否滿足外極線約束。使用外極線約束可能是耗時的,並且可能需要顯著的計算資源。在另一個實施方案中,可使用先前匹配的特徵點和內矩陣來定位邊緣匹配,由此降低計算成本。

在另一個方面,系統可創建邊緣的軌跡。軌跡可指定一對或多對圖像及每個圖像的所匹配的邊緣。例如,邊緣的軌跡可指定圖像-邊緣對的列表,其中軌跡中的每個邊緣在所述軌跡中列出的圖像間被識別為相同的邊緣。在一些情況下,在每個圖像中可能沒有找到或定位相同的邊緣。在所述情況下,可刪除所述軌跡,因為系統可將所述邊緣解釋為假邊緣。

在執行框225時,系統可確定跨圖像匹配的一組邊緣。該組邊緣可以是圖像內所檢測到的全部邊緣,或可以是圖像內所檢測到的邊緣的子集。

在框230中,系統可執行光束法平差。一般來說,光束法平差指確定描述場景幾何結構的3d坐標和確定用於捕獲圖像的相機的相機姿勢的過程。例如,給定從不同視點描繪若干3d點的一組圖像,光束法平差可包括完善描述場景幾何結構的3d坐標和用於獲取圖像的相機的相機姿勢。該過程根據最優性準則來完善所注釋的各種參數。在一個方面,最優性準則可涉及特徵點的對應圖像投影和/或邊緣的圖像投影。系統例如可執行增量式光束法平差過程。增量式光束法平差過程的示例描述於snavely等人的「phototourism:exploringphotocollectionsin3d」(美國計算機學會圖形學彙刊,第25卷,第3期,pps.835-846(2006年7月))中。

根據實施方案,可使用最優性準則(例如,成本函數,如下文在表達式1中示出)來執行光束法平差。

在表達式1內,nl是線的數目;np是特徵點的數目;α控制線與點之間的權重。例如,α=1僅使用線,而α=o僅使用特徵點。表達式1覆蓋i到n個相機和j到m個軌跡。

出於論述的目的,表達式1可據稱由下文示出的兩個子表達式(稱為表達式2和3)形成。表達式2依賴於邊緣。表達式3依賴於特徵點。

可將表達式2視為線或邊緣的重投影誤差,其中cij是第j條線相對於第i個相機的權重。第一部分β1||θpij-θij||量化邊緣的定向方面的誤差。例如,第一部分β1||θpij-θij||限定圖像中的原始邊緣與所述邊緣在3d空間中的投影之間的角度。第二部分β2||lpij-lij||量化邊緣的長度方面的誤差。例如,第二部分β2||lpij-lij||限定原始線與投影在3d空間中的線的長度之間的差異。第三部分||p1ij-o1ij||+||p2ij-o2ij||量化端點方面的誤差。例如,第三部分||p1ij-o1ij||+||p2ij-o2ij||測算線和投影在3d空間中的線的端點的重投影誤差。值β1、β2和β3分別控制第一部分、第二部分和第三部分的權重。

給定作為線j在圖像i中的端點,且作為線j在圖像i上的3d坐標投影的端點,可如下文在表達式4和5中所示來確定第一部分和第二部分。在下文的表達式4內,是x軸。

表達式3限定重投影成本,進一步描述於snavely等人的「phototourism:exploringphotocollectionsin3d」(美國計算機學會圖形學彙刊,第25卷,第3期,pps.835-846(2006年7月))中。一般來說,θi是3d到2d轉換的矩陣,其包括相機姿勢。在一個方面,在表達式3內,可如在snavely等人的著作內所定義來實施θi。例如,θi可以是相機參數的向量(或矩陣),所述相機參數包括旋轉(由三個參數形成)、相機中心(由三個參數形成)和焦距。

在另一個方面,在表達式3內,θi可以是表示相機性質(包括所提及的相機姿勢)的矩陣。例如,θi可以是表示相機內外參數的矩陣。相機內參數與相機的投影性質有關,可包括焦距、圖像傳感器格式和主點的參數。外參數可包括世界坐標中的相機變換和旋轉(例如,相機中心)。

由θi來參數化一組n個相機。由pj來參數化一組m個軌跡。項qij表示第j個軌跡在第i個相機中的所觀測到的投影。因此,項p(θi,pj)是將3d點p映射到相機中具有參數θ的點的2d投影的投影方程式。項wij用作指示符變量,其中如果相機i觀測到點j,那麼wij=1,否則wij=0。

在框230之後,在已將上述成本函數最小化的情況下,確定圖像的相機姿勢。如所論述,相機姿勢限定相機的位置和定向。在一個方面,使用所確定的相機姿勢,可生成3d模型。

圖3是示出3d重建的另一個例示性方法300的流程圖。可由如參考圖1所描述的系統來執行方法300。在一個方面,方法300可在已執行了方法200且已確定了相機姿勢的狀態下開始。

在框305中,系統可執行密集重建。密集重建一般指使用相機姿勢由場景的收集到圖像來創建3d模型(例如,密集點雲)。密集點雲包括一組特徵點和一組邊緣。在一個例示性實施方式中,框305中所使用的密集重建技術可以是在furukawa等人的「accurate,dense,androbustmulti-viewstereopsis」(ieee模式分析與機器智能彙刊,第32卷,第8期,pps.1362-1376(2010年))中所描述的密集重建技術。

在框310中,系統可確定3d模型的三個主要軸。在一個方面中,3d模型可以是針對室內環境或場景(例如,房間)。在大多數情況下,室內環境具有可確定的三個主要軸。在框315中,系統可沿框310中所確定的每個主要軸來確定最小拐角和最大拐角。

在框320中,系統可針對邊緣來確定平面。給定最小拐角和最大拐角,系統可使平面適合一組邊緣中的在密集點雲內的邊緣。例如,對於每個邊緣來說,系統可嘗試通過沿主要軸放置兩個垂直平面來使平面適合所述邊緣,其中所述垂直平面延伸到先前所確定的拐角。在一個方面,系統可致力於識別牆壁或其他表面(諸如,工作檯面、櫥櫃等)。

為進行說明,系統可從一組邊緣中選擇一個邊緣。系統確定特定軸,使得所選邊緣與其對準。例如,系統可確定邊緣與x軸對準。系統將針對所選邊緣生成兩個平面。例如,可使用與x軸對準的邊緣來沿所述邊緣生成平行於x-z平面的第一平面並沿所述邊緣生成平行於x-y平面的第二平面。例如,系統不生成平行於y-z平面的平面。

在一個方面,系統可進一步識別彼此平行且接近(例如,在彼此的預定距離內)的平面。系統可確定在彼此的預定距離內的平行平面表示同一個平面。系統可將所識別的平面合併或組合成單個平面。

在另一個方面,針對邊緣來確定平面可包括使平面相對於彼此切割。在一些情況下,在一個方向上延伸的平面可與垂直平面交叉或被垂直平面切割。平面與其他垂直平面的交叉或被其他垂直平面的切割起到限定平面中的區段的作用。區段例如可以是在兩個交叉的垂直平面之間的平面的一部分,或可以是在交叉的垂直平面與如由最小拐角和最大拐角限定的場景外邊緣之間的平面的一部分。

在框325中,系統可識別假平面。參考框320,所生成的每個平面可並非為真平面。在一個方面,系統可根據平面是否具有位於平面每側的特徵點來區分假平面與真平面。例如系統可確定在一側具有3d特徵點而在另一側不具有3d特徵點的平面是真平面。真平面可以是牆壁、部分牆壁或分隔物,或其他弱紋理表面。真平面也可在平面自身上具有3d特徵點。系統可進一步確定在平面兩側具有3d特徵點的所生成的平面是假平面。

在一個方面,可總體上針對整個平面來確定平面是否為假平面。當確定是假平面時,可整體上將平面移除。在另一個方面中,可以每一區段為基礎來執行確定平面是否為假的。在所述情況下,可僅移除平面中使用上述準則被確定為假的那些區段。這允許平面的一部分(例如,一個或多個區段)仍然為真平面,而平面中被確定為假的一個或多個其他區段則可被移除。

在框330中,系統可移除或刪除假平面。執行框330使得僅留下由系統確定為真平面的那些平面。在一個方面,一旦確定了真平面並移除了假平面,便獲得場景中的牆壁的更準確表示。在所述情況下,系統可相對於所確定的平面來校正或調整點雲,以使所述表示(例如,平面)與密集點雲更好地對準。

在框335中,系統可渲染平面。例如作為最終平面生成的一部分,系統可在3d模型內渲染平面。所得平面是完全成形的固態區域。所述平面不包括孔或其他通常在只依賴於特徵點創建的3d模型的弱紋理區域中存在的人工製品。作為框335的一部分,系統也可將紋理投影到平面上。

圖4是示出確定軸的例示性方法400的流程圖。可由如參考圖1所描述的系統來執行方法400。在一個實施方案中,可執行方法400以實施圖3的框310。

在框405中,系統將從圖像確定的邊緣分組到不同存儲桶(bucket)中。系統操作這樣的邊緣,這些邊緣屬於跨圖像匹配的一組邊緣。系統可根據定向將邊緣分組到三個不同存儲桶中。例如,可將具有相同定向或具有在彼此的預定量內的定向的邊緣放置或指派到同一個存儲桶中。如本文中所定義,術語「存儲桶」是指一組邊緣中具有相同或類似定向的一類邊緣。

在框410中,系統確定第一軸是這樣的存儲桶:具有指派給該存儲桶的最大邊緣數目。具有最大邊緣數目的存儲桶可被視為最主要方向,且可被認為是三個正交軸中的一個(例如,第一個)。在框415中,系統可確定第二軸是這樣的存儲桶:具有指派給該存儲桶的第二大邊緣數目,其中第二大邊緣數目小於第一大邊緣數目。具有第二大邊緣數目的存儲桶可被視為第二最主要方向,且可被認為是三個正交軸中的一個(例如,第二個)。

在框420中,系統可校正第一主要軸與第二主要軸之間的正交性。在一個示例中,系統可將格拉姆-施密特技術應用到第二軸,以使第二軸與第一軸正交。通過應用校正措施(諸如,格拉姆-施密特),系統可使第二軸精確地正交於第一軸。

在框425中,系統可根據第一軸和第二軸來確定第三軸。系統可將第三軸(表示第三最主要方向)確定為第一軸與第二軸的交叉積。

參考圖4所描述的過程確保所得軸彼此垂直。由於存在弱紋理區域,依賴於從密集點計算出的法線確定主要方向的其他常規技術往往不準確。根據本文中所公開的發明性布置,通過在必要時將校正應用到第二軸且將第三軸計算為第一軸與第二軸的交叉積,系統確保了所有三個軸彼此垂直。

圖5a、圖5b、圖5c和圖5d(統稱為圖5)是場景的圖像。圖5的照片描繪了室內房間。如所示出,圖5的圖像是使用不同相機姿勢來拍攝的。

圖6是圖5的場景的密集點雲的透視圖。圖6的密集點雲示出了跨圖像匹配的檢測到的特徵點。密集點雲進一步示出了跨圖像匹配且在確定了三個軸之後被定位在密集點雲內的邊緣605。

圖7是圖6的密集點雲的俯視平面圖。所述平面圖沿y軸向下觀察的角度來示出密集點雲,其中平行於y軸的垂直線呈現為點。圖6中的y軸對準邊緣現呈現為圓點或點705。圖7還示出了所確定的軸的最小拐角和最大拐角。在這個示例(為平面圖)中,描繪了x-z平面的最小拐角和最大拐角。可使用最小拐角和最大拐角來限定室內房間的界線或邊界。

圖8是圖6的密集點雲的另一個俯視平面圖,其示出生成的平面。在圖8內,已針對檢測到的邊緣生成了平面。如所描繪,針對邊緣所生成的平面呈現為穿過端點705的線。所述平面平行於x軸(表示平行於x-y平面的平面)且作為平行於z軸的線(表示平行於y-z平面的平面)。表示邊緣的每個點705使x方向上的線(平面)和z方向上的線(平面)穿過所述點。圖8顯示真假兩種類型的平面。圖8中將幾個假平面標記為805。如所描繪,假平面805具有位於所形成的平面的每一側上的點。

平面810和815示出了多個平面位於彼此的預定距離內且可合併成單個平面的示例。如所描述,將平面合併,之後再移除或識別假平面。合併之後,可看到,由合併平面810產生的平面被交叉的平面分成了5個區段(例如,其中平面815被合併,且其他平行且接近的平面也被合併)。由箭頭820來示出由合併平面810產生的平面的所得區段。

圖9是在移除假平面之後圖6的密集點雲的另一個俯視平面圖。如所示出,已從俯視平面圖移除了假平面(包括假平面805),從而留下被認為是可渲染的真平面的平面(如在此示例中的室內牆壁或門)。在圖9的示例中,可以每一區段為基礎來執行假平面移除。如所描繪,一些區段820被確定為假平面並被移除,而其他區段則被確定為真平面並保留。

本文中所使用的術語是僅用於描述特定實施例的目的而非旨在為限制性的。儘管如此,現仍將呈現貫穿本文件應用的幾個定義。

如本文中所定義,除非上下文另有明確指示,否則單數形式「一(a/an)」和「所述(the)」也旨在包括複數形式。

如本文中所定義,術語「另一個」意指至少第二個或更多個。

如本文中所定義,除非另有明確闡述,否則術語「至少一個」、「一個或多個」和「和/或」是開放式表達,其在操作中既是結合的又是分離的。例如,表達「a、b和c中的至少一者」、「a、b或c中的至少一者」、「a、b和c中的一個或多個」、「a、b或c中的一個或多個」和「a、b和/或c」中的每個意指單獨a、單獨b、單獨c、a和b一起、a和c一起、b和c一起或a、b和c一起。

如本文中所定義,術語「自動地」意指沒有用戶幹預。

如本文中所定義,術語「計算機可讀存儲媒體」意指包含或存儲供由指令執行系統、設備或裝置使用或結合指令執行系統、設備或裝置使用的程序代碼的存儲媒體。如本文中所定義,「計算機可讀存儲媒體」本身並非暫時性的傳播信號。計算機可讀存儲媒體可以是但不限於電子存儲裝置、磁性存儲裝置、光學存儲裝置、電磁存儲裝置、半導體存儲裝置或以上各者的任何合適組合。如本文中所描述,存儲器元件是計算機可讀存儲媒體的示例。計算機可讀存儲媒體的更多特定示例的非詳盡列表可包括:可攜式計算機磁碟、硬碟、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦可編程只讀存儲器(eprom或快閃記憶體)、靜態隨機存取存儲器(sram)、可攜式壓縮光碟只讀存儲器(cd-rom)、數字通用光碟(dvd)、記憶棒、軟盤、機械編碼裝置(諸如,穿孔卡片或上面記錄有指令的槽中的凸起結構),和以上各者的任何合適的組合。

如本文中所定義,除非另有指示,否則術語「聯接」意指連接,可以是直接的(沒有任何介入元件),也可以是間接的(具有一個或更多個介入元件)。兩個元件可通過通信通道、路徑、網絡或系統來機械地聯接、電聯接或通信地連結。

如本文中所定義,除非上下文另有指示,否則術語「可執行操作」或「操作」是由數據處理系統或數據處理系統內的處理器執行的任務。可執行操作的示例包括但不限於「處理」、「計算」、「運算」、「確定」、「顯示」、「比較」等等。在這點上,操作指數據處理系統(例如,計算機系統或類似的電子計算裝置)的動作和/或過程,所述數據處理系統操縱表示為計算機系統寄存器和/或存儲器內的物理(電子)量的數據並將該數據轉化成類似地表示為計算機系統存儲器和/或寄存器或其他此類信息存儲、傳輸或顯示裝置內的物理量的其他數據。

如本文中所定義,術語「包括」指定所陳述的特徵、整體、步驟、操作、元件和/或部件的存在,但並不排除一個或多個其他特徵、整體、步驟、操作、元件、部件和/或其群組的存在或添加。

如本文中所定義,取決於上下文,術語「如果」意指「當……時」或「在……後即刻」或「響應於……」或「對……作出響應」。因此,取決於上下文,可將短語「如果確定……」或「如果檢測到[所陳述的條件或事件]」解釋為意指「在確定……後即刻」或「響應於確定……」或「在檢測到[所陳述的條件或事件]後即刻」或「響應於檢測到[所陳述的條件或事件]」或「對檢測到[所陳述的條件或事件]作出響應」。

如本文中所定義,術語「一個實施方案」、「一實施方案」或類似語言意指結合所述實施方案描述的特定特徵、結構或特性被包括在本公開內所描述的至少一個實施方案中。因此,短語「在一個實施方案中」、「在一實施方案中」和類似語言在本公開各處的出現可但未必全部指同一個實施方案。

如本文中所定義,術語「輸出」意指存儲在物理存儲器元件(例如,裝置)中、寫入到顯示器或其他外圍輸出裝置、發送或傳輸到另一個系統、導出等等。

如本文中所定義,術語「多個」意指兩個或兩個以上。

如本文中所定義,術語「處理器」意指被配置成實施程序代碼中所包含的指令的至少一個硬體電路。硬體電路可以是集成電路。處理器的示例包括但不限於中央處理單元(cpu)、陣列處理器、向量存儲器、數位訊號處理器(dsp)、場可編程門陣列(fpga)、可編程邏輯陣列(pla)、專用集成電路(asic)、可編程邏輯電路和控制器。

如本文中所定義,術語「可對……作出響應」意指容易響應於動作或事件或容易對動作或事件作出反應。因此,如果「可對第一動作作出響應」來執行第二動作,那麼第一動作的發生與第二動作的發生之間存在因果關係。術語「對……作出響應」指示因果關係。

如本文中所定義,術語「用戶」意指人。

本文中可使用術語第一、第二等來描述各種元件。除非另有陳述或上下文另有明確指示,否則這些元件應不受這些術語的限制,因為這些術語僅用來區分一個元件與另一個元件。

電腦程式產品可包括計算機可讀存儲媒體(或多個媒體),所述計算機可讀存儲媒體上面具有計算機可讀程序指令以致使處理器實施本發明的諸個方面。可將本文中所描述的計算機可讀程序指令從計算機可讀存儲媒體下載到相應的計算/處理裝置,或經由網絡(例如,網際網路、lan、wan和/或無線網絡)下載到外部計算機或外部存儲裝置。網絡可包括傳輸銅纜、傳輸光纖、無線傳輸、路由器、防火牆、開關、網關計算機和/或包括邊緣伺服器的邊緣裝置。每個計算/處理裝置中的網絡適配器卡或網絡接口從網絡接收計算機可讀程序指令,並轉遞計算機可讀程序指令以存儲在相應的計算/處理裝置內的計算機可讀存儲媒體中。

用於實施本文中所描述的發明性布置的操作的計算機可讀程序指令可以是彙編指令、指令集架構(isa)指令、機器指令、依賴機器的指令、微代碼、固件指令、狀態設定數據或以一種或多種程式語言的任一組合撰寫的原始碼或者對象代碼(包括面向對象的程式語言和/或程序性程式語言)。計算機可讀程序指令可完全在用戶計算機上執行,部分地在用戶計算機上執行,作為獨立軟體包來執行,部分地在用戶計算機上且部分地在遠程計算機上執行,或完全在遠程計算機或伺服器上執行。在完全在遠程計算機或伺服器上執行的情況下,遠程計算機可通過任何類型的網絡(包括lan或wan)連接到用戶計算機,或可連接到外部計算機(例如,通過網際網路使用網際網路服務提供商)。在一些情況下,包括例如可編程邏輯電路、fpga或pla的電子電路可通過利用計算機可讀程序指令的狀態信息對電子電路個人化來執行計算機可讀程序指令,以便執行本文中所描述的發明性布置的方面。

本文中參考方法、設備(系統)和電腦程式產品的流程圖附圖和/或框圖來描述發明性布置的某些方面。將理解,可由計算機可讀程序指令(例如,程序代碼)來實施流程圖附圖和/或框圖的每個框以及流程圖附圖和/或框圖中的框的組合。

可將這些計算機可讀程序指令提供到通用計算機、專用計算機或其他可編程數據處理設備的處理器以產生機器,使得經由計算機或其他可編程數據處理設備的處理器來執行的指令創建了用於實施流程圖和/或框圖的一個或多個框中所指定的功能/動作的手段。這些計算機可讀程序指令也可存儲在計算機可讀存儲媒體中,並可以指導計算機、可編程數據處理設備和/或其他設備以特定方式起作用,使得其中存儲有指令的計算機可讀存儲媒體包括製造的產品,所述製造的產品包括實施流程圖和/或框圖的一個或多個框中所指定的操作的各個方面的指令。

也可將計算機可讀程序指令加載到計算機、其他可編程數據處理設備或其他裝置上,以致使在計算機、其他可編程數據處理設備或其他裝置上執行一系列操作從而產生計算機實施過程,使得在計算機、其他可編程設備或其他裝置上執行的指令實施流程圖和/或框圖的一個或多個框中所指定的功能/動作。

諸圖中的流程圖和框圖示出了根據發明性布置的各種方面的系統、方法和電腦程式產品的可能實施方式的架構、功能和操作。在這點上,流程圖或框圖中的每個框可表示指令的模塊、區段或部分,所述模塊、區段或部分包括用於實施指定操作的一個或多個可執行指令。在一些替代性實施方式中,框中所注釋的操作可不按諸圖中所注釋的順序執行。例如,取決於所涉及的功能,連續示出的兩個框可基本上同時執行,或所述框可有時按相反次序執行。還將注意,可以由專用的基於硬體的系統來實施框圖和/或流程圖說明的每個框以及框圖和/或流程圖說明中的框的組合,所述系統執行指定的功能或動作或實施專用硬體與計算機指令的組合。

可在下文權利要求中找到的所有手段或步驟附加功能元件的對應結構、材料、動作和等同物旨在包括用於與如具體地要求的其它所要求元件相組合來執行功能的任何結構、材料或動作。

一種方法可包括:使用處理器來檢測多個圖像中的多個邊緣;使用處理器來確定多個邊緣中跨多個圖像匹配的一組邊緣;以及使用處理器,利用成本函數來估計多個圖像的相機姿勢。

該方法可包括根據相機姿勢和該組邊緣為3d模型生成平面。

生成平面可包括根據該組邊緣來確定三個正交軸。

確定三個正交軸可包括:根據定向將該組邊緣中的邊緣分組到多個存儲桶中;將第一軸確定為包括最大數目的邊緣的存儲桶;將第二軸確定為包括第二大數目的邊緣的存儲桶;以及將第三軸確定為第一軸與第二軸的交叉積。在一個方面,可將第二軸調整為與第一軸正交。

所述方法可包括:針對該組邊緣中的邊緣來確定平面;從所確定的平面中識別假平面;以及移除假平面。

所述方法還可包括渲染平面。

一種系統可包括處理器,該處理器經編程以發起可執行操作。該可執行操作可包括:檢測多個圖像中的多個邊緣;確定多個邊緣中跨多個圖像匹配的一組邊緣;以及利用依賴於該組邊緣的成本函數來估計多個圖像的相機姿勢。

該處理器可進一步經編程以發起可執行操作,該可執行操作包括:根據相機姿勢和該組邊緣來針對3d模型生成平面。

生成平面可包括根據該組邊緣來確定三個正交軸。

確定三個正交軸可包括:根據定向將一組邊緣中的邊緣分組到多個存儲桶中;將第一軸確定為包括最大數目的邊緣的存儲桶;將第二軸確定為包括第二大數目的邊緣的存儲桶;以及將第三軸確定為所述第一軸與所述第二軸的交叉積。處理器可進一步經編程以發起可執行操作,可執行操作可包括:將第二軸調整為與第一軸正交。

在另一個方面,處理器可經編程以發起可執行操作,可執行操作包括:針對該組邊緣中的邊緣來確定平面;從所確定的平面中識別假平面;以及移除假平面。

處理器還可經編程以發起可執行操作,可執行操作包括渲染平面。

一種電腦程式產品可包括上面存儲有程序代碼的計算機可讀存儲媒體。程序代碼可由處理器來運行以執行一種方法。該方法可包括:使用處理器來檢測多個圖像中的多個邊緣;使用處理器來確定多個邊緣中跨多個圖像匹配的一組邊緣;以及使用處理器,利用依賴於該組邊緣的成本函數來估計多個圖像的相機姿勢。

該方法可包括根據相機姿勢和該組邊緣來針對3d模型生成平面。

生成平面可包括根據該組邊緣來確定三個正交軸。

確定三個正交軸可包括:根據定向將該組邊緣中的邊緣分組到多個存儲桶中;將第一軸確定為包括最大數目的邊緣的存儲桶;將第二軸確定為包括第二大數目的邊緣的存儲桶;以及將第三軸確定為第一軸與第二軸的交叉積。所述方法還可包括將第二軸調整為與第一軸正交。

在另一個方面,所述方法可包括:針對該組邊緣中的邊緣來確定平面;從所確定的平面中識別假平面;移除假平面;以及渲染平面。

本文中所提供的發明性布置的描述是僅用於示出的目的,而並非旨在詳盡的或被限制到所公開的形式和示例。選擇本文中所使用的術語是為了解釋發明性布置的原理、實際應用或對市場上發現的技術的技術改進,或使得本領域其他普通技術人員能夠理解本文中所公開的實施方案。在不背離所描述的發明性布置的範圍和精神的情況下,許多修改和變化將為本領域普通技術人員所顯而易見。因此,應參考所附權利要求而非以上公開內容,權利要求表示這些特徵和實施方式的範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀