柯森繁 高 柱 劉國勇 王繼保 劉德富, 石小濤 朱海峰 林晨宇
( 1. 三峽大學,三峽庫區生態環境教育部工程研究中心,宜昌 443002; 2. 湖北工業大學資源與環境學院,武漢 430068)
基于Matlab的魚類游泳動力學分析
柯森繁1高柱1劉國勇1王繼保1劉德富1,2石小濤1朱海峰1林晨宇1
( 1. 三峽大學,三峽庫區生態環境教育部工程研究中心,宜昌 443002; 2. 湖北工業大學資源與環境學院,武漢 430068)
魚類游泳動力學分析研究對解決魚道等工程應用中水力學設計方面的關鍵問題有著重要的意義,利用計算機技術對魚類游泳動力學進行分析有助于研究目標魚類的生理特性、游泳能力及其與水力環境因子的響應關系。基于MATLAB軟件對我國特有魚類鰱幼魚進行游泳動力學分析,借助鰱幼魚游泳時的擺尾行為,得到不同水流速度下鰱幼魚的擺尾頻率、擺尾幅度、游泳速度和加速度; 對比人工計數和手動跟蹤分析方法,從實際操作復雜程度和實驗數據準確性的角度,分析各數據采集方法的優劣性。結果表明基于Matlab軟件采用跟蹤魚的身體中線的思路能更高效的獲取大量的運動參數,比如擺尾頻率、擺尾幅度、游泳速度和加速度等指標。文章介紹了一種基于Matlab開發的魚類游泳動力學分析方法,有助于為以后魚類游泳動力學研究提供依據。
魚類游泳行為;擺尾行為;游泳速度;視頻分析;計算機科學
水利工程的建設及運行對社會的發展做出了巨大貢獻,但同時也給生態環境造成了不可避免的影響。就魚類而言,大壩等攔河建筑物阻斷了魚類的洄游通道,導致魚類資源大幅度減少。水電工程背景下的魚類行為學研究重要性日益凸顯。結合水工建筑物如魚道的水力學設計特征,利用計算機軟件對魚類行為進行分析,找到魚類行為與水力因子的響應關系,是解決魚道等工程應用中水力學設計方面的關鍵節點。胡運燊等[1]利用FishXing 軟件對鰱幼魚通過水流速度障礙進行模擬; Sanagiotto等[2]采用ADV對魚道的流場、紊動能的等值線圖、紊動強度、雷諾應力的試驗結果進行分析,得出流場特性研究有助于分析不同紊動強度對魚類的生物學響應。Goettel等[3]通過在一個寬淺的水槽中增減壁面處障礙物的厚度,來改變水槽中的水流流態,將不同的水流因子分布場與視頻錄像中的魚類軌跡疊加,討論了魚類對水流因子的行為響應。在各項研究中,魚類游泳動力學參數是重要的基礎數據。
魚類游泳時的擺尾頻率和幅度是魚類游泳動力學分析中的重要指標。針對擺尾頻率和擺尾幅度的計算目前主要采用的方法包括視頻軟件分析,跟蹤定位以及人工計數等方法[4,5]。不同方法各有利弊,其中通過計算機軟件進行視頻分析是一種較高效的方法,在動物行為學研究中發揮著重要的作用。但是目前的行為學軟件暫不能高效獲取魚類行為學指標,尤其是擺尾頻率和擺尾幅度。例如LoggerPro,Swistrack行為學軟件。因此行為學分析方法還需進一步探究。基于Matlab條件下的魚類游泳動力學身體跟蹤程序(簡稱Fish Trajectory),主要采用跟蹤魚的身體中線的思路,高效獲取魚類在游泳過程中的擺尾頻率、擺尾幅度、速度和加速度等數據。本文借助鰱幼魚游泳時的擺尾行為,擬比較Fish Trajectory與其他幾種方法在分析擺尾頻率、擺尾幅度、游泳速度和加速度時的優劣性。
1.1試驗材料及暫養
試驗用的白鰱(Hypophthalmichthys molitrix)均由湖北宜都漁場提供。試驗用魚通過充氧水包運至三峽大學生態水工實驗室,暫養3d后進行試驗。暫養期間水溫控制在(20.0±1.0)℃,24h持續充氧。每2天換暫養水的30%,每天吸糞便、殘渣1次,正式試驗前禁食24h,試驗水溫(20.0±2.0)℃。溶解氧保持在6.0 mg/L左右。
1.2試驗方法
實驗使用的是長×寬×高為111 cm×22 cm×22 cm的封閉水槽。試驗魚選擇鰱幼魚叉長為(9.2±0.8) cm。將試驗魚放置試驗水槽適應區,適應30min后進行試驗。試驗分三組,分別在水流速度為19.13、32.18和45.97 cm/s進行試驗,每組十條,每一條魚錄制視頻2h,白天采用自然光,晚上使用紅外光。試驗裝置的頂部放置紅外攝像頭記錄試驗魚的游泳行為。攝像頭采用的是型號為HB771S的漢邦高科高清紅外槍型網絡攝像機,它能根據需要調整攝像機的幀率,從而更好的觀察魚的游泳行為。試驗裝置如圖1所示。試驗進行過程中,用遮光布將試驗水槽四周圍住,避免外界光的干擾; 禁止在試驗水槽周圍活動,避免聲音的干擾。使用攝像頭進行錄像,每條魚選擇5個1min視頻片段,分別采用人工計數、手動跟蹤、視頻跟蹤和Fish Trajectory程序方法采集鰱幼魚游泳過程中的速度、加速度、擺尾頻率和振幅,并比較各數據采集方法的優劣性。人工計數方法是將拍攝的實驗視頻導入到專業的視頻播放軟件中,通過逐幀圖像回放,對目標魚類進行人眼觀察計數,獲得魚游泳動力學數據; 手動跟蹤是將拍攝的實驗視頻導入到手動跟蹤分析軟件中,再進行實驗參數的設置,在實驗視頻中建立起始坐標系,通過連續手動點擊,跟蹤魚尾的運動軌跡,建立參考坐標系,對魚類游泳動力學數據進行收集;視頻跟蹤是將載入的視頻通過視頻跟蹤軟件進行分析解碼,用背景圖對比視頻畫面,剪掉靜止不變的背景畫面,標出運動的物體,通過像素點的移動,獲取運動物體的軌跡來采集數據; Fish Trajectory程序是基于Matlab軟件平臺專門開發的一個觀察動物運動行為的程序包,能夠在MATLAB軟件平臺上針對魚類身體中線進行自動跟蹤,描繪出運動物體如魚類身體中線的運動軌跡,再通過程序計算獲取游泳動力學數據,從而實現魚類行為測試(圖2)。通過輸入校正值、頭部、尾部參數和中線平滑值,由系統內部的MATLAB運算工具進行運算處理,將結果以列表和圖形的形式輸出,分別能得到魚的運動學數據,如頭部和尾部運動軌跡、速度、加速度和魚的身體中線跟蹤軌跡圖等。

