有噪圖像中的斑點檢測的制作方法
【專利摘要】本文討論了與有噪圖像中的斑點檢測有關的技術。這些技術可以包括:穿越與候選斑點輪廓像素相關聯(lián)的輪廓到達沿著預定方位的直線像素;檢測該直線像素相對于該候選斑點輪廓像素的方向;繼續(xù)穿越作為斑點的輪廓的該輪廓,或者基于所檢測到的方向來檢測第二候選斑點輪廓像素。
【專利說明】
有噪圖像中的斑點檢測
【背景技術】
[0001 ]在諸如計算機視覺和目標檢測之類的成像處理上下文中,期望對于表示場景的圖像數(shù)據中的斑點(blob)進行檢測。例如,斑點可以包括某個屬性或者某些屬性基本不變的圖像區(qū)域,使得該斑點的像素在某些方式上彼此之間相類似。這種斑點可以用于目標檢測、 目標識別、目標跟蹤和其它計算機視覺實現(xiàn)。例如,斑點可以與諸如面部、人、動物、汽車等等之類的對象相關聯(lián)。
[0002]期望的是,甚至在諸如深度圖像(或深度圖)和/或有噪彩色圖像之類的有噪圖像數(shù)據中高效地檢測斑點。但是,當前的斑點檢測技術在這些有噪深度圖像和/或有噪彩色圖像中檢測斑點時可能具有困難。例如,這些有噪深度圖像和/或有噪彩色圖像可能包括一些孔洞(例如,具有丟失或不正確值的小像素區(qū)域)。斑點中的這些孔洞可能造成很難檢測斑點的外形,這是由于孔洞輪廓可能被錯誤地檢測成該斑點的外形或輪廓的一部分。例如,諸如嘗試在第二處理階段對斑點進行分類的均值偏移技術之類的邊緣檢測技術,可能在這些上下文中不能提供高質量的斑點檢測,而且嘗試對整個斑點進行涂色的洪水填充技術可能需要非常大量的計算資源。
[0003]此外,在低質量(例如,有噪的)和高質量(例如,無噪的)圖像中提供計算高效的、 低存儲器帶寬以及能量高效的斑點檢測是有利的。但是,當前的技術是計算低效的,可能需要大量的存儲器使用,這使得這些技術就功率使用和性能而言是低效的。這些限制特別是在諸如移動設備或可穿戴設備實現(xiàn)之類的實現(xiàn)中造成了困難。
[0004]執(zhí)行具有更高準確性和/或更低計算需求的斑點檢測會是有利的。關于這些和其他方面的考慮目前需要本文所給出的改進。隨著提供高質量圖像處理和計算機視覺變得越來越普遍,這些改進會根據期望而變成關鍵。【附圖說明】
[0005]在附圖中,通過示例的方式而不是限制的方式描繪了本文所描述的材料。為了描繪的簡單和清楚起見,附圖中說明的元素沒有必要按比例進行描繪。例如,為了清楚起見, 可以將一些元素的尺寸相對于其它元素進行夸大。此外,在認為適當?shù)牡胤?,對一些附圖標記在附圖之中進行重復,以指示相應的或者類似的元素。
[0006]圖1示出了用于執(zhí)行斑點檢測的示例性過程;
[0007]圖2示出了示例性輸入圖像,其包括具有示例性孔洞的示例性斑點;
[0008]圖3示出了與示例性斑點相關聯(lián)的示例性初始斑點像素;
[0009]圖4示出了與示例性斑點相關聯(lián)的示例性候選斑點輪廓像素;[0〇1〇]圖5示出了與示例性斑點相關聯(lián)的示例性直線像素(inline pixel);
[0011]圖6示出了與示例性斑點相關聯(lián)的示例性候選斑點輪廓像素;
[0012]圖7示出了與示例性斑點相關聯(lián)的示例性直線像素;
[0013]圖8示出了與示例性斑點相關聯(lián)的示例性直線像素;
[0014]圖9示出了用于執(zhí)行斑點檢測的示例性設備;
[0015]圖10是描繪用于執(zhí)行斑點檢測的示例性過程的流程圖;
[0016]圖11是描繪用于執(zhí)行斑點檢測的示例性系統(tǒng)的示意圖;[〇〇17]圖12是一種示例性系統(tǒng)的示意圖;以及
[0018]圖13示出了全部根據本公開內容的至少一些實現(xiàn)來排列的示例性的小形狀因素設備。【具體實施方式】
[0019]現(xiàn)參照所附的附圖來描述一個或多個實施例或實現(xiàn)。雖然討論了特定的配置和排列,但應當理解的是,這僅僅是用于示例性說明目的。相關領域普通技術人員將認識到,在不脫離本文的描述的精神和范圍的基礎上,也可以使用其它配置和排列。對于相關領域的普通技術人員來說顯而易見的是,在不同于本文所描述的各種其它系統(tǒng)和應用中,也可以使用本文所描述的技術和/或排列。
[0020]雖然下面的描述闡述了例如可以在諸如片上系統(tǒng)(SoC)架構之類的架構中顯現(xiàn)的各種實現(xiàn),但本文所描述的技術和/或排列的實現(xiàn)并不限于特定的架構和/或計算系統(tǒng),其可以通過用于類似目的的任何架構和/或計算系統(tǒng)來實現(xiàn)。例如,使用諸如多個集成電路 (1C)芯片和/或封裝的各種架構和/或諸如多功能設備、平板設備、智能電話等等之類的各種計算設備和/或消費電子(CE)設備,可以實現(xiàn)本文所描述的技術和/或排列。此外,雖然下面的描述可能闡述了諸如邏輯實現(xiàn)、系統(tǒng)部件的類型和相互關系、邏輯劃分/集成選項等等之類的眾多細節(jié),但可以在不利用這些特定細節(jié)的情況下實現(xiàn)所要求保護的主題。在其它實例中,為了不對本文所公開的材料造成模糊,沒有詳細地示出諸如控制結構和全部的軟件指令序列之類的一些材料。
[0021]本文所公開的材料可以使用硬件、固件、軟件或者其任意組合來實現(xiàn)。本文所公開的材料還可以實現(xiàn)成在機器可讀介質上存儲的指令,該指令可以由一個或多個處理器進行讀取和執(zhí)行。機器可讀介質可以包括用于存儲或發(fā)送具有能由機器(例如,計算設備)讀取的形式的信息的任何介質和/或裝置。例如,機器可讀介質可以包括:只讀存儲器(ROM);隨機存取存儲器(RAM);磁盤存儲介質;光存儲介質;閃存設備;電、光、聲或者其它形式的傳播信號(例如,載波波形、紅外線信號、數(shù)字信號等等)以及其它形式。[〇〇22]說明書中對于“一種實現(xiàn)”、“一個實現(xiàn)”、“一個示例性實現(xiàn)”等等的引用,指示所描述的實現(xiàn)可以包括具體特征、結構或者特性,但并不需要每一個實施例都包括該特定特征、 結構或特性。此外,這種短語并不是必須地指代相同的實現(xiàn)。此外,當結合實施例來描述特定的特征、結構或特性時,提出了結合其它實現(xiàn)(無論其是否在本文中進行了明確描述)來實現(xiàn)這種特征、結構或特性,也在本領域普通技術人員的知識范圍之內。
[0023]本文描述了涉及斑點檢測的方法、設備、裝置、計算平臺和制品,具體而言,涉及基于檢測在候選斑點輪廓像素與和該斑點輪廓像素成一直線的像素之間的方向,并基于與該候選斑點輪廓像素相關聯(lián)的輪廓,來執(zhí)行斑點檢測。
[0024]如上所述,在諸如計算機視覺和目標檢測之類的成像處理上下文中,斑點檢測準確性、速度和計算效率對于提供諸如目標檢測、目標識別、目標跟蹤、計算機視覺等等之類的各種各樣的應用來說可能是重要的。例如,甚至在諸如深度圖像(或深度圖)和/或有噪彩色圖像之類的有噪圖像數(shù)據中高效地檢測斑點會是有利的。例如,這些圖像可以包括將被進行檢測的斑點中的孔洞(例如,具有丟失或不正確值的小像素區(qū)域),這些孔洞可能在斑點的檢測中造成困難。此外,在任何質量的圖像中提供計算高效的、低存儲器帶寬以及能量高效的斑點檢測是有利的。在本文所討論的一些實施例中,執(zhí)行斑點檢測可以包括:檢測與輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素。例如,可以通過下面的方式來來檢測候選斑點輪廓像素:確定該斑點內的初始像素,沿著預定方位朝著預定方向進行移動,檢驗像素是否包含在該斑點中。例如,候選斑點輪廓像素可以是未通過斑點包含性檢驗的像素。
[0025]基于候選斑點輪廓像素,可以穿越(traverse)輪廓(例如,可以穿越與候選斑點輪廓像素相關聯(lián)的輪廓)到達沿著預定方位與該候選斑點輪廓像素成一直線的直線像素。該預定方位可以是諸如垂直方向之類的任何方向??梢源_定沿著該直線像素和候選斑點輪廓像素之間的預定方位的方向,并且基于所檢測到的方向,可以繼續(xù)穿越該輪廓(例如,確定與該候選斑點輪廓像素相關聯(lián)的輪廓是該斑點的輪廓),或者可以確定第二候選斑點輪廓像素(例如,確定與該候選斑點輪廓像素相關聯(lián)的輪廓是孔洞的輪廓)。例如,如果從該候選斑點輪廓像素到該直線像素的方向與用于確定該直線像素的預定方向相同,則可以確定與該候選斑點輪廓像素相關聯(lián)的輪廓是孔洞的輪廓,以及如果從該候選斑點輪廓像素到該直線像素的方向與用于確定該直線像素的預定方向相反,則可以確定與該候選斑點輪廓像素相關聯(lián)的輪廓是該斑點的輪廓。
[0026]當確定與該候選斑點輪廓像素相關聯(lián)的輪廓是該斑點的輪廓時,可以通過繼續(xù)穿越該輪廓到達沿著所述預定方位與該斑點輪廓像素(例如,先前標記成候選斑點輪廓像素的像素)成一直線的另一個直線像素,來繼續(xù)該處理。例如,第二直線像素可以與該斑點輪廓像素處于相同的像素位置(例如,它們可以是同一個像素)?;谒┰降妮喞梢陨奢喞獢?shù)據(例如,斑點輪廓數(shù)據),并輸出成斑點的輪廓。
[0027]當確定與候選斑點輪廓像素相關聯(lián)的輪廓是孔洞的輪廓,并且確定了第二候選斑點輪廓像素時,通過穿越與第二候選斑點輪廓像素相關聯(lián)的第二輪廓到達第二直線像素 (如先前所討論的),來繼續(xù)該處理。例如,可以確定沿著第二直線像素和第二候選斑點輪廓像素之間的預定方位的方向,并且基于所檢測到的方向,可以繼續(xù)穿越該輪廓(例如,檢測到了該斑點輪廓),或者可以確定第三候選斑點輪廓像素(例如,檢測到了另一個孔洞輪廓)??梢岳^續(xù)該處理,直到檢測到了并穿越了該斑點輪廓,并生成了所討論的斑點輪廓數(shù)據為止。例如,該處理可以區(qū)分圖像中的孔洞的輪廓與期望進行檢測的真正目標外形。
[0028]這些技術可以在諸如有噪圖像之類的圖像中提供快速斑點檢測、斑點提取或者輪廓提取。例如,本文所討論的技術可以提供節(jié)省功率、提高性能、并且更高效地使用系統(tǒng)資源的更輕量級計算。在一些實現(xiàn)中,與先前技術相比,所討論的技術可以比先前技術運行更快多達十倍,減少功耗三分之二,并提供5x的存儲器占用減少。此外,這種斑點輪廓數(shù)據可以用于計算機視覺、特征檢測、目標檢測、目標分割、目標識別、視覺理解、目標去除或增強、 形狀檢測等等。
[0029]圖1示出了根據本公開內容的至少一些實現(xiàn)來排列的、用于執(zhí)行斑點檢測的示例性過程100。過程100可以包括如圖1中所示的一個或多個操作101-109。過程100可以由設備 (例如,設備900或者本文所討論的任何其它設備或系統(tǒng))來執(zhí)行,或者過程100的一部分可以由用于執(zhí)行斑點檢測的設備來執(zhí)行??梢葬槍θ我鈹?shù)量斑點、潛在的斑點區(qū)域、輸入圖像、輸入圖像的感興趣區(qū)域、視頻圖像幀、其一部分等等,來重復過程100或者過程100的一部分。
[0030]如所示出的,過程100可以從開始操作101而開始在操作102處,“選擇與斑點的感興趣區(qū)域相關聯(lián)的候選初始斑點像素(P0)”,其中,可以針對輸入圖像的斑點或者潛在斑點 (例如,預期的斑點),來選擇候選初始斑點像素P0。例如,該候選初始斑點像素可以是進行檢驗以判斷是否被包含在該斑點中的初始像素。例如,可以接收到輸入圖像和相關聯(lián)的感興趣區(qū)域數(shù)據等等,并且可以基于該感興趣區(qū)域數(shù)據來選擇該候選像素。例如,該感興趣區(qū)域數(shù)據可以針對該輸入圖像來指示斑點的區(qū)域或者候選斑點區(qū)域等等。該感興趣區(qū)域數(shù)據可以使用任何適當?shù)募夹g或者技術集來指示該區(qū)域。例如,感興趣區(qū)域可以規(guī)定與輸入圖像的一個區(qū)域相關聯(lián)的方形、矩形或者任何其它形狀。此外,可以使用任何適當?shù)募夹g或技術集來選擇候選像素。例如,該候選像素可以在感興趣區(qū)域之中進行隨機地選擇、在感興趣區(qū)域的中心處進行選擇、基于感興趣區(qū)域中的最佳猜測位置來進行選擇等等。
[0031]圖2示出了根據本公開內容的至少一些實現(xiàn)來排列的、包括具有示例性孔洞203、 204的示例性斑點20 2的示例性輸入圖像201。如圖2中所示,輸入圖像201可以包括針對于背景205的具有孔洞203、204的斑點202。如本文所使用的,輸入圖像201可以包括任何適當?shù)膱D像數(shù)據,例如針對于輸入圖像201的像素的像素值等等。在一些例子中,輸入圖像201可以是深度圖像或者深度圖等等,使得輸入圖像201或者相關聯(lián)的輸入圖像數(shù)據包括每一個像素(例如,通道)的數(shù)據,其與從視點到場景對象表面的距離有關。例如,對于表示更接近視點或焦平面等等的對象的對象或像素來說,這些像素值可以更大(或更小)。例如,輸入圖像 201的每一個像素可以包括與視點或焦平面等等的距離相關聯(lián)的距離值。在其它例子中,輸入圖像201可以是彩色圖像,使得輸入圖像201或者相關聯(lián)的輸入圖像數(shù)據可以是針對于特定顏色空間(例如,紅綠藍(RGB)顏色空間等等)的像素值或一些像素值(例如,通道)。例如, 輸入圖像201的每一個像素可以包括針對紅色的值、針對綠色的值、以及針對藍色的值。雖然參照RGB顏色空間進行討論,但輸入圖像201可以包括任何適當顏色空間中的像素值。如所討論的,在一些例子中,這種深度圖像數(shù)據或彩色圖像數(shù)據可以包括孔洞(例如,具有丟失或不正確值的小像素區(qū)域)。[〇〇32] 如所示出的,在一些例子中,輸入圖像201可以包括斑點202中的孔洞203、204。例如,輸入圖像201可以是有噪圖像等等。如上所述,孔洞203、204可以包括丟失的或不正確的像素值。如所示出的,在一些例子中,相對于與斑點202的值具有相同或類似的值,孔洞203、 204可以具有與背景205的值相同或類似的值。在所示出的例子中,輸入圖像201包括具有兩個孔洞203、204的一個斑點202。但是,輸入圖像201可以包括任意數(shù)量的斑點和/或孔洞。 [〇〇33]此外,如參照操作102所討論的,感興趣區(qū)域數(shù)據可以與輸入圖像201相關聯(lián)。例如,感興趣區(qū)域數(shù)據(沒有示出)可以與斑點202相關聯(lián),使得感興趣區(qū)域數(shù)據規(guī)定斑點202 周圍的邊框。輸入圖像201和/或該感興趣區(qū)域數(shù)據可以是經由任何適當?shù)脑磥斫邮盏摹@?,輸入圖像201可以是從圖像傳感器、成像傳感器、圖像信號處理器、成像管道等等來接收的。此外,感興趣區(qū)域數(shù)據可以是從圖像信號處理器、成像管道等等接收的。在一些例子中, 感興趣區(qū)域數(shù)據可以是基于在先前的輸入圖像中檢測的斑點(例如,一系列視頻幀中的先前圖像幀)。[〇〇34]返回到圖1,處理可以繼續(xù)在判定操作103處進行,“P0在斑點之中?”,其中可以關于候選初始斑點像素P0是否位于斑點之中進行判斷??梢允褂脵z驗像素是否包含在斑點之中的任何適當技術或技術集來進行該判斷。例如,對于深度圖像而言,針對包含在斑點中的檢驗可以包括:絕對深度值檢驗(例如,判斷候選初始斑點像素的深度值是大于還是小于門限)、相鄰像素之間的深度距離檢驗等等。在一些例子中,針對包含在斑點中的檢驗可以包括方差檢驗(例如,判斷候選初始斑點像素的方差是高于還是低于門限)。例如,可以將針對包含在斑點中的檢驗表征為斑點檢驗。在一些例子中,可以基于要進行檢測的斑點類型來改變斑點檢驗,和/或可以將斑點檢驗提供成輸入。例如,在操作103處將使用的斑點檢驗可以基于斑點類型來選擇,基于斑點如何被定義來選擇,基于如何檢測斑點來選擇,由用戶進行選擇,基于輸入圖像201的特性來選擇等等。
[0035]如所示出的,如果候選初始斑點像素不在該斑點之中,則過程100可以返回到操作 102,此時可以選擇第二或者另一個候選初始斑點像素P0。例如,被確定為不在斑點之中的候選初始斑點像素可以位于孔洞(例如,孔洞203、204)或者輸入圖像(例如,輸入圖像201, 請參照圖2)的背景(例如,背景205)之中。可以使用任何適當?shù)募夹g或技術集(例如,隨機地、基于探測模式等等),來選擇該第二候選初始斑點像素。此外,可以在判定操作103處,針對于是否包含在斑點之中,對第二候選初始斑點像素進行評估。可以繼續(xù)該處理,直到檢測到或者確定候選初始斑點像素位于該斑點之中為止。例如,操作102和操作103可以嘗試選擇最佳猜測候選初始斑點像素,并驗證該像素位于該斑點之中。如果是,則處理可以繼續(xù)進行,如果不是,則可以選擇另一個像素。
[0036]如果該候選初始斑點像素位于該斑點之中(或者確定隨后選擇的候選初始斑點像素位于該斑點之中),則可以將該候選初始斑點像素表征為初始斑點像素,過程100可以在操作104處繼續(xù)進行,如下面所進一步討論的。
[0037]圖3示出了根據本公開內容的至少一些實現(xiàn)來排列的、與斑點202相關聯(lián)的示例性初始斑點像素301。如圖3中所示,初始斑點像素301可以位于斑點202之中或之內,并且初始斑點像素301不位于孔洞203、204中的任何一個之內。如上所述,初始斑點像素301可以位于斑點202中的任何位置,并且位于孔洞203、204之外。[〇〇38]返回到圖1,處理可以繼續(xù)在操作104處進行,“從P0開始搜索到達候選斑點輪廓的像素(P1)”,其中,可以執(zhí)行搜索以確定候選斑點輪廓像素。該搜索可以使用任何適當?shù)募夹g或技術集來確定候選斑點輪廓像素。此外,候選斑點輪廓像素可以是與候選斑點輪廓相關聯(lián)。例如,過程100可以提供繼續(xù)處理,以判斷該候選斑點輪廓像素和相關聯(lián)的輪廓是該斑點的輪廓的一部分,還是一個孔洞的輪廓的一部分。
[0039]圖4示出了根據本公開內容的至少一些實現(xiàn)來排列的、與斑點202相關聯(lián)的示例性候選斑點輪廓像素401。如上所述,可以使用任何適當?shù)募夹g或者技術集來確定候選斑點輪廓像素401。如圖4中所示,在一些例子中,可以通過下面方式來確定候選斑點輪廓像素401: 對沿著預定方位403且離初始斑點像素301處于預定方向404的像素402進行檢驗。例如,操作104可以開始于初始斑點像素301處并且檢驗處于特定方向(例如,沿著預定方位403的預定方向404)中的像素,直到發(fā)現(xiàn)未通過斑點包含性檢驗的像素為止。該斑點包含性檢驗可以包括諸如參照操作103所討論的那些的任何適當?shù)臋z驗。在一些例子中,操作104和操作 103的斑點包含性檢驗可以是相同的,而在其它例子中,它們可以是不同的。
[0040]如圖4中所示,在一些例子中,預定方位403可以是垂直方向,使得預定方向404和預定方向405可以分別是向上和向下(或者向北和向南等等)。但是,預定方位403可以是任何適當?shù)姆轿?例如,水平),使得預定方向404和預定方向405可以分別是向左和向右(或向西和向東等等),預定方位403可以是45度方位等等。在一些例子中,在對輸入圖像201進行處理之前,可以對其進行旋轉。在本文的討論中,為了便于呈現(xiàn)的清楚起見,可以使用垂直的預定方位以及向上和向下的方向。但是,如上所述,可以使用任何適當?shù)姆轿缓头较颉?[〇〇41]此外,在所示出的例子中,候選斑點輪廓像素401與孔洞204和/或孔洞204的輪廓相關聯(lián)。但是,候選斑點輪廓像素401可以與孔洞203、另一個孔洞(沒有示出)或者斑點202 自身的輪廓相關聯(lián)(例如,如參照圖6的候選斑點輪廓像素601所討論的)。為了便于呈現(xiàn)的清楚起見,提供了圖4的例子。[〇〇42]返回到圖1,處理可以繼續(xù)在操作105處進行,“穿過候選斑點輪廓到達與像素P1成一直線的直線像素(P2)”,其中,可以穿過或者穿越與候選斑點輪廓像素相關聯(lián)的輪廓,直到確定直線像素為止。例如,該直線像素可以是沿著預定方位與候選斑點輪廓像素成一直線??梢允褂萌魏芜m當?shù)募夹g或技術集來穿越該輪廓。在一些例子中,可以使用Theo Pavlidi技術等等來穿越該輪廓。此外,可以使用任何適當?shù)募夹g或技術集來檢測直線像素。例如,可以提供直線檢驗(比如,當預定方位是垂直時,對水平方向或x方向像素位置值進行比較,或者當預定方位是水平時,對垂直方向或y方向像素位置值進行比較)。[〇〇43]圖5示出了根據本公開內容的至少一些實現(xiàn)來排列的、與斑點202相關聯(lián)的示例性直線像素501。如上所述,可以使用任何適當?shù)募夹g或技術集來確定直線像素501。如圖5中所示,在一些例子中,可以通過下面方式來確定直線像素501:穿越孔洞204的輪廓502(例如,與候選斑點輪廓像素401相關聯(lián)的輪廓),直到到達直線點(inline point)501,使得直線像素501沿著預定方位403與候選斑點輪廓像素401成一直線為止。例如,直線像素501和候選斑點輪廓像素401可以具有相同的水平位置或者相同的x方向像素位置值等等。例如, 可以基于諸如垂直直線檢驗(例如,相同的水平位置)、水平直線檢驗(例如,相同的垂直位置)等等之類的直線檢驗,來確定直線像素501,使得其沿著預定方位403與候選斑點輪廓像素401成一直線。
[0044]返回到圖1,處理可以繼續(xù)在判定操作106處進行,“比較P1和P2之間的方向”,其中,可以關于在操作104處確定的候選斑點輪廓像素和在操作105處確定的直線像素之間的方向進行判斷。可以使用任何適當?shù)募夹g或技術集,來確定候選斑點輪廓像素和直線像素之間的方向。例如,如果預定方位是垂直的,則可以對垂直或y方向像素位置值進行比較,使得可以確定該直線像素與候選斑點輪廓像素相比是在上面、下面,還是處于相同的位置。在預定方位是水平的例子中,可以對水平或x方向像素位置值進行比較,使得可以確定該直線像素與候選斑點輪廓像素相比是在左邊、右邊,還是處于相同的位置。但是,如上所述,可以使用任何適當?shù)念A定方位,并且可以基于該預定方位來進行適當?shù)姆较驒z驗。
[0045]如所示出的,如果直線像素P2處于與從候選斑點輪廓像素P1開始的搜索方向(例如,在操作104處提供的搜索方向)相反的方向,則處理可以繼續(xù)在操作105處進行。例如,如果該直線像素處于與從候選斑點輪廓像素開始的搜索方向相反的方向,則發(fā)現(xiàn)了斑點輪廓,并且在操作105處執(zhí)行的輪廓穿越確定了與該候選斑點輪廓像素相反的斑點輪廓上的像素(例如,基于直線像素處于與搜索方向相反的方向中,將該像素表征為斑點輪廓像素)。 如所示出的,在這些實例中,過程100可以繼續(xù)在操作105處進行,此時,可以繼續(xù)對該輪廓進行穿過或穿越等等(如上面所討論的),直到確定了另一個直線像素(例如,其還標記成P2)為止。在這些例子中,新發(fā)現(xiàn)的直線像素P2將與斑點輪廓像素(例如,原來的候選斑點輪廓像素)P1相同。
[0046]如果直線像素P2處于與從候選斑點輪廓像素P1開始的搜索方向相同的方向,則處理可以繼續(xù)在操作107處進行,“將P2設置為新的起始點像素(P0: =P2)”,其中,可以將直線像素P2設置為新的起始點像素。例如,可以利用直線像素P2來替代在操作102和操作103處確定的初始斑點像素P0。使得可以將該直線像素表征為初始斑點像素或者起始點像素。例如,該直線像素處于與從候選斑點輪廓像素開始的搜索方向相同的方向,則發(fā)現(xiàn)了孔洞輪廓,在操作處執(zhí)行的穿越確定了與候選斑點輪廓像素相反的孔洞輪廓上的像素(例如,基于該直線像素處于與搜索方向相同的方向,將該像素表征為非斑點輪廓像素)。如所示出的, 在這些實例中,可以建立新的初始斑點像素或者起始點像素,處理可以從操作107轉到在操作105繼續(xù),此時,可以確定新的候選斑點輪廓像素(例如,沿著斑點輪廓或者在另一個孔洞處)、可以確定新的直線像素(例如,如上所述),可以應用判定操作1〇6(例如,也如上所述)。
[0047]在這些例子中,新的直線像素可以處于與從新的候選斑點輪廓像素開始的搜索方向相反的方向(例如,檢測到了斑點輪廓,并且將新的候選斑點輪廓像素表征為斑點輪廓像素),或者新的直線像素可以處于與從新的候選斑點輪廓像素開始的搜索方向相同的方向 (例如,檢測到了另一個孔洞)。如果檢測到了斑點輪廓,則處理可以繼續(xù)在操作105處進行, 直到直線像素處于與斑點輪廓像素相同的位置。如果檢測到了另一個孔洞,則可以從操作 104處開始重復所描述的處理。[〇〇48]如果直線像素P2處于與候選斑點輪廓像素P1相同的位置,則處理可以從操作107 轉到在操作108繼續(xù),“將在P1處起始和結束的輪廓返回成斑點輪廓”,其中,可以生成并提供與所穿越的輪廓相關聯(lián)的輪廓數(shù)據,在操作109處結束。例如,在這些實例中,在至少第二時間上確定了直線像素P2(例如,檢測到處于與從候選斑點輪廓像素開始的搜索方向相反的方向中的先前直線像素P2),并且已將候選斑點輪廓像素表征為斑點輪廓像素。在這些例子中,當穿越斑點輪廓時,操作105將返回到該斑點輪廓像素。例如,從斑點輪廓像素穿越到處于相同位置的直線像素(例如,該斑點輪廓像素和直線像素是相同的像素)的輪廓是該斑點的輪廓,并且可以生成并提供與該輪廓相關聯(lián)的數(shù)據,以便其它設備、模塊、應用等等來使用。[〇〇49]返回到圖5,如上所述,可以基于穿越孔洞204的輪廓502,來檢測直線像素501。此夕卜,直線像素501可以處于與從候選斑點輪廓像素401開始的搜索方向(例如,沿著預定方位 403所預定的方向)相同的方向。例如,參照判定操作106,可以檢測到直線像素501處于與從候選斑點輪廓像素401開始的搜索方向相同的方向。在這些例子中,如上所述,處理可以繼續(xù)在操作107處進行。
[0050]圖6示出了根據本公開內容的至少一些實現(xiàn)來排列的、與斑點202相關聯(lián)的示例性候選斑點輪廓像素601。如圖6中所示,可以將直線像素501表征為新的初始斑點像素602(或者新的起始像素等等)。例如,可以將直線像素501表征為操作107處的新的初始斑點像素 602(請參見圖1)。此外,可以通過檢驗沿著預定方位403并在從初始斑點像素602開始的預定方向404中的像素603是否包含在斑點202中,來將候選斑點輪廓像素601確定成候選斑點輪廓像素。例如,操作104可以開始于初始斑點像素602,并對像素603進行檢驗,直到發(fā)現(xiàn)未通過斑點包含性檢驗的像素為止。該斑點包含性檢驗可以包括諸如本文所討論的那些檢驗之類的任何適當檢驗。如上所述,在一些例子中,可以基于初始斑點像素602并隨后穿越與孔洞204相關聯(lián)的輪廓,來確定候選斑點輪廓像素601(例如,沿著斑點202的輪廓的候選斑點輪廓像素)。在其它例子中,在沒有第一次穿越與孔洞相關聯(lián)的輪廓的情況下,可以確定候選斑點輪廓像素601,或者在穿越與多個孔洞相關聯(lián)的輪廓之后,可以確定候選斑點輪廓像素601。
[0051]圖7示出了根據本公開內容的至少一些實現(xiàn)來排列的、與斑點202相關聯(lián)的示例性直線像素701。如上所述,可以使用過程100的操作105處的任何適當技術或技術集(請參見圖1),來確定直線像素701。如圖7中所示,在一些例子中,可以通過下面方式來確定直線像素701:穿越斑點202的輪廓702(例如,與候選斑點輪廓像素601相關聯(lián)的輪廓),直到到達直線點701,使得直線像素501沿著預定方位403與候選斑點輪廓像素601成一直線為止。例如, 直線像素701和候選斑點輪廓像素601可以具有相同的水平位置或者相同的x方向像素位置值等等。例如,可以基于諸如垂直直線檢驗(例如,相同的水平位置)、水平直線檢驗(例如, 相同的垂直位置)等等之類的直線檢驗,對直線像素701進行確定,使得其沿著預定方位403 與候選斑點輪廓像素601成一直線。[〇〇52]此外,直線像素701可能處于與從候選斑點輪廓像素601開始的搜索方向(例如,該搜索方向用于從初始斑點像素602開始來確定候選斑點輪廓像素601)相反的方向(例如,沿著預定方位403朝著預定方向405)。例如,參見判定操作106,可以檢測直線像素701處于與從候選斑點輪廓像素601開始的搜索方向(例如,在操作104處使用的搜索方向)相反的方向。在這些例子中,如上所述,處理可以繼續(xù)在操作105處進行(請參見圖1)。例如,處理可以繼續(xù),使得繼續(xù)穿越斑點202的輪廓702。此外,可以基于所檢測到的在直線像素701和候選斑點輪廓像素601之間的方向,將候選斑點輪廓像素601表征為斑點輪廓像素。[〇〇53]圖8示出了根據本公開內容的至少一些實現(xiàn)來排列的、與斑點202相關聯(lián)的示例性直線像素801。如上所述,從直線像素701開始(例如,從處于與斑點輪廓像素開始的搜索方向的相反方向的直線像素開始),處理可以繼續(xù)在操作105處進行,以繼續(xù)穿越該斑點輪廓 (請參見圖1),直到確定另一個直線像素為止。如圖8中所示,在一些例子中,可以通過下面方式來確定直線像素801:穿越斑點202的輪廓702(例如,與候選斑點輪廓像素601相關聯(lián)的輪廓),直到到達直線點801,使得直線像素801沿著預定方位403與候選斑點輪廓像素601成一直線為止。例如,直線像素801和候選斑點輪廓像素601可以具有相同的水平位置或者相同的x方向像素位置值等等。例如,可以基于諸如垂直直線檢驗(例如,相同的水平位置)、水平直線檢驗(例如,相同的垂直位置)等等之類的直線檢驗,來確定直線像素801,使得其沿著預定方位403與候選斑點輪廓像素601成一直線。[〇〇54]在該實例中,如圖8中所示,由于穿越了斑點202的輪廓702的全部,候選斑點輪廓像素601和直線像素801可以具有相同的位置(例如,它們可以是相同的像素)。此外,如參照圖1所討論的,在操作108等等處,可以基于輪廓702來生成與輪廓702相關聯(lián)的數(shù)據(例如, 輪廓數(shù)據或斑點輪廓數(shù)據等等)。該輪廓數(shù)據可以包括任何適當?shù)臄?shù)據,例如,沿著輪廓702 的點、表示輪廓702的線或段或曲線等等、或者表示輪廓702的形狀的任何其它數(shù)據。[〇〇55]如上所述,所描述的技術可以生成斑點輪廓數(shù)據(例如,如與斑點202的輪廓702相關聯(lián)的),同時檢測和繞過諸如孔洞204之類的孔洞。即使在有噪圖像數(shù)據上下文中,這些技術可以提供準確的斑點檢測。此外,可以在低計算和存儲要求(因此具有低功耗)的情況下,實現(xiàn)這些技術。
[0056]例如,本文所討論的技術可以是基于與斑點202有關的觀測。在下面的討論中,使用垂直的示例性預定方位403,但是,如上所述,可以提供任何適當?shù)念A定方位403。例如,斑點202可以包括輸入圖像中的斑點像素(B)的非空連通集合。此外,如果并且僅僅當p和q具有圖像中的相同的水平位置(例如,x 1 = x2),并且垂直位置p在q的上面(例如,y2>y 1),則圖像中的像素(pxl,yl)可以是確切地在像素(qx2,y2)之上。
[0057]基于這些定義,可以觀測到的是,存在斑點像素的非空子集(T),使得對于子集T中的每一個像素(pxl,yl)來說,在斑點像素B中不存在其它像素(qx2,y2),使得q確切地在p之上。 例如,每一個斑點具有頂部像素的子集,使得該子集中的每一個像素位于該斑點中具有相同水平位置的所有像素之上。此外,對于每一個給定的水平位置而言,可以存在至多一個頂部像素。還可以觀測到,對于斑點像素B中不處于T里的每一個像素(px3,y3)來說,確切地在子集T中存在一個像素確切地位于像素p之上。例如,斑點中不位于頂部集合里的每一個像素, 都確切地具有高于其的一個頂部像素。此外,可以觀測到的是,針對子集T中的像素的全部像素都是斑點的外形或輪廓的一部分。
[0058]本文所討論的技術可以使用這些觀測結果來確定目標或斑點外形或輪廓,并在不掉入孔洞的情況下穿過該斑點外形或輪廓(例如,穿越真實的斑點輪廓)。此外,如上所述, 本文所討論的技術可以使用斑點包含性檢驗,來判斷像素是否包括在斑點像素B之中。例如,給定輸入圖像中的任何像素(Px5,y5),斑點包含性檢驗可以判斷p是否在該斑點之中,使得斑點包含性檢驗可以是基于P的值,并且在一些例子中,可以基于P相鄰的其它像素的值。 例如,不屬于斑點的像素可以是背景像素或者如本文所討論的孔洞像素。本文所討論的技術還可以使用輪廓穿越技術,來沿著斑點輪廓和/或孔洞輪廓行進,或者穿越這些輪廓。一旦檢測到輪廓像素,這種輪廓穿越技術就可以搜索該像素的鄰居,以便發(fā)現(xiàn)該輪廓中的下一個像素,并重復該技術以穿過和檢測該斑點輪廓或者該斑點的輪廓上的孔洞輪廓。
[0059]圖9示出了根據本公開內容的至少一些實現(xiàn)來排列的、用于執(zhí)行斑點檢測的示例性設備900。如圖9中所示,設備900可以包括初始像素選擇模塊901、斑點像素檢驗模塊902、 像素移動模塊903、斑點像素重置模塊904、位置檢測模塊905、直線檢驗模塊906、輪廓檢測模塊907、斑點像素檢驗模塊908和輪廓輸出模塊909。設備900可以是諸如計算機、膝上型計算機、平板設備、智能電話、數(shù)碼相機、掃描儀、多功能設備、游戲控制臺、可穿戴設備、顯示設備等等之類的任何適當形狀因素設備。例如,設備900可以執(zhí)行如本文所討論的斑點檢測。
[0060]如所示出的,初始像素選擇模塊901可以接收輸入圖像數(shù)據911和感興趣區(qū)域數(shù)據 912。輸入圖像數(shù)據911可以包括表示圖像場景的任何適當?shù)膱D像或成像數(shù)據。在一些例子中,輸入圖像數(shù)據911可以是從圖像傳感器、圖像信號處理器、成像管道等等接收的。在一些例子中,輸入圖像數(shù)據911可以包括深度圖像數(shù)據或彩色圖像數(shù)據等等。例如,輸入圖像數(shù)據911可以包括針對于輸入圖像的每一個像素的輸入像素值,例如深度值或顏色值(例如, 通過多個顏色通道)。此外,輸入圖像數(shù)據911可以包括針對任何類型的輸入圖像的任意數(shù)量的像素的值。例如,輸入圖像可以包括靜態(tài)圖像、視頻序列的圖像幀、圖形幀、其一部分等等。如上所述,輸入圖像數(shù)據911可以包括與一個或多個斑點和/或一個或多個孔洞相關聯(lián)的數(shù)據。此外,可以根據需要來向設備900的其它模塊提供輸入圖像數(shù)據911,以進行如本文所討論的處理。感興趣區(qū)域數(shù)據912可以與輸入圖像數(shù)據911相關聯(lián),并且感興趣區(qū)域數(shù)據 912可以包括用于指示輸入圖像數(shù)據911中的一個或多個感興趣區(qū)域的任何適當數(shù)據。例如,感興趣區(qū)域數(shù)據912可以指示懷疑有斑點的一個或多個區(qū)域。在一些例子中,可以不提供感興趣區(qū)域數(shù)據912。[〇〇61]如圖9中所示,初始像素選擇模塊901可以接收輸入圖像數(shù)據911和感興趣區(qū)域數(shù)據912,并且初始像素選擇模塊901可以生成候選初始斑點像素(CP0) 913。初始像素選擇模塊901可以使用適當?shù)募夹g或技術集來生成候選初始斑點像素913,例如,選擇感興趣區(qū)域數(shù)據912中的隨機像素,選擇感興趣區(qū)域數(shù)據912的中間像素,基于感興趣區(qū)域數(shù)據912來應用采樣模式等等。初始像素選擇模塊901可以向斑點像素檢驗模塊902和/或設備900的存儲器(未示出)提供候選初始斑點像素913。
[0062]斑點像素檢驗模塊902可以接收候選初始斑點像素913,并且斑點像素檢驗模塊 902可以應用斑點包含性檢驗,以判斷候選初始斑點像素913是否在斑點之中(例如,候選初始斑點像素913是否是斑點像素)。該斑點包含性檢驗可以包括任何適當?shù)臋z驗,例如,絕對深度值檢驗、相鄰像素之間的深度距離檢驗、方差檢驗等等。在一些例子中,該斑點包含性檢驗可以是從設備900的另一個模塊作為斑點像素檢驗927而接收的。例如,斑點像素檢驗模塊902可以接收并應用斑點像素檢驗927,以判斷候選初始斑點像素913是否在斑點之中。 如果不在,則斑點像素檢驗模塊902可以返回假(false)值(例如,圖9中的F),并且斑點像素檢驗模塊902可以生成失敗彳目號914。可以將失敗彳目號914提供給初始像素選擇模塊901,響應于失敗信號914,初始像素選擇模塊901可以生成另一個候選初始斑點像素913,直到候選初始斑點像素通過斑點像素檢驗或者斑點包含性檢驗為止。例如,當確定候選初始斑點像素913在斑點之中時,斑點像素檢驗模塊902可以返回真(true)值(例如,圖9中的T ),并且斑點像素檢驗模塊902可以將候選初始斑點像素913作為初始斑點像素(P0)915提供給像素移動模塊903和/或設備900的存儲器。[〇〇63]像素移動模塊903可以接收初始斑點像素915,并且像素移動模塊903可以沿著預定方位,在預定方向中移動一個像素等等,以生成候選像素(CP1)916。如上所述,像素移動模塊903可以沿著任何預定方位,以任何預定方向進行移動,例如,沿著垂直方位來向上、沿著垂直方位來向下、沿著水平方位來向左、沿著水平方位來向右等等。像素移動模塊903可以向斑點像素檢驗模塊908和/或設備900的存儲器提供候選像素916。
[0064]斑點像素檢驗模塊908可以接收候選像素916,并且斑點像素檢驗模塊902可以應用斑點包含性檢驗以判斷候選像素916是否在斑點之中(例如,候選像素916是否是斑點像素)。該斑點包含性檢驗可以包括如本文所討論的任何適當?shù)臋z驗。在一些例子中,該斑點包含性檢驗可以是從設備900的另一個模塊作為斑點像素檢驗928而接收的。例如,斑點像素檢驗模塊908可以接收并應用斑點像素檢驗928,以判斷候選像素916是否在斑點之中。如果在,則斑點像素檢驗模塊908可以返回真值(例如,圖9中的T),斑點像素檢驗模塊908可以向像素移動模塊903提供斑點像素信號(BP)917。響應于斑點像素信號917,可以進行另一個像素移動以便向斑點像素檢驗模塊908提供另一個候選像素916,繼續(xù)進行該操作直到檢測到非斑點像素(例如,輪廓像素)為止。例如,當確定候選像素916不在斑點之中時,斑點像素檢驗模塊908可以返回假值(例如,圖9中的F),斑點像素檢驗模塊908可以將候選斑點輪廓像素(Pl)918提供給輪廓檢測模塊907和/或設備900的存儲器。
[0065]輪廓檢測模塊907可以接收候選斑點輪廓像素(Pl)918,并且輪廓檢測模塊907可以穿越與候選斑點輪廓像素(Pl)918相關聯(lián)的輪廓以檢測候選直線像素(CP2)919。輪廓檢測模塊907可以使用諸如Theo Pavlidi技術等等之類的任何適當?shù)募夹g或技術集,來穿越該輪廓。輪廓檢測模塊907可以向直線檢驗模塊906和/或設備900的存儲器提供候選直線像素 919。[〇〇66]直線檢驗模塊906可以接收候選直線像素919,并且直線檢驗模塊906可以判斷候選直線像素919是否沿著預定方位與候選斑點輪廓像素918成一直線。直線檢驗模塊906可以使用如本文所討論的任何適當檢驗,來判斷這些像素是否是一直線的。例如,如果預定方位是垂直方位,則直線檢驗模塊906可以判斷這些像素具有相同的水平像素位置值。如果沒有相同的水平像素位置值,則直線檢驗模塊906可以返回假值(例如,圖9中的F),直線檢驗模塊906可以生成失敗信號920??梢詫⑹⌒盘?20提供給輪廓檢測模塊907,并且響應于失敗信號920,輪廓檢測模塊907可以生成另一個候選直線像素919(例如,沿著輪廓的另一個像素),直到候選直線像素通過該直線像素檢驗為止。例如,當確定候選直線像素919與候選斑點輪廓像素(Pl)918成一直線時,直線檢驗模塊906可以返回真值(例如,圖9中的T ),直線檢驗模塊906可以向位置檢測模塊905和/或設備900的存儲器提供直線像素(P2)921。 [〇〇67]位置檢測模塊905可以檢測或者確定直線像素921和候選斑點輪廓像素918之間的沿著預定方位的方向。位置檢測模塊905可以使用任何適當?shù)募夹g或技術集來檢測該方向, 例如,比較直線像素921和候選斑點輪廓像素918的像素位置。例如,在像素移動模塊903實現(xiàn)向上移動像素的垂直預定方位的例子中,位置檢測模塊905可以對直線像素921和候選斑點輪廓像素918的垂直像素位置或者值進行比較。位置檢測模塊905可以檢測直線像素921 和候選斑點輪廓像素918的方向和/或位置,并且位置檢測模塊905可以提供適當?shù)男盘栆赃M行進一步處理。[〇〇68]例如,如果直線像素921處于由像素移動模塊903從候選斑點輪廓像素918實現(xiàn)的方向之中(例如,直線像素921直接位于候選斑點輪廓像素918之上等等),則位置檢測模塊 905可以向斑點像素重置模塊904提供孔洞檢測到(HD)信號922。斑點像素重置模塊904可以接收孔洞檢測到信號922,并且斑點像素重置模塊904可以將該初始斑點像素重置為直線像素921,并向像素移動模塊903提供該重置的初始斑點像素(P0)以進行進一步處理,如上所述。例如,像素移動模塊903和斑點像素檢驗模塊908可以確定新的候選斑點輪廓像素918, 輪廓檢測模塊907和直線檢驗模塊906可以確定新的直線像素921,可以對該新的直線像素進行檢驗,直到檢測到斑點輪廓為止(可以將候選斑點輪廓像素918表征為實際斑點輪廓像素918)。在這些實例中,直線像素921隨后處于像素移動模塊903相對于斑點輪廓像素(例如,先前的候選斑點輪廓像素918)實現(xiàn)的相反方向之中。[〇〇69]例如,當直線像素921處于由像素移動模塊903從候選斑點輪廓像素918實現(xiàn)的相反方向之中時(例如,直線像素921直接在候選斑點輪廓像素918之下等等,可以將候選斑點輪廓像素918表征為實際斑點輪廓像素,如上面所討論的),位置檢測模塊905可以向輪廓檢測模塊907提供斑點輪廓檢測到(BCD)信號924。輪廓檢測模塊907可以接收斑點輪廓檢測到信號924,并且輪廓檢測模塊可以繼續(xù)檢測沿著該輪廓的像素(例如,新的候選直線像素 919),并向直線檢驗模塊906提供這些像素,直到檢測到直線像素為止。在這些實例中,所檢測到的直線像素(例如,直線像素921)處于與斑點輪廓像素(例如,先前的候選斑點輪廓像素918)相同的位置。
[0070]例如,當直線像素921處于與斑點輪廓像素相同的位置時(例如,直線像素921是候選斑點輪廓像素918),位置檢測模塊905可以向輪廓輸出模塊909提供輪廓完成(CC)信號 923。輸入輸出模塊909可以接收輪廓完成信號923,輪廓輸出模塊909可以基于穿過的斑點輪廓(例如,基于斑點輪廓檢測到信號924和輪廓完成信號923而穿過的輪廓),來生成斑點輪廓數(shù)據930。斑點輪廓數(shù)據930可以包括任何適當?shù)妮喞獢?shù)據,例如,沿著該輪廓的點、表示該輪廓的線或線段或曲線等等、或者表示該輪廓的形狀的任何其它數(shù)據。
[0071]如上所述,在一些例子中,可以基于下面方式來確定斑點輪廓數(shù)據930:檢測候選斑點輪廓像素和沿著預定方位的直線像素、比較該候選斑點輪廓像素和直線像素的相對方向或位置、以及基于這些比較來指示孔洞輪廓或斑點輪廓。參照設備900所討論的技術可以應用于輸入圖像數(shù)據911中的任意數(shù)量的斑點和/或應用于經由輸入圖像數(shù)據911來提供的任意數(shù)量的輸入圖像。設備900可以提供低存儲器占用和計算高效的斑點檢測技術。可以將斑點輪廓數(shù)據930提供給設備900的任何模塊等等,以實現(xiàn)諸如目標檢測、目標識別、目標跟蹤、計算機視覺等等之類的各種各樣的應用。
[0072]在一些例子中,本文所討論的技術可以經由軟件來實現(xiàn)。在一些例子中,可以提供參照偽代碼(1)所提供的偽代碼來實現(xiàn)本文所討論的技術。[〇〇73]偽代碼(1):[〇〇74]1//接受深度圖像
[0075]2start:
[0076]3depth = camera.get();
[0077] 4//采樣R0I,直到發(fā)現(xiàn)有效點
[0078]5do{
[0079]6P0 = getRandomPointInR0I();
[0080]7丨while(test(P0) = =false);
[0081]8search_top_point:
[0082]9//向上移動,直到到達深度值中具有較大差異的點
[0083]1〇Pl=P〇;
[0084]11do{
[0085]12Pl = (Pl.x,Pl.y-l);
[0086]13}while(test(Pl) = =true);
[0087]14contour.reset();[〇〇88]15//嘗試檢測輪廓
[0089]16detect_contour:
[0090]17P2 = P1;
[0091]18do{
[0092]19contour.add(P2);
[0093]20P2=FindNextCountourPoint(P2);
[0094]21}while(P2.x!=Pl.x)[〇〇95]22 //檢查哪個點是更高的
[0096] 23if(P2.y>Pl.y)
[0097]24{[〇〇98]25//返回到向上移動階段
[0099]26Jump search_top_point;
[0100] 27else if(P2.y<Pl.y)
[0101]28{[〇1〇2]29//返回到檢測輪廓階段;
[0103]30Jump detect_conotur;
[0104]31}
[0105]32else
[0106]33{
[0107]34//返回所檢測到的輪廓
[0108]35return contour;
[0109]36}
[0110]37end
[0111]例如,在偽代碼(1)中,如經由注釋行1所示出的,可以接收或者接受深度圖像。例如,處理可以在執(zhí)行行2處以start命令而開始,在執(zhí)行行3處,接受深度圖像,其中深度圖像可以是從照相機模塊接收的。雖然參照從照相機模塊接收的深度圖像來進行示出(如本文所討論的),但在其它例子中,可以從諸如圖像處理模塊等等之類的其它模塊來接收諸如彩色圖像之類的其它圖像類型。此外,偽代碼(1)提供了使用垂直的預定方位和向上的搜索方向的例子,但是,如上所述,可以使用任何這種預定方位和搜索方向。
[0112]如經由注釋行1所示出的,可以對感興趣區(qū)域進行采樣,直到發(fā)現(xiàn)有效點為止。例如,可以對感興趣區(qū)域進行采樣,直到確定斑點像素為止。例如,執(zhí)行行5-7處的處理可以確定感興趣區(qū)域中的隨機點(例如,隨機像素),并繼續(xù)這樣操作,直到檢驗確定該隨機點處于斑點之中為止(例如,檢驗提供值為真(true)的結果)。隨后,該過程可以從斑點中的該點開始,來確定頂部點(例如,頂部像素),如執(zhí)行行8處所示。例如,可以基于斑點包含性檢驗(例如,如注釋行9處所示的深度值方差等等)來確定該頂部點。例如,在執(zhí)行行10-13處,可以對向上方向中的像素(例如,通過y-1來隨著y遞增)進行檢驗,以經由執(zhí)行行13處實現(xiàn)的文本來判斷該像素是否處于斑點之中,直到確定一個像素提供值為假(false)的檢驗結果為止。 例如,頂部點可以是候選斑點輪廓像素(P1)。[〇113]如經由注釋行15所示出的,可以穿越與候選斑點輪廓像素(P1)相關聯(lián)的輪廓(例如,執(zhí)行行14可以提供重置,并且執(zhí)行行16可以檢測該輪廓)。例如,執(zhí)行行17-21可以穿越檢測到的輪廓,直到發(fā)現(xiàn)水平值與候選斑點輪廓像素(P1)相匹配的像素(例如,直線像素 (P2))為止,如執(zhí)行行21處所示。接著,可以對候選斑點輪廓像素(P1)和直線像素(P2)的相對位置進行比較,如注釋行22處所指示的。例如,如果直線像素(P2)更高(如執(zhí)行行23處所確定的),則該過程可以返回到如注釋行25處所示出以及如執(zhí)行行26處所提供的向上移動階段,并且處理可以繼續(xù)在執(zhí)行行8處進行,其中在執(zhí)行行8處,可以發(fā)現(xiàn)新的候選斑點輪廓像素(P1)。
[0114]如果直線像素(P2)不是更高,則處理可以繼續(xù)在執(zhí)行行27處,判斷候選斑點輪廓像素(PD是否更高。如果候選斑點輪廓像素(PD更高(如執(zhí)行行27處所確定的),則該過程可以返回到注釋行29處所示出以及如執(zhí)行行30處所提供的檢測輪廓階段,并且處理可以繼續(xù)在執(zhí)行行16處進行,其中在執(zhí)行行16處,可以繼續(xù)對該輪廓進行檢測和穿越。
[0115]如果候選斑點輪廓像素(Pl)不是更高(例如,候選斑點輪廓像素(Pl)和直線像素(P2)處于相同的高度,故它們是同一個像素),則處理可以繼續(xù),使得可以返回所檢測到的輪廓(如注釋行34所示出的,以及如執(zhí)行行35處所提供的),并且處理可以在執(zhí)行行37處結束。
[0116]從而,偽代碼(I)可以基于接收的輸入圖像數(shù)據和感興趣區(qū)域數(shù)據,來生成斑點輪廓。偽代碼(I)可以實現(xiàn)預定的斑點檢測檢驗,或者偽代碼(I)還可以接收斑點檢測檢驗來實現(xiàn)(例如,經由如上所述的執(zhí)行行7和13)。
[0117]圖10是示出根據本公開內容的至少一些實現(xiàn)來排列的、用于執(zhí)行斑點檢測的示例性過程1000的流程圖。過程1000可以包括如圖10中所示出的一個或多個操作1001-1004。過程1000可以形成斑點檢測處理的至少一部分。通過非限制性示例的方式,過程1000可以形成由如本文討論的設備900所執(zhí)行的斑點檢測過程的至少一部分。此外,本文將參照圖11的系統(tǒng)1100來描述過程1000。
[0118]圖11是根據本公開內容的至少一些實現(xiàn)來排列的、用于執(zhí)行斑點檢測的示例性系統(tǒng)1100的示意圖。如圖11中所示,系統(tǒng)1100可以包括一個或多個中央處理單元(CPU) 1101、圖形處理單元(GPU) 1102和存儲器存貯1103。此外,如所示出的,CPU 1101可以包括初始斑點選擇模塊901、斑點像素檢驗模塊902和斑點像素檢驗模塊908(它們可以實現(xiàn)在一起,也可以單獨地實現(xiàn))、像素移動模塊903、斑點像素重置模塊904、位置檢測模塊905、直線檢驗模塊906、輪廓檢測模塊907和輪廓輸出模塊909。在系統(tǒng)1100的例子中,存儲器存貯1103可以存儲成像或有關的內容,例如,輸入圖像、圖像數(shù)據、視頻幀、深度圖像數(shù)據、顏色數(shù)據、感興趣區(qū)域數(shù)據、諸如像素位置數(shù)據和/或像素值數(shù)據之類的像素數(shù)據、方位、位置和/或方向數(shù)據、斑點像素檢驗數(shù)據、輪廓數(shù)據、斑點輪廓數(shù)據和/或如本文所討論的任何其它數(shù)據。
[0119]如所示出的,在一些例子中,初始斑點選擇模塊901、斑點像素檢驗模塊902、斑點像素檢驗模塊908、像素移動模塊903、斑點像素重置模塊904、位置檢測模塊905、直線檢驗模塊906、輪廓檢測模塊907和輪廓輸出模塊909可以經由中央處理單元1101來實現(xiàn)。在其它例子中,初始斑點選擇模塊901、斑點像素檢驗模塊902、斑點像素檢驗模塊908、像素移動模塊903、斑點像素重置模塊904、位置檢測模塊905、直線檢驗模塊906、輪廓檢測模塊907和輪廓輸出模塊909中的一個或多個或者部分可以經由圖形處理單元1102、圖像處理單元、圖像處理管道等等來實現(xiàn)。
[0120]圖形處理單元1102可以包括可以提供如本文所討論的操作的任意數(shù)量和類型的圖形處理單元。這些操作可以經由軟件或硬件或者其組合來實現(xiàn)。例如,圖形處理單元1102可以包括專用于對從存儲器存貯1103獲得的圖像進行操作的電路。中央處理單元1101可以包括可以為系統(tǒng)1100提供控制和其它高級功能和/或提供如本文所討論的任何操作的任意數(shù)量和類型的處理單元或模塊。存儲器存貯1103可以是諸如易失性存儲器(例如,靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)等)或非易失性存儲器(例如,閃存等)等等之類的任何類型的存儲器。在一個非限制性例子中,存儲器存貯1103可以通過高速緩存來實現(xiàn)。在一個實施例中,初始斑點選擇模塊901、斑點像素檢驗模塊902、斑點像素檢驗模塊908、像素移動模塊903、斑點像素重置模塊904、位置檢測模塊905、直線檢驗模塊906、輪廓檢測模塊907和輪廓輸出模塊909(或者本文討論的其它模塊)中的一個或多個,可以經由圖形處理單元1102的執(zhí)行單元(EU)來實現(xiàn)。該EU可以包括:例如,可以提供各種各樣的可編程邏輯功能的可編程邏輯或電路(如,邏輯內核或內核集)。在一個實施例中,初始斑點選擇模塊901、斑點像素檢驗模塊902、斑點像素檢驗模塊908、像素移動模塊903、斑點像素重置模塊904、位置檢測模塊905、直線檢驗模塊906、輪廓檢測模塊907和輪廓輸出模塊909 (或者本文討論的其它模塊)中的一個或多個,可以經由諸如固定功能電路等等之類的專用硬件來實現(xiàn)。固定功能電路可以包括專用邏輯或電路,并且可以提供一組可映射到用于固定目的或功能的專用邏輯的固定功能入口點。
[0121]返回到圖10的討論,過程1000可以開始于操作1001,“針對輸入圖像中的斑點,檢測候選斑點輪廓像素”,其中,可以檢測與輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素。該輸入圖像可以是如本文所討論的任何適當?shù)妮斎雸D像數(shù)據,例如,深度圖像數(shù)據或彩色圖像等等。例如,可以基于與輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始斑點像素,可以檢驗該候選初始斑點像素是否包含在該斑點之中。如果該候選初始斑點像素通過斑點包含性檢驗,則可以將該候選初始斑點像素表征為初始斑點像素。此外,可以檢驗從該初始斑點像素開始的預定方向中沿著預定方位的像素,是否包含在斑點之中。例如,該候選斑點輪廓像素可以是未通過斑點包含性檢驗的像素。
[0122]例如,如經由中央處理單元1101所實現(xiàn)的初始像素選擇901可以基于與輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據,來選擇候選初始斑點像素。此外,如經由中央處理單元1101所實現(xiàn)的斑點像素檢驗模塊902可以檢驗該候選初始斑點像素是否包含在該斑點之中,如果沒有,則可以訪問初始像素選擇模塊901以生成另一個候選初始斑點像素,直到檢測到初始斑點像素為止,如本文所討論的。如經由中央處理單元1101所實現(xiàn)的像素移動模塊903可以沿著預定方位,以預定方向進行移動,如經由中央處理單元1101所實現(xiàn)的斑點像素檢驗模塊908可以檢驗這些像素是否在斑點之中,直到檢測到候選斑點輪廓像素為止。
[0123]處理可以繼續(xù)在操作1002處進行,“穿越與候選斑點輪廓像素相關聯(lián)的輪廓,到達直線像素”,其中,可以穿越與候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與該候選斑點輪廓像素成一直線的直線像素。例如,如經由中央處理單元1101所實現(xiàn)的輪廓檢測模塊907可以檢測輪廓像素,直線檢驗模塊906可以檢驗該輪廓像素,直到檢測到直線像素為止。
[0124]處理可以繼續(xù)在操作1003處進行,“檢測從該候選斑點輪廓像素到該直線像素的方向”,其中,可以關于該直線像素沿著預定方位離候選斑點輪廓像素處于第一方向還是第二方向進行判斷。例如,該直線像素可以處于與用于檢測候選斑點輪廓像素的像素移動相同的方向,或者該直線像素可以處于與用于檢測候選斑點輪廓像素的像素移動相反的方向。例如,如經由中央處理單元1101所實現(xiàn)的位置檢測模塊可以檢測該直線像素離候選斑點輪廓像素處于第一方向還是第二方向。
[0125]處理可以繼續(xù)在操作1004處進行,“基于所檢測到的方向,繼續(xù)穿越該輪廓,或者檢測第二候選斑點輪廓像素”,其中,當該直線像素離候選斑點輪廓像素處于第一方向時,可以繼續(xù)穿越該輪廓,或者當該直線像素離候選斑點輪廓像素處于第二方向時,可以檢測第二候選斑點輪廓像素。例如,如經由中央處理單元1101所實現(xiàn)的輪廓檢測模塊907可以繼續(xù)穿越該輪廓,或者像素移動模塊903和斑點像素檢驗模塊908可以檢測第二候選斑點輪廓像素,如上面所討論的。
[0126]例如,當該直線像素離候選斑點輪廓像素處于第一方向時(例如,該直線像素處于與像素移動模塊903所實現(xiàn)的像素移動相反的方向),可以檢測該斑點輪廓,并繼續(xù)穿越該輪廓直到檢測到第二直線像素為止。例如,輪廓檢測模塊907可以檢測輪廓像素,直線檢驗模塊906可以檢測第二直線像素??梢詫⒌诙本€像素提供給位置檢測模塊905,其中位置檢測模塊905可以指示第二直線像素處于與候選斑點輪廓像素相同的像素位置。在這些例子中,對斑點輪廓進行了穿越,并基于從候選斑點輪廓像素穿越到達第二直線像素來生成與該斑點輪廓相關聯(lián)的斑點輪廓數(shù)據。例如,位置檢測模塊905可以向輪廓輸出模塊909發(fā)送信號,如經由中央處理單元1101所實現(xiàn)的輪廓輸出模塊909可以生成該輪廓數(shù)據。
[0127]此外,當直線像素離候選斑點輪廓像素處于第二方向時(例如,該直線像素處于與像素移動模塊903所實現(xiàn)的像素移動相同的方向),可以檢測到孔洞,以及可以檢測第二候選斑點輪廓像素。例如,檢測第二候選斑點輪廓像素可以包括:檢驗從該直線像素開始沿著預定方位處于第二方向中的像素是否包含在斑點中。例如,如中央處理單元1101所實現(xiàn)的斑點像素重置模塊904可以將初始斑點像素重置為候選斑點輪廓像素,并且像素移動模塊903和斑點像素檢驗模塊908可以對像素進行檢驗,直到一個像素未通過斑點包含性檢驗,使得該未通過的像素是第二候選斑點輪廓像素為止。
[0128]在這些例子中,處理可以通過下面的方式來繼續(xù):穿越與第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著預定方位與第二候選斑點輪廓像素成一直線的第二直線像素;檢測第二直線像素沿著預定方位離第二候選斑點輪廓像素處于第一方向(例如,第二候選斑點輪廓像素和第二直線像素都在該斑點輪廓上);繼續(xù)穿越第二輪廓。此外,可以確定沿著預定方位與第二候選斑點輪廓像素成一直線的第三直線像素(例如,第三直線像素和第二候選斑點輪廓像素可以處于相同的像素位置,故可以是同一個像素),并生成與從第二候選斑點輪廓像素開始穿越第二輪廓到達第三直線像素相關聯(lián)的輪廓數(shù)據。
[0129]可以針對輸入圖像中的任意數(shù)量的斑點或者針對任意數(shù)量的輸入圖像,串行地或并行地對過程1000重復任意數(shù)量的次數(shù)。如上所述,過程1000可以提供斑點輪廓,同時檢測和避免斑點內的孔洞。例如,即使當輸入圖像是有噪的等等時,所討論的技術也可以提供準確的斑點輪廓。
[0130]本文所描述的系統(tǒng)的各個部件可以用軟件、固件和/或硬件和/或其任意組合來實現(xiàn)。例如,可以至少部分地通過計算的片上系統(tǒng)(SoC)的硬件(比如,可以在諸如智能電話的計算系統(tǒng)中發(fā)現(xiàn)的),來提供設備900、系統(tǒng)1100、系統(tǒng)1200或設備1300的各個部件。本領域普通技術人員應當認識到,本文所描述的系統(tǒng)可以包括在相應的附圖中沒有描述的其它部件。例如,為了清楚起見,本文所討論的系統(tǒng)可以包括沒有進行描述的諸如比特流復用器或解復用器模塊等等之類的其它部件。
[0131]雖然本文所討論的示例性處理的實現(xiàn)包括以所描繪的順序來執(zhí)行所有示出的操作,但本公開內容在該方面并不受限,在各個示例中,本文的示例性處理的實現(xiàn)可以包括:所示出的操作的僅僅一個子集、與所描繪的順序不同的順序來執(zhí)行的操作或者其它操作。
[0132]此外,可以響應于一個或多個計算機程序產品所提供的指令,來進行本文所討論的操作中的任何一個或多個。這些程序產品可以包括用于提供指令的信號承載介質,其中這些指令在被例如處理器執(zhí)行時,可以提供本文所描述的功能。可以以任何形式的一個或多個機器可讀介質來提供計算機程序產品。因此,例如,包括一個或多個圖形處理單元或處理器內核的處理器可以響應于一個或多個機器可讀介質向該處理器傳送的程序代碼和/或指令或指令集,來承擔本文的示例性過程的方框中的一個或多個。通常,機器可讀介質可以傳送具有程序代碼和/或指令或指令集的形式的軟件,其可以使得本文所描述的設備和/或系統(tǒng)中的任何一個來實現(xiàn)如本文所討論的設備900、系統(tǒng)1100、系統(tǒng)1200、設備1300或者任何其它模塊或部件的至少一部分。
[0133]如本文所描述的任何實現(xiàn)中所使用的,術語“模塊”指代被配置為提供本文所描述的功能的軟件邏輯、固件邏輯、硬件邏輯和/或電路的任意組合。軟件可以體現(xiàn)為軟件包、代碼和/或指令集或指令,并且如本文描述的任何實現(xiàn)中所使用的,“硬件”可以單一地或者任意組合地包括:例如,硬件連線電路、可編程電路、狀態(tài)機電路、固定功能電路、執(zhí)行單元電路和/或存儲由可編程電路執(zhí)行的指令的固件。這些模塊可以統(tǒng)一地或個別地體現(xiàn)為構成更大型系統(tǒng)的一部分的電路,例如,集成電路(1C)、片上系統(tǒng)(SoC)等等。
[0134]圖12是根據本公開內容的至少一些實現(xiàn)來排列的、示例性系統(tǒng)1200的示意圖。在各種實現(xiàn)中,系統(tǒng)1200可以是媒體系統(tǒng),但系統(tǒng)1200并不限于該上下文。例如,系統(tǒng)1200可以并入到個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板設備、觸摸板、便攜式計算機、手持計算機、掌上型計算機、個人數(shù)字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、電視、智能設備(例如,智能電話、智能平板設備或智能電視)、移動互聯(lián)網設備(MID)、消息設備、數(shù)據通信設備、照相機(例如,傻瓜相機、長焦相機、數(shù)碼單反(DSLR)相機)等等中。
[0135]在各種實現(xiàn)中,系統(tǒng)1200包括耦合到顯示器1220的平臺1202。平臺1202可以從諸如內容服務設備1230或內容傳送設備1240或其它類似的內容源之類的內容設備接收內容。包括一個或多個導航特征的導航控制器1250可以用于與例如平臺1202和/或顯示器1220進行交互。下面將更詳細地描述這些部件中的每一個。
[0136]在各種實現(xiàn)中,平臺1202可以包括芯片組1205、處理器1210、存儲器1212、天線1213、存儲裝置1214、圖形子系統(tǒng)1215、應用1216和/或無線電裝置1218的任意組合。芯片組1205可以提供處理器1210、存儲器1212、存儲裝置1214、圖形子系統(tǒng)1215、應用1216和/或無線電裝置1218之間的相互通信。例如,芯片組1205可以包括能夠提供與存儲裝置1214的相互通信的存貯適配器(沒有示出)。
[0137]處理器1210可以實現(xiàn)為復雜指令集計算機(CISC)或精簡指令集計算機(RISC)處理器、x86指令集兼容處理器、多核處理器或者任何其它微處理器或中央處理單元(CPU)。在各種實現(xiàn)中,處理器1210可以是雙核處理器、雙核移動處理器等等。
[0138]存儲器1212可以實現(xiàn)成易失性存儲器設備,例如,但不限于:隨機存取存儲器(RAM)、動態(tài)隨機存取存儲器(DRAM)或靜態(tài)RAM(SRAM)。
[0139]存儲裝置1214可以實現(xiàn)成非易失性存儲裝置,例如,但不限于:磁盤驅動器、光盤驅動器、磁帶驅動器、內部存儲裝置、附加存儲裝置、閃存、電池供電SDRAM(同步DRAM)和/或網絡可訪問存儲裝置。在各種實現(xiàn)中,存儲裝置1214可以包括:例如,當包含有多個硬件驅動器時,用于提高有價值介質的存儲性能增強保護的技術。
[0140]圖形子系統(tǒng)1215可以執(zhí)行圖像(例如,靜止或視頻)的處理以進行顯示。例如,圖形子系統(tǒng)1215可以是圖形處理單元(GPU)或視覺處理單元(VPU)??梢允褂媚M或數(shù)字接口來通信地耦合圖形子系統(tǒng)1215和顯示器1220。例如,該接口可以是高清晰度多媒體接口、顯示端口、無線HDMI和/或無線HD兼容技術中的任何一種。圖形子系統(tǒng)1215可以集成到處理器1210或芯片組1205。在一些實現(xiàn)中,圖形子系統(tǒng)1215可以是通信耦合到芯片組1205的單獨設備。
[0141]可以利用各種硬件架構來實現(xiàn)本文所描述的圖形和/或視頻處理技術。例如,可以將圖形和/或視頻功能集成在芯片組中。替代地,也可以使用分離的圖形和/或視頻處理器。作為另一種實現(xiàn),這些圖形和/或視頻功能可以由包括多核處理器的通用處理器來提供。在另外的實施例中,可以將這些功能實現(xiàn)在消費電子設備中。
[0142]無線電裝置1218可以包括能夠使用各種適當?shù)臒o線通信技術來發(fā)送和接收信號的一個或多個無線電裝置。這些技術可以涉及一個或多個無線網絡上的通信。示例性無線網絡包括(但不限于)無線局域網(WLAN)、無線個域網(WPAN)、無線城域網(WMAN)、蜂窩網絡和衛(wèi)星網絡。在這些網絡上進行通信時,無線電裝置1218可以根據任何版本的一個或多個適用標準來進行操作。
[0143]在各種實現(xiàn)中,顯示器1220可以包括任何電視類型監(jiān)視器或顯示器。例如,顯示器1220可以包括計算機顯示屏幕、觸摸屏顯示器、視頻監(jiān)視器、類似電視的設備和/或電視。顯示器1220可以是數(shù)字和/或模擬的。在各種實現(xiàn)中,顯示器1220可以是全息顯示。此外,顯示器1220可以是接收視覺投影的透明表面。這些投影可以傳送各種形式的信息、圖像和/或對象。例如,這些投影可以是移動增強現(xiàn)實(MAR)應用的視覺疊加。在一個或多個軟件應用1216的控制之下,平臺1202可以在顯示器1220上顯示用戶界面1222。
[0144]在各種實現(xiàn)中,內容服務設備1230可以由任何國家、國際和/或獨立服務來托管,因此可由平臺1202經由例如互聯(lián)網來訪問。內容服務設備1230可以耦合到平臺1202和/或顯示器1220。平臺1202和/或內容服務設備1230可以耦合到網絡1260,以傳輸(例如,發(fā)送和/或接收)去往和來自網絡1260的媒體信息。內容傳送設備1240也可以耦合到平臺1202和/或顯示器1220。
[0145]在各種實現(xiàn)中,內容服務設備1230可以包括有線電視盒、個人計算機、網絡、電話、具備互聯(lián)網能力的設備或能夠傳送數(shù)字信息和/或內容的電器、以及能夠經由網絡1260或者直接地在內容提供商和平臺120 2和/或顯示器1220之間單向地或雙向地傳輸內容的任何其它類似設備。將理解的是,可以經由網絡1260,將去往和來自系統(tǒng)1200中的部件里的任何一個部件和內容提供商的內容進行單向地和/或雙向地傳輸。內容的示例可以包括任何媒體信息,其例如包括視頻、音樂、醫(yī)療和游戲信息等等。
[0146]內容服務設備1230可以接收諸如有線電視節(jié)目(其包括媒體信息、數(shù)字信息)之類的內容和/或其它內容。內容提供商的示例可以包括任何有線或衛(wèi)星電視提供商或者無線電或互聯(lián)網內容提供商。所提供的示例并不意味著以任何方式來限制根據本公開內容的實現(xiàn)。
[0147]在各種實現(xiàn)中,平臺1202可以從具有一個或多個導航特征的導航控制器1250接收控制信號。例如,可以使用控制器1250的導航特征來與用戶界面1222進行交互。在各個實施例中,導航控制器1250可以是指向設備,其可以是允許用戶向計算機輸入空間(例如,連續(xù)和多維)數(shù)據的計算機硬件部件(具體而言,人機接口設備)。諸如圖形用戶接口(GUI)之類的很多系統(tǒng)、以及電視和監(jiān)視器允許用戶使用物理姿態(tài)來控制計算機或電視,并向其提供數(shù)據。
[0148]可以通過在顯示器上顯示的指針、光標、聚焦環(huán)或者其它視覺指示符,在顯示器(例如,顯示器1220)上復制控制器1250的導航特征的移動。例如,在軟件應用1216的控制之下,位于導航控制器1250上的導航特征可以映射到在用戶界面1222上顯示的虛擬導航特征上。在各個實施例中,控制器1250可以不是單獨的部件,而可以集成到平臺1202和/或顯示器1220中。但是,本公開內容并不限于本文所示出或描述的這些元素,也不限于該上下文之中。
[0149]在各種實現(xiàn)中,驅動器(沒有示出)可以包括用于在初始啟動之后,使用戶能夠利用按鍵的觸摸來即刻地打開和關閉類似于電視平臺1202的技術(例如,當啟用時)。程序邏輯可以允許平臺1202將內容流傳送到媒體適配器或者其它內容服務設備1230或內容傳送設備1240(即使當該平臺處于“關閉”時)。此外,芯片組1205可以包括針對例如5.1環(huán)繞音效和/或高清晰度7.1環(huán)繞音效的硬件和/或軟件支持。驅動器可以包括針對集成的圖形平臺的顯卡驅動。在各個實施例中,顯卡驅動可以包括外圍組件互連(PCI)Express顯卡。
[0150]在各種實現(xiàn)中,可以將系統(tǒng)1200中所示出的部件里的任何一個或多個集成在一起。例如,可以將平臺1202和內容服務設備1230集成在一起,或者可以將平臺1202和內容傳送設備1240集成在一起,或者可以將平臺1202、內容服務設備1230和內容傳送設備1240集成在一起。在各個實施例中,平臺1202和顯示器1220可以是集成的單元。例如,可以將顯示器1220和內容服務設備1230集成在一起,或者可以將顯示器1220和內容傳送設備1240集成在一起。這些例子并不意味著對本公開內容進行限制。
[0151]在各個實施例中,系統(tǒng)1200可以實現(xiàn)成無線系統(tǒng)、有線系統(tǒng)或二者的組合。當實現(xiàn)成無線系統(tǒng)時,系統(tǒng)1200可以包括適合于通過無線共享介質(例如,一付或多付天線、發(fā)射機、接收機、收發(fā)機、放大器、濾波器、控制邏輯等等)進行通信的部件和接口。無線共享介質的示例可以包括無線頻譜(如,RF頻譜等等)的一部分。當實現(xiàn)成有線系統(tǒng)時,系統(tǒng)1200可以包括適合于在有線通信介質上進行通信的部件和接口,例如,輸入/輸出(I/O)適配器、用于連接該I/O適配器與相應的有線通信介質的物理連接器、網絡接口卡(NIC)、盤控制器、視頻控制器、音頻控制器等等。有線通信介質的示例可以包括電線、電纜、金屬引線、印刷電路板(PCB)底板、交換結構、半導體材料、雙絞線、同軸電纜、光纖等等。
[0152]平臺1202可以建立一個或多個邏輯或物理信道以傳輸信息。該信息可以包括媒體信息和控制信息。媒體信息可以指代:表示意味著用于用戶的內容的任何數(shù)據。內容的示例可以包括:例如,來自語音會話的數(shù)據、視頻會議、流視頻、電子郵件(“email”)消息、語音郵件消息、字母數(shù)字符號、圖形、圖像、視頻、文本等等。來自語音會話的數(shù)據可以是例如語音信息、靜默時期、背景噪聲、舒適噪音、音調等等??刂菩畔⒖梢灾复?表示意味著用于自動系統(tǒng)的命令、指令或控制詞的任何數(shù)據。例如,控制信息可以用于將媒體信息路由通過系統(tǒng),或者指示節(jié)點以預定方式對媒體信息進行處理。但是,這些實施例并不限于圖12中所示出或描述的這些元素,也不限于該上下文之中。
[0153]如上所述,系統(tǒng)1200可以以不同的物理樣式或形狀因素來體現(xiàn)。圖13示出了根據本公開內容的至少一些實現(xiàn)來排列的示例性的小形狀因素設備1300。在一些例子中,系統(tǒng)800可以經由設備1300來實現(xiàn)。在其它例子中,設備900、1100或者其一部分可以經由設備1300來實現(xiàn)。在各個實施例中,例如,設備1300可以實現(xiàn)成具有無線能力的移動計算設備。例如,移動計算設備可以指代具有處理系統(tǒng)和移動電源或供應(例如,一個或多個電池)的任何設備。
[0154]移動計算設備的例子可以包括個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板設備、觸摸板、便攜式計算機、手持計算機、掌上型計算機、個人數(shù)字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、智能設備(例如,智能電話、智能平板設備或智能移動電視)、移動互聯(lián)網設備(MID)、消息設備、數(shù)據通信設備、照相機等等。
[0155]此外,移動計算設備的示例還可以包括被布置為由人類進行穿戴的計算機、手腕計算機、手指計算機、環(huán)形計算機、眼鏡計算機、皮帶夾計算機、手臂帶計算機、鞋計算機、月艮裝計算機和其它可穿戴計算機。在各個實施例中,例如,移動計算設備可以實現(xiàn)成能夠執(zhí)行計算機應用、以及語音通信和/或數(shù)據通信的智能電話。雖然通過示例的方式,利用實現(xiàn)成智能電話的移動計算設備來描述了一些實施例,但應當理解的是,也可以使用其它無線移動計算設備來實現(xiàn)其它實施例。這些實施例并不限于該上下文。
[0156]如圖13中所示,設備1300可以包括具有前面1301和后面1302的殼體。設備1300包括顯示器1304、輸入/輸出(I/O)設備1306和集成天線1308。此外,設備1300還可以包括導航特征1312。1/0設備1306可以包括用于向移動計算設備輸入信息的任何適當?shù)腎/O設備。I/O設備1306的例子可以包括字母數(shù)字鍵盤、數(shù)字鍵盤、觸摸板、輸入鍵、按鍵、開關、麥克風、揚聲器、語音識別設備和軟件等等。此外,還可以通過麥克風(沒有示出)的方式來向設備1300輸入信息,或者可以通過語音識別設備來使信息數(shù)字化。如所示出的,設備1300可以包括攝像頭1305(例如,其包括鏡頭、光圈和成像傳感器)和集成到設備1300的后面1302(或者其它地方)的閃光燈1310。在其它例子中,攝像頭1305和閃光燈1310可以集成到設備1300的前面1301中,或者在前面和后面均可以提供攝像頭。攝像頭1305和閃光燈1310可以是照相機模塊的部件,用于將原始圖像數(shù)據處理成輸出到顯示器1304和/或例如經由天線1308來從設備1300遠程地傳輸?shù)牧饕曨l。
[0157]可以使用硬件元件、軟件單元或二者的組合來實現(xiàn)各個實施例。硬件元件的示例可以包括處理器、微處理器、電路、電路元件(例如,晶體管、電阻器、電容器、電感器等等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)、邏輯門、寄存器、半導體器件、芯片、微芯片、芯片組等等。軟件的示例可以包括軟件組件、程序、應用、計算機程序、應用程序、系統(tǒng)程序、機器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例行程序、子例行程序、函數(shù)、方法、過程、軟件接口、應用程序接口(API)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、字、值、符號或者其任意組合。判斷一個實施例是使用硬件元件和/或軟件單元來實現(xiàn),可以根據任意數(shù)量的因素而變化,例如,期望的計算速率、功率級別、耐熱性、處理周期預算、輸入數(shù)據速率、輸出數(shù)據速率、存儲器資源、數(shù)據總線速度以及其它設計方案或性能約束。
[0158]至少一個實施例的一個或多個方面可以由機器可讀介質上存儲的表示處理器中的各種邏輯的代表性指令來實現(xiàn),其中當這些指令被機器讀取時,使得該機器構成用于執(zhí)行本文所描述的技術的邏輯。這些表示(稱為IP內核)可以存儲在有形的、機器可讀介質上,并提供給各個客戶或制造工廠,以裝載在實際產生該邏輯或處理器的制造機器中。
[0159]雖然參照各種實現(xiàn)來描述了本文所闡述的某些特征,但該描述并不旨在以限制性含義進行解釋。因此,本文所描述的實現(xiàn)的各種修改,以及對于本領域普通技術人員來說顯而易見地與本公開內容有關的其它實現(xiàn),也認為是落入本公開內容的精神和范圍之內。
[0160]下面的例子與另外的實施例有關。
[0161]在一個或多個第一實施例中,一種用于執(zhí)行斑點檢測的方法,包括:檢測與輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素;穿越與所述候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與所述候選斑點輪廓像素成一直線的直線像素;檢測所述直線像素沿著所述預定方位離所述候選斑點輪廓像素處于第一方向還是第二方向;以及當所述直線像素離所述候選斑點輪廓像素處于所述第一方向時,繼續(xù)穿越所述輪廓,或者當所述直線像素離所述候選斑點輪廓像素處于所述第二方向時,檢測第二候選斑點輪廓像素。
[0162]另外在第一實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述方法還包括:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置。
[0163]另外在第一實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述方法還包括:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置,并生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據。
[0164]另外在第一實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,并且檢測所述第二候選斑點輪廓像素包括:檢驗從所述直線像素開始沿著所述預定方位的所述第二方向中的像素,是否包含在所述斑點中。
[0165]另外在第一實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,檢測所述第二候選斑點輪廓像素包括:檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中,并且所述方法還包括:穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第二直線像素;檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第一方向;以及繼續(xù)穿越所述第二輪廓。
[0166]另外在第一實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,檢測所述第二候選斑點輪廓像素包括:檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中,并且所述方法還包括:穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第二直線像素;檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第一方向;繼續(xù)穿越所述第二輪廓;確定沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第三直線像素,其中,所述第三直線像素和所述第二候選斑點輪廓像素處于相同的像素位置;以及生成與從所述第二候選斑點輪廓像素開始穿越所述第二輪廓到達所述第三直線像素相關聯(lián)的輪廓數(shù)據。
[0167]另外在第一實施例中,所述方法還包括:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素。
[0168]另外在第一實施例中,所述方法還包括:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,檢驗所述像素包括下面中的至少一種:絕對深度值檢驗或者相鄰像素之間的深度距離檢驗。
[0169]另外在第一實施例中,所述方法還包括:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,確定所述斑點內的所述初始斑點像素包括:基于與所述輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始斑點像素,以及檢驗所述候選初始斑點像素是否包含在所述斑點之中。
[0170]另外在第一實施例中,所述輸入數(shù)據包括深度圖像數(shù)據或彩色圖像數(shù)據中的至少一種。
[0171 ]另外在第一實施例中,所述方法還包括:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向;確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置;以及生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據。
[0172]在一個或多個第二實施例中,一種用于執(zhí)行顏色轉換的系統(tǒng)包括:存儲器,其被配置為接收輸入圖像;以及中央處理單元,其耦合到所述存儲器,所述中央處理單元用于:檢測與所述輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素;穿越與所述候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與所述候選斑點輪廓像素成一直線的直線像素;檢測所述直線像素沿著所述預定方位離所述候選斑點輪廓像素處于第一方向還是第二方向;以及當所述直線像素離所述候選斑點輪廓像素處于所述第一方向時,繼續(xù)穿越所述輪廓,或者當所述直線像素離所述候選斑點輪廓像素處于所述第二方向時,檢測第二候選斑點輪廓像素。
[0173]另外在第二實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述中央處理單元還用于:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置。
[0174]另外在第二實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述中央處理單元還用于:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置;以及生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據。
[0175]另外在第二實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,并且用于檢測所述第二候選斑點輪廓像素的所述中央處理單元包括:用于檢驗從所述直線像素開始沿著所述預定方位的所述第二方向中的像素是否包含在所述斑點中的所述中央處理單元。
[0176]另外在第二實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,用于檢測所述第二候選斑點輪廓像素的所述中央處理單元包括:用于檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中的所述中央處理單元,并且所述中央處理單元還用于:穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第二直線像素;檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第一方向;繼續(xù)穿越所述第二輪廓,以確定沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第三直線像素,其中,所述第三直線像素和所述第二候選斑點輪廓像素處于相同的像素位置;以及生成與從所述第二候選斑點輪廓像素開始穿越所述第二輪廓到達所述第三直線像素相關聯(lián)的輪廓數(shù)據。
[0177]另外在第二實施例中,所述中央處理單元還用于:確定所述斑點內的初始斑點像素;以及檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素。
[0178]另外在第二實施例中,所述中央處理單元還用于:確定所述斑點內的初始斑點像素;以及檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,用于檢驗所述像素的所述中央處理單元包括:用于應用絕對深度值檢驗或者相鄰像素之間的深度距離檢驗中的至少一種的所述中央處理單元。
[0179]另外在第二實施例中,所述中央處理單元還用于:確定所述斑點內的初始斑點像素;以及檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,用于確定所述斑點內的所述初始斑點像素的所述中央處理單元包括:用于基于與所述輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始斑點像素,以及檢驗所述候選初始斑點像素是否包含在所述斑點之中的所述中央處理單元。
[0180]另外在第二實施例中,所述輸入數(shù)據包括深度圖像數(shù)據或彩色圖像數(shù)據中的至少一種。
[0181]另外在第二實施例中,所述中央處理單元還用于:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始,在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向;確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置;以及生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據。
[0182]在一個或多個第三實施例中,一種用于執(zhí)行顏色轉換的系統(tǒng),包括:用于檢測與輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素的單元;用于穿越與所述候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與所述候選斑點輪廓像素成一直線的直線像素的單元;用于檢測所述直線像素沿著所述預定方位離所述候選斑點輪廓像素處于第一方向還是第二方向的單元;以及用于當所述直線像素離所述候選斑點輪廓像素處于所述第一方向時,繼續(xù)穿越所述輪廓,或者當所述直線像素離所述候選斑點輪廓像素處于所述第二方向時,檢測第二候選斑點輪廓像素的單元。
[0183]另外在第三實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述系統(tǒng)還包括:用于確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素的單元,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置。
[0184]另外在第三實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述系統(tǒng)還包括:用于確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素的單元,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置,以及用于生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據的單元。
[0185]另外在第三實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,并且用于檢測所述第二候選斑點輪廓像素的單元包括:用于檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中的單元。
[0186]另外在第三實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,用于檢測所述第二候選斑點輪廓像素的單元包括:用于檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中的單元,并且所述系統(tǒng)還包括:用于穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第二直線像素的單元;用于檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第一方向的單元;以及用于繼續(xù)穿越所述第二輪廓的單元。
[0187]另外在第三實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,用于檢測所述第二候選斑點輪廓像素的單元包括:用于檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中的單元,并且所述系統(tǒng)還包括:用于穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第二直線像素的單元;用于檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第一方向的單元;用于繼續(xù)穿越所述第二輪廓的單元;用于確定沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第三直線像素的單元,其中,所述第三直線像素和所述第二候選斑點輪廓像素處于相同的像素位置;以及用于生成與從所述第二候選斑點輪廓像素開始穿越所述第二輪廓到達所述第三直線像素相關聯(lián)的輪廓數(shù)據的單元。
[0188]另外在第三實施例中,所述系統(tǒng)還包括:用于確定所述斑點內的初始斑點像素的單元;用于檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素的單元。
[0189]另外在第三實施例中,所述系統(tǒng)還包括:用于確定所述斑點內的初始斑點像素的單元;用于檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素的單元,其中,用于檢驗所述像素的單元包括用于檢驗下面中的至少一種的單元:絕對深度值檢驗或者相鄰像素之間的深度距離檢驗。
[0190]另外在第三實施例中,所述系統(tǒng)還包括:用于確定所述斑點內的初始斑點像素的單元;用于檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素的單元,其中,用于確定所述斑點內的所述初始斑點像素的單元包括:用于基于與所述輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始斑點像素的單元,以及用于檢驗所述候選初始斑點像素是否包含在所述斑點之中的單元。
[0191]另外在第三實施例中,所述輸入數(shù)據包括深度圖像數(shù)據或彩色圖像數(shù)據中的至少一種。
[0192]另外在第三實施例中,所述系統(tǒng)還包括:用于確定所述斑點內的初始斑點像素的單元;用于檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素的單元,其中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向;用于確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素的單元,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置;以及用于生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據的單元。
[0193]在一個或多個第四實施例中,至少一種機器可讀介質包括多個指令,其中響應于所述多個指令在設備上被執(zhí)行,使得所述設備通過下面方式來執(zhí)行斑點檢測:檢測與輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素;穿越與所述候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與所述候選斑點輪廓像素成一直線的直線像素;檢測所述直線像素沿著所述預定方位離所述候選斑點輪廓像素處于第一方向還是第二方向;當所述直線像素離所述候選斑點輪廓像素處于所述第一方向時,繼續(xù)穿越所述輪廓,或者當所述直線像素離所述候選斑點輪廓像素處于所述第二方向時,檢測第二候選斑點輪廓像素。
[0194]另外在第四實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述機器可讀介質還包括指令,其中響應于所述指令在所述設備上被執(zhí)行,使得所述設備通過下面的方式來執(zhí)行斑點檢測:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置。
[0195]另外在第四實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第一方向,并且所述機器可讀介質還包括指令,其中響應于所述指令在所述設備上被執(zhí)行,使得所述設備通過下面的方式來執(zhí)行斑點檢測:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置,并生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的輪廓數(shù)據。
[0196]另外在第四實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,并且檢測所述第二候選斑點輪廓像素包括:檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中。
[0197]另外在第四實施例中,所述直線像素離所述候選斑點輪廓像素處于所述第二方向,檢測所述第二候選斑點輪廓像素包括:檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所述斑點中,并且所述機器可讀介質還包括指令,其中響應于所述指令在所述設備上被執(zhí)行,使得所述設備通過下面的方式來執(zhí)行斑點檢測:穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第二直線像素;檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第一方向;繼續(xù)穿越所述第二輪廓,確定沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第三直線像素,其中,所述第三直線像素和所述第二候選斑點輪廓像素處于相同的像素位置;以及生成與從所述第二候選斑點輪廓像素開始穿越所述第二輪廓到達所述第三直線像素相關聯(lián)的輪廓數(shù)據。
[0198]另外在第四實施例中,所述機器可讀介質還包括指令,其中響應于所述指令在所述設備上被執(zhí)行,使得所述設備通過下面的方式來執(zhí)行斑點檢測:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素。
[0199]另外在第四實施例中,所述機器可讀介質還包括指令,其中響應于所述指令在所述設備上被執(zhí)行,使得所述設備通過下面的方式來執(zhí)行斑點檢測:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含在所述斑點中,以檢測所述候選斑點輪廓像素,其中,確定所述斑點內的所述初始斑點像素包括:基于與所述輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始斑點像素,以及檢驗所述候選初始斑點像素是否包含在所述斑點之中。
[0200]在一個或多個第五實施例中,至少一種機器可讀介質可以包括多個指令,響應于這些指令在計算設備上被執(zhí)行,使得該計算設備執(zhí)行根據上面的實施例中的任何一個實施例所述的方法。
[0201]在一個或多個第六實施例中,一種裝置可以包括用于執(zhí)行根據上面的實施例中的任何一個實施例所述的方法的單元。
[0202]應當認識到,實施例并不限于所描述的實施例,在不脫離所附權利要求書的范圍的基礎上,通過對所公開內容進行修改和改變亦可實現(xiàn)本發(fā)明。例如,上面的實施例可以包括特征的特定組合。但是,上面的實施例在該方面并不受限,因此在各種實現(xiàn)中,上面的實施例可以包括:承擔這些特征的僅僅一個子集,承擔不同順序的這些特征,承擔這些特征的不同組合,和/或承擔與所列出的那些特征不同的其它特征。因此應參照所附權利要求書以及與授權的權利要求等同的全部范圍,來確定這些實施例的范圍。
【主權項】
1.一種用于執(zhí)行斑點檢測的方法,包括:檢測與輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素;穿越與所述候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與所述候選斑點輪廓 像素成一直線的直線像素;檢測所述直線像素沿著所述預定方位離所述候選斑點輪廓像素處于第一方向還是第 二方向;以及當所述直線像素離所述候選斑點輪廓像素處于所述第一方向時,繼續(xù)穿越所述輪廓, 或者當所述直線像素離所述候選斑點輪廓像素處于所述第二方向時,檢測第二候選斑點輪 廓像素。2.根據權利要求1所述的方法,其中,所述直線像素離所述候選斑點輪廓像素處于所述 第一方向,所述方法還包括:確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所 述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置。3.根據權利要求2所述的方法,還包括:生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的 輪廓數(shù)據。4.根據權利要求1所述的方法,其中,所述直線像素離所述候選斑點輪廓像素處于所述 第二方向,并且其中,檢測所述第二候選斑點輪廓像素包括:檢驗從所述直線像素開始沿著 所述預定方位處于所述第二方向中的像素是否包含在所述斑點中。5.根據權利要求4所述的方法,還包括:穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述 第二候選斑點輪廓像素成一直線的第二直線像素;檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第 一方向;以及繼續(xù)穿越所述第二輪廓。6.根據權利要求5所述的方法,還包括:確定沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第三直線像素,其 中,所述第三直線像素和所述第二候選斑點輪廓像素處于相同的像素位置;以及生成與從所述第二候選斑點輪廓像素開始穿越所述第二輪廓到達所述第三直線像素 相關聯(lián)的輪廓數(shù)據。7.根據權利要求1所述的方法,還包括:確定所述斑點內的初始斑點像素;以及檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含 在所述斑點中,以檢測所述候選斑點輪廓像素。8.根據權利要求7所述的方法,其中,檢驗所述像素包括下面中的至少一種:絕對深度 值檢驗或者相鄰像素之間的深度距離檢驗。9.根據權利要求7所述的方法,其中,確定所述斑點內的所述初始斑點像素包括:基于 與所述輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始斑點像素,以及檢驗所述候選初 始斑點像素是否包含在所述斑點之中。10.根據權利要求1所述的方法,其中,所述輸入數(shù)據包括深度圖像數(shù)據或彩色圖像數(shù) 據中的至少一種。11.根據權利要求1所述的方法,還包括:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含 在所述斑點中,以檢測所述候選斑點輪廓像素,其中,所述直線像素離所述候選斑點輪廓像 素處于所述第二方向;確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所 述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置;以及生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的 輪廓數(shù)據。12.—種用于執(zhí)行顏色轉換的系統(tǒng),包括:存儲器,其被配置為接收輸入圖像;以及中央處理單元,其耦合到所述存儲器,所述中央處理單元用于:檢測與所述輸入圖像中的斑點相關聯(lián)的候選斑點輪廓像素;穿越與所述候選斑點輪廓像素相關聯(lián)的輪廓,到達沿著預定方位與所述候選斑點輪廓 像素成一直線的直線像素;檢測所述直線像素沿著所述預定方位離所述候選斑點輪廓像素處于第一方向還是第 二方向;以及當所述直線像素離所述候選斑點輪廓像素處于所述第一方向時,繼續(xù)穿越所述輪 廓,或者當所述直線像素離所述候選斑點輪廓像素處于所述第二方向時,檢測第二候選斑 點輪廓像素。13.根據權利要求12所述的系統(tǒng),其中,所述直線像素離所述候選斑點輪廓像素處于所 述第一方向,所述中央處理單元還用于:確定沿著所述預定方位與所述候選斑點輪廓像素 成一直線的第二直線像素,其中,所述第二直線像素和所述候選斑點輪廓像素處于相同的 像素位置。14.根據權利要求13所述的系統(tǒng),其中,所述中央處理單元還用于:生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的 輪廓數(shù)據。15.根據權利要求12所述的系統(tǒng),其中,所述直線像素離所述候選斑點輪廓像素處于所 述第二方向,并且其中,用于檢測所述第二候選斑點輪廓像素的所述中央處理單元包括:用 于檢驗從所述直線像素開始沿著所述預定方位處于所述第二方向中的像素是否包含在所 述斑點中的所述中央處理單元。16.根據權利要求15所述的系統(tǒng),所述中央處理單元還用于:穿越與所述第二候選斑點輪廓像素相關聯(lián)的第二輪廓,到達沿著所述預定方位與所述 第二候選斑點輪廓像素成一直線的第二直線像素;檢測所述第二直線像素沿著所述預定方位離所述第二候選斑點輪廓像素處于所述第 一方向;繼續(xù)穿越所述第二輪廓,以確定沿著所述預定方位與所述第二候選斑點輪廓像素成一直線的第三直線像素,其中,所述第三直線像素和所述第二候選斑點輪廓像素處于相同的 像素位置;以及生成與從所述第二候選斑點輪廓像素開始穿越所述第二輪廓到達所述第三直線像素 相關聯(lián)的輪廓數(shù)據。17.根據權利要求12所述的系統(tǒng),所述中央處理單元還用于:確定所述斑點內的初始斑點像素;以及檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含 在所述斑點中,以檢測所述候選斑點輪廓像素。18.根據權利要求17所述的系統(tǒng),其中,用于檢驗所述像素的所述中央處理單元包括: 用于應用絕對深度值檢驗或者相鄰像素之間的深度距離檢驗中的至少一種的所述中央處 理單元。19.根據權利要求17所述的系統(tǒng),其中,用于確定所述斑點內的所述初始斑點像素的所 述中央處理單元包括:用于基于與所述輸入圖像相關聯(lián)的感興趣區(qū)域數(shù)據來選擇候選初始 斑點像素,以及檢驗所述候選初始斑點像素是否包含在所述斑點之中的所述中央處理單J L 〇20.根據權利要求12所述的系統(tǒng),其中,所述輸入數(shù)據包括深度圖像數(shù)據或彩色圖像數(shù) 據中的至少一種。21.根據權利要求12所述的系統(tǒng),其中,所述中央處理單元還用于:確定所述斑點內的初始斑點像素;檢驗從所述初始斑點像素開始在所述第二方向中沿著所述預定方位的像素是否包含 在所述斑點中,以檢測所述候選斑點輪廓像素,其中,所述直線像素離所述候選斑點輪廓像 素處于所述第二方向;確定沿著所述預定方位與所述候選斑點輪廓像素成一直線的第二直線像素,其中,所 述第二直線像素和所述候選斑點輪廓像素處于相同的像素位置;以及生成與從所述候選斑點輪廓像素開始穿越所述輪廓到達所述第二直線像素相關聯(lián)的 輪廓數(shù)據。22.至少一種機器可讀介質,包括:多個指令,其中響應于所述多個指令在計算設備上被執(zhí)行,使得所述計算設備執(zhí)行根 據權利要求1-11中的任一項所述的方法。23.—種裝置,包括:用于執(zhí)行根據權利要求1-11中的任一項所述的方法的單元。
【文檔編號】G06K9/46GK105989602SQ201610091101
【公開日】2016年10月5日
【申請日】2016年2月18日
【發(fā)明人】N·泰奧米, A·戈爾德曼
【申請人】英特爾公司