本發(fā)明涉及圖像處理領域,尤其涉及一種目標物定位方法及裝置。
背景技術:
在一些場景中,有時需要對所述場景中的關鍵物體進行特寫,這就需要準確定位所述關鍵物體。例如,在教室、會議室等場景中,當有人起立后,通常需要對起立人員進行特寫,這就需要準確定位起立人員。
目前,通常利用特征點識別法定位目標物,具體流程為:預先采集特定目標物的特征點的特征參數并存儲,將當前場景中的物體的特征點的特征參數與存儲的特征參數進行匹配,若匹配成功,則確定匹配成功的物體為所述目標物。
顯然,在上述方法中,只有在預先存儲的特征參數中包含需定位的目標物的特征參數時,才能準確定位所述目標物。這樣,導致了目標物的定位不靈活,且定位精度低。
技術實現要素:
本發(fā)明提供一種目標物定位方法及裝置,用以解決現有技術中目標物的定位不靈活,且定位精度低的問題。
本發(fā)明實施例提供的具體技術方案如下:
第一方面,本發(fā)明實施例提供了一種目標物定位方法,包括:
獲取雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像,并根據所述兩個原始圖像確定深度圖像;所述深度圖像中任一個像素點的灰度值為在所述兩個原始圖像中目標實際位置對應的像素點之間的水平視差,所述目標實際位置為所述像素點對應在所述目標場景中的實際位置;
確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標;
在所述深度圖像中篩選出第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖;其中,所述第一目標像素點對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍;所述標記圖中,第二目標像素點的灰度值為第一灰度值,其他像素點的灰度值為第二灰度值,所述第二目標像素點在所述標記圖中的位置與所述第一目標像素點在所述深度圖像中位置相同;
確定所述標記圖中的至少一個連通域;其中,任一個連通域中的任一個像素點與該連通域中的至少一個其他像素點相鄰,且與該連通域中的任一個像素點相鄰的、灰度值為設定的灰度范圍內的像素點均位于該連通域內,所述灰度值范圍中包含所述第一灰度值且不包含所述第二灰度值;
在所述至少一個連通域中篩選包含的像素點的個數不小于設定閾值的目標連通域,并將所述目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。
結合第一方面,在第一方面的第一種可能的實現方式中,根據所述兩個原始圖像確定深度圖像,包括:
確定第一原始圖像中每個像素點對應的目標實際位置在所述兩個原始圖像中對應的像素點之間的水平視差,所述第一原始圖像為所述兩個原始圖像中的任一個;
針對所述第一原始圖像中每個像素點確定的水平視差執(zhí)行:將針對該像素點確定的水平視差作為所述深度圖像中與該像素點在第一原始圖像中位置相同的像素點的灰度值;
根據所述深度圖像中每個像素點的灰度值,生成所述深度圖像。
結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標,包括:
根據該像素點的像素坐標和該像素點的灰度值,確定該像素點在相機坐標系下的三維坐標,所述相機坐標系為所述左相機的坐標系或者所述右相機的坐標系;
根據所述相機坐標系下的三維坐標,確定該像素點對應的實際位置在當前世界坐標系下的三維坐標。
結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第三種可能的實現方式中,所述設定范圍為所述目標物在所述目標場景中的實際位置在所述當前世界坐標系中的三維坐標范圍。
結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第四種可能的實現方式中,在所述深度圖像中篩選出所述第一目標像素點,包括:
確定在所述目標場景中的至少一個干擾物,并確定所述至少一個干擾物在當前世界坐標系下的三維坐標;
根據所述至少一個干擾物在當前世界坐標系下的三維坐標,確定干擾范圍;
根據所述干擾范圍,確定所述設定范圍,所述設定范圍中不包含所述干擾范圍;
在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于所述設定范圍的像素點;
將篩選出的像素點作為所述第一目標像素點。
結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第五種可能的實現方式中,根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,包括:
將所述第一灰度值作為所述標記圖中與所述第一目標像素點在所述深度圖像中位置相同的所述第二目標像素點的灰度值,將所述第二灰度值作為所述標記圖中其他像素點的灰度值;
根據所述標記圖中每個像素點的灰度值,生成所述標記圖。
結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第六種可能的實現方式中,確定所述標記圖中的至少一個連通域,包括:
對所述標記圖進行去噪處理;
在去噪后的所述標記圖中確定包含灰度值在所述灰度范圍內的像素點的所述至少一個連通域。
結合第一方面的第六種可能的實現方式,在第一方面的第七種可能的實現方式中,對所述標記圖進行去噪處理,包括:
遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第一像素點;
針對每個第一像素點執(zhí)行如下操作:當確定在以該第一像素點為中心的第一設定像素點范圍內存在灰度值不為所述第一灰度值或第三灰度值的像素點時,將該第一像素點的灰度值設置為所述第三灰度值;
重新遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第二像素點;
針對每個第二像素點執(zhí)行如下操作:
在以該第二像素點為中心的第二設定像素點范圍內,篩選出灰度值不為所述第一灰度值的至少一個第三像素點;
將篩選出所述至少一個第三像素點的灰度值設置為第四灰度值,其中,所述第四灰度值包含在所述灰度值范圍內。
第二方面,本發(fā)明實施例提供了一種目標物定位裝置,包括:
獲取單元,用于獲取雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像;
處理單元,用于:
根據所述兩個原始圖像確定深度圖像;所述深度圖像中任一個像素點的灰度值為在所述兩個原始圖像中目標實際位置對應的像素點之間的水平視差,所述目標實際位置為所述像素點對應在所述目標場景中的實際位置;
確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標;
在所述深度圖像中篩選出第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖;其中,所述第一目標像素點對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍;所述標記圖中,第二目標像素點的灰度值為第一灰度值,其他像素點的灰度值為第二灰度值,所述第二目標像素點在所述標記圖中的位置與所述第一目標像素點在所述深度圖像中位置相同;
確定所述標記圖中的至少一個連通域;其中,任一個連通域中的任一個像素點與該連通域中的至少一個其他像素點相鄰,且與該連通域中的任一個像素點相鄰的、灰度值為設定的灰度范圍內的像素點均位于該連通域內,所述灰度值范圍中包含所述第一灰度值且不包含所述第二灰度值;
在所述至少一個連通域中篩選包含的像素點的個數不小于設定閾值的目標連通域,并將所述目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。
結合第二方面,在第二方面的第一種可能的實現方式中,所述處理單元,在根據所述兩個原始圖像確定深度圖像時,具體用于:
確定第一原始圖像中每個像素點對應的目標實際位置在所述兩個原始圖像中對應的像素點之間的水平視差,所述第一原始圖像為所述兩個原始圖像中的任一個;
針對所述第一原始圖像中每個像素點確定的水平視差執(zhí)行:將針對該像素點確定的水平視差作為所述深度圖像中與該像素點在第一原始圖像中位置相同的像素點的灰度值;
根據所述深度圖像中每個像素點的灰度值,生成所述深度圖像。
結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,所述處理單元,在確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標時,具體用于:
根據該像素點的像素坐標和該像素點的灰度值,確定該像素點在相機坐標系下的三維坐標,所述相機坐標系為所述左相機的坐標系或者所述右相機的坐標系;
根據所述相機坐標系下的三維坐標,確定該像素點對應的實際位置在當前世界坐標系下的三維坐標。
結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第三種可能的實現方式中,所述設定范圍為所述目標物在所述目標場景中的實際位置在所述當前世界坐標系中的三維坐標范圍。
結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第四種可能的實現方式中,所述處理單元,在在所述深度圖像中篩選出所述第一目標像素點時,具體用于:
確定在所述目標場景中的至少一個干擾物,并確定所述至少一個干擾物在當前世界坐標系下的三維坐標;
根據所述至少一個干擾物在當前世界坐標系下的三維坐標,確定干擾范圍;
根據所述干擾范圍,確定所述設定范圍,所述設定范圍中不包含所述干擾范圍;
在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于所述設定范圍的像素點;
將篩選出的像素點作為所述第一目標像素點。
結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第五種可能的實現方式中,所述處理單元,在根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖時,具體用于:
將所述第一灰度值作為所述標記圖中與所述第一目標像素點在所述深度圖像中位置相同的所述第二目標像素點的灰度值,將所述第二灰度值作為所述標記圖中其他像素點的灰度值;
根據所述標記圖中每個像素點的灰度值,生成所述標記圖。
結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第六種可能的實現方式中,所述處理單元,在確定所述標記圖中的至少一個連通域時,具體用于:
對所述標記圖進行去噪處理;
在去噪后的所述標記圖中確定包含灰度值在所述灰度范圍內的像素點的所述至少一個連通域。
結合第二方面的第六種可能的實現方式,在第二方面的第七種可能的實現方式中,所述處理單元,在對所述標記圖進行去噪處理時,具體用于:
遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第一像素點;
針對每個第一像素點執(zhí)行如下操作:當確定在以該第一像素點為中心的第一設定像素點范圍內存在灰度值不為所述第一灰度值或第三灰度值的像素點時,將該第一像素點的灰度值設置為所述第三灰度值;
重新遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第二像素點;
針對每個第二像素點執(zhí)行如下操作:
在以該第二像素點為中心的第二設定像素點范圍內,篩選出灰度值不為所述第一灰度值的至少一個第三像素點;
將篩選出所述至少一個第三像素點的灰度值設置為第四灰度值,其中,所述第四灰度值包含在所述灰度值范圍內。
本發(fā)明實施例的技術方案中,根據雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像確定深度圖像后,在所述深度圖像中篩選出對應的實際位置在當前世界坐標系下的三維坐標處于設定范圍的第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,最后將在所述標記圖中篩選出的目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。由于本發(fā)明實施例中無需預先存儲目標物的特征參數,就可以根據標記圖中的目標連通域確定所述目標物在圖像坐標系下的二維坐標和世界坐標系下的三維坐標,這樣可以靈活定位目標物,并且定位精度高。
附圖說明
圖1為本發(fā)明實施例提供的一種目標物定位方法的流程圖;
圖2為本發(fā)明實施例提供的一種標記圖的示意圖;
圖3為本發(fā)明實施例提供的另一種標記圖的示意圖;
圖4為本發(fā)明實施例提供的再一種標記圖的示意圖;
圖5為本發(fā)明實施例提供的一種目標物定位裝置的結構示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供一種目標物定位方法及裝置,用以解決現有技術中目標物的定位不靈活,且定位精度低的問題。其中,本發(fā)明所述方法和裝置基于同一發(fā)明構思,由于方法及裝置解決問題的原理相似,因此裝置與方法的實施可以相互參見,重復之處不再贅述。
本發(fā)明實施例的技術方案中,根據雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像確定深度圖像后,在所述深度圖像中篩選出對應的實際位置在當前世界坐標系下的三維坐標處于設定范圍的第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,最后將在所述標記圖中篩選出的目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。由于本發(fā)明實施例中無需預先存儲目標物的特征參數,就可以根據標記圖中的目標連通域確定所述目標物在圖像坐標系下的二維坐標和世界坐標系下的三維坐標,這樣可以靈活定位目標物,并且定位精度高。
本發(fā)明實施例中,執(zhí)行目標物定位方法的可以但不限于是處理器,其中,所述處理器可以為雙目相機中的處理器,也可以為連接所述雙目相機但獨立于所述雙目相機而單獨存在的處理器。在本發(fā)明實施例中,均以執(zhí)行主體為處理器為例進行詳細說明。
為了更加清晰地描述本發(fā)明實施例的技術方案,下面結合附圖,對本發(fā)明實施例提供的一種目標物定位方法及裝置進行詳細說明。
本發(fā)明實施例提供的一種目標物定位方法。參閱圖1所示,該方法的具體流程包括:
步驟101:處理器獲取雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像,并根據所述兩個原始圖像確定深度圖像;
其中,所述深度圖像中任一個像素點的灰度值為在所述兩個原始圖像中目標實際位置對應的像素點之間的水平視差,所述目標實際位置為所述像素點對應在所述目標場景中的實際位置。
本發(fā)明實施例中,在利用所述雙目相機對所述目標場景進行拍攝之前,用戶應將所述雙目相機安裝到盡量高的位置,也就是使所述雙目相機的視場可以覆蓋所述目標場景的位置,并且使所述雙目相機的基線與地面平行,其中所述雙目相機的基線為所述雙目相機中所述左相機和所述右相機兩個相機鏡頭之間的連線。安裝完畢后,所述雙目相機中所述左相機和所述右相機分別針對目標場景進行拍攝,生成兩個原始圖像。
可選的,所述處理器獲取所述雙目相機中所述左相機和所述右相機分別針對目標場景拍攝的兩個原始圖像后,所述處理器根據所述兩個原始圖像確定所述深度圖像,具體方法可以分為以下三個步驟:
a1、所述處理器確定第一原始圖像中每個像素點對應的目標實際位置在所述兩個原始圖像中對應的像素點之間的水平視差,所述第一原始圖像為所述兩個原始圖像中的任一個;
a2、所述處理器針對所述第一原始圖像中每個像素點確定的水平視差執(zhí)行:所述處理器將針對該像素點確定的水平視差作為所述深度圖像中與該像素點在第一原始圖像中位置相同的像素點的灰度值;
a3、所述處理器根據所述深度圖像中每個像素點的灰度值,生成所述深度圖像。
可選的,在上述步驟a1中,所述水平視差也可以叫做深度數據,其中,所述處理器確定所述第一原始圖像中每個像素點對應的目標實際位置在所述兩個原始圖像中對應的像素點之間的水平視差的算法可以但不限于是:局部匹配(Boyer-Moore,BM)算法、半全局匹配(Semi-Global Block Matching,SGBM)算法等。
可選的,在根據上述步驟生成所述深度圖像后,所述深度圖像中的像素點的位置與所述第一原始圖像中的像素點的位置一一對應。
步驟102:所述處理器確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標。
可選的,所述處理器確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標,具體方法可以分為以下兩個步驟:
b1、所述處理器根據該像素點的像素坐標和該像素點的灰度值,確定該像素點在相機坐標系下的三維坐標,所述相機坐標系為所述左相機的坐標系或者所述右相機的坐標系。
由步驟101可知,所述深度圖像中的像素點的位置與所述第一原始圖像中的像素點的位置一一對應,且所述第一原始圖像為所述兩個原始圖像中的任一個,在本發(fā)明實施例中,以所述第一原始圖像為所述左相機拍攝的原始圖像為例進行詳細說明。
可選的,當所述第一原始圖像為所述左相機拍攝的原始圖像時,所述相機坐標系為所述左相機的坐標系,即所述相機坐標系以所述左相機的光心為原點,X軸與Y軸分別與所述左相機拍攝的原始圖像的X軸與Y軸平行,以所述左相機的光軸為Z軸。此時,每個像素點在所述相機坐標系下的三維坐標(px,py,pz)符合公式一:
其中,在上述公式一中,b為所述雙目相機的基線距離;i為該像素點在水平方向上的像素坐標;j為該像素點在垂直方向上的像素坐標;u為所述深度圖像的中心像素點在水平方向上的像素坐標;v為所述深度圖像的中心像素點在垂直方向上的像素坐標;d為該像素點的灰度值;f為所述左相機的焦距。
b2、所述處理器根據所述相機坐標系下的三維坐標,確定該像素點對應的實際位置在當前世界坐標系下的三維坐標。
可選的,當所述第一原始圖像為所述左相機拍攝的原始圖像時,所述世界坐標系以參考點為原點,以地面為XZ平面,以所述左相機光心到地面的垂線為Y軸,以所述左相機光軸在地面的投影為Z軸。
所述處理器根據在所述步驟b1中確定的該像素點在所述相機坐標系下的三維坐標(px,py,pz),確定該像素點對應的實際位置在當前世界坐標系下的三維坐標(pxw,pyw,pzw),所述三維坐標(pxw,pyw,pzw)符合公式二:
其中,在上述公式一中,θ為所述雙目相機的安裝俯仰角;h為所述雙目相機的安裝高度。
可選的,由于所述世界坐標系以地面為XZ平面,所以上述pyw可以看做是相對地面的高度。
步驟103:所述處理器在所述深度圖像中篩選出第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖;其中,所述第一目標像素點對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍;所述標記圖中第二目標像素點的灰度值為第一灰度值,其他像素點的灰度值為第二灰度值,所述第二目標像素點在所述標記圖中的位置與所述第一目標像素點在所述深度圖像中位置相同的像素點的灰度值為第一灰度值。
可選的,所述設定范圍為所述目標物在所述目標場景中的實際位置在所述當前世界坐標系中的三維坐標范圍。
當所述目標物為不同類型的物體時,所述設定范圍不同,例如,當所述目標物為起立人員(一般通過識別起立人員的面部識別起立人員)時,由于起立人員的面部分布高度范圍在1.3米到2.0米之間,因此所述起立人員的面部在所述目標場景中的實際位置在所述當前世界坐標系中的三維坐標范圍為三維坐標中的pyw在1.3和2.0之間的三維坐標范圍。再例如,當所述目標物為課桌的桌面時,由于課桌的桌面分布高度范圍在0.5米到1.2米之間,因此所述課桌的桌面在所述目標場景中的實際位置在所述當前世界坐標系中的三維坐標范圍為三維坐標中的pyw在0.5和1.2之間的三維坐標范圍。
可選的,所述處理器在所述深度圖像中篩選出所述第一目標像素點,具體方法可以分為以下四個步驟:
c1、所述處理器確定在所述目標場景中的至少一個干擾物,并確定所述至少一個干擾物在當前世界坐標系下的三維坐標。
例如,當所述目標物為起立人員時,根據所述起立人員的面部分布高度可知所述目標場景中的墻壁等較高的物體會對定位所述起立人員造成干擾,因此,需要確定對定位所述起立人員造成干擾的至少一個干擾物,以避免干擾。具體確定在所述目標場景中的至少一個干擾物,并確定所述至少一個干擾物在當前世界坐標系下的三維坐標,具體方法可以為:
所述處理器獲取所述雙目相機針對不包含起立人員的同一目標場景拍攝的兩個目標原始圖像,并根據所述兩個目標原始圖像確定無起立人員的目標深度圖像;
所述處理器根據步驟102中的方法確定所述目標深度圖像中每個像素點對應的實際位置在所述當前世界坐標系下的三維坐標;
所述處理器參考起立人員的面部分布高度范圍,在所述目標深度圖像中確定至少一個干擾像素點,所述至少一個干擾像素點對應的實際位置的物體即為所述至少一個干擾物,并確定所述至少一個干擾物在當前世界坐標系下的三維坐標,其中,所述至少一個干擾像素點對應的實際位置在所述當前世界坐標系下的三維坐標中Y坐標pyw1的值在起立人員的高度范圍內,例如1.3<pyw1<2.0。
c2、所述處理器根據所述至少一個干擾物在當前世界坐標系下的三維坐標,確定干擾范圍。
延用上例,可選的,確定干擾范圍的具體方法可以為:
當所述至少一個干擾物的三維坐標中1.3<pyw1<2.0時,所述處理器將所述三維坐標中X坐標pxw1的值作為在目標標記圖中對應的像素點的水平方向的像素坐標的值,將所述三維坐標中Z坐標pzw1的值作為在所述目標標記圖中對應的像素點的垂直方向的像素坐標的值,從而確定了所述至少一個干擾物在所述目標標記圖中的位置;例如,圖2為所述目標標記圖,在所述目標標記圖中,將所述至少一個干擾物在所述目標標記圖中的至少一個像素點的灰度值置為255或者與白色接近的其它灰度值,其它像素點的灰度值置為0或者與黑色接近的其他灰度值,因此圖2中的至少一個白色像素點即為所述至少一個干擾物在所述目標標記圖中的位置;
所述處理器在所述目標標記圖中白色像素點集中區(qū)域下方畫一條折線,則確定所述折線上方區(qū)域為所述干擾范圍,其中,所述折線的位置如圖2中折線的位置所示。
c3、所述處理器根據所述干擾范圍,確定所述設定范圍,所述設定范圍中不包含所述干擾范圍。
例如,在所述步驟c2確定所述干擾范圍后,所述處理器可直接結合起立人員的身高范圍以及所述干擾范圍確定所述設定范圍,即所述設定范圍為所述折線下方區(qū)域中的像素點對應的實際位置的三維坐標范圍中滿足1.3<pyw<2.0的三維坐標范圍。
c4、所述處理器在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于所述設定范圍的像素點,作為所述第一目標像素點。
可選的,所述處理器根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,具體方法可以為:
所述處理器將所述第一灰度值作為所述標記圖中與所述第一目標像素點在所述深度圖像中位置相同的所述第二目標像素點的灰度值,將所述第二灰度值作為所述標記圖中其他像素點的灰度值;其中,所述第一灰度值與所述第二灰度值差異較大,可以明顯區(qū)分所述第二目標像素點與其它像素點,所述第一灰度值可以為白色或接近白色的灰度值,例如200;所述所述第二灰度值可以為黑色或接近黑色的灰度值,例如0。
所述處理器根據所述標記圖中每個像素點的灰度值,生成所述標記圖,所述標記圖如圖3所示,在所述標記圖中接近白色的像素點為所述第二目標像素點,接近黑色的像素點為其它像素點。
步驟104:所述處理器確定所述標記圖中的至少一個連通域;其中,任一個連通域中的任一個像素點與該連通域中的至少一個其他像素點相鄰,且與該連通域中的任一個像素點相鄰的,灰度值為設定的灰度范圍內的像素點均位于該連通域內、所述灰度值范圍中包含所述第一灰度值且不包含所述第二灰度值。
可選的,所述處理器確定所述標記圖中的至少一個連通域,具體方法可以為:
所述處理器對所述標記圖進行去噪處理;
所述處理器在去噪后的所述標記圖中確定包含灰度值在所述灰度范圍內的像素點的所述至少一個連通域。
可選的,所述處理器對所述標記圖進行去噪處理,具體可以分為以下:
d1、所述處理器遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第一像素點。其中,假設所述第一灰度值為200。
d2、所述處理器針對每個第一像素點執(zhí)行如下操作:當確定在以該第一像素點為中心的第一設定像素點范圍內存在灰度值不為所述第一灰度值或第三灰度值的像素點時,所述處理器將該第一像素點的灰度值設置為所述第三灰度值。其中,所述第三灰度值為接近白色但與所述灰度值不同的灰度值,且所述灰度值不包含在所述灰度值范圍內,假設所述第三灰度值為199。
可選的,若假設該第一像素點的像素坐標為(m,n),則所述第一設定像素點范圍可以為m-3<=x<=m+3且n-3<=y(tǒng)<=n+3的范圍,其中,(x,y)表示所述第一像素點設定范圍內的任一個像素點的像素坐標。
d3、所述處理器重新遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第二像素點。
d4、所述處理器針對每個第二像素點執(zhí)行如下操作:所述處理器在以該第二像素點為中心的第二設定像素點范圍內,篩選出灰度值不為所述第一灰度值的至少一個第三像素點;所述處理器將篩選出所述至少一個第三像素點的灰度值設置為第四灰度值,其中,所述第四灰度值包含在所述灰度值范圍內,所述第四灰度值為白色或接近白色的灰度值,假設所述第四灰度值為255。
可選的,若假設該第二像素點的像素坐標為(m1,n1),則所述第二設定像素點范圍可以為m1-3<=x1<=m1+3且n1-3<=y(tǒng)1<=n1+3的范圍,其中,(x1,y1)表示所述第二像素點設定范圍內的任一個像素點的像素坐標。
通過上述步驟完成了對所述標記圖去噪,去噪后的所述標記圖如圖4所示,從圖4中可以看出,相比于圖3,圖4中的連通域比圖3中的連通域平滑,且將圖3中的可忽略的小連通域去掉,因此,通過去噪處理,可以使所述標記圖中的連通域更加準確,從而使定位的目標物的位置更加精確。
步驟105:所述處理器在所述至少一個連通域中篩選包含的像素點的個數不小于設定閾值的目標連通域,并將所述目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。
可選的,當所述目標物為起立人員時,所述處理器可以根據所述起立人員的面部設定所述設定閾值為50,然后,所述處理器通過傳統(tǒng)的方法確定所述至少一個連通域中包含的像素點的個數,將包含的像素點的個數不小于50的連通域確定為所述目標連通域。
可選的,當篩選出所述目標連通域后,所述目標連通域的中心點的像素坐標即為所述所述目標物在圖像坐標系中的像素坐標;將其中一個目標連通域記為目標連通域A,所述目標連通域A的中心點的像素坐標(cx,cy)符合以下公式三:
在上述公式三中,p(s,q)表示所述目標連通域A中任一個像素點的像素坐標,N為所述目標連通域A中像素點的個數。
通過上述方法得到所述目標連通域的中心點的像素坐標后,采用步驟102中的確定像素點對應的實際位置在當前世界坐標系下的三維坐標的方法,得到所述目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,即得到了所述目標場景中目標物的三維坐標,從而確定了所述目標物在所述目標場景中的實際位置,這樣可以準確定位所述目標物,而針對所述目標物執(zhí)行后續(xù)操作。
例如,所述目標物為起立人員時,確定了所述目標場景中所述起立人員的三維坐標后,就可以結合座位表得到所述起立人員的姓名等信息,可以針對所述起立人員進行對其特寫或者與其交流等事宜。
采用發(fā)明實施例提供的一種目標物定位方法,處理器根據雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像確定深度圖像后,在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍的第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,最后將在所述標記圖中篩選出的目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。由于本發(fā)明實施例中處理器無需預先存儲目標物的特征參數,就可以根據標記圖中的目標連通域確定所述目標物在圖像坐標系下的二維坐標和世界坐標系下的三維坐標,這樣可以靈活定位目標物,并且定位精度高。
基于以上實施例,本發(fā)明實施例還提供了一種目標物定位裝置,該目標物定位裝置具有實現如圖1所示的一種目標物定位方法的功能,如圖5所示,該目標物定位裝置500包括:獲取單元501和處理單元502,其中,
所述獲取單元501,用于獲取雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像;
所述處理單元502,用于:
根據所述兩個原始圖像確定深度圖像;所述深度圖像中任一個像素點的灰度值為在所述兩個原始圖像中目標實際位置對應的像素點之間的水平視差,所述目標實際位置為所述像素點對應在所述目標場景中的實際位置;
確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標;
在所述深度圖像中篩選出第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖;其中,所述第一目標像素點對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍;所述標記圖中第二目標像素點的灰度值為第一灰度值,其他像素點的灰度值為第二灰度值,所述第二目標像素點在所述標記圖中的位置與所述第一目標像素點在所述深度圖像中位置相同的像素點的灰度值為第一灰度值;
確定所述標記圖中的至少一個連通域;其中,任一個連通域中的任一個像素點與該連通域中的至少一個其他像素點相鄰,且與該連通域中的任一個像素點相鄰的、灰度值為設定的灰度范圍內的像素點均位于該連通域內,所述灰度值范圍中包含所述第一灰度值且不包含所述第二灰度值;
在所述至少一個連通域中篩選包含的像素點的個數不小于設定閾值的目標連通域,并將所述目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。
可選的,所述處理單元502,在根據所述兩個原始圖像確定深度圖像時,具體用于:
確定第一原始圖像中每個像素點對應的目標實際位置在所述兩個原始圖像中對應的像素點之間的水平視差,所述第一原始圖像為所述兩個原始圖像中的任一個;
針對所述第一原始圖像中每個像素點確定的水平視差執(zhí)行:將針對該像素點確定的水平視差作為所述深度圖像中與該像素點在第一原始圖像中位置相同的像素點的灰度值;
根據所述深度圖像中每個像素點的灰度值,生成所述深度圖像。
可選的,所述處理單元502,在確定所述深度圖像中的每個像素點對應的實際位置在當前世界坐標系下的三維坐標時,具體用于:
根據該像素點的像素坐標和該像素點的灰度值,確定該像素點在相機坐標系下的三維坐標,所述相機坐標系為所述左相機的坐標系或者所述右相機的坐標系;
根據所述相機坐標系下的三維坐標,確定該像素點對應的實際位置在當前世界坐標系下的三維坐標。
可選的,所述設定范圍為所述目標物在所述目標場景中的實際位置在所述當前世界坐標系中的三維坐標范圍。
可選的,所述處理單元502,在在所述深度圖像中篩選出所述第一目標像素點時,具體用于:
確定在所述目標場景中的至少一個干擾物,并確定所述至少一個干擾物在當前世界坐標系下的三維坐標;
根據所述至少一個干擾物在當前世界坐標系下的三維坐標,確定干擾范圍;
根據所述干擾范圍,確定所述設定范圍,所述設定范圍中不包含所述干擾范圍;
在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于所述設定范圍的像素點;
將篩選出的像素點作為所述第一目標像素點。
可選的,所述處理單元502,在根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖時,具體用于:
將所述第一灰度值作為所述標記圖中與所述第一目標像素點在所述深度圖像中位置相同的所述第二目標像素點的灰度值,將所述第二灰度值作為所述標記圖中其他像素點的灰度值;
根據所述標記圖中每個像素點的灰度值,生成所述標記圖。
可選的,所述處理單元502,在確定所述標記圖中的至少一個連通域時,具體用于:
對所述標記圖進行去噪處理;
在去噪后的所述標記圖中確定包含灰度值在所述灰度范圍內的像素點的所述至少一個連通域。
可選的,所述處理單元502,在對所述標記圖進行去噪處理時,具體用于:
遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第一像素點;
針對每個第一像素點執(zhí)行如下操作:當確定在以該第一像素點為中心的第一設定像素點范圍內存在灰度值不為所述第一灰度值或第三灰度值的像素點時,將該第一像素點的灰度值設置為所述第三灰度值;
重新遍歷所述標記圖中每個像素點,篩選出灰度值為所述第一灰度值的至少一個第二像素點;
針對每個第二像素點執(zhí)行如下操作:
在以該第二像素點為中心的第二設定像素點范圍內,篩選出灰度值不為所述第一灰度值的至少一個第三像素點;
將篩選出所述至少一個第三像素點的灰度值設置為第四灰度值,其中,所述第四灰度值包含在所述灰度值范圍內。
采用本發(fā)明實施例提供的一種目標物定位裝置,根據雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像確定深度圖像后,在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍的第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,最后將在所述標記圖中篩選出的目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。由于本發(fā)明實施例中目標物定位裝置無需預先存儲目標物的特征參數,就可以根據標記圖中的目標連通域確定所述目標物在圖像坐標系下的二維坐標和世界坐標系下的三維坐標,這樣可以靈活定位目標物,并且定位精度高。
綜上所述,本發(fā)明實施例提供了一種目標物定位方法及裝置,在該方法中,處理器根據雙目相機中左相機和右相機分別針對目標場景拍攝的兩個原始圖像確定深度圖像后,在所述深度圖像中篩選出對應的實際位置在所述當前世界坐標系下的三維坐標處于設定范圍的第一目標像素點,并根據所述第一目標像素點在所述深度圖像中的位置分布生成標記圖,最后將在所述標記圖中篩選出的目標連通域的中心點對應的實際位置在所述當前世界坐標系下的三維坐標,作為所述目標場景中目標物的三維坐標。由于本發(fā)明實施例中處理器無需預先存儲目標物的特征參數,就可以根據標記圖中的目標連通域確定所述目標物在圖像坐標系下的二維坐標和世界坐標系下的三維坐標,這樣可以靈活定位目標物,并且定位精度高。
本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發(fā)明是參照根據本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執(zhí)行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發(fā)明實施例進行各種改動和變型而不脫離本發(fā)明實施例的精神和范圍。這樣,倘若本發(fā)明實施例的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。