級聯卷積神經網絡訓練和圖像檢測方法、裝置及系統的制作方法
【專利摘要】本發明公開一種級聯卷積神經網絡訓練和圖像檢測方法、裝置及系統,其中,所述訓練方法包括:將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據,N為大于或等于2的整數;分別將N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練;將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。在將訓練結果傳播至各級卷積神經網絡時,能夠調整各級神經網絡的參數,使得級聯卷積神經網絡在訓練時能夠達到神經網絡參數的全局優化。
【專利說明】
級聯卷積神經網絡訓練和圖像檢測方法、裝置及系統
技術領域
[0001]本發明涉及圖像數據處理領域,具體涉及一種級聯卷積神經網絡訓練和圖像檢測方法、裝置及系統。
【背景技術】
[0002]物體檢測即對于輸入的圖片,精確地檢測出所有某類物體的位置,在計算機視覺和模式識別領域中占有重要地位。
[0003]傳統的基于卷積神經網絡的物體檢測方法,首先在圖片上選出一系列位置、大小不同的待檢測區域,然后將該區域直接輸入一個卷積神經網絡,得到分類結果。通過適當設計卷積神經網絡的結構,可以讓計算機直接學習出圖片中的隱藏特征,避免了人工設計特征,能更廣泛地應用到各種類別物體的檢測中。但是由于卷積神經網絡的計算時間往往比人工設計特征的計算時間長許多,因此在檢測時會面臨檢測速度與檢測效果不可兼得的矛盾。
[0004]對于基于卷積神經網絡的物體檢測方法,目前常見的是單級多層卷積神經網絡。由于分類效果較好的單級卷積神經網絡結構較復雜,檢測每個區域的時間較長,如果在選擇待檢測區域時采用全面覆蓋圖片的滑動窗口選擇法,則檢測速度較慢;如果采用針對圖片某些特征設計的算法選擇最可能包含物體的少量區域,則檢測速度有所提高,但在選擇區域階段可能漏掉某些包含物體的區域。對于物體檢測問題,由于數據標注非常耗費人力、時間,數據集中往往負樣本很多,正樣本很少。在訓練時,由于正負樣本分布不均衡,訓練效果往往較差。
[0005]級聯卷積神經網絡通過使用小型的、復雜度遞增的多級多層神經網絡,可以在使用滑動窗口選擇法的同時提高檢測速度,并對不同級的網絡提供不同比例的正負樣本訓練,在一定程度上緩解上述的兩個問題。但是在傳統的級聯網絡中,不同級的神經網絡通常分開訓練,只能使每一級神經網絡達到局部優化,多級多層神經網絡的整體性能不理想。
【發明內容】
[0006]本發明實施例提供一種級聯卷積神經網絡及其訓練和檢測方案。
[0007]根據第一方面,本發明實施例提供了一種級聯卷積神經網絡訓練方法,包括:
[0008]將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據,N為大于或等于2的整數;分別將N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練,其中,N級級聯的卷積神經網絡中的每一級卷積神經網絡分別與N種輸入區域的一種輸入區域對應;將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。
[0009]可選地,對各級卷積神經網絡進行訓練,包括:根據第I級卷積神經網絡最后一層的輸出,得到第I級卷積神經網絡的特征向量;根據第η級卷積神經網絡最后一層的輸出和第n-1級卷積神經網絡的特征向量,得到第η級卷積神經網絡的特征向量,其中,11為正整數,且1<η彡N。
[0010]可選地,第I級卷積神經網絡的最后一層為卷積層;第2至N級卷積神經網絡中各級卷積神經網絡的最后一層均為全連接層。
[0011]可選地,對各級卷積神經網絡進行訓練,包括:至少分別求取各級卷積神經網絡的本級損失;將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,包括:至少對各級卷積神經網絡分別輸出的本級損失進行加權求和,得到N級級聯的卷積神經網絡的全局損失。
[0012]可選地,至少分別求取各級卷積神經網絡的本級損失,包括:分別求取各級卷積神經網絡的本級損失函數和回歸邊界框真值損失;至少對各級卷積神經網絡分別輸出的本級損失進行加權求和,得到N級級聯的卷積神經網絡的全局損失,包括:對各級卷積神經網絡分別輸出的本級損失函數和/或回歸邊界框真值損失進行加權求和,得到N級級聯的卷積神經網絡的全局損失。
[0013]可選地,第i級卷積神經網絡輸入區域的尺寸小于第j級卷積神經網絡輸入區域的尺寸,其中,i和j為正整數,且l<i<j<N。
[0014]本發明實施例還提供了一種級聯卷積神經網絡訓練裝置,包括:
[0015]學習數據獲取單元,用于將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據,所述N為大于或等于2的整數;訓練單元,用于分別將所述N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練,其中,所述N級級聯的卷積神經網絡中的每一級卷積神經網絡分別與所述N種輸入區域的一種輸入區域對應;回傳單元,用于將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。
[0016]可選地,訓練單元包括:第一向量單元,用于根據第I級卷積神經網絡最后一層的輸出,得到所述第I級卷積神經網絡的特征向量;第二向量單元,用于根據第η級卷積神經網絡最后一層的輸出和所述第η-1級卷積神經網絡的特征向量,得到第η級卷積神經網絡的特征向量,其中,所述η為正整數,且1<η<Ν。
[0017]可選地,所述訓練單元包括:本級損失求取單元,用于至少分別求取各級卷積神經網絡的本級損失;全局損失求取單元,用于至少對各級卷積神經網絡分別輸出的本級損失進行加權求和,得到所述N級級聯的卷積神經網絡的全局損失。
[0018]本發明實施例還提供了一種計算機存儲介質,存儲了用于實現本發明實施例提供的任一種級聯卷積神經網絡訓練方法的計算機可讀取的指令。例如,所述指令包括:將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據的指令,N為大于或等于2的整數;分別將N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練的指令,其中,N級級聯的卷積神經網絡中的每一級卷積神經網絡分別與N種輸入區域的一種輸入區域對應;將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數的指令。
[0019]本發明實施例還提供了一種級聯卷積神經網絡訓練系統,包括:
[0020]圖像獲取裝置,用于獲取待學習圖像的圖像數據;存儲器,用于存儲程序;處理器,接收待學習圖像的圖像數據,用于執行程序以實現上述訓練方法中的操作。
[0021]根據第二方面,本發明實施例提供了一種基于級聯卷積神經網絡的圖像檢測方法,包括:
[0022]獲取待檢測圖像的圖像數據;將待檢測圖像的圖像數據作為上述的訓練方法建立的神經網絡模型的輸入對待檢測圖像進行檢測,得到待檢測圖像的檢測結果。
[0023]可選地,在獲取待檢測圖像的圖像數據之后,還包括:將圖像數據劃分成多個區域得到各個區域的圖像數據;將待檢測圖像的圖像數據作為神經網絡模型的輸入對待檢測圖像進行檢測,得到待檢測圖像的檢測結果,包括:分別將各個區域的圖像數據依次作為神經網絡模型的輸入對各個區域的圖像數據進行檢測,得到各個區域的檢測結果。
[0024]可選地,對待檢測圖像進行檢測包括:在神經網絡模型的N級級聯卷積神經網絡的至少一級神經網絡中對圖像數據進行分類得分計算;將至少一級卷積神經網絡的分類得分的計算值與至少一預定分值進行比較,并根據至少一比較結果確定圖像數據是否包含目標對象。
[0025]可選地,在獲取待檢測圖像的圖像數據之后,還包括:將圖像數據的尺寸壓縮成符合第η級卷積神經網絡輸入區域的尺寸,其中,η為正整數,且I彡η彡N-1;將待檢測圖像的圖像數據作為神經網絡模型的輸入對待檢測圖像進行檢測,得到待檢測圖像的檢測結果,包括:將壓縮后的圖像數據輸入第η級卷積神經網絡;通過第η級卷積神經網絡對壓縮后的圖像數據進行第一分類得分計算;如果第一分類得分小于第一預定分值,則判斷為圖像數據不包含目標對象。
[0026]可選地,如果第一分類得分大于或等于第一預定分值,則還包括:將圖像數據的尺寸壓縮成符合第η+1級卷積神經網絡輸入區域的尺寸;將壓縮后的圖像數據輸入第η+1級卷積神經網絡;通過第η+1級卷積神經網絡對壓縮后的圖像數據進行第二分類得分計算;如果第二分類得分小于第二預定分值,則判斷為圖像數據不包含目標對象。
[0027]可選地,如果第二分類得分大于或等于第二預定分值,并且η= Ν_1時,則判斷為圖像數據包含目標物體。
[0028]可選地,在判斷圖像數據包含目標物體之后,還包括:輸出包含目標物體的圖像數據的特征信息。
[0029]本發明實施例還提供了一種基于級聯卷積神經網絡的圖像檢測裝置,包括:
[0030]圖像數據獲取單元,用于獲取待檢測圖像的圖像數據;檢測單元,用于將所述待檢測圖像的圖像數據作為上述的訓練裝置建立的神經網絡模型的輸入對所述待檢測圖像進行檢測,得到所述待檢測圖像的檢測結果。
[0031]可選地,還包括:區域劃分單元,用于將所述圖像數據劃分成多個區域得到各個區域的圖像數據;所述檢測單元用于分別將所述各個區域的圖像數據依次作為所述神經網絡模型的輸入對所述各個區域的圖像數據進行檢測,得到所述各個區域的檢測結果。
[0032]可選地,所述檢測單元包括:分類得分單元,用于在所述神經網絡模型的N級級聯卷積神經網絡的至少一級神經網絡中對所述圖像數據進行分類得分計算;比較單元,用于將至少一級卷積神經網絡的分類得分的計算值與至少一預定分值進行比較,并根據至少一比較結果確定所述圖像數據是否包含目標對象。
[0033]可選地,還包括:壓縮單元,用于將所述圖像數據的尺寸壓縮成符合第η級卷積神經網絡輸入區域的尺寸,其中,η為正整數,且I彡η彡N-1;所述檢測單元用于將壓縮后的所述圖像數據輸入所述第η級卷積神經網絡;第一分類得分單元,用于通過所述第η級卷積神經網絡對壓縮后的所述圖像數據進行第一分類得分計算;判斷單元,用于如果所述第一分類得分小于第一預定分值,則判斷為所述圖像數據不包含目標對象。
[0034]本發明實施例還提供了一種計算機存儲介質,存儲了用于實現本發明實施例提供的任一種基于級聯卷積神經網絡的圖像檢測方法的計算機可讀取的指令。例如,所述指令包括:用于獲取待檢測圖像的圖像數據的指令;用于將待檢測圖像的圖像數據作為上述的訓練方法建立的神經網絡模型的輸入對待檢測圖像進行檢測,得到待檢測圖像的檢測結果的指令。
[0035]本發明實施例還提供了一種基于級聯卷積神經網絡的圖像檢測系統,包括:
[0036]圖像獲取裝置,用于獲取待檢測圖像的圖像數據;存儲器,用于存儲程序;處理器,接收待檢測圖像的圖像數據,用于執行程序以實現上述檢測方法中的操作。
[0037]根據第三方面,本發明實施例提供了一種級聯卷積神經網絡,包括:
[0038]級聯的N級卷積神經網絡,N級卷積神經網絡的用于接收N種不同大小的輸入區域的圖像數據,用于分別對N種不同大小的輸入區域的圖像數據進行訓練/檢測,N為大于或等于2的整數;各級卷積神經網絡分別輸出的至少一訓練結果相關聯,關聯后的訓練結果被回傳至各級卷積神經網絡。
[0039]本發明實施例提供的技術方案,將待學習圖像至少局部區域的圖像數據分別處理成N種輸入區域的圖像數據,并分別輸入至N級級聯的卷積神經網絡,而后,對N級級聯的卷積神經網絡進行訓練,至少一訓練結果關聯,因此,在將訓練結果傳播至各級卷積神經網絡時,能夠調整各級神經網絡的參數,使得級聯卷積神經網絡在訓練時能夠達到神經網絡參數的全局優化。
【附圖說明】
[0040]為了更清楚地說明本發明【具體實施方式】或現有技術中的技術方案,下面將對【具體實施方式】或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施方式,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0041]圖1為本發明實施例1中一種級聯卷積神經網絡訓練方法流程圖;
[0042]圖2為本發明實施例1中一種級聯卷積神經網絡訓練裝置原理框圖;
[0043]圖3為本發明實施例2中一種基于級聯卷積神經網絡的圖像檢測方法流程圖;
[0044]圖4為本發明實施例2中另一種基于級聯卷積神經網絡的圖像檢測方法流程圖;
[0045]圖5為本發明實施例2中一種基于級聯卷積神經網絡的圖像檢測裝置原理框圖;
[0046]圖6示意性地示出了適于用來實現本申請實施例的終端設備或服務器的計算機系統的結構示意圖。
【具體實施方式】
[0047]下面將結合附圖對本發明的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0048]此外,下面所描述的本發明不同實施方式中所涉及的技術特征只要彼此之間未構成沖突就可以相互結合。
[0049]實施例1
[0050]為了實現多級神經網絡全局最優訓練,本實施例公開了一種級聯卷積神經網絡訓練方法,請參考圖1,為該級聯卷積神經網絡訓練方法流程圖,該方法包括如下步驟:
[0051]步驟S110,獲取待學習圖像至少局部區域的圖像數據。在具體實施例中,可以用滑動窗口選擇法選擇待學習圖像的至少局部區域作為該圖像的學習區域。在可選的實施例中,每個學習區域可以用例如方形的邊界框圈出,并根據與圖像中物體區域邊界框真值的重合度,來標記該學習區域是否包含帶檢測物體,以便于神經網絡學習訓練。在本實施例中,可以將各個學習區域調成為預設的標準尺寸大小,例如48*48,需要說明的是,本實施例及下述實施例中,在未作特別申明的情況下,具體的數值對本實施例的技術方案不構成限制,應當理解為便于本領域技術人員理解技術方案而舉的示例。
[0052]步驟S120,將待學習圖像至少局部區域的圖像數據分別處理成N種輸入區域的圖像數據。本實施例中,N種輸入區域兩兩之間具有不同的尺寸,N為大于等于2的整數。在可選的實施例中,可以對待學習圖像至少局部區域的圖像數據分別進行壓縮,從而得到N中輸入區域的圖像數據。
[0053]步驟S130,分別將N種輸入區域的圖像數據輸入至N級級聯的卷積神經網絡。在本實施例中,N級級聯的卷積神經網絡中的每一級分別與N種輸入區域的一種輸入區域一一對應。級聯的卷積神經網絡具有不同級網絡結構,不同級之間輸入數據的屬性類型(例如不同級的輸入數據分別對應不同大小的輸入區域的數據)不同,為實現針對同一學習區域的數據學習,需要將該學習區域的圖像數據分別處理(處理手段可包括但不限于壓縮、采樣等)成符合各級神經網絡輸入的數據尺寸。在本實施例中,共有N級卷積神經網絡級聯,因此,需要有N種輸入區域的圖像數據,每一級卷積神經網絡對應一種輸入區域。在優選的實施例中,第i級卷積神經網絡輸入區域的尺寸小于第j級卷積神經網絡輸入區域的尺寸,其中,i和j為正整數,且l<i<j<N。下文以N=3為例進行說明,第I級輸入區域的尺寸為例如12*12、第2級輸入區域的尺寸為例如24*24、第3級輸入區域的尺寸為例如48*48,需要說明的是,本實施例中,并未限制不同級輸入區域的尺寸之間滿足某種倍數關系。可以將由步驟SllO獲取的預設區域的尺寸分別調成為12*12、24*24和48*48,以分別作為上述三級級聯神經網絡的輸入區域。本實施例中,將前級卷積神經網絡的輸入區域的尺寸減小,能夠提高前級神經網絡的運行效率,而將后級卷積神經網絡的輸入區域的尺寸變大,以滿足后級網絡判斷精細度的需求,采用不同尺寸的輸入區域,使得各級卷積神經網絡能夠權衡效率和判斷的精細度。
[0054]步驟S140,對N級級聯的卷積神經網絡進行訓練。在具體實施例中,可以根據經驗或需要來確定各級神經網絡結構。例如:在確保召回率的情況下,可以適當減少卷積層,以提高計算速度。當輸入區域的尺寸越大,則訓練時精細度越高,相應的計算復雜程度也提高,此時,可以適當減少卷積層。以N= 3為例進行說明:第I級神經網絡(例如12net神經網絡)輸入區域的尺寸例如為12*12,包括例如3個卷積層、2個池化層,其中,卷積層輸出圖像為輸入圖像與卷積核的卷積,卷積核的參數可由訓練調整;池化層輸出圖像的每個像素點為輸入圖像某個區域的平均值。12net的輸出由最后一個卷積層的輸出,計算得到第I級神經網絡的本級損失lossO。第2級神經網絡(例如24net神經網絡)輸入區域的尺寸例如為24*24,包括例如I個卷積層、I個池化層和I個全連接層,24net的輸出由全連接層輸出,計算得到第2級神經網絡的本級損失10SS1。第3級神經網絡(例如48net神經網絡)輸入區域的尺寸例如為48*48,包括例如2個卷積層、2個池化層和I個全連接層,48net的輸出由全連接層輸出,計算得到第3級神經網絡的本級損失loss2。在優選的實施例中,各級神經網絡還可以利用回歸邊界框真值的損失函數計算本級輸入區域回歸邊界框真值損失,例如12net的回歸邊界框真值bbox 1ssO、24net的回歸邊界框真值bbox 1ssl以及48net的回歸邊界框真值bbox loss20
[0055]步驟S150,根據訓練結果調整各級神經網絡的參數。具體地,將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。本實施例中,訓練結果中,各級卷積神經網絡至少有一個參數相關聯,通過神經網絡的訓練結果可以調整各層網絡的參數,從而,使得該神經網絡向全局最優靠近。在可選的實施例中,該相關聯的參數為各級卷積神經網絡的本級損失,各級卷積神經網絡分別輸出的本級損失函數和/或回歸邊界框真值損失進行加權求和,得到N級級聯的卷積神經網絡的全局損失loss,具體地,N級級聯的卷積神經網絡的全局損失loss至少由各級卷積神經網絡的本級損失加權求和得到,可選地,在加權求和時,可以對各級卷積神經網絡的本級損失(1ssO、loss I和loss2)以及各級的回歸邊界框真值的損失(bbox 1ssO、bbox 1ssl和bbox loss2)進行。在具體實施例中,具體的加權系數可以根據經驗和/或實驗來確定。
[0056]為了實現各級卷積神經網絡損失函數相關聯,在可選的實施例中,在執行步驟S140對N級級聯的卷積神經網絡進行訓練時,可以進一步包括:根據第I級卷積神經網絡最后一層的輸出,得到第I級卷積神經網絡的特征向量;根據第η級卷積神經網絡最后一層的輸出和第η-1級卷積神經網絡的特征向量,得到第η級卷積神經網絡的特征向量,其中,η為正整數,且1<η<Ν。在具體實施例中,根據得到的本級卷積神經網絡的特征向量可以得到預測標簽,而后至少分別求取各級卷積神經網絡的本級損失,具體地,可以利用神經網絡的損失函數及回歸邊界框真值的損失函數基于預測標簽和真實標簽計算本級損失。將該計算得到的損失反向傳播至神經網絡的相應位置,可以對神經網絡結構參數進行優化調整。具體地,以3級聯的神經網絡為例進行說明,其中,第I級卷積神經網絡的最后一層為卷積層,該卷積層的輸出為第I級卷積神經網絡的特征向量Α;第2級卷積神經網絡,包括依次串接的卷積層、池化層和全連接層,第2級神經網絡的最后一層為全連接層,該全連接層輸出特征向量B,而后與第I級神經網絡的特征向量A相連得到第2級神經網絡的特征向量A-B;第3級神經網絡的最后一層為全連接層,該全連接層輸出特征向量C而后與第2級神經網絡的特征向量A-B相連得到第3級神經網絡的特征向量A-B-C。本實施例中,第I級卷積神經網絡的最后一層為卷積層,第I級卷積神經網絡的特征向量為該級卷積神經網絡中最后一層卷積層的輸出,第2至N級卷積神經網絡中每級卷積神經網絡的最后一層為全連接層,在具體實施中,可以將卷積層輸出的特征向量調整成符合連接層連接的特征向量的數據格式。通過不同級的卷積神經網絡的特征向量進行連接,從而實現了各級神經網絡參數進行關聯。在本實施例中,對于不同級的卷積神經網絡,第I級卷積神經網絡采用全卷積層進行計算,可以節約計算量;而第2至N級的卷積神經網絡最后一層為全連接層,可以實現正負樣本的判別。
[0057]本實施例還公開了一種級聯卷積神經網絡訓練裝置,請參考圖2,為該級聯卷積神經網絡訓練裝置結構示意框圖,該訓練裝置包括:學習數據獲取單元110、訓練單元120和回傳單元130,其中:
[0058]學習數據獲取單元110用于將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據,N為大于或等于2的整數;訓練單元120用于分別將N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練,其中,N級級聯的卷積神經網絡中的每一級卷積神經網絡分別與N種輸入區域的一種輸入區域對應;回傳單元130用于將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。
[0059]在可選的實施例中,訓練單元120包括:第一向量單元,用于根據第I級卷積神經網絡最后一層的輸出,得到第I級卷積神經網絡的特征向量;第二向量單元,用于根據第η級卷積神經網絡最后一層的輸出和第η-1級卷積神經網絡的特征向量,得到第η級卷積神經網絡的特征向量,其中,η為正整數,且1<η<Ν。
[0060]在可選的實施例中,訓練單元120包括:本級損失求取單元,用于至少分別求取各級卷積神經網絡的本級損失;全局損失求取單元,用于至少對各級卷積神經網絡分別輸出的本級損失進行加權求和,得到N級級聯的卷積神經網絡的全局損失。
[0061]本實施例還公開了一種級聯卷積神經網絡訓練系統,包括:攝像裝置、存儲器和處理器,其中:
[0062]圖像獲取裝置,用于獲取待學習圖像的圖像數據;存儲器,用于存儲程序;處理器,接收待學習圖像的圖像數據,用于執行程序以實現上述級聯卷積神經網絡訓練方法中的操作。
[0063]本實施例提供的級聯卷積神經網絡訓練方法、裝置及系統,將待學習圖像至少局部區域的圖像數據分別處理成N種輸入區域的圖像數據,并分別輸入至N級級聯的卷積神經網絡,而后,對N級級聯的卷積神經網絡進行訓練,至少一訓練結果關聯,因此,在將訓練結果傳播至各級卷積神經網絡時,能夠調整各級神經網絡的參數,使得級聯卷積神經網絡在訓練時能夠達到神經網絡參數全局優化。
[0064]實施例2
[0065]本實施例公開了一種基于級聯卷積神經網絡的圖像檢測方法,請參考圖3,為該基于級聯卷積神經網絡的圖像檢測方法流程圖,該檢測方法包括如下步驟:
[0066]步驟S210,訓練級聯卷積神經網絡模型。本實施例中,可以根據實施例1公開的級聯卷積神經網絡訓練方法訓練神經網絡得到級聯卷積神經網絡模型。需要說明的是,本實施例中,步驟SlO是在訓練神經網絡時執行,在神經網絡訓練完成后,可不再執行該步驟。
[0067]步驟S220,獲取待檢測圖像的圖像數據。在具體實施例中,可以預先對圖像數據進行預處理,得到預處理后的待檢測圖像的圖像數據,可選地,可以將圖像數據的像素值減去某一數值,該數值可以是ImageNet數據集的均值,也可以是根據訓練圖片集合計算出的均值。當然,在其它可選實施例中,也可以預先對圖像數據進行二值化的預處理。
[0068]步驟S230,對待檢測圖像的圖像數據進行檢測,得到檢測結果。本實施例中,可以根據上述實施例的訓練方法建立神經網絡模型,而后,在獲得待檢測圖像的圖像數據之后,將該待檢測圖像的圖像數據作為該神經網絡模型的輸入對待檢測圖像進行檢測,得到待檢測圖像的檢測結果。在可選的實施例中,在對待檢測圖像進行檢測時,可以檢測待檢測圖像中目標對象的位置信息(例如坐標位置),目標對象的位置信息可以作為檢測結果輸出。
[0069]需要說明的是,在具體實施例中,在首次進行圖像檢測,執行步驟S210訓練建立得到級聯卷積神經網絡后,在后續的檢測過程中,可以不必再執行步驟S210。
[0070]需要說明的是,步驟S220獲取的待檢測圖像的圖像數據可以為預設的標準尺寸大小,例如48*48。
[0071]當然,步驟S220獲取的待檢測圖像的圖像數據也可以是其它尺寸,此時,在執行步驟S220之后,可以將該獲取的待檢測圖像數據劃分成多個區域,以得到各個區域的圖像數據,而后對各個區域分別進行檢測,即分別將各個區域的圖像數據依次作為神經網絡模型的輸入對各個區域的圖像數據進行檢測,得到各個區域的檢測結果。在可選的實施例中,在將獲取的待檢測圖像的圖像數據劃分成多個區域時,可以將各個區域調成為預設的標準尺寸大小,例如48*48。在具體實施例中,在執行步驟S230時,應當分別將各個區域的圖像數據依次輸入神經網絡模型,應當依次對各個區域的圖像數據進行檢測分別得到各個區域的檢測結果。
[0072]在具體實施例中,在進行檢測時,可以通過分類得分的方式來檢測待檢測圖像是否包含目標對象,具體地,在神經網絡模型的N級級聯卷積神經網絡的至少一級神經網絡中對圖像數據進行分類得分計算,將至少一級卷積神經網絡的分類得分的計算值與至少一預定分值進行比較,并根據至少一比較結果確定圖像數據是否包含目標對象。作為例子,如果分類得分小于預定分值,則判斷為特征組合不包含目標對象。具體地,請參考圖4,在執行步驟S220之后,還包括:
[0073]步驟S250,將圖像數據的尺寸壓縮成符合第η級卷積神經網絡輸入區域的尺寸,其中,η為正整數,且1<η<Ν-1。例如,將步驟S220獲取的待檢測圖像的圖像數據壓縮成符合第I級卷積神經網絡輸入區域的尺寸(例如12*12)。
[0074]在執行步驟S230時,可以包括:
[0075]步驟S231,將壓縮后的圖像數據輸入第η級卷積神經網絡。譬如,將步驟S250壓縮成符合第I級卷積神經網絡輸入區域的尺寸(例如12*12)的待檢測圖像的圖像數據輸入至第I級卷積神經網絡。
[0076]步驟S241,通過第η級卷積神經網絡對壓縮后的圖像數據進行第一分類得分計算。譬如,在將壓縮后的圖像數據輸入至第I級卷積神經網絡后,可以得到第一分類得分,在本實施例中,通過該第I級神經網絡最后一層的卷積層可以輸出該級卷積神經網絡的分類得分cls score I。在具體實施例中,各級神經網絡的特征向量中的某一元素表征了該級神經網絡的分類得分,例如第I級神經網絡的特征向量A中的某一元素表征了該分類得分clsscore I。需要說明的是,在具體實施例中,當η為例如2時,則第一分類得分為第2級神經網絡計算的分類得分cls score 2。
[0077]步驟S242,判斷第一分類得分是否小于第一預定分值。在具體實施例中,可以根據經驗來確定第一預定分值。如果步驟S242判斷第一分類得分小于第一預定分值,則判斷結果為圖像數據不包含目標對象。
[0078]在可選的實施例中,如果步驟S242判斷第一分類得分大于或等于第一預定分值,則還包括:
[0079]步驟S243,將圖像數據的尺寸壓縮成符合第η+1級卷積神經網絡輸入區域的尺寸。譬如,當η=1時,如果第I級分類得分cls score I小于該級預定值,則將圖像數據的尺寸壓縮成符合第2級卷積神經網絡輸入區域的尺寸(例如24*24);當n = 2時,如果第2級分類得分cls score 2小于該級預定值,則將圖像數據的尺寸壓縮成符合第3級卷積神經網絡輸入區域的尺寸(例如48*48)。
[0080]步驟S244,將壓縮后的圖像數據輸入第η+1級卷積神經網絡。
[0081]步驟S245,通過第η+1級卷積神經網絡對壓縮后的圖像數據進行第二分類得分計算。在將壓縮后的圖像數據輸入至各級卷積神經網絡后,可以得到本級神經網絡分類得分,當η=1時,則第二分類得分為第2級神經網絡計算的分類得分cls score 2;當n = 2時,則第二分類得分為第3級神經網絡計算的分類得分cls score 3。
[0082]步驟S246,判斷第二分類得分是否小于第二預定分值。在具體實施例中,可以根據經驗來確定第二預定分值。如果步驟S242判斷第二分類得分小于第二預定分值,則判斷結果為圖像數據不包含目標對象。
[0083]在優選的實施例中,執行步驟S246時,如果第二分類得分大于或等于第二預定分值,并且n = N-1時,則判斷為圖像數據包含目標對象。
[0084]在優選的實施例中,當判斷圖像數據包含目標對象之后,還可以進一步包括:輸出包含目標對象的圖像數據的特征信息。在具體實施例中,可以根據預測的調整量微調待檢測區域邊界框的位置、大小。在將一張圖片的所有待檢測區域檢測完畢后,選出預測包含對象的區域,用例如非最大值抑制法去除重合度較高的區域。即為該檢測方法預測圖中目標對象的位置與大小。
[0085]本實施例還公開了一種基于級聯卷積神經網絡的圖像檢測裝置,請參考圖5,為該基于級聯卷積神經網絡的圖像檢測裝置結構示意框圖,該檢測裝置包括:上述實施例的級聯卷積神經網絡訓練裝置1、圖像數據獲取單元2和檢測單元3,其中:
[0086]圖像數據獲取單元2用于獲取待檢測圖像的圖像數據;檢測單元,用于將待檢測圖像的圖像數據作為上述的訓練裝置建立的神經網絡模型的輸入對待檢測圖像進行檢測,得到待檢測圖像的檢測結果。
[0087]在可選的實施例中,該基于級聯卷積神經網絡的圖像檢測裝置還包括:區域劃分單元,用于將圖像數據劃分成多個區域得到各個區域的圖像數據;檢測單元用于分別將各個區域的圖像數據依次作為神經網絡模型的輸入對各個區域的圖像數據進行檢測,得到各個區域的檢測結果。
[0088]在優選的實施例中,檢測單元包括:分類得分單元,用于在神經網絡模型的N級級聯卷積神經網絡的至少一級神經網絡中對圖像數據進行分類得分計算;比較單元,用于將至少一級卷積神經網絡的分類得分的計算值與至少一預定分值進行比較,并根據至少一比較結果確定圖像數據是否包含目標對象。
[0089]在優選的實施例中,該基于級聯卷積神經網絡的圖像檢測裝置還包括:壓縮單元,用于將圖像數據的尺寸壓縮成符合第η級卷積神經網絡輸入區域的尺寸,其中,η為正整數,且I彡η彡N-1;檢測單元用于將壓縮后的圖像數據輸入第η級卷積神經網絡;第一分類得分單元,用于通過第η級卷積神經網絡對壓縮后的圖像數據進行第一分類得分計算;判斷單元,用于如果第一分類得分小于第一預定分值,則判斷為圖像數據不包含目標對象。
[0090]本實施例還公開了一種基于級聯卷積神經網絡的圖像檢測系統,包括:
[0091]圖像獲取裝置,用于獲取待學習圖像的圖像數據;存儲器,用于存儲程序;處理器,接收待學習圖像的圖像數據,用于執行程序以實現上述檢測方法中的操作。
[0092]本實施例還公開了一種級聯的卷積神經網絡,包括:級聯的N級卷積神經網絡,N級卷積神經網絡的用于接收N種不同大小的輸入區域的圖像數據,用于分別對N種不同大小的輸入區域的圖像數據進行訓練/檢測,N為大于或等于2的整數;各級卷積神經網絡分別輸出的至少一訓練結果相關聯,關聯后的訓練結果被回傳至各級卷積神經網絡。
[0093]本實施例提供的基于級聯卷積神經網絡的圖像檢測方法、裝置及系統,在神經網絡訓練時,將訓練結果傳播至各級卷積神經網絡,調整各級神經網絡的參數,使得級聯卷積神經網絡在訓練時能夠達到神經網絡參數的全局優化。從而在利用該網絡進行檢測時,可以在提高檢測速度的同時取得更好的檢測效果。
[0094]下面參考圖6,其示出了適于用來實現本申請實施例的終端設備或服務器的計算機系統600的結構示意圖。
[0095]如圖6所示,計算機系統600包括中央處理單元(CPU)601,其可以根據存儲在只讀存儲器(R0M)602中的可執行指令或者從存儲部分608加載到隨機訪問存儲器(RAM)603中的可執行指令而執行各種適當的動作和處理。CPU601還可存儲有系統600操作所需的各種程序和數據。CPU60UR0M602以及RAM603通過總線604彼此相連。輸入/輸出(I/O)接口 605也連接至總線604。
[0096]以下部件連接至I/O接口605:包括鍵盤、鼠標等的輸入部分606 ;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如LAN卡、調制解調器等的網絡接口卡的通信部分609。通信部分609經由諸如因特網的網絡執行通信處理。驅動器610也根據需要連接至I/O接口 605。可拆卸介質611,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器610上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分608。
[0097]特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機分別進行圖像塊劃分以得到圖像塊集合的指令;根據圖像塊集合中的各圖像塊生成至少一個第一圖像塊組的指令;根據至少一個第一圖像塊組訓練卷積神經網絡的指令;基于第一卷積神經網絡對圖像塊集合中的各圖像塊進行分類以得到至少一個第二圖像塊組的指令……。在這樣的實施例中,該計算機程序可以通過通信部分609從網絡上被下載和安裝,和/或從可拆卸介質611被安裝。在該計算機程序被中央處理單元(CPU) 601執行時,執行本申請的方法中限定的上述功能。
[0098]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0099]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0100]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0101]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0102]顯然,上述實施例僅僅是為清楚地說明所作的舉例,而并非對實施方式的限定。對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處于本發明創造的保護范圍之中。
【主權項】
1.一種級聯卷積神經網絡訓練方法,其特征在于,包括: 將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據,所述N為大于或等于2的整數; 分別將所述N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練,其中,所述N級級聯的卷積神經網絡中的每一級卷積神經網絡分別與所述N種輸入區域的一種輸入區域對應; 將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。2.如權利要求1所述的級聯卷積神經網絡訓練方法,其特征在于,所述對各級卷積神經網絡進行訓練,包括: 根據第I級卷積神經網絡最后一層的輸出,得到所述第I級卷積神經網絡的特征向量;根據第η級卷積神經網絡最后一層的輸出和所述第η-1級卷積神經網絡的特征向量,得到第η級卷積神經網絡的特征向量,其中,所述η為正整數,且1<η<Ν。3.如權利要求1或2所述的級聯卷積神經網絡訓練方法,其特征在于, 所述對各級卷積神經網絡進行訓練,包括:至少分別求取各級卷積神經網絡的本級損失; 將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,包括:至少對各級卷積神經網絡分別輸出的本級損失進行加權求和,得到所述N級級聯的卷積神經網絡的全局損失。4.一種基于級聯卷積神經網絡的圖像檢測方法,其特征在于,包括: 獲取待檢測圖像的圖像數據; 將所述待檢測圖像的圖像數據作為如權利要求1-3任意一項所述的訓練方法建立的神經網絡模型的輸入對所述待檢測圖像進行檢測,得到所述待檢測圖像的檢測結果。5.如權利要求4所述的基于級聯卷積神經網絡的圖像檢測方法,其特征在于,在所述獲取待檢測圖像的圖像數據之后,還包括: 將所述圖像數據劃分成多個區域得到各個區域的圖像數據; 將所述待檢測圖像的圖像數據作為神經網絡模型的輸入對所述待檢測圖像進行檢測,得到所述待檢測圖像的檢測結果,包括:分別將所述各個區域的圖像數據依次作為所述神經網絡模型的輸入對所述各個區域的圖像數據進行檢測,得到所述各個區域的檢測結果。6.—種級聯卷積神經網絡訓練裝置,其特征在于,包括: 學習數據獲取單元,用于將待學習圖像至少局部區域的圖像數據分別處理成N種不同大小的輸入區域的圖像數據,所述N為大于或等于2的整數; 訓練單元,用于分別將所述N種輸入區域的圖像數據作為N級級聯的卷積神經網絡中各級卷積神經網絡的輸入,對各級卷積神經網絡進行訓練,其中,所述N級級聯的卷積神經網絡中的每一級卷積神經網絡分別與所述N種輸入區域的一種輸入區域對應; 回傳單元,用于將各級卷積神經網絡分別輸出的至少一訓練結果進行關聯,并將關聯后的訓練結果回傳至各級卷積神經網絡以調整各級神經網絡的參數。7.—種基于級聯卷積神經網絡的圖像檢測裝置,其特征在于,包括: 圖像數據獲取單元,用于獲取待檢測圖像的圖像數據; 檢測單元,用于將所述待檢測圖像的圖像數據作為如權利要求6所述的訓練裝置建立的神經網絡模型的輸入對所述待檢測圖像進行檢測,得到所述待檢測圖像的檢測結果。8.一種級聯卷積神經網絡訓練系統,其特征在于,包括: 圖像獲取裝置,用于獲取待學習圖像的圖像數據; 存儲器,用于存儲程序; 處理器,接收所述待學習圖像的圖像數據,用于執行所述程序以實現如權利要求1-3任意一項所述方法中的操作。9.一種基于級聯卷積神經網絡的圖像檢測系統,其特征在于,包括: 圖像獲取裝置,用于獲取待檢測圖像的圖像數據; 存儲器,用于存儲程序; 處理器,接收所述待檢測圖像的圖像數據,用于執行所述程序以實現如權利要求4或5所述方法中的操作。10.一種級聯卷積神經網絡,其特征在于,包括: 級聯的N級卷積神經網絡,所述N級卷積神經網絡的用于接收N種不同大小的輸入區域的圖像數據,用于分別對所述N種不同大小的輸入區域的圖像數據進行訓練/檢測,所述N為大于或等于2的整數; 各級卷積神經網絡分別輸出的至少一訓練結果相關聯,關聯后的訓練結果被回傳至各級卷積神經網絡。
【文檔編號】G06T7/00GK106096670SQ201610439342
【公開日】2016年11月9日
【申請日】2016年6月17日
【發明人】秦紅偉, 閆俊杰
【申請人】北京市商湯科技開發有限公司