APP下载

基于图像层级的机器素描研究①

2017-09-15吴仕超刘满禄李新茂

计算机系统应用 2017年9期
关键词:像素点轮廓层级

吴仕超, 刘满禄, 朱 波, 李新茂

(西南科技大学 信息工程学院,绵阳 621010)

基于图像层级的机器素描研究①

吴仕超, 刘满禄, 朱 波, 李新茂

(西南科技大学 信息工程学院,绵阳 621010)

针对运用机械臂绘制的机器素描图像存在缺失真实感、艺术感,硬件设备复杂,难以普及的问题,提出基于图像层级的机器素描方法.该方法在运用灰度变换、滤波、二值化等图像预处理方法处理原始人物图像的基础上,分别提取出图像轮廓和图像内部填充区域两部分二值目标图像,通过简易路径规划遍历目标图像,根据遍历轨迹控制XY型简易机械臂绘制图像轮廓及按层级绘制模式填充图像内部区域,实现人物素描图像的绘制.实验结果表明,该系统可根据图像轮廓实现任意曲线的绘制,通过层级绘制模式包含环境因素达到了衬托素描图像使其更具层次感的后的.

机器素描;图像预处理;路径规划;曲线绘制;分层绘制

随着图像处理技术在机器视觉领域的快速发展,图像处理越来越多地运用于机器人领域以实现其智能化运作.运用机械臂绘制人物素描图像的关键在于应用图像预处理技术对包含人物目标的原始图像进行预处理,从复杂的视觉图像中分离出目标图像[1].同时,运用边缘检测技术[2-4]提取出图像轮廓和图像内部填充区域.

在之前有关运用机械臂绘制人物素描图像的研究中,其采用的绘制算法都相当复杂,且往往与昂贵的机械臂相结合,这类解决方案难以得到推广.国外相关研究有,Sylvain Calinon等人[5]运用日本富士通生产的四自由度HOAP2机器人作为硬件平台并采用OpenCV作为图像处理工具完成了图像采集、处理和绘制等工作.Junichi Ido等[6]将机器视觉与语音系统运用到机器人上实现了交互式绘制素描图像的后的.A.Mohammed等[7]运用机器视觉与机械臂实现了远程控制机器人进行素描图像绘制的后的.Patrick Tresset等[8]通过设计“Drawing Cycle”学习模式以从艺术家的作品中得到表现图像的艺术手法并控制机械臂实现模仿绘画.今年,在世界移动通信大会上谷歌推出了一套基于Android智能手机的机器人绘图系统[9],其最大的特点在于通过手机采集、处理图像数据,简化了实验平台.相对而言,国内关于运用机械臂绘制人物素描图像的研究较少且起步较晚.相关的研究有,贺云凯[10]通过六轴工业机械臂实现了简单矢量图形及字符的绘制.倪菲等[11,12]对肖像的漫画绘制技术进行了相关研究,提出了一种自动参数化的曲面透镜算法用于实现肖像的漫画绘制效果.孟盼盼[13]对肖像绘制技术中目标图像的提取以及提取目标图像的特征信息如头发、眼睛、眉毛等进行研究,获得了较为完整的人物目标图像.何雪军等[14]运用遗传算法对机械臂的图像遍历序列进行优化,提高了素描图像的绘制速率.

图像信息的复杂性、处理平台性能的局限性决定了素描图像的绘制要耗费一定的时间.为此,本文提出基于图像层级的机器素描方法,通过设定不同的阈值将原始图像分为包含不同深度图像信息的二值图像,采用XY型简易机械臂硬件平台,运用层级绘制模式以环境信息衬托目标图像特有的又难以运用自身信息表现的特征,达到模拟艺术家绘制素描图像的效果.

1 基于图像层级的机器素描

该方法的系统实现由以PC为中心,利用MATLAB

软件平台编程实现的图像获取、处理部件和执行图像绘制功能的执行部件组成.图像获取及处理部件设计有用户图形界面,用于控制图像信息获取、图像处理和运用执行部件绘制素描图像等流程.系统总体设计框图如图1所示.

图1 基于图像层级的机器素描方法系统设计框图

图像获取设计有载入本地图像和利用摄像头实时采集环境图像两种方式,原始图像读入系统后,对其进行一些列包括灰度变换、滤波、二值化等图像预处理操作,并按照下文的路径规划算法实现图像边缘提取、绘制和图像内部区域的多层次填充.

