本發(fā)明實施例涉及計算機視覺和機器學習技術領域,尤其涉及一種基于深度學習的人群計數方法及裝置。
背景技術:
基于視頻的人群計數有很廣泛的應用價值。無論是廣告機的廣告投放效果分析還是安防監(jiān)控中人數預警,或者是旅游景區(qū)人流量分析,基于視頻的人群計數技術都是值得推廣的方法。傳統(tǒng)的基于人臉識別的人群計數方法多依靠人工來提取特征,依賴于專業(yè)領域知識,能夠取得一定的效果。但是在對姿態(tài)各異的、不同側面的人像進行計數時,特征提取就變得比較困難,從而造成這些方法就無法做出較為準確的判斷。
目前基于神經網絡的深度學習方法已經成為研究的熱點,人們提出了各種各樣的網絡模型用于解決特定的問題。在目標識別與檢測方面,雖然faster-rcnn、yolo、ssd和r-fcn等網絡模型均有不錯的表現,但這些網絡模型因為網絡結構的原因造成對目標較小的物體存在檢測識別率不高的狀況。同時對于高分辨率的人群圖像和視頻,因為圖片尺寸較大,為了提高檢測效率,以上方法均會對圖像進行一定程度的縮小,造成圖像細節(jié)的進一步丟失。
技術實現要素:
本發(fā)明實施例提供一種基于深度學習的人群計數方法及裝置,可以提高人群計數的準確性。
一方面,本發(fā)明實施例提供了一種基于深度學習的人群計數方法,包括:
將待檢測人群圖片劃分為多個圖片塊;
基于預先訓練得到的rpn候選框生成模型,確定所述多個圖片塊中人頭候選框區(qū)域和所述人頭候選框區(qū)域的置信度;
依據所述置信度對確定的人頭候選框區(qū)域進行篩選,得到待檢測區(qū)域;
基于預先訓練得到的fast-rcnn修正模型,對所述待檢測區(qū)域進行分類預測,并依據分類預測的結果確定所述待檢測人群圖片中包含的人群數量。
另一方面,本發(fā)明實施例還提供了一種基于深度學習的人群計數裝置,包括:
圖片劃分模塊,用于將待檢測人群圖片劃分為多個圖片塊;
人頭候選框區(qū)域模塊,用于基于預先訓練得到的rpn候選框生成模型,確定所述多個圖片塊中人頭候選框區(qū)域和所述人頭候選框區(qū)域的置信度;
待檢測區(qū)域模塊,用于依據所述置信度對確定的人頭候選框區(qū)域進行篩選,得到待檢測區(qū)域;
人群數量模塊,用于基于預先訓練得到的fast-rcnn修正模型,對所述待檢測區(qū)域進行分類預測,并依據分類預測的結果確定所述待檢測人群圖片中包含的人群數量。
本發(fā)明實施例提供的技術方案,將待檢測人群圖片劃分為多個圖片塊,并通過rpn候選框生成模型在多個層之間并發(fā)確定多個圖片塊中人頭候選框區(qū)域和人頭候選框區(qū)域的置信度,依據置信度對人頭候選框區(qū)域進行篩選得到待檢測區(qū)域,隨后基于fast-rcnn修正模型對待檢測區(qū)域進行分類預測,并依據分類預測結果確定待檢測人群圖片中包含的人群數量。該方案提出了一種高分辨率下的人群計數方法,提高了人群計數的準確率和魯棒性。
附圖說明
圖1為本發(fā)明實施例一中提供的一種基于深度學習的人群計數方法的流程圖;
圖2為本發(fā)明實施例一中使用的faster-rcnn網絡結構圖;
圖3為本發(fā)明實施例二中提供的一種基于深度學習的人群計數方法的流程圖;
圖4為本發(fā)明實施例三中提供的一種基于深度學習的人群計數裝置的結構圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。
實施例一
圖1為本發(fā)明實施例一中提供的一種基于深度學習的人群計數方法的流程圖。本實施例的方法可以由基于深度學習的人群計數裝置來執(zhí)行,該裝置可通過硬件和/或軟件的方式實現。參考圖1,本實施例提供的基于深度學習的人群計數方法具體可以包括如下:
步驟11、將待檢測人群圖片劃分為多個圖片塊。
其中,待檢測人群圖片可以是高分辨率密集人群圖片。高分辨率密集人群圖片指的是圖片尺寸大于預設的分辨率閾值,且圖片中包含的人群數量超過預設的人群數量閾值,分辨率閾值可以是1280x1024,人群數量閾值可以是50,100等。
為了提高待檢測人群圖片的檢測效率,對待檢測人群圖片進行劃分。具體的,可以按照一定的切分策略對高分辨率圖片進行切分。切分策略可以是采用等分切分法將圖片切分成相同大小的圖片塊,且記錄每個圖片塊的位置和尺寸信息。切分的圖片塊數以4-8塊為宜。為了提高檢測準確率允許圖片塊的邊緣相互重疊。另外,在對待檢測人群圖片進行切分之前,可以采用背景檢測算法,削去周邊的背景。
目前在采用神經網絡對高分辨率圖片進行檢測的過程中,為了保證目標檢測的效率,通常神經網絡模型先將高分辨率圖片下采樣到合適尺寸后再送入神經網絡進行計算。由于密集人群圖片中人體目標的尺寸較小,下采樣后人體目標的相關信息進一步丟失,故現有的人群計數方法嚴重影響了檢測效果??紤]到并行計算一般只能在神經網絡每一層的前向或后向計算時采用,本實施例對待檢測人群圖片進行切分可以更大程度的借助于并行技術來提高檢測速度,而且還可以保留更多的較小尺寸目標的相關信息,提高檢測效果。
另外,在將待檢測人群圖片劃分為多個圖片塊后,還可以對切分得到的各圖片塊進行篩選,以去除純背景圖片塊。對視頻進行人群計數時,因為攝像機的拍攝角度原因會造成畫面中存在部分區(qū)域為固定背景,圖片切分后就會存在某個圖片塊中沒有目標對象,只有背景信息。采用基于時間差異或背景減除等方法來判斷圖片塊是否為純背景圖片塊,如果是就丟棄,否則在后續(xù)操作中作為rpn候選框生成模型的輸入。
步驟12、基于預先訓練得到的rpn候選框生成模型,確定所述多個圖片塊中人頭候選框區(qū)域和所述人頭候選框區(qū)域的置信度。
圖2為本發(fā)明實施例一中使用的faster-rcnn網絡結構圖。參考圖2,faster-rcnn網絡包括候選區(qū)域生成網絡(regionproposalnetwork,簡稱rpn網絡)和基于卷積神經網絡的目標區(qū)域快速生成網絡(簡稱fast-rcnn網絡)。conv1-conv5是指提取圖片特征的5層卷積網絡,proposallayer用于對候選區(qū)域的篩選,softmax輸出目標邊框的置信度,bboxregressor輸出目標邊框坐標的回歸計算結果。
其中,rpn網絡結構可以包括:conv1(卷積層,96個7x7的卷積核)+relu層(激活函數為標準relu函數)+lrn層(歸一化層),pooling層;conv2(卷積層,256個5x5的卷積核)+relu層+lrn層,pooling層;conv3(卷積層,384個3x3的卷積核)+relu層;conv4(卷積層,384個3x3的卷積核)+relu層;conv5(卷積層,256個3x3的卷積核)+relu層,rpn_conv層(卷積層,256個3x3的卷積核)+relu層,rpn_cls_score層(卷積層,18個1x1的卷積核),rpn_bbox_pred層(卷積層,36個1x1的卷積核)。
為了加快運算速度,對原始fast-rcnn網絡進行了修改,將兩個全連接層換成了1個卷積層,得到的fast-rcnn修正結構為:roi-pooling層(下采樣尺寸7x7);conv1_last(卷積層,1000個1x1的卷積核)+relu層;cls_score層(全連接層,num_output為2)+softmax層(激活函數為softmax函數),bbox_pred層(全連接層,num_output為8)。
并且,rpn候選框生成模型和fast-rcnn修正模型可以同時訓練得到。在模型訓練階段,基于brainwash數據集,采用常見的神經網絡訓練方法,用基于imagenet訓練得到的zfnet的卷積參數對rpn網絡結構和fast-rcnn修正結構中特征提取部分的參數進行初始化,其余部分的參數用正態(tài)分布(均值為0,標準差為0.01)隨機生成初始數據。模型訓練過程具體可以包括:將brainwash數據集中的圖片所帶的標注修改為描述人頭的邊框(box)坐標,使用多任務損失函數綜合考慮分類誤差和邊框回歸誤差,設置初始學習率為0.001(每20000次會下降學習率),使用隨機下降梯度來調整權重,進行迭代訓練,迭代70000次結束訓練。其中,標注是指在一張圖片中人頭的左上角點和右下角點的坐標。
具體的,將步驟11中得到的多個圖片塊作為rpn候選框生成模型的輸入,經rpn候選框生成模型處理得到各圖片塊中人頭候選框區(qū)域,以及各人頭候選框區(qū)域的置信度。
步驟13、依據所述置信度對確定的人頭候選框區(qū)域進行篩選,得到待檢測區(qū)域。
具體的,由于步驟12中得到的人頭候選框區(qū)域存在相互包含、交叉或重疊的情況,需要對人頭候選框區(qū)域進行整理,消除被重疊的置信度低的人頭候選框區(qū)域。
示例性的,步驟13可以包括:
a、針對每一圖片塊,執(zhí)行如下操作:依據置信度從大到小對屬于該圖片塊的人頭候選框區(qū)域進行排序,并濾除置信度低于第一置信度閾值的人頭候選框區(qū)域;將置信度值最高的人頭候選框區(qū)域確定為該圖片塊的第一候選框區(qū)域,并計算該圖片塊中其他人頭候選框區(qū)域與所述第一候選框區(qū)域之間的交疊比;若交疊比大于交疊比閾值,則濾除對應的其他人頭候選框區(qū)域。
其中,第一置信度閾值可以從0.2-0.25中選取,交疊比閾值可以是0.7。交疊比計算公式如下:
其中iou(a,b)指人頭候選框區(qū)域a和人頭候選框區(qū)域b的交疊比,area(·)是一種計算區(qū)域面積的運算。a∩b表示人頭候選框區(qū)域a和人頭候選框區(qū)域b的相交區(qū)域。
b、從所有圖片塊剩余的人頭候選框區(qū)域中選擇置信度排序在前的預設數值個人頭候選框區(qū)域作為所述待檢測區(qū)域。
其中,預設數值可以是300。
在篩選時也可以將所有圖片塊對應的人頭候選框區(qū)域放在一起進行篩選,具體處理過程如下:按照置信度對所有人頭候選框區(qū)域進行由大到小排序,并標注各人頭候選框區(qū)域所屬的圖片塊序號;濾除置信度小于第一置信度閾值的人頭候選框區(qū)域;針對每一圖片塊,將屬于該圖片塊且置信度最高的人頭候選框區(qū)域記為目標候選框區(qū)域ci,其中i取1,2,…,n,n為圖片塊的數量;針對剩余的每一其他人頭候選框區(qū)域,分別計算該其他人頭候選框區(qū)域與各目標候選框區(qū)域ci之間的交疊比,若交疊比大于交疊比閾值,則濾除該其他人頭候選框區(qū)域。隨后,選擇置信度排序在前的300個人頭候選框區(qū)域作為待檢測區(qū)域。需要說明的是,在交疊比計算過程中,若兩個人頭候選框區(qū)域所屬的圖片塊不同,則可以直接將交疊比置為零。
步驟14、基于預先訓練得到的fast-rcnn修正模型,對所述待檢測區(qū)域進行分類預測,并依據分類預測的結果確定所述待檢測人群圖片中包含的人群數量。
具體的,將待檢測區(qū)域作為fast-rcnn修正模型的輸入,經fast-rcnn修正模型處理得到待檢測區(qū)域的分類預測結果,并依據分類預測的結果確定所述待檢測人群圖片中包含的人群數量。
本實施例提供的技術方案,將待檢測人群圖片劃分為多個圖片塊,并通過rpn候選框生成模型在多個層之間并發(fā)確定多個圖片塊中人頭候選框區(qū)域和人頭候選框區(qū)域的置信度,依據置信度對人頭候選框區(qū)域進行篩選得到待檢測區(qū)域,隨后基于fast-rcnn修正模型對待檢測區(qū)域進行分類預測,并依據分類預測結果確定待檢測人群圖片中包含的人群數量。該方案具有兩大優(yōu)勢:一是對高分辨率圖片分割后再并行檢測,解決了高分辨率圖片在送入faster-rcnn網絡時需要縮小尺寸而造成較小目標對象信息的丟失,同時并行計算不會對檢測時間帶來明顯影響;二是訓練的神經網絡模型參數規(guī)模不大,容易在在嵌入式設備上實現。
示例性的,步驟12可以包括:將所述多個圖片塊作為rpn候選框生成模型的輸入,依據所述rpn候選框生成模型提供的人頭候選框的長寬比值和人頭候選框的像素面積值,確定所述多個圖片塊中人頭候選框區(qū)域,并確定所述人頭候選框區(qū)域的置信度。
其中,為了能夠更好的完成對較小目標的檢測,且考慮到待識別目標的形狀,faster-rcnn網絡模型中將rpn中錨點的個數修改為25,對應錨點的長寬比修改為0.667,0.75,1.0,1.33和1.5,大小尺度修改為2x16x16像素,4x16x16像素,6x16x16像素,8x16x16像素和16x16x16像素。也就是說,rpn候選框生成模型提供的人頭候選框的長寬比值包括0.667,0.75,1.0,1.33和1.5,提供的人頭候選框的像素面積值包括2x16x16,4x16x16,6x16x16,8x16x16和16x16x16。
為了降低計算復雜度,還對網絡模型中的具有較多權重的卷積層進行了輕量化處理,減少了參數個數和計算復雜度。示例性的,rpn候選框生成模型的訓練可以包括:針對rpn模型中的每一參數,若該參數的取值與至少一個候選取值之間的差值小于預設數值,則將候選取值作為該參數的取值。具體的,若有一個候選取值,則候選取值是零;若有兩個候選取值,則候選取值是-1和1。
實施例二
圖3為本發(fā)明實施例二中提供的一種基于深度學習的人群計數方法的流程圖。參考圖3,本實施例提供的基于深度學習的人群計數方法具體可以包括如下:
步驟21、將待檢測人群圖片劃分為多個圖片塊。
步驟22、基于預先訓練得到的rpn候選框生成模型,確定所述多個圖片塊中人頭候選框區(qū)域和所述人頭候選框區(qū)域的置信度。
步驟23、依據所述置信度對確定的人頭候選框區(qū)域進行篩選,得到待檢測區(qū)域。
步驟24、將所述待檢測區(qū)域作為所述fast-rcnn修正模型的輸入,得到所述待檢測區(qū)域的新置信度。
步驟25、將新置信度大于第二置信度閾值的待檢測區(qū)域確定為人頭區(qū)域。
其中,第二置信度閾值可以是0.7。
步驟26、若兩個人頭區(qū)域之間的交疊比大于交疊比閾值,則從兩個人頭區(qū)域中濾除新置信度相對較低的人頭區(qū)域,直到剩余的任意兩個人頭區(qū)域之間的交疊比均小于或等于所述交疊比閾值。
具體的,可以按照新置信度對所有人頭區(qū)域進行由大到小排序,分別計算人頭區(qū)域di和人頭區(qū)域dj之間的交疊比,若兩個人頭區(qū)域的交疊比大于交疊比閾值,則濾除新置信度值較低的人頭區(qū)域,使剩余的每一人頭區(qū)域與除該人頭區(qū)域以外的其他所有人頭區(qū)域之間的交疊比均小于或等于交疊比閾值。其中i取1,2,…,「(m/2),j取i+1,…,m,「為向上取整符號,m為人頭區(qū)域的總數量。
步驟27、將剩余的人頭區(qū)域的數量,作為所述待檢測人群圖片中包含的人群數量。
需要說明的是,fast-rcnn修正模型還可以對人頭區(qū)域進行邊框回歸處理,如在待檢測人群圖片中繪制出人頭區(qū)域框。
本實施例提供的技術方案,基于fast-rcnn修正模型對待檢測區(qū)域進行分類預測得到待檢測區(qū)域的新置信度,隨后通過閾值篩選確定人頭區(qū)域,采用非極大值抑制消除重疊的人頭區(qū)域,并將剩余的人頭區(qū)域的數量,作為所述待檢測人群圖片中包含的人群數量。該方案進一步提高了人群計數的效率和準確率。
實施例三
本實施例提供了一種基于深度學習的人群計數裝置。圖4為本發(fā)明實施例三中提供的一種基于深度學習的人群計數裝置的結構圖,如圖4所示,該基于深度學習的人群計數裝置可以包括:
圖片劃分模塊31,用于將待檢測人群圖片劃分為多個圖片塊;
人頭候選框區(qū)域模塊32,用于基于預先訓練得到的rpn候選框生成模型,確定所述多個圖片塊中人頭候選框區(qū)域和所述人頭候選框區(qū)域的置信度;
待檢測區(qū)域模塊33,用于依據所述置信度對確定的人頭候選框區(qū)域進行篩選,得到待檢測區(qū)域;
人群數量模塊34,用于基于預先訓練得到的fast-rcnn修正模型,對所述待檢測區(qū)域進行分類預測,并依據分類預測的結果確定所述待檢測人群圖片中包含的人群數量。
示例性的,所述人頭候選框區(qū)域模塊32具體可以用于:
將所述多個圖片塊作為rpn候選框生成模型的輸入,依據所述rpn候選框生成模型提供的人頭候選框的長寬比值和人頭候選框的像素面積值,確定所述多個圖片塊中人頭候選框區(qū)域,并確定所述人頭候選框區(qū)域的置信度。
示例性的,上述裝置包括rpn候選框生成模型訓練模塊,所述rpn候選框生成模型訓練模塊用于在進行rpn候選框生成模型訓練過程中,針對rpn模型中的每一參數,若該參數的取值與至少一個候選取值之間的差值小于預設數值,則將候選取值作為該參數的取值。
示例性的,待檢測區(qū)域模塊33具體可以用于:
針對每一圖片塊,執(zhí)行如下操作:依據置信度從大到小對屬于該圖片塊的人頭候選框區(qū)域進行排序,并濾除置信度低于第一置信度閾值的人頭候選框區(qū)域;將置信度值最高的人頭候選框區(qū)域確定為該圖片塊的第一候選框區(qū)域,并計算該圖片塊中其他人頭候選框區(qū)域與所述第一候選框區(qū)域之間的交疊比;若交疊比大于交疊比閾值,則濾除對應的其他人頭候選框區(qū)域;
從所有圖片塊剩余的人頭候選框區(qū)域中選擇置信度排序在前的預設數值個人頭候選框區(qū)域作為所述待檢測區(qū)域。
示例性的,所述人群數量模塊34具體可以用于:
將所述待檢測區(qū)域作為所述fast-rcnn修正模型的輸入,得到所述待檢測區(qū)域的新置信度;
將新置信度大于第二置信度閾值的待檢測區(qū)域確定為人頭區(qū)域;
若兩個人頭區(qū)域之間的交疊比大于交疊比閾值,則從兩個人頭區(qū)域中濾除新置信度相對較低的人頭區(qū)域,直到剩余的任意兩個人頭區(qū)域之間的交疊比均小于或等于所述交疊比閾值;
將剩余的人頭區(qū)域的數量,作為所述待檢測人群圖片中包含的人群數量。
示例性的,所述fast-rcnn修正模型的網絡結構包括:roi-pooling層;conv1_last卷積層+relu層;cls_score層;softmax層;bbox_pred層,其中conv1_last卷積層有1000個1*1的卷積核。
本實施例提供的基于深度學習的人群計數裝置,與本發(fā)明任意實施例所提供的基于深度學習的人群計數方法屬于同一發(fā)明構思,可執(zhí)行本發(fā)明任意實施例所提供的基于深度學習的人群計數方法,具備執(zhí)行基于深度學習的人群計數方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節(jié),可參見本發(fā)明任意實施例提供的基于深度學習的人群計數方法。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。