圖1 試驗裝置圖Fig. 1 Schematic of the experimental setup

圖2 Fish Trajectory技術路線Fig. 2 Flow chart of Fish Trajectory technical route
用Fish Trajectory程序進行分析的時候,首先需對視頻的挑選有一定要求,視頻比較模糊會使所得到魚類擺尾數據產生很多非正常值。因此在挑選視頻時,盡量選取清晰度較高視頻。試驗記錄水流速度(cm/s)、體長(BL)、擺尾頻率(Hz)、擺尾幅度(cm)、游泳速度(cm/s)和加速度(cm/s2)。擺尾頻率指的是1s內魚擺尾的次數,魚尾擺到最高點開始到下一次擺到最高點計為一次。擺尾幅度指的是魚尾側向擺動的振幅。為了比較各種方法的優劣,引入效率值指標。根據實際操作復雜程度和操作經驗,對不同的分析方法,以分析視頻所用時間占總時間的百分比和實驗數據的準確性作為標準進行打分,滿分100分。
1.3數據分析
實驗數據采用SPSS 18.0進行分析,統計值用平均數±標準差(Mean±SD)描述,用Oneway-ANOVE分析差異性。
在不同水流速度下,通過對魚類擺尾頻率和擺尾幅度的數據分析表明,視頻處理方法對試驗結果有顯著影響。鰱的擺尾頻率在應用人工計數、手動跟蹤和Fish Trajectory分析過程中,未產生顯著性差異(P>0.05,表1),鰱的擺尾幅度在應用人工計數分析時與手動跟蹤和Fish Trajectory分析比較差異較大(P<0.05,表1),運用手動跟蹤軟件能準確地描述出魚類擺尾隨著時間的變化趨勢(圖3),而Fish Trajectory程序通過一步步的操作,最終可以將魚尾部、頭部的軌跡甚至是身體中線的變化等都表示出來(圖4—6),通過數據的計算和分析得到魚的擺尾頻率和擺尾幅度。