本实验系统的硬件平台如图2所示,其中X和Y(假设长的一边为X轴,向右、向上分别为两轴坐标递增的方向)两个方向的运动合成画笔的在纸面的运动;Z轴装有画笔可夹持装置,用于夹持画笔和控制画笔与纸面的距离;底部为放置画纸的夹板,画纸以A4纸大小为佳.

图2 绘图机器人硬件平台

2 机器素描方法实现

2.1 图像处理

图像处理过程如图3所示,通过对获取的图像进行灰度变换、滤波等处理以减小噪声对目标图像的影响;针对灰度图像通过设定不同的阈值加以处理以获得包含不同深度图像信息的图像内部填充区域;对于二值化图像通过本文的边缘检测算法得到图像轮廓.

图3 图像处理过程

2.1.1 目标图像边缘提取

图像像素之间的八邻接示意图如图4所示.

本文以如下算法获得图像边缘像素的坐标:

1)建立正向笛卡尔坐标系.

2)获得图像边界段的起始像素,横坐标最小、纵坐标最大且未标识的目标像素,将其作为当前像素,加入到边界像素段中并对其进行标识.

3)以图4所示查询方向,按照左上方、上方、右上方等顺时针方向依次查询是否存在未标识的目标像素,如果存在则将其作为当前像素,加入到边界像素段中,对其进行标识并记录相对位置关系.

4)以记录方向逆时针旋转两个方向的位置关系为起始位置,按顺时针方向依次查询是否存在未标识的目标像素,如果存在则将其作为当前像素,加入到边界像素段中,对其进行标识并记录相对位置关系.

5)重复步骤4)直至当前像素的邻接像素中只有步骤2)中已标识的像素为止,至此完成一段封闭的边界坐标提取.

6)重复步骤2)至步骤5)直至所有边界像素加入到边界像素段中.

图4 边界邻接像素间的位置关系

2.1.2 目标图像区域分层提取

通过边缘提取操作从原始图像中获得包含背景信息的图像边缘,绘制图像边缘可确定目标图像轮廓.为使利用机械臂绘制的素描图像更具层次感与艺术感,需要对绘制的图像轮廓进行区域层级填充.本文通过设定四个不同的阈值以获得四幅包含不同深度图像信息的内部填充区域,再利用四种不同的绘制方式进行区域层级填充.通过本文算法获得的包含不同深度图像信息的内部填充区域图如图5所示.

图5 不同阈值下图像内部填充区域提取结果

从图中可以看出,从左到右图像的二值化阈值逐渐减小,获得图像填充区域所包含的特征信息也逐渐变少.在进行区域填充时亦按照从左到右的顺序进行,首先填充图像信息较为丰富的区域,再运用不同的绘制方式填充图像信息次为重要的区域.

2.2 路径规划

基于本实验系统的硬件平台,软件设计为控制画笔在X、Y两个方向的运动和画笔的升降操作以达到在纸面完成绘画的后的.基于此设计思想,本文运用MATLAB编程实现图像轮廓绘制和图像内部区域填充两部分的路径规划.

2.2.1 像素模型建立

本文以一定长度的线段等效表示单个像素所占空间的大小,以实现运用线段完成素描图像绘制的后的.像素与线段的对应关系如图6所示,(a)表示像素点(假设其几何尺寸存在,且为L×L),(b~f)表示与像素点等效的线段.其中,(b)为长度为L的水平线段,(c)为长度为L的铅锤线段,(d)为长度为的45度斜线,(e)为长度为的145度斜线,(f)表示经过像素中心且与水平线方向夹角为θ的用于等效表示单个像素的任意线段,其长度L1可按下式求得.

图6 像素点与线段的对应关系

2.2.2 目标图像轮廓绘制

在进行图像轮廓绘制时,本文没有使用曲线拟合这一经典的曲线分解方法,而是采用改变用于等效表示像素点的线段长度L1,以“画直示曲”的方法完成复杂图像轮廓绘制的后的,也即在绘制图像轮廓和填充图像内部区域时设定像素点与其等效表示直线段长度之间不同的映射关系:进行图像轮廓绘制时包含大量的像素点,同时等效表示单个像素的线段较短;填充图像内部区域时包含的像素较少,同时等效表示单个像素的线段较长.

