CN113435530B - 图像识别方法、装置、计算机设备及计算机可读存储介质 - Google Patents
图像识别方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113435530B CN113435530B CN202110767757.3A CN202110767757A CN113435530B CN 113435530 B CN113435530 B CN 113435530B CN 202110767757 A CN202110767757 A CN 202110767757A CN 113435530 B CN113435530 B CN 113435530B
- Authority
- CN
- China
- Prior art keywords
- image
- region
- feature
- feature point
- point
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Abstract
本申请公开了图像识别方法、装置、计算机设备及计算机可读存储介质,属于计算机视觉技术领域。方法包括:获取第一图像,提取第一图像中的至少两个第一特征点,计算各个第一特征点的描述符。基于各个第一特征点的描述符,计算各个第一特征点对应的距离,各个第一特征点对应的距离均不大于阈值,第一图像和第二图像的分辨率不同。基于各个第一特征点对应的距离,从至少两个第一特征点中确定与第二特征点对应的第三特征点,基于第三特征点从第一图像中确定与第二图像匹配的区域。本申请在需要识别的第一图像与第二图像的分辨率不同的情况下,通过使得各个第一特征点的距离不大于阈值,提高了图像识别的准确率。
Description
技术领域
本申请涉及计算机视觉技术领域,特别涉及一种图像识别方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着计算机视觉技术的发展,图像识别所具备的功能也越来越多,从一张图像中识别出与另一张图像相匹配的区域便是其中一种功能。在两张图像的分辨率不同的情况下,如何保证识别的准确性,成为备受关注的问题。
发明内容
本申请实施例提供了一种图像识别方法、装置、计算机设备及计算机可读存储介质,以在图像分辨率不同的情况下提高图像识别的准确性。所述技术方案如下:
一方面,提供了一种图像识别方法,所述方法包括:
获取第一图像,提取所述第一图像中的至少两个第一特征点,计算各个第一特征点的描述符;
基于所述各个第一特征点的描述符,计算所述各个第一特征点对应的距离,所述各个第一特征点对应的距离均不大于阈值,任一第一特征点对应的距离为所述任一第一特征点与第二图像中的第二特征点之间的距离,所述第一图像和所述第二图像的分辨率不同;
基于所述各个第一特征点对应的距离,从所述至少两个第一特征点中确定与所述第二特征点对应的第三特征点,基于所述第三特征点从所述第一图像中确定与所述第二图像匹配的区域。
一方面,提供了一种图像识别装置,所述装置包括:
获取模块,用于获取第一图像,提取所述第一图像中的至少两个第一特征点,计算各个第一特征点的描述符;
计算模块,用于基于所述各个第一特征点的描述符,计算所述各个第一特征点对应的距离,所述各个第一特征点对应的距离均不大于阈值,任一第一特征点对应的距离为所述任一第一特征点与第二图像中的第二特征点之间的距离,所述第一图像和所述第二图像的分辨率不同;
确定模块,用于基于所述各个第一特征点对应的距离,从所述至少两个第一特征点中确定与所述第二特征点对应的第三特征点,基于所述第三特征点从所述第一图像中确定与所述第二图像匹配的区域。
在示例性实施例中,所述确定模块,用于基于所述第三特征点,通过随机抽样一致算法从所述第一图像中确定第一区域;从所述第一区域包括的第三特征点中确定第四特征点,基于所述第四特征点从所述第一区域中确定第二区域,所述第四特征点对应的距离小于距离阈值;基于所述第二区域包括的特征点确定与所述第二图像匹配的区域。
在示例性实施例中,所述第二区域的数量为多个,所述确定模块,用于响应于第三区域包括的特征点的数量大于数量阈值,基于所述第三区域包括的特征点确定与所述第二图像匹配的区域,所述第三区域为多个第二区域中包括最多特征点的区域。
在示例性实施例中,所述第二区域的数量为多个,所述确定模块,用于响应于第三区域包括的特征点的数量不大于数量阈值,从所述多个第二区域中确定与所述第三区域相交的第四区域,所述第三区域为所述多个第二区域中包括最多特征点的区域;基于所述第三区域包括的特征点和所述第四区域包括的特征点确定与所述第二图像匹配的区域。
在示例性实施例中,所述确定模块,用于按照距离对多个第四特征点进行排序,得到特征点序列;从距离最小的第四特征点开始,依次遍历所述特征点序列中的各个第四特征点,对于任一第四特征点,响应于第五区域中不包括所述任一第四特征点,则确定所述任一第四特征点对应的区域,所述第五区域为所述特征点序列中位于所述任一第四特征点之前的第四特征点对应的区域;将所确定的第四特征点对应的区域作为所述第二区域。
在示例性实施例中,所述获取模块,还用于获取所述第二图像,对所述第二图像进行缩放处理,得到至少两个第三图像,所述缩放处理包括缩小处理和放大处理中的至少一种处理,所述至少两个第三图像中不同第三图像的分辨率不同;提取所述第二图像和至少两个第三图像中的第五特征点,基于所述第五特征点确定所述第二图像中的所述第二特征点。
在示例性实施例中,所述获取模块,用于对所述第二图像进行高斯模糊处理,得到至少两个第四图像,所述至少两个第四图像中不同第四图像的模糊度不同;对所述至少两个第四图像进行所述缩放处理,得到所述至少两个第三图像;提取所述第二图像、所述至少两个第四图像和所述至少两个第三图像中的第五特征点。
在示例性实施例中,所述获取模块,用于对于任一第一特征点,获得所述任一第一特征点的坐标、角度和块尺寸;基于比例系数以及所述任一第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,得到至少两个第二盒子信息,任一第二盒子信息包括一对中心点坐标、半径和参考阈值,所述一对中心点坐标和所述半径用于指示所述任一第二盒子信息对应的一对盒子;对于任一第二盒子信息,确定所述任一第二盒子信息对应的一对盒子在所述第一图像中对应的一对区域,确定所述一对区域的像素平均灰度值之间的差值,对比所述差值和所述参考阈值得到所述任一第二盒子信息对应的数值,所述数值为零或一,所述至少两个第二盒子信息对应至少两个数值;基于所述至少两个数值生成二进制数组,将所述二进制数组作为所述任一第一特征点的描述符。
在示例性实施例中,所述获取模块,还用于响应于所述任一第一特征点位于所述第一图像的图像边缘,基于所述块尺寸对所述任一第一特征点的坐标进行校正,得到所述任一第一特征点校正后的坐标;所述获取模块,用于基于比例系数以及所述任一第一特征点的校正后的坐标、角度和块尺寸更新所述至少两个第一盒子信息。
在示例性实施例中,所述角度基于参考系数计算得到,所述参考系数基于所述比例系数、所述第二特征点的数量和所述至少两个第一盒子信息确定。
在示例性实施例中,所述获取模块,用于响应于所述差值不大于所述参考阈值,则所述任一第二盒子信息对应的数值为第一值;响应于所述差值大于所述参考阈值,则所述任一第二盒子信息对应的数值为第二值。
一方面,提供了一种计算机设备,所述计算机设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使计算机设备实现本申请的任一种示例性实施例所提供的图像识别方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以使计算机实现本申请的任一种示例性实施例所提供的图像识别方法。
另一方面,提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括:计算机指令,所述计算机指令被计算机执行时,使得所述计算机实现本申请的任一种示例性实施例所提供的图像识别方法。
本申请实施例所提供的技术方案带来的有益效果至少包括:
本申请实施例在需要识别的第一图像与第二图像的分辨率不同的情况下,通过使得各个第一特征点的距离不大于阈值,提高了从第一图像中确定的与第二图像匹配的区域的准确度,从而提高了图像识别的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种实施环境的示意图;
图3是本申请实施例提供的一种图像识别方法的流程图;
图4是本申请实施例提供的一种图像识别过程的示意图;
图5是本申请实施例提供的一种图像识别的方法的流程示意图;
图6是本申请实施例提供的一种图像识别过程的示意图;
图7是本申请实施例提供的一种缩放处理的示意图;
图8是本申请实施例提供的一种图像识别过程的示意图;
图9是本申请实施例提供的一种图像识别过程的示意图;
图10是本申请实施例提供的一种图像识别过程的示意图;
图11是本申请实施例提供的一种图像识别过程的示意图;
图12是本申请实施例提供的一种图像识别过程的示意图;
图13是本申请实施例提供的一种运维模块的运行示意图;
图14是本申请实施例提供的一种运维模块的运行示意图;
图15是本申请实施例提供的一种图像识别的逻辑流程图;
图16是本申请实施例提供的一种图像识别过程的示意图;
图17是本申请实施例提供的一种图像识别过程的示意图;
图18是本申请实施例提供的一种图像识别过程的示意图;
图19是本申请实施例提供的一种图像识别过程的示意图;
图20是本申请实施例提供的一种图像识别方法的结构示意图;
图21是本申请实施例提供的一种电子设备的结构示意图;
图22是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
AI(Artificial Intelligence,人工智能)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
CV(Computer Vision,计算机视觉技术)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供了一种图像识别方法,该方法可应用于如图1所示的实施环境中。图1中,包括至少一个电子设备11和服务器12,电子设备11可与服务器12进行通信连接,以从服务器12上下载用于进行图像识别的程序,基于该程序进行图像识别。
另外,本申请实施例提供的图像识别方法还可应用于图2所示的实施环境中。图2中,包括依次通信连接的电子设备21、推流服务器22和云服务器23,云服务器23中包括用于进行图像识别的程序。
图2所示的实施环境可以作为一种示例性的云游戏架构。其中,云服务器23包括板卡或容器,游戏安装于板卡或容器上。云服务器23通过图像识别过程启动游戏,所识别的图像是通过截图得到的。在启动游戏之后,将游戏运行所产生的多媒体流发送至推流服务器22,推流服务器22将多媒体流转发至电子设备21中的APP(Application,客户端)或HTML(Hyper Text Markup Language,超文本标记语言)5(简称H5),由对多媒体流进行解码播放。另外,APP或H5采集用户针对多媒体流的操作指令并发送至推流服务器22,推流服务器22将操作指令转发至云服务器23。云服务器23基于操作指令对游戏进行控制,所进行的控制例如为点击、滑动和结束游戏等等。游戏根据控制继续运行产生新的多媒体流,云服务器23的新的多媒体流通过推流服务器22转发至电子设备21中的APP或H5,APP或H5继续对新的多媒体流进行解码播放。通过此种机制,使得电子设备21无需安装游戏,仅需具备基本的解码播放能力即可为用户提供游戏功能,实现游戏功能,该过程也称为云游戏过程。
在一些实施方式中,云服务器23包括图像识别服务器和控制服务器,图像识别服务器用于执行上述截图及图像识别过程,控制服务器用于指示上述控制过程。
示例性地,电子设备11和电子设备21可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、掌上电脑PPC(Pocket PC)、平板电脑、智能车机、智能电视、智能音箱等。
服务器12、推流服务器22和云服务器23可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
本领域技术人员应能理解上述电子设备11、服务器12、电子设备21、推流服务器22和云服务器23仅为举例,其他现有的或今后可能出现的电子设备或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
基于上述图1所示的实施环境,参见图3,本申请实施例提供了一种图像识别方法,该方法可应用于图1所示的电子设备中,或者应用于图2所示的云服务器中。示例性地,该方法可以由图1所示的电子设备或者图2所示的云服务器执行。或者,还可以训练得到DNN(Deep Neural Networks,深度神经网络)模型,在图1所示的电子设备或者图2所示的云服务器中运行该DNN模型,从而由该DNN模型执行本实施例所提供的方法。如图3所示,该方法包括如下的步骤。
301,获取第一图像,提取第一图像中的至少两个第一特征点,计算各个第一特征点的描述符。
其中,第一图像是需要进行识别的图像,第二图像是作为模板的图像。对第一图像进行识别的目的在于:从第一图像中确定与第二图像匹配的区域。例如,参见图4,图4的左侧示出了第二图像,图4的右侧示出了第一图像。在本实施例中,第一图像与第二图像的分辨率不同。示例性地,第一图像的分辨率高于第二图像,或者第一图像的分辨率低于第二图像。
示例性地,本实施例中通过特征点检测器提取第一图像中的至少两个第一特征点,特征点检测器包括但不限于:应用FAST(Features from Accelerated Segment Test,加速分割测试特征)算法和BRIEF(Binary Robust Independent Elementary Features,二进制的鲁棒独立基本特征)算法的ORB(Oriented FAST and Rotated BRIEF,定向FAST及旋转BRIEF)、SIFT(Scale-invariant Feature Transform,尺度不变特征变换)、SURF(Speeded Up Ro-bust Features,加速鲁棒特征)和AKAZE(Accelerated KAZE,加速的KAZE)。
参见图5,在提取第一图像中的至少两个第一特征点之后,本实施例计算各个第一特征点的描述符。在示例性实施例中,本实施例基于OpenCV(Open Source ComputerVision Library,开源的计算机视觉库)所提供的BEBLID(Boosted Efficient BinaryLocal Image Descriptor,快速局部图像特征描述符)计算各个第一特征点的描述符,BEBLID能够将图像识别过程所需的时间降低10%-20%,有利于提高图像识别速度。以一个第一特征点为例,计算该第一特征点的描述符,包括如下的步骤3011-3014。
3011,获得第一特征点的坐标、角度和块尺寸。
其中,第一特征点的坐标指示了第一特征点在第一图像中的位置。第一特征点在第一图像中的位置对应有像素,响应于该像素存在偏移,则将该像素的偏移角度作为第一特征点的角度。例如,第一图像上包括一本倾斜放置的书,由于这本书是倾斜放置的,因而用于表示这本倾斜放置的书的像素存在偏移。响应于第一特征点对应的像素是用于表示这本倾斜放置的书的像素,则将该像素的偏移角度作为第一特征点的角度。响应于该像素不存在偏移,则第一特征点的角度为例。例如,第一图像上包括一本正面放置的书,则用于表示这本正面放置的书的像素不存在偏移。第一特征点对应的块(patch)是以特征点为中心点的一块区域,通过第一特征点的坐标和块尺寸,能够确定第一特征点对应的块。
在示例性实施例中,角度基于参考系数计算得到,参考系数基于比例系数(scalefactor)、第二特征点的数量和至少两个第一盒子信息确定。其中,第二特征点是从第二图像中提取得到的特征点,提取第二特征点的方式参见后文303中的说明。比例系数为浮点值。示例性地,相关技术中比例系数的值为6.25至6.75,而本实施例中比例系数的值为1.0。而对于第一盒子信息,本实施例中第一盒子信息的数量可以根据实际需求确定,第一盒子信息的数量例如为256个或者512个。一个第一盒子信息中包括一对中心点坐标,一个半径和一个参考阈值。通过一对中心点坐标和一个半径能够确定该第一盒子信息对应的一对尺寸相同的盒子(box)。在确定参考系数的过程中,各个第一盒子信息中的各对盒子的尺寸。另外,将一对盒子映射于任一图像中,则可以在图像中得到这对盒子对应的一对区域,这对区域的作用以参见下文3012,第一盒子信息中参考阈值的作用参见下文3013。
在示例性实施例中,方法还包括:响应于第一特征点位于第一图像的图像边缘,基于块尺寸对第一特征点的坐标进行校正,得到第一特征点校正后的坐标。其中,响应于第一特征点位于第一图像的图像边缘,则第一特征点对应的块可能超出第一图像的图像边缘。因此,需要基于块尺寸对第一特征点的坐标进行校正,使得以第一特征点校正后的坐标为中心的块不再超出第一图像的图像边缘。能够理解的是,与第一特征点的坐标相比,第一特征点校正后的坐标与第一图像的中心点的距离更近。
3012,基于比例系数以及第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,得到至少两个第二盒子信息,任一第二盒子信息包括一对中心点坐标、半径和参考阈值,一对中心点坐标和半径用于指示任一第二盒子信息对应的一对盒子。
如前所述,对于一个第一盒子信息而言,将该第一盒子信息对应的一对区域映射于任一图像中,则可以在图像中得到这对盒子对应的一对区域。由于需要识别的第一图像可能是任意尺寸的图像,因而上述映射得到的一对区域的尺寸可能与第一图像的尺寸不匹配。例如,在第一图像的尺寸较大的情况下,如果映射得到的一对区域的尺寸较小,则这对区域仅能代表第一图像中的一小部分,导致后续确定出的第一特征点的描述符不够准确。又例如,在第一图像的尺寸较小的情况下,如果映射得到的一对区域的尺寸较大,则这对区域可能超出第一图像的图像边缘,导致难以确定出第一特征点的描述符。
因此,在映射得到的一对区域的尺寸与第一图像的尺寸不匹配的情况下,需要对第一盒子信息中的一对中心点坐标和一个半径中的至少一个进行更新,还可以对第一盒子信息中的参考阈值进行更新,从而得到适用于第一图像的第二盒子信息。第一盒子信息与第二盒子信息的数量相同,例如第一盒子信息的数量为256个,则第二盒子信息的数量也为256个。能够理解的是,第二盒子信息中包括的一对中心点坐标和一个半径指示了第二盒子信息对应的一对尺寸相同的盒子。其中,比例系数越大,则第二盒子信息对应的一对盒子的尺寸也越大,也即是第二盒子信息对应的一对盒子的尺寸与比例系数正相关。将第二盒子信息对应的一对盒子映射于第一图像中,所得到的一对区域的尺寸与第一图像的尺寸相匹配。另外,第二盒子信息中也包括参考阈值。
在示例性实施例中,对于3011中对第一特征点的坐标进行了校正的情况,基于比例系数以及第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,包括:基于比例系数以及第一特征点的校正后的坐标、角度和块尺寸更新至少两个第一盒子信息。其中,更新至少两个第一盒子信息的方式与上文说明中的相同,此处不再进行赘述。
3013,对于一个第二盒子信息,确定该第二盒子信息对应的一对盒子在第一图像中对应的一对区域,确定一对区域的像素平均灰度值之间的差值,对比差值和参考阈值得到该第二盒子信息对应的数值,数值为零或一,至少两个第二盒子信息对应至少两个数值。
将第二盒子信息对应的一对盒子映射于第一图像中,能够得到该对盒子对应的一对区域。一个区域中包括至少一个像素,像素具有灰度值,因而能够计算得到该区域中包括的像素所具有的灰度值的平均值,从而得到该区域的像素平均灰度值。之后,针对该对区域中两个区域的像素平均灰度值做差,即可得到这对区域的像素平均灰度值之间的差值,该差值也称为响应函数的值。
在示例性实施例中,对比差值和参考阈值得到任一第二盒子信息对应的数值,包括:响应于差值不大于参考阈值,则该第二盒子信息对应的数值为第一值。响应于差值大于参考阈值,则该第二盒子信息对应的数值为第二值。示例性地,本实施例中第一值为一,第二值为零。其中,参考阈值是指第二盒子信息中包括的参考阈值。
根据以上说明可知,基于一个第二盒子信息能够确定出一个数值。则基于至少两个第二盒子信息能够确定出至少两个数值。以第二盒子信息的数量为256个为例,则能够确定256个数值。
3014,基于至少两个数值生成二进制数组,将二进制数组作为第一特征点的描述符。
其中,由于各个数值均为零或一,因而基于至少两个数值能够生成二进制数组,该二进制数组即为第一特征点的描述符。示例性地,基于至少两个数值生成二进制数组,包括:在至少两个数值中,每隔参考数量个数值保留一个数值,将所保留的数值作为二进制数组。以数值的数量为256、参考数量为8为例,则在256个数值中每隔8个数值保留一个数值,所保留的数值共计32个。之后,将所保留的32个数据作为二进制数值,从而得到第一特征点的描述符。
302,基于各个第一特征点的描述符,计算各个第一特征点对应的距离,各个第一特征点对应的距离均不大于阈值,任一第一特征点对应的距离为任一第一特征点与第二图像中的第二特征点之间的距离。
其中,第二图像中的第二特征点也具有描述符,第二特征点的描述符例如是通过SURF计算得到的描述符,本实施例不对确定第二特征点的描述符的方式加以限定。基于一个第一特征点的描述符和一个第二特征点的描述符,能够确定该第一特征点与该第二特征点之间的距离,距离越小则说明第一特征点与第二特征点的相似程度越高。示例性地,第二图像中的第二特征点的数量为多个,第一特征点对应的距离包括:第一特征点与多个第二特征点中的各个第二特征点之间的距离。
需要说明的是,相关技术中在计算第一特征点的描述符时,将比例系数取为6.25-6.75,此种情况下第一特征点对应的距离位于28-400之间,28-400这一数量级的距离所处的区间较大。在后续从第一特征点中确定出与第二特征点对应的第三特征点之后,第三特征点的距离也较大,不利于后续判断第三特征点的好坏。而在本实施例中,由于计算第一特征点的描述符时将比例系数取为1.0,因而使得第一特征点对应的距离不大于阈值。示例性地,该阈值为一。则第一特征点对应的距离不大于一,也即是位于0.0-1.0之间。由于0.0-1.0这一数量级的距离所处的区间较小,因而有利于后续对第三特征点的好坏进行判断。
示例性地,参见图6,图6示出了第一图像与第二图像的分辨率不同的情况下,采用BEBLID算法计算特征点的描述符所能得到的图像识别结果,以及采用SURF算法计算特征点的描述符所能得到的图像识别结果。能够看出,SURF算法对应的图像识别结果好于BEBLID算法对应的图像识别结果。因此,需要在图像识别过程中进行算法补偿,以便于优化本实施例所得到的图像识别结果。
能够理解的是,第二图像中的第二特征点是通过提取得到的。考虑到第二特征点的数量越多则进行图像识别的准确率越高,因而本实施例还提供如下的方式,用于在第二图像中提取出较多数量的第二特征点,从而提高BEBLID算法对应的图像识别结果的准确度。示例性实施例中,计算各个第一特征点对应的距离之前,方法还包括如下的3021和3022。
3021,获取第二图像,对第二图像进行缩放处理,得到至少两个第三图像,缩放处理包括缩小处理和放大处理中的至少一种处理,至少两个第三图像中不同第三图像的分辨率不同。
其中,缩小处理也称为向下取样,放大处理也称为向上取样。通过对第二图像的缩放处理能够得到至少两个第三图像,第二图像和第三图像能够形成如图7所示的金字塔(Octave),第二图像和第三图像为该金字塔中不同层(layer)的图像。至少两个第三图像中不同第三图像的分辨率不同,且各个第三图像均与第二图像的分辨率不同。其中,缩放处理对第二特征点的数量所产生的影响参见如下的表1。相比于采用两个金字塔、每个金字塔三层图像但不进行缩放的采样方式,以及采用四个金字塔、每个金字塔三层图像但不进行缩放的采样方式,本申请实施例采用一个金字塔、每个金字塔三层图像且进行缩放的采样方式不仅能够从第二图像中提取出更多数量的第二特征点,还能够缩短图像识别的耗时。
表1
采样方式 | 第二特征点数量 | 图像识别耗时 |
SURF2-3未缩放采样 | 12 | 47毫秒 |
SURF4-3未缩放采样 | 14 | 78毫秒 |
SURF1-3缩放采样 | 30 | 48毫秒 |
在示例性实施例中,对第二图像进行缩放处理,得到至少两个第三图像,包括:对第二图像进行高斯模糊处理,得到至少两个第四图像。对至少两个第四图像进行缩放处理,得到至少两个第三图像的方式与上文说明中的相同,此处不再进行赘述。需要说明的是,一个第四图像对应一个金字塔,因而在该实施例中能够获得至少两个金字塔,也就是说所进行的高斯模糊处理会增加金字塔的数量。
示例性地,参见图5,由图5可知在计算第一特征点的描述符之后,后续还需要通过匹配过程才能得到图像识别结果。在一些实施方式中,匹配方式包括FLANN(Fast Libraryfor Approximate Nearest Neighbors,快速近似近邻算法库)或者BFMatcher(BruteForce Matcher,暴力匹配器)。示例性地,本实施例中根据所采用的匹配方式确定是否需要对第二图像进行高斯模糊处理。例如,响应于采用FLANN的匹配方式,则对第二图像进行高斯模糊处理。响应于采用BFMatcher的匹配方式,则不对第二图像进行高斯模糊处理。参见表2,使用此种方式的原因在于:金字塔数量较少时,使用BFMatcher的匹配速度快于使用FLANN的匹配速度。由于对第二图像进行的高斯模糊处理会增加金字塔的数量,因而在使用FLANN时再对第二图像进行高斯模糊处理,从而使得FLANN能够在金字塔数量较多的场景下进行匹配,有利于加快匹配速度。
表2
采样方式 | 匹配器 | 第二特征点数量 | 图像识别耗时 |
SURF2-3未缩放采样 | FLANN | 14 | 48毫秒 |
SURF2-3未缩放采样 | BFMatcher | 14 | 47毫秒 |
SURF1-3缩放采样 | FLANN | 30 | 47毫秒 |
SURF1-3缩放采样 | BFMatcher | 30 | 31毫秒 |
其中,通过对第二图像进行高斯模糊处理,能够得到模糊度不同的第四图像。高斯模糊处理用于仿真人眼在不同距离观察同一物体具有不同模糊度的现象。另外,对至少两个第四图像进行缩放处理的方式与上文说明中的相同,此处不再进行赘述。示例性地,在对第二图像进行高斯模糊处理之后,本实施例还可以进一步进行其他处理,例如平滑处理,以提高图像识别的准确率。
3022,提取第二图像和至少两个第三图像中的第五特征点,基于第五特征点确定第二图像中的第二特征点。
其中,本实施例分别对第二图像和各个第三图像进行特征点提取,例如通过SURF方式进行特征点提取,从而得到第五特征点。之后,基于第五特征点确定第二图像中的第二特征点,包括:对第五特征点进行合并去重,得到第二图像中的第二特征点。
在示例性实施例中,对于对第二图像进行高斯模糊处理得到至少两个第四图像的情况,相应地,提取第二图像和至少两个第三图像中的第五特征点,包括:提取第二图像、至少两个第四图像和至少两个第三图像中的第五特征点。其中,提取第五特征点的方式与上文说明中的相同,此处不再进行赘述。
通过3021和3022中说明的方式对BEBLID进行算法补偿,能够提高图像识别的准确率。例如,参见图8,图8示出了在BEBLID算法的基础上采用3021和3022进行算法补偿所能得到的图像识别结果,该图像识别结果优于图6示出两个图像识别结果。
303,基于各个第一特征点对应的距离,从至少两个第一特征点中确定与第二特征点对应的第三特征点。
参见图5,从第一特征点中确定与第二特征点对应的第三特征点的过程也称为特征点匹配。如前所述,第一特征点对应的距离包括:第一特征点与多个第二特征点中的各个第二特征点之间的距离。针对于一个第二特征点,通过FLANN或者BFMatcher的匹配方式,能够基于各个第一特征点对应的距离确定出与该第二特征点距离最小的一个第一特征点,从而能够将与该第二特征点距离最小的一个第一特征点作为第三特征点,该第三特征点与该第二特征点相对应,该第三特征点与对应的第二特征点之间的距离即为该第三特征点对应的距离。在第二特征点的数量为多个的情况下,按照此种方式确定各个第二特征点对应的第三特征点即可。
通过上述301-303中说明的方案,能够增加基于BEBLID确定的第三特征点的数量。参见表3,表3示出了在不同分辨率的第一图像中,基于SURF和基于BEBLI分别计算第一特征点的描述符之后,从第一特征点中获得的第三特征点的数量以及图像识别耗时。能够看出,基于BEBLID计算描述符后所能获得的第三特征点的数量大于基于SURF计算描述符后所能获得的第三特征点的数量,且基于BEBLID计算描述符之后图像识别的耗时更短、图像识别速度更快。
表3
第一图像分辨率 | 描述符计算方法 | 第三特征点个数 | 耗时 |
720×960 | SURF | 33 | 62毫秒 |
720×960 | BEBLID | 129 | 47毫秒 |
720×1280 | SURF | 50 | 78毫秒 |
720×1280 | BEBLID | 50 | 47毫秒 |
304,基于第三特征点从第一图像中确定与第二图像匹配的区域。
在示例性实施例中,基于第三特征点从第一图像中确定与第二图像匹配的区域,包括如下的步骤3041-3043。
3041,基于第三特征点,通过RANSAC(Random sample consensus,随机抽样一致算法)从第一图像中确定第一区域。
其中,通过RANSAC能够从第一图像中剔除存在错误的区域,从而保留较为准确的第一区域。如果不采用RANSAC,则可能导致后续确定出的与第二图像匹配的区域与实际的第二图像不符或者存在偏移。示例性地,本实施例在第三特征点中随机抽取至少两个不同的子集,一个子集中包括至少一个第三特征点。之后,根据至少两个子集确定至少两个子区域,子集与子区域一一对应。示例性地,根据一个子集确定一个子区域的方式,包括:基于该子集中包括的第三特征点确定子区域,使得该子集中包括的所有第三特征点均位于所确定的子区域中。接着,根据该子集中包括的各个第三特征点对应的距离确定该子集对应的分值。该子集中包括的第三特征点对应的距离越小,则该子集对应的分值越高,因而可将至少两个子区域中分值最高的一个子区域作为第一区域。参见图9,图9示出了通过RANSAC算法从第一图像中确定出的第一区域。
3042,从第一区域包括的第三特征点中确定第四特征点,基于第四特征点从第一区域中确定第二区域,第四特征点对应的距离小于距离阈值。
其中,本实施例提供距离阈值,该距离阈值为0-1之间的数值,用于判断第三特征点的好坏。示例性地,响应于一个第三特征点对应的距离小于距离阈值,则说明该第三特征点较好,从而将该第三特征点作为第四特征点。或者,响应于该第三特征点对应的距离不小于距离阈值,则说明该第三特征点较差。
在示例性实施例中,第四特征点的数量为多个,基于第四特征点从第一区域中确定第二区域,包括:按照距离对多个第四特征点进行排序,得到特征点序列。从距离最小的特征点开始,依次遍历特征点序列中的各个第四特征点,对于任一第四特征点,响应于第五区域中不包括任一第四特征点,则确定任一第四特征点对应的区域,第五区域为特征点序列中位于任一第四特征点之前的第四特征点对应的区域。将所确定的第四特征点对应的区域作为第二区域。
其中,本实施例可以按照由小到大或者由大到小的顺序对第四特征点进行排序,从而得到特征点序列。对于特征点序列中的第一个第四特征点,也就是距离最小的第四特征点,由于特征点序列中不包括位于第一个第四特征点之前的其他第四特征点,因而可直接确定第一个第四特征点对应的区域。示例性地,该区域是以第一个第四特征点为中心点、比例与第二图像相同且尺寸小于第二图像的区域。例如,该区域的长为第二图像的长的1/4,该区域的宽为第二图像的宽的1/4。对于特征点序列中后续的其他第四特征点,响应于一个其他第四特征点不位于之前的第四特征点对应的区域中,则确定该其他第四特征点自身对应的区域。或者,响应于该其他第四特征点位于之前的第四特征点对应的区域中,则不确定该其他第四特征点对应的区域。按照此种方式依次遍历特征点序列中的各个第四特征点,能够确定至少一个第四特征点对应的区域,从而将所确定的第四特征点对应的区域作为第二区域。参见图10,图10示出了一种示例性的第二区域,该第二区域包括四个第四特征点对应的区域。
以特征点序列中包括四个第四特征点为例,首先确定第一个第四特征点对应的区域A。之后,第二个第四特征点位于区域A中,则不确定第二个第四特征点对应的区域。接着,第三个第四特征点不位于区域A中,则确定第三个第四特征点对应的区域B。最后,第四个第四特征点不位于区域A和区域B中,则确定第四个第四特征点对应的区域C,从而将区域A、B和C作为第二区域。
3043,基于第二区域包括的特征点确定与第二图像匹配的区域。
其中,第二区域包括的特征点中,包括第四特征点,还可能包括第三特征点中除第四特征点之外的其他特征点。在示例性实施例中,对于第二区域的数量为多个的情况,基于第二区域包括的特征点确定与第二图像匹配的区域,包括如下的两种方式。
方式一:响应于第三区域包括的特征点的数量大于数量阈值,基于第三区域包括的特征点确定与第二图像匹配的区域,第三区域为多个第二区域中包括最多特征点的区域。其中,在得到包括最多特征点的第三区域之后,如果该第三区域包括的特征点的数量大于数量阈值,则说明第三区域包括的特征点数量足够,因而直接基于第三区域包括的特征点确定与第二图像匹配的区域即可。参见图11,图11示出了一种示例性的第三区域。示例性地,基于第三区域包括的特征点确定与第二图像匹配的区域,包括:确定第三区域包括的特征点的外接矩形,将该外接矩形作为与第二图像匹配的区域。另外,本实施例不对数量阈值加以限定,数量阈值可根据实际情况确定。
方式二:响应于第三区域包括的特征点的数量不大于数量阈值,从多个第二区域中确定与第三区域相交的第四区域,第三区域为多个第二区域中包括最多特征点的区域。基于第三区域包括的特征点和第四区域包括的特征点确定与第二图像匹配的区域。如果该第三区域包括的特征点的数量不大于数量阈值,则从多个第二区域中确定与第三区域相交的第四区域。其中,对于除第三区域以外的一个第二区域而言,响应于该第二区域的角点位于第三区域中,或者第三区域的角点位于该第二区域中,则说明该第二区域与第三区域相交,可以将该第二区域作为与第三区域相交的第四区域。例如,参见图11,图11示出了第三区域以及与第三区域相交的两个第四区域。在确定第四区域之后,基于第三区域包括的特征点和第四区域包括的特征点确定与第二图像匹配的区域即可。参见图12,与第二图像匹配的区域例如为第三区域包括的特征点和第四区域包括的特征点的外接矩形。
综上所述,本实施例在需要识别的第一图像与用于作为模板的第二图像的分辨率不同的情况下,通过使得各个第一特征点的距离不大于阈值,提高了从第一图像中确定的与第二图像匹配的区域的准确度,从而提高了图像识别的准确率。另外,本实施例提供的方案还减少了图像识别的耗时,提高了图像识别效率。将本实施例提供的图像识别方法应用于需要进行图像识别的云游戏场景中时,由于图像识别效率较高,因而有利于降低游戏时延,提高了用户体验。
以上,介绍了本申请实施例提供的图像识别方法。接下来,以应用于云游戏场景为例,对云服务器执行本申请实施例提供的图像识别方法进行说明。
参见图13,云服务器中运行了运维模块,该运维模块集成了图像识别功能和控制功能,图像识别功能用于对游戏进行截图并进行图像识别,控制功能用于对游戏进行点击、滑动、结束游戏等控制操作。由图13可知,运维模块中的逻辑控制模块以XML(ExtensibleMarkup Language,可扩展标记语言)文件为依据,实现上述图像识别功能和控制功能。
其中,如图14所示,XML文件描述了逻辑,逻辑包括但不限于进行图像识别的逻辑以及图像识别成功或失败时所需执行的控制操作,所描述的逻辑可能具有对应的参数。运维模块使用C++语言开发,运维模块读取并解析XML文件对应的脚本,从而根据脚本进行图像识别,并根据图像识别结果执行相应的控制操作。
参见表4,表4示出了XML文件中用于描述逻辑的各个节点。能够理解的是,表4中示出的节点仅为举例,不用于对本申请实施例造成限定。除了表4中示出的节点以外,XML文件中还可以包括其他节点。
表4
/>
参见图15,图15示出了一种示例性的匹配流程。对于步骤1,响应于步骤1的图像识别结果为true,则进入步骤2,反之则进入falsecase 1、2或4(图15中示为异常1、异常2和异常4)。进入步骤2之后,响应于步骤2的图像识别结果为true,则进入步骤3,反之则进入falseCase 3或4(图15中示为异常3和异常4)。在步骤3中,响应于图像识别结果为true,则完成匹配流程,反之则进入falsecase 4(图15中示为异常4)。基于图15能够看出,一些异常处理是某个步骤独有的,而一些异常处理是各个步骤共用的。例如,异常1和异常2是步骤1独有的,异常3是步骤2独有的。而异常4是步骤1、2和3共用的。
接下来,通过示例性的两个XML文件,对XML文件描述逻辑的方式进行说明。
XML文件一:
/>
XML文件二:
/>
本申请实施例提供了一种图像识别装置,参见图20,该装置包括:
获取模块2001,用于获取第一图像,提取第一图像中的至少两个第一特征点,计算各个第一特征点的描述符;
计算模块2002,用于基于各个第一特征点的描述符,计算各个第一特征点对应的距离,各个第一特征点对应的距离均不大于阈值,任一第一特征点对应的距离为任一第一特征点与第二图像中的第二特征点之间的距离,第一图像和第二图像的分辨率不同;
确定模块2003,用于基于各个第一特征点对应的距离,从至少两个第一特征点中确定与第二特征点对应的第三特征点,基于第三特征点从第一图像中确定与第二图像匹配的区域。
在示例性实施例中,确定模块2003,用于基于第三特征点,通过随机抽样一致算法从第一图像中确定第一区域;从第一区域包括的第三特征点中确定第四特征点,基于第四特征点从第一区域中确定第二区域,第四特征点对应的距离小于距离阈值;基于第二区域包括的特征点确定与第二图像匹配的区域。
在示例性实施例中,第二区域的数量为多个,确定模块2003,用于响应于第三区域包括的特征点的数量大于数量阈值,基于第三区域包括的特征点确定与第二图像匹配的区域,第三区域为多个第二区域中包括最多特征点的区域。
在示例性实施例中,第二区域的数量为多个,确定模块2003,用于响应于第三区域包括的特征点的数量不大于数量阈值,从多个第二区域中确定与第三区域相交的第四区域,第三区域为多个第二区域中包括最多特征点的区域;基于第三区域包括的特征点和第四区域包括的特征点确定与第二图像匹配的区域。
在示例性实施例中,确定模块2003,用于按照距离对多个第四特征点进行排序,得到特征点序列;从距离最小的第四特征点开始,依次遍历特征点序列中的各个第四特征点,对于任一第四特征点,响应于第五区域中不包括任一第四特征点,则确定任一第四特征点对应的区域,第五区域为特征点序列中位于任一第四特征点之前的第四特征点对应的区域;将所确定的第四特征点对应的区域作为第二区域。
在示例性实施例中,获取模块2001,还用于获取第二图像,对第二图像进行缩放处理,得到至少两个第三图像,缩放处理包括缩小处理和放大处理中的至少一种处理,至少两个第三图像中不同第三图像的分辨率不同;提取第二图像和至少两个第三图像中的第五特征点,基于第五特征点确定第二图像中的第二特征点。
在示例性实施例中,获取模块2001,用于对第二图像进行高斯模糊处理,得到至少两个第四图像,至少两个第四图像中不同第四图像的模糊度不同;对至少两个第四图像进行缩放处理,得到至少两个第三图像;提取第二图像、至少两个第四图像和至少两个第三图像中的第五特征点。
在示例性实施例中,获取模块2001,用于对于任一第一特征点,获得任一第一特征点的坐标、角度和块尺寸;基于比例系数以及任一第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,得到至少两个第二盒子信息,任一第二盒子信息包括一对中心点坐标、半径和参考阈值,一对中心点坐标和半径用于指示任一第二盒子信息对应的一对盒子;对于任一第二盒子信息,确定任一第二盒子信息对应的一对盒子在第一图像中对应的一对区域,确定一对区域的像素平均灰度值之间的差值,对比差值和参考阈值得到任一第二盒子信息对应的数值,数值为零或一,至少两个第二盒子信息对应至少两个数值;基于至少两个数值生成二进制数组,将二进制数组作为任一第一特征点的描述符。
在示例性实施例中,获取模块2001,还用于响应于任一第一特征点位于第一图像的图像边缘,基于块尺寸对任一第一特征点的坐标进行校正,得到任一第一特征点校正后的坐标;获取模块2001,用于基于比例系数以及任一第一特征点的校正后的坐标、角度和块尺寸更新至少两个第一盒子信息。
在示例性实施例中,角度基于参考系数计算得到,参考系数基于比例系数、第二特征点的数量和至少两个第一盒子信息确定。
在示例性实施例中,获取模块2001,用于响应于差值不大于参考阈值,则任一第二盒子信息对应的数值为第一值;响应于差值大于参考阈值,则任一第二盒子信息对应的数值为第二值。
综上所述,本实施例在需要识别的第一图像与用于作为模板的第二图像的分辨率不同的情况下,通过使得各个第一特征点的距离不大于阈值,提高了从第一图像中确定的与第二图像匹配的区域的准确度,从而提高了图像识别的准确率。另外,本实施例提供的方案还减少了图像识别的耗时,提高了图像识别效率。将本实施例提供的图像识别方法应用于需要进行图像识别的云游戏场景中时,由于图像识别效率较高,因而有利于降低游戏时延,提高了用户体验。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图21,其示出了本申请实施例提供的一种电子设备2100的结构示意图。该电子设备2100可以是便携式移动电子设备,比如:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备2100还可能被称为用户设备、便携式电子设备、膝上型电子设备、台式电子设备等其他名称。
通常,电子设备2100包括有:处理器2101和存储器2102。
处理器2101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)所组成的群组中的至少一种硬件形式来实现。处理器2101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏2105所需要显示的内容的渲染和绘制。一些实施例中,处理器2101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器2102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2101所执行以实现本申请中方法实施例提供的图像识别方法。
在一些实施例中,电子设备2100还可选包括有:外围设备接口2103和至少一个外围设备。处理器2101、存储器2102和外围设备接口2103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2103相连。具体地,外围设备包括:射频电路2104、显示屏2105、摄像头组件2106、音频电路2107、定位组件2108和电源2109所组成的群组中的至少一种。
外围设备接口2103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器2101和存储器2102。在一些实施例中,处理器2101、存储器2102和外围设备接口2103被集成在同一芯片或电路板上;在一些其他实施例中,处理器2101、存储器2102和外围设备接口2103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路2104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路2104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2104可以通过至少一种无线通信协议来与其它电子设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或Wi-Fi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路2104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏2105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2105是触摸显示屏时,显示屏2105还具有采集在显示屏2105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2101进行处理。此时,显示屏2105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2105可以为一个,设置在电子设备2100的前面板;在另一些实施例中,显示屏2105可以为至少两个,分别设置在电子设备2100的不同表面或呈折叠设计;在另一些实施例中,显示屏2105可以是柔性显示屏,设置在电子设备2100的弯曲表面上或折叠面上。甚至,显示屏2105还可以设置成非矩形的不规则图形,也即异形屏。显示屏2105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件2106用于采集图像或视频。可选地,摄像头组件2106包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路2107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2101进行处理,或者输入至射频电路2104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备2100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2101或射频电路2104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2107还可以包括耳机插孔。
定位组件2108用于定位电子设备2100的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件2108可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源2109用于为电子设备2100中的各个组件进行供电。电源2109可以是交流电、直流电、一次性电池或可充电电池。当电源2109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备2100还包括有一个或多个传感器2110。该一个或多个传感器2110包括但不限于:加速度传感器2111、陀螺仪传感器2112、压力传感器2113、指纹传感器2114、光学传感器2115以及接近传感器2116。
加速度传感器2111可以检测以电子设备2100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2111可以用于检测重力加速度在三个坐标轴上的分量。处理器2101可以根据加速度传感器2111采集的重力加速度信号,控制显示屏2105以横向视图或纵向视图进行用户界面的显示。加速度传感器2111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器2112可以检测电子设备2100的机体方向及转动角度,陀螺仪传感器2112可以与加速度传感器2111协同采集用户对电子设备2100的3D动作。处理器2101根据陀螺仪传感器2112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器2113可以设置在电子设备2100的侧边框和/或显示屏2105的下层。当压力传感器2113设置在电子设备2100的侧边框时,可以检测用户对电子设备2100的握持信号,由处理器2101根据压力传感器2113采集的握持信号进行左右手识别或快捷操作。当压力传感器2113设置在显示屏2105的下层时,由处理器2101根据用户对显示屏2105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件所组成的群组中的至少一种。
指纹传感器2114用于采集用户的指纹,由处理器2101根据指纹传感器2114采集到的指纹识别用户的身份,或者,由指纹传感器2114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2114可以被设置在电子设备2100的正面、背面或侧面。当电子设备2100上设置有物理按键或厂商Logo时,指纹传感器2114可以与物理按键或厂商Logo集成在一起。
光学传感器2115用于采集环境光强度。在一个实施例中,处理器2101可以根据光学传感器2115采集的环境光强度,控制显示屏2105的显示亮度。具体地,当环境光强度较高时,调高显示屏2105的显示亮度;当环境光强度较低时,调低显示屏21021的显示亮度。在另一个实施例中,处理器2101还可以根据光学传感器2115采集的环境光强度,动态调整摄像头组件2106的拍摄参数。
接近传感器2116,也称距离传感器,通常设置在电子设备2100的前面板。接近传感器2116用于采集用户与电子设备2100的正面之间的距离。在一个实施例中,当接近传感器2116检测到用户与电子设备2100的正面之间的距离逐渐变小时,由处理器2101控制显示屏2105从亮屏状态切换为息屏状态;当接近传感器2116检测到用户与电子设备2100的正面之间的距离逐渐变大时,由处理器2101控制显示屏2105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图21中示出的结构并不构成对电子设备2100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图22为本申请实施例提供的服务器的结构示意图,该服务器2200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)2201和一个或多个的存储器2202,其中,该一个或多个存储器2202中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器2201加载并执行以实现上述各个方法实施例提供的航线覆盖范围的确定方法。当然,该服务器2200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器2200还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例提供了一种计算机设备,计算机设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以使计算机设备实现本申请的任一种示例性实施例所提供的图像识别方法。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现本申请的任一种示例性实施例所提供的图像识别方法。
本申请实施例提供了一种计算机程序或计算机程序产品,计算机程序或计算机程序产品包括:计算机指令,计算机指令被计算机执行时,使得计算机实现本申请的任一种示例性实施例所提供的图像识别方法。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种图像识别方法,其特征在于,所述方法包括:
获取第一图像,提取所述第一图像中的至少两个第一特征点,计算各个第一特征点的描述符;
基于所述各个第一特征点的描述符,计算所述各个第一特征点对应的距离,所述各个第一特征点对应的距离均不大于阈值,任一第一特征点对应的距离为所述任一第一特征点与第二图像中的第二特征点之间的距离,所述第一图像和所述第二图像的分辨率不同;
基于所述各个第一特征点对应的距离,从所述至少两个第一特征点中确定与所述第二特征点对应的第三特征点,基于所述第三特征点,通过随机抽样一致算法从所述第一图像中确定第一区域;
从所述第一区域包括的第三特征点中确定多个第四特征点,按照距离对所述多个第四特征点进行排序,得到特征点序列,任一第四特征点对应的距离小于距离阈值;
从距离最小的第四特征点开始,依次遍历所述特征点序列中的各个第四特征点,对于所述距离最小的第四特征点,确定所述距离最小的第四特征点对应的区域,对于所述特征点序列中除所述距离最小的第四特征点之外的其他第四特征点,响应于第五区域中不包括所述其他第四特征点,则确定所述其他第四特征点对应的区域,所述第五区域为所述特征点序列中位于所述其他第四特征点之前的第四特征点对应的区域,所述任一第四特征点对应的区域以所述任一第四特征点为中心点、比例与所述第二图像相同且尺寸小于所述第二图像;
将所确定的第四特征点对应的区域作为第二区域;
基于所述第二区域包括的特征点确定与所述第二图像匹配的区域。
2.根据权利要求1所述的方法,其特征在于,所述第二区域的数量为多个,所述基于所述第二区域包括的特征点确定与所述第二图像匹配的区域,包括:
响应于第三区域包括的特征点的数量大于数量阈值,基于第三区域包括的特征点确定与所述第二图像匹配的区域,所述第三区域为多个第二区域中包括最多特征点的区域。
3.根据权利要求1所述的方法,其特征在于,所述第二区域的数量为多个,所述基于所述第二区域包括的特征点确定与所述第二图像匹配的区域,包括:
响应于第三区域包括的特征点的数量不大于数量阈值,从多个第二区域中确定与所述第三区域相交的第四区域,所述第三区域为所述多个第二区域中包括最多特征点的区域;
基于所述第三区域包括的特征点和所述第四区域包括的特征点确定与所述第二图像匹配的区域。
4.根据权利要求1-3任一所述的方法,其特征在于,所述计算所述各个第一特征点对应的距离之前,所述方法还包括:
获取所述第二图像,对所述第二图像进行缩放处理,得到至少两个第三图像,所述缩放处理包括缩小处理和放大处理中的至少一种处理,所述至少两个第三图像中不同第三图像的分辨率不同;
提取所述第二图像和至少两个第三图像中的第五特征点,基于所述第五特征点确定所述第二图像中的所述第二特征点。
5.根据权利要求4所述的方法,其特征在于,所述对所述第二图像进行缩放处理,得到至少两个第三图像,包括:
对所述第二图像进行高斯模糊处理,得到至少两个第四图像,所述至少两个第四图像中不同第四图像的模糊度不同;
对所述至少两个第四图像进行所述缩放处理,得到所述至少两个第三图像;
所述提取所述第二图像和至少两个第三图像中的第五特征点,包括:
提取所述第二图像、所述至少两个第四图像和所述至少两个第三图像中的第五特征点。
6.根据权利要求1-3任一所述的方法,其特征在于,所述计算各个第一特征点的描述符,包括:
对于任一第一特征点,获得所述任一第一特征点的坐标、角度和块尺寸;
基于比例系数以及所述任一第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,得到至少两个第二盒子信息,任一第二盒子信息包括一对中心点坐标、半径和参考阈值,所述一对中心点坐标和所述半径用于指示所述任一第二盒子信息对应的一对盒子;
对于任一第二盒子信息,确定所述任一第二盒子信息对应的一对盒子在所述第一图像中对应的一对区域,确定所述一对区域的像素平均灰度值之间的差值,对比所述差值和所述参考阈值得到所述任一第二盒子信息对应的数值,所述数值为零或一,所述至少两个第二盒子信息对应至少两个数值;
基于所述至少两个数值生成二进制数组,将所述二进制数组作为所述任一第一特征点的描述符。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于所述任一第一特征点位于所述第一图像的图像边缘,基于所述块尺寸对所述任一第一特征点的坐标进行校正,得到所述任一第一特征点校正后的坐标;
所述基于比例系数以及所述任一第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,包括:
基于比例系数以及所述任一第一特征点的校正后的坐标、角度和块尺寸更新所述至少两个第一盒子信息。
8.根据权利要求6所述的方法,其特征在于,所述角度基于参考系数计算得到,所述参考系数基于所述比例系数、所述第二特征点的数量和所述至少两个第一盒子信息确定。
9.根据权利要求6所述的方法,其特征在于,所述对比所述差值和所述参考阈值得到所述任一第二盒子信息对应的数值,包括:
响应于所述差值不大于所述参考阈值,则所述任一第二盒子信息对应的数值为第一值;
响应于所述差值大于所述参考阈值,则所述任一第二盒子信息对应的数值为第二值。
10.一种图像识别装置,其特征在于,所述装置包括:
获取模块,用于获取第一图像,提取所述第一图像中的至少两个第一特征点,计算各个第一特征点的描述符;
计算模块,用于基于所述各个第一特征点的描述符,计算所述各个第一特征点对应的距离,所述各个第一特征点对应的距离均不大于阈值,任一第一特征点对应的距离为所述任一第一特征点与第二图像中的第二特征点之间的距离,所述第一图像和所述第二图像的分辨率不同;
确定模块,用于基于所述各个第一特征点对应的距离,从所述至少两个第一特征点中确定与所述第二特征点对应的第三特征点,基于所述第三特征点,通过随机抽样一致算法从所述第一图像中确定第一区域;从所述第一区域包括的第三特征点中确定多个第四特征点,按照距离对所述多个第四特征点进行排序,得到特征点序列,任一第四特征点对应的距离小于距离阈值;从距离最小的第四特征点开始,依次遍历所述特征点序列中的各个第四特征点,对于所述距离最小的第四特征点,确定所述距离最小的第四特征点对应的区域,对于所述特征点序列中除所述距离最小的第四特征点之外的其他第四特征点,响应于第五区域中不包括所述其他第四特征点,则确定所述其他第四特征点对应的区域,所述第五区域为所述特征点序列中位于所述其他第四特征点之前的第四特征点对应的区域,所述任一第四特征点对应的区域以所述任一第四特征点为中心点、比例与所述第二图像相同且尺寸小于所述第二图像;将所确定的第四特征点对应的区域作为第二区域;基于所述第二区域包括的特征点确定与所述第二图像匹配的区域。
11.根据权利要求10所述的装置,其特征在于,所述第二区域的数量为多个,所述确定模块,用于响应于第三区域包括的特征点的数量大于数量阈值,基于第三区域包括的特征点确定与所述第二图像匹配的区域,所述第三区域为多个第二区域中包括最多特征点的区域。
12.根据权利要求10所述的装置,其特征在于,所述第二区域的数量为多个,所述确定模块,用于响应于第三区域包括的特征点的数量不大于数量阈值,从多个第二区域中确定与所述第三区域相交的第四区域,所述第三区域为所述多个第二区域中包括最多特征点的区域;基于所述第三区域包括的特征点和所述第四区域包括的特征点确定与所述第二图像匹配的区域。
13.根据权利要求10-12任一所述的装置,其特征在于,所述获取模块,还用于获取所述第二图像,对所述第二图像进行缩放处理,得到至少两个第三图像,所述缩放处理包括缩小处理和放大处理中的至少一种处理,所述至少两个第三图像中不同第三图像的分辨率不同;提取所述第二图像和至少两个第三图像中的第五特征点,基于所述第五特征点确定所述第二图像中的所述第二特征点。
14.根据权利要求13所述的装置,其特征在于,所述获取模块,用于对所述第二图像进行高斯模糊处理,得到至少两个第四图像,所述至少两个第四图像中不同第四图像的模糊度不同;对所述至少两个第四图像进行所述缩放处理,得到所述至少两个第三图像;提取所述第二图像、所述至少两个第四图像和所述至少两个第三图像中的第五特征点。
15.根据权利要求10-12任一所述的装置,其特征在于,所述获取模块,用于对于任一第一特征点,获得所述任一第一特征点的坐标、角度和块尺寸;基于比例系数以及所述任一第一特征点的坐标、角度和块尺寸更新至少两个第一盒子信息,得到至少两个第二盒子信息,任一第二盒子信息包括一对中心点坐标、半径和参考阈值,所述一对中心点坐标和所述半径用于指示所述任一第二盒子信息对应的一对盒子;对于任一第二盒子信息,确定所述任一第二盒子信息对应的一对盒子在所述第一图像中对应的一对区域,确定所述一对区域的像素平均灰度值之间的差值,对比所述差值和所述参考阈值得到所述任一第二盒子信息对应的数值,所述数值为零或一,所述至少两个第二盒子信息对应至少两个数值;基于所述至少两个数值生成二进制数组,将所述二进制数组作为所述任一第一特征点的描述符。
16.根据权利要求15所述的装置,其特征在于,所述获取模块,还用于响应于所述任一第一特征点位于所述第一图像的图像边缘,基于所述块尺寸对所述任一第一特征点的坐标进行校正,得到所述任一第一特征点校正后的坐标;
所述获取模块,用于基于比例系数以及所述任一第一特征点的校正后的坐标、角度和块尺寸更新所述至少两个第一盒子信息。
17.根据权利要求15所述的装置,其特征在于,所述角度基于参考系数计算得到,所述参考系数基于所述比例系数、所述第二特征点的数量和所述至少两个第一盒子信息确定。
18.根据权利要求15所述的装置,其特征在于,所述获取模块,用于响应于所述差值不大于所述参考阈值,则所述任一第二盒子信息对应的数值为第一值;响应于所述差值大于所述参考阈值,则所述任一第二盒子信息对应的数值为第二值。
19.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述计算机设备实现权利要求1-9任一所述的图像识别方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行,以使计算机实现如权利要求1-9任一所述的图像识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767757.3A CN113435530B (zh) | 2021-07-07 | 2021-07-07 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767757.3A CN113435530B (zh) | 2021-07-07 | 2021-07-07 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113435530A CN113435530A (zh) | 2021-09-24 |
CN113435530B true CN113435530B (zh) | 2023-10-10 |
Family
ID=77759666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110767757.3A Active CN113435530B (zh) | 2021-07-07 | 2021-07-07 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113435530B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2013273790A1 (en) * | 2013-12-20 | 2015-07-09 | Canon Kabushiki Kaisha | Heterogeneous feature filtering |
CN110147796A (zh) * | 2018-02-12 | 2019-08-20 | 杭州海康威视数字技术股份有限公司 | 图像匹配方法及装置 |
CN110232417A (zh) * | 2019-06-17 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
WO2019184719A1 (zh) * | 2018-03-29 | 2019-10-03 | 青岛海信移动通信技术股份有限公司 | 一种拍照的方法和装置 |
WO2019219065A1 (zh) * | 2018-05-17 | 2019-11-21 | 杭州海康威视数字技术股份有限公司 | 视频分析的方法和装置 |
CN112562000A (zh) * | 2020-12-23 | 2021-03-26 | 安徽大学 | 基于特征点检测和误匹配筛选的机器人视觉定位方法 |
-
2021
- 2021-07-07 CN CN202110767757.3A patent/CN113435530B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2013273790A1 (en) * | 2013-12-20 | 2015-07-09 | Canon Kabushiki Kaisha | Heterogeneous feature filtering |
CN110147796A (zh) * | 2018-02-12 | 2019-08-20 | 杭州海康威视数字技术股份有限公司 | 图像匹配方法及装置 |
WO2019184719A1 (zh) * | 2018-03-29 | 2019-10-03 | 青岛海信移动通信技术股份有限公司 | 一种拍照的方法和装置 |
WO2019219065A1 (zh) * | 2018-05-17 | 2019-11-21 | 杭州海康威视数字技术股份有限公司 | 视频分析的方法和装置 |
CN110232417A (zh) * | 2019-06-17 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
CN112562000A (zh) * | 2020-12-23 | 2021-03-26 | 安徽大学 | 基于特征点检测和误匹配筛选的机器人视觉定位方法 |
Non-Patent Citations (3)
Title |
---|
基于特征点的图像匹配算法研究;周艾;《中国硕士学位论文全文数据库 信息科技辑》;第19页第3章到第40页第4章 * |
基于网格运动统计的改进快速鲁棒特征图像匹配算法;王晓华;方琪;王文杰;;模式识别与人工智能(第12期);全文 * |
王晓华 ; 方琪 ; 王文杰 ; .基于网格运动统计的改进快速鲁棒特征图像匹配算法.模式识别与人工智能.2019,(第12期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113435530A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086709B (zh) | 特征提取模型训练方法、装置及存储介质 | |
CN111476306B (zh) | 基于人工智能的物体检测方法、装置、设备及存储介质 | |
CN108681729B (zh) | 文本图像矫正方法、装置、存储介质及设备 | |
CN111079576B (zh) | 活体检测方法、装置、设备及存储介质 | |
CN110222789B (zh) | 图像识别方法及存储介质 | |
CN110083791B (zh) | 目标群组检测方法、装置、计算机设备及存储介质 | |
CN110544272B (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
CN110807361B (zh) | 人体识别方法、装置、计算机设备及存储介质 | |
CN109815150B (zh) | 应用测试方法、装置、电子设备及存储介质 | |
CN110059652B (zh) | 人脸图像处理方法、装置及存储介质 | |
CN110570460B (zh) | 目标跟踪方法、装置、计算机设备及计算机可读存储介质 | |
CN112749613B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
CN110991457B (zh) | 二维码处理方法、装置、电子设备及存储介质 | |
CN110675412B (zh) | 图像分割方法、图像分割模型的训练方法、装置及设备 | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN110738185B (zh) | 表单对象的识别方法、装置及存储介质 | |
CN113918767A (zh) | 视频片段定位方法、装置、设备及存储介质 | |
CN112053360B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
CN112818979B (zh) | 文本识别方法、装置、设备及存储介质 | |
CN111639639B (zh) | 检测文本区域的方法、装置、设备及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN110163192B (zh) | 字符识别方法、装置及可读介质 | |
CN113343709B (zh) | 意图识别模型的训练方法、意图识别方法、装置及设备 | |
CN113361376B (zh) | 获取视频封面的方法、装置、计算机设备及可读存储介质 | |
CN113435530B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051848 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |