CN111079771A - 点读图像的特征提取方法、系统、终端设备及存储介质 - Google Patents
点读图像的特征提取方法、系统、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111079771A CN111079771A CN201911293084.1A CN201911293084A CN111079771A CN 111079771 A CN111079771 A CN 111079771A CN 201911293084 A CN201911293084 A CN 201911293084A CN 111079771 A CN111079771 A CN 111079771A
- Authority
- CN
- China
- Prior art keywords
- point
- click
- image
- umat
- reading
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 90
- 102100021503 ATP-binding cassette sub-family B member 6 Human genes 0.000 claims abstract description 68
- 101000677883 Homo sapiens ATP-binding cassette sub-family B member 6 Proteins 0.000 claims abstract description 68
- 238000000605 extraction Methods 0.000 claims abstract description 42
- 239000011159 matrix material Substances 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 19
- 239000000284 extract Substances 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 abstract description 7
- 230000001133 acceleration Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明属于点读识别领域,公开了一种点读图像的特征提取方法、系统、终端设备及存储介质。其方法包括:获取点读页面的点读图像;将所述点读图像变换为Umat对象变量;调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。本发明将Opencl异构平台应用于点读特征的提取,充分利用现有硬件资源进行加速,在提取特征点时通过并行处理,可解决高分辨率图像特征点提取的耗时问题,而且不会减少点读特征点的提取数量,便于后续的搜索匹配和点读坐标变换,提高点读效果。
Description
技术领域
本发明涉及点读识别技术领域,尤其涉及一种点读图像的特征提取方法、系统、终端设备及存储介质。
背景技术
点读方法主要有两种,一种是配有特制的点读笔和配套教材,根据感应到的点读笔位置进行相应位置内容的播报;另一种则无需点读笔,而是通过图像识别来定位用户指向的点读内容。
随着计算机技术的快速发展,通过点读笔和配套教材进行点读的方式逐渐被淘汰,而通过图像识别技术来获取用户在纸质书本页面上指向的点读内容则越来越符合市场需求。
纸质书本的点读需要依赖图像上的特征点来获取点读区域的坐标(指示体指向位置的坐标)并进行定位,使得特征点的提取显得格外重要,然而特征点的提取需要耗费大量计算时间,影响点读的时间性能,增加机器的硬件成本。
目前点读特征点提取时间优化通常采用参数调整,缩小图像等,这些方法虽然一定程度上减少时间,但是同时也会导致特征点提取的数量减少,从而影响点读的坐标变换精度。
发明内容
本发明的目的是提供一种点读图像的特征提取方法、系统、终端设备及存储介质,解决点读图像的特征提取的耗时问题。
本发明提供的技术方案如下:
一方面,提供一种点读图像的特征提取方法,包括:
获取点读页面的点读图像;
将所述点读图像变换为Umat对象变量;
调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。
进一步,所述调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性具体包括:
调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
所述处理线程对所述Umat对象变量进行并行特征点提取,提取所述点读图像中的特征点和所述特征点的属性。
进一步,所述处理线程对所述Umat对象变量进行并行处理,提取出所述点读图像中的特征点和所述特征点的属性具体包括:
所述处理线程分别对所述Umat对象变量中按照预设规则划分的区域内的像素点进行梯度值求取,其中,一个处理线程处理一个区域;
所述处理线程将对应区域内的当前像素点的梯度值与所述当前像素点周围的像素点的梯度值进行对比,并根据对比结果确定所述当前像素点是否为特征点;
所述处理线程将对应区域内的特定点进行邻域对比处理,得到所述特征点对应的属性。
进一步,所述将所述点读图像变换为Umat对象变量具体包括:
将所述点读图像转换为矩阵变量;
将所述矩阵变量变换为Umat对象变量。
另一方面,还提供一种点读图像的特征提取系统,包括:
图像获取模块,用于获取点读页面的点读图像;
图像转换模块,用于将所述点读图像变换为Umat对象变量;
特征提取模块,用于调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。
进一步,所述特征提取模块包括:
线程生成子模块,用于调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
线程处理子模块,用于对所述Umat对象变量进行并行特征点提取,提取所述点读图像中的特征点和所述特征点的属性。
进一步,所述线程处理子模块包括:
梯度值求取单元,用于分别对所述Umat对象变量中按照预设规则划分的区域内的像素点进行梯度值求取,其中,一个处理线程处理一个区域;
对比单元,用于将对应区域内的当前像素点的梯度值与所述当前像素点周围的像素点的梯度值进行对比,并根据对比结果确定所述当前像素点是否为特征点;
所述对比单元,还用于将对应区域内的特定点进行邻域对比处理,得到所述特征点对应的属性。
进一步,所述图像转换模块包括:
矩阵转换单元,用于将所述点读图像转换为矩阵变量;
Umat对象转换单元,用于将所述矩阵变量变换为Umat对象变量。
又一方面,还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时实现如上述任一所述的点读图像的特征提取方法的步骤。
再一方面,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述的点读图像的特征提取方法的步骤。
通过本发明提供的一种点读图像的特征提取方法、系统、终端设备及存储介质,能够带来以下有益效果:将Opencl异构平台应用于点读特征的提取,充分利用现有硬件资源进行加速,在提取特征点时通过并行处理,可解决高分辨率图像特征点提取的耗时问题,而且不会减少点读特征点的提取数量,便于后续的搜索匹配和点读坐标变换,提高点读效果。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种点读图像的特征提取方法、系统、终端设备及存储介质的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种点读图像的特征提取方法的一个实施例的流程示意图;
图2是本发明一种点读图像的特征提取方法的另一个实施例的流程示意图;
图3是本发明一种点读图像的特征提取方法的又一个实施例的流程示意图;
图4是本发明一种点读图像的特征提取方法的再一个实施例的流程示意图;
图5是本发明一种点读图像的特征提取系统的一个实施例的结构示意框图;
图6是本发明一种点读图像的特征提取系统的另一个实施例的结构示意框图;
图7是本发明一种点读图像的特征提取系统的又一个实施例的结构示意框图;
图8是本发明一种点读图像的特征提取系统的再一个实施例的结构示意框图;
图9是本发明终端设备一个实施例的结构示意图。
附图标号说明:
100、图像获取模块; 200、图像转换模块;
210、矩阵转换单元; 220、Umat对象转换单元;
300、特征提取模块; 310、线程生成子模块;
320、线程处理子模块; 321、梯度值求取单元;
322、对比单元; 210、存储器;
211、计算机程序; 220、处理器。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
具体实现中,本申请实施例中描述的移动客户端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其他便携式设备。
移动客户端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、网络创建应用程序、文字处理应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄像机应用程序、Web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本发明提供一种点读图像的特征提取方法的一个实施例,如图1所示,包括:
S100获取点读页面的点读图像;
具体地,用户在学习时碰到不会做的题或不认识的字时,可将手指指向纸质书本页面上不会的题或不认识的字所在的位置,并通过家教机上的摄像头拍摄该手指指向的纸质书本页面的图像,通过摄像头拍摄到的该图像就是点读图像。
家教机上可设置反光镜,使家教机上的摄像头可拍摄到放置于家教机正前方的纸张书本的图像;或者在家教机上设置可旋转的摄像头,需要获取点读图像时,摄像头朝向纸张书本的方向旋转,以拍摄获取点读图像,点读图像获取完毕时,摄像头回复原位。
S200将所述点读图像变换为Umat对象变量;
具体地,家教机获取到点读图像后,可将点读图像变换为Umat对象变量,Umat对象变量是一种图像容器对象,表示的是像素点数值,引入Umat的目的是为了在支持Opencl的CPU或GPU平台上使用Opencl加速。CPU为中央处理器(Central Processing Unit),GPU为图像处理器(Graphics Processing Unit)。
家教机获取到点读图像后,还可将点读图像发送给服务器,服务器获取到家教机发送的点读图像后,对点读图像进行处理提取出点读图像中的特征点和特征点的属性。将点读图像的特征提取放置在服务器上进行,可降低家教机的硬件配置要求,降低家教机的成本。
进一步地,如图2所示,S200所述将所述点读图像变换为Umat对象变量具体包括:
S210将所述点读图像转换为矩阵变量;
S220将所述矩阵变量变换为Umat对象变量。
具体地,点读图像在转换时,可先将点读图像中的颜色去除,将点读图像变成黑白图像,然后转换为二维数据矩阵,矩阵的行对应点读图像的高(单位为像素),矩阵的列对应点读图像的宽(单位为像素),矩阵的元素对应点读图像的像素,矩阵元素的值就是像素的灰度值。然后将矩阵变换为Umat对象变量。
S300调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。
具体地,Opencl(Open Computing Language,开放运算语言)是面向异构系统通用的并行编程标准,是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU或其他类型的处理器组成。
将点读图像变换为Umat对象变量后,Umat对象变量会自动调用异构平台框架,即调用Opencl的框架,Opencl进行计算资源的调用加速,使CPU或GPU对Umat对象变量进行并行处理,以提取出点读图像中的特征点和特征点对应的属性,从而提高点读图像特征提取的速度。
提取出点读图像中的特征点和特征点属性后,特征点和特征点的属性可组成特征向量,根据该特征向量可在数据库中搜索与点读图像相对应的目标点读页面,该目标点读页面与点读图像为同一本书的同一页,根据搜索匹配到的目标点读页面来获取到用户当前在看的点读页是哪一本书的哪一页。
数据库中预存的目标点读页面中包含了用于搜索匹配的特征信息,也就是存储了每个页面里包含了哪些特征点以及特征点的属性,通过将点读图像中提取的特征信息在数据库中匹配查找,即可快速匹配到当前需要点读的是哪一本书中的哪一页。
在数据库中查找到目标点读页面后,根据点读图像中的特征点以及目标点读页面中的特征点,可计算出点读图像与目标点读页面之间的对应关系的矩阵,然后根据该对应关系的矩阵以及点读图像中的指示体的坐标,在目标点读页面中确定指示体指向的点读区域,最后获取点读区域中的内容并结合用户输入的语音信息搜索反馈对应的答案,完成点读过程。
点读图像中的指示体的坐标可根据摄像头的相机坐标系与世界坐标系之间的转换关系得到。例如,先获取摄像头的内参矩阵,将摄像头的中点转换为世界坐标系中的原点,并构建世界坐标系,然后获取点读书本图像中的指示体在世界坐标系中的像素坐标,指示体在世界坐标系中的像素坐标即为指示体对应的点读坐标。
本发明中,将Opencl异构平台应用于点读特征的提取,充分利用现有硬件资源进行加速,在提取特征点时通过并行处理,可解决高分辨率图像特征点提取的耗时问题,而且不会减少点读特征点的提取数量,便于后续的搜索匹配和点读坐标变换,提高点读效果;同时使用Opencl加速不需要对设备进行额外的环境配置和部署,减少开发时间,提高了开发效率。
本发明提供一种点读图像的特征提取方法的另一个实施例,如图3所示,包括:
S100获取点读页面的点读图像;
S200将所述点读图像变换为Umat对象变量;
S310调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
S320所述处理线程对所述Umat对象变量进行并行特征点提取,提取所述点读图像中的特征点和所述特征点的属性。
具体地,通过Opencl框架来使CPU或GPU并行提取点读图像中的特征点,从而提高点读图像特征提取的速度。例如,可以根据CPU或GPU的计算资源来确定CPU或GPU能够同时并行处理的最大线程数量,即第一数量,并生成第一数量个处理线程。
第一数量个处理线程同时对Umat对象变量中的像素点进行处理,以提取出特征点和特征点的属性。一般来说Umat对象变量中的像素点的数量大于第一数量,第一数量个处理线程同时处理第一数量个像素点,确定这第一数量个像素点是否为特征点,处理完之后,再同时处理剩余像素点中的第一数量个像素点,依次类推,直至处理完所有的像素点。
本发明提供一种点读图像的特征提取方法的又一个实施例,如图4所示,包括:
S100获取点读页面的点读图像;
S200将所述点读图像变换为Umat对象变量
S310调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
S321所述处理线程分别对所述Umat对象变量中按照预设规则划分的区域内的像素点进行梯度值求取,其中,一个处理线程处理一个区域;
S322所述处理线程将对应区域内的当前像素点的梯度值与所述当前像素点周围的像素点的梯度值进行对比,并根据对比结果确定所述当前像素点是否为特征点;
S323所述处理线程将对应区域内的特定点进行邻域对比处理,得到所述特征点对应的属性。
具体地,第一数量个处理线程对Umat对象变量进行处理时,可先按照预设规则将Umat对象变量划分为多个区域,每个处理线程处理一个区域。每个区域中包括多个像素点,处理线程对该区域内的像素点依次进行处理,以确定该像素点是否为特征点。若划分的区域数量大于第一数量时,第一数量个处理线程先处理第一数量个区域,然后处理剩余区域中的第一数量个区域,直至将所有区域处理完毕。将点读图像进行划区域处理,可方便多个处理线程同时进行处理,提高处理效率,且可避免出现像素点重复处理或被遗漏的情况。
处理线程在确定对应区域内的像素点是否为特征点时,可先对该对应区域内的像素点进行梯度值求取,然后将当前像素点的梯度值与当前像素点周围的像素点的梯度值进行对比,当前像素点为该对应区域内的任意一个像素点;若当前像素点的梯度值与当前像素点周围的像素点的梯度值的差别足够大,则该当前像素点为特征点;若差别不大,则该当前像素点不是特征点。在确定特征点时,可选取当前像素点周围的10-20个像素点进行比较。
得到特征点后还需要描述这些特征点的属性。处理方法是将这些特征点进行领域对比,即在特征点周围选取N个像素点,将特征点与这N个像素点的比较结果组合起来作为特征点的属性。特征点的属性包括尺寸大小、方向、金字塔层数等。根据点读图像中的这些特征点以及特征点的属性即可快速准确地在数据库中匹配到相应的目标点读页面,并可根据特征点进行指示体坐标的转换,提高点读的效率和准确率。
应理解,在上述实施例中,各步骤序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明还提供一种点读图像的特征提取系统的一个实施例,如图5所示,包括:
图像获取模块100,用于获取点读页面的点读图像;
具体地,用户在学习时碰到不会做的题或不认识的字时,可将手指指向纸质书本页面上不会的题或不认识的字所在的位置,并通过家教机上的摄像头拍摄该手指指向的纸质书本页面的图像,通过摄像头拍摄到的该图像就是点读图像。
家教机上可设置反光镜,使家教机上的摄像头可拍摄到放置于家教机正前方的纸张书本的图像;或者在家教机上设置可旋转的摄像头,需要获取点读图像时,摄像头朝向纸张书本的方向旋转,以拍摄获取点读图像,点读图像获取完毕时,摄像头回复原位。
当本发明的点读图像的特征提取系统应用在家教机上时,则图像获取模块100为家教机上的摄像头;当本发明的点读图像的特征提取系统应用在服务器上时,则图像获取模块100为接收模块,以接收家教机发送的点读图像。
图像转换模块200,用于将所述点读图像变换为Umat对象变量;
具体地,家教机获取到点读图像后,可通过图像转换模块200将点读图像变换为Umat对象变量,Umat对象变量是一种图像容器对象,表示的是像素点数值,引入Umat的目的是为了在支持Opencl的CPU或GPU平台上使用Opencl加速。CPU为中央处理器(CentralProcessing Unit),GPU为图像处理器(Graphics Processing Unit)。
点读图像的特征提取可在家教机上进行,也可放置在服务器上进行提取,在服务器上进行提取时,家教机拍摄获取到点读图像后,将点读图像发送给服务器,服务器获取到家教机发送的点读图像后,对点读图像进行处理提取出点读图像中的特征点和特征点的属性。在服务器上提取点读图像的特征点和特征点的属性,可降低家教机的硬件配置要求,降低家教机的成本。服务器提取出点读图像的特征点和特征点对应的属性后,可将特征点和特征点属性发送给家教机,由家教机进行后续的目标点读页面获取和坐标转换等处理以识别用户点读的内容完成整个点读流程;或者由服务器完成后续的目标点读页面获取和坐标转换等处理,识别用户点读的内容并搜索对应的回复后反馈给家教机,由家教机进行展示。
特征提取模块300,用于调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。
具体地,Opencl(Open Computing Language,开放运算语言)是面向异构系统通用的并行编程标准,是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU或其他类型的处理器组成。
将点读图像变换为Umat对象变量后,Umat对象变量会自动调用异构平台框架,即调用Opencl的框架,Opencl进行计算资源的调用加速,使CPU或GPU对Umat对象变量进行并行处理,以提取出点读图像中的特征点和特征点对应的属性,从而提高点读图像特征提取的速度。
提取出点读图像中的特征点和特征点属性后,特征点和特征点的属性可组成特征向量,根据该特征向量可在数据库中搜索与点读图像相对应的目标点读页面,该目标点读页面与点读图像为同一本书的同一页,根据搜索匹配到的目标点读页面来获取到用户当前在看的点读页是哪一本书的哪一页。
数据库中预存的目标点读页面中包含了用于搜索匹配的特征信息,也就是存储了每个页面里包含了哪些特征点以及特征点的属性,通过将点读图像中提取的特征信息在数据库中匹配查找,即可快速匹配到当前需要点读的是哪一本书中的哪一页。
在数据库中查找到目标点读页面后,根据点读图像中的特征点以及目标点读页面中的特征点,可计算出点读图像与目标点读页面之间的对应关系的矩阵,然后根据该对应关系的矩阵以及点读图像中的指示体的坐标,在目标点读页面中确定指示体指向的点读区域,最后获取点读区域中的内容并结合用户输入的语音信息搜索反馈对应的答案,完成点读过程。
点读图像中的指示体的坐标可根据摄像头的相机坐标系与世界坐标系之间的转换关系得到。例如,先获取摄像头的内参矩阵,将摄像头的中点转换为世界坐标系中的原点,并构建世界坐标系,然后获取点读书本图像中的指示体在世界坐标系中的像素坐标,指示体在世界坐标系中的像素坐标即为指示体对应的点读坐标。
本发明中,将Opencl异构平台应用于点读特征的提取,充分利用现有硬件资源进行加速,在提取特征点时通过并行处理,可解决高分辨率图像特征点提取的耗时问题,而且不会减少点读特征点的提取数量,便于后续的搜索匹配和点读坐标变换,提高点读效果。
进一步地,如图6所示,图像转换模块200包括:
矩阵转换单元210,用于将所述点读图像转换为矩阵变量;
Umat对象转换单元220,用于将所述矩阵变量变换为Umat对象变量。
具体地,点读图像在转换时,可先将点读图像中的颜色去除,将点读图像变成黑白图像,然后通过矩阵转换单元210将该黑白图像转换为二维数据矩阵,矩阵的行对应点读图像的高(单位为像素),矩阵的列对应点读图像的宽(单位为像素),矩阵的元素对应点读图像的像素,矩阵元素的值就是像素的灰度值。最后通过Umat对象转换单元220将矩阵变换为Umat对象变量。
作为一种实施方式,如图7所示,特征提取模块300包括:
线程生成子模块310,用于调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
线程处理子模块320,用于对所述Umat对象变量进行并行特征点提取,提取所述点读图像中的特征点和所述特征点的属性。
具体地,通过Opencl框架来使CPU或GPU并行提取点读图像中的特征点,从而提高点读图像特征提取的速度。例如,可以根据CPU或GPU的计算资源来确定CPU或GPU能够同时并行处理的最大线程数量,即第一数量,并生成第一数量个处理线程。
第一数量个处理线程同时对Umat对象变量中的像素点进行处理,以提取出特征点和特征点的属性。一般来说Umat对象变量中的像素点的数量大于第一数量,第一数量个处理线程同时处理第一数量个像素点,确定这第一数量个像素点是否为特征点,处理完之后,再同时处理剩余像素点中的第一数量个像素点,依次类推,直至处理完所有的像素点。
作为另一种实施方式,如图8所示,线程处理子模块320包括:
梯度值求取单元321,用于分别对所述Umat对象变量中按照预设规则划分的区域内的像素点进行梯度值求取,其中,一个处理线程处理一个区域;
对比单元322,用于将对应区域内的当前像素点的梯度值与所述当前像素点周围的像素点的梯度值进行对比,并根据对比结果确定所述当前像素点是否为特征点;
对比单元322,还用于将对应区域内的特定点进行邻域对比处理,得到所述特征点对应的属性。
具体地,第一数量个处理线程对Umat对象变量进行处理时,可先按照预设规则将Umat对象变量划分为多个区域,每个处理线程处理一个区域。每个区域中包括多个像素点,处理线程对该区域内的像素点依次进行处理,以确定该像素点是否为特征点。若划分的区域数量大于第一数量时,第一数量个处理线程先处理第一数量个区域,然后处理剩余区域中的第一数量个区域,直至将所有区域处理完毕。将点读图像进行划区域处理,可方便多个处理线程同时进行处理,提高处理效率,且可避免出现像素点重复处理或被遗漏的情况。
处理线程在确定对应区域内的像素点是否为特征点时,可先对该对应区域内的像素点进行梯度值求取,然后将当前像素点的梯度值与当前像素点周围的像素点的梯度值进行对比,当前像素点为该对应区域内的任意一个像素点;若当前像素点的梯度值与当前像素点周围的像素点的梯度值的差别足够大,则该当前像素点为特征点;若差别不大,则该当前像素点不是特征点。在确定特征点时,可选取当前像素点周围的10-20个像素点进行比较。
得到特征点后还需要描述这些特征点的属性。特征点属性的获取方法是将这些特征点进行领域对比,即在特征点周围选取N个像素点,将特征点与这N个像素点的比较结果组合起来作为特征点的属性。特征点的属性包括尺寸大小、方向、金字塔层数等。根据点读图像中的这些特征点以及特征点的属性即可快速准确地在数据库中匹配到相应的目标点读页面,并可根据特征点进行指示体坐标的转换,提高点读的效率和准确率。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
图9是本发明一个实施例中提供的终端设备的结构示意图。如图9所示,本实施例的终端设备包括:处理器220、存储器210以及存储在所述存储器210中并可在所述处理器220上运行的计算机程序211。所述处理器220执行所述计算机程序211时实现上述各个点读图像的特征提取方法实施例中的步骤,或者,所述处理器220执行所述计算机程序211时实现上述各点读图像的特征提取系统实施例中各模块的功能。
所述终端设备可以为桌上型计算机、笔记本、掌上电脑、平板型计算机、手机、人机交互屏等设备。所述终端设备可包括,但不仅限于,处理器220、存储器210。本领域技术人员可以理解,图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如:终端设备还可以包括输入输出设备、显示设备、网络接入设备、总线等。
所述处理器220可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器210可以是所述终端设备的内部存储单元,例如:终端设备的硬盘或内存。所述存储器也可以是所述终端设备的外部存储设备,例如:所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器210还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述存储器210用于存储所述计算机程序211以及所述终端设备所需要的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序发送指令给相关的硬件完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括:计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如:在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种点读图像的特征提取方法,其特征在于,包括:
获取点读页面的点读图像;
将所述点读图像变换为Umat对象变量;
调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。
2.如权利要求1所述的一种点读图像的特征提取方法,其特征在于,所述调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性具体包括:
调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
所述处理线程对所述Umat对象变量进行并行特征点提取,提取所述点读图像中的特征点和所述特征点的属性。
3.如权利要求2所述的一种点读图像的特征提取方法,其特征在于,所述处理线程对所述Umat对象变量进行并行处理,提取出所述点读图像中的特征点和所述特征点的属性具体包括:
所述处理线程分别对所述Umat对象变量中按照预设规则划分的区域内的像素点进行梯度值求取,其中,一个处理线程处理一个区域;
所述处理线程将对应区域内的当前像素点的梯度值与所述当前像素点周围的像素点的梯度值进行对比,并根据对比结果确定所述当前像素点是否为特征点;
所述处理线程将对应区域内的特定点进行邻域对比处理,得到所述特征点对应的属性。
4.如权利要求1所述的一种点读图像的特征提取方法,其特征在于,所述将所述点读图像变换为Umat对象变量具体包括:
将所述点读图像转换为矩阵变量;
将所述矩阵变量变换为Umat对象变量。
5.一种点读图像的特征提取系统,其特征在于,包括:
图像获取模块,用于获取点读页面的点读图像;
图像转换模块,用于将所述点读图像变换为Umat对象变量;
特征提取模块,用于调用Opencl程序接口对所述Umat对象变量进行并行处理,提取所述点读图像中的特征点和所述特征点的属性。
6.如权利要求5所述的一种点读图像的特征提取系统,其特征在于,所述特征提取模块包括:
线程生成子模块,用于调用Opencl程序接口根据处理器的当前计算能力生成第一数量个处理线程;
线程处理子模块,用于对所述Umat对象变量进行并行特征点提取,提取所述点读图像中的特征点和所述特征点的属性。
7.如权利要求6所述的一种点读图像的特征提取系统,其特征在于,所述线程处理子模块包括:
梯度值求取单元,用于分别对所述Umat对象变量中按照预设规则划分的区域内的像素点进行梯度值求取,其中,一个处理线程处理一个区域;
对比单元,用于将对应区域内的当前像素点的梯度值与所述当前像素点周围的像素点的梯度值进行对比,并根据对比结果确定所述当前像素点是否为特征点;
所述对比单元,还用于将对应区域内的特定点进行邻域对比处理,得到所述特征点对应的属性。
8.如权利要求5所述的一种点读图像的特征提取系统,其特征在于,所述图像转换模块包括:
矩阵转换单元,用于将所述点读图像转换为矩阵变量;
Umat对象转换单元,用于将所述矩阵变量变换为Umat对象变量。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时实现如权利要求1-4中任一项所述的点读图像的特征提取方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的点读图像的特征提取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293084.1A CN111079771B (zh) | 2019-12-16 | 2019-12-16 | 点读图像的特征提取方法、系统、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293084.1A CN111079771B (zh) | 2019-12-16 | 2019-12-16 | 点读图像的特征提取方法、系统、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079771A true CN111079771A (zh) | 2020-04-28 |
CN111079771B CN111079771B (zh) | 2023-05-09 |
Family
ID=70314764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911293084.1A Active CN111079771B (zh) | 2019-12-16 | 2019-12-16 | 点读图像的特征提取方法、系统、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079771B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592943A (zh) * | 2020-04-30 | 2021-11-02 | 丰田自动车株式会社 | 位置推定系统及位置推定方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100053411A (ko) * | 2008-11-11 | 2010-05-20 | 한국전자통신연구원 | 멀티코어 멀티스레드 기반의 klt 특징점 추적 방법 및 그 장치 |
CN104281847A (zh) * | 2013-07-12 | 2015-01-14 | 步步高教育电子有限公司 | 一种点读方法、装置及设备 |
CN104732221A (zh) * | 2015-03-30 | 2015-06-24 | 郑州师范学院 | 一种基于OpenCL并行加速的SIFT特征匹配方法 |
US20190139186A1 (en) * | 2016-06-28 | 2019-05-09 | Peking University Shenzhen Graduate School | Method for accelerating a cdvs extraction process based on a gpgpu platform |
CN110163790A (zh) * | 2018-06-11 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、系统、存储介质和计算机设备 |
CN110414534A (zh) * | 2019-07-01 | 2019-11-05 | 深圳前海达闼云端智能科技有限公司 | 图像特征的提取方法、装置、存储介质和电子设备 |
-
2019
- 2019-12-16 CN CN201911293084.1A patent/CN111079771B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100053411A (ko) * | 2008-11-11 | 2010-05-20 | 한국전자통신연구원 | 멀티코어 멀티스레드 기반의 klt 특징점 추적 방법 및 그 장치 |
CN104281847A (zh) * | 2013-07-12 | 2015-01-14 | 步步高教育电子有限公司 | 一种点读方法、装置及设备 |
CN104732221A (zh) * | 2015-03-30 | 2015-06-24 | 郑州师范学院 | 一种基于OpenCL并行加速的SIFT特征匹配方法 |
US20190139186A1 (en) * | 2016-06-28 | 2019-05-09 | Peking University Shenzhen Graduate School | Method for accelerating a cdvs extraction process based on a gpgpu platform |
CN110163790A (zh) * | 2018-06-11 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、系统、存储介质和计算机设备 |
CN110414534A (zh) * | 2019-07-01 | 2019-11-05 | 深圳前海达闼云端智能科技有限公司 | 图像特征的提取方法、装置、存储介质和电子设备 |
Non-Patent Citations (3)
Title |
---|
KONRAD MOREN 等: ""Accelerating local feature extraction using OpenCL on heterogeneous platforms"", 《PROCEEDINGS OF THE 2014 CONFERENCE ON DESIGN AND ARCHITECTURES FOR SIGNAL AND IMAGE PROCESSING》 * |
田文等: "基于CUDA的尺度不变特征变换快速算法", 《计算机工程》 * |
肖汉: ""基于CPU+GPU的影像匹配高效能异构并行计算研究"", 《中国博士学位论文全文数据库 (信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592943A (zh) * | 2020-04-30 | 2021-11-02 | 丰田自动车株式会社 | 位置推定系统及位置推定方法 |
CN113592943B (zh) * | 2020-04-30 | 2024-01-30 | 丰田自动车株式会社 | 位置推定系统及位置推定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111079771B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319592B (zh) | 一种翻译的方法、装置及智能终端 | |
TW202139183A (zh) | 基於人工智慧的物體檢測方法、裝置、設備及儲存媒體 | |
CN109144647B (zh) | 一种表单设计方法与装置、终端设备以及存储介质 | |
CN109118447B (zh) | 一种图片处理方法、图片处理装置及终端设备 | |
CN107766349B (zh) | 一种生成文本的方法、装置、设备及客户端 | |
CN110119733B (zh) | 书页识别方法及装置、终端设备、计算机可读存储介质 | |
CN111290684B (zh) | 图像显示方法、图像显示装置及终端设备 | |
CN114402369A (zh) | 人体姿态的识别方法、装置、存储介质及电子设备 | |
CN110377220B (zh) | 一种指令响应方法、装置、存储介质及电子设备 | |
WO2020125062A1 (zh) | 一种图像融合方法及相关装置 | |
CN110751218A (zh) | 图像分类方法、图像分类装置及终端设备 | |
CN107909368A (zh) | 支付控制方法及装置、终端及可读存储介质 | |
EP4254315A1 (en) | Image processing method and apparatus, image generation method and apparatus, device, and medium | |
CN109886781B (zh) | 基于绘画行为的产品推荐方法、装置、设备及存储介质 | |
CN114495146A (zh) | 图像文本检测方法、装置、计算机设备及存储介质 | |
CN108985215B (zh) | 一种图片处理方法、图片处理装置及终端设备 | |
CN111079771B (zh) | 点读图像的特征提取方法、系统、终端设备及存储介质 | |
CN111027533B (zh) | 一种点读坐标的变换方法、系统、终端设备及存储介质 | |
CN113313066A (zh) | 图像识别方法、装置、存储介质以及终端 | |
CN112506503A (zh) | 一种编程方法、装置、终端设备及存储介质 | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN108021648B (zh) | 一种搜题的方法、装置及智能终端 | |
CN114518859A (zh) | 显示控制方法、装置、电子设备及存储介质 | |
CN110221756B (zh) | 处理应用数据的方法、装置、终端及存储介质 | |
CN111931794A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |