摘要:
針對(duì)現(xiàn)有主流的目標(biāo)檢測(cè)算法存在檢測(cè)精確率低、 圖像邊緣區(qū)域分割不全等問(wèn)題, 提出一種基于Mask RCNN模型的感興趣區(qū)域池化算法. 首先, 通過(guò)Otsu閾值
分割法將感興趣區(qū)域特征圖劃分為邊緣區(qū)域和非邊緣區(qū)域; 其次, 對(duì)邊緣區(qū)域使用邊緣梯度插值算法進(jìn)行插值, 對(duì)非邊緣區(qū)域使用雙線性插值算法進(jìn)行插值, 從而將離散的特征圖映射到一個(gè)連
續(xù)空間中; 再次, 將插值后的特征圖均勻分割成k×k個(gè)單元; 最后, 對(duì)每個(gè)單元利用二重積分求均值以完成池化操作. 對(duì)比實(shí)驗(yàn)結(jié)果表明, 該算法基于Mask RCNN模型在數(shù)據(jù)集COCO(20
14)上比現(xiàn)有算法的檢測(cè)精確率有一定提升, 對(duì)圖像邊緣區(qū)域的細(xì)節(jié)分割效果較好.
關(guān)鍵詞: Mask RCNN模型; 感興趣區(qū)域池化; Otsu閾值分割; 邊緣梯度插值; 雙線性插值
中圖分類(lèi)號(hào): TP391" 文獻(xiàn)標(biāo)志碼: A" 文章編號(hào): 1671-5489(2024)03-0643-12
A Region of Interest Pooling Algorithm forEdge Gradient Interpolation
ZHOU Yuejin1,2, DING Jiayi1
(1. School of Mathematics and Big Data, Anhui University of Science and Technology, Huainan 232001,Anhui Province, China;
2. State Key Laboratory of Mining Response and Disaster Preventionand Control in Deep Coal Mines, Huainan 232001, Anhui Province, China)
收稿日期: 2023-06-02.
第一作者簡(jiǎn)介:" 周躍進(jìn)(1977—), 男, 漢族, 博士, 教授, 從事統(tǒng)計(jì)機(jī)器學(xué)習(xí)和因果分析的研究, E-mail: yjzhou@aust.edu.cn.
通信作者簡(jiǎn)介: 丁家益(1998—), 男, 漢族, 碩士研究生, 從事統(tǒng)計(jì)機(jī)器學(xué)習(xí)的研究, E-mail: 2806166640@qq.com.
基金項(xiàng)目:" 國(guó)家自然科學(xué)基金(批準(zhǔn)號(hào): 61703005)和深部煤礦采動(dòng)響應(yīng)與災(zāi)害防控國(guó)家重點(diǎn)實(shí)驗(yàn)室基金(批準(zhǔn)號(hào): SKLMRDPC22KF03).
Abstract: Aiming at the problems that the existing mainstream target detection algorithms had" low detection accuracy and incomplete segmentation
in the" image edge regions, we proposed a region of interest pooling algorithm based on Mask RCNN model. Firstly, the feature maps of the regions of interest were divided into
edge regions and non-edge regions by the Otsu threshold segmentation method. Secondly, the edge gradient interpolation algorithm was used to interpolate for the edge regions,
and the bilinear interpolation algorithm was used to interpolate for the non-edge regions so that the discrete feature map was mapped into a continuous space.
Thirdly," the interpolated feature maps were evenly divided into k×k units. Finally, the double integral was used to calculate the average value of each unit to complete the pooling operation.
The comparative experimental results show that the proposed algorithm, based on the Mask RCNN model, has a certain improvement in detection accuracy" compared with existing
algorithms on COCO(2014) dataset, and has a good segmentation effect on the details of the image edge regions.
Keywords: Mask RCNN model; region of interest pooling; Otsu threshold segmentation; edge gradient interpolation; bilinear interpolation
目標(biāo)檢測(cè)和圖像分割已廣泛應(yīng)用于自動(dòng)駕駛、 視頻監(jiān)控、 機(jī)器人等多個(gè)領(lǐng)域[1]. 在實(shí)際應(yīng)用場(chǎng)景中, 目標(biāo)檢測(cè)和圖像分割的精確率常會(huì)受背景、 遮擋、 光照等不確定因素的影響. 因此
, 目標(biāo)檢測(cè)和圖像分割是一個(gè)具有挑戰(zhàn)性的研究課題[2].
目標(biāo)檢測(cè)模型主要分為兩種: 單階段檢測(cè)模型和兩階段檢測(cè)模型. 單階段檢測(cè)模型檢測(cè)速度快, 但檢測(cè)精確率相對(duì)較低. 單階段檢測(cè)模型主要包括YOLO[3]
目標(biāo)檢測(cè)模型和SSD[4]目標(biāo)檢測(cè)模型. 前者是一種端到端的一步檢測(cè)模型, 以45幀/s達(dá)到了接近實(shí)時(shí)的目標(biāo)檢測(cè)速度; 后者
引入了特征金字塔和多長(zhǎng)寬比多尺度的密集錨點(diǎn)設(shè)計(jì), 在數(shù)據(jù)集VOC上的檢測(cè)精確率達(dá)到74.3%, 檢測(cè)幀率也提高到46幀/s. 兩階段檢測(cè)模型檢測(cè)精確率
高, 但檢測(cè)速度相對(duì)較慢, 在對(duì)檢測(cè)精確率要求高的實(shí)際場(chǎng)景中應(yīng)用更廣泛. 兩階段檢測(cè)模型主要包括以下模型: 根據(jù)AlexNet[5]在圖像特征提取方面提出的RCNN[6]目標(biāo)檢測(cè)模型, 利用選擇性搜
索算法生成大量候選區(qū)域, 再對(duì)每個(gè)候選區(qū)域進(jìn)行特征提取、 識(shí)別, 并使用回歸器修正候選區(qū)域的位置; Girshick[7]提出的Fast RCNN目標(biāo)檢測(cè)模型, 首次
引入了感興趣區(qū)域RoI(region of interest)池化層, 在數(shù)據(jù)集VOC上的檢測(cè)精確率達(dá)到68.4%; 為解決選擇性搜索算法生成候選區(qū)域的嚴(yán)重耗時(shí)問(wèn)題, Ren等[8]提出了Faster RCNN目
標(biāo)檢測(cè)模型, 應(yīng)用區(qū)域候選網(wǎng)絡(luò)RPN(region proposal network)生成候選區(qū)域, 進(jìn)一步提高了目標(biāo)檢測(cè)的精確率和幀率; 為滿(mǎn)足圖像分割的需求, 文獻(xiàn)[9]提出的Mask RCNN目標(biāo)檢測(cè)模
型在Faster RCNN模型的結(jié)構(gòu)上添加了一個(gè)用于預(yù)測(cè)目標(biāo)掩模的分支, 并具有一個(gè)感興趣區(qū)域RoI Align池化層, 在數(shù)據(jù)集COCO上取得了良好的目標(biāo)檢測(cè)和圖像分割效果.
在兩階段檢測(cè)模型中, Fast RCNN模型和Faster RCNN模型所使用的RoI池化算法存在兩次量化操作, 導(dǎo)致原圖中的像素與特征圖中的像素不對(duì)齊, 候選框位置產(chǎn)生偏差. Mask RCNN
模型所使用的RoI Align池化算法利用雙線性差值算法[10]確定感興趣區(qū)域中點(diǎn)的像素值, 易導(dǎo)致圖像邊緣信息丟失以及需要插值點(diǎn)的數(shù)目難以自適應(yīng)的問(wèn)題.
針對(duì)上述問(wèn)題, 本文提出一種更精確的感興趣區(qū)域池化算法, 即MpRoI(more precise region of interest)池化算法. 為評(píng)估MpRoI池化算法的性能, 基于Mask RCNN模型使用數(shù)據(jù)集COCO(2014)與RoI池化算法、 Ro
I Align池化算法進(jìn)行比較. 對(duì)比實(shí)驗(yàn)結(jié)果表明, MpRoI池化算法的檢測(cè)精確率和穩(wěn)定性高于另外兩種池化算法, 且具有更低的分類(lèi)損失和邊界框回歸損失, 明顯改善了邊緣區(qū)域圖
像分割的鋸齒現(xiàn)象, 使目標(biāo)的定位更準(zhǔn)確.
1" RoI池化算法
RoI池化層位于區(qū)域候選網(wǎng)絡(luò)層和全連接層之間, 作用是將不同尺寸的候選特征圖轉(zhuǎn)化為固定數(shù)據(jù)輸出. RoI池化算法的輸入由卷積神經(jīng)網(wǎng)絡(luò)輸出的特征圖和區(qū)域候選網(wǎng)絡(luò)輸出的候
選框兩部分組成. RoI池化算法的輸出為一組向量, 向量個(gè)數(shù)由區(qū)域候選網(wǎng)絡(luò)輸出的候選框數(shù)量確定, 向量大小為C×W×H, 其中C為通道數(shù), W和H為超參數(shù). RoI池化算法的工作流程如圖1所示.
由圖1可見(jiàn), RoI池化算法首先將候選區(qū)域映射到卷積神經(jīng)網(wǎng)絡(luò)輸出的特征圖上, 由于卷積神經(jīng)網(wǎng)絡(luò)的池化操作, 特征圖的尺寸相比于原圖縮小了n倍, 然后對(duì)映射后的特征圖區(qū)域進(jìn)行特征提取, 使
不同尺寸大小的特征圖區(qū)域轉(zhuǎn)化為一個(gè)固定維度的輸出向量. 由于RoI池化算法存在兩次量化操作, 從而導(dǎo)致像素的位置產(chǎn)生偏差, 降低了目標(biāo)檢測(cè)的精確率[11].
2" RoI Align池化算法
RoI Align池化算法首先遍歷特征圖上的每個(gè)候選區(qū)域, 保持浮點(diǎn)數(shù)邊界不進(jìn)行量化操作, 然后將候選區(qū)域均勻分割成k×k個(gè)單元(bin
), 每個(gè)單元的高度和寬度數(shù)值也保持浮點(diǎn)數(shù)邊界不做量化, 再在每個(gè)單元中通過(guò)計(jì)算確定4個(gè)點(diǎn)的坐標(biāo)(均勻選取4個(gè)采樣點(diǎn)),
利用雙線性差值算法計(jì)算得出4個(gè)點(diǎn)的像素值, 最后對(duì)4個(gè)點(diǎn)的像素值進(jìn)行最大池化操作得到每個(gè)單元的值. RoI Align池化算法中最重
要的方法是使用了雙線性差值算法計(jì)算得出采樣點(diǎn)的像素值[12], 避免了量化操作引入的誤差, 即特征圖中的像素與原圖中的像素完全對(duì)齊. 雙線性插值算法的工作流程如圖2所示.
假設(shè)將點(diǎn)g設(shè)為需要插值的點(diǎn), 已知4個(gè)點(diǎn)a,b,c,d的值, 通過(guò)點(diǎn)a和點(diǎn)b做線性插值得到點(diǎn)e, 通過(guò)點(diǎn)c和點(diǎn)d做線性插值得到點(diǎn)f, 計(jì)算公式如下:
f(f)≈x2-xx2-x1·f(c)+x-x1x2-x1·f(d),
f(e)≈x2-xx2-x1·f(a)+x-x1x2-x1·f(b);(1)
再由點(diǎn)e和點(diǎn)f做線性插值得到點(diǎn)g, 計(jì)算公式如下:
f(g)≈y2-yy2-y1·f(f)+y-y1y2-y1·f(e);(2)
最終合并為
f(x,y)≈" f(c)(x2-x1)(y2-y1)·(x2-x)(y2-y)+f(d)(x2-x1)(y2-y1)·(x-x1)(y2-y)+
f(a)(x2-x1)(y2-y1)·(x2-x)(y-y1)+f(b)(x2-x1)(y2-y1)·(x-x1)(y-y1).(3)
相比于RoI池化算法, RoI Align池化算法遍歷的取樣點(diǎn)數(shù)量較少, 但性能更好, 這主要是由于其解決了區(qū)域不匹配的問(wèn)題. RoI Align池化算法的工作流程如圖3所示.
3" MpRoI池化算法
為消除RoI池化算法存在兩次量化操作對(duì)候選框位置產(chǎn)生的偏差, 解決RoI Align池化算法需要插值點(diǎn)的數(shù)目難以自適應(yīng)的問(wèn)題及使用雙線性插值算法處理圖像易導(dǎo)致圖像邊緣信
息丟失的問(wèn)題, 本文提出一種更精確的感興趣區(qū)域池化算法, 即MpRoI池化算法. 首先, 通過(guò)Otsu閾值分割法[13]將感興趣區(qū)域特征圖劃分為邊緣區(qū)域和非邊緣區(qū)域;
其次, 對(duì)邊緣區(qū)域使用邊緣梯度插值算法進(jìn)行插值, 對(duì)非邊緣區(qū)域使用雙線性插值算法進(jìn)行插值, 從而將離散的特征圖映射到一個(gè)連續(xù)空間中, 再將插值后的特征圖均勻分割成k×k
個(gè)單元; 最后對(duì)每個(gè)單元利用二重積分求均值完成池化操作.
3.1" Otsu閾值分割法
Otsu閾值分割法是一種自適應(yīng)于雙峰情況自動(dòng)求取閾值的方法, 以圖像的灰度直方圖為依據(jù), 選取閾值是以目標(biāo)區(qū)域與背景區(qū)域平均灰度的最大類(lèi)間方差為基準(zhǔn)[14]
. Otsu閾值分割法的基本思想如下: 設(shè)圖像中灰度值為i的像素個(gè)數(shù)為ni, 灰度值的取值范圍為[0,L-1], 記G={0,1,2,…,L-1}, 則像素總數(shù)為
N=∑L-1i=0ni.(4)
灰度值為i的像素出現(xiàn)的概率為pi=ni/N.(5)
對(duì)于pi, 有∑L-1i=0pi=1.(6)
將圖像中像素用閾值T分為兩類(lèi)C0和C1, 灰度值取值范圍為[0,T-1]的像素歸為C0類(lèi), 取值范圍為[T,L-1]的像素歸為C1類(lèi), 則C0類(lèi)和C1類(lèi)的概率分別為
p0=∑T-1i=0pi,(7)p1=∑L-1i=Tpi.(8)
C0類(lèi)和C1類(lèi)的平均灰度值分別為
u0=1p0∑T-1i=0ipi,(9)u1=1p1∑L-1i=Tipi.(10)
圖像的平均灰度值可表示為
u=∑T-1i=0ipi+∑L-1i=Tipi=p0u0+p1u1.(11)
圖像兩種類(lèi)別的總方差為
σ2=p0(u0-u)2+p1(u1-u)2=p0p1(u0-u1)2.(12)
當(dāng)σ2達(dá)到最大值時(shí)對(duì)應(yīng)的灰度值為最優(yōu)分割閾值, 即Otsu閾值:
T=argmaxT∈G{σ2}.(13)
圖像非邊緣區(qū)域像素的灰度值與其鄰域像素的平均灰度值接近, 而邊緣區(qū)域像素的灰度值會(huì)在一定程度上高于或者低于其鄰域像素的平均灰度值. 因此, Otsu閾值分割法通過(guò)
將待插值像素鄰域的4個(gè)已知像素的平均灰度值與最優(yōu)分割閾值T相比較以確定為非邊緣區(qū)域或邊緣區(qū)域.
3.2" 邊緣梯度插值算法
傳統(tǒng)的雙線性插值算法具有低通濾波的性質(zhì), 易使圖像的高頻分量產(chǎn)生損失、 圖像邊緣在一定程度上變得較模糊[15]. 因此, 本文提出一種邊
緣梯度插值算法對(duì)特征圖的邊緣區(qū)域進(jìn)行插值. 本文的插值算法主要有以下幾個(gè)步驟.
首先, 對(duì)特征圖進(jìn)行高斯濾波處理以減少噪聲對(duì)邊緣檢測(cè)的影響, 本文使用一個(gè)5×5的濾波窗口對(duì)特征圖進(jìn)行處理, 濾波窗口如下:
115924542491294512151254912942
4542.(14)
其次, 利用如圖4所示的Sobel算子[16]梯度計(jì)算模板分別計(jì)算高斯濾波后的特征圖中像素點(diǎn)水平方向和垂直方向的梯度分量Gx和Gy.
由于特征圖的梯度方向所在直線與邊緣主導(dǎo)方向所在直線相互垂直, 因此定義邊緣主導(dǎo)方向?yàn)槠渌谥本€與水平軸正方向的逆時(shí)針夾角θ方向[17]為
θ=arctan∑ni=1Sign(Gxi)·(-Gyi)∑ni
=1Sign(Gxi)·Gxi+π2,(15)
Sign(x)=1,xgt;0,-1,xlt;0,(16)
其中θ的取值范圍為[0,π), n為區(qū)域像素點(diǎn)的個(gè)數(shù).
最后, 在特征圖的邊緣區(qū)域待插值位置沿邊緣主導(dǎo)方向進(jìn)行插值. 特征圖的邊緣區(qū)域插值存在6種可能, 如圖5所示. 圖6為其中一種可能情形的表示.
由圖6可見(jiàn), 過(guò)待插值點(diǎn)g做一條平行于邊緣主導(dǎo)方向的直線, 交于區(qū)域邊緣bc和ab于f和e兩點(diǎn). 點(diǎn)f的像素值可由b,c兩點(diǎn)像素值進(jìn)行線性插值得到, 同理, 點(diǎn)e的像素值可由a,
b兩點(diǎn)像素值進(jìn)行線性插值得到. 最后, 待插值點(diǎn)g的像素值可由f,e兩點(diǎn)像素值進(jìn)行線性插值得到. 圖5中特征圖邊緣區(qū)域其他情形的插值操作類(lèi)似.
3.3" MpRoI池化算法流程
給定一個(gè)圖像感興趣區(qū)域的特征圖A, 令(i,j)為特征圖上的坐標(biāo). 對(duì)非邊緣區(qū)域, 利用雙線性插值算法將離散的特征圖區(qū)域ωi,j映射到一個(gè)連續(xù)空間中, 映射公式為
f1(x,y)=∑i,jIC(x,y,i,j)×ωi,j,(17)
其中: f1(x,y)表示經(jīng)過(guò)雙線性插值算法插值后連續(xù)的特征圖; IC(x,y,i,j)為雙線性插值算法的插值系數(shù), 可表示為
IC(x,y,i,j)=max{0,1-x-i}×max{0,1-y-j}.(18)
將插值后的特征圖均勻分割成k×k個(gè)單元, 再對(duì)分割后的單元進(jìn)行二重積分求均值操作, 計(jì)算公式為
MpRoI1(bin,A)=∫y2y1∫x2x1f1(x,y)dxdy(x2-x1)×(y2-y1).(19)
對(duì)MpRoI1(bin,A)求x1偏導(dǎo)數(shù)可得
MpRoI1(bin,A)x1=" ∫y2y1∫x2x1f1(x,y)dxdy/[(x2-x1
)×(y2-y1)]x1=" ∫y2y1∫x2x1f1(x,y)dxdy/x1×(x2-x1)×(y2-y1)[(x2-x1)×(y2-y1)]2
-" ∫y2y1∫x2x1f1(x,y)dxdy×(x2-x1)×(y2-y1)x1[(x2-x1)×(y2-y1)]2=
∫y2y1∫x2x1f1(x,y)dxdy/x1(x2-x1)(y2-y1)-∫y2y1∫x2x1f1(x,y)dxdy×[-1×
(y2-y1)][(x2-x1)×(y2-y1)]2=" MpRoI1(bin,A)(x2-x1)-∫y2y1f
1(x,y)dy(x2-x1)×(y2-y1).(20)
對(duì)MpRoI1(bin,A)求x2偏導(dǎo)數(shù)類(lèi)似式(20).
對(duì)邊緣區(qū)域, 利用邊緣梯度插值算法將離散的特征圖區(qū)域ωm,n映射到一個(gè)連續(xù)空間中, 映射公式為
f2(x,y)=∑m,nID(x,y,m,n)×ωm,n,(21)
其中: f2(x,y)為經(jīng)過(guò)邊緣梯度插值算法插值后連續(xù)的特征圖; ID(x,y,m,n)為邊緣梯度插值算法的插值系數(shù), 可表示為
ID(x,y,m,n)=max{0,1-θx-m}×max{0,1-y/θ-n},(22)
式中θ為特征圖的梯度方向所在直線與水平軸正方向的逆時(shí)針夾角.
將插值后的特征圖均勻分割成k×k個(gè)單元, 再對(duì)分割后的單元進(jìn)行二重積分求均值操作:
MpRoI2(bin,A)=∫y2y1∫x2x1f2(x,y)dxdy(x2-x1)×(y2-y1).(23)
對(duì)MpRoI2(bin,A)求x1偏導(dǎo)數(shù)可得
MpRoI2(bin,A)x1=" ∫y2y1∫x2x1f2(x,y)dxdy/[(x2-x1)×(y2-y1)]
x1=" ∫y2y1∫x2x1f2(x,y)dxdy/x1×(x2-x1)×(y2-y1)[(x2-x1)×(y2-y1)]2-
∫y2y1∫x2x1f2(x,y)dxdy×(x2-x1)×(y2-y1)/x1[(x2-x1)×(y2-y1)]2=" ∫y2y1∫x2x1f2(x
,y)dxdy/x1(x2-x1)×(y2-y1)-∫y2y1∫x2x1f2(x,y)dxdy×[-1×(y2-y1)]
[(x2-x1)×(y2-y1)]2=" MpRoI2(bin,A)(x2-x1)-∫y2
y1f2(x,y)dy(x2-x1)×(y2-y1).(24)
對(duì)MpRoI2(bin,A)求x2偏導(dǎo)數(shù)類(lèi)似式(24).
由式(20),(24)可知, 函數(shù)MpRoI1(bin,A)和MpRoI2(bin,A)是連續(xù)可微的, 通過(guò)雙線性插值算法、 邊緣梯度插值算法和二重積分求均值等操作避免了感興趣區(qū)域
池化中的量化, 從而有效降低了量化操作對(duì)特征提取帶來(lái)的精度損失[18].
算法1" MpRoI池化算法.
1) begin
2) 初始化x←0, y←0, i←0, j←0, m←0, n←0
3) 參數(shù)pi,C0,C1,u0,u1,ωi,j,ωm,n,θ //pi為灰度值為i的像素出現(xiàn)的概率, C0為灰度值取值范圍為
[0,T-1]的像素所屬類(lèi)別, C1為灰度值取值范圍為[T,L-1]的像素所屬類(lèi)別, u0為C0類(lèi)像素的平均灰度值, u
1為C1類(lèi)像素的平均灰度值, ωi,j,ωm,n為特征圖區(qū)域, θ為特征圖的梯度方向所在直線與水平軸正方向的逆時(shí)針夾角
4) 給定p0=∑T-1i=0pi, p1=∑L-1i=Tpi, u0=1p0∑T-1
i=0ipi, u1=1p1∑L-1i=Tipi
5) u=p0u0+p1u1//圖像的平均灰度值
6) σ2=p0p1(u0-u1)2//圖像兩種類(lèi)別的總方差
7) Γ=argmaxT∈G{σ2} //最優(yōu)分割閾值
8) if (局部平均灰度值lt;Γ)
{
f1(x,y)=∑i,jIC(x,y,i,j)×ωi,j//非邊緣區(qū)域
IC(x,y,i,j)=max{0,1-x-i}×max{0,1-y-i} //雙線性插值算法的插值系數(shù)
}
else
{
f2(x,y)=∑m,nID(x,y,m,n)×ωm,n//邊緣區(qū)域
ID(x,y,m,n)=max{0,1-θx-m}×max{0,1-y/θ-n} //邊緣梯度插值算法的插值系數(shù)
}
9) 分割成k×k個(gè)單元, 二重積分求均值
10) end.
4" 實(shí)驗(yàn)與結(jié)果分析
4.1" 實(shí)驗(yàn)數(shù)據(jù)集
數(shù)據(jù)集COCO是微軟團(tuán)隊(duì)出資標(biāo)注的一個(gè)可用于目標(biāo)檢測(cè)、 分割和圖像描述的數(shù)據(jù)集, 主要為從日常復(fù)雜場(chǎng)景中選取的自然圖像以及生活中常見(jiàn)的目標(biāo)圖像. 數(shù)據(jù)集提供了80類(lèi)目標(biāo), 超
出33萬(wàn)張圖像, 其中圖像主要以關(guān)鍵點(diǎn)檢測(cè)、 物體檢測(cè)、 實(shí)例分割、 全景分割、 圖像標(biāo)注等5種類(lèi)型進(jìn)行標(biāo)注, 以json文件格式存儲(chǔ)
. 本文實(shí)驗(yàn)使用數(shù)據(jù)集COCO(2014), 包括82 783張訓(xùn)練圖像、 40 775張測(cè)試圖像及40 504張驗(yàn)證圖像.
4.2" 模型的訓(xùn)練
實(shí)驗(yàn)采用的顯卡為AMD RX 6900XT, 顯存為16 GB. 模型的訓(xùn)練基于Python語(yǔ)言環(huán)境下的TensorFlow深度學(xué)習(xí)框架進(jìn)行. 實(shí)驗(yàn)參數(shù)設(shè)置如下: 初始學(xué)習(xí)率為0.001
, 網(wǎng)絡(luò)迭代次數(shù)(epoch)為300次, 每個(gè)epoch迭代30次, 權(quán)重衰減系數(shù)為5×10-4, 正則化為1.6×10-3. 一次完整的訓(xùn)練過(guò)程需進(jìn)行9 000次訓(xùn)練.
4.3" 評(píng)價(jià)指標(biāo)
4.3.1" 精確率
精確率(Precision)又稱(chēng)為查準(zhǔn)率, 其為被分類(lèi)器正確識(shí)別出的樣本個(gè)數(shù)占總識(shí)別出樣本個(gè)數(shù)的百分?jǐn)?shù), 計(jì)算公式為
p=TPTP+FP×100%,(25)
其中TP表示被正確識(shí)別出的樣本個(gè)數(shù), FP表示未被正確識(shí)別出的樣本個(gè)數(shù). 本文以mAP(IoU=0.50∶0.05∶0.95), AP50(IoU=0.50)和AP75(IoU=0.75)3個(gè)精確率評(píng)價(jià)標(biāo)準(zhǔn)分析實(shí)驗(yàn)結(jié)果.
4.3.2" 損失函數(shù)
損失函數(shù)是用來(lái)衡量算法輸出的預(yù)測(cè)值與真實(shí)值之間的偏離程度. 本文實(shí)驗(yàn)使用分類(lèi)損失函數(shù)和邊界框回歸損失函數(shù)評(píng)估算法的性能. 分類(lèi)損失函數(shù)L1計(jì)算公式為
L1=1Ncls∑iLcls(pi,p*i),(26)
Lcls=-[p*ilog(pi)+(1-p*i)log(1-pi)],(27)
其中: Ncls表示一個(gè)小批量(mini-batch)中所有樣本的數(shù)量; pi表示第i個(gè)錨框(anchor)預(yù)測(cè)為真實(shí)標(biāo)簽的概率; 當(dāng)預(yù)測(cè)樣本為正樣本時(shí), p*i=1;
當(dāng)預(yù)測(cè)樣本為負(fù)樣本時(shí), p*i=0. 邊界框回歸損失函數(shù)L2的計(jì)算公式為
L2=λNreg∑ip*iLreg(ti,t*i),(28)
Lreg(ti,t*i)=∑iSmooth(t*i-ti),(29)
Smooth(x)=0.5x2,xlt;1,x-0.5,其他,(30)
其中λ為平衡系數(shù), Nreg為錨框位置的個(gè)數(shù), ti為第i個(gè)錨框?qū)?yīng)的邊界框回歸參數(shù), t*i為預(yù)測(cè)的第i個(gè)錨框的邊界框回歸參數(shù).
4.3.3" 平均處理時(shí)間
平均處理時(shí)間能有效評(píng)價(jià)模型的識(shí)別速度, 可作為模型的實(shí)時(shí)性評(píng)價(jià)標(biāo)準(zhǔn)[18], 計(jì)算公式為
=T*/N*,(31)
其中為平均處理時(shí)間, N*為測(cè)試圖片數(shù)量, T*為測(cè)試運(yùn)行時(shí)間.
4.4" 實(shí)驗(yàn)結(jié)果及分析
為更好地評(píng)估MpRoI池化算法的性能, 本文基于Mask RCNN模型使用數(shù)據(jù)集COCO(2014)與RoI池
化算法、 RoI Align池化算法進(jìn)行比較. 圖7和圖8分別為各算法經(jīng)過(guò)300次迭代的精確率(mAP,AP50,AP75)和損失(分類(lèi)損失、 邊界框回歸損失)變化的比較結(jié)果.
由圖7可見(jiàn): MpRoI池化算法的精確率和穩(wěn)定性高于RoI池化算法和RoI Align池化算法; RoI池化算法的精確率最低, 且在80lt;epochslt;130時(shí)出現(xiàn)了大幅度震蕩; RoI A
lign池化算法的精確率和穩(wěn)定性雖然明顯高于RoI池化算法, 但相比于MpRoI池化算法略顯不足. 實(shí)驗(yàn)結(jié)果表明, MpRoI池化算法在精確率和穩(wěn)定性方面具有良好的性能.
由圖8可見(jiàn), MpRoI池化算法具有更低的分類(lèi)損失和邊界框回歸損失. 在迭代過(guò)程中, MpRoI池化算法的分類(lèi)損失和邊界框回歸損失也一直保持穩(wěn)定下降的趨勢(shì), 并且以
更少的迭代次數(shù)達(dá)到最小值. 實(shí)驗(yàn)結(jié)果表明, MpRoI池化算法具有良好的魯棒性.
表1列出了各算法300次迭代的精確率平均值, 表2列出了各算法經(jīng)過(guò)300次迭代后最終的分類(lèi)損失值和邊界框回歸損失值.
由表1可見(jiàn), MpRoI池化算法的精確率較RoI Align池化算法、 RoI池化算法得到了一定的提升, 與RoI Align池化算法相比, mAP值提高了0.92個(gè)百分點(diǎn), AP50值提高了0.76個(gè)百分點(diǎn), AP75值提高了0.87個(gè)百分點(diǎn).
由表2可見(jiàn), MpRoI池化算法的分類(lèi)損失值和邊界框回歸損失值最低, RoI Align池化算法次之, RoI池化算法最高. 從RoI池化算法到RoI Align池化算法, 邊界
框回歸損失值降低的幅度較大, 為0.294, 這是因?yàn)镽oI Align池化算法使用雙線性差值算法避免了量化操作引入的誤差. 此外, 從RoI Align池化算法到MpRoI池化算法, 分類(lèi)損失
值和邊界框回歸損失值都有一定程度降低, 表明引入邊緣梯度插值算法和二重積分求均值等操作可進(jìn)一步避免量化引入的誤差.
時(shí)間測(cè)試實(shí)驗(yàn)也基于Mask RCNN模型在數(shù)據(jù)集COCO(2014)上進(jìn)行, 比較各算法進(jìn)行目標(biāo)檢測(cè)與圖像分割的參數(shù)量和平均耗時(shí), 結(jié)果列于表3.
由表3可見(jiàn), MpRoI池化算法的參數(shù)量最高, 這是由于其空間復(fù)雜度和計(jì)算復(fù)雜度提高以及基于Mask RCNN模型添加了圖像分割分支所致. 此外, 在數(shù)據(jù)集COCO(2014)實(shí)
驗(yàn)中, 相比于RoI池化算法、 RoI Align池化算法, MpRoI池化算法進(jìn)行目標(biāo)檢測(cè)與圖像分割的平均處理時(shí)間分別延長(zhǎng)了103 ms和31 ms. 但MpRoI池化算法能以較少的時(shí)間花費(fèi)換取更高
的目標(biāo)檢測(cè)與圖像分割精確率以及更低的分類(lèi)損失和邊界框回歸損失, 達(dá)到滿(mǎn)意的目標(biāo)檢測(cè)與圖像分割效果.
4.4.1" 算法綜合性能定性分析
為更好地說(shuō)明MpRoI池化算法基于Mask RCNN模型的泛化性和檢測(cè)性能, 與其他算法在數(shù)據(jù)集COCO(2014)上進(jìn)行檢測(cè)對(duì)比, 選取部分具有代表性的檢測(cè)結(jié)果如圖9所示.
由圖9可見(jiàn), 無(wú)論是單目標(biāo)圖像還是多目標(biāo)圖像, 本文提出的MpRoI池化算法都能檢測(cè)出更多的目標(biāo). 對(duì)同樣識(shí)別出的目標(biāo), MpRoI池化算法的得分最高. 對(duì)
高度重疊的目標(biāo), MpRoI池化算法修正了RoI池化算法和RoI Align池化算法在檢測(cè)時(shí)出現(xiàn)的目標(biāo)漏檢問(wèn)題. 此外, MpRoI池化算法明顯改善了邊緣區(qū)域圖像分割的鋸齒現(xiàn)象,
也使目標(biāo)的定位更準(zhǔn)確. 圖10為圖9中部分邊緣區(qū)域的細(xì)節(jié)放大情況.
由圖10可見(jiàn), 對(duì)圖像的邊緣區(qū)域, MpRoI池化算法的分割效果最好, 邊界特征更明顯, 結(jié)果更準(zhǔn)確. RoI池化算法和RoI Align池化算法易出現(xiàn)區(qū)域圖像分割
不全, 且區(qū)域輪廓的分割質(zhì)量相對(duì)較低. 因此, MpRoI池化算法克服復(fù)雜背景的干擾能力更強(qiáng), 圖像邊緣區(qū)域的細(xì)節(jié)分割更完善, 且能適應(yīng)圖像邊緣區(qū)域的尺度形狀變化,
整體的目標(biāo)檢測(cè)性能得到一定提升.
4.4.2" 算法綜合性能定量分析
為進(jìn)一步分析MpRoI池化算法基于Mask RCNN模型的目標(biāo)檢測(cè)性能, 選取數(shù)據(jù)集COCO(2014)中具有代表性的20類(lèi)檢測(cè)目標(biāo)與RoI池化算法、 RoI Align池化算法進(jìn)行檢測(cè)對(duì)比(AP50), 檢測(cè)對(duì)比結(jié)果列于表4.
由表4可見(jiàn), 在數(shù)據(jù)集COCO(2014)上的20類(lèi)檢測(cè)目標(biāo)中, MpRoI池化算法在table,chair,car等多個(gè)類(lèi)別上的檢測(cè)精確率高于RoI池化算法和RoI Align池化算法.
綜上所述, 針對(duì)現(xiàn)有主流的目標(biāo)檢測(cè)算法存在檢測(cè)精確率低、 圖像邊緣區(qū)域分割不全等問(wèn)題, 本文提出了一種基于Mask RCNN模型的感興趣區(qū)域池化算法, 其能克服復(fù)雜背景的干
擾, 改善邊緣區(qū)域圖像分割的鋸齒現(xiàn)象, 適應(yīng)圖像邊緣區(qū)域的尺度形狀變化, 也使目標(biāo)的定位更準(zhǔn)確. 在數(shù)據(jù)集COCO(2014)上, 將本文算法與RoI池化算法和RoI Align池化算法進(jìn)
行了對(duì)比分析. 結(jié)果表明, 相比于另外兩種池化算法, 本文算法的mAP值分別提高了2.96個(gè)百分點(diǎn)和0.92個(gè)百分點(diǎn), AP50值分別提高了2.65,0.76個(gè)百分點(diǎn), AP75值分別提高了2.98,0.87個(gè)百分點(diǎn), 分類(lèi)損失值降低了0.018和
0.006, 邊界框回歸損失值降低了0.302和0.008. 因此, 本文算法在精確率和穩(wěn)定性方面具有優(yōu)異的性能, 且具有良好的魯棒性, 能以較少的時(shí)間花費(fèi)換取更高的目標(biāo)檢測(cè)
與圖像分割精確率以及更低的分類(lèi)損失和邊界框回歸損失, 達(dá)到令人滿(mǎn)意的目標(biāo)檢測(cè)與圖像分割效果.
參考文獻(xiàn)
[1]" BORJI A, CHENG M M, JIANG H Z, et al. Salient Object Detection: A Benchmark [
J]. IEEE Transactions on Image Processing, 2015, 24(12): 5706-5722.
[2]" 周炫余, 劉娟, 盧笑," 等. 一種聯(lián)合文本和圖像信息的行人檢測(cè)方法 [J]. 電子學(xué)報(bào), 2017, 45(1): 140-146. (ZHOU X Y, LIU J, LU X, et
al. A Method for Pedestrian Detection by Combining Textual and Visual Information [J]. Acta Electronica Sinica, 2017, 45(1): 140-146.)
[3]" REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look
Once: Unified, Real-Time Object Detection [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 779-788.
[4]" LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot Mu
ltibox Detector [C]//Computer Vision-ECCV. Berlin: Springer, 2016: 21-37.
[5]" KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet Clas
sification with Deep Convolutional Neural Networks [J]. Advances in Neural Information Processing Systems, 2012, 25: 1106-1114.
[6]" GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich Feature Hierarchies for Accurat
e Object Detection and Semantic Segmentation [C]//Proceedings of the IEEE Confe
rence on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2014: 580-587.
[7]" GIRSHICK R. Fast RCNN [C]//Proceedings of the IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 1440-1448.
[8]" REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J]. IEEE Trans
actions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[9]" HE K M, GKIOXARI G, DOLLR P, et al. Mask R
-CNN [C]//Proceedings of the IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2017: 2961-2969.
[10]" 王森, 楊克儉. 基于雙線性插值的圖像縮放算法的研究與實(shí)現(xiàn) [J]. 自動(dòng)化技術(shù)與應(yīng)用, 2008, 27(7): 44-45. (WANG S, YANG K J. An Image Scali
ng Algorithm Based on Bilinear Interpolation with VC++ [J]. Techniques of Automation and Applications, 2008, 27(7): 44-45.)
[11]" 陳澤, 葉學(xué)義, 錢(qián)丁煒, 等. 基于改進(jìn)Faster R-CNN的小尺度行人檢測(cè) [J]. 計(jì)算機(jī)工程, 2020, 46(9): 226-232. (CHEN Z, YE X Y, QIAN D W,
et al. Small-Scale Pedestrian Detection Based on Improved Faster R-CNN [J]. Computer Engineering, 2020, 46(9): 226-232.)
[12]" 石杰, 周亞麗, 張奇志. 基于改進(jìn)Mask RCNN和Kinect的服務(wù)機(jī)器人物品識(shí)別系統(tǒng) [J]. 儀器儀表學(xué)報(bào), 2019, 40(4): 216-228. (SHI J, ZHOU Y L,
ZHANG Q Z. Service Robot Item Recognition System Based on Improved Mask RCNN and Kinect [J]. Chinese Journal of Scientific Instrument, 2019, 40(4): 216-228.)
[13]" OTSU N. A Threshold Selection Method from Gray-Level Histograms [J]. IEEE Tr
ansactions on Systems, Man, and Cybernetics, 1979, 9(1): 62-66.
[14]" ZHANG Z. Proficient in Matlab Digital Image Processing and Recognition [M]. Beijing: Posts amp; Telecom Press, 2013: 1-186.
[15]" PANDA J, MEHER S. An Efficient Image Interpolatio Using Edge-Error Based Sh
arpening [C]//2020 IEEE 17th India Council International Conference (INDICON). Piscataway, NJ: IEEE, 2020: 1-6.
[16]" VINCENT O R, FOLORUNSO O. A Descriptive Algorithm f
or Sobel Image Edge Detection [C]//Proceedings of Informing Science amp; IT Education Conference (InSITE). [S.l.]: Informing Science Institute, 2009: 97-107
.[17]" 李躍. 基于邊緣定向的圖像插值算法研究 [D]. 廣州:
廣東工業(yè)大學(xué), 2015. (LI Y. Edge-Oriented Image Interpolation [D]. Guangzhou: Guangdong University of Technology, 2015.)
[18]" 李鑫然, 李書(shū)琴, 劉斌. 基于改進(jìn)Faster R_CNN的蘋(píng)果葉片病害檢測(cè)模型 [J]. 計(jì)算機(jī)工程, 2021, 47(11): 298-304. (LI X R, LI S Q, LIU B.
Apple Leaf Disease Detection Model Based on Improved Faster R_CNN [J]. Computer Engineering, 2021, 47(11): 298-304.)
(責(zé)任編輯:" 韓" 嘯)