本發(fā)明涉及圖像處理和計算機(jī)視覺領(lǐng)域,特別是涉及一種基于深度信息的人體檢測窗口快速提取方法。
背景技術(shù):
人體檢測技術(shù)是計算機(jī)視覺領(lǐng)域的一個重要研究方向,有著廣泛的應(yīng)用前景。在智能監(jiān)控、輔助駕駛、人機(jī)交互等領(lǐng)域,其智能化程度都與人體檢測技術(shù)的發(fā)展密切相關(guān)。而人體檢測窗口的提取是人體檢測技術(shù)中一個非常重要的步驟,檢測窗口提取的準(zhǔn)確性和所需時間對整個人體檢測的準(zhǔn)確性和響應(yīng)時間有很大的影響。
在實際人體檢測過程中,人體可能會以各種姿態(tài)出現(xiàn)在圖像中的任意位置,并且,由于成像時距離相機(jī)的遠(yuǎn)近不一,人體在圖像中的大小也不盡相同。檢測時,為了不漏掉圖像中任何一個人體目標(biāo),需要在圖像所有位置考慮人體出現(xiàn)的可能性。經(jīng)典的人體檢測算法使用圖像尺度空間搜索方法解決這個問題。圖像尺度空間搜索方法對圖像做不同尺度的縮放,并以等距為步長,采用固定大小的窗口在每層圖像上滑動,從而得到一系列的檢測窗口,在每個窗口上進(jìn)行人體特征的提取與分類。圖像尺度空間搜索方法兼顧了圖像上人體的大小和位置的不確定性,最大程度上降低了漏檢率。但是,在搜索過程中會產(chǎn)生大量檢測窗口,后續(xù)的檢測操作將對每個檢測窗口都進(jìn)行特征提取與分類等運算,其計算代價很大。
因此,當(dāng)前需要一種基于深度信息的快速提取人體檢測窗口的技術(shù)方案來解決上述問題。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種基于深度信息的人體檢測窗口快速提取方法,解決傳統(tǒng)人體檢測技術(shù)中的圖像尺度空間搜索方法需要對人體目標(biāo)可能出現(xiàn)的位置進(jìn)行窮舉,產(chǎn)生大量檢測窗口,導(dǎo)致整個人體檢測過程成本高、效率低的問題。
為了解決上述問題,本發(fā)明提供了一種基于深度信息的人體檢測窗口快速提取方法,將圖像中的深度信息加入到人體檢測窗口提取中,并計算其深度頻率的極值,從而實現(xiàn)人體檢測窗口的快速提取,包括以下步驟:包括:
1)對待檢測深度圖像中像素的深度值進(jìn)行頻率統(tǒng)計,計算深度值的頻率極值,并根據(jù)得到的頻率極值對應(yīng)的深度值,提取該待檢測深度圖像的多個區(qū)域;
2)根據(jù)得到的深度圖區(qū)域,采用自適應(yīng)深度圖像分層方法,分別計算得到各區(qū)域中地面和天花板與其它區(qū)域的分界線,從而計算區(qū)域中不屬于地面和天花板的區(qū)域的幾何中心,作為該深度圖區(qū)域的中心位置;
3)根據(jù)得到的各深度圖區(qū)域中心位置的深度值和所建立的人體深度值與人體成像高度的關(guān)系,計算得到各檢測窗口的高度,將檢測窗口高度的一半作為其寬度,從而得到各檢測窗口的尺寸;
4)根據(jù)得到的各深度圖區(qū)域的中心位置和所述檢測窗口的尺寸信息,完成對多個人體檢測窗口的提取。
作為優(yōu)選,步驟1)為:首先,計算待檢測深度圖像中像素深度值的頻率極值,需要從得到的深度值頻率極大值中篩選出大物體最可能對應(yīng)的深度值頻率;然后,對每個篩選后的頻率極值對應(yīng)的深度值,取待檢測深度圖上所有深度值在該深度值附近的像素點組成不同的區(qū)域。
作為優(yōu)選,步驟2)具體為:
2.1)依次對每個得到的深度圖區(qū)域,從深度圖中隨機(jī)選取一列,分別從該列最下方元素向上遍歷,以及從該列最上方元素向下遍歷,在遍歷過程中分別記錄第一個深度值在該區(qū)域深度值附近的像素點的y軸坐標(biāo);
2.2)重復(fù)m次上述步驟,在向上和向下兩個方向上分別得到了m個y軸坐標(biāo)值,分別對兩列坐標(biāo)值排序,然后選取中間s個值,計算其均值,將其均值分別作為該區(qū)域中地面和天花板與其他區(qū)域的分界線。
2.3)依次遍歷該區(qū)域中的像素點,記錄其y軸坐標(biāo)在天花板和地面與其他區(qū)域的分界線間的像素點,將這些像素點的橫坐標(biāo)均值和縱坐標(biāo)均值,作為該深度圖區(qū)域中心的坐標(biāo)。
作為優(yōu)選,步驟2)具體為:
依次對得到的深度圖區(qū)域,從深度圖中隨機(jī)選取一列,分別從該列最下方元素向上遍歷,以及從該列最上方元素向下遍歷;
在向上和向下遍歷過程中分別記錄第一個滿足
如果沒有找到滿足上述條件的像素點p,則分別記錄該列上深度值最大的像素點的y軸坐標(biāo)值;
重復(fù)m次上述步驟,在向上和向下兩個方向上分別得到m個y軸坐標(biāo)值,記為
分別對兩列坐標(biāo)值從小到大進(jìn)行排序,然后選取中間的s個值,計算其均值,將其均值分別作為該區(qū)域中地面和天花板與其他區(qū)域的分界線
依次遍歷該區(qū)域中的像素點,記錄其y軸坐標(biāo)在天花板和地面與其他區(qū)域的分界線間的像素點,將這些像素點的橫坐標(biāo)均值和縱坐標(biāo)均值,作為該深度圖區(qū)域中心的坐標(biāo)。
本發(fā)明提供了一種基于深度信息的人體檢測窗口快速提取方法。該方法計算待檢測深度圖像中深度值的頻率極值,通過頻率極值對應(yīng)深度值區(qū)域的幾何中心確定檢測窗口候選位置的中心,并進(jìn)一步基于深度值和人體高度間的關(guān)系,確定檢測窗口的尺寸,從而完成快速提取一系列人體檢測窗口。本發(fā)明提供的自適應(yīng)圖像分層算法,能有效解決檢測窗口中心漂移的問題,對檢測窗口中心的計算過程自動進(jìn)行糾正。應(yīng)用本發(fā)明,解決了傳統(tǒng)人體檢測技術(shù)中的圖像尺度空間搜索方法需要對人體目標(biāo)可能出現(xiàn)的位置進(jìn)行窮舉的問題。應(yīng)用本發(fā)明不僅能大大減少人體檢測過程生成檢測窗口的數(shù)量,縮短檢測消耗時間,并且準(zhǔn)確率較高,能夠提高人體檢測的效率。
附圖說明
圖1是本發(fā)明基于深度信息的人體檢測窗口快速提取方法的流程圖。
圖2是本發(fā)明基于深度信息的自適應(yīng)深度圖像分層方法操作示例。
具體實施方式
本發(fā)明提供了一種基于深度信息的人體檢測窗口快速提取方法。該方法計算待檢測深度圖像中深度值的頻率極值,通過頻率極值對應(yīng)深度值區(qū)域的幾何中心確定檢測窗口候選位置的中心,并進(jìn)一步基于深度值和人體高度間的關(guān)系,確定檢測窗口的尺寸,從而完成快速提取一系列人體檢測窗口。本發(fā)明適用于基于深度信息的人體檢測窗口提取,減少人體檢測過程生成檢測窗口的數(shù)量,縮短檢測消耗時間,并且準(zhǔn)確率較高,能夠提高人體檢測的效率。
如圖1所示,本發(fā)明包括以下步驟:
1)在對kinect深度圖進(jìn)行人體檢測前,為了提高kinect深度圖對實際距離描述的準(zhǔn)確性,對深度圖進(jìn)行校正;
2)對待檢測深度圖像中像素的深度值進(jìn)行頻率統(tǒng)計,計算深度值的頻率極值,并根據(jù)得到的頻率極值對應(yīng)的深度值,提取該待檢測深度圖像的多個區(qū)域;
2.1)深度圖中的物體成像面積與其對應(yīng)的深度值頻率大小成正比關(guān)系。所以,深度值頻率較高的位置有很大可能性是大物體或者背景區(qū)域??紤]到一般場景中,人體在可辨識的情況下,都可以算作是成像面積較大的物體,其對應(yīng)的深度值的出現(xiàn)頻率也會相對高些?;谶@一特性,本發(fā)明提出一種基于深度信息的人體檢測窗口快速提取方法,將待檢測圖像中深度值頻率極大值對應(yīng)的區(qū)域作為人體檢測的候選區(qū)域。
首先,對待檢測深度圖像中像素的深度值進(jìn)行頻率統(tǒng)計,然后,計算深度值頻率的極大值,最后,從深度值頻率的極大值中篩選出大物體最可能對應(yīng)的深度值頻率。
2.2)分別對每個篩選后得到的頻率極值對應(yīng)的深度值,從待檢測深度圖上選取所有深度值在該深度值附近的像素點組成不同的區(qū)域。
3)根據(jù)得到的深度圖區(qū)域,采用自適應(yīng)深度圖像分層方法,分別計算得到各區(qū)域中地面和天花板與其它區(qū)域的分界線,從而計算區(qū)域中不屬于地面和天花板的區(qū)域的幾何中心,作為該深度圖區(qū)域的中心位置;
計算深度圖區(qū)域的中心位置的具體步驟為:
3.1)依次對每個得到的深度圖區(qū)域,從深度圖中隨機(jī)選取一列,分別從該列最下方元素向上遍歷,以及從該列最上方元素向下遍歷;
3.2)在向上和向下遍歷過程中分別記錄第一個深度值在該區(qū)域深度值附近的像素點的y軸坐標(biāo);
3.3)重復(fù)m次上述步驟,在向上和向下兩個方向上分別得到m個y軸坐標(biāo)值;
3.4)分別對兩列坐標(biāo)值從小到大進(jìn)行排序,然后選取中間的s個值,計算其均值,將其均值分別作為該區(qū)域中地面和天花板與其他區(qū)域的分界線。
3.5)依次遍歷該區(qū)域中的像素點,記錄其y軸坐標(biāo)在天花板和地面與其他區(qū)域的分界線間的像素點,將這些像素點的橫坐標(biāo)均值和縱坐標(biāo)均值,作為該深度圖區(qū)域中心的坐標(biāo)。
4)根據(jù)得到的各深度圖區(qū)域中心位置的深度值和所建立的人體深度值與人體成像高度的關(guān)系,計算得到各檢測窗口的高度,將檢測窗口高度的一半作為其寬度,從而得到各檢測窗口的尺寸;
計算個檢測窗口的具體步驟為:
4.1)根據(jù)得到的各深度圖區(qū)域中心位置的深度值和所建立的人體深度值與人體成像高度的關(guān)系,計算得到各檢測窗口的高度;
4.2)將檢測窗口高度的一半作為其寬度,從而得到各檢測窗口的尺寸。
5)根據(jù)得到的各深度圖區(qū)域的中心位置和所述檢測窗口的尺寸信息,完成對多個人體檢測窗口的提取。
本發(fā)明在計算機(jī)視覺領(lǐng)域有著廣泛的應(yīng)用,例如:智能監(jiān)控、輔助駕駛、人機(jī)交互等等。如圖2所示,對本發(fā)明進(jìn)行詳盡的描述。
1)為了提高kinect深度圖對實際距離描述的準(zhǔn)確性,對深度圖進(jìn)行校正;
2)對待檢測深度圖像中像素的深度值進(jìn)行頻率統(tǒng)計,并計算深度值頻率的極大值;
3)設(shè)計算得到n個深度值頻率的極大值,給定頻率閾值為tf,對n個深度值頻率的極大值frequencyi(i=2,3,...,n-1)依次判斷:如果
4)分別對每個篩選后得到的頻率極值對應(yīng)的深度值di,從待檢測深度圖上選取所有滿足|dp-di|<6的像素點組成不同的區(qū)域,其中,dp表示像素點p的深度值,并將di作為該區(qū)域的深度值;
5)依次對得到的深度圖區(qū)域,采用自適應(yīng)深度圖像分層方法,分別計算其中心位置。
5.1)依次對得到的深度圖區(qū)域,從深度圖中隨機(jī)選取一列,分別從該列最下方元素向上遍歷,以及從該列最上方元素向下遍歷;
5.2)在向上和向下遍歷過程中分別記錄第一個滿足
5.3)如果沒有找到滿足上述條件的像素點p,則分別記錄該列上深度值最大的像素點的y軸坐標(biāo)值;
5.4)重復(fù)m次5.1)至5.3)步驟,在向上和向下兩個方向上分別得到m個y軸坐標(biāo)值,記為
5.5)分別對兩列坐標(biāo)值從小到大進(jìn)行排序,然后選取中間的s個值,計算其均值,將其均值分別作為該區(qū)域中地面和天花板與其他區(qū)域的分界線
5.6)依次遍歷該區(qū)域中的像素點,記錄其y軸坐標(biāo)在天花板和地面與其他區(qū)域的分界線間的像素點,將這些像素點的橫坐標(biāo)均值和縱坐標(biāo)均值,作為該深度圖區(qū)域中心的坐標(biāo);
5.7)為了提高后續(xù)人體檢測的查全率,以四個像素為偏移步長,在每個求得的中心附近再取八個點,將它們也看作對應(yīng)區(qū)域的中心點。
6)根據(jù)得到的各深度圖區(qū)域中心位置的深度值和所建立的人體深度值與人體成像高度的關(guān)系,計算得到各檢測窗口的高度,將檢測窗口高度的一半作為其寬度,從而得到各檢測窗口的尺寸;
7)根據(jù)得到的各深度圖區(qū)域的中心位置和所述檢測窗口的尺寸信息,完成對多個人體檢測窗口的提取。
本發(fā)明提供了一種基于深度信息的人體檢測窗口快速提取方法,適用于基于深度信息的人體檢測窗口提取,減少人體檢測過程生成檢測窗口的數(shù)量,縮短檢測消耗時間,并且準(zhǔn)確率較高,能夠提高人體檢測的效率。