表1 鰱幼魚游泳時的擺尾行為Tab. 1 The tail-beat behaviour of fish swimming

圖3 手動跟蹤軟件記錄魚游泳時擺尾軌跡示意圖Fig. 3 Illustration of fish swimming route by manual tracking software
從效率值的比較表明,Fish Trajectory程序在分析魚類游泳時的擺尾行為方面表現出很好的效果。水流速度與擺尾頻率和擺尾幅度關系圖表明,隨著水流速度的增加擺尾頻率呈現增大的趨勢但擺尾幅度變化不大(圖6)。
不同水流速度下,通過對魚類速度和加速度的數據分析表明,鰱在頂流加速的過程中,應用手動跟蹤和Fish Trajectory分析時未產生顯著差異性(P>0.05,表2),而應用人工計數和視頻跟蹤各項值均為零。
從效率值的比較表明,Fish Trajectory程序在分析鰱幼魚時的加速行為仍然表現出很好的效果。

圖4 Fish Trajectory程序分析魚游泳時頭部和尾部軌跡示意圖Fig. 4 Illustration of head and tail when fish swimming by Fish Trajectory program

圖5 運用Fish Trajectory程序定點跟蹤分析魚類身體中線Fig. 5 The finite-precision trace analysis of fish midline by Fish Trajectory program

圖6 Fish Trajectory程序分析魚游泳時不同時刻身體中線的位置和頭部、尾部、身體中線的軌跡示意圖Fig. 6 Illustration of midlines at different times and Head,midbody and tail position over time when fish swimming by Fish Trajectory program
近年來,魚類行為學研究在各種高科技的軟件支持下取得了巨大的發展,特別是對魚類游泳時相關運動學和水力學數據的采集,涌現出了多種前沿技術。如利用DIDSON雙頻識別聲吶技術來追蹤魚的軌跡,通過數字化粒子成像技術(DPIV)可以分析魚的擺尾對流場的干擾作用[6,7]。但是,上述各種技術對成本的要求較高,而且操作難度比較大,不易廣泛推廣。因此,有必要尋找成本較低,操作簡單且便于廣泛推廣的技術。目前,通過魚類的視頻分析,提取魚類軌跡,并分析其運動學指標的方法有效的推動了魚類行為學的研究。如石小濤等[8]運用免費的計算機軟件Swis Track分析鰱幼魚游泳行為,徐盼麟等[9]基于單攝像機視頻對魚類進行三維自動跟蹤,杜秋菊等[10]2014年建立了一個魚類行為在線預警系統,通過計算機視覺方法提取活魚運動軌跡并計算活魚的游泳速度及位置方面來表征活魚對水環境變化產生的行為的改變,2010年Butail等[11]用橢球體來模擬活魚,并用曲率參數化的形式來表征魚體形狀的變化,用曲率作為活魚游泳轉彎的參考參數。但是,魚類行為學研究技術仍沒有得到廣泛應用,主要原因就是成本比較高,操作難度大。
本文將Fish Trajectory程序靈活應用于魚類研究,獲得了很好的魚類行為學數據。與人工視頻處理方法、手動跟蹤方法相比較,Fish Trajectory具有高效、指標量多的特點。鰱的擺尾幅度在應用人工計數分析時與其他分析方法相比差異性顯著,主要原因是在進行人工計數分析時,只能通過肉眼去觀察擺動的幅度,誤差較大。采用視頻跟蹤所得到的擺尾頻率和擺尾幅度均為零,主要原因是光與水面有反射現象,不能正確識別像素變化是運動物體還是反射現象,從而無法計算擺尾頻率和擺尾幅度。應用人工計數和視頻跟蹤分析鰱在頂流加速過程中速度時,各項值為零,主要原因是人工計數無法用肉眼來觀察魚的游泳速度和加速度,而視頻跟蹤則是由于不能正確識別像素變化是由于運動物體還是由于反射現象而不能獲取正確值。因此Fish Trajectory軌跡分析方法在分析魚類游泳動力學中,優于人工計數、手動跟蹤和視頻跟蹤等方法,克服了人工視頻處理和手動跟蹤方法的復雜性和單一性。同時Fish Trajectory軌跡分析方法在應用中也有一些不足,比如當水面出現振動和波紋時,Fish Trajectory程序分析方法對數據的分析將會產生誤差,需要特別注意。

