首页> 中国专利> 安卓平台上基于ROI运动检测的视频实时定位方法

安卓平台上基于ROI运动检测的视频实时定位方法

摘要

本发明公开了一种安卓平台上基于ROI运动检测的视频实时定位方法,运用图像处理算法对设备捕获的视频进行实时数据转换和图像预处理,再结合基于ROI运动检测算法,计算移动设备的移动幅度,对于移动幅度较小的视频帧略去重复字符定位的过程,在保证字符定位准确率的前提下,提高了字符实时定位的效率。本发明利用视频帧之间相似性和连续性的特点,对视频相邻帧感兴趣区域计算信息量变化,进行运动检测,略去相同字符的重复定位过程,对字符定位的效率具有显著提高。此外,本发明提高了程序运行的效率,可以有效提高定位的实时性,特别适合处理简单场景下的印刷体多字符定位。

著录项

  • 公开/公告号CN103295238A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 南京信息工程大学;

    申请/专利号CN201310219683.5

  • 申请日2013-06-03

  • 分类号G06T7/00(20060101);

  • 代理机构32206 南京众联专利代理有限公司;

  • 代理人顾进

  • 地址 210019 江苏省南京市奥体大街69号

  • 入库时间 2024-02-19 20:48:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-29

    专利权的转移 IPC(主分类):G06T7/00 登记生效日:20190312 变更前: 变更后: 申请日:20130603

    专利申请权、专利权的转移

  • 2016-08-10

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20130603

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

本发明属于图像处理技术领域,涉及一种视频实时定位方法,更为具体地说,是涉及一 种应用于安卓平台的基于ROI运动检测的视频实时定位方法。

背景技术

随着3G时代的到来,移动终端设备在近年来得到了高速发展,各类智能终端操作系统也 随之应运而生,安卓(Android)操作系统便是其中一个。安卓作为第一个完整、开放、免费 的手机平台,迅速占领了智能手机操作系统的市场占有率。基于安卓系统,大批应用型软件 层出不穷。

用户利用移动设备能够方便快捷的拍摄自然场景中的数字化图像。自然场景中的图像和 其他人造结构一样,包含着重要的文字信息,对于帮助人们获取和理解自然场景中的内容具 有重要意义。为了便于浏览、管理和理解图像或视频所包含的内容,就需要对拍摄的数字图 像进行处理和深入的理解,从而推动了人们对于数字化视频、图像内容的分析和研究,字符 识别便是其中的一种。在自然场景中检测识别文字行能满足如盲人(将文字检测识别为语音)、 司机(检测交通指示牌内容)等特殊需求,具有很高的研究价值。而在字符识别过程中,如 何进行字符的准确定位则是最为关键的基础步骤。

安卓系统中目前出现了一些针对一维和二维条形码的字符识别程序,由于在实际应用中, 应用安卓系统的移动设备一般由用户手持,因此通常处于移动当中,现有的字符识别程序在 进行识别时,需要对字符进行重新定位,而移动设备的移动幅度往往很小,仅仅是轻微的抖 动,如果对每一帧图像中的字符进行重新定位的话,会浪费不少运算资源,大大降低字符实 时定位的速度。

发明内容

为解决上述问题,本发明公开了一种安卓平台上基于ROI运动检测的视频实时定位方法, 运用图像处理算法对设备捕获的视频进行实时数据转换和图像预处理,再结合基于ROI运动 检测算法,计算移动设备的移动幅度,对于移动幅度较小的视频帧略去重复字符定位的过程, 在保证字符定位准确率的前提下,提高了字符实时定位的效率。

为了达到上述目的,本发明提供如下技术方案:

一种安卓平台上基于ROI运动检测的视频实时定位方法,包括如下步骤:

步骤10:将原始YUV420格式视频数据流通过YUV与RGB的实时转换算法,转化成RGB 格式的视频帧图像;

步骤20:对所述RGB格式的视频帧图像进行预处理,所述预处理过程包括灰度化、二值 化和边缘检测处理;

