陳賢兒,梁 丹,傅云龍,梁冬泰,劉 濤
(寧波大學(xué) 機械工程與力學(xué)學(xué)院,浙江 寧波 315211)
隨著科技進步,機器人應(yīng)用的領(lǐng)域越來越來越廣泛[1]。在醫(yī)療領(lǐng)域,外科手術(shù)器械護士機器人能夠完成對手術(shù)器械的識別、拾取、傳遞以及回收手術(shù)器械的任務(wù),減輕器械護士的工作負(fù)擔(dān),減少醫(yī)護人員在手術(shù)中感染疾病的風(fēng)險。目前,器械護士機器人多利用存放位置的編碼信息,僅可對固定位置器械進行存放和拿取,無法靈活實現(xiàn)手術(shù)器械的識別、定位和存取[2,3]。
近年來,機器視覺技術(shù)在工業(yè)零部件缺陷檢測方面得到廣泛應(yīng)用,展現(xiàn)出較好的檢測效果和應(yīng)用價值[4]。將機器視覺技術(shù)用于手術(shù)器械的識別與定位,將有助于提高器械護士機器人的靈活性和適應(yīng)性。在基于機器視覺的目標(biāo)識別與定位方面,國內(nèi)外許多研究學(xué)者開展了一系列相關(guān)研究。例如,俞輝等人[5]提出了一種基于輪廓特征的圖像拼接算法,用形狀簽名代替鏈碼來描述輪廓,提高了計算速度,降低由噪聲干擾和鏡頭形變造成的影響。謝昕等人[6]提出了一種基于壓縮感知的SIFT圖像匹配算法,利用壓縮感知技術(shù),結(jié)合SIFT算法提取圖像的特征點進行圖像快速匹配搜索,找到最佳匹配位置。Zhang N L等人[7]使用采用模糊K-means算法對SIFT算法進行改進,能夠保持較高的圖像匹配精度。蔡慧英等人[8]提出了一種仿射變換下基于凸包和多尺度積分特征的形狀匹配方法,適用于復(fù)雜形狀的匹配。上述方法中,基于輪廓以及凸包的方法雖然能夠提升運算的效率與速度,但存在魯棒性較差的問題,容易受到外界因素的干擾。基于SIFT算子的方法雖然能夠提升局部特征的匹配準(zhǔn)確率,但存在計算時間較長的缺點。
針對手術(shù)器械快速識別以及定位需求,本文提出一種基于Harris與SURF特征點檢測的手術(shù)器械視覺檢測方法。搭建手術(shù)器械機器視覺檢測平臺,通過視覺識別與定位實驗對本文方法的有效性進行驗證。
基于機器視覺的手術(shù)機械識別與分類方法的流程,如圖1所示。1)通過形態(tài)學(xué)操作以及MASK勻光校正算法對采集的手術(shù)器械圖像進行預(yù)處理,消除噪聲和由于手術(shù)器械金屬表面光澤反射造成的干擾。2)通過改進的基于幾何映射的Harris角點檢測算法實現(xiàn)無堆疊手術(shù)器械的匹配,并通過基于輪廓的質(zhì)心法進行定位。3)通過基于SURF特征+FLANN搜索的匹配算法實現(xiàn)堆疊手術(shù)器械的匹配。4)通過基于SURF特征點的質(zhì)心定位方法對堆疊手術(shù)器械進行定位。
圖1 本文算法總體流程
在圖像獲取過程中,由于外部光照不均、血污以及圖像傳輸?shù)纫蛩卦斐傻脑胍艉透蓴_,會影響成像質(zhì)量的好壞,從而直接影響識別效果。為減少由金屬器械光照反射對邊緣輪廓提取的影響,對被采集圖像進行MASK勻光亮度校正處理[9],如圖2所示。
圖2 MASK勻光算法處理示意
Harris角點檢測算法是通過圖像的相關(guān)性及微分運算來計算特征點,具有旋轉(zhuǎn)不變性以及高準(zhǔn)確度等特點[10]。通過固定窗口在輸入圖像中進行任意方向滑動,對比滑動前后窗口內(nèi)的灰度變化,進而確定窗口內(nèi)是否存在角點。窗口內(nèi)像素點灰度變化描述如下
(1)
式中 (u,v)為窗口偏移量;(x,y)為窗口內(nèi)像素點的坐標(biāo)值;w(x,y)為窗口函數(shù)。將E(u,v)進行泰勒展開如下
(2)
即E(u,v)表達(dá)式為
(3)
其中,M為
(4)
式(3)為二次項函數(shù),通過對比M矩陣的特征值λ1、λ2確定是否存在角點。當(dāng)λ1,λ2均為較小值時,說明像素點所在區(qū)域為“平坦區(qū)域”;當(dāng)λ1,λ2為一小一大時,說明像素點處于圖像邊界上;當(dāng)λ1、λ2均為較大值且近似相等時,則說明像素點所在區(qū)域為角點。定義角點響應(yīng)函數(shù)R如下
R=detM-K(traceM)2,detM=λ1λ2,traceM=λ1+λ2
(5)
式中 detM為矩陣M的行列式值,traceM為矩陣M的跡,K為經(jīng)驗常數(shù)。當(dāng)R(x,y)大于設(shè)置的閾值時,則判定該像素點(x,y)為角點。
Harris角點提取的效果完全依賴于單閾值的設(shè)定。若閾值較大,會失去部分角點信息;若閾值較小,則會產(chǎn)生許多偽角點,并且加大算法的計算量。在現(xiàn)實場景的噪聲干擾下,也易出現(xiàn)誤匹配的現(xiàn)象,不利于實時角點匹配以及定位的要求。對此,本文設(shè)計一種基于幾何映射的Harris角點匹配算法。1)通過K-means聚類分割提取背景輪廓,得到背景遮罩。2)使用Canny邊緣檢測算法提取遮罩邊緣輪廓,提取輪廓質(zhì)心,并構(gòu)建輪廓最小外接矩形。3)連接輪廓質(zhì)心、外接矩形遠(yuǎn)質(zhì)心端端點和近質(zhì)心短邊中點,構(gòu)建新的幾何特征,建立輪廓與幾何特征的映射關(guān)系。4)通過Harris角點檢測算法對新的幾何特征進行檢測與匹配。
Harris角點檢測算法示意如圖3所示。
圖3 改進的基于幾何映射的Harris角點檢測算法示意
本文設(shè)計改進的Harris角點檢測算法主要基于圖像輪廓質(zhì)心,在面對堆疊物體的情況下易構(gòu)建出錯誤的幾何特征,進而影響識別效果。本文設(shè)計基于SURF算子的特征匹配方法以有效檢測器械的堆疊,主要包括以下6個步驟:SURF特征點檢測、構(gòu)建尺度空間、特征點定位、選取特征點方向、生成特征點描述子和FLANN特征匹配。
1.3.1 SURF特征點檢測
Hessian矩陣是SURF算子的核心,計算Hessian矩陣的極值來獲得穩(wěn)定點,通過矩陣行列式的最大值來確定特征點的位置。設(shè)圖像為f(x,y),則其圖像上的像素點的Hessian矩陣可表示為
(6)
Hessian矩陣的判別式為
(7)
特征點需要具備尺度無關(guān)性,在構(gòu)造Hessian矩陣前需進行高斯濾波,如下所示
(8)
為提高運算速度,采用盒式濾波器來代替高斯濾波器在x,y,xy這3個方向的近似值[11],并分別記為Lxx,Lyy,Lxy,則Hessian矩陣判別式的近似計算可以表示為
det(H)=LxxLyy-(0.9Lxy)2
(9)
當(dāng)Hessian矩陣的判別式在局部取極大值時,說明其像素點在周圍區(qū)域內(nèi)更亮或更暗,從而定位出興趣點的位置。
1.3.2 尺度空間構(gòu)建與特征點定位
在SURF算法中,保持高斯模板不變,通過對目標(biāo)圖像進行降采樣得到多幅圖像,并利用圖像金字塔計算得到其差分圖像[12]。在圖像不同尺寸中定位特征點,需選擇合適的閾值。采用3×3×3鄰域進行非最大值抑制,對選出的興趣點采用3維線性插值法得到亞像素級的特征點。
1.3.3 生成特征點描述子與FLANN特征匹配
通過計算出特征點的位置與主方向,在局部區(qū)域內(nèi)生成特征點描述子。由于SURF特征向量的高維空間計算量較大,目前相對有效的方法是采用FLANN算法中的KD-TREE進行高速匹配。本文采用文獻(xiàn)[13]的基于隨機抽樣一致性(random sample consensus,RANSAC)算法刪除錯誤匹配點,可處理錯誤率超過50 %的匹配對,進而提高匹配的魯棒性并減少錯匹配點。圖4為目標(biāo)物體與匹配圖像。
圖4 目標(biāo)物體與左圖像的匹配
對于無堆疊的手術(shù)器械,可直接提取外部輪廓的質(zhì)心作為定位坐標(biāo)點。而堆疊的手術(shù)器械輪廓難以確定質(zhì)心,本文采用基于SURF特征點的質(zhì)心定位方法進行計算。
1)提取模板圖像的質(zhì)心(rchar,cchar),計算各個鄰近SURF特征點之間和特征點與模板質(zhì)心之間的距離
(10)
式中r為模板圖像特征點與模板圖像質(zhì)心的距離,l為模板SURF特征點與鄰近特征點的距離。[r,c]為模板圖像SURF特征點坐標(biāo)數(shù)組。
2)計算待定位目標(biāo)各個鄰近SURF特征點之間的距離Li,并計算模板特征點距離的比值ki,通過票選法得到通用比例系數(shù)K
(11)
3)待定位目標(biāo)內(nèi)的任意SURF特征點坐標(biāo)與其質(zhì)心點坐標(biāo)(x,y)關(guān)系可用如下矩陣形式描述
(12)
利用工業(yè)相機拍攝的100張隨機組合擺放的手術(shù)器械圖片進行識別實驗。實驗平臺如圖5所示,由工業(yè)相機、環(huán)形光源和計算機組成。其中,工業(yè)相機為海康威視MV—CE120—10GM/GC,最大分辨率為4 024×3 036;鏡頭型號為WL281236—5MP—2;環(huán)形光源型號為CCSCHPR—100SE。檢測目標(biāo)手術(shù)器械如圖6所示。
圖5 實驗平臺
圖6 目標(biāo)手術(shù)器械
通過Visual Studio 2019、OpenCV 3.4.1進行算法編程實驗,并將本文方法與Harris角點檢測、SIFT算法、文獻(xiàn)[14]和文獻(xiàn)[15]進行比對。采用手術(shù)器械中常見的直手術(shù)剪、組織鑷和手術(shù)刀等進行識別實驗。采用查準(zhǔn)率ρ、查全率φ和算法時間T來測試算法性能ρ=IT/IA,φ=IT/WT。其中,IT為識別目標(biāo)器械數(shù)量,IA為識別器械的數(shù)量,WT為待匹配器械中目標(biāo)器械的數(shù)量。
如表1所示,本文平均查準(zhǔn)率和平均查全率分別為90.2 %和92.4 %,算法平均匹配時間為3.15 s??扇〉幂^好的識別效果和識別速度。
表1 5種圖像匹配方法性能比較
由表2中數(shù)據(jù)分析可知,文獻(xiàn)[16]直接提取輪廓外接矩形中心進行定位,平均消耗時間最短,但無法處理堆疊圖像,其平均定位準(zhǔn)確率最低。文獻(xiàn)[17]通過仿射變換提取的匹配點個數(shù)較多,準(zhǔn)確率較高,但平均消耗時間過長。本文方法提取的匹配點個數(shù)適中,匹配率較高、耗時較少,平均匹配點數(shù)為21.8對,平均定位準(zhǔn)確率為93.2 %,算法平均消耗時間為1.61 s。
表2 3種定位方法性能比較
本文提出一種基于Harris和SURF特征點的手術(shù)器械視覺識別與定位方法。針對Harris角點檢測算法依賴于單閾值設(shè)定的問題,構(gòu)造目標(biāo)器械的全局特征,采用改進的Harris角點檢測算法實現(xiàn)無堆疊手術(shù)器械的快速識別。利用 SURF 算法提取圖像特征信息,采用KD-Tree搜索相似的特征矢量,通過SURF特征點實現(xiàn)堆疊手術(shù)器械的快速識別與定位。實驗結(jié)果表明:本文方法的識別準(zhǔn)確率和識別時間分別為92.4 %和3.15 s。本文提出的手術(shù)器械機器視覺檢測方法,識別效果和穩(wěn)定性好,可應(yīng)用于手術(shù)器械的快速識別與定位。