APP下载

基于图像分割和孔洞修复的三维伤口测量方法

2022-09-29赵紫阳林文伟罗冠泰曾亮张陈涛

科学技术与工程 2022年24期
关键词:测量方法坐标系伤口

赵紫阳,林文伟,罗冠泰,曾亮,张陈涛*

(1.厦门大学航空航天学院,厦门 361102;2.福建(泉州)哈工大工程技术研究院,泉州 362000)

伤口测量是临床医学研究中一项重要的工作。在研究伤口愈合过程中,伤口尺寸是评价伤口愈合的关键指标,其精确性直接影响伤口愈合情况的评估及医生治疗方案的制定。

现有传统的伤口测量方法有数格子法、直尺法、数码相机测定法[1]。数格子法是将带有网格透明纸覆盖在被测伤口上,通过计算格子数量计算伤口尺寸这种接触测量方式易导致伤口二次感染。直尺法采用直尺、软尺等测量工具测量伤口长度、宽度,测量误差较大。数码相机测定法采用彩色相机采集伤口图像,再通过图像处理计算伤口面积。Biagioni等[2]设计了基于智能手机的伤口区域测量软件,通过识别特定标定物及人工选取伤口区域,实现伤口面积的测量。Chino等[3]采用分割网络将伤口区域与背景图像进行分割,实现了伤口测量。Foltynski[4]设计了应用于伤口测量的一款手机软件,通过手机镜头采集图像,结合测量工具实现伤口尺寸测量。Privalov等[5]基于区域掩膜卷积神经网络技术(mask region-based convolutional neural network,Mask R-CNN)实现二维图像上的伤口自动分割与测量。基于二维图像的机器视觉方法虽然可对伤口进行非接触式测量,避免对伤口造成二次伤害与感染,但缺少伤口的深度信息,无法对于复杂的三维伤口定性定量分析。三维点云比二维图像能够提供更多的伤口信息,能够更为准确、全面的进行伤口评估[6-8]。David等[9]和刘春晖等[10]采用从运动中恢复结构技术 (structure from motion,SFM)对体表伤口进行三维重建,通过单摄像头进行三维伤口的定量测量,但SFM技术存在效率低且三维点云质量不稳定的问题,导致该方法测量速度慢、测量结果精度差。Damir等[11]采用深度相机对伤口进行三维测量,在彩色图像上通过颜色直方图检测伤口区域,再映射到深度图上计算伤口参数,该方法可自动提取伤口区域,但测量结果易受外界环境光干扰。Ekare Inc[12]发布了一款基于深度相机和iPad的三维伤口扫描仪,测量误差为5%,但该设备处理时间较长,完成一次伤口测量及报告需要约10 min,临床使用多有不便,并且测量精度上仍有一定的优化空间。

提出一种基于图像分割和孔洞修复的三维伤口测量方法,通过非接触式三维测量的方法解决现有伤口测量方法精度不足、稳定性差、易造成伤口二次伤害、测量时间较长的问题。该方法同时获取伤口的彩色图像与深度图像信息,通过异源图像对齐算法进行数据融合,解决异源图像由于视差导致的像素错位问题,再通过改进的区域生长法进行交互式伤口区域分割,并使用RBF神经网络复原伤口表面,通过复原前后的伤口表面差异进行三维测量。

1 方法

测量伤口的流程如图1所示,通过伤口表面三维信息精确计算伤口长度、宽度、面积、最大深度及体积等信息。首先从彩色相机数据流中获取伤口彩色图像,从深度相机中的数据流中获取伤口深度图像;基于两异源坐标系间的转换关系,结合相机内外参标定算法,将深度相机获取的深度图和移动终端获取的彩色图进行像素对齐;接着,采用交互式伤口区域分割方法精准分割出伤口区域,计算伤口长度、宽度和面积;最后,对伤口皮肤复原,计算伤口的最大深度和体积。

图1 伤口测量方法流程Fig.1 Flow diagram of the wound dimensions measurement

1.1 异源图像对齐

从深度相机与彩色相机中分别采集伤口的深度图像与彩色图像,由于两个相机的位置差异,所采集的图像将产生由于视差导致的像素错位。由于需要建立彩色图像和深度图像间的像素映射关系,首先必需将异源相机间的图像对齐。

世界坐标系是描述真实世界的三维坐标系,将镜头的光学中心设为原点。图像坐标系是指描述图像传感器成像平面的二维坐标系,取图像左上角的像素为原点。世界坐标系与图像坐标系之间的转化关系可表示为

(1)

对式(1)进行转化,得(u,v)和(x,y)之间的换算关系为

(2)

异源相机间的坐标系转换通常需要经过3个步骤:①将深度相机采集的深度图从图像坐标系转换到世界坐标系,转换关系见式(3),其中KD为深度相机内参;②进行深度相机与彩色相机之间的世界坐标系转换,转换关系见式(4),其中(R,T)为两相机间的外参;③将图像从彩色相机的世界坐标系转换到图像坐标系,转换关系见式(5),其中KC为彩色相机内参。

(3)

(4)

(5)

相机内参变量KD、KC为固定值;两相机间的外参(R,T)会由两相机的相对位置决定。采用张正友棋盘格标定方法对两相机间的外参进行快速标定,再按照式(3)~式(5)进行对齐变换。

深度相机采集的深度图像如图2(a)所示,彩色相机的彩色图像如图2(b)所示,直接将两个相机按像素对齐后,存在的错位现象如图2(c)所示。按照彩色图像和深度图像间的像素映射关系,进行异源相机间的图像对齐后效果如图2(d)所示。

图2 异源图像对齐Fig.2 Heterologous image alignment

1.2 伤口区域分割

伤口区域分割的准确性决定伤口尺寸的测量精度,人为参与伤口区域的分割能够最大限度地保证分割结果准确性。设计了一种交互式伤口区域分割方法,该方法通过人为在彩色图上简单绘制特征区域自动完成伤口分割,主要步骤如下:①人为简略绘制伤口外部包围圈;②人为简略绘制伤口内部包含部位;③伤口区域分割算法计算伤口边界;④人为判定伤口边界识别效果,若伤口区域识别效果不理想,可人为添加伤口内部包含部位或者外部包含部位进行微调伤口区域。图3为交互式伤口区域分割示意图。

图3 区域分割示意图Fig.3 Schematic diagram of image segmentation

主要采用基于区域生长法的交互式图像分割算法进行伤口分割。区域生长法是一种根据预先定义的准则,将像素或者子区域聚合成更大区域的过程。对每一个区域要先指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。区域生长法的实现需要解决3个关键问题:①给定一组目标区域的种子像素;②确定在生长过程中能将相邻像素包括进来的准则;③制定让生长过程停止条件。洪向共等[13]通过重新定义生长准则,获得了较好的图像分割效果。基于相似度函数改进区域生长法设计伤口区域分割算法,改进区域生长法设计如下。

(1)先通过在人为简略绘制的伤口外部包围圈建立区域生长法的感兴趣区域(region of interest,ROI),再采用人工交互的方式在伤口内部区域绘制初始种子像素。

(6)

式(6)中:ε1和ε2分别为定义的色调分量和饱和度分量权重系数,色调分量相对于饱和度分量包含更多的颜色信息,取ε1=0.75,ε2=0.25。

(7)

(8)

(3)根据区域生长准则遍历图像ROI区域,直至不存在种子点就停止生长。

1.3 伤口评估算法

医学上伤口评估指标主要包括伤口长度、宽度、面积、体积及最大深度等,在完成异源图像对齐和伤口区域准确分割后计算伤口评估指标。

1.3.1 长度、宽度测量

医学上定义,测量伤口时,无论伤口在人体的任何部位,伤口的长度方向应沿着人体长轴的方向,宽度应沿着与长轴垂直的方向测量[1]。三维伤口测量方法仅采集伤口局部的人体表面信息,无法确定伤口长度方向。为此设计了一种交互式定长轴的伤口长宽测量方法,方法如下。

(1)在彩色图上生成伤口区域的外接矩形作为起始矩形,标记外接矩形的4个顶点分别为P1、P2、P3、P4,且定义P1P2为长轴方向,定义为P2P3长轴垂直方向。