表2 鰱幼魚游泳時的逆流加速行為Tab. 2 The acceleration behaviour of fish swimming
魚類在游泳過程中的動力學行為是反應魚類應對不同水流條件的一種重要特征。在各種魚類游泳行為中,分析魚類尾部的運動受到國內外廣泛關注,在研究魚類游泳動力學中發揮著重要的作用。魚通過持續的擺尾,來保持身體的平衡,也能通過擺尾產生向前進的推力,提供動力來源。不同魚的身體形態,會產生不同的擺尾形式和推進形式。如鰻行式魚類,身體非常靈活,從頭到尾振幅一致; 鲹行式魚類,尾部近似片狀,有較明顯的波狀振幅[12]。VIDELER[13]在1981年通過人工手動跟蹤方法分析了魚的暴發滑行式游泳,得到在爆發階段的擺尾幅度比平穩游泳時大很多,這也解釋了爆發滑行式的游泳需要通過大的擺幅,才能獲得更多的能量,產生大的推力,使魚能順利地向前游。Liao[14]在2007年通過視頻跟蹤方法分析了魚在卡門漩渦中的運動情況,結果發現當水流速度增大時,擺尾頻率會加快; 當流場中存在卡門漩渦時,魚會根據自身的調整,從漩渦中吸收能量,減小擺尾頻率。張沙龍等[15]在長絲裂腹魚的游泳能力和游泳行為研究中得到當游泳速度增加時擺尾頻率呈現線性增長,但擺尾幅度的變化不顯著,這與本文得到的結論基本一致。本文用到的Fish Trajectory軌跡分析方法相比上述研究獲取數據的方法能夠更加高效的獲取擺尾頻率和幅度,將在以后的魚類游泳動力學研究中發揮重要作用。