本文通过九宫格以8连接方式获得图像边缘坐标,则在每一边界段中任意两个相邻像素点间的相对位置关系仅为图4所示的八种相对位置关系中的一类.以8连接方式获得的任一分段图像边缘可用图7所示的简易数学模型来表示,图中小圆点表示图像边缘上的像素点,折线的方向表示以8连接方式获得图像边缘像素点的先后顺序.

图7 图像一边界段简易数学模型

对以8连接方式获得的每一边界段的像素按以下方式进行编码:

1)建立正向笛卡尔坐标系.

2)以边界段中第一个像素作为当前像素并标识.

3)判断当前像素与其邻接的且未标识的像素之间的位置关系:

a)添加隔离标识符S.

b)首先用邻接像素的横坐标值减去当前像素的横坐标值.

c)如果差值为零则以0编码,表示由当前像素到其邻接像素在X方向上无需移动;如果差值大于零(为1)则编码为1,表示需往X正方向移动一个像素长度的距离;如果差值小于零(为-1)则编码为2表示需往X负方向移动一个像素长度的距离.

d)用邻接像素的纵坐标值减去当前像素的纵坐标值并将计算结果作为编码值.

4)将邻接像素作为新的当前像素并标识,重复操作3)直至边界段的最后一个像素成为当前像素.

运用以上编码方式对图7所示图像边缘进行编码得:S01S01S11S10S1-1S0-1S0-1S21S2-1S20.在上位机软件与下位机间定义相关的通信协议后就可对此编码进行解码还原并通过控制X、Y两个方向的运动实现控制画笔沿图像边缘运动,达到绘制图像轮廓的后的.

2.2.3 目标图像内部区域填充

利用前文提取得到的如图5所示的四幅图像内部填充区域对图像轮廓进行细节渲染,通过控制画笔的走线方式和在同一点下笔的次数达到区分原始图像中区域像素亮度不同的后的.通过多层次和多方式的绘制使得绘制的素描图像具有阴影感,真实感更强.基于本实验系统的硬件平台,本文设计有四种区域填充方式:按行填充、按列填充、45度和145度斜线填充方式.图8为图像内部填充区域按行填充和45度斜线填充方式的路径规划示意图.

图8 区域水平填充和斜线填充示意图

在建立坐标系后,对于按行、列进行图像内部区域填充的方式而言,关键在于确定每一行、列的第一个和最后一个目标像素点的位置X0和X1,即当前路径上要传输的数据长度由X0及X1唯一确定(X1-X0+1);对于斜线填充方式,需要先从目标图像中以固定斜线方式提取图像信息并确定有效像素始末位置,然后传送图像信息到下位机进行内部区域填充.

3 实验与结果分析

利用本文提出的基于图像层级的机器素描方法,在提取出图像轮廓和图像内部填充区域的基础上,经简易路径规划,最终绘制的素描图像如图9、图10所示.

图9 人物及卡通素描图像

文献[5]绘制的机器素描图像如图11所示.

由图11可看出,此算法由于只进行了单层填充,绘制的素描图像过于单调,缺乏真实感、艺术感.

由文献[6-10]提出的素描图像绘制方法均存在绘图设备冗杂、昂贵,难以推广等不足.相对而言,本文提出的素描图像绘制方法,硬件结构简单,易于推广使用.

由绘制的Lenna人物素描图像可以看出,在层级图像绘制方法下,每一层目标图像内部填充区域包含的目标信息深度不同,单独绘制任何一层图像填充区域都不能完整地体现目标图像所含有的信息,但是通过与不同的区域填充方式进行组合绘制,可使得目标图像的特征信息更为突出,绘制的素描图像更具立体感,达到了素描图像的基本艺术特征.同时,由于本系统可根据图像轮廓实现任意曲线的绘制,故在绘制线条较为简单的卡通图像方面是十分容易的.此外,本系统可用于绘制以图片形式存储的字符图像,如艺术字与个性签名等.

图10 字符及签名素描图像

图11 由文献[5]绘制的机器素描图像

4 结语

