在移动终端进行实时图像识别的方法及该移动终端的制作方法

文档序号:7770937阅读:192来源:国知局
在移动终端进行实时图像识别的方法及该移动终端的制作方法
【专利摘要】本发明公开了在移动终端进行实时图像识别的方法及该移动终端,其中,该方法包括:用移动终端摄像头实时进行数据采集,获取视频帧;对视频帧进行运动估计,确定出视频帧运动状态;判断视频帧运动状态是否为运动到静止,如果是,则确定为清晰帧图像,将清晰帧图像上传到云端服务器;接收云端服务器反馈的识别结果,显示识别结果。本发明方案能够节省流量,有效反馈识别结果。
【专利说明】在移动终端进行实时图像识别的方法及该移动终端

【技术领域】
[0001] 本发明涉及图像处理和识别技术,尤其涉及在移动终端进行实时图像识别的方法 及该移动终端。

【背景技术】
[0002] 在移动终端进行实时图像识别的方案包括:用移动终端摄像头获取关于目标的视 频帧,发送给云端服务器;云端服务器对接收的视频帧进行识别,确定出对应的描述信息, 反馈给移动终端进行显示。
[0003] 举例说明:可以对图书封面、CD封面、电影海报、条形码、二维码、商品Logo等各种 物体进行数据采集;云端服务器接收视频帧后,将反馈相关描述信息,描述信息包括关于相 关物品的购买情况、评论信息等。采用这种方式,可以即拍即得,非常快捷。
[0004] 现有移动终端进行数据采集及发送的方式主要有两种,下面分别进行具体说明:
[0005] 方式一:
[0006] 用移动终端摄像头对准目标进行拍照,将得到的视频帧发送给云端服务器。
[0007] 该方式存在以下缺陷:需要对准后手动进行操作,不方便。并且,如果没有对准,或 者出现晃动,云端服务器将无法进行图像识别,进而移动终端不能成功获取关于目标的描 述信息。
[0008] 方式二:
[0009] 不需要进行拍照,而是采用实时对摄像头捕获的整副画面进行数据采集,将采集 的图像数据发送给云端服务器。
[0010] 该方法虽然无需人为进行拍摄,方便了操作,但同时存在以下缺陷:由于实时将采 集的视频帧发送给云端服务器,其流量较大;并且,采集的有些数据帧不清晰,云端服务器 无法识别,不能有效反馈识别结果。
[0011] 可见,现有在移动终端进行实时图像识别的方法,存在消耗流量大、不能有效反馈 识别结果的缺陷。


【发明内容】

[0012] 本发明提供了一种在移动终端进行实时图像识别的方法,该方法能够节省流量, 有效反馈识别结果。
[0013] 本发明提供了一种进行实时图像识别的移动终端,该移动终端能够节省流量,有 效反馈识别结果。
[0014] -种在移动终端进行实时图像识别的方法,该方法包括:
[0015] 用移动终端摄像头实时进行数据采集,获取视频帧;
[0016] 对视频帧进行运动估计,确定出视频帧运动状态;
[0017] 判断视频帧运动状态是否为运动到静止,如果是,则确定为清晰帧图像,将清晰帧 图像上传到云端服务器;
[0018] 接收云端服务器反馈的识别结果,显示识别结果。
[0019] 一种进行实时图像识别的移动终端,该移动终端包括数据采集单元、运动估计单 元、清晰帧判断单元和识别结果显示单元;
[0020] 所述数据采集单元,用移动终端摄像头实时进行数据采集,获取视频帧,发送给所 述运动估计单元;
[0021] 所述运动估计单元,对视频帧进行运动估计,确定出视频帧运动状态,发送给所述 清晰帧判断单元;
[0022] 所述清晰帧判断单元,判断视频帧运动状态是否为运动到静止,如果是,则确定为 清晰帧图像,将清晰帧图像上传到云端服务器;
[0023] 所述识别结果显示单元,接收云端服务器反馈的识别结果,显示识别结果。
[0024] 从上述方案可以看出,本发明中,对采集到的视频帧进行运动估计,确定视频帧运 动状态;在判断出视频帧运动状态为运动到静止时,确定为清晰帧图像,将清晰帧图像上传 到云端服务器。本发明采用摄像头主动采集数据的方式,无需用户手动进行拍照,简便了操 作;并且,只将清晰帧图像发送给云端服务器,而不是实时将采集的视频帧发送给云端服务 器,节省了流量;由于云端服务器基于清晰帧图像反馈识别结果,使识别结果更加有效。

