李慶旭, 王巧華, 2*, 馬美湖, 肖仕杰, 施 行
1. 華中農(nóng)業(yè)大學(xué)工學(xué)院, 湖北 武漢 430070 2. 農(nóng)業(yè)部長(zhǎng)江中下游農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室, 湖北 武漢 430070 3. 國(guó)家蛋品加工技術(shù)研發(fā)中心, 湖北 武漢 430070
我國(guó)是鴨蛋、 鴨肉消費(fèi)大國(guó), 而雛鴨孵化產(chǎn)業(yè)是鴨蛋、 鴨肉生產(chǎn)的重要保障。 在鴨蛋生產(chǎn)行業(yè)雌性的需求量更大; 而在肉鴨培育產(chǎn)業(yè)中, 雄性因其生長(zhǎng)速度快, 養(yǎng)殖行業(yè)更傾向于養(yǎng)殖雄性。 若能在鴨蛋孵化早期根據(jù)需求控制雌雄比例, 不僅可以降低孵化成本, 也可以極大地提高養(yǎng)殖行業(yè)的經(jīng)濟(jì)效益。 因此, 開(kāi)發(fā)一種高效、 無(wú)損的早期鴨胚胎性別檢測(cè)方法, 對(duì)于提升整個(gè)鴨養(yǎng)殖行業(yè)的經(jīng)濟(jì)效益具有重要意義。
在國(guó)內(nèi)外已有的文獻(xiàn)記載中, 大都針對(duì)雞蛋胚胎進(jìn)行雌雄鑒別研究, 主要研究手段有機(jī)器視覺(jué)、 光譜和破損檢測(cè)等。 唐劍林等[1]利用光照對(duì)孵化3 d的雞胚胎進(jìn)行性別鑒定, 發(fā)現(xiàn)雌性胚胎與雄性胚胎的血管分布有所區(qū)別。 祝志慧等[2]利用機(jī)器視覺(jué)技術(shù)根據(jù)孵化4 d雞胚的血線特征鑒別雌雄。 潘磊慶等[3]利用高光譜成像技術(shù)實(shí)現(xiàn)了對(duì)孵化10 d的雞胚性別的判別, 祝志慧等[4]利用紫外-可見(jiàn)光譜發(fā)現(xiàn)雞胚在孵化7 d時(shí)可以進(jìn)行雌雄判別。 以上為無(wú)損鑒別手段, Weiss-mann等[5]利用孵化9 d雞胚的尿囊液中的硫酸雌酮含量的差異進(jìn)行性別判定。 Turkyilmaz等[6]利用PCR 技術(shù)鑒別孵化5~7 d的雞胚性別。 此外, 通過(guò)微創(chuàng)手段采集雞胚的拉曼和熒光光譜也可以實(shí)現(xiàn)雞胚雌雄的檢測(cè)[7-8]。
雞蛋與鴨蛋相比, 飼養(yǎng)方式和孵化周期均有所區(qū)別, 有關(guān)雞胚性別研究對(duì)鴨種蛋具有一定借鑒意義。 縱觀以上前人研究, 發(fā)現(xiàn)有損檢測(cè)方式雖然檢測(cè)精度較高, 但耗時(shí)長(zhǎng)、 效率低下, 不適用于生產(chǎn)實(shí)際; 高光譜技術(shù)價(jià)格昂貴且效率低; 機(jī)器視覺(jué)技術(shù)雖然檢測(cè)效率較高, 但檢測(cè)精度低。 可見(jiàn)/近紅外光譜技術(shù)是一種高效、 快速的無(wú)損檢測(cè)方法, 目前廣泛應(yīng)用于農(nóng)產(chǎn)品的無(wú)損檢測(cè), 光源能夠透過(guò)鴨蛋的蛋殼被內(nèi)部物質(zhì)吸收, 可以將鴨蛋內(nèi)部信息反映在光譜圖上。 為此, 本文采用可見(jiàn)/近紅外光譜技術(shù)對(duì)孵化早期鴨胚進(jìn)行雌雄鑒別研究。
試驗(yàn)材料為新鮮生產(chǎn)的國(guó)紹一號(hào)麻鴨種蛋345枚, 產(chǎn)自江西上饒。 用酒精對(duì)種鴨蛋表面進(jìn)行擦拭消毒, 待鴨蛋晾干后進(jìn)行編號(hào)。
試驗(yàn)儀器包括可見(jiàn)/近紅外透射光譜采集系統(tǒng)和智能孵化箱。 可見(jiàn)/近紅外透射光譜采集系統(tǒng)如圖1所示, 由Maya2000Pro光纖光譜儀、 150 W光源(輸出波長(zhǎng)范圍為360~2 000 nm)、 暗箱、 聚焦透鏡、 84UV準(zhǔn)直透鏡、 計(jì)算機(jī)和玻璃光纖等組成。 采集的光譜波長(zhǎng)范圍為200~1 100 nm, 采樣間隔為0.5 nm。
圖1 光譜采集系統(tǒng)
1.2.1 光譜采集
將清洗消毒后的種鴨蛋置入智能孵化箱中孵化, 分別在孵化前以及入孵之后每間隔24 h采集一次光譜信息, 采集0~8 d共9 d的光譜信息。 利用可見(jiàn)/近紅外透射光譜信息采集系統(tǒng)對(duì)種鴨蛋進(jìn)行透射光譜采集, 采集光譜時(shí)將種蛋豎直放置, 鈍端向上。 由于孵化7d的種鴨蛋透射難度較大, 將光譜儀的采集積分時(shí)間設(shè)定為700 ms, 掃描次數(shù)設(shè)定為1。
1.2.2 雌雄胚胎人工判別
種鴨蛋在孵化過(guò)程中性腺開(kāi)始轉(zhuǎn)換為卵巢或睪丸, 在孵化后期可以通過(guò)睪丸和卵巢的形態(tài)進(jìn)行性別鑒定, 雌性胚胎的卵巢兩側(cè)發(fā)育不對(duì)稱, 而雄性胚胎的兩側(cè)睪丸則對(duì)稱發(fā)育[9]。 為獲得種鴨蛋的雌雄對(duì)比結(jié)果, 在種鴨蛋孵化20 d后將其破殼并對(duì)鴨胚胎進(jìn)行解剖處理, 人眼觀察其性別。 圖2為孵化20 d后的鴨胚胎解剖圖, 圖2(a)為雄性胚胎, 圖2(b)為雌性胚胎。
圖2 鴨胚胎解剖圖
為了避免隨機(jī)劃分樣本集帶來(lái)的樣本分布不均衡, 利用Kennard-Stone算法對(duì)樣本集進(jìn)行劃分。 將變量空間中相對(duì)歐幾里德距離相差較大的樣本選入訓(xùn)練集, 其余樣本選入開(kāi)發(fā)集[10], 其中開(kāi)發(fā)集和訓(xùn)練集的劃分比例為3∶7。 為了進(jìn)一步驗(yàn)證模型的性能, 從開(kāi)發(fā)集中隨機(jī)選出30%的樣本作為測(cè)試集。 本試驗(yàn)共345個(gè)樣本數(shù)據(jù), 按照上述方法劃分后, 訓(xùn)練集樣本個(gè)數(shù)為242(雌性119, 雄性123)、 開(kāi)發(fā)集為72(雌性36, 雄性36)、 測(cè)試集為31(雌性15, 雄性16)。
獲得的原始光譜數(shù)據(jù)如圖3, 由于光源的波長(zhǎng)范圍是360~2 000 nm, 所以光譜儀采集的200~360 nm之間的光譜信息是噪聲數(shù)據(jù), 需要去除。 此外由于溫度和操作環(huán)境等因素的影響, 導(dǎo)致360~500和900~1 100 nm波長(zhǎng)范圍內(nèi)光譜信息波動(dòng)較大, 含有大量的噪聲數(shù)據(jù), 若直接選用全光譜用于后續(xù)的分析與處理, 會(huì)導(dǎo)致模型不可靠, 泛化能力變差。 因此, 本文選用500~900 nm波長(zhǎng)范圍內(nèi)的光譜信息進(jìn)行相關(guān)分析。 截取后的譜區(qū)范圍如圖4所示。 考慮后續(xù)方便部署至生產(chǎn)實(shí)際, 不對(duì)光譜數(shù)據(jù)再進(jìn)行其他預(yù)處理, 直接對(duì)截取后的光譜數(shù)據(jù)進(jìn)行分析處理。
圖3 原始光譜圖
圖4 500~900 nm光譜圖
截取后的光譜數(shù)據(jù)高達(dá)908維, 一些波段之間依然存在著較強(qiáng)的相關(guān)性, 高維的光譜信息中包含了大量的冗余信息, 若直接使用高維光譜數(shù)據(jù)建立判別模型會(huì)導(dǎo)致模型出現(xiàn)過(guò)擬合現(xiàn)象。 此外在使用高維光譜數(shù)據(jù)建立機(jī)器學(xué)習(xí)或深度學(xué)習(xí)模型時(shí), 由于輸入信息過(guò)多會(huì)嚴(yán)重影響模型的訓(xùn)練速度, 而且訓(xùn)練得到的模型參數(shù)量過(guò)大, 不利于后續(xù)模型的部署。 為此, 本文使用CARS算法、 SPA算法和GA算法分別對(duì)截取后的光譜數(shù)據(jù)進(jìn)行特征波長(zhǎng)選擇, 找出能夠區(qū)分雌性鴨胚和雄性鴨胚的波長(zhǎng)點(diǎn)集。
(1)競(jìng)爭(zhēng)性自適應(yīng)重加權(quán)(CARS)算法是一種利用自適應(yīng)重加權(quán)采樣方法篩選PLS模型中回歸系數(shù)絕對(duì)值相對(duì)較大的波長(zhǎng)點(diǎn), 剔除權(quán)重比較小的波長(zhǎng)點(diǎn), 通過(guò)交叉驗(yàn)證方法選擇出RMSECV值最低的子集, 可以有效地找出變量的最佳組合。 使用CARS對(duì)截取噪聲后的訓(xùn)練集光譜數(shù)據(jù)進(jìn)行特征波長(zhǎng)選擇, 選取孵化7d的鴨胚雌雄信息預(yù)測(cè)的最優(yōu)波長(zhǎng)點(diǎn)集過(guò)程如下: 經(jīng)反復(fù)對(duì)比, 本研究把蒙特卡羅采樣次數(shù)設(shè)置為100, 使用10折交叉驗(yàn)證。 由圖5(a)可以看出, 隨著取樣操作次數(shù)的增加, 選取的特征波長(zhǎng)點(diǎn)的數(shù)目逐步減少 。 從圖5(b)可知, RMSECV值首先變化平緩, 然后遞減, 最后再遞增, 當(dāng)RMSECV值減小時(shí)說(shuō)明光譜數(shù)據(jù)中的一些無(wú)用的信息被剔除, 當(dāng)RMSECV值遞增時(shí)說(shuō)明光譜數(shù)據(jù)中一些重要信息被剔除。 當(dāng)RMSECV值達(dá)到最小時(shí), 各變量的回歸系數(shù)如圖5(c)中的豎線處, 采樣運(yùn)行次數(shù)為75, CARS選取的最優(yōu)波長(zhǎng)點(diǎn)數(shù)為11個(gè)。
圖5 (a)取樣變量數(shù); (b)RMSECV; (c)回歸系數(shù)路徑
(2)連續(xù)投影算法( SPA) 是使向量空間共線性最小化的前向變量選擇算法, 可以消除高維光譜數(shù)據(jù)中的冗余信息, 可解決共線性問(wèn)題。 SPA用于選取截取后的訓(xùn)練集光譜數(shù)據(jù)的特征波長(zhǎng)點(diǎn)時(shí), 根據(jù)SPA的原理可知, 利用均方根誤差(RMSE)最小化原則選出均方根誤差的導(dǎo)數(shù)變小的過(guò)渡點(diǎn), 在過(guò)渡點(diǎn)之前冗余信息被剔除。 SPA選取孵化7 d的鴨胚雌雄信息預(yù)測(cè)最優(yōu)波長(zhǎng)點(diǎn)集如圖6所示, SPA選取的特征波長(zhǎng)個(gè)數(shù)為10, 均分布在可見(jiàn)光范圍內(nèi)。
圖6 (a)RMSE; (b)選取的最優(yōu)波長(zhǎng)編號(hào)索引
(3)遺傳算法(GA)模仿生物界進(jìn)化遺傳機(jī)制, 利用選擇、 交叉與變異進(jìn)行編碼, 并通過(guò)不斷地迭代去逼近全局最優(yōu)解[11]。 本試驗(yàn)運(yùn)用GA算法進(jìn)行特征波長(zhǎng)選取時(shí), 設(shè)定初始群體數(shù)量為80、 交叉率為0.5、 變異率為 0.01、 迭代次數(shù)為100。 以最小的RMSECV值為標(biāo)準(zhǔn), 挑選出在迭代過(guò)程中出現(xiàn)頻率較多的波長(zhǎng)點(diǎn)為特征波長(zhǎng)點(diǎn), 如圖7所示, 最后選取了分布在可見(jiàn)光與近紅外波段的30個(gè)特征波長(zhǎng)點(diǎn)。
圖7 (a)GA篩選圖; (b)RMSECV變化圖
卷積神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于圖像識(shí)別與檢測(cè), 處理分類問(wèn)題時(shí)具有獨(dú)特的優(yōu)勢(shì)。 高維光譜信息經(jīng)過(guò)特征波長(zhǎng)提取后, 均降到較低維度。 降維后的光譜信息為1×n的一維光譜矩陣(n表示特征波長(zhǎng)點(diǎn)數(shù)), 為了方便將光譜數(shù)據(jù)傳遞給卷積神經(jīng)網(wǎng)絡(luò), 本文將一維光譜信息轉(zhuǎn)換為二維光譜信息矩陣[12], 轉(zhuǎn)換公式如式(1)。 二維光譜信息矩陣不僅包含了一維光譜數(shù)據(jù)中的原有信息, 還體現(xiàn)了樣本的方差和協(xié)方差, 同時(shí)能夠適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。
S=XTX
(1)
式(1)中,X代表一維光譜數(shù)據(jù),XT為一維光譜數(shù)據(jù)的轉(zhuǎn)置。 以SPA提取特征波長(zhǎng)后的光譜信息為例, 單個(gè)鴨胚樣本的一維光譜數(shù)據(jù)為x=[x1,x2,…,x10], 二維光譜信息矩陣如式(2)
(2)
使用GA, CARS和SPA提取特征波長(zhǎng)轉(zhuǎn)換的二維光譜信息矩陣, 尺寸較小, GA為30×30、 SPA為10×10、 CARS為11×11。 若搭建的卷積神經(jīng)網(wǎng)絡(luò)層數(shù)過(guò)多會(huì)導(dǎo)致網(wǎng)絡(luò)出現(xiàn)過(guò)擬合現(xiàn)象, 模型的泛化能力變差。 考慮到孵化7d鴨胚二維光譜信息矩陣的特點(diǎn), 經(jīng)反復(fù)嘗試, 搭建了層數(shù)為6的卷積神經(jīng)網(wǎng)絡(luò), 包括輸入層(Inputs)、 3個(gè)卷積層(conv1, conv2, conv3)、 全連接層(FC)以及輸出層(Output), 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖8所示, 具體實(shí)現(xiàn)過(guò)程如下(以GA提取的孵化7d鴨胚光譜信息特征波長(zhǎng)為例, 其他的與之結(jié)構(gòu)相同):
圖8 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(1)輸入層(Inputs): 將GA提取的孵化7 d鴨胚光譜信息特征波長(zhǎng)使用式(1)轉(zhuǎn)為二維光譜信息矩陣作為卷積神經(jīng)網(wǎng)絡(luò)的輸入, 輸入層尺寸為30×30×1;
(2)卷積層1(conv1): 卷積核尺寸設(shè)置為3×3, 卷積核的個(gè)數(shù)設(shè)定為64, 步長(zhǎng)設(shè)置成1。 輸入層經(jīng)過(guò)卷積操作后使用ReLU函數(shù)進(jìn)行激活, 為了提高模型的性能, 在ReLU激活后的光譜特征矩陣進(jìn)行局部響應(yīng)歸一化(LRN)操作, 經(jīng)過(guò)卷積操作后的特征矩陣尺寸為30×30×64輸出至pool1;
(3)池化層1(pool1): 將池化核的大小設(shè)置為2, 池化處理后的特征矩陣大小為15×15×64, 輸出至conv2;
(4)卷積層2(conv2): 卷積核的尺寸為1×1, 卷積核的數(shù)量為192, 步長(zhǎng)設(shè)置為1。 pool1的輸出經(jīng)過(guò)卷積操作后, 再進(jìn)行LRN操作和ReLU激活, 特征矩陣大小為8×8×192, 輸出至conv3;
(5)卷積層3(conv3): 卷積核尺寸為1×1, 卷積核個(gè)數(shù)為384, 步長(zhǎng)為1。 conv2的輸出經(jīng)過(guò)卷積后, 加入ReLU和LRN操作后輸出尺寸為8×8×384, 輸出至FC;
(6)全連接層(FC): 全連接層中的神經(jīng)元數(shù)目設(shè)置512個(gè), 卷積層3輸出的光譜特征矩陣被轉(zhuǎn)化成1×24 576的數(shù)據(jù), 輸入給512個(gè)全連接的神經(jīng)元, 然后輸出512個(gè)權(quán)值, 為了防止模型出現(xiàn)過(guò)擬合現(xiàn)象, 在輸出之前通過(guò)dropout層隨機(jī)地失活一些神經(jīng)元。
(7)輸出層(Output): 將全連接層的512個(gè)權(quán)值經(jīng)過(guò)softmax函數(shù)分別得到雌性胚胎和雄性胚胎的得分系數(shù)。
本試驗(yàn)利用采集得到的345個(gè)孵化7 d的鴨胚光譜數(shù)據(jù)對(duì)搭建好的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。 卷積神經(jīng)網(wǎng)絡(luò)往往需要大量的訓(xùn)練數(shù)據(jù)才能取得較理想的訓(xùn)練結(jié)果, 本文利用光譜對(duì)孵化7 d的鴨胚進(jìn)行雌雄二分類, 采集得到的分類樣本數(shù)量已經(jīng)足夠。 在訓(xùn)練過(guò)程中, 利用Adam優(yōu)化器尋找最優(yōu)的梯度下降方向, 可以加快模型的收斂。 均值平方差被用作損失(loss)函數(shù)來(lái)計(jì)算預(yù)測(cè)值與實(shí)際值之間的差值。 初始學(xué)習(xí)率(LearningRate)設(shè)為10-4, 每次選取4個(gè)樣本訓(xùn)練(BatchSize=4), dropout參數(shù)設(shè)置為0.5, 當(dāng)?shù)螖?shù)達(dá)到20 000后終止訓(xùn)練。 訓(xùn)練過(guò)程中的損失函數(shù)變化如圖9, 可以發(fā)現(xiàn)SPA選取的特征波長(zhǎng)分類損失loss在訓(xùn)練的前5 000次一直處于快速下降狀態(tài), 迭代到9 000次后loss一直維持在較低水平, 說(shuō)明模型達(dá)到收斂。 CARS和GA選取的特征波長(zhǎng)訓(xùn)練過(guò)程中l(wèi)oss值也為先快速下降后維持在較低水平, 但最終的損失值均比SPA選取的特征波長(zhǎng)高。 從三者的loss曲線變化情況可以發(fā)現(xiàn), 模型均未出現(xiàn)欠擬合現(xiàn)象。
圖9 損失函數(shù)變化曲線
在模型訓(xùn)練20 000次后對(duì)其進(jìn)行保存, 后將訓(xùn)練集, 開(kāi)發(fā)集與測(cè)試集共345個(gè)鴨胚樣本的二維光譜信息矩陣傳遞給訓(xùn)練好的模型對(duì)其性能進(jìn)行驗(yàn)證。 測(cè)試結(jié)果如表1所示, 其中SPA提取的特征波長(zhǎng)轉(zhuǎn)換為二維信息矩陣后, 使用搭建的6層卷積神經(jīng)網(wǎng)絡(luò)建立的孵化早期種鴨蛋雌雄信息判別模型性能最佳, 在測(cè)試集中的性能與訓(xùn)練集的性能相當(dāng), 這表明模型并不存在過(guò)擬合或欠擬合。 GA提取的特征波長(zhǎng)轉(zhuǎn)換為二維信息矩陣后建立的卷積神經(jīng)網(wǎng)絡(luò)性能次之, CARS提取的特征波長(zhǎng)建立的卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集上的表現(xiàn)明顯高于測(cè)試集, 出現(xiàn)了輕微的過(guò)擬合現(xiàn)象。
表1 模型測(cè)試結(jié)果
以孵化7 d的種鴨蛋為研究對(duì)象, 利用可見(jiàn)/近紅外透射光譜與卷積神經(jīng)網(wǎng)絡(luò)的技術(shù)手段探究了孵化早期鴨胚性別無(wú)損鑒別技術(shù), 得到如下結(jié)論:
(1)通過(guò)對(duì)孵化7 d的鴨胚透射光譜信息的分析, 發(fā)現(xiàn)其有效信息集中在500~900 nm的波長(zhǎng)范圍內(nèi); 考慮后續(xù)將其應(yīng)用于生產(chǎn)實(shí)際, 不再對(duì)其作其他預(yù)處理, 直接利用SPA, CARS與GA三種常用的特征波長(zhǎng)選取算法, 將選定的特征波長(zhǎng)點(diǎn)集轉(zhuǎn)換成二維光譜信息矩陣, 利用卷積神經(jīng)網(wǎng)絡(luò)搭建判別模型, 不僅實(shí)現(xiàn)了光譜數(shù)據(jù)維數(shù)的降低, 避免了因?yàn)榫S度災(zāi)難而需要大量的實(shí)驗(yàn)樣本, 同時(shí)適用于卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練;
(2)利用SPA選擇特征波長(zhǎng)點(diǎn)集后并將其轉(zhuǎn)換為二維光譜信息矩陣建立的卷積神經(jīng)網(wǎng)絡(luò)判別模型效果最好, 訓(xùn)練集、 開(kāi)發(fā)集和測(cè)試集的準(zhǔn)確率分為達(dá)到93.36%, 93.12%和93.83%; 說(shuō)明用可見(jiàn)/近紅外透射光譜結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對(duì)孵化早期種鴨蛋性別信息的無(wú)損檢測(cè)具有可行性, 能夠滿足實(shí)際生產(chǎn)的精度要求, 為相應(yīng)檢測(cè)裝置的研發(fā)提供模型支撐;
(3)本文使用傳統(tǒng)的光譜處理手段后, 將光譜信息轉(zhuǎn)換為二維光譜信息矩陣, 為卷積神經(jīng)網(wǎng)絡(luò)和光譜信息找到了結(jié)合點(diǎn)。