












摘要:
追蹤識別籠養肉鴨的飲水采食行為,對判別肉鴨的病理狀態和實現鴨舍的智能管理具有重要意義。針對傳統實例分割模型無法關聯視頻幀邏輯順序的缺點,提出一種先進行多目標追蹤(MOT),再進行實例分割的肉鴨飲水、采食行為識別模型。搭建肉鴨籠養俯拍試驗臺,采集含有多只肉鴨目標的圖像數據。利用TAM模型對肉鴨個體進行識別與運動追蹤。隨后基于SAM對其中3只肉鴨目標的飲水采食行為進行快速標注。在肉鴨多目標追蹤的基礎上,采用Mask R-CNN識別鴨只的飲水和采食行為,并以視頻幀率為依據,推斷肉鴨視頻中兩類行為的時長,最終構建肉鴨飲水采食行為識別與計時模型。試驗結果表明,Mask R-CNN模型對目標肉鴨的飲水、采食行為識別的預測框平均精確率和掩膜平均精確率分別為91.6%和93.3%,飲水和采食行為時長計算準確率分別為95.4%和90.1%,能夠以較高的精度實現肉鴨飲水采食行為的識別與計時。
關鍵詞:籠養肉鴨;多目標追蹤;Mask R-CNN;飲水采食;行為識別
中圖分類號:S834; TP391.41
文獻標識碼:A
文章編號:2095-5553 (2025) 01-0085-06
Research on the recognition model of meat duck eating and drinking behavior
based on MOT and instance segmentation
Ma Yiheng1, 2, Duan Enze3, 4, Zhao Shida3, 4, Bai Zongchun3, 4, Ban Zhaojun1, 2
(1. School of Biological and Chemical Engineering, Zhejiang University of Science and Technology, Hangzhou,
310023, China; 2. Zhejiang Key Laboratory of Agricultural Product Chemistry and Bioprocessing Technology,
Hangzhou, 310023, China; 3. Institute of Agricultural Facilities and Equipment, Jiangsu Academy of
Agricultural Sciences, Nanjing, 210014, China; 4. Key Laboratory of Facility Agricultural Engineering in the Middle
and Lower Reaches of the Yangtze River, Ministry of Agriculture and Rural Affairs, Nanjing, 210014, China)
Abstract:
Tracking and identifying the drinking and feeding behavior of caged meat ducks is of great significance to distinguish the pathological state of meat ducks and realize the intelligent management of duck houses. Aiming at the shortcomings of the traditional instance segmentation model that cannot correlate the logical sequence of video frames, a duck drinking and feeding behavior recognition model is proposed that first performs multi-object tracking (MOT) and then performs instance segmentation. A meat duck cage overhead shooting test platform was set up to collect image data containing multiple meat duck targets. The TAM (Track Anything Model) model was used to identify and track individual meat ducks. Then based on the SAM (Segment Anything Model), the drinking and feeding behaviors of the three meat duck targets were quickly marked. Based on the multi-target tracking of meat ducks, Mask R-CNN was used to identify the drinking and feeding behaviors of ducks, and the duration of the two types of behaviors in the meat duck video was inferred based on the video frame rate, and finally the recognition and timing models of drinking and feeding behavior of meat duck was constructed. The test results show that the Mask R-CNN model has an average prediction frame accuracy rate "and mask average accuracy rate of the target meat duck,s drinking water and feeding behavior recognition by 91.6% and 93.3%, respectively, the calculation accuracy of drinking water and feeding behavior duration is 95.4% and 90.1%, respectively, which can realize the recognition and timing of meat duck drinking and feeding behavior with high precision.
Keywords:
caged meat duck; multiple object tracking; Mask R-CNN; drinking and feeding; behavior recognition
0"引言
肉鴨養殖業在農業生產中占據重要地位,對于滿足人們對肉類產品的需求起著關鍵作用。然而,與傳統養殖模式相比,肉鴨籠養模式環境更加封閉,導致肉鴨生理健康情況難以被準確檢測與判別。傳統的健康巡檢方法往往依賴于人工觀察和經驗判斷,為了解決這一問題,圖像處理[1]和機器視覺技術[2]被廣泛引入禽類養殖領域,為禽類的健康監測提供新的途徑。
在禽類健康識別方面,鄭雙陽等[3]通過機器視覺識別蛋雞采食時是否存在俯臥姿態來判定是否存在病、死雞。李娜等[4]通過利用YOLOv4目標檢測模型識別雞群的采食、站立、趴窩、梳羽等行為以反映其健康狀況。畢敏娜等[5]首先通過識別雞頭,再提取雞冠的紋理特征和瞳孔的形狀幾何特征構成雞頭特征,進而采用支持向量機訓練分類,得到正確率高達92.5%的病雞識別率。Fang等[6]首次采用DNN神經網絡對肉雞進行姿態行為分析,通過肉雞的姿勢特征點構建骨架用于跟蹤特定的身體部位,同時使用樸素貝葉斯模型對肉雞姿態進行分類和識別。Liu等[7]設計了一種家禽舍死雞小型去除系統,采用YOLOv4算法識別死雞。在禽類的目標追蹤方面,Cheng等[8]提出TBroiler跟蹤器禽類跟蹤算法,將前一幀的肉雞區域和下一幀的搜索區域分別輸入卷積層,通過全連接層回歸得到預測區域的坐標對單只家禽進行跟蹤。Neethirajan[9]使用YOLOv5網絡進行訓練和測試,同時利用卡爾曼濾波追蹤多個目標雞只,能夠在不同背景干擾中跟蹤雞只運動并測量它們的行進路徑和方向。以上方法雖然在雞只目標檢測方面取得較好的結果,但難以對禽類群養模式的特定個體進行準確的健康狀態識別。
目前,籠養模式下的肉鴨行為監測研究鮮有報道。本文以籠養肉鴨為研究對象,針對肉鴨的飲水采食行為識別,提出一種基于多目標追蹤和圖像分割技術的方法,以解決傳統方法在禽類健康識別方面的局限性。主要分為兩個部分:多目標追蹤與行為識別檢測、時長統計?;赥AM[10]模型構建針對群養肉鴨的長時追蹤模型,建立一個包含大量樣本的訓練樣本庫,并對目標肉鴨進行標簽信息的組織和劃分。通過準確追蹤肉鴨的運動軌跡,為后續的行為識別提供準確的目標區域。在行為識別檢測部分,使用Mask R-CNN[11]網絡對多個肉鴨目標進行飲水和采食行為的訓練和測試,并不斷調整超參數進行迭代,提高肉鴨飲水和采食行為的檢測精度。最后,對肉鴨的飲水和采食行為時長信息分別進行單獨統計并顯示于測試結果中。
1"材料與方法
1.1"肉鴨養殖試驗平臺搭建
試驗地點為江蘇省農業科學院六合禽場試驗基地1號舍中的環控倉,試驗時間為2023年2月28日—3月10日。層疊鴨籠的結構為上下2層,每層有2個單元籠。為實現數據自動化采集以確保數據的客觀性,設計并搭建肉鴨視頻采集平臺,如圖1所示。肉鴨單元籠的面積為1m×1m,每籠飼養11只櫻桃谷肉鴨,試驗肉鴨日齡為第10日齡至第21日齡。在環控倉內采用LED燈條進行照明。在肉鴨的生長過程中,環控倉的溫度控制方案為:在3日齡之前,溫度保持在33℃;從3日齡開始,每日逐漸降低1℃,直到21日齡后保持在17℃,保障試驗環境的穩定性。
在單元籠的頂部中央位置安裝USB高清攝像頭,距離地面約0.8m,采用OpenCV開源數據庫[12]實現攝像頭的圖像采集。為增加肉鴨圖像樣本的豐富性,并盡可能多地捕捉肉鴨連續發生飲水采食行為的畫面,圖像采集方法為:每隔1h采集一次視頻,每個視頻的時長為6min,視頻采集格式為AVI。
1.2"鴨只多目標分割數據集制作
初步采集的圖像視頻存在暗淡和模糊的現象,如圖2(a)所示。為提高后續的多目標追蹤操作的可靠性,需要對采集到的視頻進行圖像增強處理,流程如圖2所示,處理過程包括增加曝光率、增強對比度以及減小飽和度的批處理操作,并將視頻幀率調整為15,每段視頻分割為70s。
2.1"TAM結構與應用
近幾年,Transformer[13]在計算機視覺任務上取得優異表現,在復雜環境下具有很強的跟蹤準確性和魯棒性。Sun等[14]首次將Transformer應用在MOT領域,通過設計兩種編碼器分別用于目標檢測和跟蹤目標。Xu等[15]使用一種基于熱圖的Transformer算法對目標中心點位置實現像素級精準預測。但當前大多數基于Transformer的算法跟蹤速度慢、對硬件設備要求高且基于監督學習的模式[16]。因此,采用TAM(Track Anything Model)一種無監督MOT模型對肉鴨目標進行追蹤。
TAM結合了SAM[17](Segment Anything Model)大型分割模型和XMem[18]先進的VOS[19](Video Object Segmentation)模型的方法。SAM是由Meta AI開發的分割模型,其圖像分割性能優異,然而分割復雜視頻能力較弱,為克服這一缺點,TAM引入了XMem模型,通過給定目標對象在第一幀中的掩膜描述以追蹤目標對象,并在隨后的視頻幀中生成相應的掩膜。然而,XMem模型仍然存在以下缺點:(1)需要準確地掩膜進行初始化;(2)對于長視頻,XMem難以從跟蹤或分割失敗中進行修復。為了解決這些問題,TAM采用了交互式VOS方法,反復迭代改進分割結果,獲得滿意的視頻分割掩膜。TAM綜合了SAM和XMem的優點,并通過交互式的過程不斷改善分割效果,使其適用于肉鴨的多目標追蹤識別任務。
使用Track Anything對肉鴨群體進行多目標分割與追蹤的過程分為以下3個步驟。
1) 初始掩膜標注與修改。使用SAM模型對預處理后的視頻中第一幀的肉鴨圖像進行標注,生成初始目標肉鴨掩膜。然而,由于視頻中的肉鴨群體的復雜性和多樣性,初始掩膜可能存在一定的不準確性。因此,引入弱提示方法,通過多次修改分割結果,不斷優化初始掩膜,直到獲得滿意的目標肉鴨掩膜。
2) 后續幀預測。利用XMem模型對目標肉鴨掩膜進行后續幀的預測。利用第一幀的目標肉鴨掩膜進行追蹤,并在隨后的視頻幀中生成相應的掩膜。XMem作為一種半監督VOS模型,在長視頻序列中,如果跟蹤或分割失敗,XMem模型難以從中進行修復,需要進一步對視頻幀進行優化與校正。
3) 幀優化與校正。使用SAM模型對XMem預測的肉鴨掩膜視頻進行幀優化。在推理過程中,SAM模型通過修復存在缺失的肉鴨掩膜,糾正XMem模型的預測誤差,從而提升后續肉鴨圖像分割與追蹤的精度。
通過上述步驟,TAM方法結合SAM和XMem的優點,能夠更準確地分割和追蹤肉鴨群體中的多個目標,并為肉鴨行為識別、行為時長計算任務提供有力支持,在智能養殖管理中可減少人工監測的工作量和人為誤差,為養殖場提供了可靠的數據支持,給養殖場管理者提供及時調整飼養環境、飼料供給等因素的信息。模型的準確性可能受到養殖環境的影響,因此,模型需要結合實際養殖場進行適應性調整和優化。
2.2"肉鴨圖像分割數據集制作
為實現肉鴨行為識別,需要對視頻進行數據再處理,建立肉鴨推向分割數據集。首先,從分割和追蹤的視頻中提取關鍵幀,并將其轉換為目標肉鴨掩膜圖像(JPG格式),以實現目標肉鴨不同時間點姿態特征和位置信息的提取,為后續的行為分析提供基礎。在人工可識別的情況下,采用SAM-Tool半自動標注工具代替常規的labelme標注工具,能夠快速標注肉鴨目標的位置和行為信息。在標注過程中,肉鴨目標分為飲水和采食兩類標簽信息進行標注,標注示例參見圖3。建立包含目標類別信息的json文件,為模型訓練和評估提供準確的標注數據。最終,獲得980幅圖像,用于訓練和驗證Mask R-CNN網絡模型的性能。其中,訓練集包含736幅圖像,驗證集包含244幅圖像。
2.3"Mask R-CNN網絡結構
2.3.1"Mask R-CNN框架
采用Mask R-CNN卷積網絡對目標肉鴨進行行為識別檢測,該模型在Faster R-CNN基礎上增加了用于預測掩膜的分支的目標檢測模型,從而在目標檢測的同時實現了像素級的目標分割。通過Mask R-CNN將目標肉鴨從背景中分離,獲得每個目標肉鴨的掩膜信息,并進一步實現對肉鴨行為的識別。
Mask R-CNN的基本結構由4個主要組件組成:特征提取網絡、區域候選網絡、RoI分類網絡和掩膜生成網絡,具體結構如圖4所示。
采用ResNet-101深度殘差網絡和FPN特征金字塔網絡的組合作為特征提取網絡,這種組合結構能夠提取具有不同尺度和語義信息的特征,有助于更好地捕捉目標肉鴨的細節和上下文信息。區域候選網絡負責生成候選目標區域(RoIs),利用錨框和候選框回歸來提供潛在的目標位置信息。RoI分類網絡接收RoIs作為輸入,并通過RoIAlign操作來精確地對特征圖中的每個RoI進行池化,以避免RoI Pooling引入的量化問題。RoIAlign利用雙線性插值算法精確計算每個特征圖的4個坐標位置,從而提高分割的精度。掩膜生成網絡RoIs進行進一步的卷積和上采樣操作,生成每個RoI的掩膜預測,這些掩膜預測對應于目標肉鴨在圖像中的像素級分割結果,能夠準確地表示目標地形狀和邊界。
2.3.2"試驗環境及超參數設置
模型訓練使用的硬件環境如下:處理器型號為12th Gen Intel(R) Core(TM) i9-12900K,主頻為3.2GHz,運行內存為128G,GPU型號為NVIDIA GeForce RTX 4090,操作系統為(Windows 10)。軟件環境方面,使用Python 3.8.16版本作為主要開發語言,并基于MMdetection框架進行開發和訓練。
網絡訓練參數設置如表1所示,輸入圖像尺寸為852像素×480像素,為提高模型的準確性,模型共訓練180輪,每迭代8個輪次保存一次模型權重,最終選擇識別精度最高的模型作為結果。
2.3.3"評價指標
對Mask R-CNN模型地性能進行全面的評估,采用以下指標進行度量和分析。
1) 準確率ACC:模型預測的整體準確性,即正確預測的樣本數與總樣本數之比。其計算如式(1)所示。
ACC=TP+TNTP+TN+FP+FN
(1)
式中:
TP——被模型預測為正類別的正樣本;
TN——被模型預測為負類別的負樣本;
FP——被模型預測為正類別的負樣本;
FN——被模型預測為負類別的正樣本。
2) 平均精確率mAP:綜合考慮了模型的精確率和召回率,是評估目標檢測模型性能的重要指標,其計算如式(2)所示。計算方式是計算多個類別的精確率—召回率(P-R)曲線下的面積,并取平均值。
mAP=1classes∑classesi=1∫10P(R)d(R)
(2)
此外,針對目標肉鴨的飲水和采食行為,采用以下指標進行評估。
1) 誤檢率FPR:衡量了模型錯誤地將非目標行為預測為目標行為的能力。即錯誤預測為正類別樣本占所有實際類別樣本的比例。其計算如式(3)所示。
FPR=FPTP+TN+FP+FN
(3)
2) 漏檢率LPR:衡量模型未能正確預測為正類別的樣本占所有實際類別樣本的比例。對于飲水和采食行為,漏檢率表示模型未能正確識別目標行為的能力。其計算如式(4)所示。
LPR=FNTP+TN+FP+FN
(4)
3) 行為時長準確率BDR:衡量模型對目標行為時長計算的準確性,表示模型對目標行為時長的精確度。其計算如式(5)所示。
BDR=1-|TPduration-GTduration|GTduration×100%
(5)
式中:
TPduration——
模型正確預測的目標行為時長總和;
GTduration——
目標實際進行某一行為的時間總和。
通過以上評價指標,可以量化模型在目標檢測和行為識別任務中的效果和性能。
3"結果與分析
3.1"目標肉鴨行為識別檢測評估
準確率ACC和損失函數的Loss值被用作評估模型目標行為識別檢測性能的指標。根據圖5和圖6的結果,經過2×104次迭代后,模型的準確率達到99.54%,損失值達到0.0615,檢測框平均精確率bbox_mAP和掩膜平均精確率segm_mAP在進行90次訓練后達到91.0%和93.2%。
圖7為使用Mask R-CNN模型訓練得到的肉鴨飲水、采食行為識別結果圖像。
試驗中,由于肉鴨經過目標追蹤過程會丟失一些飲水和采食行為特征,導致肉鴨在料槽區域采食過程中會不斷發生低頭采食和略微抬頭停頓現象,模型也會以較低概率將停頓的行為誤判為采食行為,如圖8所示。為了提高對目標肉鴨進行飲水和采食行為識別的檢測準確度,將模型預測框置信度設定為0.9,既有效解決了上述問題,又減少了網絡對目標肉鴨行為識別檢測框的計算量,增加了模型的效率和實用性,顯著提高了計算速度。
3.2"目標肉鴨飲水、采食行為時長統計
為統計目標肉鴨的飲水采食行為時長,對肉鴨行為進行分類判定[20]。
1) 飲水行為判定:若某一幀中肉鴨掩膜分類為飲水行為的置信度高于90%,則判斷該幀圖像中目標進行了飲水行為。
2) 采食行為判定:若某一幀中肉鴨掩膜分類為采食行為的置信度高于90%,則判斷該幀圖像中目標進行了采食行為。
判定行為后,統計目標肉鴨在視頻檢測期間內產生的飲水行為總幀數和采食行為總幀數,則飲水時長和采食時長,其計算如式(6)和式(7)所示。
Td=FdFps
(6)
Te=FeFps
(7)
式中:
Td——目標肉鴨飲水時長;
Fd——目標肉鴨產生飲水行為總幀數;
Te——目標肉鴨采食時長;
Fe——目標肉鴨產生采食行為總幀數;
Fps——檢測視頻幀率,本研究中為15。
試驗對同一段肉鴨視頻進行連續的飲水和采食時長統計,如圖9所示。
3.3"行為識別與統計時長準確率
隨機選取15段70s的肉鴨視頻進行檢測,經人工統計,數目和時間分別為15段視頻中目標肉鴨實際出現飲水采食行為的數量和時間的總和,誤檢數目、漏檢數目和檢測時間分別為15段視頻中檢測到目標肉鴨出現飲水采食行為的誤檢數目、漏檢數目和時間的總和。誤檢率和漏檢率作為評估目標肉鴨飲水和采食行為檢測的準確度,同時,行為時長準確率被用來評估目標肉鴨行為時長的計算準確性,結果如表2所示。
針對目標肉鴨飲水和采食行為識別,基于Mask R-CNN獲取的最優模型取得較高的精度,未出現漏檢現象,同時誤檢率僅為9.30%與10.39%,另外,出現誤檢的行為持續時間較短,最終,飲水和采食行為時長準確率分別為95.1%和90.1%,表明該模型能夠實現目標肉鴨飲水和采食行為的有效識別與時長信息統計。
4"結論
1) 在群養肉鴨背景下選擇特定鴨只,采用Track Anything實現目標肉鴨的行為軌跡識別和有效追蹤。使用Mask R-CNN網絡模型對目標肉鴨分別進行飲水和采食行為的識別檢測,通過模型優化,準確率ACC、損失值Loss、檢測框平均精確率bbox_mAP和掩膜平均精確率segm_mAP分別達到99.54%、0.0615、91.6%和93.3%。
2) 針對目標肉鴨的飲水和采食行為識別,本文方法均未出現漏檢現象,誤檢率分別為9.30%和10.39%,行為時長準確率分別為95.4%和90.1%。所提模型能夠準確計算目標肉鴨的飲水和采食時長,實現目標肉鴨飲水和采食時長的實時獲取。
綜上所述,本文通過多目標追蹤和行為識別檢測與時長統計的方法,實現對籠養肉鴨的健康識別,為肉鴨養殖行業提供有效的健康監測手段,未來的研究可以進一步改進算法,擴展到其它禽類的健康識別領域,以提高禽類養殖管理的效率和精確度。
參"考"文"獻
[1]
李東丹.計算機圖像處理的應用與發展[J].現代工業經濟和信息化, 2022, 12(5):160-162.
Li Dongdan. Application and development of computer image processing [J]. Modern Industrial Economics and Informationization, 2022, 12(5): 160-162.
[2]
Danilo F. Pereira, et al. Machine vision to identify broiler breeder behavior [J]. Computers and Electronics in Agriculture, 2013, 99: 194-199.
[3]
鄭雙陽,王琳琳. 基于機器視覺對高階直立式雞籠內蛋雞的監視系統的開發[J]. 吉林農業大學學報, 2009, 31(4): 476-480.
Zheng Shuangyang, Wang Linlin. Development of monitoring system for laying hens in high-order vertical cages based on machine vision [J].Journal of Jilin Agricultural University, 2009, 31(4): 476-480.
[4]
李娜,任昊宇,任振輝.基于深度學習的群養雞只行為監測方法研究[J].河北農業大學學報,2021, 44(2):117-121.
Li Na, Ren Haoyu,Ren Zhenhui, et al. Research on group chicken behavior monitoring method based on deep learning [J]. Journal of Hebei Agricultural University, 2021, 44(2):117-121.
[5]
畢敏娜,張鐵民,莊曉霖,等.基于雞頭特征的病雞識別方法研究[J]. 農業機械學報, 2018, 49(1): 51-57.
Bi Minna, Zhang Tiemin,Zhuang Xiaolin, et al. Research on the identification method of sick chickens based on chicken head characteristics [J]. Transactions of the Chinese Society for Agricultural Machinery, 2018, 49(1): 51-57.
[6]
Fang Cheng, Zhang Tiemin, Zheng Haikun, et al. Pose estimation and behavior classification of broiler chickens based on deep neural networks [J]. Computers and Electronics in Agriculture, 2021, 180: 105863.
[7]
Liu Hungwei, Chen Chiahung, Tsai Yaochuan, et al. Identifying images of dead chickens with a chicken removal system integrated with a deep learning algorithm [J]. Sensors, 2021, 21(11): 3579.
[8]
Cheng Fang, Huang Junduan, Cuan Kaixuan, et al. Comparative study on poultry target tracking algorithms based on a deep regression network [J]. Biosystems Engineering, 2020, 190: 176-183.
[9]
Neethirajan S. Automated tracking systems for the assessment of farmed poultry [J]. Animals, 2022, 12(3): 232.
[10]
Yang J, Gao M, Li Z, et al. Track anything: Segment anything meets videos [J]. arXiv preprint arXiv:2304.11968,2023.
[11]
He K, Gkioxari G, Dollar P, et al. Mask R-CNN [C]. Proceedings of the IEEE International Conference on Computer Vision, 2017: 2961-2969.
[12]
Bradski G. The OpenCV library [J]. Dr.Dobb,s Journal: Software Tools for the Professional Programmer, 2000, 25(11): 120-123.
[13]
Dai Z, Yang Z, Yang Y, et al. Transformer-XL: Attentive language models beyond a fixed-length context [J]. arXiv preprint arXiv: 1901.02860, 2019.
[14]
Sun P, Cao J, Jiang Y, et al. Transtrack: Multiple object tracking with transformer [J]. arXiv preprint arXiv:2012.15460, 2020.
[15]
Xu Y, Ban Y, Delorme G, et al. Transformers with dense queries for multiple-object tracking [J]. arXiv preprint arXiv:2103.15145, 2021.
[16]
伍瀚,聶佳浩,張照娓,等.基于深度學習的視覺多目標跟蹤研究綜述[J].計算機科學,2023,50(4):77-87.
Wu Han, Nie Jiahao, Zhang Zhaowei, et al. A review of visual multi-target tracking based on deep learning [J]. Computer Science, 2023, 50(4): 77-87.
[17]
Kirillov A, Mintun E, Ravi N, et al. Segment anything [J]. arXiv preprint arXiv: 2304.02643, 2023.
[18]
Cheng H K, Schwing A G. XMem: Long-term video object segmentation with an Atkinson-Shiffrin memory model [C]. Proceedings, Part XXVIII Cham: Springer Nature Switzerland, 2022: 640-658.
[19]
Caelles S, Maninis K K, Pont-Tuset J, et al. One-shot video object segmentation [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017:221-230.
[20]
肖林芳.基于雙目視覺的籠養蛋雞飲水采食行為感知方法研究[D]. 杭州:浙江大學, 2018.
Xiao Linfang. Research on perception method of drinking and feeding behavior of caged laying hens based on binocular vision [D]. Hangzhou: Zhejiang University, 2018.