步骤30:采用ROI运动检测方法对每一帧图像进行检测,计算相邻帧状态的变化来跟踪 设备的移动幅度,当相邻帧之间运动幅度不大时,沿用前一帧的字符定位结果;当相邻帧之 间运动幅度较大时,对后一帧重新进行字符定位。

作为本发明的一种优选方案,所述步骤20中,灰度化方法采用加权平均值法,二值化方 法采用OSTU方法计算二值化阈值,所述边缘检测采用Canny边缘检测算法。

作为本发明的一种优选方案,所述ROI运动检测方法包括如下步骤:

步骤301:对初始帧进行字符区域定位,定位的结果区域的位置信息记为第二帧的感兴 趣区域的位置信息;

步骤302:分别计算相邻帧感兴趣区域的信息量,并计算相邻帧感兴趣区域的信息量差 值的绝对值;

步骤303:当步骤302中信息量差值大于信息差阈值时,对该帧视频进行重新字符定位, 当信息量差值不大于信息差阈值时,则沿用前一帧字符定位结果;继续执行步骤302。

作为本发明的一种优选方案,所述对字符进行定位的过程包括如下步骤:

步骤401:对需要进行定位的边缘检测结果进行形态学膨胀处理;

步骤402:对401步骤处理后的图像中的连通域根据预先设定的筛选规则进行筛选,获 得字符区域信息,并在二值化图像中对筛选出的连通域的最大外接矩形的位置进行切割,得 到字符定位切割的结果。

作为本发明的一种优选方案,所述信息量为黑色像素值,具体的计算方法为:在二值图 像点阵中扫描感兴趣区域,累加灰度值为0的点数。

与现有技术相比,本发明提供的基于ROI运动检测的视频实时字符定位方法,利用视频 帧之间相似性和连续性的特点,对视频相邻帧感兴趣区域计算信息量变化,进行运动检测, 略去相同字符的重复定位过程,对字符定位的效率具有显著提高。此外,本发明针对Android 移动设备处理能力的局限性,用Android本地开发框架将复杂的图像处理过程用本地语言 C++实现,提高了程序运行的效率。相对于单纯使用Java语言编写和每帧视频都作定位处理 的方法,可以有效提高定位的实时性,特别适合处理简单场景下的印刷体多字符定位。

附图说明

图1为本发明提供的视频字符实时定位方法步骤流程图;

图2为实施例步骤30中具体的ROI运动检测方法的处理流程图;

图3为字符定位方法的具体处理流程图;

图4为进行灰度化处理后的图像;

图5为进行二值化处理后的图像;

图6为进行边缘检测处理后的图像;

图7为进行形态学膨胀处理后的图像;

图8为连通域的筛选规则;

图9为根据连通域进行筛选切割后的图像;

图10为实施例的性能测试比较结果图。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方 式仅用于说明本发明而不用于限制本发明的范围。

在进行字符定位时,本方法首先获取Android手持设备采集的当前预览帧数据,在对获 取数据进行进一步的图像处理,如图1所示,具体包括如下步骤,本实施例采用联想ThinkPad  Tablet183823C捕获的一幅包含字符的彩色图像作为原始图像进行处理:

步骤10将YUV420标准格式的视频流转换为RGB格式,RGB格式更易于进行图像处理, 通过YUV(即YCrCb)三分量计算视频图像RGB分量公式如下:

R=1.164*(Y-16)+1.596*(Cr-128)

G=1.164*(Y-16)-0.813*(Cr-128)-0.392*(Cb-128)      (1-1)

B=1.164*(Y-16)+2.017*(Cb-128)

其中,Y表示明亮度,Cr和Cb是色度,分别定义了颜色的两个方面,即色调与饱和度。

步骤20运用灰度化、二值化方法以及边缘检测方法对视频中每帧图像进行预处理,其中 二值化方法采用OSTU方法计算二值化阈值,边缘检测采用Canny边缘检测算法对图像进行 轮廓提取。经过预处理后,能够得到字符区域特征明显的处理图像。

具体地说,步骤20的具体步骤如下:

步骤201对格式转换后的视频帧进行灰度化处理,即将彩色RGB图像转化为灰度图像。 灰度值的计算优选采用加权平均值法。对RGB的R、G、B分量赋予不同的权值WR、WG、 WB,再取它们的加权平均值,用公式表示为:

g=WR*R+WG*G+WB*B3---(2-1)

通常,对于红、绿、蓝三种颜色,人眼对绿色的敏感度最高,红色次之,蓝色最低,因 此,本例中选取WR=0.299,WG=0.587,WB=0.114。灰度化的处理结果如图4所示。

步骤202对灰度化后的图像进行二值化处理。设灰度图像中某一点的坐标为(x,y), G={0,1,…,255},G为0到255的整数,即灰度范围,g(x,y)表示(x,y)处的像素灰度值。取灰 度值t作为阈值(t∈G),则根据阈值的大小将灰度图中的像素点划分为大于阈值t和小于阈值 t的两个部分。阈值t的确定采用最大类间方差法(OTSU),算法将图像在某一灰度值处分割成 两组,分别对应背景部分和前景部分(字符部分)。设图像灰度值i(0≤i≤255)在图像中的出 现的概率为Pi,全局阈值灰度为t;将图像中的像素分割成两类,即灰度小于等于阈值的背景 类A=[0,1,…,t]和灰度大于阈值的前景类B=[t+1,t+2,…,255],背景类和前景类出现的概率分别 为PA、PB,则二者的灰度均值ωA和ωB分别描述为:

ωA=Σi=0ti*Pi/PA,ωB=Σi=t255i*Pi/PB---(2-2)

图像总灰度均值为:

ω0=PA*ωA+PB*ωB=Σi=0255i*Pi---(2-3)

由此可得AB区域的类间方差为:

σ2=PA*(ωA0)2+PB*(ωB0)2      (2-4)

将阈值t在灰度范围0~255之间进行遍历,当公式(2-4)中σ取得最大值即A、B类间 方差最大时,对应的t的值即为所取的阈值。

二值化公式为:

b(x,y)=1g(x,y)t0g(x,y)<t---(2-5)

其中,b(x,y)是二值化后的像素值。经过OTSU二值化后,图像效果如图5所示。

步骤203对二值化后的图像进行边缘检测。采用Canny边缘检测,即最优的阶梯型边缘 检测算法。算法采用高斯一阶微分来计算图像的梯度值,通过寻找图像梯度的局部极大值, 得到图像边缘的强度和方向,然后通过双阈值法检测图像的强、弱边缘,当强边缘和弱边缘 连接形成轮廓将其输出。核心步骤包括以下几个:

(1)去除图像中的噪声,采用高斯滤波器对图像进行平滑处理,;

(2)求图像灰度值的梯度,包括幅值和方向,通常采用一阶偏导数的有限差分计算;

(3)寻找图像灰度的梯度幅值的局部极大值;

(4)选择两个阈值,通过高阈值得到图像的大致边缘,通过低阈值搜集连接图像的新边 缘,解决边缘不闭合问题。

通过以上步骤进行Canny边缘检测的结果如图6所示。

步骤30采用ROI运动检测方法对每一帧图像进行检测,计算相邻帧状态的变化来跟踪 设备的移动幅度,判断设备的移动幅度是否较大,当相邻帧之间运动幅度不大时,则可沿用 前一帧的字符定位结果,无需对后一帧字符进行重新定位;当相邻帧之间运动幅度较大时, 则需要对后一帧重新进行字符定位,即更新字符所在区域ROI。后一帧与前一帧相比的运动 幅度通过对比二帧中ROI中的黑色像素值差来判断。通过上述步骤,遍历图像中每一帧,这 样无需对移动幅度不大的帧进行重新定位,明显提升了定位效率。

具体的ROI运动检测方法处理流程如图2所示,具体步骤如下:

