本發明涉及遷移學習和深度學習領域,特別涉及一種圖像分類方法及裝置。
背景技術:
卷積神經網絡(convolutionalneuralnetworks,cnn)是一種高效識別方法。一般地,cnn的基本結構包括兩層,其一為特征提取層,每個神經元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其它特征間的位置關系也隨之確定下來;其二是特征映射層,網絡的每個計算層由多個特征映射組成,每個特征映射是一個平面,平面上所有神經元的權值相等。
遷移學習即一種學習對另一種學習的影響,它廣泛地存在于知識、技能、態度和行為規范的學習中。任何一種學習都要受到學習者已有知識經驗、技能、態度等的影響,只要有學習,就有遷移,使用深度學習技術解決問題的過程中,在面對某一領域的具體問題時,通常可能無法得到構建模型所需規模的數據然而在一個模型訓練任務中針對某種類型數據獲得的關系也可以輕松地應用于同一領域的不同問題,這就是所謂的遷移學習。
現有的圖像分類方法一般是基于小數據集訓練分類模型,然后通過該訓練分類模型對圖片集進行分類。但是,小數據集的數據量較少,用深層卷積網絡訓練時容易導致模型訓練過程中出現過擬合問題,用淺層卷積網絡訓練時,使圖像特征提取不夠完善,降低圖像分類率。
技術實現要素:
本發明的目的是提供一種圖像分類方法及裝置,目的在于解決現有技術中利用小數據集訓練圖像分類模型時出現過擬合現象導致和圖像特征提取不夠完善導致圖像分類率的問題。
為解決上述技術問題,本發明提供一種圖像分類方法,該方法包括:
基于圖像大數據集,訓練alexnet模型結構,所述alexnet模型結構為包括依次相連的第一卷積層、第二卷積層、第三卷積層、第四卷積層、第五卷積層、第一全連接層、第二全連接層及softmax分類器的模型;
將訓練好的所述第一卷積層、所述第二卷積層、所述第三卷積層、所述第四卷積層及所述第五卷積層遷移至小型數據庫構成底層特征提取層,并與包括兩層卷積層的殘差網絡層、多尺度池化層、特征層及所述softmax分類器構建得出遷移模型結構;
其中,所述多尺度池化層包括與所述第一卷積層相連的第一多尺度池化層、與所述第三卷積層相連的第二多尺度池化層及與所述第五卷積層相連的第三多尺度池化層;所述特征層為所述殘差網絡層提取的特征圖和所述多尺度池化層提取的特征圖串聯構成的特征層;
將圖像小數據集輸入所述遷移模型結構,保持所述底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和所述多尺度池化層的參數,訓練得出圖像分類混合模型;
根據所述圖像分類混合模型,對待分類圖像小數據集進行分類,得出分類結果。
可選地,所述將圖像小數據集輸入所述遷移模型結構,保持所述底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和所述多尺度池化層的參數,訓練得出圖像分類混合模型包括:
獲取所述圖像小數據集,將所述小數據集輸入所述遷移模型結構;
利用所述底層特征提取層提取出所述圖像小數據集的初始特征;
利用所述殘差網絡層對所述初始特征進行訓練,得出第一特征圖;
利用所述多尺度池化層提取出所述圖像小數據集的第二特征圖;
串聯所述第一特征圖和所述第二特征圖,得出目標特征圖;
將所述目標特征圖輸入所述softmax分類器,運用所述批量梯度下降法,迭代更新所述殘差網絡層和所述多尺度池化層的所述參數,訓練得出所述圖像分類混合模型。
可選地,所述殘差網絡層的激活函數為maxout函數。
可選地,所述利用所述多尺度池化層提取出所述圖像小數據集的第二特征圖包括:
根據所述池化層的預設池化計算公式,提取所述圖像小數據集的所述第二特征圖;
所述預設池化計算公式具體為:輸入特征圖的size=r×s×m;每張輸出特征圖的size=r×s、
將
其中,[*]為向上取整;m為每個輸入層的特征圖個數;r×s為每個輸入特征圖的尺寸;
可選地,所述基于圖像大數據集,訓練alexnet模型結構包括:
獲取所述圖像大數據集;
將所述圖像大數據集輸入至所述alexnet模型結構,采用變化的dropout參數修剪所述alexnet模型結構的模型參數,訓練所述alexnet模型結構;
其中,所述dropout參數的更新公式為
此外,本發明還提供了一種圖像分類裝置,該裝置包括:
預訓練模塊,用于基于圖像大數據集,訓練alexnet模型結構,所述alexnet模型結構為包括依次相連的第一卷積層、第二卷積層、第三卷積層、第四卷積層、第五卷積層、第一全連接層、第二全連接層及softmax分類器的模型;
遷移模型構建模塊,用于將訓練好的所述第一卷積層、所述第二卷積層、所述第三卷積層、所述第四卷積層及所述第五卷積層遷移至小型數據庫構成底層特征提取層,并與包括兩層卷積層的殘差網絡層、多尺度池化層、特征層及所述softmax分類器構建得出遷移模型結構;
其中,所述多尺度池化層包括與所述第一卷積層相連的第一多尺度池化層、與所述第三卷積層相連的第二多尺度池化層及與所述第五卷積層相連的第三多尺度池化層;所述特征層為所述殘差網絡層提取的特征圖和所述多尺度池化層提取的特征圖串聯構成的特征層;
混合模型訓練模塊,用于將圖像小數據集輸入所述遷移模型結構,保持所述底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和所述多尺度池化層的參數,訓練得出圖像分類混合模型;
分類模塊,用于根據所述圖像分類混合模型,對待分類圖像小數據集進行分類,得出分類結果。
可選地,所述混合模型訓練模塊包括:
獲取單元,用于獲取所述圖像小數據集,將所述小數據集輸入所述遷移模型結構;
第一提取單元,用于利用所述底層特征提取層提取出所述圖像小數據集的初始特征;
特征訓練單元,用于利用所述殘差網絡層對所述初始特征進行訓練,得出第一特征圖;
第二提取單元,用于利用所述多尺度池化層提取出所述圖像小數據集的第二特征圖;
串聯單元,用于串聯所述第一特征圖和所述第二特征圖,得出目標特征圖;
參數更新訓練單元,用于將所述目標特征圖輸入所述softmax分類器,運用所述批量梯度下降法,迭代更新所述殘差網絡層和所述多尺度池化層的所述參數,訓練得出所述圖像分類混合模型。
可選地,所述殘差網絡層的激活函數為maxout函數。
可選地,所述第二提取單元包括:
池化提取子單元,用于根據所述池化層的預設池化計算公式,提取所述圖像小數據集的所述第二特征圖;
所述預設池化計算公式具體為:輸入特征圖的size=r×s×m;每張輸出特征圖的size=r×s、
將
其中,[*]為向上取整;m為每個輸入層的特征圖個數;r×s為每個輸入特征圖的尺寸;
可選地,所述預訓練模塊包括:
大數據集獲取單元,用于獲取所述圖像大數據集;
訓練單元,用于將所述圖像大數據集輸入至所述alexnet模型結構,采用變化的dropout參數修剪所述alexnet模型結構的模型參數,訓練所述alexnet模型結構;
其中,所述dropout參數的更新公式為
本發明實施例所提供的圖像分類方法及裝置,基于圖像大數據集,訓練alexnet模型結構;將訓練好的第一卷積層、第二卷積層、第三卷積層、第四卷積層及第五卷積層遷移至小型數據庫構成底層特征提取層,并與包括兩層卷積層的殘差網絡層、多尺度池化層、特征層及softmax分類器構建得出遷移模型結構;其中,多尺度池化層包括與第一卷積層相連的第一多尺度池化層、與第三卷積層相連的第二多尺度池化層及與第五卷積層相連的第三多尺度池化層;特征層為殘差網絡層提取的特征圖和多尺度池化層提取的特征圖串聯構成的特征層;將圖像小數據集輸入遷移模型結構,保持底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和多尺度池化層的參數,訓練得出圖像分類混合模型;根據圖像分類混合模型,對待分類圖像小數據集進行分類,得出分類結果。本申請通過將在大數據集上預訓練好的各卷積層遷移至小數據集,增加多尺度池化層,將殘差網絡層和多尺度池化層輸出的特征量串聯起來輸入至分類器中,可以增加特征量,同時緩解數據量少導致的過擬合問題;且通過基于卷積神經網絡和遷移學習訓練得出的混合模型可以使得有效地提高圖像分類準確率。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明實施例提供的圖像分類方法的一種具體實施方式的流程示意圖;
圖2為本發明實施例提供的大型數據庫訓練圖像分類模型結構示意圖;
圖3為本發明實施例提供的小數據集訓練模型結構示意圖;
圖4為本發明實施例提供的多尺度池化層結構示意圖;
圖5為本發明實施例提供的圖像分類裝置結構示意框圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
請參考圖1,圖1為本發明實施例提供的圖像分類方法的一種具體實施方式的流程示意圖,該方法包括以下步驟:
步驟101:基于圖像大數據集,訓練alexnet模型結構,所述alexnet模型結構為包括依次相連的第一卷積層、第二卷積層、第三卷積層、第四卷積層、第五卷積層、第一全連接層、第二全連接層及softmax分類器的模型。
具體地,預先設置圖像分類模型結構,然后將大型數據庫上的圖像大數據集輸入至alexnet模型結構,更新網絡參數,訓練alexnet模型結構。
上述alexnet模型結構可以具體參見圖2,圖2為本發明實施例提供的大型數據庫訓練圖像分類模型結構示意圖。
如圖2所示,圖中c1、c2、c3、c4、c5分別為第一卷積層、第二卷積層、第三卷積層、第四卷積層、第五卷積層,fc1、fc2分別為第一全連接層、第二全連接層。
將大數據集輸入至如圖2所示的圖像分類模型結構,可以更新各個卷積層的dropout參數,以減少模型訓練參數,訓練圖像分類模型結構。故作為一種具體實施方式,上述基于圖像大數據集,訓練alexnet模型結構的過程可以具體為:獲取所述圖像大數據集;將所述圖像大數據集輸入至所述alexnet模型結構,采用變化的dropout參數修剪所述alexnet模型結構的模型參數,訓練所述alexnet模型結構。
其中,上述dropout參數的更新公式為
可以看出,在原有alexnet模型結構的基礎上,在各個卷積層加入參數變化的dropout,且利用上述公式更新參數,減少了模型訓練參數,提高了模型訓練效率。
步驟102:將訓練好的所述第一卷積層、所述第二卷積層、所述第三卷積層、所述第四卷積層及所述第五卷積層遷移至小型數據庫構成底層特征提取層,并與包括兩層卷積層的殘差網絡層、多尺度池化層、特征層及所述softmax分類器構建得出遷移模型結構。
其中,所述多尺度池化層包括與所述第一卷積層相連的第一多尺度池化層、與所述第三卷積層相連的第二多尺度池化層及與所述第五卷積層相連的第三多尺度池化層;所述特征層為所述殘差網絡層提取的特征圖和所述多尺度池化層提取的特征圖串聯構成的特征層。
可以理解,將在大數據集上訓練好的五個卷積層遷移至小數據集,保持這五個卷積層內的參數不變,增加殘差網絡層、多尺度池化層、特征層、softmax分類器構建出新的訓練模型結構。
上述遷移模型結構可以具體為如圖3所示的訓練模型結構,圖3為本發明實施例提供的小數據集訓練模型結構示意圖。
如圖3所示,cov1、cov2、cov3、cov4、cov5分別為在大數據集上訓練好的第一卷積層、第二卷積層、第三卷積層、第四卷積層、第五卷積層,與cov5相連的兩個cov層為殘差網絡層,與cov1、cov3、cov5對應相連的pool1、pool2、pool3;三個多尺度池化層輸出的特征圖和殘差網絡層輸出的特征圖串聯成特征層,得出一幅目標特征圖后輸入至softmax分類器。
優選地,為了加快收斂效率,殘差網絡層的激活函數具體可以為maxout函數。當然,使用其它的激活函數也不影響本實施例的實現。
步驟103:將圖像小數據集輸入所述遷移模型結構,保持所述底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和所述多尺度池化層的參數,訓練得出圖像分類混合模型。
構建出新的遷移模型結構后,可以通過迭代更新該模型結構內的參數進行訓練。故作為一種具體實施方式,上述將圖像小數據集輸入所述遷移模型結構,保持所述底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和所述多尺度池化層的參數,訓練得出圖像分類混合模型的過程可以具體為:獲取所述圖像小數據集,將所述小數據集輸入所述遷移模型結構;利用所述底層特征提取層提取出所述圖像小數據集的初始特征;利用所述殘差網絡層對所述初始特征進行訓練,得出第一特征圖;利用所述多尺度池化層提取出所述圖像小數據集的第二特征圖;串聯所述第一特征圖和所述第二特征圖,得出目標特征圖;將所述目標特征圖輸入所述softmax分類器,運用所述批量梯度下降法,迭代更新所述殘差網絡層和所述多尺度池化層的所述參數,訓練得出所述圖像分類混合模型。
可以看出,迭代更新殘差網絡和多尺度池化層的參數,可以緩解因為數據少導致的訓練收斂慢的問題;且將殘差網絡層和多尺度池化層提取的特征maps串聯成一張目標特征圖后輸入至softmax中,可以特征訓練特征量,有效緩解數據量少導致的過擬合問題。
遷移模型結構中的多尺度池化層可以設置池化計算公式,對圖像小數據集進行最大值采樣,提取出所需特征分量。故具體地,上述利用所述多尺度池化層提取出所述圖像小數據集的第二特征圖的過程可以具體為:根據所述池化層的預設池化計算公式,提取所述圖像小數據集的所述第二特征圖。
可以將多尺度池化層設計為4種尺寸size和4種步長stride進行最大值采樣,siez大小分別可以為1、2、3、4,與size對應的stride分別可以為1、2、3、4。
上述預設池化計算公式具體為:輸入特征圖的size=r×s×m;每張輸出特征圖的size=r×s、
將
多尺度池化層的具體結構可以參見圖4,圖4為本發明實施例提供的多尺度池化層結構示意圖。具體介紹可以參數上文多尺度池化層的相關內容,在此不再贅述。
步驟104:根據所述圖像分類混合模型,對待分類圖像小數據集進行分類,得出分類結果。
本實施例所提供的圖像分類方法,基于圖像大數據集,訓練alexnet模型結構;將訓練好的第一卷積層、第二卷積層、第三卷積層、第四卷積層及第五卷積層遷移至小型數據庫構成底層特征提取層,并與包括兩層卷積層的殘差網絡層、多尺度池化層、特征層及softmax分類器構建得出遷移模型結構;其中,多尺度池化層包括與第一卷積層相連的第一多尺度池化層、與第三卷積層相連的第二多尺度池化層及與第五卷積層相連的第三多尺度池化層;特征層為殘差網絡層提取的特征圖和多尺度池化層提取的特征圖串聯構成的特征層;將圖像小數據集輸入遷移模型結構,保持底層特征提取層的參數不變,采用批量梯度下降法更新所述殘差網絡層和多尺度池化層的參數,訓練得出圖像分類混合模型;根據圖像分類混合模型,對待分類圖像小數據集進行分類,得出分類結果。通過將在大數據集上預訓練好的各卷積層遷移至小數據集,增加多尺度池化層,將殘差網絡層和多尺度池化層輸出的特征量串聯起來輸入至分類器中,可以增加特征量,同時緩解數據量少導致的過擬合問題;且通過基于卷積神經網絡和遷移學習訓練得出的混合模型可以使得有效地提高圖像分類準確率。
下面對本發明實施例提供的一種圖像分類裝置進行介紹,下文描述的一種圖像分類裝置與上文描述的一種圖像分類方法可相互對應參照。
請參考圖5,圖5為本發明實施例提供的圖像分類裝置結構示意框圖。該裝置可以包括:
預訓練模塊51,用于基于圖像大數據集,訓練alexnet模型結構,alexnet模型結構為包括依次相連的第一卷積層、第二卷積層、第三卷積層、第四卷積層、第五卷積層、第一全連接層、第二全連接層及softmax分類器的模型;
遷移模型構建模塊52,用于將訓練好的第一卷積層、第二卷積層、第三卷積層、第四卷積層及所述第五卷積層遷移至小型數據庫構成底層特征提取層,并與包括兩層卷積層的殘差網絡層、多尺度池化層、特征層及softmax分類器構建得出遷移模型結構;
其中,多尺度池化層包括與第一卷積層相連的第一多尺度池化層、與第三卷積層相連的第二多尺度池化層及與第五卷積層相連的第三多尺度池化層;特征層為殘差網絡層提取的特征圖和多尺度池化層提取的特征圖串聯構成的特征層;
混合模型訓練模塊53,用于將圖像小數據集輸入遷移模型結構,保持底層特征提取層的參數不變,采用批量梯度下降法更新殘差網絡層和多尺度池化層的參數,訓練得出圖像分類混合模型;
分類模塊54,用于根據圖像分類混合模型,對待分類圖像小數據集進行分類,得出分類結果。
作為一種具體實施方式,上述混合模型訓練模塊可以包括:
獲取單元,用于獲取圖像小數據集,將小數據集輸入遷移模型結構;
第一提取單元,用于利用底層特征提取層提取出圖像小數據集的初始特征;
特征訓練單元,用于利用殘差網絡層對初始特征進行訓練,得出第一特征圖;
第二提取單元,用于利用多尺度池化層提取出圖像小數據集的第二特征圖;
串聯單元,用于串聯第一特征圖和第二特征圖,得出目標特征圖;
參數更新訓練單元,用于將目標特征圖輸入softmax分類器,運用批量梯度下降法,迭代更新殘差網絡層和多尺度池化層的參數,訓練得出圖像分類混合模型。
作為一種具體實施方式,上述殘差網絡層的激活函數可以為maxout函數。
作為一種具體實施方式,上述第二提取單元可以包括:
池化提取子單元,用于根據池化層的預設池化計算公式,提取圖像小數據集的第二特征圖;
預設池化計算公式具體為:輸入特征圖的size=r×s×m;每張輸出特征圖的size=r×s、
將
其中,[*]為向上取整;m為每個輸入層的特征圖個數;r×s為每個輸入特征圖的尺寸;
作為一種具體實施方式,上述預訓練模塊可以包括:
大數據集獲取單元,用于獲取圖像大數據集;
訓練單元,用于將圖像大數據集輸入至alexnet模型結構,采用變化的dropout參數修剪alexnet模型結構的模型參數,訓練alexnet模型結構;
其中,dropout參數的更新公式為
本實施例所提供的圖像分類裝置,通過將在大數據集上預訓練好的各卷積層遷移至小數據集,增加多尺度池化層,將殘差網絡層和多尺度池化層輸出的特征量串聯起來輸入至分類器中,可以增加特征量,同時緩解數據量少導致的過擬合問題;且通過基于卷積神經網絡和遷移學習訓練得出的混合模型可以使得有效地提高圖像分類準確率。
說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。
以上對本發明所提供的圖像分類方法及裝置進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。