賀永強,苗清豪,熊彩蓮,楊 軍*
(1.中國醫(yī)學科學院北京協(xié)和醫(yī)學院生物醫(yī)學工程研究所,天津 300192;2.玉溪師范學院,云南玉溪 653100)
青光眼是一種由于病理性眼壓升高所導致的特征性視神經及視功能損害的疾病,是我國主要致盲原因之一,是排行首位的不可逆性致盲眼病[1],其癥狀隱匿、社會認知度低、就診率低且漏診率高,有2/3 的患者在初診時已發(fā)展到中晚期。預計到2040年,全球將有約1.118 億人患青光眼,其中60.7%的患者分布在亞洲地區(qū)[2]。中國是全球青光眼患者數(shù)量最多且發(fā)病率最高的國家,患病類型以原發(fā)性青光眼為主[2]。青光眼的視功能惡化是一個漸進的過程,初期癥狀不明顯,導致患者易錯過最佳治療時期。在發(fā)達國家約50%的青光眼患者未能獲得及時診斷,在發(fā)展中國家這一比例更高,可達90%[2]。開角型青光眼呈現(xiàn)年輕化的趨勢[3],其中青少年型開角型青光眼主要影響年輕患者,其致殘率更高,所以青光眼的早期診斷[4]、及時治療和終身監(jiān)測對于我國的青光眼防治管理具有重要意義。
眼前節(jié)光學相干斷層掃描儀(anterior segment optical coherence tomography,AS-OCT)和超聲生物顯微鏡(ultrasonic biological microscopy,UBM)是重要的眼前節(jié)成像設備,二者各有優(yōu)點。AS-OCT 是一種非接觸式的快速成像設備,具有更高的分辨力,但由于紅外光的傳播易受到虹膜后色素層的影響,AS-OCT 難以成像虹膜后方結構。UBM 則具有更高的穿透力,能夠成像虹膜之后的睫狀體等結構,有助于進一步了解亞洲人群的閉角機制[5]。
眼前節(jié)生理參數(shù)的精確測量有助于預防和診斷包括青光眼在內的眼科疾病。有關中央角膜厚度(central cornea thickness,CCT)測量的研究可以追溯到20 世紀50 年代[6],目前CCT 已被應用于評估內眼手術和屈光手術的效果,以及評估供體角膜和角膜移植手術的結果[7]。其他眼前節(jié)參數(shù)的測量在臨床也有廣泛的應用,例如前房深度(anterior chamber depth,ACD)過淺或者房角過窄都是閉角型青光眼的臨床前期表現(xiàn)[8]。由于晶狀體發(fā)育遲緩和晶狀體混濁是早期白內障的癥狀,所以晶狀體厚度(lens thickness,LT)測量被應用于白內障的早期診斷[9]。此外,晶狀體的前、后徑增加以及相對位置是原發(fā)性閉角型青光眼致病的重要因素,因此解除晶狀體因素的影響可以從發(fā)病機制上有效阻止閉角型青光眼的發(fā)生[10]。在超聲乳化人工晶體(intraocular corrective lens,ICL)植入術中,睫狀溝間距(sulcus to sulcus,STS)和前房角間距(angle to angle,ATA)的測量值可作為ICL 的長度值[11]。
傳統(tǒng)的醫(yī)學影像分析依賴于醫(yī)生的臨床經驗,具有較強的主觀性,且容易因為醫(yī)生經驗不足造成誤診。深度學習借助大量具有代表性的數(shù)據(jù)和計算資源,學習數(shù)據(jù)中復雜的樣本分布和全局特征,并根據(jù)具體任務設計不同的檢測頭輸出結果,訓練后的模型能夠低成本地部署到實際場景中,因此被廣泛應用于各個領域[12-14]。我國青光眼基層醫(yī)療機構診療壓力大,醫(yī)療資源分布不均勻,眼科人工智能的應用有助于推動醫(yī)療衛(wèi)生資源的共享。近幾年,眼科深度學習研究逐漸規(guī)范化[15],但由于數(shù)據(jù)質控失控、隱私保護[16]和數(shù)據(jù)安全等原因,高質量的臨床醫(yī)療數(shù)據(jù)獲取困難。
遷移學習[17]從模型訓練方面緩解了醫(yī)學數(shù)據(jù)稀少的問題,但未從根本上解決醫(yī)療數(shù)據(jù)不足的問題。傳統(tǒng)的圖像增強方法如剪裁、翻轉、模糊、馬賽克算法和改變圖像的亮度、對比度、飽和度和色調沒有利用圖像深層的全局信息,圖像增強效果有限。生成對抗網絡(generative adversarial network,GAN)[18]是一種無監(jiān)督學習方法,其根據(jù)博弈論中的零和博弈理論提出[19],通過訓練一個生成器生成圖像,同時訓練一個判別器判定生成器的輸出是否為真實樣本。生成器接收一個隨機噪聲向量作為輸入,通過極大似然法將其解碼為與訓練數(shù)據(jù)相似的輸出。判別器是一個二分類的分類器,負責判別這個輸出是否真實并給予反饋。生成器和判別器交替進行訓練,二者在對抗中訓練,其中生成器逐漸學習復雜數(shù)據(jù)的數(shù)據(jù)分布并生成數(shù)據(jù),因此能被應用于數(shù)據(jù)增強。深度卷積生成對抗網絡(deep convolutional generative adversarial networks,DCGAN)[20]在GAN 的基礎上引入了卷積和反卷積,使運算具有平移不變性和局部性,其在生成圖像的紋理細節(jié)上優(yōu)于傳統(tǒng)的GAN。Frid-Adar 等[21]使用DCGAN 合成高質量的肝臟病變斑塊CT圖像,相比于傳統(tǒng)數(shù)據(jù)增強算法,基于GAN 的數(shù)據(jù)增強使肝臟病變分類模型的敏感度從78.6%提升到85.7%,特異度從82.4%提升到92.4%。Yoo 等[22]使用循環(huán)一致性生成對抗網絡(cycle-consistent generative adversarial networks,CycleGAN)可視化糖尿病視網膜病變的隱藏病理特征,并用其檢測淺前房,該研究降低了淺前房篩查的成本,可作為在無眼前節(jié)成像設備時青光眼篩查的工具。
此外,在監(jiān)督學習中醫(yī)學數(shù)據(jù)集需要經驗豐富的專業(yè)醫(yī)生手工標注,其標注成本較高,難以獲取大量高質量的標注數(shù)據(jù),此時使用半監(jiān)督學習可以降低標注成本[23]。Sun 等[24]使用基于圖的半監(jiān)督式卷積神經網絡用于乳腺癌診斷,證明了使用大量未標記的醫(yī)學圖像數(shù)據(jù)進行半監(jiān)督學習能夠提高分類準確率。Chaitanya 等[25]使用半監(jiān)督學習中的偽標簽自訓練的方法,在3 個心臟和前列腺的公開數(shù)據(jù)集上驗證了使用偽標簽自訓練的方法能夠獲得較高的分割性能。
目前,UBM 設備上的眼前節(jié)參數(shù)測量算法主要基于開源計算機視覺庫,其在超聲掃查切面較正的UBM 圖像上具有較高的定位與測量精度,但泛化能力不強。Xu 等[26]和Wang 等[27]分別使用定位AS-OCT和UBM 圖像中的鞏膜突,ResNet-18 和Efficient-Net-B3 的定位性能接近眼科醫(yī)生手工標注水準,但是其數(shù)據(jù)較少,限制了模型的泛化能力和點定位預測精度,且只能預測單個關鍵點,不能同時預測多個關鍵點和多個生理參數(shù)。文獻[14]設計了一種有監(jiān)督學習式的眼前節(jié)參數(shù)測量算法,但由于采用的訓練集中只有592 幅UBM 圖像,無法保證模型在實際應用時的泛化能力,并且UBM 數(shù)據(jù)集需要經驗豐富的眼科醫(yī)生手工標注,當數(shù)據(jù)集增大時其標注成本也會增加。本文針對上述問題,使用StyleGAN3 進行數(shù)據(jù)增強,使用YOLOv8 生成虛擬UBM 圖像偽標簽,經眼科醫(yī)生挑選合格樣本加入原始數(shù)據(jù)進行自訓練,以提高眼前節(jié)參數(shù)測量算法的精度與泛化能力。
目前,目標檢測算法通常分為基于區(qū)域的目標檢測算法和基于回歸的目標檢測算法兩大類?;趨^(qū)域的目標檢測算法也稱為多階段目標檢測算法,其首先生成多個可能包含物體的候選框,然后對每個候選框進行分類和回歸,該類算法精度較高,但是速度較慢?;诨貧w的目標檢測算法也稱為單階段目標檢測算法,該類算法直接回歸出目標的位置和大小,檢測速度較快,能夠滿足實時需求。YOLO 系列算法都屬于單階段目標檢測算法。
目標檢測算法還可以分為基于錨框的目標檢測算法和基于關鍵點的目標檢測算法?;阱^框的目標檢測算法會預設不同長寬比的先驗框,將先驗框均勻分布在圖像上,在先驗框的基礎上微調得到目標的精確位置。單階段目標檢測算法中的單發(fā)多框檢測器(single shot multibox detector,SSD)、YOLOv2、YOLOv3、YOLOv4 和YOLOv5 都屬于基于錨框的目標檢測算法,如YOLOv5在訓練前會對數(shù)據(jù)集進行回歸預測,當先驗框對數(shù)據(jù)集的最佳召回率小于0.98 時,使用K-means 聚類重新計算先驗框[14]?;陉P鍵點的目標檢測算法通過定位目標的中心點然后預測中心點到邊界的距離來得到目標的位置,或者直接定位目標的多個關鍵點以得到其位置。單階段目標檢測算法中YOLO、CornerNet、CenterNet、ExtremeNet、YOLOv8 都屬于基于關鍵點的目標檢測算法,如CornerNet[28]通過回歸目標的左上角和右下角2 個關鍵點來得到目標位置。
在基于錨框的目標檢測算法中,大量的錨框中只有小部分是正樣本,導致了正負樣本不平衡,雖然Focal Loss 通過抑制負樣本的梯度緩解了樣本不平衡的問題[29],但并未從根本上解決這個問題。因此YOLOv8 舍棄了YOLOv5 中基于錨框的思想,使用了基于關鍵點的思想,以提高其對數(shù)據(jù)集中較少見的長寬不規(guī)則目標的檢測效果,網絡結構如圖1所示。
圖1 YOLOv8 網絡結構圖
YOLOv8 分類損失中新增了Varifocal Loss,其在Focal Loss 緩解正負樣本不均衡問題的基礎上加大了高質量正樣本的權重,即訓練高質量的正樣本對模型精度的提升大于訓練低質量的正樣本[30]?;貧w損失使用了完整交并比(complete intersection over union,CIoU)損失和分布聚焦損失(distribution focal loss,DFL),CIoU 在距離交并比(distance intersection over union,DIoU)的基礎上增加了關于長寬比損失的分量,能夠更好地處理預測框與真實框長寬比不同的情況[31]。目前對目標檢測的預測框的建??梢暈閱我坏牡依朔植迹欢趯嶋H應用中物體的邊界往往不是十分明確,即便有清晰的輪廓,在手工進行標注時也會產生微小的誤差,因此使用標簽附近的一個較小區(qū)間作為金標準更為合理。DFL[32]使用歸一化指數(shù)函數(shù)softmax 實現(xiàn)離散的回歸,使用交叉熵函數(shù)優(yōu)化標簽附近的概率密度,使分布聚焦到標簽值附近。
為了提高YOLOv8 提取全局特征的能力,基于文獻[33]設計了全局上下文網絡(global context network,GCNet)模塊,其結構如圖2 所示。GCNet 的設計結合了2 個關鍵思想:非局部網絡(non-local networks,NLNet)和擠壓-激勵網絡(squeeze-excitation networks,SENet)。NLNet 模塊用于捕捉全局上下文信息,以便更好地理解圖像中不同區(qū)域之間的關系。但是簡化版的NLNet 模塊中的特征變換部分計算量較大,因此在特征變換部分使用了SENet 模塊中的bottleneck transform 結構,在減少參數(shù)量的同時進一步強化特征表達,其中層歸一化降低了優(yōu)化的難度,層歸一化同時可以作為正則化提高模型的泛化能力。
圖2 GCNet 模塊結構圖
GCNet 模塊分為3 個部分,第一部分是上下文建模,采用一個1×1 的卷積層和Softmax 函數(shù)獲取注意力權重,通過矩陣乘法使注意力權重作用于原始輸入,從而獲取全局特征;第二部分是特征變換,用以捕獲通道之間的相互關系;第三部分是特征聚合,將各個位置的原始特征與全局上下文特征通過矩陣加法聚合。將這3 個部分定義為全局上下文建模框架,適用于所有注意力機制,其表達式如下:
由于臨床上難以獲取大量高質量的UBM 圖像,傳統(tǒng)的圖像增強技術無法利用其深層信息,未從本質上提高UBM 圖像數(shù)據(jù)集的質量。如YOLOv8 使用的馬賽克數(shù)據(jù)增強技術將訓練集中的4 幅圖像隨機縮放、裁剪并拼接,雖然豐富了數(shù)據(jù)集,但是沒有改變圖像的細節(jié)特征。經本文預實驗,傳統(tǒng)的GAN 中沒有卷積層,難以學習到有效的數(shù)據(jù)分布。此外,傳統(tǒng)的GAN 中的生成器的輸入是一個服從高斯分布的噪聲向量,當真實數(shù)據(jù)不服從高斯分布時,生成器難以收斂,因此StyleGAN 中使用8 個全連接層將噪聲向量映射為一個任意分布,并在不同自適應實例歸一化層前輸入生成器,使其能夠更好地擬合真實數(shù)據(jù)[34]。然而,StyleGAN 中自適應實例歸一化破壞了特征之間的聯(lián)系,使生成的圖像產生了斑狀偽影,因此StyleGAN2 中將自適應實例歸一化改為了權重解調,只對特征圖作卷積操作和添加噪聲,這種方法在保證可控性的同時消除了斑點偽影[35]。
在StyleGAN2 中,當訓練集中多數(shù)圖像的某一細節(jié)出現(xiàn)在同一位置時,網絡會在相同位置附近輸出此細節(jié),這種現(xiàn)象稱為“圖像粘連”。StyleGAN3 使用傅里葉特征代替了常數(shù)輸入,并去除了隨機噪聲,使用理想低通濾波器替代雙線性濾波器,解決了圖像粘連問題,提高了平移不變性和旋轉不變性[36]。因此本文使用StyleGAN3 進行數(shù)據(jù)增強。
自訓練是一種半監(jiān)督學習方法,其通過沒有標簽的數(shù)據(jù)擴充原始數(shù)據(jù)集,使用有標簽數(shù)據(jù)訓練“教師模型”,“教師模型”負責生成無標簽數(shù)據(jù)的偽標簽,然后合并數(shù)據(jù)后訓練出“學生模型”,這個過程可以多次重復。自訓練方法的通用性很強,且不受模型種類和任務的限制,但是偽標簽的質量和圖像的質量會影響最終的結果,如果圖像質量不高或與真實UBM 圖像差別過大,模型就會學習錯誤的樣本分布,而標注的質量不高則會使模型學習錯誤的特征映射,最終降低眼前節(jié)參數(shù)測量的精度。
傳統(tǒng)的改進方法是設定置信度閾值過濾錯誤的偽標簽。Zou 等[37]使用置信度正則化平滑,減少了錯誤的偽標簽為“學生模型”的訓練帶來的誤導效果。Mukherjee 等[38]使用貝葉斯不一致主動學習的思想評估標簽的不確定性,并根據(jù)不確定性的大小選擇偽標簽,該方法提升了多層雙向編碼器(bidirectional encoder representations from transformers,BERT)模型在3 個情感分類數(shù)據(jù)集上的精度。Wei 等[39]針對類別不均衡的問題,根據(jù)每個類別的樣本量抽樣偽標簽,提升了模型在只有少量樣本的類別上的召回率。
對于UBM 圖像眼前節(jié)關鍵點定位任務,“誤檢”關鍵點的后果比“漏檢”更嚴重,因為一旦誤檢且通過了后續(xù)的臨床參考值范圍的篩查,模型便會輸出錯誤的生理參數(shù),而漏檢則無法通過臨床參考值范圍的篩查,也就不會輸出生理參數(shù)。因此,本文使用StyleGAN3 生成了2 210 幅虛擬UBM 圖像,由已訓練好的YOLOv8 推理出2 210 幅虛擬UBM 圖像的偽標簽,眼科醫(yī)生在其中篩選出圖像與偽標簽均無錯誤的UBM 圖像共717 幅進行自訓練。
本文取目標檢測算法置信度從大到小前10 的目標的中心坐標作為輸出,分別對應圖3 中的眼前節(jié)關鍵點A~J,由于目標檢測輸出是無序的,不能直接根據(jù)這些坐標測量生理參數(shù),還需確定每個坐標對應的關鍵點醫(yī)學名稱。針對這個問題,本文結合眼前段生理結構和超聲成像原理,設計了一個排序算法,其能正確排序數(shù)據(jù)集內所有UBM 圖像的關鍵點。首先建立坐標系,確定圖像左上角為原點、向右和向下為橫軸與縱軸的正方向,在10 個點中選出縱坐標最小的點A(中央角膜前沿),再在剩下的9 個點中選出縱坐標最小的點B(中央角膜內皮),接著選出縱坐標最大的點C(晶狀體后囊)。然后選出橫坐標最小的2 個點D(左側前房角)和E(左側睫狀溝),當一條斜率為-1 的直線過E(左側睫狀溝)時,另一條斜率為-1 且過D(左側前房角)的直線會在其上方;同理,選出橫坐標最大的2 個點F(右側前房角)和G(右側睫狀溝),當一條斜率為1 的直線過G(右側睫狀溝)時,另一條斜率為1 且過F(右側前房角)的直線會在其上方。剩下3 個關鍵點按橫坐標從小到大排列,分別為H(瞳孔左端)、I(瞳孔中央)和J(瞳孔右端)。
圖3 UBM 圖像關鍵點排序算法示意圖
除了兩側前房角和兩側睫狀溝外,其他點都能夠直接根據(jù)橫縱坐標確定其醫(yī)學名稱。在UBM 圖像中,前房角的位置一般出現(xiàn)在睫狀溝的上方和外側,但由于成像時超聲不是垂直入射眼球或者眼前節(jié)生理性或病理性的結構變化,導致左側前房角在左側睫狀溝的上方,右側前房角在右側睫狀溝的下方,如圖3(a)所示;左側前房角在左側睫狀溝的外側,右側前房角在右側睫狀溝的內側,如圖3(b)所示。本文中設D、E、F、G 的坐標分別為,則有關系式。經驗證,眼前節(jié)關鍵點排序算法能夠對數(shù)據(jù)集內所有UBM 圖像正確排序。
UBM 只有在超聲垂直入射眼球時才能準確成像眼前節(jié)結構,此時測量出的生理參數(shù)才是準確的,而原始數(shù)據(jù)集中存在超聲掃查切面不正的UBM 圖像,因此以CCT、ACD、LT、ATA、STS、瞳孔直徑(pupil diameter,PD)等生理參數(shù)的臨床參考值范圍作為合格UBM 圖像的判據(jù)。
超聲垂直入射眼球時,在光滑的角膜內外表皮和晶狀體前后表面產生鏡面反射,此時反射的超聲最強,因此當超聲掃查切面較正時,角膜內外表皮以及晶狀體前后表面上會形成“明亮的光帶”,并且光帶的中心大致在一條豎線上(如圖4 所示);當超聲掃查切面不正且偏離眼球中心較大時,各光帶不在一條豎線上,并且由于反射的超聲強度不夠,通常無法成像出晶狀體后囊。因此,UBM 圖像上有無晶狀體后囊可作為超聲掃查切面偏差是否過大的判據(jù)之一。
圖4 高質量UBM 圖像判據(jù)示意圖
為篩除切面有偏差的圖片,除UBM 圖像中應顯示晶狀體后囊外,本文還依據(jù)眼前節(jié)參數(shù)參考值范圍設定了一些判斷條件,CCT 的臨床參考值范圍為0.473~0.597 mm[7],STS 的臨床參考值范圍為9.03~11.35 mm,ATA 的臨床參考值范圍為10.45~11.55 mm[40],ACD 和LT 的臨床參考值范圍分別為2.89~3.43 mm 和3.64~4.16 mm[41],PD 的臨床參考值范圍為2.34~2.66 mm[42],如圖4 所示。此外,為了保證在使用UBM 時超聲是垂直入射角膜的,使角膜中心、瞳孔中心以及晶狀體后囊3 個點在同一條直線附近,左右前房角在豎直方向上的坐標差和左右睫狀溝在豎直方向上的坐標差均須小于1 mm,晶狀體后囊與瞳孔中心的水平坐標之差須小于1.1 mm。
本文使用的原始數(shù)據(jù)集為天津醫(yī)科大學眼科醫(yī)院從2019 年4 月11 日至2020 年9 月18 日采集的前房角全景UBM 圖像,基于以上UBM 圖像的深度學習研究由天津醫(yī)科大學眼科醫(yī)院倫理委員會批準(2019KY-24),以眼科專家的手工標注為金標準,如圖5 所示。數(shù)據(jù)集制作方法可參見文獻[14]。
圖5 UBM 圖像眼前節(jié)關鍵點標注示意圖(金標準)
本文參考文獻[14],以歐氏距離評估模型的點定位性能和生理參數(shù)測量性能,以假陽性率評估模型區(qū)分角膜偽影和晶狀體后囊的能力。
模型訓練使用Pytorch 2.2.0 框架,硬件環(huán)境為NVIDIA RTX 3090Ti,24 GiB 內存,計算架構為CUDA 12.1,編譯語言為Python 3.8。由于全景UBM 圖像分辨力為1 024×576 像素,StyleGAN3 在訓練前需將其填充至1 024×1 024 像素,而后將其縮放至256×256像素,以減少訓練時間。此外,本文還用傳統(tǒng)的GAN生成了UBM 圖像,并將其結果與StyleGAN3 生成的UBM 圖像進行對比,如圖6 所示。
圖6 UBM 圖像生成效果圖
相比于原圖,傳統(tǒng)GAN 生成的結果畫面模糊,這可能是由于其本身網絡結構限制或者訓練時的分辨力太低。當StyleGAN3 迭代到第200 000 次時,已經能夠生成眼前節(jié)的大致結構,不過圖像太過光滑,其圖像特征更接近AS-OCT 圖像;當StyleGAN3 迭代到第1 600 000 次時,StyleGAN3 能夠生成一些超聲圖像特有的細節(jié),如較低的信噪比、較模糊的組織邊界,但在晶狀體后囊附近和圖像邊緣仍有斑狀偽影;當StyleGAN3 迭代到第3 200 000 次時,StyleGAN3能夠生成具有各關鍵點的眼前節(jié)結構,且晶狀體后囊附近不再出現(xiàn)斑狀偽影。
由于StyleGAN3 生成的圖像屬于虛擬醫(yī)學圖像,實際臨床中算法檢測的都是真實患者的眼前節(jié)UBM 圖像,所以將生成的717 幅UBM 圖像全部加入訓練集,使592∶125 的UBM 數(shù)據(jù)集擴充至1 309∶125,并使用擴充后的數(shù)據(jù)集重新訓練YOLOv8,最終模型在684 輪次收斂。經虛擬UBM 圖像數(shù)據(jù)增強后的YOLOv8(YOLOv8sDIoU+StyleGAN3模型)的預測結果見表1,其點定位平均誤差為(61.94±40.66)μm,平均像素誤差為(3.41±3.01)像素。文獻[26]中ResNet-18模型定位眼前節(jié)圖像中鞏膜突的平均像素誤差為(9.14±5.21)像素,文獻[27]中EfficientNet-B3 模型定位眼前節(jié)圖像中鞏膜突的平均像素誤差為(6.31±5.12)像素,文獻[14]中眼前節(jié)關鍵點定位的平均像素誤差為(3.65±3.64)像素。由于各研究中眼前節(jié)圖像的分辨力不同,本文使用平均像素誤差衡量其關鍵點定位精度。本文算法在定位眼前節(jié)圖像關鍵點的任務方面具有更高的精度。此外,算法預測ATA的平均相對誤差為0.62%,預測PD 的平均相對誤差為1.35%,預測STS 的平均相對誤差為0.68%,預測CCT 的平均相對誤差為4.87%,預測ACD 的平均相對誤差為0.93%,預測LT 的平均相對誤差為0.75%。
表1 不同模型性能比較
使用YOLOv8s 定位UBM 圖像中的關鍵點,最大迭代次數(shù)為1 200,當連續(xù)迭代50 個輪次后模型性能沒有明顯提升則提前停止訓練,最終模型在584輪次收斂。輸入圖像尺寸為640×384 像素,批量大小為32,權重衰減系數(shù)為0.000 5,動量因子為0.937,預熱輪次為3,預熱階段初始動量為0.8,預熱階段初始偏置學習率為0.1,DFL 損失權重為1.5。
為保證算法的實時性,便于后續(xù)部署的輕量化,本文選擇單階段目標檢測算法,比較YOLOv8s、YOLOv5s 和CenterNet 在眼前節(jié)參數(shù)測量中的性能,實驗結果見表1,其中CenterNet 不支持CPU 推理且精度較低。YOLOv8sCIoU的精度比YOLOv5sDIoU低,這是由于本文在YOLOv5sDIoU中使用的定位損失函數(shù)是DIoU,而在YOLOv8sCIoU中使用的是CIoU。CIoU 在DIoU 的基礎上引入了長寬比的損失,會影響到本文關鍵點定位的性能。故表1 中YOLOv8sDIoU使用了DIoU,其點定位精度略高于YOLOv5sDIoU。
DIoU Loss 考慮了預測框和真實框之間的距離,DIoU Loss 的表達式如下:
式中,IoU 表示預測框和真實框的交并比;ρ 表示兩點間的歐氏距離;p 和g 表示預測框和真實框的中心點;c 表示2 個框的最小包圍矩形框的對角線長度。
CIoU Loss 在DIoU Loss 的基礎上加入了檢測框長寬比的損失,CIoU Loss 的表達式如下:
表1 中YOLOv8s+GCNet 模型在YOLOv8s 中加入了GCNet 模塊,改進后的模型關鍵點定位精度高于YOLOv8sDIoU。在YOLOv8sDIoU中,已經使用了馬賽克數(shù)據(jù)增強等傳統(tǒng)的數(shù)據(jù)增強方法,YOLOv8sDIoU+StyleGAN3在此基礎上使用StyleGAN3 進一步進行數(shù)據(jù)增強,經眼科醫(yī)生篩選后用于YOLOv8s 的自訓練,其點定位精度高于YOLOv8sDIoU。
YOLOv8sDIoU+StyleGAN3(無篩選)將所有StyleGAN3 生成的圖像直接用于YOLOv8s 自訓練,與YOLOv8sDIoU+StyleGAN3和YOLOv8sDIoU進行對照,其點定位精度較差,驗證了自訓練中低質量的醫(yī)學圖像和偽標簽會降低模型的預測精度,同時驗證了在自訓練前由眼科專家篩選合格圖像的必要性。
此外,本文算法檢測到了眼科醫(yī)生手工標注時沒有標注到的晶狀體后囊位置,如圖7 所示。圖7(a)的晶狀體后囊附近只有一層很少的白色像素點,如果標注時不放大很難被人眼察覺,圖7(b)中晶狀體后囊處的像素特征也不明顯,并且與角膜偽影相重疊,這導致眼科醫(yī)生在標注時沒有將其標出。本文使用的YOLOv5、CenterNet 和YOLOv8 在檢測不明顯的晶狀體后囊時具有很高的敏感度。
圖7 YOLOv8 關鍵點定位結果
針對基于深度學習的眼前節(jié)參數(shù)測量的算法研究中存在的醫(yī)學數(shù)據(jù)稀少和醫(yī)學數(shù)據(jù)標注成本高導致的模型泛化能力弱的問題,本文提出使用StyleGAN3 合成虛擬UBM 圖像,使用已訓練好的眼前節(jié)參數(shù)測量算法推理出合成圖像的偽標簽,經眼科醫(yī)生篩選后進行自訓練,并結合GCNet 模塊改進YOLOv8 模型,最終提高了眼前節(jié)參數(shù)測量算法的精度,其關鍵點定位精度和生理參數(shù)測量精度均高于文獻[14]中所提出的模型,且該算法滿足實時性的需求、對硬件要求不高。在偽標簽自訓練中,需要眼科專家挑選高質量樣本,這一過程依賴于醫(yī)生的臨床經驗。在未來的工作中,將探索生成更真實的UBM 圖像,以及將醫(yī)生的臨床經驗量化用以篩選適合本任務的UBM 圖像。