佟明斯,黃 港,雷冬旭,張格非,莊松霖,高會軍
(哈爾濱工業大學 航天學院,哈爾濱 150001)
斑馬魚是一種基因序列與人類具有較高的相似性的有脊椎模式動物[1],其幼魚具有透明表皮,能夠直接觀察內臟器官的發育以及血液循環系統的運行情況(如圖1所示[2]),是生物醫學領域的重要實驗對象[3].2019年,伯爾尼大學揭示了斑馬魚幼魚心臟組織自我再生能力的機理,引發了國際上對斑馬魚幼魚心血管系統的廣泛研究[4].對幼魚心臟的識別與監測對于理解其發育機理[5]、藥物影響[6]、組織再生[7]等過程至關重要.但是,由于斑馬魚幼魚體長僅有3 mm左右,其內部器官細小、各異性、色素血管等的干擾,以往的人工觀察手段在準確性和效率上都有很大不足.如對于幼魚心臟觀測來說,幼魚需要處于特定姿態(如側躺)才能夠使心臟暴露在顯微鏡視野下方,其心臟直徑約為100 μm,對于人工和常規的顯微操作系統來說存在較大困難.
針對上述問題,本文基于已搭建的斑馬魚幼魚顯微注射平臺[8]開展斑馬魚幼魚心臟識別和監測方法的研究.該方法在多條幼魚放入平臺托盤后,利用顯微鏡獲取幼魚在托盤中的分布圖像,并基于高斯混合模型對幼魚進行分割、定位;利用卷積神經網絡對幼魚的姿態進行識別,并通過帶有吸持針的滾轉機械臂將幼魚滾轉角調整至統一姿態;逐一對幼魚進行高倍率顯微觀察,得到幼魚心臟圖像,并通過像素強度跟蹤算法,獲取并監測幼魚心率.該方法能實現高通量的斑馬魚幼魚心臟進行準確識別和在線檢測,能夠幫助生物實驗人員快速獲得實驗數據,提高研究效率和水平.

圖1 48~72 hpf斑馬魚幼魚形態示例
本文基于圖2展示的斑馬魚幼魚顯微操作系統[9].該系統以電動體式顯微鏡(Nikon-SMZ25)為基礎,頂部CMOS相機最大幀率為60幀/s.底座改裝為帶有旋轉托盤和三自由度機械臂的機械平臺,機械臂末端連接帶有旋轉功能的玻璃吸持針用于幼魚姿態控制.該圖像處理及控制軟件在VS2010上采用MFC編寫.

圖2 斑馬魚顯微操作系統
在觀察實驗開始,多條經MS-222(質量分數為0.003%)麻醉后的年齡范圍為48~120 hpf的幼魚被一次性放入托盤中,并使用低倍放大倍率進行圖像采集.為利用高倍率物鏡對每只幼魚進行心臟監測,需要對圖像中的幼魚進行分割定位,并進行姿態調整到易于觀測的位置.本文基于高斯混合模型[10],實現對多條幼魚進行分割定位.幼魚本身具有較為明顯的身體特征,例如眼睛和魚鰾等具有較深的顏色信息,因此利用二值化方法,可以將其從背景中分割出來,如圖3(b)所示.
為了能確定每個像素點所屬的斑馬魚幼魚以及獲得斑馬魚幼魚的位置,將經二值化后的像素點看作X∈Nn×2的數據集,使用高斯混合模型分類.對于含有K類的高斯混合模型,對每一類的參數采用EM算法進行迭代計算:


由于幼魚雙眼和魚鰾處顏色較深,因此能定位到該位置即能成功找到幼魚.在穩定的光線條件下,雙眼和魚鰾處與背景對比度高,因此該方法能夠準確實現幼魚的分割及定位.

圖3 斑馬魚幼魚分割定位
對于麻醉后的斑馬魚幼魚,其在水中的自然姿態大部分為側躺姿態,因此心臟能夠進入顯微鏡視野,但是也有部分幼魚姿態會出現魚肚朝下或朝上的異常姿態(如圖3(a)中箭頭標識).為便于后續對心臟的觀測,需要調整斑馬魚姿態使心臟成像清晰完整.本系統利用旋轉托盤和吸持機械臂實現幼魚姿態調整.在這一過程中,首先根據上一步確定的幼魚位置時獲得的高斯模型參數,對待觀測的幼魚,根據其高斯模型的協方差估計其當前二維姿態.