【专利附图】

【附图说明】
[0025] 图1为本发明在移动终端进行实时图像识别的方法示意性流程图;
[0026] 图2为本发明在移动终端进行实时图像识别的方法流程图实例;
[0027] 图3为本发明进行运动估计方法流程图实例;
[0028] 图4为本发明进行数据块匹配的示意图实例;
[0029] 图5为本发明进行实时图像识别的移动终端结构示意图。

【具体实施方式】
[0030] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本 发明进一步详细说明。
[0031] 发明人在进行本发明的过程中发现,在进行数据采集的过程中,实际应用时,用户 先打开摄像头,然后移至对准目标,摄像头进行数据采集,这是一个由运动到静止的过程。 基于此,本发明对采集的视频帧的运动状态进行判断,当获知视频帧运动状态为运动到静 止时,确定为清晰帧图像,将清晰帧图像上传到云端服务器;这样,只将清晰帧图像发送给 云端服务器,节省了流量;且由于云端服务器基于清晰帧图像反馈识别结果,使识别结果更 加有效。
[0032] 参见图1,为本发明在移动终端进行实时图像识别的方法示意性流程图,其包括以 下步骤:
[0033] 步骤101,用移动终端摄像头实时进行数据采集,获取视频帧。
[0034] 步骤102,对视频帧进行运动估计,确定出视频帧运动状态。
[0035] 移动摄像头对画面进行逐帧采集,对实时获取的某一视频帧进行运动估计,以确 定出该某一视频帧的运动状态。
[0036] 运动估计的英文名称是(Motion Estimation),多运用在视频编码技术中。本发 明将运动估计应用到对移动终端摄像头采集的视频帧进行处理,以确定出视频帧的运动状 态。具体地,可采用运动矢量确定视频帧运动状态,包括:计算出视频帧与其上一视频帧之 间的运动矢量,运动矢量包含运动幅度和运动方向;由运动矢量确定出视频帧运动状态。
[0037] 采用运动估计计算出视频帧与其到上一视频帧之间的运动矢量,具体可采用如下 方式:
[0038] 获取上一视频帧的中心区域像素;
[0039] 以视频帧的中心区域为起点,在其周围搜索出与上一视频帧中心区域像素相似的 区域,确定出匹配块;
[0040] 将视频帧的中心区域与匹配块之间的位置矢量作为运动矢量。
[0041] 运动状态包括运动、静止、运动到静止、静止到运动,由运动矢量确定出视频巾贞运 动状态的方式有多种,可根据实际需要设置,下面进行实例说明。由运动矢量确定出视频帧 运动状态包括:
[0042] 读取存储的背景运动状态;如果背景运动状态为静止,且从当前帧开始连续N帧 运动幅度都大于第一运动阈值,N为自然数,当前帧为第1帧,则第1至N+1帧的运动状态 为静止,背景运动状态仍为静止,将第N+1帧运动状态确定为静止到运动,并将背景运动状 态修改为运动;如果背景运动状态为静止,且当前帧运动幅度小于第一运动阈值,则当前帧 运动状态仍为静止,背景运动状态仍为静止;
[0043] 如果背景运动状态为运动,且从当前帧开始连续N帧运动幅度都小于第二运动阈 值,N为自然数,当前巾贞为第1巾贞,则第1至N+1巾贞的运动状态为运动,背景运动状态仍为运 动,将第N+1
[0044] 帧运动状态确定为运动到静止,并将背景运动状态修改为静止;如果背景运动状 态为运动,且当前帧运动幅度大于第二运动阈值,则当前帧运动状态仍为运动,背景运动状 态仍为运动。
[0045] 进一步地,确定出背景运动状态为静止,且当前帧运动幅度小于第一运动阈值之 后,该方法还包括:
[0046] 判断运动幅度是否大于第三运动阈值,如果是,则当前帧运动为微运动,背景运动 状态仍然为静止,如果从当前帧开始连续Μ帧的运动都是相同方向上的微运动,当前帧为 第1帧,则将第Μ帧的运动状态确定为静止到运动,并将背景运动状态修改为运动,Μ为自 然数。
[0047] 背景运动状态为静止的情况下,如果由运动幅度获知上一视频帧之后有连续两帧 的运动幅度都大于S1,且由运动方向获知所述连续两帧的方向相反,则判断为抖动情形,将 所述连续两帧的运动状态仍确定为静止;
[0048] 如果由运动幅度获知上一视频帧之后有连续两帧的运动幅度都大于S1,且由运动 方向获知所述连续两帧的方向相同,则将连续两帧中最近一帧确定为静止到运动状态。
[0049] 步骤103,判断视频帧运动状态是否为运动到静止,如果是,则确定为清晰帧图像, 将清晰帧图像上传到云端服务器。
[0050] 如果判断视频帧运动状态不为运动到静止,则不向云端服务器上传数据帧。
[0051] 进一步地,为了提高判断清晰帧的准确性,在确定出视频帧运动状态为运动到静 止之后,还可以进行角点检测:
[0052] 计算出视频帧的角点特征数目;
[0053] 判断角点特征数目是否大于角点数目阈值,如果是,则确定为清晰帧图像;否则, 确定为模糊帧图像。
[0054] 通常地,判断出视频帧运动状态为运动到静止时,确定为清晰帧图像,将清晰帧图 像上传到云端服务器。在某些应用环境下,也可以基于多帧连续视频帧的运动状态都为静 止,来自确定出上传清晰帧图像的时机;具体地,假设当前帧为第1帧,如果判断出第1帧 至第N+1帧都为静止状态,则确定出第N+1帧为清晰帧,将清晰帧图像上传到云端服务器; N为自然数。步骤104,接收云端服务器反馈的识别结果,显示识别结果。
[0055] 云端服务器接收视频帧后,将反馈相关描述信息,包括关于相关物品的购买情况、 评论息等。
[0056] 本发明中,对采集到的视频帧进行运动估计,确定视频帧运动状态;在判断出视频 帧运动状态为运动到静止时,确定为清晰帧图像,将清晰帧图像上传到云端服务器。本发明 采用摄像头主动采集数据的方式,无需用户手动进行拍照,简便了操作;并且,只将清晰帧 图像发送给云端服务器,而不是实时将采集的视频帧发送给云端服务器,节省了流量;由于 云端服务器基于清晰帧图像反馈识别结果,使识别结果更加有效。
[0057] 下面通过图2,对本发明在移动终端进行实时图像识别的方法进行实例说明,其包 括以下步骤:
[0058] 步骤201,用移动终端摄像头实时进行数据采集,获取视频帧。
[0059] 步骤202,对视频巾贞进行运动估计,确定出视频巾贞运动状态。
[0060] 为了方便说明,将进行运动估计的视频帧称为待处理视频帧。
[0061] 本发明中,将现有用于视频编码的运动估计思想移植到移动终端摄像头对图像的 处理,视频与移动终端摄像头的图像序列均有共同的连续图像相关性,因此运动估计算法 是可以通用的。但是,二者又有不同点,比如移动终端摄像头获取的图像分辨率往往较低, 并且在用户实际使用的时候移动终端不会有太大运动幅度的运动;更主要的是,视频编码 中采用针对全局的运动估计算法,这种计算方式非常慢,即使在PC上也往往不能达到实时 的效果。因此,针对两者的不同,本发明对应用于视频编码的运动估计算法进行改进,使其 在各种移动终端上也能达到非常高效的性能,同时消耗较少的CPU资源,甚至使消耗的CPU 资源基本可以忽略不计。参见图3,为本发明进行运动估计方法流程图实例,其包括以下步 骤:
[0062] 步骤301,获取待处理视频帧的中心区域像素,并存储。
[0063] 步骤302,获取待处理视频帧的上一视频帧的中心区域像素。
[0064] 移动终端每次采集视频帧后,都将存储该视频帧的中心区域像素;具体地,存储中 心区域的像素灰度值。本步骤中,提取存储的与待处理视频帧紧邻的上一视频帧的中心区 域像素灰度值。
[0065] 步骤303,以待处理视频帧的中心区域为起点,在其周围搜索出与上一视频帧中心 区域像素相似的区域,确定出匹配块。
[0066] 下面结合图4对确定匹配块的方法进行详细说明。图中,上一视频帧中标有网格 的方形区域为上一视频帧中心区域,待处理视频帧中的虚线区域为待处理视频帧中心区 域,对虚线框周围的一个有限邻域内采用由里到外的方式进行搜索,找到与上一视频帧中 心区域像素灰度值相似的区域,该区域称为匹配块,待处理视频帧中标有网格的方形区域 便为搜素出的匹配块。
[0067] 本实例中,将上一视频帧的中心区域(X,y)像素灰度表示为I (X,y),将待处理视 频帧中用于与上一视频帧中心区域进行匹配的搜索块表示为I'(x,y),将两者之间差的平 方和作为块相似度的指标,假设块大小为N乘以N个像素,则误差平方和S为:
[0068]

【权利要求】
1. 一种在移动终端进行实时图像识别的方法,其特征在于,该方法包括: 用移动终端摄像头实时进行数据采集,获取视频帧; 对视频巾贞进行运动估计,确定出视频巾贞运动状态; 判断视频帧运动状态是否为运动到静止,如果是,则确定为清晰帧图像,将清晰帧图像 上传到云端服务器; 接收云端服务器反馈的识别结果,显示识别结果。
2. 如权利要求1所述的方法,其特征在于,所述对视频帧进行运动估计,确定出视频帧 运动状态,包括: 计算出视频帧与其上一视频帧之间的运动矢量,运动矢量包含运动幅度和运动方向; 由运动矢量确定出视频帧运动状态。
3. 如权利要求2所述的方法,其特征在于,所述由运动矢量确定出视频帧运动状态包 括: 读取存储的背景运动状态; 如果背景运动状态为静止,且从当前帧开始连续N帧运动幅度都大于第一运动阈值,N 为自然数,当前巾贞为第1巾贞,则第1至第N+1巾贞的运动状态为静止,背景运动状态仍为静止, 将第N+1帧运动状态确定为静止到运动,并将背景运动状态修改为运动; 如果背景运动状态为运动,且从当前帧开始连续N帧运动幅度都小于第二运动阈值,N 为自然数,当前巾贞为第1巾贞,则第1至N+1巾贞的运动状态为运动,背景运动状态仍为运动,将 第N+1帧运动状态确定为运动到静止,并将背景运动状态修改为静止。
4. 如权利要求3所述的方法,其特征在于,确定出背景运动状态为静止,且当前帧运动 幅度小于第一运动阈值之后,该方法还包括: 判断运动幅度是否大于第三运动阈值,如果是,则当前帧运动为微运动,背景运动状态 仍然为静止,如果从当前帧开始连续Μ帧的运动都是相同方向上的微运动,当前帧为第1 帧,则将第Μ帧的运动状态确定为静止到运动,并将背景运动状态修改为运动,Μ为自然数。
5. 如权利要求3所述的方法,其特征在于,所述确定出背景运动状态为静止之后,该方 法包括: 如果由运动幅度获知上一视频帧之后连续两帧的运动幅度都大于第一运动阈值,且由 运动方向获知所述连续两帧的方向相反,则判定为抖动情形,将所述连续两帧的运动状态 仍确定为静止,背景运动状态仍为静止。
6. 如权利要求2所述的方法,其特征在于,所述计算出视频帧与其到上一视频帧之间 的运动矢量包括: 获取上一视频帧的中心区域像素; 以视频帧的中心区域为起点,在其周围搜索出与上一视频帧中心区域像素相似的区 域,确定出匹配块; 将视频帧的中心区域与匹配块之间的位置矢量作为运动矢量。
7. 如权利要求1至6中任一项所述的方法,其特征在于,在确定出视频帧运动状态为运 动到静止之后,该方法还包括: 计算出视频帧的角点特征数目; 判断角点特征数目是否大于角点数目阈值,如果是,则确定为清晰帧图像;否则,确定 为模糊帧图像。
8. -种进行实时图像识别的移动终端,其特征在于,该移动终端包括数据采集单元、运 动估计单元、清晰巾贞判断单元和识别结果显示单元; 所述数据采集单元,用移动终端摄像头实时进行数据采集,获取视频帧,发送给所述运 动估计单元; 所述运动估计单元,对视频帧进行运动估计,确定出视频帧运动状态,发送给所述清晰 中贞判断单元; 所述清晰帧判断单元,判断视频帧运动状态是否为运动到静止,如果是,则确定为清晰 帧图像,将清晰帧图像上传到云端服务器; 所述识别结果显示单元,接收云端服务器反馈的识别结果,显示识别结果。
9. 如权利要求8所述的移动终端,其特征在于,所述运动估计单元包括运动矢量计算 子单元和状态确定子单元; 所述运动矢量计算子单元,计算出视频帧与其上一视频帧之间的运动矢量,发送给所 述状态确定子单元;运动矢量包含运动幅度和运动方向; 所述状态确定子单元,由运动矢量确定出视频帧运动状态。
10. 如权利要求9所述的移动终端,其特征在于,所述状态确定子单元包括状态确定模 块,读取存储的背景运动状态;如果背景运动状态为静止,且从当前帧开始连续N帧运动幅 度都大于第一运动阈值,N为自然数,当前帧为第1帧,则第1至N+1帧的运动状态为静止, 背景运动状态仍为静止,将第N+1帧运动状态确定为静止到运动,并将背景运动状态修改 为运动; 如果背景运动状态为运动,且从当前帧开始连续N帧运动幅度都小于第二运动阈值,N 为自然数,当前巾贞为第1巾贞,则第1至N+1巾贞的运动状态为运动,背景运动状态仍为运动,将 第N+1帧运动状态确定为运动到静止,并将背景运动状态修改为静止。
11. 如权利要求10所述的移动终端,其特征在于,所述状态确定模块,确定出背景运动 状态为静止,且当前帧运动幅度小于第一运动阈值之后,还判断运动幅度是否大于第三运 动阈值,如果是,则当前帧运动为微运动,背景运动状态仍然为静止,如果从当前帧开始连 续Μ帧的运动都是相同方向上的微运动,当前帧为第1帧,则将第Μ帧的运动状态确定为静 止到运动,并将背景运动状态修改为运动,Μ为自然数。
12. 如权利要求9述的移动终端,其特征在于,所述运动矢量计算单元包括运动矢量确 定模块,获取上一视频帧的中心区域像素;以视频帧的中心区域为起点,在其周围搜索出与 上一视频帧中心区域像素相似的区域,确定出匹配块;将视频帧的中心区域与匹配块之间 的位置矢量作为运动矢量。
13. 权利要求8至12中任一项所述的移动终端,其特征在于,所述清晰帧判断单元包括 运动到静止确定模块和角点检测模块; 所述运动到静止确定模块,判断视频帧运动状态是否为运动到静止,如果是,则向所述 角点检测模块发送启动指令; 所述角点检测模块,接收来自所述运动到静止确定模块的启动指令,计算出视频帧的 角点特征数目;判断角点特征数目是否大于角点数目阈值,如果是,则确定为清晰帧图像, 将清晰帧图像上传到云端服务器;否则,确定为模糊帧图像。
【文档编号】H04N19/56GK104144345SQ201310428930
【公开日】2014年11月12日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】刘骁, 丁剑, 刘海龙, 陈波 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1