姜偉平,孟子晗,嵇志康,崔宏恩,邢立騰
(1. 江蘇省計量科學研究院,江蘇 南京 210023; 2. 東南大學,江蘇 南京 210096; 3. 南京郵電大學,江蘇 南京 210023)
醫用顯示器是目前所有醫學影像診斷、遠程會診、醫院信息化等系統中極為重要的顯示終端,包括臨床診斷等諸多醫療工作者每天都需要使用的裝置。與普通顯示器相比,醫用顯示器具有高亮度、高對比度、高穩定性和高一致性的特點,對提高閱片診斷工作效率和保證醫學影像診斷質量有著極其重要的意義[1]。
由于醫用顯示器具有較大的日常使用量,對其及時進行常規檢測與校準工作具有很大的現實意義。然而,現有醫用顯示器校準裝置的體積與質量較大,且需要進行裝置搭建調平,前期準備工作較多,對于搬運至醫院現場進行校準工作而言,具有一定的難度;另一方面,如果將顯示器送至實驗室進行檢測校準也具有其局限性,由于醫用顯示器的高分辨率液晶屏屬于易碎品,在向實驗室送檢的過程中對運輸有著極高的要求,并且送檢實驗室的時效性難以滿足醫院的臨床要求。研究設計一款簡便并且能夠送至醫院對醫用顯示器進行自動精確檢測的設備。
目前,基于視覺伺服的機器人輔助系統,已經廣泛應用于醫療診斷等領域。文獻[2]設計了一種基于視覺伺服控制器的超聲波掃描機器人系統,通過機器人來對病人進行超聲波檢測工作,降低了對臨床醫生操作技能的要求,并提高了檢查效率;文獻[3]提出了一種基于相機控制的視覺伺服手術系統,通過機械臂操作內窺鏡攝像頭對手術工具進行腔內跟蹤,從而降低了醫療風險。從這些研究中可見,基于視覺伺服的機器人輔助系統在實現精細夾取、移動、識別、檢測等方面有著較大的優勢。
針對現有醫用顯示器可視角校準檢測中面臨的問題,本文設計了一種基于視覺伺服的機器人輔助醫用顯示器可視角檢測系統,該系統首先通過機械臂的移動使工業相機獲得醫用顯示器中心的標靶位置信息,然后移動機械臂末端,使亮度計先垂直對準顯示器的中心,接著以顯示器中心為圓心,先后向水平與豎直兩個圓弧方向移動,直至找到顯示器水平與豎直可視角的最大值。
基于視覺伺服的機器人輔助醫用顯示器可視角檢測系統的組成如圖1所示,該系統主要由機械臂本體、工業相機、亮度計以及交互控制界面組成。實驗裝置通過將亮度計與工業相機安裝于機械臂的末端位置,將機械臂基座上的吸盤與桌面連接進行固定;交互控制界面由控制按鈕與信息輸出窗口組成,用戶通過點擊按鈕控制系統進行檢測,并從窗口中獲取所檢測的可視角值。
圖1 機器人輔助醫用顯示器可視角檢測系統
該可視角檢測系統流程圖如圖2所示,在檢測開始時機械臂攜帶工業相機旋轉,尋找位于醫用顯示器中心顯示的標靶圖片,找到后經由手眼標定算法所得的轉換矩陣將醫用顯示器中心坐標轉換至機械臂坐標系下,接著機械臂攜帶亮度計與工業相機接近顯示器中心區域比進行位置校正,并采用光亮度比法開展校準[4],亮度計垂直于顯示器正中位置讀取100%全白場與0%全黑場的測試信號,并以顯示器中心點為球心,分別向豎直、水平四個方向沿球面圓弧以1°角度移動,讀取顯示器各角度的全白場與全黑場測試信號。當全白場與全黑場光亮度比小于10時,所測得的夾角就是所需的可視角。
圖2 可視角檢測系統流程圖
根據相機與機械臂在空間中固定的不同,可以歸類為“眼在手外”(eye to hand)與“眼在手上”(eye in hand)兩種方式。“眼在手外”要求相機安裝在固定位置,設備整體擁有較大的固定視野范圍;“眼在手上”要求相機固定在機械臂末端,相機視野隨機械臂末端移動而移動。
考慮在醫院環境搭建“眼在手外”的固定方式,相機與機械臂兩者的相對位置與實驗室校準值會存在偏差,需要重新進行標定,與設計要求的簡便性相違背,所以此處選擇“眼在手上”的固定方式。針對相機讀入的信號與測試過程中不同階段的需求,本文采用基于位置的視覺伺服與基于圖像的視覺伺服兩種方式。
檢測開始階段采用基于位置的視覺伺服,通過工業相機尋找并采集目標標靶信息,經過相機標定以及手眼標定,標靶在機器人基坐標系下的位姿,機械臂運動解算控制器將得到的笛卡爾坐標系下的位置信息通過機器人逆運動學解算變為具體的輸出信號,驅動機械臂移動。當圖像中心與標靶中心基本重合時,采用基于圖像的視覺伺服進行二次修正,如圖3所示,工業相機直接獲取與計算當前圖像中心與標靶中心的位置誤差,以其為控制條件驅動機械臂進行移動,補償基于位置的視覺伺服因標定精度和坐標轉換造成的誤差問題[5-6]。
圖3 視覺伺服流程圖
在機器視覺定位過程中,為了得到三維空間中的點與圖像中的點的對應關系,需要對相機進行標定,求解相機的內參外參[7]。相機標定法主要分為傳統的攝影測量標定法和自標定法,此處選擇的張正友相機標定法介于傳統的攝影測量標定方法和自標定方法之間,并較于其他方法更加便捷、穩定。
選用如圖4所示的針孔相機模型為例,現實中的一點P,經過相機光心O投影后,落在物理成像平面上,成像為點P′。整個成像過程涉及四個坐標系:像素坐標系、圖像坐標系、相機坐標系和世界坐標系。設點P在世界坐標系下的物理坐標為 (U,V,W),經過旋轉變換和平移后得到其在相機坐標系下的坐標,再根據投影關系獲取成像點在圖像坐標系中的坐標,最后經過采樣和量化得到像素坐標系下的坐標(u,v,1)[8]。
圖4 針孔相機模型
式中:Z——尺度因子;
R——3×3單位正交化矩陣;
t——3×1平移向量;
f——相機焦距;
(u0,v0)——相機光心位置。
本文的相機標定實驗在ROS框架下進行,選用分辨率為 4 096×3 000、像素尺寸 3.45 μm×3.45 μm的工業相機,采用張正友相機標定法進行標定,通過將已知的棋盤格標定板設為被標定物,多次改變相機與棋盤格標定板的相對位置,通過使用camera_calibration功能包求解像素坐標系與世界坐標系間的對應關系,獲得相機的內參、外參矩陣與畸變參數。
進行實驗前,首先準備棋盤格標定板,并將其固定,確定其方格的精確邊長;然后在Linux系統下啟動工業相機驅動程序與ROS框架下的camera_calibration程序;在如圖5所示的顯示窗口中充分移動相機,使標定板出現在程序顯示窗口各個方位。以程序中的X、Y、Size和Skew的標志為參考,分別沿水平、豎直于遠近的方向移動工業相機,并進行適當的旋轉,直至獲取到具有足夠特征的圖片集,標志下方顯示條變成綠色,并且顯示窗口中Calibrate亮起,點擊并計算得出相機的標定參數。
圖5 相機標定顯示窗口
由前文所述,選擇“眼在手上”的固定方式,將工業相機與機械臂的末端執行器相固定。為了將工業相機識別的坐標轉換為在機器人坐標系下的坐標,需要對相機與機械臂進行手眼標定。此處選擇仍具有較高使用價值的經典兩步法進行“眼在手上”的手眼標定。
機械臂與工業相機“眼在手上”的固定方式要求機械臂與標定板的相對位置恒定,通過改變機械臂末端固定的工業相機拍攝標定板的角度獲得不同的機械臂基坐標系與末端坐標系的轉換關系和相機與物體之間的轉換關系,最終解算出相機與機械臂末端之間的轉換關系[10]。
文章的手眼標定實驗仍在ROS框架下進行,選用六軸機械臂與前文所述的工業相機,以如圖6所示的ArUco Marker的二進制平方標記作為被識別的標定板,調用OpenCV庫,在完成相機標定后即可獲得相機與標靶之間轉換關系。初始化完成后,打開機械臂的驅動程序與ROS中的手眼標定程序easy_handeye,如圖7所示,通過移動機械臂的末端獲取足夠多的轉換關系對相機與末端的轉換關系進行求解。
圖6 ArUco Marker示意圖
圖7 手眼標定顯示窗口
為了提高該手眼標定的精度,標定時機械臂的移動方式也有一定的要求[11]。在獲取機械臂基坐標與末端的轉換關系和相機與物體的轉換關系時,需要保證不同轉換關系之間具有一定的旋轉,減少不同姿勢之間的平移,獲取盡可能多的轉換關系并保證相機與標定板之間的距離合理。
參照前文相機標定實驗,獲得如下的標定參數:
參照前文手眼標定實驗,獲得的標定結果如表1所示,為平移矩陣系數與旋轉四元數系數。
表1 手眼標定結果
其中平移矩陣系數即為前文所述3×1平移矩陣t中的參數,旋轉四元數系數通過四元數與旋轉矩陣間的轉換可得前文所述3×3旋轉矩陣R。手眼標定相機與機械臂末端的轉換矩陣如下所示:
為了評價文章標定方法的精度,將標定物分15次置于機械臂前放的不同位置,通過重復比對其在機械臂基坐標系下的坐標位置與其實際坐標位置計算器標定精度。比對數據如圖8~圖10可見,實驗標定方法的最大偏差為4.22 mm,理論點與實際點的平均距離為3.313 mm,一致性分析所得三軸Cohen’s kappa分別為 0.922、0.710、0.910,具有較強一致性,基本滿足要求。
圖8 X軸實際值與檢測值對比
圖9 Y軸實際值與檢測值對比
圖10 Z軸實際值與檢測值對比
機械臂實際位姿與理論位姿存在著一定的誤差,需要我們對誤差進行分析后通過誤差補償來確保最終獲得的可視角檢測結果準確可靠。
我們選擇了離線補償的方式進行機械臂幾何參數的誤差補償[12],如圖11所示,將期望軌跡td輸入到控制器中,其基本原理在于根據幾何模型f(td,π+Δ)求逆運動學,通過關節角度q得到笛卡爾位置tm,求解tm的關節角度值后與機械臂驅動器實際讀數進行比較,從而獲得修正后的軌跡。
圖11 幾何參數的離線誤差補償
經誤差補償減小了位姿誤差后,機械臂的重復定位誤差可達到±2 mm以內。采用控制單一變量法分析,機械臂末端在測量可視角參數過程中,與旋轉軌跡圓心(即顯示器中心)的距離約50 cm(模擬臨床實際閱片距離),當誤差到達極限值時,將導致可視角測量結果發生0.23°的偏差,產生的相對誤差小于1%,在允許誤差范圍之內。
采用3.1與3.2所得的相機標定數據與手眼標定數據,通過所設計系統對5塊顯示器進行可視角監測,并與當前實驗室通用顯示器校準裝置進行對比,如表2所示。
表2 可視角對比實驗數據
由表可見,本文所設計的基于視覺伺服的機器人輔助醫用顯示器可視角檢測系統,與當前實驗室通用顯示器校準裝置所測得的結果最大允差小于1°,符合國家校準規范中對可視角檢測的相關要求。
文章針對當前實驗室醫用顯示器校準裝置難以在醫院現場開展檢測這一問題,提出了一種基于視覺伺服的機器人輔助醫用顯示器可視角檢測系統設計。實驗表明,在視覺伺服系統的基礎下,通過對工業相機進行相機標定與手眼標定,所獲得的機械臂基坐標系下的目標位置較為精準,能夠為亮度計的定點檢測、識別提供目標基礎。總體設計能夠實現在醫用顯示器實際使用環境中,快速搭建檢測系統并部署自動檢測,為實施醫用顯示器的質量監管提供了解決方案。