則目標為所求方向向量v使Σpro最大.由于Σ為Hermitian矩陣,且vTv=1,則vTΣv為瑞利熵.由其性質可知,當瑞利熵取最大值時,v為Σ最大特征值對應的特征向量.因此根據每個樣本協方差矩陣Σk的特征向量能夠獲得每條斑馬魚幼魚二維姿態vk.為了使吸持機械臂能夠捕捉到幼魚尾部,因此將所求高斯模型的協方差求取其最大特征值所對應的特征向量作為幼魚方向,例如圖3(a)中,所得各個幼魚的方向如圖4(d)所示.定義所得到的高斯模型的均值點與尾部端點的連線代表尾部的朝向,其與協方差求得的方向之差代表旋轉的誤差.經實驗測試,該方法所得誤差分布在±10°之間,不影響對斑馬魚尾部的吸持.
獲取二維姿態后由上位機旋轉托盤,轉到尾部朝向旋轉機械臂的位置,定位針尖位置并移動旋轉機械臂,吸住斑馬魚幼魚尾部,將幼魚調整二維位置至視野中心,進行滾轉角調整[11].
在吸住尾部后,需要對幼魚的滾轉角進行調整,以使心臟處于最佳觀測位置.本文搭建了卷積神經網絡對幼魚當前角度進行估計,并控制滾轉軸對幼魚進行調整.
在卷積神經網絡的搭建過程中,最重要的一步是樣本集的設計與建立.結合系統中對滾轉角判斷的需要,存在兩種可用的樣本集標注方式,分別為直接角度標注和區域分類標注.直接角度標注是指對應每一幅樣本圖片,其對應的標簽為視野中的幼魚相對于某一基準的偏離角度;而區域分類標注則是指當幼魚的滾轉角處于某一有利于心臟觀測的姿態時(如幼魚側放且心臟朝向水平向右),標記為合格樣本,其余姿態為不合格樣本.由于在單目視覺條件下,難以對精確角度進行測量,因此選用第2種標注方法.相比之下這種方法具有以下優點:1)由于在標注過程中姿態判斷是基于人工主觀標記,因此標簽集中對于角度限制較為寬松,對于姿態調整降低了要求,同時簡化了標簽集的制作工作. 2)卷積神經網絡在解決分類問題時能夠對人工判斷經驗進行學習,使分類結果得更為穩定,因此使用判斷角度范圍會增加系統的魯棒性能.使用該方法的不同姿態所對應的標簽如圖4所示.

圖4 不同斑馬魚幼魚的姿態及對應標簽
網絡搭建從淺層卷積神經網絡開始,逐漸增加網絡層數,通過實驗結果來確定最佳的網絡結構.經過測試,網絡中采用3×3的卷積核時能夠取得比較理想的訓練效果.為了盡可能降低運算復雜程度,同時避免優化過程中的梯度爆炸與梯度消失問題,激活函數選取ReLU函數[12].在優化方法的選擇上,Adam方法收斂速度相對較快,能夠縮短訓練時間[13].由于所選取的網絡層數較深,為降低過擬合風險,網絡內部加入了dropout和池化層[14].最終的預測數據通過全連接層輸出,得到的結果即為幼魚正放的概率.首先需將輸入圖片尺寸壓縮為218×174,整個網絡包含輸入層、4層卷積層、3層池化層和1層全連接層,結構如圖5所示.訓練集由50條處于1~5 dpf內不同年齡段的幼魚組成.每條幼魚以1°為步長旋轉360°,當幼魚處于人工判別為可觀測心臟的角度范圍內時,對應標簽記為1,其余狀態記為0.在訓練過程中,當精度達到99%時認為算法收斂,訓練停止.按照相同的方法,將另外10條幼魚的數據作為測試集輸入網絡.訓練過程在迭代15次后結束,測試結果準確度約為99.4%.

圖5 滾轉角檢測的卷積神經網絡結構
在對目標幼魚進行滾轉調整時,首先使用旋轉機械臂吸住幼魚尾部旋轉1周,并以1°為步長,采集360張樣本圖,將這些圖放入訓練好的模型進行樣本圖片的預測,記錄其最佳角度的概率值,做為該張圖片處在最適合注射的空間位置,控制機械臂反向旋轉,使幼魚旋轉到上述所對應的空間角度,即為目標滾轉角.
本文采用峰值旁瓣比(PSR)指標[15]對預測斑馬魚最佳觀測姿態的卷積神經網絡進行評估.對于預測斑馬魚最佳姿態,輸出值的波峰出現在幼魚心臟處于右側時.隨著幼魚滾轉,輸出值逐漸減小.假設選擇波峰窗口為30°,則PSR的計算方法為:幼魚滾轉1周的波峰/除去幼魚心臟恰好處于右側±15°后的波峰.當所得PSR越大時,代表算法越穩定.本文對多條幼魚翻滾滾轉1周進行試驗,并由此計算PSR,其大小為70%,因此該算法穩定.
在對幼魚姿態進行調整后,切換顯微鏡放大倍率,將相機的圖像采樣頻率設定為50幀/s,對單個幼魚心臟進行觀察.由于存在環境噪聲以及幼魚新陳代謝活動對心臟監測算法的干擾和影響,需要首先對幼魚的心臟進行識別和定位.斑馬魚幼魚血細胞會集中在心臟位置且在顯微鏡下呈紅色,并且在相同成像條件下相同品系和年齡的幼魚成像效果是近似的,因此可以將包含幼魚的RGB圖像轉化到HSV空間,再提取圖像中明度較高的紅色區域,根據實驗測試,本文取-30°

圖6 心臟區域的提取
由于心臟定位的算法根據心臟顏色特征進行識別定位,因此該方法較容易受身體部位色素覆蓋了心臟的顏色特征的影響,使得所定位面積比心臟真實區域小.對此本文是根據所求得的心臟區域的重心作為一個矩形中心,在矩形中進一步進行心率識別.雖然該方法會引入部分噪聲,但對后續影響較小.
在定位到心臟區域后,通過如下的像素強度跟蹤算法來實現心率的檢測.其以圖像差分為基本方法.但是由于水流等因素的影響,幼魚整體可能存在緩慢的漂移,這會導致在差分圖像中始終存在噪聲,為接下來的心跳檢測帶來了不確定性.為了抑制噪聲,首先對原始圖像中的心臟區域進行高斯濾波.但是常規的相鄰幀差分方法以及相對固定幀差分均無法較好地反映檢測心臟的運動變化,因此本文將上一步中得到的HR區域灰度化并取每個像素在超過一個心跳周期的時間中取到的最大值,以此作為差分法的參考圖像.得到的心臟區域內一個心跳周期內的強度變化如圖7所示.

圖7 一個心跳周期內心臟區域像素強度變化
Fig.7 Changes of pixel intensity of heart region in a heartbeat cycle
從圖7中可以觀察到,心臟區域內強度變化的重心位置隨著血液在心室心房中的流動而變化,因此可通過跟蹤像素強度變化的重心位置實現對心跳的監測,其計算方式如下:


圖8(a)為采用上述像素強度跟蹤方法對3條

圖8 不同幼魚在一段時間內的心臟監測
不同幼魚進行的心跳監測結果.圖中曲線由心臟的重心隨時間而發生的位移構成.通過人工逐幀對幼魚心臟血液變化進行判斷,并與算法結果進行比較,兩者差距一般在20 μm內,能夠反映心臟的跳動規律,其波動曲線能夠幫助對幼魚生理狀態進行研究.圖中紅色星號為心率周期標記,可以得到3條幼魚的心率曲線,如圖8(b)所示,可以看出每條幼魚自身的心率變化都圍繞著150次/min變化,與文獻[16]中的研究結果相吻合.
1)本文基于高斯混合模型確定多條斑馬魚幼魚的二維姿態和在視野中的位置,基于卷積神經網絡確定幼魚翻滾角,以此實現了幼魚的位姿檢測和調整控制.
2)根據斑馬魚幼魚心臟的特點,提出了一種基于像素強度跟蹤的周期性運動目標識別方法,能夠定位心臟區域,并實現心跳曲線的高效監測.
3)本文基于顯微視覺實現了高通量的斑馬魚幼魚心臟識別和監測方法,該方法無需植入電極或注射熒光物質,能夠保證幼魚在最小損傷及改造的條件下監測幼魚狀態.為有脊椎動物的遺傳、發育、組織重生的研究提供了一種新穎的高通量手段,同時也為提高心臟類藥物的研發和測試效率提供參考.