CN108121931B - 二维码数据处理方法、装置及移动终端 - Google Patents
二维码数据处理方法、装置及移动终端 Download PDFInfo
- Publication number
- CN108121931B CN108121931B CN201711368299.6A CN201711368299A CN108121931B CN 108121931 B CN108121931 B CN 108121931B CN 201711368299 A CN201711368299 A CN 201711368299A CN 108121931 B CN108121931 B CN 108121931B
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- dimensional code
- image
- lightweight neural
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000003062 neural network model Methods 0.000 claims abstract description 180
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims description 49
- 238000013527 convolutional neural network Methods 0.000 claims description 37
- 238000012216 screening Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000001149 cognitive effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003704 image resize Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1447—Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1482—Methods for optical code recognition the method including quality enhancement steps using fuzzy logic or natural solvers, such as neural networks, genetic algorithms and simulated annealing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Automation & Control Theory (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种二维码数据处理方法、装置及移动终端,其中,二维码数据处理方法包括:从视频流中获取待处理的图像帧,将所述待处理的图像帧处理为多个不同分辨率的子图像帧;使用第一轻量级神经网络模型判定多个所述子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;根据标定结果,对所述视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。通过本发明实施例,有效提高了二维码的识别和跟踪效率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种二维码数据处理方法、装置及移动终端。
背景技术
AR(Augmented Reality,增强现实)技术是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,其把原本在现实世界的一定时间空间范围内很难体验到的信息(如,视觉信息、声音信息等),模拟仿真后叠加到真实的信息中,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。
随着二维码的普及,出现了基于二维码识别实现AR的方法。这种方法首先对图像进行特征点的选取;然后,进行关键点提取并生成描述子;接着,进行特征匹配;再通过3D模型进行3D空间定位,使用特征匹配得到的特征点,通过对极几何获取二维码的单应矩阵;使用相应算法如Pnp算法来进行二维码的跟踪定位;最后,基于二维码的跟踪定位结果,实现基于二维码的AR业务。上述方法的图像识别和跟踪过程的实现都较为复杂,对硬件有较高要求,很难应用到移动终端,满足移动终端实现AR业务时的实时需求。
因此,如何提高二维码的识别和跟踪效率,以便在移动终端上实现基于二维码的AR业务成为亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种二维码数据处理方法、装置及移动终端,以提高二维码的识别和跟踪效率,以便在移动终端上实现基于二维码的AR业务。
根据本发明实施例的第一方面,提供了一种二维码数据处理方法,包括:从视频流中获取待处理的图像帧,将所述待处理的图像帧处理为多个不同分辨率的子图像帧;使用第一轻量级神经网络模型判定多个所述子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;根据标定结果,对所述视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
根据本发明实施例的第二方面,提供了一种二维码数据处理装置,包括:处理模块,用于从视频流中获取待处理的图像帧,将所述待处理的图像帧处理为多个不同分辨率的子图像帧;判定模块,用于使用第一轻量级神经网络模型判定多个所述子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;识别模块,用于根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;跟踪模块,用于根据标定结果,对所述视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
根据本发明实施例的第三方面,提供了一种移动终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的二维码数据处理方法对应的操作。
由以上技术方案可见,在进行视频流图像帧中二维码的识别和跟踪时,本发明实施例提供的方案使用了多个轻量级神经网络模型,并根据轻量级神经网络模型对二维码的标定结果使用跟踪算法对二维码进行跟踪。其中,一个轻量级神经网络模型用于判定图像帧中是否有二维码,在有二维码时输出二维码候选框;另一个轻量级神经网络模型可以确定最优的二维码候选框,进而进行二维码识别和标定。每一个轻量级神经网络模型结构简单,实现功能单一,运算速度快,可以满足移动终端对速度和性能的要求。基于轻量级神经网络模型的标定结果使用跟踪算法,不需要进行3D位置建模,也能很快进行二维码位置的跟踪和标定,更适合在移动终端中进行部署。
可见,通过本发明实施例的方案,有效提高了二维码的识别和跟踪效率。进一步地,可以在后续方便地实现移动终端上基于二维码的AR业务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例一的一种二维码数据处理方法的步骤流程图;
图2为根据本发明实施例二的一种二维码数据处理方法的步骤流程图;
图3为图2所示实施例中的第一轻量级神经网络模型的结构示意图;
图4为图2所示实施例中的第二轻量级神经网络模型的结构示意图;
图5为图2所示实施例中的第三轻量级神经网络模型的结构示意图;
图6为根据本发明实施例三的一种二维码数据处理装置的结构框图;
图7为根据本发明实施例四的一种二维码数据处理装置的结构框图;
图8为根据本发明实施例五的一种移动终端的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1,示出了根据本发明实施例一的一种二维码数据处理方法的步骤流程图。
本实施例的二维码数据处理方法包括以下步骤:
步骤S102:从视频流中获取待处理的图像帧,将待处理的图像帧处理为多个不同分辨率的子图像帧。
通过将待处理的图像帧处理为多个不同分辨率的子图像帧,可以从不同的分辨率角度判断图像帧中是否包含有二维码,以提高二维码识别准确度。其中,将待处理的图像帧处理为多个不同分辨率的子图像帧的具体实现方式可以由本领域技术人员根据实际需求采用任意适当的方式,本发明实施例对此不作限制。
步骤S104:使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框。
轻量级神经网络模型是一种小规模的神经网络模型,模型的深度是轻量级的,例如具有少于或等于8层的卷积层的卷积神经网络模型,模型的参数较少,如少于25万个参数。轻量级神经网络模型具有规模小、低延迟的特点。本发明实施例中,使用多个不同的轻量级神经网络模型,以适应于移动终端的AR实现的需求。因只需实现单一的功能,所以每个神经网络模型可以构建为轻量级的神经网络模型。
本步骤中,第一轻量级神经网络模型用于实现二维码判定功能,针对每一个子图像帧进行判定,以判定当前子图像帧是否包含有二维码,并且在判定包含有二维码时输出该子图像帧中的二维码候选框。
步骤S106:根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定。
本发明实施例中,第二轻量级神经网络模型用于实现二维码识别和标定功能,其根据多个二维码候选框,确定最优二维码候选框,并对最优二维码候选框中的二维码进行识别和标定。
步骤S108:根据标定结果,对视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行二维码的跟踪。
在对当前帧(当前帧意指当前被处理的图像帧,本步骤中为所述待处理的图像帧,但当前帧随着二维码数据处理流程的进展而变化,例如,所述待处理的图像帧为视频流中的第一帧,则本步骤中当前帧即为该第一帧,当第一帧处理完成后,开始处理第二帧,则第二帧将为当前帧,以此类推)中的二维码进行了识别和标定后,后续的图像帧就可以根据当前帧的标定结果通过跟踪算法对二维码进行跟踪。使用跟踪算法进行二维码跟踪,不需要进行3D位置建模,更适合在移动终端中进行部署。
可选地,跟踪算法可以为快速跟踪算法,如DSST(Discriminative Scale SpaceTracking)算法或fDSST(fast Discriminative Scale Space Tracking)算法等。
通过本实施例,在进行视频流图像帧中二维码的识别和跟踪时,本实施例提供的方案使用了多个轻量级神经网络模型,并根据轻量级神经网络模型对二维码的标定结果使用跟踪算法对二维码进行跟踪。其中,一个轻量级神经网络模型用于判定图像帧中是否有二维码,在有二维码时输出二维码候选框;另一个轻量级神经网络模型可以确定最优的二维码候选框,进而进行二维码识别和标定。每一个轻量级神经网络模型结构简单,实现功能单一,运算速度快,可以满足移动终端对速度和性能的要求。基于轻量级神经网络模型的标定结果使用跟踪算法,不需要进行3D位置建模,也能很快进行二维码位置的跟踪和标定,更适合在移动终端中进行部署。
可见,通过本实施例的方案,有效提高了二维码的识别和跟踪效率。进一步地,可以在后续方便地实现移动终端上基于二维码的AR业务。
本实施例的二维码数据处理方法可以由任意适当的具有数据处理能力的终端设备执行,包括但不限于:移动终端,如平板电脑、手机等。
实施例二
参照图2,示出了根据本发明实施例二的一种二维码数据处理方法的步骤流程图。
本实施例的二维码数据处理方法包括以下步骤:
步骤S202:从视频流中获取待处理的图像帧,将待处理的图像帧处理为多个不同分辨率的子图像帧。
本发明实施例中,视频流包括但不限于通过图像采集设备实时采集的视频流和录制的视频流。
将待处理的图像帧处理为多个不同分辨率的子图像帧可以采用多种可行方式实现,在一种可行方式中,可以将待处理的图像帧转换为灰度图像帧;再对灰度图像帧进行不同的图像缩放处理,生成多个不同分辨率的子图像帧。
以使用移动终端中的图像采集设备如摄像头为例,可以通过移动终端提供的相应接口,获取使用摄像头的权限,提取摄像头拍摄的每一帧图像。摄像头拍摄的图像一般是RGB三通道的图像,可以使用常规的转换算法或转换工具,将其转换为单通道的灰度图像。通过将摄像头拍摄的图像转换成灰度图像,大量减少了图像的无关信息,可以加快后续神经网络模型进行二维码判定、识别和标定矩形框的速度。然后,再将灰度图像进行resize(缩放)处理,生成多个不同分辨率的子图像帧。本实施例中,采用图像金字塔的形式,也即,将灰度图像resize为不同尺寸大小和分辨率的图像金字塔,例如,将480*480的图像,以0.3为倍数依次resize为144*144、43*43、13*13的图像,获得包含四种尺寸和分辨率的图像金字塔。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过向下采样获得,层级越高,则图像越小,分辨率越低。
但不限于此,在实际使用中,也可以采用其它方式对图像进行处理,生成多个不同分辨率的子图像帧;还可以不进行灰度图像帧转换,直接进行图像处理如缩放处理,生成多个不同分辨率的子图像帧。
步骤S204:使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;若不包含,则返回步骤S202从视频流中获取下一视频帧。
本发明实施例中,神经网络模型采用卷积神经网络模型,但本领域技术人员应当明了,其它适当的神经网络模型也同样适用本发明实施例的方案。
第一轻量级神经网络模型用于实现图像帧中是否包含二维码的判定的功能,这一功能的实现可以由本领域技术人员采用任意适当的训练方法对其进行训练后获得,本发明实施例对具体的训练方式不作限制。第一轻量级神经网络模型针对每一个子图像帧进行判定,并输出判定结果,若不包含二维码则输出不包含二维码的信息;若包含二维码,则输出二维码候选框。因多个子图像帧均由一个原始的图像帧生成,因此,常规情况下,若图像帧中包含二维码,则多个子图像帧中均应当包含二维码,因此,通过第一轻量级神经网络模型可以输出与多个子图像帧对应的多个二维码候选框。
一种第一轻量级神经网络模型的结构如图3所示,图3中的第一轻量级神经网络模型为四层卷积神经网络模型。其中,第一层为输入层,步骤S202中的多个子图像帧,例如,获取的图像金字塔,可以作为输入层的输入;第二层为3*3的卷积层,卷积核为5*5*10,进行图像特征的提取;第三层为3*3的卷积层,卷积核为3*3*16,基于第二层的提取结果再次进行图像特征的提取;最后一层为输出层,输出是否有二维码,如果有,则输出二维码候选框。需要说明的是,在实际应用中,不限于上述四层卷积神经网络模型结构,本领域技术人员还可以根据实际需求采用更多层的轻量化模型结构。
通过上述过程,实现了图像帧中是否具有二维码的判定。
进一步可选地,还可以将第一轻量级神经网络模型设置为深度可分离卷积神经网络模型,如Depthwise Separable Convolution网络模型。深度可分离卷积神经网络模型采用深度可分离的卷积来构建轻量级的深层神经网络,使得标准的卷积滤波和特征组合在一步内完成。深度可分离卷积将标准的卷积分解为一个深度向(depthwise)卷积和一个1*1的点向(pointwise)卷积。深度向卷积对每个输入通道用一个滤波器计算,点向卷积使用1*1的卷积组合深度向卷积的结果,这个分解可以有效降低计算量和模型大小。其中,深度可分离卷积神经网络模型包括但不限于MobileNet模型。
当第一轻量级神经网络模型采用深度可分离卷积神经网络模型时,使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码包括:根据每个子图像帧的分辨率,调整第一轻量级神经网络模型的模型参数;使用调整后的第一轻量级神经网络模型判定当前子图像帧是否包含有二维码。其中,模型参数的调整由本领域技术人员根据实际需求适当设置,包括但不限于图片的分辨率、网络模型的参数调整比例因子,等等。通过深度可分离卷积神经网络模型,可以实现网络模型的规模可以根据图像帧的尺寸大小和分辨率高低动态调整,有效提高了检测效率和速度。
步骤S206:使用第三轻量级神经网络模型对第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框。
本发明实施例中,在第一轻量级神经网络模型之后,还设置了第三轻量级神经网络模型,以进一步对多个二维码候选框进行筛选,选出至少一个符合设定标准的二维码候选框。其中,设定标准用于指示二维码的完整和/或清晰程度,具体标准可以由本领域技术人员根据实际情况适当设置。因第一轻量级神经网络模型输出的候选框中有可能存在不包含有二维码的候选框,而通过第三轻量级神经网络模型,可以过滤这些不包含二维码的无效候选框,减少了待处理的二维码候选框的数量,提高了二维码数据处理效率。
在进行筛选时,针对每个二维码候选框,首先按照二维码候选框所框定的范围截取对应的子图像帧中的对应图像区域,生成二维码区域图像;再使用第三轻量级神经网络模型对多个二维码区域图像进行筛选,输出符合设定标准的至少一个二维码区域图像。
一种第三轻量级神经网络模型的结构如图4所示,图4中的第三轻量级神经网络模型为五层卷积神经网络模型。其中,第一层为输入层,根据第一轻量级神经网络模型输出的二维码候选框截取对应子图像帧中的图像区域,生成相应的二维码区域图像,将生成的这些二维码区域图像作为输入层的输入;第二层为3*3的卷积层,卷积核为11*11*28,进行二维码区域图像的特征提取;第三层为3*3的卷积层,卷积核为4*4*48,基于第二层的提取结果再次进行二维码区域图像的特征提取;第四层为全连接层,负责分类筛选出包含有二维码的二维码区域图像;最后一层为输出层,输出符合设定标准的至少一个二维码区域图像。需要说明的是,在实际应用中,不限于上述五层卷积神经网络模型结构,本领域技术人员还可以根据实际需求采用其它层数级的轻量化模型结构。
可选地,第三轻量级神经网络模型可以为深度可分离卷积神经网络模型。基于此,使用第三轻量级神经网络模型对多个二维码区域图像进行筛选包括:根据每个二维码区域图像的分辨率,调整第三轻量级神经网络模型的模型参数;使用调整后的第三轻量级神经网络模型对当前二维码区域图像是否符合所述设定标准进行判断。其中,模型参数的调整由本领域技术人员根据实际需求适当设置,包括但不限于图片的分辨率、网络模型的参数调整比例因子,等等。通过深度可分离卷积神经网络模型,可以实现网络模型的规模可以根据图像帧的尺寸大小和分辨率高低动态调整,有效提高了检测效率和速度。
需要说明的是,本步骤为可选步骤,在实际应用中,也可以跳过本步骤执行。
步骤S208:使用第二轻量级神经网络模型,从符合设定标准的至少一个二维码候选框中确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定。例如,可以将符合二维码的区域最完整、与真实位置贴合度最高、清晰度最佳中的一个或多个条件的二维码候选框确定为最优二维码候选框。
其中,第二轻量级神经网络模型用于进行二维码内容识别和二维码标定。
本实施例中,第二轻量级神经网络模型包括两个分支,即第一分支和第二分支。其中,第一分支用于根据第二轻量级神经网络模型对多个二维码区域图像的卷积结果,确定最优的二维码区域图像;第二分支用于根据卷积结果,进行二维码内容识别。
一种第二轻量级神经网络模型的结构如图5所示,图5中第二轻量级神经网络模型为六层并行卷积神经网络模型。其中,第一层为输入层,本实施例中,该输入层的输入为第三轻量级神经网络模型输出的二维码候选框,当未设置第三轻量级神经网络模型时,该输入层的输入为第一轻量级神经网络模型输出的二维码候选框;第二层为3*3的卷积层,卷积核为23*23*32,进行二维码候选框对应的二维码区域图像特征提取;第三层为3*3的卷积层,卷积核为10*10*64,基于第二层的提取结果进行二维码候选框对应的二维码区域图像特征提取;第四层为2*2的卷积层,卷积核为3*3*128,基于第三层的提取结果进行二维码候选框对应的二维码区域图像特征提取;第五层为全连接层,负责分类筛选出最优的二维码候选框;并列第五层为全连接层,负责二维码的内容识别;最后一层为输出层,输出最优的唯一一个二维码候选框和二维码的内容识别结果。需要说明的是,在实际应用中,不限于上述六层卷积神经网络模型结构,本领域技术人员还可以根据实际需求采用其它层数级的轻量化模型结构。
还需要说明的是,若步骤S206未被执行,则本步骤可以实现为根据第一轻量级神经网络模型输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定。
此外,可选地,第二轻量级神经网络模型也可以为深度可分离卷积神经网络模型。基于此,在使用第二轻量级神经网络模型,从符合设定标准的至少一个二维码候选框中确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定时,也可以根据第三轻量级神经网络模型输出的至少一个二维码候选框对应的分辨率,调整第二轻量级神经网络模型的模型参数;使用调整后的第二轻量级神经网络模型从符合设定标准的至少一个二维码候选框中确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定。其中,模型参数的调整由本领域技术人员根据实际需求适当设置,包括但不限于图片的分辨率、网络模型的参数调整比例因子,等等。通过深度可分离卷积神经网络模型,可以实现网络模型的规模可以根据图像帧的尺寸大小和分辨率高低动态调整,有效提高了检测效率和速度。
通过上述多个神经网络模型,可以有效地对二维码进行识别,且鲁棒性强、模型参数可调,由此模型大小和识别效率也可动态调整。模型的动态调整,可以从不同程度上裁剪各个网络层的参数,达到模型大小的缩减,而更小的模型,可以很好地适应移动终端的开发部署,满足大部分应用。
步骤S210:根据对二维码进行识别和标定的结果,确定AR业务对象和AR业务对象的展示位置;在展示位置展示AR业务对象。
其中,AR业务对象通过对二维码的识别结果确定,AR业务对象可以为任意适当的虚拟对象,包括但不限于二维图像、三维图像、二维或三维特效等等。AR业务对象的展示位置可以由本领域技术人员根据实际需求设置,如在图像中二维码的区域展示,或者,在二维码的区域之外的适当区域展示。
例如,通过对二维码的内容识别,确定该二维码对应的AR业务对象为虚拟宠物狗,则可以在图像中二维码的区域或二维码之外的适当区域渲染绘制该虚拟宠物狗,等等。
至此,实现了在当前图像帧中基于二维码的AR业务对象展示。但对于视频流来说,图像帧是变换的,二维码在当前图像帧的位置与在下一图像帧的位置会不同,因此,需要对视频流图像中的二维码进行跟踪,以基于跟踪结果进行不同图像帧的AR业务对象展示。
步骤S212:根据第二轻量级神经网络模型对二维码的标定结果,对视频流中待处理的图像帧之后的其它图像帧使用跟踪算法进行二维码的跟踪。
本实施例中,使用基于滤波器的尺度空间跟踪算法,对视频流中待处理的图像帧之后的其它图像帧进行二维码的跟踪。基于滤波器的尺度空间跟踪算法运算简洁,基本都是矩阵运算;并且,引入了快速傅里叶变换算法,大大加快了运算效率。
可选地,本实施例的基于滤波器的尺度空间跟踪算法为快速尺度空间跟踪fDSST算法。fDSST算法使用了两个一致的相关滤波器,分别实现目标的跟踪和尺度变换。两个滤波器分别为位置滤波器和尺度滤波器,前者进行当前图像帧中目标的定位,后者进行当前图像帧中目标尺度的估计。两个滤波器是相对独立的,从而可以选择不同的特征种类和特征计算方式来训练和测试。在进行目标跟踪时,在新的一帧图像帧中,先利用二维的位置滤波器来确定目标的新候选位置,再利用一维的尺度滤波器以目标的当前中心位置为中心点,获取不同尺度的候选框,从而找到最匹配的尺度。fDSST算法帧率可达100+fps,准确度大于0.8,可以完全满足移动终端的跟踪要求。
基于fDSST算法,可以根据第二轻量级神经网络模型对二维码的标定结果,获取所述二维码在待处理的图像帧中的位置和尺度;根据所述位置和尺度,以及预设的位置模型和尺度模型,确定所述二维码在待处理的图像帧之后的图像帧中的位置和尺度。可选地,在确定所述二维码在待处理的图像帧之后的图像帧中的位置和尺度之后,还可以根据确定的所述位置和尺度,对预设的位置模型和尺度模型进行更新。
其中,待处理的图像帧之后的图像帧可以是与当前图像帧相邻后一的图像帧,也可以是间隔数帧之后的图像帧。位置模型和尺度模型可以采用fDSST算法的常规设置。
例如,fDSST算法中,输入(input)包括:1)t时刻的图像I(t);2)上一帧的二维码位置P(t-1)和尺度S(t-1);3)上一帧的位置模型A_trans(t-1),B_trans(t-1)和尺度模型A_scale(t-1),B_scale(t-1)。fDSST算法的输出(output)包括:1)当前帧的二维码估计位置P(t)和估计尺度S(t);2)更新后的位置模型A_trans(t),B_trans(t)和尺度模型A_scale(t),B_scale(t)。
其中,对于位置模型和尺度模型可以通过以下方式确定:
对于某一图像g,可以用输入图像f和滤波器h进行表示如下公式(1):
根据卷积定理,函数互相关的傅里叶变换等于函数傅里叶变换的乘积,对公式(1)进行处理得到如下公式(2):
将公式(2)进行简化为如下公式(3):
为fDSST算法设定线性最小二乘误差函数如下公式(4):
其中,ε表示误差;l=1,…,d,d表示图像F的特征向量的维数;Hl表示对第l维特征进行滤波;Fl表示图像F的第l维特征向量;“‖‖”表示欧式距离;‖‖2表示求平方和;表示误差的正则式,用来减小优化中的过拟合问题;λ表示正则式的权值参数。
通过对公式(4)求误差函数的最小化,最终求解的滤波器如下公式(5):
那么对于某一时刻i的滤波器计算式如下公式(6):
其中,
其中,t=1,…,N,N表示图像帧的数量,η为训练参数,可以表示为学习率。
在进行位置跟踪时,基于位置滤波器获取与位置有关的G、F、位置模型A_trans()和B_trans();进行尺度跟踪时,基于尺度滤波器获取与尺度有关的G、F、尺度模型A_scale()和B_scale()。
使用fDSST算法进行位置估计的过程如下:a)根据二维码在上一图像帧的位置P(t-1)和尺度S(t-1),在当前图像帧l上,按照2倍目标大小采样,得到样本Ztrans;b)根据上一图像帧的位置模型A_trans(t-1),B_trans(t-1),计算位置响应,公式为:c)得到二维码位置P(t)=max(y_trans)。
使用fDSST算法进行尺度估计的过程如下:a)提取不同尺度的二维码样本Ztrans_scale;b)与上面同样的方式计算出y_scale,得到二维码尺度S(t)=max(y_scale)。
使用fDSST算法进行模型更新的过程如下:a)从当前图像帧l(t)提取训练样本f_trans和f_scale;提取对应Hog特征、灰度特征,构造对应尺度的高斯响应函数;b)更新位置模型A_trans(t-1)、B_trans(t-1)和尺度模型A_scale(t-1)、B_scale(t-1)。
基于前期神经网络模型对二维码位置的标定,使用fDDST算法对二维码进行实时跟踪,不需要进行3D位置建模,也能很快进行二维码的位置跟踪和标定,提高了跟踪效率,更适合在移动终端进行部署,可以有效满足移动终端的AR业务需求。
步骤S214:根据跟踪结果和确定的AR业务对象,在待处理的图像帧之后的其它图像帧中进行AR业务对象的展示。
通过对二维码跟踪,可以获得后续图像帧中二维码的位置,基于该位置可以确定AR业务对象的展示位置,进而进行AR业务对象的展示,以实现AR业务对象在视频流中的展示。
通过本实施例,在进行视频流图像帧中二维码的识别和跟踪时,本实施例提供的方案使用了多个轻量级神经网络模型,并根据轻量级神经网络模型对二维码的标定结果使用跟踪算法对二维码进行跟踪。其中,一个轻量级神经网络模型用于判定图像帧中是否有二维码,在有二维码时输出二维码候选框;另一个轻量级神经网络模型可以确定最优的二维码候选框,进而进行二维码识别和标定。每一个轻量级神经网络模型结构简单,实现功能单一,运算速度快,可以满足移动终端对速度和性能的要求。基于轻量级神经网络模型的标定结果使用跟踪算法,不需要进行3D位置建模,也能很快进行二维码位置的跟踪和标定,更适合在移动终端中进行部署。
可见,通过本实施例的方案,有效提高了二维码的识别和跟踪效率。进一步地,可以在后续方便地实现移动终端上基于二维码的AR业务。
本实施例的二维码数据处理方法可以由任意适当的具有数据处理能力的终端设备执行,包括但不限于:移动终端,如平板电脑、手机等。
实施例三
参照图6,示出了根据本发明实施例三的一种二维码数据处理装置的结构框图。
本实施例的二维码数据处理装置包括:处理模块302,用于从视频流中获取待处理的图像帧,将待处理的图像帧处理为多个不同分辨率的子图像帧;判定模块304,用于使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;识别模块306,用于根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;跟踪模块308,用于根据标定结果,对视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
通过本实施例,在进行视频流图像帧中二维码的识别和跟踪时,本实施例提供的方案使用了多个轻量级神经网络模型,并根据轻量级神经网络模型对二维码的标定结果使用跟踪算法对二维码进行跟踪。其中,一个轻量级神经网络模型用于判定图像帧中是否有二维码,在有二维码时输出二维码候选框;另一个轻量级神经网络模型可以确定最优的二维码候选框,进而进行二维码识别和标定。每一个轻量级神经网络模型结构简单,实现功能单一,运算速度快,可以满足移动终端对速度和性能的要求。基于轻量级神经网络模型的标定结果使用跟踪算法,不需要进行3D位置建模,也能很快进行二维码位置的跟踪和标定,更适合在移动终端中进行部署。
可见,通过本实施例的方案,有效提高了二维码的识别和跟踪效率。进一步地,可以在后续方便地实现移动终端上基于二维码的AR业务。
实施例四
参照图7,示出了根据本发明实施例四的一种二维码数据处理装置的结构框图。
本实施例的二维码数据处理装置包括:处理模块402,用于从视频流中获取待处理的图像帧,将待处理的图像帧处理为多个不同分辨率的子图像帧;判定模块404,用于使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;识别模块406,用于根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;跟踪模块408,用于根据标定结果,对视频流中待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
可选地,本实施例的二维码数据处理装置还包括:筛选模块410,用于在判定模块404输出对应的多个二维码候选框之后,使用第三轻量级神经网络模型对第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框;识别模块406用于使用第二轻量级神经网络模型,从符合设定标准的至少一个二维码候选框中确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定。
可选地,处理模块402用于从视频流中获取待处理的图像帧,将待处理的图像帧转换为灰度图像帧;对灰度图像帧进行不同的图像缩放处理,生成多个不同分辨率的子图像帧。
可选地,第一轻量级神经网络模型为深度可分离卷积神经网络模型;判定模块404用于根据每个子图像帧的分辨率,调整第一轻量级神经网络模型的模型参数;使用调整后的第一轻量级神经网络模型判定当前子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框。
可选地,筛选模块410用于针对每个二维码候选框,按照二维码候选框所框定的范围截取对应的子图像帧中的对应图像区域,生成二维码区域图像;使用第三轻量级神经网络模型对多个二维码区域图像进行筛选,输出符合设定标准的至少一个二维码区域图像。
可选地,第三轻量级神经网络模型为深度可分离卷积神经网络模型;筛选模块410在使用第三轻量级神经网络模型对多个二维码区域图像进行筛选时,根据每个二维码区域图像的分辨率,调整第三轻量级神经网络模型的模型参数;使用调整后的第三轻量级神经网络模型对当前二维码区域图像是否符合所述设定标准进行判断。
可选地,第二轻量级神经网络模型包括第一分支和第二分支;第一分支用于根据第二轻量级神经网络模型对多个二维码区域图像的卷积结果,确定最优的二维码区域图像;第二分支用于根据卷积结果,进行二维码内容识别。
可选地,跟踪模块408用于根据标定结果,使用基于滤波器的尺度空间跟踪算法,对视频流中待处理的图像帧之后的其它图像帧进行所述二维码的跟踪。
可选地,基于滤波器的尺度空间跟踪算法为快速尺度空间跟踪fDSST算法。
可选地,跟踪模块408用于根据标定结果,获取所述二维码在待处理的图像帧中的位置和尺度;根据所述位置和尺度,以及预设的位置模型和尺度模型,确定所述二维码在待处理的图像帧之后的图像帧中的位置和尺度。
可选地,跟踪模块408还用于根据确定的所述位置和尺度,对预设的位置模型和尺度模型进行更新。
可选地,本实施例的二维码数据处理装置还包括:AR模块412,用于在识别模块406对最优二维码候选框中的二维码进行识别和标定之后,根据对二维码进行识别和标定的结果,确定AR业务对象和AR业务对象的展示位置;在展示位置展示AR业务对象。
可选地,AR模块412还用于根据跟踪结果和确定的AR业务对象,在待处理的图像帧之后的其它图像帧中进行AR业务对象的展示。
可选地,第一轻量级神经网络模型为四层卷积神经网络模型、第二轻量级神经网络模型为六层卷积神经网络模型、第三轻量级神经网络模型为五层卷积神经网络模型。
本实施例的二维码数据处理装置用于实现前述多个方法实施例中相应的二维码数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例五
参照图8,示出了根据本发明实施例五的一种移动终端的结构示意图,本发明具体实施例并不对移动终端的具体实现做限定。
如图8所示,该移动终端可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它移动终端或服务器进行通信。
处理器502,用于执行程序510,具体可以执行上述二维码数据处理方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。移动终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:从视频流中获取待处理的图像帧,将待处理的图像帧处理为多个不同分辨率的子图像帧;使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;根据标定结果,对视频流中待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
在一种可选的实施方式中,程序510还用于使得处理器502在若判定包含有二维码则输出对应的多个二维码候选框之后,使用第三轻量级神经网络模型对第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框;程序510还用于使得处理器502在根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框时,使用第二轻量级神经网络模型,从符合设定标准的至少一个二维码候选框中确定最优二维码候选框。
在一种可选的实施方式中,程序510还用于使得处理器502在将待处理的图像帧处理为多个不同分辨率的子图像帧时,将待处理的图像帧转换为灰度图像帧;对灰度图像帧进行不同的图像缩放处理,生成多个不同分辨率的子图像帧。
在一种可选的实施方式中,第一轻量级神经网络模型为深度可分离卷积神经网络模型;程序510还用于使得处理器502在使用第一轻量级神经网络模型判定多个子图像帧是否包含有二维码时,根据每个子图像帧的分辨率,调整第一轻量级神经网络模型的模型参数;使用调整后的第一轻量级神经网络模型判定当前子图像帧是否包含有二维码。
在一种可选的实施方式中,程序510还用于使得处理器502在使用第三轻量级神经网络模型对第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框时,针对每个二维码候选框,按照二维码候选框所框定的范围截取对应的子图像帧中的对应图像区域,生成二维码区域图像;使用第三轻量级神经网络模型对多个二维码区域图像进行筛选,输出符合设定标准的至少一个二维码区域图像。
在一种可选的实施方式中,第三轻量级神经网络模型为深度可分离卷积神经网络模型;程序510还用于使得处理器502在使用第三轻量级神经网络模型对多个二维码区域图像进行筛选时,根据每个二维码区域图像的分辨率,调整第三轻量级神经网络模型的模型参数;使用调整后的第三轻量级神经网络模型对当前二维码区域图像是否符合所述设定标准进行判断。
在一种可选的实施方式中,第二轻量级神经网络模型包括第一分支和第二分支;第一分支用于根据所述第二轻量级神经网络模型对多个二维码区域图像的卷积结果,确定最优的二维码区域图像;第二分支用于根据所述卷积结果,进行二维码内容识别。
在一种可选的实施方式中,程序510还用于使得处理器502在根据标定结果,对视频流中待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪时,根据标定结果,使用基于滤波器的尺度空间跟踪算法,对视频流中待处理的图像帧之后的其它图像帧进行所述二维码的跟踪。
在一种可选的实施方式中,基于滤波器的尺度空间跟踪算法为快速尺度空间跟踪fDSST算法。
在一种可选的实施方式中,程序510还用于使得处理器502在根据标定结果,使用fDSST算法,对视频流中待处理的图像帧之后的其它图像帧进行所述二维码的跟踪时,根据标定结果,获取所述二维码在待处理的图像帧中的位置和尺度;根据所述位置和尺度,以及预设的位置模型和尺度模型,确定所述二维码在待处理的图像帧之后的图像帧中的位置和尺度。
在一种可选的实施方式中,程序510还用于使得处理器502根据确定的所述位置和尺度,对预设的位置模型和尺度模型进行更新。
在一种可选的实施方式中,程序510还用于使得处理器502在对最优二维码候选框中的二维码进行识别和标定之后,根据对二维码进行识别和标定的结果,确定AR业务对象和AR业务对象的展示位置;在所述展示位置展示AR业务对象。
在一种可选的实施方式中,程序510还用于使得处理器502根据跟踪结果和确定的AR业务对象,在待处理的图像帧之后的其它图像帧中进行AR业务对象的展示。
在一种可选的实施方式中,第一轻量级神经网络模型为四层卷积神经网络模型、第二轻量级神经网络模型为六层卷积神经网络模型、第三轻量级神经网络模型为五层卷积神经网络模型。
程序510中各步骤的具体实现可以参见上述二维码数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例,在进行视频流图像帧中二维码的识别和跟踪时,本实施例提供的方案使用了多个轻量级神经网络模型,并根据轻量级神经网络模型对二维码的标定结果使用跟踪算法对二维码进行跟踪。其中,一个轻量级神经网络模型用于判定图像帧中是否有二维码,在有二维码时输出二维码候选框;另一个轻量级神经网络模型可以确定最优的二维码候选框,进而进行二维码识别和标定。每一个轻量级神经网络模型结构简单,实现功能单一,运算速度快,可以满足移动终端对速度和性能的要求。基于轻量级神经网络模型的标定结果使用跟踪算法,不需要进行3D位置建模,也能很快进行二维码位置的跟踪和标定,更适合在移动终端中进行部署。
可见,通过本实施例的方案,有效提高了二维码的识别和跟踪效率。进一步地,可以在后续方便地实现移动终端上基于二维码的AR业务。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的二维码数据处理方法。此外,当通用计算机访问用于实现在此示出的二维码数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的二维码数据处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (29)
1.一种二维码数据处理方法,包括:
从视频流中获取待处理的图像帧,将所述待处理的图像帧处理为多个不同分辨率的子图像帧;
使用第一轻量级神经网络模型判定多个所述子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;
根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;
根据标定结果,对所述视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
2.根据权利要求1所述的方法,其中,
在所述若判定包含有二维码则输出对应的多个二维码候选框之后,所述方法还包括:使用第三轻量级神经网络模型对所述第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框;
所述根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,包括:使用第二轻量级神经网络模型,从符合设定标准的至少一个二维码候选框中确定最优二维码候选框。
3.根据权利要求1所述的方法,其中,将所述待处理的图像帧处理为多个不同分辨率的子图像帧,包括:
将所述待处理的图像帧转换为灰度图像帧;
对所述灰度图像帧进行不同的图像缩放处理,生成多个不同分辨率的子图像帧。
4.根据权利要求3所述的方法,其中,所述第一轻量级神经网络模型为深度可分离卷积神经网络模型;
所述使用第一轻量级神经网络模型判定多个所述子图像帧是否包含有二维码,包括:
根据每个子图像帧的分辨率,调整所述第一轻量级神经网络模型的模型参数;使用调整后的第一轻量级神经网络模型判定当前子图像帧是否包含有二维码。
5.根据权利要求2所述的方法,其中,所述使用第三轻量级神经网络模型对所述第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框,包括:
针对每个二维码候选框,按照二维码候选框所框定的范围截取对应的子图像帧中的对应图像区域,生成二维码区域图像;
使用第三轻量级神经网络模型对多个二维码区域图像进行筛选,输出符合设定标准的至少一个二维码区域图像。
6.根据权利要求5所述的方法,其中,所述第三轻量级神经网络模型为深度可分离卷积神经网络模型;
所述使用第三轻量级神经网络模型对多个二维码区域图像进行筛选,包括:根据每个二维码区域图像的分辨率,调整所述第三轻量级神经网络模型的模型参数;使用调整后的第三轻量级神经网络模型对当前二维码区域图像是否符合所述设定标准进行判断。
7.根据权利要求5或6所述的方法,其中,所述第二轻量级神经网络模型包括第一分支和第二分支;所述第一分支用于根据所述第二轻量级神经网络模型对所述多个二维码区域图像的卷积结果,确定最优的二维码区域图像;所述第二分支用于根据所述卷积结果,进行二维码内容识别。
8.根据权利要求1或2所述的方法,其中,所述根据标定结果,对所述视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪,包括:
根据标定结果,使用基于滤波器的尺度空间跟踪算法,对所述视频流中所述待处理的图像帧之后的其它图像帧进行所述二维码的跟踪。
9.根据权利要求8所述的方法,其中,所述基于滤波器的尺度空间跟踪算法为快速尺度空间跟踪fDSST算法。
10.根据权利要求9所述的方法,其中,所述根据标定结果,使用fDSST算法,对所述视频流中所述待处理的图像帧之后的其它图像帧进行所述二维码的跟踪,包括:
根据标定结果,获取所述二维码在所述待处理的图像帧中的位置和尺度;
根据所述位置和尺度,以及预设的位置模型和尺度模型,确定所述二维码在所述待处理的图像帧之后的图像帧中的位置和尺度。
11.根据权利要求10所述的方法,其中,所述方法还包括:
根据确定的所述位置和尺度,对所述预设的位置模型和尺度模型进行更新。
12.根据权利要求1所述的方法,其中,在所述对最优二维码候选框中的二维码进行识别和标定之后,所述方法还包括:
根据对二维码进行识别和标定的结果,确定AR业务对象和AR业务对象的展示位置;在所述展示位置展示所述AR业务对象。
13.根据权利要求12所述的方法,其中,所述方法还包括:
根据跟踪结果和确定的所述AR业务对象,在所述待处理的图像帧之后的其它图像帧中进行所述AR业务对象的展示。
14.根据权利要求2所述的方法,其中,所述第一轻量级神经网络模型为四层卷积神经网络模型、所述第二轻量级神经网络模型为六层卷积神经网络模型、所述第三轻量级神经网络模型为五层卷积神经网络模型。
15.一种二维码数据处理装置,包括:
处理模块,用于从视频流中获取待处理的图像帧,将所述待处理的图像帧处理为多个不同分辨率的子图像帧;
判定模块,用于使用第一轻量级神经网络模型判定多个所述子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框;
识别模块,用于根据输出的多个二维码候选框,使用第二轻量级神经网络模型确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定;
跟踪模块,用于根据标定结果,对所述视频流中所述待处理的图像帧之后的其它图像帧使用跟踪算法进行所述二维码的跟踪。
16.根据权利要求15所述的装置,其中,
所述装置还包括:筛选模块,用于在所述判定模块输出对应的多个二维码候选框之后,使用第三轻量级神经网络模型对所述第一轻量级神经网络模型输出的多个二维码候选框进行筛选,输出符合设定标准的至少一个二维码候选框;
所述识别模块,用于使用第二轻量级神经网络模型,从符合设定标准的至少一个二维码候选框中确定最优二维码候选框,对最优二维码候选框中的二维码进行识别和标定。
17.根据权利要求15所述的装置,其中,所述处理模块,用于从视频流中获取待处理的图像帧,将所述待处理的图像帧转换为灰度图像帧;对所述灰度图像帧进行不同的图像缩放处理,生成多个不同分辨率的子图像帧。
18.根据权利要求17所述的装置,其中,所述第一轻量级神经网络模型为深度可分离卷积神经网络模型;
所述判定模块,用于根据每个子图像帧的分辨率,调整所述第一轻量级神经网络模型的模型参数;使用调整后的第一轻量级神经网络模型判定当前子图像帧是否包含有二维码,若判定包含有二维码则输出对应的多个二维码候选框。
19.根据权利要求16所述的装置,其中,所述筛选模块,用于针对每个二维码候选框,按照二维码候选框所框定的范围截取对应的子图像帧中的对应图像区域,生成二维码区域图像;使用第三轻量级神经网络模型对多个二维码区域图像进行筛选,输出符合设定标准的至少一个二维码区域图像。
20.根据权利要求19所述的装置,其中,所述第三轻量级神经网络模型为深度可分离卷积神经网络模型;
所述筛选模块在使用第三轻量级神经网络模型对多个二维码区域图像进行筛选时,根据每个二维码区域图像的分辨率,调整所述第三轻量级神经网络模型的模型参数;使用调整后的第三轻量级神经网络模型对当前二维码区域图像是否符合所述设定标准进行判断。
21.根据权利要求19或20所述的装置,其中,所述第二轻量级神经网络模型包括第一分支和第二分支;所述第一分支用于根据所述第二轻量级神经网络模型对所述多个二维码区域图像的卷积结果,确定最优的二维码区域图像;所述第二分支用于根据所述卷积结果,进行二维码内容识别。
22.根据权利要求15或16所述的装置,其中,所述跟踪模块,用于根据标定结果,使用基于滤波器的尺度空间跟踪算法,对所述视频流中所述待处理的图像帧之后的其它图像帧进行所述二维码的跟踪。
23.根据权利要求22所述的装置,其中,所述基于滤波器的尺度空间跟踪算法为快速尺度空间跟踪fDSST算法。
24.根据权利要求23所述的装置,其中,所述跟踪模块,用于根据标定结果,获取所述二维码在所述待处理的图像帧中的位置和尺度;根据所述位置和尺度,以及预设的位置模型和尺度模型,确定所述二维码在所述待处理的图像帧之后的图像帧中的位置和尺度。
25.根据权利要求24所述的装置,其中,所述跟踪模块,还用于根据确定的所述位置和尺度,对所述预设的位置模型和尺度模型进行更新。
26.根据权利要求15所述的装置,其中,所述装置还包括:
AR模块,用于在所述识别模块对最优二维码候选框中的二维码进行识别和标定之后,根据对二维码进行识别和标定的结果,确定AR业务对象和AR业务对象的展示位置;在所述展示位置展示所述AR业务对象。
27.根据权利要求26所述的装置,其中,所述AR模块,还用于根据跟踪结果和确定的所述AR业务对象,在所述待处理的图像帧之后的其它图像帧中进行所述AR业务对象的展示。
28.根据权利要求16所述的装置,其中,所述第一轻量级神经网络模型为四层卷积神经网络模型、所述第二轻量级神经网络模型为六层卷积神经网络模型、所述第三轻量级神经网络模型为五层卷积神经网络模型。
29.一种移动终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-14任一项所述的二维码数据处理方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711368299.6A CN108121931B (zh) | 2017-12-18 | 2017-12-18 | 二维码数据处理方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711368299.6A CN108121931B (zh) | 2017-12-18 | 2017-12-18 | 二维码数据处理方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121931A CN108121931A (zh) | 2018-06-05 |
CN108121931B true CN108121931B (zh) | 2021-06-25 |
Family
ID=62230308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711368299.6A Active CN108121931B (zh) | 2017-12-18 | 2017-12-18 | 二维码数据处理方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121931B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165538B (zh) * | 2018-07-18 | 2021-10-22 | 苏州飞搜科技有限公司 | 基于深度神经网络的条形码检测方法及装置 |
CN109147254B (zh) * | 2018-07-18 | 2021-05-18 | 武汉大学 | 一种基于卷积神经网络的视频野外火灾烟雾实时检测方法 |
CN109241808A (zh) * | 2018-08-27 | 2019-01-18 | 上海宝尊电子商务有限公司 | 一种时尚图像中二维码自动筛选方法 |
CN109118456B (zh) * | 2018-09-26 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 图像处理方法和装置 |
CN111325043A (zh) * | 2018-12-14 | 2020-06-23 | 中移(杭州)信息技术有限公司 | 一种二维码的解析方法、装置、设备及介质 |
CN109815770B (zh) * | 2019-01-31 | 2022-09-27 | 北京旷视科技有限公司 | 二维码检测方法、装置及系统 |
CN112181266B (zh) * | 2019-07-05 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 图形码识别方法、装置、终端以及存储介质 |
CN110490022A (zh) * | 2019-08-23 | 2019-11-22 | 京东数字科技控股有限公司 | 一种识别图片中的条形码方法及装置 |
CN111951287A (zh) * | 2020-08-21 | 2020-11-17 | 公安部交通管理科学研究所 | 一种二维码检测和识读方法 |
CN112307786B (zh) * | 2020-10-13 | 2022-07-08 | 上海迅邦电子科技有限公司 | 一种多个不规则二维码批量定位识别方法 |
CN112583976B (zh) * | 2020-12-29 | 2022-02-18 | 咪咕文化科技有限公司 | 图形码显示方法、设备及可读存储介质 |
CN115329795A (zh) * | 2022-10-17 | 2022-11-11 | 北京搜狐新动力信息技术有限公司 | 一种识别二维码的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636749A (zh) * | 2013-11-14 | 2015-05-20 | 中国移动通信集团公司 | 目标对象检测方法及装置 |
CN106372144A (zh) * | 2016-08-26 | 2017-02-01 | 江西科骏实业有限公司 | 二维码处理装置和方法 |
CN106688011A (zh) * | 2014-09-10 | 2017-05-17 | 北京市商汤科技开发有限公司 | 用于多类别物体检测的方法和系统 |
CN106845406A (zh) * | 2017-01-20 | 2017-06-13 | 深圳英飞拓科技股份有限公司 | 基于多任务级联卷积神经网络的头肩检测方法及装置 |
CN106845385A (zh) * | 2017-01-17 | 2017-06-13 | 腾讯科技(上海)有限公司 | 视频目标跟踪的方法和装置 |
CN107358656A (zh) * | 2017-06-16 | 2017-11-17 | 珠海金山网络游戏科技有限公司 | 一种三维游戏的ar处理系统及其处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282722B2 (en) * | 2015-05-04 | 2019-05-07 | Yi Sun Huang | Machine learning system, method, and program product for point of sale systems |
-
2017
- 2017-12-18 CN CN201711368299.6A patent/CN108121931B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636749A (zh) * | 2013-11-14 | 2015-05-20 | 中国移动通信集团公司 | 目标对象检测方法及装置 |
CN106688011A (zh) * | 2014-09-10 | 2017-05-17 | 北京市商汤科技开发有限公司 | 用于多类别物体检测的方法和系统 |
CN106372144A (zh) * | 2016-08-26 | 2017-02-01 | 江西科骏实业有限公司 | 二维码处理装置和方法 |
CN106845385A (zh) * | 2017-01-17 | 2017-06-13 | 腾讯科技(上海)有限公司 | 视频目标跟踪的方法和装置 |
CN106845406A (zh) * | 2017-01-20 | 2017-06-13 | 深圳英飞拓科技股份有限公司 | 基于多任务级联卷积神经网络的头肩检测方法及装置 |
CN107358656A (zh) * | 2017-06-16 | 2017-11-17 | 珠海金山网络游戏科技有限公司 | 一种三维游戏的ar处理系统及其处理方法 |
Non-Patent Citations (3)
Title |
---|
"Fast R-CNN";Girshick R;《Computer Science》;20160918;第1440-1448页 * |
"Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks";Zhang K等;《IEEE Signal Processing Letters》;20161031;第10卷(第23期);第1499-1503页 * |
"智能视频监控中运动目标检测与跟踪算法研究";刘听政;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第03期);I138-7465 * |
Also Published As
Publication number | Publication date |
---|---|
CN108121931A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121931B (zh) | 二维码数据处理方法、装置及移动终端 | |
CN106778928B (zh) | 图像处理方法及装置 | |
CN111598998B (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
CN110222787B (zh) | 多尺度目标检测方法、装置、计算机设备及存储介质 | |
CN112330574B (zh) | 人像修复方法、装置、电子设备及计算机存储介质 | |
US9773192B2 (en) | Fast template-based tracking | |
JP6798183B2 (ja) | 画像解析装置、画像解析方法およびプログラム | |
CN110349082B (zh) | 图像区域的裁剪方法和装置、存储介质及电子装置 | |
WO2020134818A1 (zh) | 图像处理方法及相关产品 | |
WO2015080993A1 (en) | Aligning ground based images and aerial imagery | |
CN112381061B (zh) | 一种面部表情识别方法及系统 | |
CN111652054B (zh) | 关节点检测方法、姿态识别方法及装置 | |
JP7419080B2 (ja) | コンピュータシステムおよびプログラム | |
CN110276831B (zh) | 三维模型的建构方法和装置、设备、计算机可读存储介质 | |
CN113220251B (zh) | 物体显示方法、装置、电子设备及存储介质 | |
CN107767358B (zh) | 一种图像中物体模糊度确定方法和装置 | |
CN112967341A (zh) | 基于实景图像的室内视觉定位方法、系统、设备及存储介质 | |
CN111696196A (zh) | 一种三维人脸模型重建方法及装置 | |
CN113673545A (zh) | 光流估计方法、相关装置、设备及计算机可读存储介质 | |
WO2022052782A1 (zh) | 图像的处理方法及相关设备 | |
CN116740135B (zh) | 红外弱小目标跟踪方法、装置、电子设备及存储介质 | |
CN111683221B (zh) | 嵌入矢量红线数据的自然资源实时视频监测方法及系统 | |
CN114926734B (zh) | 基于特征聚合和注意融合的固体废弃物检测装置及方法 | |
CN111260687B (zh) | 一种基于语义感知网络和相关滤波的航拍视频目标跟踪方法 | |
CN112509144A (zh) | 人脸图像处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200526 Address after: 310051 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower Applicant before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |