手绘几何图形识别(上)
手绘几何图形具有的特点是,随意、简单、可以迅速的表达设计师对产品的设想,有利于捕捉生活中得到的一些灵感。绘图工具中,需要在大量菜单,选项中选择所绘的图形,操作较为繁琐,在对手绘几何图形识别的过程中,通过计算机图形学,模式识别,人工智能,完成识别,重绘的过程,再完善人机交互的体验。
一.手绘几何图形介绍
手绘图识别分为联机和脱机两种
脱机:通过特定的采集设备如摄像机、扫描仪将图形以图像的形式,采集并输入到计算机。
联机:通过连接输入设备,如手写板,触摸屏,鼠标将笔的运动轨迹识别发送到计算机。
识别方法不同:
脱机:通常脱机识别的数据是用f(xi,yi)来描述,其中(xi,yi)为坐标(i,j)处的灰度值,所以在识别过程中,我们要对数据进行降噪,二值化等预处理;
联机:联机识别中,获得的是一组二维数据,用来存放笔迹点的坐标,还可以存放笔的移动速度,加速度,笔压等信息,这些信息可以整合成多维的点的序列,比脱机识别更有优势。
手绘几何图形识别和手写文字识别比较
同属于模式识别和计算机视觉研究领域的分支。
文字识别:将输入数据识别转化成词句,并显示出来。有固定的字符集合。对每个特定字符进行特征分析,在对整个字符集的整体特征进行分析,文字识别笔画形态相对简单,书写需要有严格的规范,便于建立鲁棒(Robust)的分类器。
手绘几何图形识别:没有特定的字符集,笔画随意,特征不明显,但是图形具有很多几何特征,方向、尺寸、连接、交叉,这些几何特征可以在识别图形中进行判定。
二.手绘图识别的研究方法
手绘图识别主要的几类研究方法:
模糊类方法:
利用模糊逻辑,模糊知识,从笔迹的位置,方向,速度,加速度,来识别图形。
几何方法:
把图形作为整体识别,进行平滑处理,提取圆弧段,识别结点,分解出直线段,根据相邻3点的夹角角度作为圆弧和直线段的提取特征,找出实验阈值,进行分类。
神经网类方法:
通过提取图素几何形状的内角特征,用二进制突触的权重算法BSW(含一个隐层的前馈网)进行识别的方法。该方法以整体方式识别三角形、椭圆和矩形三种图素,但仅适用于绘图包和掌上电脑的自动草绘输入。
图元分类:
图元是组成图形的最小单元,其无法再被分割成其他几何线条。
我们把基本的图元分为:直线,圆,圆弧,椭圆,椭圆弧。
预处理:
数据采集之后需要经过预处理操作,预处理是消除因输入设备的差异,或者是个人输入习惯 的不同产生的一些噪声,如图中,因为手的抖动,造成有很多毛刺,或者绘图着画的慢,造成有些点重复取样。这些噪声会影响后面识别的准确性。
降低噪声的方法通常采用线性平滑算子或非线性平滑算子进行处理。可以通过每隔两点计算其中心点,然后连接这些中心点作为后续处理笔划的
方法。也可以通过限定草图的点间距的方法过滤掉多余的草绘点。但方法可能会丢失草绘时的一些动态特征,如速度、加速度等。
三.笔画分割
笔画分割的目的是将用户画出的复杂图形分割成基本的图元。分割的好坏会直接影响到后面识别的部分。
曲率:曲线上各点沿曲线方向的变化情况,借助曲率可以刻画曲线的几何特征。
曲率 | 几何特征 |
连续零曲率 | 直线段 |
连续非零曲率 | 弧线段 |
局部最大曲率绝对值 | 角点 |
局部最大曲率正值 | 凸角点 |
局部最大曲率负值 | 凹角点 |
曲率过零点 | 特征点 |
1.曲率的计算公式:k=△φ/△S
其中:△φ表示切线倾角变化值,△S表示曲线的弧长。
2.绘制速度
用户绘图过程中,在拐角处绘制速度会变慢,所以绘图时的绘制速度也是我们进行特征点判断的重要依据。由于在绘图的过程中是等时采样,任意点的绘制速度,可以用相邻两点间的距离代替。
根据曲率及绘制速度来检测笔划中的特征点进行分割。介绍两种分割算法:均值滤波和尺度空间滤波法。
均值滤波发:
数据的极值可能是数据的噪声产生的,所以我没要消除噪声所产生的极值,需要设置合适的阈值。如果是固定阈值,可能某种情况很好,某种情况又非常不好,均值滤波起到了一个很好的解决方案。先计算数据的平均值,然后乘以一个固定因子,获得一个合适的阈值。可以把数据分成大于和小于阈值的两个部分。
均值滤波需要运用在曲率和速度上,找出合适的特征点,具体步骤如下:
1)遍历所有采样点,计算出采样点的切线与x轴夹角,计算出曲率和平均曲率Ave_Curvature;
2)特征点在全部点钟占的比例较小,为了提高分割的准确性,所以对Ave_Curvature进行放大,作为曲率极值的判断阈值。
3)遍历所有曲率数据,比较找出大于阈值的电,加入到曲率特征点链表中。
4)同样遍历采样点,计算出速度数据和Ave_Speed。
5)对速度进行缩小,作为速度极值判断的阈值。
6)找出比阈值小的点,加入到速度特征点链表
7)比较2个链表,将重合或相近的电作为特征点输出。
尺度空间法:
尺度空间思想最早由lijima于1962年提出,但当时并未引起计算机视觉领域研究者们的足够注意,直到上世纪八十年代,Witkin等人的奠基性工作使得尺度空间方法逐渐得到关注和发展。此后,随着非线性扩散方程、变分法和数学形态学等方法在计算机视觉领域中的广泛应用,尺度空间方法进入了快速发展阶段。
尺度空间方法的基本思想是:在视觉信息(图像信息)处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息处理技术纳入尺度不断变化的动态分析框架中,因此更容易获得图像的本质特征。