基于图像序列拓扑关系的扎针机器人控制系统设计
2020-06-29
(中国人民解放军第960医院, 济南 250000)
0 引言
血液采样、静脉注射、活体组织穿刺检测,都是当前医疗系统较为常用的检验手段,由于患者个体存在差异,医疗工作者的执业水平各不相同,且容易受到环境、情绪、身体状态等多种主观因素的影响,导致医疗机构体系中平均一次扎针的成功率低于80%。在医疗机器人领域的研究和探索过程中,融合了机器人智能控制技术[1]的扎针系统是热门的研究方向之一。机器人介入的扎针系统能够克服医务工作者的个体原因,提高对皮下血管和器官的识别精度与控制精度,大幅度地提高扎针一次成功率,有效减少患者痛苦,并避免不必要的医患纠纷。利用机器人代替医务工作者实施自动化操作的最大优势在于,通过高清影像系统可以准确识别和定位静脉血管和皮下器官组织的位置,并实施准确图像采样和定位[2]。而现阶段国内对于扎针机器人的研究仍处于发展的初级阶段,技术不成熟、机械臂控制的稳定性差、系统设计和使用成本高昂,特别是在红外照影图像处理[3]和多帧图像合成[4]方面清晰度差,图像拓扑定位准确率低,影响到了最终的扎针成功率。为进一步改善扎针系统的实用性及红外图像识别的精度,本文基于图像序列拓扑关系设计了一种高精度机器人扎针控制系统,通过对多帧图像拓扑关系的合成处理,提高扎针的一次成功率。
1 扎针机器人系统结构及原理
扎针机器人控制系统从整体上由机械部分、上位机控制系统、高清激光图像采集系统、和高精度传感器等部分组成。扎针机器人控制系统的框架结构设计,及各部分的连接情况,如图1所示。
图1 机器人扎针系统总体框架设计
本文设计的扎针机器人系统的机械部分,是一种六关节、多轴向的机械臂系统(埃夫特公司C60平台的ER10系列医用小型机械臂[5]),受上位机系统的程序控制,能够沿着3个轴向做360°旋转和4个方向的平移运动;上位机系统负责对机械臂的程序控制,及对高清激光影像系统和传感器采集到的实时影像数据处理,给出机械臂准确的移动指令;传感器系统被布置于机械臂的关节处及操作台的四周,主要用户监控机械臂的移动偏差,如果超出系统标定的阈值范围提前预警。操作台四周的传感器主要用于监控患者的状态,如果患者出现非正常的身体或手臂移动情况,系统会提前预警急停,避免机器人系统对人体造成伤害;高清激光影像系统负责采集和捕捉人体扎针部分的皮肤及器官状况,影像系统具有一定的皮下穿透能力,并将影响系统的相关数据合成,传输到上位机。
2 主要硬件单元
2.1 计算机高清影像采集系统
扎针机器人的视觉影像采集系统由DHT01型医用高清X射线镜头、FPGA控制器[6-7]、阿尔泰PCI8814图像采集卡及各种串口组成,影像采集系统的结构如图2所示。
图2 高清影像系统的结构
如图2所示,当影像系统的程序开始运行后,采用DHT01高清医用摄像头采集和捕捉患者扎针区域的图像,并对捕捉到的图像进行二值化处理[8],再通过镜头标定和系统的FPGA通信模块,将上位机系统与影响系统之间建立连接,将采集影像传输至PCI8814采集卡,存储至系统RAM模块。高清影像系统还可以做定时和图像格式的实时转换,根据实际需求获取彩色图像或灰度图像[9-10]。
2.2 上位机的单片机
由于扎针机器人系统的工作控制精度要求高,上位机选择了ATMEGA32L型高档单片机,能够均衡性能和整体功耗。
ATMEGA32L型单片机具有多路径控制的优势,能够根据影像系统采集到的图像,对图像进行多帧合成并识别出图像序列之间的关联性与拓扑关系,这是实现患者皮下组织器官精确定位的基础。ATMEGA32L型单片机外围的接口包括I/O端扩展接口、时钟接口、电源接口、复位电路接口等,上位机控制单片机系统的外围接口电路,如图3所示。
图3 ATMEGA32L型单片机电路图
患者就位后启动扎针系统,传感器采集患者的位置信息并上传到上位机系统,驱动机械臂的关节移动。机械臂底盘部分控制电机的运转,并检测各种机械装置的运行速度和旋转角度,准确测量出机械臂末端针头与患者身体之间的距离。ATMEGA32L型单片机的主要功能是处理高清镜头捕捉到的患者皮下组织与器官的位置图像,由于患者的身体会发生轻微的移动,因此这种图像信息的处理具有实时性。准确确定出图像序列的拓扑关系后,单片机将控制信息传递给机械臂末端控制位置移动,完成一次操作。扎针机器人系统在多个位置设有急停装置,当遇到突发情况时可紧急制动。
2.3 电源模块
扎针机器人系统对电源控制方面的需求较大,因此电源模块也是重要的硬件之一。首先机械臂关节和高清影像系统都是由电源驱动。从电源体积、机械臂的负重、灵活性和外观设计等多个角度考虑,本系统设计的电源采用两组锂电池分别供电。其次机械臂系统和红外高清镜头系统模块对于电压、电流的承受能力不同,在每个模块处安装小型的转压器。其中一组锂电池负责给机械臂末端系统、高清镜头供电,另一组锂电池主要负责给传感器、FPGA逻辑电路供电。两组电源的连接方式是并联状态,互不干扰;而机械臂的底盘系统要驱动质量较大的机械臂系统选择,因此直接用220 V交流电源供电。但各部分的锂电池组出现低电量时发出信号给系统上位机,实现自动充电,充电过程中并不影响系统的正常工作。
2.4 电机驱动模块
扎针机器人系统结构设计较为复杂,机械臂的每个关节都需要传感器配合电机工作,电机驱动模块是保证系统正常工作及控制精度的重要部分。电机部分按照每个关节驱动力的要求而选择直流电机、交流电机和步进电机。电机转盘对于驱动力和稳定性都有一定的要求,所以采用交流电机伺服系统,控制信号的周期设定为15 ms,有效脉冲的控制周期为2.0 ms;而机械臂系统的末端关节及高清镜头的驱动电机选用体积更小的步进电机,该种电机对于机械臂关节的角度控制、位移控制更为灵活,可进行3个轴向的坐标转换,并将角度和位移的控制结果反馈给单片机系统。机械臂电机驱动模块一端与上位机和单片机连接,另一端直接控制机械结构的旋转和6个轴向的移动;而高清镜头的驱动模块分别与单片机和图像采集卡连接,驱动镜头转动并传递系统采集不同方位图像的指令。为了保证系统的安全性和稳定性,单片机电路系统的驱动采用直流电源直接驱动的方式。
3 基于图像序列拓扑关系的控制算法设计
对高清镜头采集的医学图像序列处理与图像拓扑结构算法的深入研究,是提高扎针机器人运动轨迹控制精度和扎针一次成功率的重要途径之一。在计算机视觉技术框架体系内,图像的拓扑节点可以用多帧的视觉图像描述。在多帧图像的检索与定位过程中,从多帧图像中识别出与患者皮下组织当前帧图像像素最为接近的图像,并在空间范围内定位拓扑结构,识别出当前帧图像与上一帧图像纵向位姿的变化,在三维影像空间内准确定位出扎针点的位置。
3.1 图像序列的划分
将高清摄像头连续采集到患者扎针区域影像划分为多组图像序列,如果末帧图像与下一帧图像在空间范围内出现了明显的差异,表明机械臂的作业环境和场景发生了明显的变化,需要引起医务工作者的注意。本文基于局部极值算法确定出图像的序列相似度,设相邻的两帧图像表示为Pi与Pi+1,从第t时刻开始滑动窗口内的图像从Pi滑动到Pi+1(设滑动窗口的大小为l),两帧图像之间的相似度Spi表示为:
(1)
在滑动窗口内图像Pi与Pi+1之间相似度的最小值Spmin:
Spmin=min[Sp(Pi,Pi+1)]
(2)
如果Spmin与Sp(Pi,Pi+1)相等,证明当前的滑动窗口已经满足了局部极值的要求,此时所采集到的图像数据之间的差异最明显,即可以在t时刻对采集到的多帧进行图像的划分,形成新的图像序列。
3.2 图像序列特征的匹配与拓扑优化的实现
使用FAST算子检测新形成高清图像序列上的特征点,从新序列图像中选择任一个像素点Q,以该点为中心比较其周围圆形半径区域的像素点,如果能够确定出这些连续的像素点的空间阈值范围,则可以认定Q点满足多帧图像候选点的特征。基于BRIEF算法对FAST算子进行优化确定特征点的方向,对于任意一个n维的二进制图像比特串,图像序列的特征点在比特串上的平均值接近0.5,图像比特串数据服从正态分布,具体优化过程如下:
step1:建立训练集,并基于训练集特征点的数量将图像分割为大小均匀的图像块,任选一定数量的子窗口组成新的测试组。设图像块的宽度为ls,窗口的宽度为lc此时一共有(ls-lc)2个窗口。执行全部可能出现的组合结果,直到全部的特征点计算完毕。
step2:对测算完毕的训练集排序筛选,按照均值0.5的标准排序,删除不满足条件的特征点。
step3遍历全部新的图像序列,逐步提高阈值范围直到覆盖全部的图像分割小块。
step4:剔除图像中的干扰点,并匹配高清摄像机多帧图像,减少个别漂移点的测量误差,并获取到图像拓扑结构运动模型的最优参数。
step5:以优化后的特征点作为构建三维点云集合的基础,筛选每一个新传入的图像帧,如果在匹配后能够旋转或平移,以当前的图像帧作为关键帧,直到全部的图像筛选完毕。
以关键的图像帧作为三维点云集合拓扑结构上的节点,再估计每组关键帧图像的空间位姿信息,每当系统筛选出一组关键帧图像后,响应的拓扑结构中就增加了一个节点,节点的位置越精确,机器人系统扎针的准确性相对更高。如果用变量xjk表示第j个关键帧图像上的第k个特征点,那么提取到的总共M帧图像上的N个关键帧特征点的集合可以表示为:
(3)
利用三维空间点与二维图像点之间的映射对应关系,识别出代表高清相机图像位姿旋转信息与空间位移的变量。当多帧图像的关键帧节点发生闭环时,结合全部图像的关键帧节点对应的边线约束,能够得到最接近真实关键特征点拓扑结构分配,图像序列拓扑结构的优化过程如图5所示。
图5 关键特征点拓扑结构优化图示
未进行拓扑结构优化之前所产生的闭环节点基本上处于一个平面,这与真实的病理场景相悖,当发生闭环时基于图像序列特征的匹配和关键的图像帧节点,对原有图像的拓扑结构优化,能够找到一种真实空间分布最为接近的拓扑结构,对于扎针机器人机械臂末端的控制效果能够达到最优效果,提高系统扎针的一次性成功率。
4 实验结果与分析
实验中首先标定和调整DHT01型医用高清X射线镜头3个轴向的硬件参数,如表1所示。
表1 高清镜头实验参数的设置
基于传感器捕捉到高清相机的运动轨迹真实值,可以提高定性分析的准确性,在多种测量环境下根据真实的实验环境得到基础性的数据,并分析是否能够满足对扎针机器人控制的理论要求,测试得出的基础性理论数据如表2所示。
表2 采集到的实验数据集理论验证
表2中的实际采集到的基于图像序列拓扑关系的扎针机器人系统运行数据,并且能够满足实验的理论要求,证明了系统在设计和使用上的合理性。
4.1 实验方法
为验证所设计仿真机器人控制系统的有效性,仿真人体皮肤和皮下组织的硅胶体进行实验,测量针头末端三个轴向与血管中心点的偏差值,基于高清相机采集到的多帧图像作为机器人机械臂的行进轨迹确定的依据,并分析和确定出采集到的全部图像的序列关系和拓扑结构关系,实验次数为200次。
所设计扎针机器人系统的总体工作流程如图6所示。
图6 扎针机器人系统总体工作流程
如图6所示,首先采集患者的位置图像,通过序列处理获取患者位置信息,并上传到上位机系统,系统根据采集图像位置的不同控制机械臂关节移动。机械臂底盘部分控制电机的运转,并检测各种机械装置的运行速度和旋转角度,能够准确测量出机械臂末端针头与患者身体之间的距离。采用ATMEGA32L型单片机,完成扎针路径的选择。
4.2 扎针一次成功率分析
在200次实验中,每20次记为一组并统计平均偏差值,得到统计结果如表3所示。
表3 三个轴向的扎针偏差值统计
经过对200组实验结果数据的统计,3个轴向距血管中心的偏差度平均值分别为0.044 9、0.038 3、和0.038 7,趋近于血管的中心位置。利用Matlab仿真软件模拟出200组扎针实验的散点分布如图7所示。
图7 200组扎针测试实验的散点分布图
从扎针散点图的分布结果结果可知,绝大多数散点都分布在有效的范围内,200组测试实验中仅有11次扎针失败,这表明基于图像序列拓扑关系的扎针机器人具有更高的扎针成功率,与传统的扎针机器人和医务人员人工扎针的对比结果,如表4所示。
表4 不同的扎针方式一次扎针成功率对比 %
4.3 扎针机器人机械臂关节旋转角度与位移偏差
本设计系统在上位机芯片上,选择了数据处理能力和控制能力更强的ATMEGA32L型单片机,除了在多帧图像处理和数据合成上具有显著的优势之外,在对机械臂6个关节控制稳定性方面也具有良好的表现,机械臂控制的稳定性与否对于扎针的一次性成功率影响较大。关节角度偏差情况统计和针头行进轨迹的位移偏差统计情况,如表5和表6所示。
表5 机械臂6关节角度偏差统计
表6 针头行进轨迹的偏差位移
分析数据表明扎针机器人机械臂6关节3个轴向的偏差,及针头行进轨迹的偏差都被控制在合理的误差范围之内,不会对系统扎针一次成功率造成不利影响,机械系统结构稳定和强大的芯片性能保证了机器人扎针系统的高成功率。
5 结束语
在患者就医的过程中,常规检查、输液治疗和穿刺治疗的应用场景十分广泛,如何在扎针治疗中提高成功率,减轻患者的痛苦,既是患者本身的诉求也是医疗科研机构不断努力的方向。近年来随着计算机科技技术、自动化技术和机器人控制技术的不断发展,机器人在医疗领域的应用范围得到不断拓展。与传统的人工扎针相比,机器人扎针在稳定性控制和扎针成功率方面都有本质的提高,本文在现有机器人控制技术的基础上,对高清影像系统、上位机控制系统和多帧图像处理算法上进行了革新和优化,基于图像序列特征匹配原理,重新确定关键帧节点的拓扑关系,再将扎针的过程以三维图像的模式,更真实地展现整个处理过程,能够更好地控制偏差,显著提高扎针的一次成功率。