確定從深度圖設備到目標或物體上的特定位置的物理距離。
[0039]基于多目視覺的深度圖,本實施例中,多目視覺可通過多個不同位置的攝像機來捕獲場景中的圖像,并通過相關匹配的方式以及攝像機的位置關系獲得場景中物體距離深度圖設備的距離。
[0040]最終獲得深度圖為一個二維矩陣形式,矩陣中的每個位置的點為圖像的像素點,像素點的數值表征的是場景中的物體距離深度圖設備的物理距離。
[0041]再回到圖2中,模塊202實現第一遍深度圖全圖掃描,判斷像素點間是否深度連續,并進行第一遍的標記操作,即使用一種采用標記方式產生的標記號對深度連續的像素進行標記,包括對非連續中心像素點,唯一連接中心像素點和橋接中心像素點進行標記;本發明需要對于滿足深度連續關系的像素標記相同的標號,因此對于在行掃描中不是直接連續的而是間接連續的像素,即橋接周圍像素點,使用標記關系表進行管理。所述標記號用于區別所有滿足深度連續目標物體。不同的深度連續物體需要用不同的標記號標記。
[0042]掃描方法按行掃描的方式進行。第一遍掃描的同時維護模塊203對深度圖像的標記號進行標記關系表操作,對深度連續的像素點對應的標記關系表進行合并與更新。模塊204對標記關系表進行最終標記號的整合操作。模塊205第二遍全圖掃描第二遍標記操作,利用標記關系表對圖像中像素點重新標記;模塊206在實現第二遍全圖掃描的同時,統計各深度連續物體的屬性,并輸出深度連續物體標記圖,所述深度連續物體標記圖是指記錄深度連續物體的標號圖。在適用的情況下,可以也可以輸出對應的屬性統計信息。
[0043]標記號的生成方式有多種,在一些實例中,可以通過累加的方式實現,比如標記第一個目標物體的像素使用標記號1,當出現第二個與第一個目標物體不連續的像素,則該像素標記為2,以此累加。在一些實例中,可以通過生成不重復的隨機數方式實現,比如在首先生成一個隨機數用于標記第一個物體,之后生成一個未出現的隨機數標記第二個深度連續的目標物體。在另一些實例中,還可以生成不重復的特定字符實現不同的標記。標號的不同在于區分不同的物體,形式可以多樣化。
[0044]在本發明的一個實施例中,標記方式可以為隨機標記方式、順序標記方式或固定順序標記方式中的一種;所述隨機標記方式,是指通過隨機產生新標記號的方式;為該隨機標記方式創建一個標記號順序表,按照標記號使用的前后順序保存標記號;通過查找所述標記號順序表,獲取最小順序標記號,次小順序標記號,最大順序標記號;所述順序標記方式,是指通過產生符合數值順序的方式產生新標記號;該標記方式通過比較前后標記號的大小或者維護一個標記號順序表的方式,獲取最小順序標記號,次小順序標記號,最大順序標記號;所述固定順序標記方式,是指通過產生符合數值順序的方式產生新標記號;該標記方式包括一個標記號起始值和一個固定間隔值;所述新標記號是通過在標記號起始值的基礎上不斷增加固定間隔值而得到的數值;該標記方式通過比較標記號的大小而確定標記號的使用順序。
[0045]第二,連續深度物體分割的具體實現。由于圖像中的特定識別目標大多是內部的像素點深度相差不大,同時在邊緣深度值有劇烈變化的像素團塊,因此在區分各個深度連續的像素團塊時,需要使用一種速度較快,并且穩定的像素分類方法。因此,本發明是基于深度圖像的兩遍全圖掃描后的一種串行區域分割方法,連續深度物體的分割算法的輸入圖像為深度圖,最終輸出結果為標記圖,并可以包括標記圖中每一個標記號對應的屬性列表。
[0046]第一遍掃描具體實現方式。建立第一遍掃描的三個關系標記表,即為深度圖像中每一個不同標記號建立三個標記關系表,分別包括頭部標記表、尾部標記表以及指針標記表;標記號所對應的頭部標記表中保存與該標記號發生過合并操作的標記號中的最小順序標記號,所述最小順序標記號是指使用順序排在最前的標記號;標記號所對應的尾部標記表中保存與該標記號發生過合并操作的標記號中的最大順序標記號,所述最大順序標記號是指使用順序排在最后的標記號;標記號所對應的指針標記表中保存與與該標記號發生過合并操作的標記號中的最接近當前標記號的下位標記號,即連接標記號。
[0047]行掃描全圖的所有像素點,圖像中的每一行中的像素點與其它相鄰的像素點進行深度的比較,令每行的中心像素點為X,與相鄰像素點之間的關系如圖3所示。每個中心像素點X需要與如圖3所示中的p,q,r, s共四個像素點進行深度差值的比較。設p,q,r,s為周圍像素點,P,q,r三個像素點為中心像素點X上一行的像素點,s為中心像素點X左側的已經完成掃描的像素點,若掃描的中心像素點為分布于第一行的像素點則無需考慮與P,q,r進行比較,若掃描的中心像素點為分布于第一列的像素點則無需考慮與s進行比較。中心像素點X的深度值作為中心深度值,使用中心深度值查找預先設定的深度差閾值表,深度差閾值表是一個表征深度連續判斷的閾值表。是否判斷為連續像素點,需要在完成像素點間的深度差并查找閾值表中的閾值完成是否連續的判斷。該表中的閾值由中心深度值決定,每一個深度值對應一個深度差閾值。
[0048]取周圍像素點p,q,r, s中的任一像素點的深度值與中心像素點x的深度值求差并取絕對值,設為此周圍像素點的連續深度差,當連續深度差小于中心像素點所代表的深度差閾值時則認為此周圍像素點與中心像素點深度連續。當連續深度差大于中心像素點所代表的深度差閾值時則認為此周圍像素點與中心像素點深度不連續。
[0049]當中心像素點深度為0,認為該中心像素點為陰影點,不進行深度連續的判斷。在本發明的一個實施例中,對于中心像素點深度為O時,在該像素點對應的標號圖中標記O。
[0050]判斷完周圍像素點與中心像素點之間的關系之后,需要處理中心像素點與周圍像素點的連接問題。中心像素點與周圍像素點主要有以下幾種連接關系:
[0051]當中心像素點與周圍像素點都不滿足連續的條件,則稱為新出現的連續深度像素團塊,該中心像素點稱為非連續中心像素點,并且標記為新的標記號。同時,對新標記號對應的三個標記表初始化,初始化參數分別為頭部標記表為當前的新標記號,尾部標記號同樣為當前的新標記號,指針標記表為表征結束的數字。在本發明的一個實施例子中,所述新的標記號為當前標記號內部自加I后的數字,即當遇到新的連續深度團塊后,當前標記號自加I之后進行標記操作。
[0052]當中心像素點只與周圍像素點中的一個像素點滿足連續的條件,則中心像素點只與唯一的像素點發生連接,稱為唯一連接中心像素點,在這種情況下,中心像素點的標記以該唯一連接像素點的標記號進行標記。
[0053]當中心像素點與周圍像素點中的兩個或兩個以上像素點滿足連續的條件,則周圍像素點以中心像素點為橋梁發生了連接,在這種情況下,中心像素點稱為橋接中心像素點,采用橋接周圍像素點的標記號中的最小順序標記號,對橋接中心像素點進行標記;在本發明的一個實施例中,橋接中心像素點的標記號為所有發生連接關系的周圍像素點標記號中的最小值;同時,通過中心像素點進行橋接的所有連接的周圍像素點的標記號所對應的標記關系表完成合并和更新操作。
[0054]在本發明的一個采用固定順序標記方式的具體實施例中,周圍像素點合并操作的方法如下:
[0055]首先采用合并與更新頭部標記表的操作追蹤深度連續根標記號:更新橋接周圍像素點的標記號所對應的頭部標記表:獲取與中心像素點橋接相連的橋接周圍像素點的標記號,即橋接周圍像素點標記號,查找所述橋接周圍像素點標記號所對應的頭部標記表中的數值,比較幾個值的大小,找到其中最小數值Ul (即最小順序標記號u),最小數值Ul即為所有需要合并像素點的頭部標記表的數值;更新已合并像素點的標記號所對應的頭部標記表:獲取所述橋接周圍像素點標記號所對應的指針標記表中的連接標記號,查找該連接標記號所對應的頭部標記表,采用所述Ul賦值該頭部標記表;并繼續獲取所述連接標記號所對應的指針標記表中的新連接標記號,查找該新連接標記號所對應的頭部標記表,并采用所述Ul賦值該頭部標記表;以此類推直到更新到指針標記表的值為-1。
[0056]其次采用合并與更新指針標記表的操作保存深度連續像素點的標記號之間的連接順序:在合并與更新頭部標記表的操作之后,首先進行最小數值Ul與次小值Vl的掛接操作:查找所述橋接周圍像素點標記號所對應的頭部標記表中的數值,找到其中次最小值為Vl (即次小順序標記號V),使用最小數值Ul所對應的尾部標記表的標記號作為索引值,使用次最小值為Vl更新該索引值所對應的指針標記表;完成Vl在Ul的尾部標記號對應的指針標記表的掛接操作;繼續完成第三最小值Wl在次最小值為Vl的尾部標記號對應的指針表的掛接操作:查找所述橋接周圍像素點標記號所對應的頭部標記表中的數值,找到其中第