本發(fā)明涉及計算機(jī)圖像處理,具體涉及一種基于關(guān)鍵點對智能化匹配的多模態(tài)眼底圖像配準(zhǔn)方法。
背景技術(shù):
1、醫(yī)學(xué)圖像配準(zhǔn)是計算機(jī)輔助診斷和圖像引導(dǎo)手術(shù)治療的基礎(chǔ)步驟。在眼底圖像配準(zhǔn)中,基于強(qiáng)度的配準(zhǔn)方法最先得到應(yīng)用?;趶?qiáng)度的配準(zhǔn)方法將問題視為一個迭代優(yōu)化問題,主要致力于開發(fā)各種相似度函數(shù),包括(歸一化)互相關(guān)(cc)、(歸一化)互信息(mi)等,但是基于強(qiáng)度的配準(zhǔn)方法對于圖像的光照、對比度變化非常敏感?;谔卣鞯呐錅?zhǔn)方法比基于強(qiáng)度的配準(zhǔn)方法更有效,其思想是從輸入圖像中提取關(guān)鍵特征,為每個特征計算一個描述符,將兩幅圖像中最接近的特征進(jìn)行匹配,進(jìn)而建立轉(zhuǎn)換關(guān)系。尺度不變特征變換(sift)在基于特征的匹配方法中具有開創(chuàng)性意義,相較于sift,加速魯棒特征(surf)和orb(oriented?fast?and?rotated?brief)在計算效率上更優(yōu)。然而,當(dāng)待配準(zhǔn)的圖像對由于不同的相機(jī)、模態(tài)或視網(wǎng)膜病變引起的背景變化而具有不同的形態(tài)時,這些出現(xiàn)于深度學(xué)習(xí)技術(shù)之前的傳統(tǒng)方法的配準(zhǔn)精度卻差強(qiáng)人意;同時,迭代優(yōu)化導(dǎo)致的較高時間成本也是傳統(tǒng)方法面臨的又一個問題。
2、基于深度學(xué)習(xí)的眼底圖像配準(zhǔn)方法使用了一種三階段方法(分割、檢測和描述以及排除異常值),這種方法的優(yōu)點是它繞過了不同模態(tài)的強(qiáng)度差距,取得了顯著的配準(zhǔn)精度,但缺點是它的復(fù)雜性較高。在其他醫(yī)學(xué)圖像配準(zhǔn)中,大部分使用了非線性變換,在涉及眼底圖像配準(zhǔn)時,線性變換是最常用的方法。眼底圖像配準(zhǔn)通常使用cf圖像和ffa圖像,它們完全依賴可見光照明進(jìn)行成像,這種成像原理加上拍攝對象眼球的自然運動,在拍攝多張照片時可能會導(dǎo)致圖像亮度、對比度和視角的較大差異,非線性變換在這種大差異條件下很難獲得較好的配準(zhǔn)效果。
3、不同模態(tài)眼底圖像采集設(shè)備的成像原理差異使得多模態(tài)眼底圖像存在較大的亮度、對比度差異,基于強(qiáng)度的配準(zhǔn)方法對于圖像的亮度差異非常敏感,難以直接應(yīng)用于多模態(tài)眼底圖像配準(zhǔn);同時,不同模態(tài)眼底圖像上同一特征的特征描述符主方向差異較大,導(dǎo)致特征的匹配成功率較低,使得基于特征的配準(zhǔn)方法難以取得穩(wěn)定的配準(zhǔn)結(jié)果??傊?,傳統(tǒng)的眼底圖像配準(zhǔn)方法無法直接應(yīng)用于多模態(tài)眼底圖像配準(zhǔn)。此外,傳統(tǒng)配準(zhǔn)方法的時間成本較高,在配準(zhǔn)效率上無法與深度學(xué)習(xí)的方法相媲美。盡管深度學(xué)習(xí)技術(shù)在眼底圖像配準(zhǔn)任務(wù)中展現(xiàn)出較大的應(yīng)用潛力,但是現(xiàn)有基于深度學(xué)習(xí)的配準(zhǔn)方法研究還處于初始階段,而且多依賴于特定的網(wǎng)絡(luò)結(jié)構(gòu)或配準(zhǔn)模型過于復(fù)雜,仍存在廣闊的探索空間。
技術(shù)實現(xiàn)思路
1、為此,本發(fā)明提供一種基于關(guān)鍵點對智能化匹配的多模態(tài)眼底圖像配準(zhǔn)方法,以解決背景技術(shù)中提出的問題。
2、為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于關(guān)鍵點對智能化匹配的多模態(tài)眼底圖像配準(zhǔn)方法,將多模態(tài)眼底圖像數(shù)據(jù)集經(jīng)過劃分與增強(qiáng)后送入yolov8神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,選用訓(xùn)練得到的最優(yōu)權(quán)重進(jìn)行預(yù)測,得到預(yù)測結(jié)果;所述yolov8神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果包含兩部分,一部分是標(biāo)記關(guān)鍵點對、邊界框類別以及置信度的測試集圖片;另一部分是包含關(guān)鍵點對類別、邊界框坐標(biāo)以及關(guān)鍵點對坐標(biāo)的文本格式文件;根據(jù)預(yù)測結(jié)果選取三個關(guān)鍵點對,由三個關(guān)鍵點對計算仿射變換矩陣,對圖像進(jìn)行仿射變換得到配準(zhǔn)結(jié)果;
3、關(guān)鍵點對選?。辉谟嬎憔€性變換矩陣時,可以分別選取二個關(guān)鍵點對計算剛性矩陣,至少選擇三個關(guān)鍵點對計算仿射矩陣,或者至少選擇四個關(guān)鍵點對計算單應(yīng)性矩陣;為了簡化操作,通常至少選擇三個關(guān)鍵點對計算仿射矩陣;為了獲得更優(yōu)的配準(zhǔn)效果,關(guān)鍵點對的分布應(yīng)盡可能分散;
4、從文本格式文件中選取三個關(guān)鍵點對,步驟如下:
5、s1-1.設(shè)置閾值thre,將文本格式文件中關(guān)鍵點pi∈p進(jìn)行分類,p表示關(guān)鍵點集合,每個關(guān)鍵點pi包含屬性{classi,box_xi,box_yi,box_widthi,box_heighti,xi,yi},其中,classi為關(guān)鍵點對的類別,box_xi為邊界框左上角橫坐標(biāo),box_yi為邊界框左上角縱坐標(biāo),box_widthi為邊界框?qū)挾龋琤ox_heighti為邊界框高度,xi為關(guān)鍵點的橫坐標(biāo),yi為關(guān)鍵點的縱坐標(biāo),i=0,1,2,…,n,表示n個關(guān)鍵點;
6、若關(guān)鍵點的橫坐標(biāo)xi坐標(biāo)小于閾值thre,則將與之對應(yīng)的關(guān)鍵點pi歸入到集合cfpoints中;否則,將其歸入到集合ffapoints中,集合cfpoints與ffapoints組成關(guān)鍵點對;
7、偽代碼如下:
8、//?遍歷文本格式文件中所有關(guān)鍵點
9、for?i?=?0...n?do
10、//?若關(guān)鍵點pi的xi坐標(biāo)值小于閾值thre
11、if?xi?<thre?then
12、???//?將關(guān)鍵點信息放入到cfpoints中,“←”則表示將pi添加到集合cfpoints或者集合ffapoints中
13、???????cfpoints?←?pi
14、???else
15、???????ffapoints?←?pi
16、???end
17、end
18、s1-2.從集合cfpoints中任選一關(guān)鍵點cfkpf作為基準(zhǔn)點,計算該關(guān)鍵點cfkpf與其他關(guān)鍵點cfkpi的歐氏距離dis_cfkpfi,并找到距離該關(guān)鍵點cfkpf歐氏距離最遠(yuǎn)的關(guān)鍵點cfkpm,連接cfkpf與cfkpm,得到直線cfkpl;
19、然后計算其他關(guān)鍵點cfkpi到直線cfkpl的垂直距離,選取垂直距離最大的關(guān)鍵點cfkpe;
20、在集合ffapoints選取與關(guān)鍵點cfkpf,cfkpm以及cfkpe具有相同關(guān)鍵點對的類別classi的三個關(guān)鍵點作為ffakpf,ffakpm及ffakpe;將三個關(guān)鍵點對(cfkpf,ffakpf),(cfkpm,ffakpm),(cfkpe,ffakpe)將用于計算仿射矩陣;
21、偽代碼如下:
22、//?從?cfpoints?中任選一個基準(zhǔn)點?cfkpf,假設(shè)選取第一個點p0作為基準(zhǔn)點,p0包含屬性{class0,box_x0,box_y0,box_width0,box_height0,x0,y0}
23、cfkpf?=?p0
24、//?初始化最大距離
25、max_distance?=?0
26、//?計算?cfpoints?中其他關(guān)鍵點pi到cfkpf的距離,找出最遠(yuǎn)的點cfkpm
27、for?i?=?1...n?do
28、???//?計算cfkpf與其他關(guān)鍵點的歐式距離dis_cfkpfi
29、???dis_cfkpfi?=?
30、???//?若當(dāng)前dis_cfkpfi大于max_distance,則更新max_distance與最大距離點cfkpm
31、???if?dis_cfkpfi?>max_distance?then
32、???????max_distance?=?dis_cfkpfi
33、cfkpm?=?pi
34、???end
35、end
36、//?連接?cfkpf?和?cfkpm,得到直線?cfkpl
37、cfkpl?:?,其中,,
38、//?初始化最大距離
39、max_verticaldis?=?0
40、//?計算其他關(guān)鍵點pi到直線cfkpl的距離,其中,(i=1,2,…n,?i≠m),找出最遠(yuǎn)點?cfkpe
41、for?i?=?1...n?do
42、???//計算cfpoints中其他關(guān)鍵點到cfkpl的垂直距離dis_cfkp_linei
43、???dis_cfkp_linei?=?
44、???//?若當(dāng)前dis_cfkp_linei大于max_verticaldis,則更新max_verticaldis與最大垂直距離點cfkpe
45、???if?dis_cfkp_linei?>max_verticaldis?then
46、???????max_verticaldis?=?dis_cfkp_linei
47、???????cfkpe?=?pi
48、???end
49、end
50、//?從?ffapoints?中選取與?cfkpf,cfkpm,cfkpe?具有相同?classi?(i?=?f,?m,e)?的三個關(guān)鍵點,其中cfkpf,cfkpm,cfkpe對應(yīng)的類別為classf,?classm,classe
51、//?遍歷ffapoints中所有關(guān)鍵點pj
52、for?j?=?0…n?do
53、???//?如果關(guān)鍵點pj的類別與關(guān)鍵點cfkpf的類別匹配
54、if?classj?=?classf?then
55、??????ffakpf?=?pj
56、else?if?classj?=?classm?then
57、??????ffakpm?=?pj
58、else?classj?=?classe?then
59、??????ffakpe?=?pj
60、???end
61、end
62、//?(cfkpf,ffakpf),(cfkpm,ffakpm),(cfkpe,ffakpe)?為計算仿射矩陣的三個關(guān)鍵點對。
63、圖像配準(zhǔn);依據(jù)選取的關(guān)鍵點對(cfkpf,ffakpf),(cfkpm,ffakpm),(cfkpe,ffakpe),對仿射矩陣進(jìn)行變換以實現(xiàn)圖像配準(zhǔn)。
64、優(yōu)選的,數(shù)據(jù)集的制作步驟如下:
65、直接獲得的多模態(tài)眼底圖像數(shù)據(jù)集不能直接送入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,需要將其制作為符合本任務(wù)中神經(jīng)網(wǎng)絡(luò)輸入格式的數(shù)據(jù)集;將多模態(tài)眼底圖像(如cf圖像和ffa圖像)縮放至相同尺寸并拼接,得到原始數(shù)據(jù)集;選取血管分叉點作為關(guān)鍵點,在原始數(shù)據(jù)集上選取若干關(guān)鍵點對,使用適當(dāng)大小邊界框?qū)⑵淇蜻x,并將每對關(guān)鍵點對與相應(yīng)邊界框標(biāo)記為一類,得到帶有關(guān)鍵點對、邊界框以及類別信息的圖片,即標(biāo)簽;原始數(shù)據(jù)集與標(biāo)簽共同構(gòu)成數(shù)據(jù)集。
66、優(yōu)選的,數(shù)據(jù)集劃分與增強(qiáng)的步驟如下:
67、將制作后的數(shù)據(jù)集按8:1:1比例劃分為訓(xùn)練集、驗證集和測試集,并對訓(xùn)練集和驗證集進(jìn)行數(shù)據(jù)增強(qiáng),包括但不限于旋轉(zhuǎn)、鏡像以及濾波操作,提升模型預(yù)測結(jié)果的準(zhǔn)確性和模型的泛化能力。
68、優(yōu)選的,將數(shù)據(jù)增強(qiáng)后的訓(xùn)練集和驗證集送入yolov8神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到最優(yōu)權(quán)重,步驟如下:
69、s4-1.采用cspdarknet作為backbone,包括sppf模塊和c2f模塊,將訓(xùn)練集送入backbone提取多層次特征;
70、s4-2.對來自backbone的多層次特征,采用nas-fpn(神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索方法生成的特征金字塔網(wǎng)絡(luò))進(jìn)一步融合,在不同尺度(主要是從大中小三個尺度上關(guān)注圖像上粗粒度、中粒度、細(xì)粒度的信息)上檢測和定位關(guān)鍵點對;
71、s4-3.在驗證集上輸出關(guān)鍵點對的分類結(jié)果和位置坐標(biāo),將驗證過程中?yolov8神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)重進(jìn)行保存,以便得到最優(yōu)的預(yù)測結(jié)果。
72、優(yōu)選的,仿射矩陣變換的公式如下:
73、;
74、其中,為運動圖像進(jìn)行仿射變換后的新坐標(biāo),為運動圖像仿射變換變換之前的坐標(biāo),為根據(jù)選取的關(guān)鍵點對計算得到的仿射變換矩陣,a,b,c,d均是仿射變換矩陣的參數(shù),分別表示旋轉(zhuǎn)、縮放和剪切變換復(fù)合后的參數(shù),,是平移量。
75、本發(fā)明具有如下優(yōu)點:
76、1.本發(fā)明在圖像亮度、對比度以及視角等大差異條件下為多模態(tài)眼底圖像配準(zhǔn)提供了一種嶄新的解決思路,而且完全適用于單模態(tài)眼底圖像配準(zhǔn)。
77、2.本發(fā)明不僅能實現(xiàn)多模態(tài)眼底圖像高精度、高效率配準(zhǔn),而且方法簡單,無需特定或復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),其中,神經(jīng)網(wǎng)絡(luò)具備關(guān)鍵點檢測能力即可。
78、本發(fā)明所提出的方法為圖像亮度、對比度以及視角等大差異條件下實現(xiàn)多模態(tài)眼底圖像配準(zhǔn)提供了一種新穎且簡單的方法,通過關(guān)鍵點對檢測技術(shù)和線性變換技術(shù)(如剛性變換、仿射變換、單應(yīng)性變換等)的結(jié)合實現(xiàn)了眼底圖像的快速、準(zhǔn)確配準(zhǔn)。該方法簡單方便,無需特定或復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),且對其他醫(yī)學(xué)/自然圖像配準(zhǔn)領(lǐng)域也具有一定的借鑒意義。