(2)软件界面向用户开放一旋转舵轮,用户可根据舵轮手动调整外接矩形角度,使P1P2方向为人体长轴方向,并重新生成符合的外接矩形。定义用户旋转角度为α,旋转中心为(x0,y0),旋转前点坐标为(x1,y1),则旋转后点坐标(x2,y2)计算公式为

x2=(x1-x0)cosα-(y1-y0)sinα+x0

(9)

y2=(x1-x0)sinα-(y1-y0)cosα+y0

(10)

根据式(9)、式(10)计算获得P′1、P′2、P′3、P′4,求取图像坐标系下伤口长度l=|P′1P′2|,伤口宽度w=|P′1P′2|,单位为像素。

(3)计算世界坐标系下伤口长度L和宽度W,计算公式分别为

(11)

(12)

式中:f为彩色相机焦距;Sx、Sy分别为彩色相机的单个像元长和宽;d1、d2、d3分别为图像坐标系下P′1、P′2、P′3点对应的深度值。

1.3.2 面积测量

采用积分法的方式评估伤口面积Sarea,对彩色图伤口区域进行单像素网格划分,计算伤口区域内的像素个数N,其计算公式为

Sarea=∬dXidYi

(13)

式(13)中:i=1,2,…,N;dXi为单像素区域水平方向长度;dYi为单像素区域垂直方向长度。

dXi、dYi满足:

(14)

(15)

式中:di为单像素区域对应的深度值。

1.3.3 最大深度、体积测量

伤口最大深度和体积的计算需要先对伤口区域皮肤进行复原,通过当前伤口表面与复原后伤口表面的比较计算伤口最大深度和体积。

(1)伤口皮肤复原。伤口区域皮肤的3D复原即为点云孔洞的修复。李月雯等[14]首先对输入模型进行全局曲面拟合,通过孔洞影响区域的法向量信息来调整修补曲面,该方法能够准确修复孔洞区域特征,但对于点云模型大面积孔洞的修补效果有待进一步提升。Ramesh等[15]提出了一种基于学习的孔洞检测与填充方式,采用深度学习框架检测点云中的空洞,再通过拟合曲面和曲面上的插值点进行孔洞填充,该方法具有较好的通用性,但模型较为复杂,算力资源开销较大,不适用于移动终端及算力较弱的设备运行。设计一种基于RBF的三维点云孔洞修复算法,将伤口区域分割获得的边缘点集作为样本点集,训练RBF神经网络[16],利用训练好的网络模型预测缺失的人体表皮。

所设计的RBF神经网络拓扑结构如图4所示,三层前向网络组成,包含输入层、隐藏层和输出层。输入层中设置两个输入神经元,分别为x坐标和y坐标,RBF隐藏层中神经元的变换函数为径向基函数φ1和φ2,对应的权重为ω11和ω21,输出层为单个输出神经元,输出预测的结果z。

图4 RBF神经网络结构图Fig.4 Structure diagram of RBF neural network

采用高斯函数作为基函数,其表达式为

φ(Xk,Xi)=G(‖Xk,Xi‖)

(16)

‖Xk-Xi‖=(Xk-Xi)T(Xk-Xi)

(17)

神经网络输出为

(18)

式中:Xk为第k个输入矢量;Xi为隐藏层第i个高斯单元的中心矢量;第i个隐含节点的输出为φi(X);X=[Xi1,Xi2,…,Xim]为基函数中心。

通过样本训练获取RBF函数中基函数的宽度参数σ、中心X以及输出单元的权重ωki。

所设计的RBF神经网络,将伤口区域待修复数据点集(x,y)坐标作为输入,根据训练模型预测其对应的z值,完成伤口区域缺失的点云修复。伤口皮肤复原前表面如图5所示,复原后效果如图6所示。

图5 伤口表面示意图Fig.5 Schematic diagram of wound surface

图6 伤口表面复原后示意图Fig.6 Schematic diagram of wound surface reconstruction

(2)伤口最大深度获取。采用遍历法计算伤口最大深度,对彩色图伤口区域进行单像素网格划分,计伤口区域内存在N个单像素区域,计算并遍历N个单像素区域伤口皮肤复原后与当前伤口的高度差Zi,统计最大高度差作为伤口最大深度Hmax,其表达式为

