本發(fā)明涉及指針儀表讀數(shù),尤其涉及一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法。
背景技術(shù):
1、所謂旋轉(zhuǎn)目標(biāo)檢測,即在水平目標(biāo)檢測算法的基礎(chǔ)上,將預(yù)測目標(biāo)的外接矩形框改為預(yù)測目標(biāo)的最小面積外接矩形,以便更加精確地獲取目標(biāo)的長寬和角度信息,使模型輸出的特征信息更加豐富;目前常用的旋轉(zhuǎn)目標(biāo)表示方式主要有以下三種:
2、方式一:直接預(yù)測旋轉(zhuǎn)矩形的四個(gè)頂點(diǎn)的坐標(biāo)值,(x1,y1),(x2,y2),(x3,y3),(x4,y4);
3、上述方式一,在非旋轉(zhuǎn)矩形的基礎(chǔ)上,通過學(xué)習(xí)四個(gè)點(diǎn)在非旋轉(zhuǎn)矩形上的偏移來定位出一個(gè)四邊形來表示一個(gè)物體,該模型使用的標(biāo)記方式如圖7所示,在預(yù)測目標(biāo)時(shí),首先預(yù)測一個(gè)水平矩形,之后預(yù)測4個(gè)偏移量,然后計(jì)算出旋轉(zhuǎn)矩形的坐標(biāo),本申請(qǐng)?jiān)O(shè)計(jì)旋轉(zhuǎn)目標(biāo)檢測網(wǎng)絡(luò)的主要目的是預(yù)測指針方向,該方法復(fù)雜度較高,因此需要簡化問題,降低難度。
4、方式二:預(yù)測目標(biāo)的一個(gè)長邊的兩個(gè)頂點(diǎn)坐標(biāo)和一個(gè)偏移量;
5、上述方式二中,旋轉(zhuǎn)矩形由順時(shí)針方向左上角開始的前兩個(gè)頂點(diǎn)坐標(biāo)(p,θ1),(p,θ2),加上回歸極點(diǎn)(x,y)共計(jì)5維信息定義一個(gè)旋轉(zhuǎn)矩形,如此可避免直接預(yù)測旋轉(zhuǎn)矩形角度信息帶來的不穩(wěn)定性,該模型使用的旋轉(zhuǎn)矩形標(biāo)記方式如圖8所示,本申請(qǐng)力求在原始檢測模型上微調(diào)修改,該模型的改動(dòng)較大,故不考慮采用此方案。
6、方式三:構(gòu)造旋轉(zhuǎn)anchor,旋轉(zhuǎn)anchor中含有寬、高、旋轉(zhuǎn)角度等信息,用旋轉(zhuǎn)anchor來擬合真實(shí)最小面積外接矩形;
7、上述方式三:旋轉(zhuǎn)矩形定義:(x,y)為旋轉(zhuǎn)矩形的中心點(diǎn)坐標(biāo),(w,h)分別為矩形的長邊和短邊,角度θ為x軸正方向到矩形第一條長邊之間的角度,為了降低模型擬合的難度,rrpn將特征圖上一個(gè)格子對(duì)應(yīng)9個(gè)anchor(3種尺度,3種長寬比),增加到54個(gè)(3種尺度,3種長寬比,6個(gè)角度),rrpn使用的anchor示意圖如圖9所示,這種通過增加anchor數(shù)量的方式,雖然能降低模型擬合難度,但同時(shí)也增加了模型檢測的耗時(shí)。
8、綜上分析可知,方式一和方式二對(duì)原始目標(biāo)檢測網(wǎng)絡(luò)改動(dòng)較大,網(wǎng)絡(luò)較復(fù)雜,且為了保證學(xué)習(xí)的精度,一般需要在two-stage網(wǎng)絡(luò)上進(jìn)行修改,模型預(yù)測速度較慢,而方式三則是通過增加旋轉(zhuǎn)anchor信息,成倍增加anchor數(shù)量,雖然一定程度上降低了模型學(xué)習(xí)的難度,但也嚴(yán)重增加了模型的預(yù)測耗時(shí)。
9、為此提出一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是為了解決背景技術(shù)中提出的現(xiàn)有技術(shù)中存在的缺點(diǎn),而提出的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用了如下技術(shù)方案:
3、一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,以yolov8為基準(zhǔn)網(wǎng)絡(luò),通過定義旋轉(zhuǎn)矩形的表現(xiàn)形式、設(shè)計(jì)合適的損失函數(shù)和旋轉(zhuǎn)iou閾值計(jì)算方式提出了r-yolov8,包括以下步驟:
4、s1、旋轉(zhuǎn)目標(biāo)的姿態(tài)表示;
5、s11、確定旋轉(zhuǎn)矩形定義方式:(x,y,w,h,θ),其中(x,y)為旋轉(zhuǎn)矩形中心點(diǎn)坐標(biāo),w為矩形的短邊,h為矩形的長邊,旋轉(zhuǎn)角度θ為長邊h與水平方向的夾角;
6、s12、衡量損失的影響程度,將角度的回歸問題轉(zhuǎn)換為分類問題,解決回歸過程中出現(xiàn)的poa問題,并使用精度最大損失和平均損失來衡量損失的影響程度;
7、s2、旋轉(zhuǎn)目標(biāo)損失計(jì)算;
8、旋轉(zhuǎn)角度的損失函數(shù)見3-9所示;
9、
10、s3、旋轉(zhuǎn)iou值計(jì)算;
11、計(jì)算每兩個(gè)旋轉(zhuǎn)框的iou值,區(qū)分每個(gè)格子預(yù)測的所有旋轉(zhuǎn)框和真實(shí)框的正負(fù)樣本;
12、s4、識(shí)別刻度示數(shù);
13、表盤刻度的定位與識(shí)別屬于指針儀表讀數(shù)識(shí)別,基于此通過空間聚類算法將空間距離相近的刻度數(shù)字進(jìn)行合并,得到具有語義的儀表刻度值;
14、合并流程如下:s41、首先獲取檢測到的數(shù)字框結(jié)果b,b中包含了n個(gè)數(shù)字框的檢測結(jié)果,每個(gè)檢測結(jié)果的格式為[x,y,w,h,θ,c];
15、s42、遍歷b中所有的框,找到最長的長邊hmax,設(shè)置距離閾值l為2.5×hmax;
16、s43、計(jì)算b中數(shù)字框之間的距離。
17、作為本發(fā)明方法中進(jìn)一步的,s111、θ的取值范圍[-90,90)。
18、作為本發(fā)明方法中進(jìn)一步的,s121、選用分類的方式預(yù)測指針旋轉(zhuǎn)角度,在預(yù)測指針方向時(shí),如果預(yù)測角度與真實(shí)角度接近但不相同,如真實(shí)角度是1°預(yù)測結(jié)果是3°,那么這個(gè)預(yù)測結(jié)果也是可以接受的。
19、作為本發(fā)明方法中進(jìn)一步的,s1211、引用了環(huán)形平滑標(biāo)簽,來劃分不同類別的損失大小,其中環(huán)形平滑標(biāo)簽通過設(shè)置窗口函數(shù)來衡量預(yù)測標(biāo)簽與真實(shí)標(biāo)簽之間的距離。
20、作為本發(fā)明方法中進(jìn)一步的,s31、主要是計(jì)算兩個(gè)旋轉(zhuǎn)矩形的交并比。
21、作為本發(fā)明方法中進(jìn)一步的,s311、首先計(jì)算兩個(gè)旋轉(zhuǎn)矩形的所有交點(diǎn);
22、s312、再找到在x坐標(biāo)最小的前提下,y坐標(biāo)最小的點(diǎn)作為頂點(diǎn);
23、s313、再將s312步驟中找到的頂點(diǎn)與其余的每個(gè)頂點(diǎn)連線,將相交區(qū)域分割成若干個(gè)三角形;
24、s314、最后計(jì)算所有三角形的面積并求和,得到兩個(gè)旋轉(zhuǎn)矩形的iou閾值。
25、作為本發(fā)明方法中進(jìn)一步的,s411、其中x,y表示框的中心坐標(biāo),w,h表示框的短邊、長邊,θ表示框的長邊h與x軸的夾角,c表示數(shù)字框的類別即對(duì)應(yīng)數(shù)字。
26、作為本發(fā)明方法中進(jìn)一步的,s431、如果第i個(gè)框與第j個(gè)框之間的距離小于閾值l,則將這兩個(gè)框進(jìn)行合并,在b中添加合并后的框,并刪除第i個(gè)框與第j個(gè)框,重復(fù)合并數(shù)字框和更新b的過程,直到b中所有的數(shù)字框之間的距離大于l,合并完成后得到組合數(shù)字框結(jié)果b。
27、本發(fā)明的有益效果
28、本申請(qǐng)使用預(yù)測出的指針與水平方向的夾角與人工標(biāo)記的指針與水平方向的夾角的誤差作為評(píng)價(jià)指標(biāo),使用這種方法相當(dāng)于對(duì)不同儀表的刻度進(jìn)行歸一化,在不對(duì)原始網(wǎng)絡(luò)大幅修改的基礎(chǔ)上預(yù)測旋轉(zhuǎn)矩形框,同時(shí)保證模型預(yù)測的速度,避免了量程對(duì)讀數(shù)誤差的影響。
1.一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s111、θ的取值范圍[-90,90)。
3.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s121、選用分類的方式預(yù)測指針旋轉(zhuǎn)角度,在預(yù)測指針方向時(shí),如果預(yù)測角度與真實(shí)角度接近但不相同,如真實(shí)角度是1°預(yù)測結(jié)果是3°,那么這個(gè)預(yù)測結(jié)果也是可以接受的。
4.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s1211、引用了環(huán)形平滑標(biāo)簽,來劃分不同類別的損失大小,其中環(huán)形平滑標(biāo)簽通過設(shè)置窗口函數(shù)來衡量預(yù)測標(biāo)簽與真實(shí)標(biāo)簽之間的距離。
5.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s31、主要是計(jì)算兩個(gè)旋轉(zhuǎn)矩形的交并比。
6.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s311、首先計(jì)算兩個(gè)旋轉(zhuǎn)矩形的所有交點(diǎn);
7.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s411、其中x,y表示框的中心坐標(biāo),w,h表示框的短邊、長邊,θ表示框的長邊h與x軸的夾角,c表示數(shù)字框的類別即對(duì)應(yīng)數(shù)字。
8.根據(jù)權(quán)利要求1所述的一種基于旋轉(zhuǎn)yolov8目標(biāo)檢測網(wǎng)絡(luò)的指針儀表讀數(shù)方法,其特征在于,s431、如果第i個(gè)框與第j個(gè)框之間的距離小于閾值l,則將這兩個(gè)框進(jìn)行合并,在b中添加合并后的框,并刪除第i個(gè)框與第j個(gè)框,重復(fù)合并數(shù)字框和更新b的過程,直到b中所有的數(shù)字框之間的距離大于l,合并完成后得到組合數(shù)字框結(jié)果b。