1.一種基于深度學(xué)習(xí)的雞蛋胚胎分類方法,其特征在于,該方法包括:
(1)采集5日胚胎圖像并按照正常胚、中止胚、無精胚分為三類樣本;
(2)對胚胎圖像預(yù)處理,提取圖像的ROI區(qū)域并將圖像大小歸一化;
(3)結(jié)合遷移學(xué)習(xí)的方法進(jìn)行訓(xùn)練,使用AlexNet經(jīng)典網(wǎng)絡(luò)針對ImageNet預(yù)訓(xùn)練的模型,對目標(biāo)集進(jìn)行微調(diào);
(4)利用訓(xùn)練好的模型對待測圖像進(jìn)行判別,并通過特征可視化觀察每一層特征學(xué)習(xí)的變化。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟(2)進(jìn)一步包括:二值化處理,選取閾值20對圖像進(jìn)行二值化處理;然后從二值圖像中檢索輪廓,遍歷輪廓中的每個點,提取圖像的ROI區(qū)域;對提取的ROI區(qū)域歸一化處理,將圖像歸一化到227*227大小,以便于作為后續(xù)CNN網(wǎng)絡(luò)的輸入。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟(3)中遷移學(xué)習(xí)的方法,使用該方法訓(xùn)練的步驟進(jìn)一步包括:利用Alexnet經(jīng)典網(wǎng)絡(luò),將在Image數(shù)據(jù)集上預(yù)訓(xùn)練得到的模型bvlc_reference_caffenet應(yīng)用在雞蛋胚胎分類任務(wù)中,該模型由5個卷積層、3個最大池化層和3個全連接層組成;激活函數(shù)采用relu函數(shù),還用到了局部響應(yīng)歸一化層LRN以及防止過擬合的dropout層。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟(3)中,卷積層與全連接層參數(shù)設(shè)計中,卷積層采用Alexnet網(wǎng)絡(luò)結(jié)構(gòu)中的卷積參數(shù)設(shè)計,卷積核的大小分別為11*11、5*5、3*3、3*3、3*3,輸出特征圖的個數(shù)分別為96、256、384、384、256,每一卷積層步長分別為4、1、1、1、1,卷積層分別采用″gaussian″和″constant″初始化權(quán)重和偏置;卷積層的計算公式如下所示:
其中,表示第1卷積層的第j個feature map,f(·)表示激活函數(shù),Mj表示輸入feature map的集合,k表示卷積核,b表示偏置項;Alexnet網(wǎng)絡(luò)三個全連接層輸出神經(jīng)元數(shù)分別為4096、4096、1000,其中Alexnet中最后一個全連接層神經(jīng)元數(shù)為1000的是輸出softmax的類別數(shù),利用預(yù)訓(xùn)練模型進(jìn)行微調(diào)時,需將該全連接層的名稱改為fc8_flickr,輸出個數(shù)改為目標(biāo)集的類別數(shù)3。
5.如權(quán)利要求3所述的方法,其特征在于,所述步驟(3)中,激活函數(shù)與dropout層設(shè)計步驟進(jìn)一步包括:激活函數(shù)選用PRelu函數(shù),PRelu函數(shù)相比較于Relu函數(shù),修正了數(shù)據(jù)分布,保留了負(fù)值,使負(fù)值不會完全丟失;PRelu像更新權(quán)重weights一樣使用反向傳播算法更新一個額外的參數(shù)a,但是相較于權(quán)重的數(shù)量來說,PRelu需要更新的參數(shù)總數(shù)可以忽略不計,所以不會加重overfitting的影響;PRelu的表達(dá)形式如下所示:
Dropout層按一定的概率隨機(jī)的屏蔽掉網(wǎng)絡(luò)的部分神經(jīng)元,阻止網(wǎng)絡(luò)過擬合;訓(xùn)練時,需設(shè)定一個dropout ratio=p,即每一個輸出節(jié)點以概率p置0,本文設(shè)置為0.25;計算dropout層輸出節(jié)點置零參數(shù)p表達(dá)式為:
其中U為Bernoulli隨機(jī)數(shù),p代表dropout ratio。
6.如權(quán)利要求3所述的方法,其特征在于,所述步驟(3)中,訓(xùn)練模型學(xué)習(xí)參數(shù)的設(shè)計步驟如下:CNN的訓(xùn)練過程包括前向傳播與反向傳播兩個過程,利用梯度下降法對權(quán)重和偏置進(jìn)行更新,公式如下:
其中,J(w,b)為單個樣本的代價函數(shù),α為學(xué)習(xí)速率;
采用caffe,框架提供的inv方式調(diào)整學(xué)習(xí)率,表達(dá)式如下:
lr=base_lr*(1+gamma*iter)∧(power)
其中,base_lr為基礎(chǔ)學(xué)習(xí)率,gamma為學(xué)習(xí)速率變化因子,iter為迭代次數(shù);
對于卷積層的局部學(xué)習(xí)率調(diào)整,所有卷積層的卷積核的局部學(xué)習(xí)率和權(quán)重衰減因子設(shè)置為1,即與全局學(xué)習(xí)率保持一致;偏置項的局部學(xué)習(xí)率為全局偏置學(xué)習(xí)率的2倍,權(quán)重衰減因子為0;而對于最后一層全連接層fc8_flickr,由于修改為自己對應(yīng)的數(shù)據(jù)類別,將優(yōu)先學(xué)習(xí)權(quán)給予fc8_flickr層,這里權(quán)重局部學(xué)習(xí)率設(shè)為全局的10倍,偏置局部學(xué)習(xí)率設(shè)置為全局的20倍,是為了在非微調(diào)層學(xué)習(xí)的更快;這種學(xué)習(xí)率倍數(shù)的設(shè)置方式既可以很好的對目標(biāo)集進(jìn)行微調(diào),又可以保留原模型的特性。
7.如權(quán)利要求1所述的方法,其特征在于,所述步驟(4)中,利用訓(xùn)練好的模型對待測圖像進(jìn)行判別以及特征可視化進(jìn)一步包括:直接使用ImageNet數(shù)據(jù)集已經(jīng)訓(xùn)練好的模型bvlc_reference_caffenet.caffemodel進(jìn)行微調(diào),然后對訓(xùn)練集繼續(xù)訓(xùn)練;最后得到針對于自己數(shù)據(jù)的模型,該模型對采集到的特征作可視化處理,最終正確率達(dá)到99%;對各中間輸出層進(jìn)行特征可視化,通過卷積層特征圖的輸出、全連接層輸出值與直方圖分布以及最后一層′prob′輸出更直觀的觀察卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練目標(biāo)集各層的特征學(xué)習(xí)的變化。