圖7 水流速度與擺尾頻率、擺尾振幅的關系Fig. 7 The relationship of flow velocity,tail-beat frequency and amplitude
本文基于Matlab開發的魚類游泳動力學分析方法能高效獲取魚的游泳動力學指標,比如魚的擺尾頻率、擺尾幅度、速度、加速度和身體中線的移動,將有助于為以后魚類游泳動力學研究提供依據。
致謝:
Eric D. Tytell教授對Fish Trajectory程序提供了共享平臺,對實驗數據處理給予了幫助。
[1] Hu Y S,Shi X T,Chen Q W,et al. The simulation of sil-ver carp crossing through velocity barriers [J]. Acta Ecologica Sinica,2015,35(8):2652—2658 [胡運燊,石小濤,陳求穩,等. 鰱幼魚通過水流速度障礙的模擬. 生態學報,2015,35(8):2652—2658]
[2]Sanagiotto D G,Coletti J Z,Marques M G. Velocity and Hydraulic Turbulence on a Vertical Slot Fishway [A]. China Society for Hydropower Engineering. Hydropower 2006 International Symposium Book [C]. 2006 [Sanagiotto D G,Coletti J Z,Marques M G. 豎縫式魚道流速和水力紊動特性研究. 中國水力發電工程學會. 水電2006國際研討會論文集. 2006]
[3]Goettel M T,Atkinson J F,Bennett S J. Behavior of western blacknose dace in a turbulence modified flow field[J]. Ecological Engineering,2015,74:230—240
[4]Castro-Santos T,Haro A. Fish Guidance and Passage at Barriers. In:Fish Locomotion:An Eco-ethological Pe-respective [M]. Science Publishers. 2010,62—89
[5]Loher T. Homing and summer feeding site fidelity of Pacific halibut(Hippoglossus stenolepis) in the Gulf of Alaska,established using satellite-transmitting archival tags [J]. Fisheries Research,2008,92(1):63—66
[6]Boswell K M,Wilson M P,Cowan J H,et al. A semiautomated approach to estimating fish size,abundance,and behavior from dual-frequency identification sonar(DIDSON) date [J]. North American Journal of Fisheries Management,2008,28(3):799—807
[7]Müller U K,Stamhuis E J,Videler J J. Hydrodynamics of unsteady fish swimming and the effects of body size:Comparing the flow fields of fish larvae and adults [J]. The Journal of Experimental Biology,2000,203(2):193—206
[8]Shi X T,Hu Y S,Wang B,et al. Using free software Swistrack to learn swimming behavior of silver carp,Hypophthalmichthys molitrix [J]. Acta Hydrobiologica Sinica,2014,38(3):588—591 [石小濤,胡運燊,王博,等.運用免費計算機軟件Swis Track分析鰱幼魚游泳行為.水生生物學報,2014,38(3):588—591]
[9]Xu P L,Han J,Tong J F. Preliminary studies on an automated 3D fish tracking method based on single video camera [J]. Journal of Fisheries of China,2012,36(4):623—628 [徐盼麟,韓軍,童劍鋒. 基于單攝像機視頻的魚類三維自動跟蹤方法初探. 水產學報,2012,36(4):623—628]
[10]Du Q J. The Research of on-line biological early warning technique for water quality based on fish tracking and behavior analysis [D]. Thesis for Master's Degree of Science. Ningbo University,Zhejiang. 2014 [杜秋菊. 基于魚群跟蹤和行為分析的在線生物水質預警技術研究.碩士學位論文,寧波大學,浙江. 2014]
[11]Butail S,Paley D A. 3D reconstruction of fish schooling kinematics from underwater video [A]. 2010 IEEE International Conference on Robotics and Automation Anchorage Convention District [C]. 2010
[12]Bing G T,Li X Z,Jian Y C. Hydrodynamic analysis of fish propulsion performance and its morphological adaptation [J]. Hydrodynamics of Fish Swimming,1993,18(3—4):719—728
[13]Videler J J. Swimming movements,body structure and propulsion in cod Gadus morhua [J]. Symposia of the Zoological Society of London,1981,48:1—27
[14]Liao J C. A review of fish swimming mechanics and behaviour in altered flows [J]. Philosophical Transactions of the Royal Society B,2007,362:1973—1993
[15]Zhang S L,Hou Y Q,Wang L T,et al. Swimming performance and swimming bahavior of Schizothorax dolichonema Herzenstein [J]. Freshwater Fisheries,2014,44(5):32—37 [張沙龍,侯軼群,王龍濤,等. 長絲裂腹魚的游泳能力和游泳行為研究. 淡水漁業,2014,44(5):32—37]
THE ANALYSIS OF FISH SWIMMING DYNAMICS BASED ON THE MATLAB
KE Sen-Fan1,GAO Zhu1,LIU Guo-Yong1,WANG Ji-Bao1,LIU De-Fu1,2,SHI Xiao-Tao1,ZHU Hai-Feng1and LIN Chen-Yu1
(1. Engineering Research Center of Eco-environment in Three Gorges Reservoir Region,Ministry of Education,China Three Gorges University,Yichang 443002,China; 2. College of Resources and Environmental Engineering,Hubei University of Technology,Wuhan 430068,China)
The analysis of fish swimming dynamics is of great significance to solve key hydraulic problems in engineering application such as fishway design. Using computer technology to analyze fish swimming dynamics benefits the understanding of the physiological characteristics and swimming ability of fish and its relation to the hydraulic factors. This study analyzed the swimming dynamics of silver carp using MATLAB,with emphasis on the tail-beat. The indicators included tail-beat frequency,tail-beat amplitude,swimming speed and acceleration. Compared to manual counting and manual tracking analysis method in the perspective of actual operation complexity and accuracy on the experimental data,the method of matlab on tracking fish body center line got data more effectively in accuracy and speed by analyzing the pros and cons of each method. Thus,a method of analyzing fish swimming kinetics based on Matlab will provid a powerful technique for future researchers.
Fish swimming; Tail-beat; Speed; Video analysis; Computer science
Q142.8
A
1000-3207(2016)05-0985-07
10.7541/2016.127
2015-10-19;
2016-03-05
國家自然科學基金項目(51409151,51579136,51179096); 水利部公益性行業科研專項(201201030); 水利部工程生態效應與生態修復重點實驗室開放基金項目(2013002); 三峽庫區生態環境教育部工程研究中心開放基金項目(KF2013-03)資助[Supported by the National Natural Science Foundation of China(51409151,51579136,511790-96); Non-profit Industry Financial Program of MWR(201201030); Ecological Effects of Water Engineering of Ministry of Water Resources and Ecological Restoration Laboratory Fund Project(2013002); Fund Project of Engineering Research Center of Eco-environment in Three Gorges Reservoir Region,Ministry of Education(KF2013-03)]
柯森繁(1992—),男,湖北黃梅人; 碩士研究生; 主要從事生態水利及魚類行為學方面研究。E-mail:574048802@qq.com
石小濤(1981—),男,湖北紅安人; 博士; 主要從事魚類過壩技術研究。E-mail:sxtshanghai@163.com