步骤301对初始帧进行字符定位,定位的结果区域的位置信息记为第二帧的感兴趣区域 的位置信息。记录第一帧的字符定位结果为矩形区域Rect1=F1(x1,y1,w1,h1),其中(x1,y1)是矩 形左上角在图像中的坐标值,w1是矩形的宽度,h1是矩形的高度。设第i帧图像为Fi,则Fi的字符定位结果为矩形区域Recti=Fi(xi,yi,wi,hi),其中(xi,yi)是矩形左上角在图像中的坐标值, wi是矩形的宽度,hi是矩形的高度,定义第i+1帧图像Fi+1的ROI(感兴趣区域)即为Recti所确定的区域,记为Mi+1,即Mi+1=Fi+1(xi,yi,wi,hi),记第i帧视频中感兴趣区域黑色像素值 为信息量Di,具体计算方法为:在二值图像点阵中扫描感兴趣区域,即扫描从[xi,yi]至 [xi+wi,yi+hi]区域中的各点,累加灰度值为0的点数,该值即为感兴趣区域的信息量Di

步骤302计算第i帧和第i+1帧的感兴趣区域的信息量的差值的绝对值为⊿,判断⊿是 否大于信息差阈值d。信息差阈值d优选取图像总信息量的1%,即d=M×N/100,M、N分 别是图像的宽度和高度。

步骤303若⊿>d,对该帧视频进行重新字符定位。若⊿≤d,表明是相同的字符,无须 重复定位,原来i+1帧的字符定位结果和信息量沿用第i帧的结果,具体方式为:Di+1=Di, Mi+1=Mi,i=i+1。最后,转向步骤302,即继续判断下一帧的信息量与当前字符定位区域的信 息量差值是否超过阈值d。

步骤301中对初始帧进行字符定位及步骤303中对视频进行重新字符定位的方法相同, 为基于形态学和连通域分析相结合的方法。先用数学形态学的膨胀操作将字符区域处理成类 似于矩形区域,再对上述类似矩形区域进行连通域筛选,找出其相应的最小外接矩形,进行 切割,得到字符定位切割的结果。

进行字符定位的具体处理流程如图3所示,步骤如下:

步骤401对步骤30中需要进行定位的边缘检测结果进行形态学膨胀处理。待处理图像 为X,选取结构元素B(3×3的正方形),将B的中心点与X上的点及X四周的点逐个进行 滑动比对,若B上有一个点落在X的范围之内,则该点就为黑点。经过形态学膨胀处理的结 果后效果如图7所示。

步骤402对上述A步骤处理后的图像中的连通域根据如图8所示的筛选规则(该规则可 根据需要进行修改)进行筛选,获得字符区域信息,并在经步骤202处理后的二值化图像中 对筛选出的连通域的最大外接矩形的位置进行切割,得到字符定位切割的结果。一般情况下, 同一个安卓设备所拍摄的图片大小和像素信息基本相似,设原图像的宽度为W,高度为H, 字符连通区域最小外接矩形的宽度为cW,高度为cH,连通域的面积为cA。字符区域的切割 结果如图9所示。

上述的各种图像处理和字符定位方法,在处理时采用JNI(Java本地开发)处理框架, 将复杂的转换过程用本地语言(C++)编写,提高了程序的效率。

采用本实施例中加入运动检测的字符定位方法进行10组图像字符定位实验,再采用未加 入运动检测方式的字符定位方法(即对每一帧图像都进行定位,其余图像处理方法与本实施 例相同)进行10图像字符定位实验,将以上两种方法作为对比例,其性能测试和比较结果如 图10所示。横坐标表示实验的组数,纵坐标表示在加入ROI运动检测的前后,每帧视频定 位所处理的平均时间,单位是毫秒(ms)。加入ROI运动检测步骤的字符定位平均每帧视频的 处理时间约90ms,与未加入ROI运动检测相比,处理速度提高了约40%。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上 技术特征任意组合所组成的技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号