本文通过对原始图像进行灰度变换、滤波等图像预处理后,一方面对图像进行二值化处理并提取出图像边缘;另一方面通过设定四个阈值将灰度图像转换为包含不同深度图像信息的内部填充区域.通过对图像边缘的绘制确定素描图像轮廓,进而通过层级绘制模式填充图像内部区域,增加素描图像的层次感,最终实现运用机械臂绘制素描图像的后的.本文提出的基于图像层级的机器素描方法以环境信息衬托目标图像,解决了难以通过目标图像自身信息表现其特征的问题.同时,本文运用一种较为简便的方法实现了图像边缘的绘制和图像内部区域填充,为素描图像的快速绘制提供了保障.由于本实验系统为先绘制图像轮廓再进行图像内部区域填充,同时由于机械结构存在精度不高等缺点,故由本实验系统绘制的素描图像存在图像轮廓与内部填充区域不能完全对齐的现象.在后续的工作中,本实验系统的不足将随着硬件和软件算法的提高而逐步得到改善.

1 Gonzalez RC,Woods RE,Eddins SL.数字图像处理的MATLAB实现.阮秋琦,译.2版.北京:清华大学出版社,2013:307–311.

2 倪麟.基于Otsu理论的图像分割算法的研究[硕士学位论文].重庆:重庆大学,2013.

3 曾俊.图像边缘检测技术及其应用研究[博士学位论文].武汉:华中科技大学,2011.

4 乔阳.基于改进遗传算法的图像分割方法[硕士学位论文].成都:电子科技大学,2013.

5 Calinon S,Epiney J,Billard A.A Humanoid robot drawing human portraits.Proc.of the 5th IEEE-RAS International Conference on Humanoid Robots.Tsukuba,Japan.2005.161–166.

6 Ido J,Nisimura R,Matsumoto Y,et al.Humanoid with interaction ability using vision and speech information.2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.Beijing,China.2007.

7 Mohammed A,Wang L,Gao RX.Integrated image processing and path planning for robotic sketching.Procedia CIRP,2013,(12):199–204.[doi:10.1016/j.procir.2013.09.035]

8 Tresset P,Leymarie FF.Portrait drawing by Paul the robot.Computers &Graphics,2013,37(5):348–363.

9 Maomao.MWC2016:谷歌展示迷幻绘图机器人.http://www.cnbeta.com/articles/477097.htm.[2016-06-03].

10 贺云凯.基于六轴工业机器人的矢量图形及字符绘制的应用研究[硕士学位论文].太原:太原理工大学,2015.

11 倪菲,付庄,曹其新,等.肖像绘制机器人的漫画处理方法.上海交通大学学报,2007,41(8):1276–1281.

12 倪菲,付庄,曹其新,等.肖像漫画绘制机器人技术研究.自然杂志,2007,29(4):212–218.

13 孟盼盼.肖像绘制机器人技术研究[硕士学位论文].合肥:中国科学技术大学,2011.

14 何雪军,王进,陆国栋,等.基于蚁群算法的机器人图像绘制序列优化.浙江大学学报(工学版),2015,49(6):1139–1145.

Research on Machine Sketch Method Based on Image Hierarchy

WU Shi-Chao,LIU Man-Lu,ZHU Bo,LI Xin-Mao
(School of Information Engineering,Southwest University of Science and Technology,Mianyang 621010,China)

Aiming at the problems that the machine sketch image drawn by the manipulator lacks realism,artistic sense,and the hardware equipment is complicated,and hard to popularize,this paper proposes a machine sketch method based on image hierarchy.With this method,it extracts image contours and image inner filling areas as binary target images from the processed images based on the application of some pre-processing methods such as Gray-scale Transformation,Filtering and Binary in dealing with the original character image.Through traversing the target images with simple path planning ,then using XY-type simple manipulator to draw the image contours while painting the images with hierarchical drawing modes,it ultimately achieves the drawing of the character sketch image.Experimental results show that the method can draw arbitrary curve according to the image contours,through the hierarchical drawing model,which take the environmental factors into consideration,achieving the purpose of flattering the sketch image and making it more hierarchal.

machine sketch;image pre-processing;path planning;curve drawing;hierarchical drawing

吴仕超,刘满禄,朱波,李新茂.基于图像层级的机器素描研究.计算机系统应用,2017,26(9):264–268.http://www.c-s-a.org.cn/1003-3254/5972.html

① 基金项后:西南科技大学大学生创新基金(CX16-074)

2016-12-28;采用时间:2017-02-08

猜你喜欢

像素点轮廓层级
科室层级护理质量控制网的实施与探讨
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
军工企业不同层级知识管理研究实践
基于军事力量层级划分的军力对比评估
跟踪导练(三)
职务职级并行后,科员可以努力到哪个层级
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密
儿童筒笔画