本發(fā)明屬于圖像分割,具體涉及一種基于sam的蝴蝶生態(tài)圖像分割方法及系統(tǒng)。
背景技術(shù):
1、在蝴蝶生態(tài)圖像中,蝴蝶的擬態(tài)性使得蝴蝶與背景相似度極高,因此,對(duì)含有背景的蝴蝶生態(tài)圖像的自動(dòng)化識(shí)別準(zhǔn)確率遠(yuǎn)低于剔除了大部分背景的蝴蝶生態(tài)圖像?,F(xiàn)有圖像分割網(wǎng)絡(luò)對(duì)蝴蝶生態(tài)圖像分割存在精度不足、邊界破碎、混淆蝴蝶像素和背景像素等問(wèn)題,因此需要蝴蝶生態(tài)圖像專用分割模型。
2、kirillov,?alexander等人在論文《segment?anything》提出了sam模型。該模型由圖像編碼器、圖像解碼器和提示編碼器組成。將圖像輸入圖像編碼器,將點(diǎn)、框、文本提示輸入提示編碼器,然后將圖像編碼器和提示編碼器生成特征輸入圖像解碼器得到蝴蝶掩碼。但是sam對(duì)蝴蝶生態(tài)圖像分割精度依然不足,且參數(shù)量龐大,難以訓(xùn)練。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提供一種基于sam的蝴蝶生態(tài)圖像分割方法,旨在解決sam在蝴蝶生態(tài)圖像分割中存在的分割結(jié)果精度不理想、訓(xùn)練成本高的問(wèn)題,通過(guò)加入雙路卷積模塊,對(duì)圖像編碼器生成的特征進(jìn)一步進(jìn)行特征提取,得到圖像的全局特征和局部特征,通過(guò)加入特征融合模塊,將圖像的全局特征和圖像解碼器生成的掩碼特征進(jìn)行融合,豐富了掩碼特征的細(xì)節(jié),提高模型對(duì)蝴蝶生態(tài)圖像的分割精度。通過(guò)凍結(jié)圖像編碼器、提示編碼器、掩碼解碼器的參數(shù),僅訓(xùn)練參數(shù)量較少的雙路卷積模塊和特征融合模塊的參數(shù)。
2、為了實(shí)現(xiàn)上述目的,第一方面,本發(fā)明提供一種基于sam的蝴蝶生態(tài)圖像分割方法,包括以下步驟:
3、使用掩碼的方式對(duì)調(diào)整大小蝴蝶生態(tài)圖像的進(jìn)行標(biāo)注,得到二值化的蝴蝶生態(tài)圖像;
4、將所原始的蝴蝶生態(tài)圖像輸入蝴蝶分割網(wǎng)絡(luò);所述蝴蝶分割網(wǎng)絡(luò)包括圖像編碼器、提示編碼器、圖像解碼器、雙路卷積模塊、特征融合模塊;所述圖像編碼器為sam模型經(jīng)過(guò)預(yù)訓(xùn)練的圖像編碼器,由12個(gè)transformer模塊依次連接組成,用于對(duì)蝴蝶生態(tài)圖像進(jìn)行編碼,輸入蝴蝶生態(tài)圖像,將最后一個(gè)transformer模塊輸出的圖像特征向量輸入至圖像解碼器;提示編碼器為sam模型經(jīng)過(guò)預(yù)訓(xùn)練的提示編碼器,用于將點(diǎn)、文本、錨框提示編碼為提示向量;圖像解碼器為sam模型經(jīng)過(guò)預(yù)訓(xùn)練的圖像解碼器,用于將圖像編碼器產(chǎn)生的蝴蝶生態(tài)圖像特征向量和提示編碼器產(chǎn)生的提示向量進(jìn)行解碼,產(chǎn)生掩碼特征向量;雙路卷積模塊用于對(duì)圖像編碼器12個(gè)transformer模塊產(chǎn)生的特征編碼向量進(jìn)行進(jìn)一步特征提取,包含全局通路和局部通路兩條通路,全局通路利用圖像編碼器第3、6、9、12個(gè)transformer模塊產(chǎn)生的圖像特征向量產(chǎn)生圖像全局特征向量,局部通路利用剩余transformer模塊產(chǎn)生的圖像特征向量產(chǎn)生圖像局部特征向量;
5、對(duì)圖像全局特征向量、局部特征向量和掩碼特征向量進(jìn)行融合得到最終蝴蝶掩碼圖像。
6、進(jìn)一步的,使用掩碼的方式對(duì)調(diào)整大小蝴蝶生態(tài)圖像的進(jìn)行標(biāo)注,得到二值化的蝴蝶生態(tài)圖像包括:
7、將蝴蝶生態(tài)圖像調(diào)整為高h(yuǎn)寬w的圖像,c代表圖像通道,彩色rgb圖像通道數(shù)為3,將蝴蝶生態(tài)圖像記作,使用掩碼的方式進(jìn)行標(biāo)注,采用labelimg軟件對(duì)蝴蝶邊界做若干個(gè)點(diǎn),將所述若干個(gè)點(diǎn)用線段連接構(gòu)成一個(gè)封閉圖像,所述封閉圖像內(nèi)部取值1,外部取值0,得到一張由0和1構(gòu)成的png圖像,其中值為1的區(qū)域即蝴蝶區(qū)域。
8、進(jìn)一步的,對(duì)構(gòu)造蝴蝶分割網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí):凍結(jié)圖像編碼器、提示編碼器、圖像解碼器的參數(shù),僅訓(xùn)練雙路卷積模塊、特征融合模塊的參數(shù);訓(xùn)練雙路卷積模塊、特征融合模塊的參數(shù)使用損失函數(shù)為:
9、
10、其中代表二元交叉熵?fù)p失函數(shù)bce(binary?crossentropy?loss),由下式確定;
11、
12、其中,為具體像素點(diǎn),為像素點(diǎn)預(yù)測(cè)為蝴蝶類(lèi)別的概率,為對(duì)應(yīng)真實(shí)標(biāo)簽,為一張圖像像素點(diǎn)總數(shù);
13、代表dice損失函數(shù),由下式確定;
14、
15、其中,為具體像素點(diǎn),為像素點(diǎn)預(yù)測(cè)為蝴蝶類(lèi)別的概率,為對(duì)應(yīng)真實(shí)標(biāo)簽,為一張圖像像素點(diǎn)總數(shù)。
16、進(jìn)一步的,所述全局通路由4個(gè)基本卷積模塊依次連接,將圖像編碼器第3個(gè)transformer模塊產(chǎn)生的圖像特征向量輸入全局通路第1個(gè)基本卷積模塊,將第1個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第6個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入全局通路第2個(gè)基本卷積模塊,將第2個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第9個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入全局通路第3個(gè)基本卷積模塊,將第3個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第12個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入全局通路第4個(gè)基本卷積模塊,其產(chǎn)生的圖像特征向量為圖像全局特征向量。
17、進(jìn)一步的,所述局部通路由8個(gè)基本卷積模塊依次連接,將圖像編碼器第1個(gè)transformer模塊產(chǎn)生的圖像特征向量輸入局部通路第1個(gè)基本卷積模塊,將第1個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第2個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第2個(gè)基本卷積模塊,將第2個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第4個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第3個(gè)基本卷積模塊,將第3個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第5個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第4個(gè)基本卷積模塊,將第4個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第7個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第5個(gè)基本卷積模塊,將第5個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第8個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第6個(gè)基本卷積模塊,將第6個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第10個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第7個(gè)基本卷積模塊,將第7個(gè)基本卷積模塊輸出的圖像特征向量與圖像編碼器第11個(gè)transformer模塊產(chǎn)生的圖像特征向量相加后,輸入局部通路第8個(gè)基本卷積模塊,產(chǎn)生的圖像特征向量為圖像局部特征向量。
18、進(jìn)一步的,所述基本卷積模塊用于對(duì)圖像編碼器transformer模塊產(chǎn)生的圖像特征向量進(jìn)行特征提取,由1個(gè)大小為3*3步長(zhǎng)為1的卷積層、1個(gè)歸一化層、1個(gè)relu激活函數(shù)層、1個(gè)大小為3*3步長(zhǎng)為1的卷積層、1個(gè)歸一化層、1個(gè)relu激活函數(shù)層依次拼接。
19、進(jìn)一步的,所述特征融合模塊,由一個(gè)可學(xué)習(xí)的1*256維向量和一個(gè)三層感知機(jī)組成,1*256維的向量經(jīng)過(guò)三層感知機(jī)處理后變?yōu)?*32維向量,將雙路卷積模塊產(chǎn)生的全局特征向量、局部特征向量和掩碼解碼器產(chǎn)生的掩碼向量相加后,使用1*32維向量與其進(jìn)行矩陣乘法,得到最終分割出的蝴蝶掩碼圖。
20、第二方面,本發(fā)明還提供一種基于sam的蝴蝶生態(tài)圖像分割系統(tǒng),包括圖像預(yù)處理模塊、特征提取模塊、特征融合模塊;
21、圖像預(yù)處理模塊用于使用掩碼的方式對(duì)調(diào)整大小蝴蝶生態(tài)圖像的進(jìn)行標(biāo)注,得到二值化的蝴蝶生態(tài)圖像;
22、特征提取模塊用于將原始的蝴蝶生態(tài)圖像輸入蝴蝶分割網(wǎng)絡(luò);所述蝴蝶分割網(wǎng)絡(luò)包括圖像編碼器、提示編碼器、圖像解碼器、雙路卷積模塊、特征融合模塊;所述圖像編碼器為sam模型經(jīng)過(guò)預(yù)訓(xùn)練的圖像編碼器,由12個(gè)transformer模塊依次連接組成,用于對(duì)蝴蝶生態(tài)圖像進(jìn)行編碼,輸入蝴蝶生態(tài)圖像,將最后一個(gè)transformer模塊輸出的圖像特征向量輸入至圖像解碼器;提示編碼器為sam模型經(jīng)過(guò)預(yù)訓(xùn)練的提示編碼器,用于將點(diǎn)、文本、錨框提示編碼為提示向量;圖像解碼器為sam模型經(jīng)過(guò)預(yù)訓(xùn)練的圖像解碼器,用于將圖像編碼器產(chǎn)生的蝴蝶生態(tài)圖像特征向量和提示編碼器產(chǎn)生的提示向量進(jìn)行解碼,產(chǎn)生掩碼特征向量;雙路卷積模塊用于對(duì)圖像編碼器12個(gè)transformer模塊產(chǎn)生的特征編碼向量進(jìn)行進(jìn)一步特征提取,包含全局通路和局部通路兩條通路,全局通路利用圖像編碼器第3、6、9、12個(gè)transformer模塊產(chǎn)生的圖像特征向量產(chǎn)生圖像全局特征向量,局部通路利用剩余transformer模塊產(chǎn)生的圖像特征向量產(chǎn)生圖像局部特征向量;
23、特征融合模塊用于對(duì)圖像全局特征向量、局部特征向量和掩碼特征向量進(jìn)行融合得到最終蝴蝶掩碼圖像。
24、第三方面,本發(fā)明還可以提供一種計(jì)算機(jī)設(shè)備,包括處理器以及存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序,處理器從存儲(chǔ)器中讀取所述計(jì)算機(jī)可執(zhí)行程序并執(zhí)行,處理器執(zhí)行計(jì)算可執(zhí)行程序時(shí)能實(shí)現(xiàn)本發(fā)明所述基于sam的蝴蝶生態(tài)圖像分割方法。
25、同時(shí)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),能實(shí)現(xiàn)本發(fā)明所述的基于sam的蝴蝶生態(tài)圖像分割方法。
26、與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下有益效果:
27、sam的需要訓(xùn)練圖像編碼器、提示編碼器和掩碼解碼器,所需訓(xùn)練參數(shù)量為1191m,本發(fā)明僅需訓(xùn)練雙路卷積模塊和特征融合模塊,需要訓(xùn)練參數(shù)量約14.7m,遠(yuǎn)低于sam所需訓(xùn)練參數(shù)量,在一塊gpu上即可完成訓(xùn)練,因此本發(fā)明訓(xùn)練成本遠(yuǎn)低于重新訓(xùn)練sam模型。
28、通過(guò)將圖像編碼器中每個(gè)transformer模塊產(chǎn)生的圖像編碼特征輸入雙路卷積模塊再次進(jìn)行特征提取,充分利用了每個(gè)transformer模塊產(chǎn)生的信息,學(xué)習(xí)到了更多的圖像細(xì)節(jié)的知識(shí),產(chǎn)生了圖像全局特征與圖像局部特征,將圖像全局特征、圖像局部知識(shí)和掩碼解碼器產(chǎn)生的圖像掩碼特征輸入特征融合模塊利用加和的方式融合,豐富了圖像掩碼特征的細(xì)節(jié),并通過(guò)一個(gè)可學(xué)習(xí)的向量將圖像掩碼特征轉(zhuǎn)化為最終分割掩碼輸出,提高了對(duì)蝴蝶生態(tài)圖像的分割精度,相比與sam模型,本發(fā)明對(duì)蝴蝶生態(tài)圖像分割的iou指數(shù)從89.82%提升到了91.78%,miou指數(shù)從94.76%提升至95.78%。