Zi=Zfi-Zbi

(19)

式(19)中:Zfi、Zbi分别对应单像素区域内伤口皮肤复原后和当前伤口的z值,i=1,2,…,N。

Hmax=max(Zi)

(20)

(3)伤口体积计算。采用积分法计算伤口体积,对单像素区域内的高度差Zi进行微分dZi,进行积分获得伤口体积,其表达式为

V=∭dXidYidZi

(21)

2 试验与分析

2.1 试验平台

伤口可能出现在人体表面的任意位置,因此伤口测量设备需具备较好的灵活性,并且便于医生外出诊疗时携带以满足多场景的使用需求。基于智能移动终端设计了一款手持式三维伤口测量设备,其硬件结构主要由移动终端、深度相机、保持架以及连接线组成,如图7所示。

图7 硬件构成示意图Fig.7 Schematic diagram of hardware components

所设计的测量设备中移动终端采用小米4平板,深度相机采用Structure sensor,主要参数如表1所示。

表1 硬件系统主要参数Table 1 Main parameters of hardware

2.2 试验方法

选取人体褥疮护理模型作为试验对象,对人体褥疮护理模型上的伤口进行测量,并将本文方法所得的三维测量结果与逆向工程测量法、二维拍照测量法所测结果进行精度比对详细测量方法如下。

(1)逆向工程测量方法:使用LMI Gocator 3520三维双目快照式传感器对该伤口进行逆向工程三维重建,设备精度±0.09 mm,并采用Geomagic Studio离线计算伤口各测量项目数值,重复建模扫描20组数据后取平均值。

(2)二维拍照测量方法:采用NIH ImageJ照相法[17],该方法使用彩色相机对伤口进行拍照,拍照时固定角度和高度,伤口数据使用软件计算,重复拍照计算20组数据后取平均值。

(3)三维扫描测量方法:使用所提出的三维伤口测量方法进行测量,交互式分割伤口区域和确定人体长轴方向,重复测量20组数据后取平均值。

3种测量方法的测量结果如表2所示。逆向工程测量方法相较于其他两种方法使用更高精度的设备和复杂的离线测量方法,计算结果更贴近真实值,因此可将逆向工程测量法的结果作为伤口真实尺寸的参考值。从测量结果可知,本文方法相较于二维拍照测量方法精度更高所有伤口检测项目误差均小于3%,于优国外同类型商用设备的5%的测量精度。

表2 伤口测量精度比较Table 2 Precision comparison of wound measurement

3 结论

所提出一种基于图像分割和孔洞修复的三维伤口测量方法,实现了伤口非接触、高精度测量。得出如下结论。

(1)针对异源图像由于视差导致的图像像素错位问题,基于异源坐标系间的转换关系,结合相机内外参标定算法,将深度相机深度图和移动终端彩色图进行像素对齐。

(2)针对伤口区域分割精度要求高问题,设计了一种交互式伤口区域分割方法,采用基于相似度函数改进的区域生长法分割伤口区域,并通过人为辅助微调机制保证伤口分割的准确性。

(3)针对伤口长度、宽度、面积、最大深度以及体积的测量要求,设计了一整套测量算法,利用深度数据进行长度、宽度和面积计算,采用基于RBF的三维点云孔洞修复算法进行伤口皮肤复原,在此基础上进行伤口最大深度和体积计算。

实现了非接触式三维伤口高精度测量,但基于结构光的深度相机受环境光干扰较大,从而导致深度图深度数据丢失。后续将优化深度图数据预处理过程,通过深度数据填充以减少环境光的干扰。

猜你喜欢

测量方法坐标系伤口
为什么伤口愈合时会痒?
基于OpenCV的车身匹配间隙测量方法
为什么在伤口上撒盐会疼?
基于CORS的高精度GPS测量方法在公路测量中应用研究
独立坐标系椭球变换与坐标换算
基于单目视觉车距测量方法综述
极坐标系中的奇妙曲线
那只给我带来伤口的大橘
三角函数的坐标系模型
求坐标系内三角形的面积