本发明涉及计算机图像处理技术领域,尤其是涉及一种基于opencv和cuda加速的网络相机的实时图像检索方法。
背景技术:
早期的图像检索技术是基于文本实现的,主要集中于对图像底层特征的研究。其中,颜色特征能够直观体现图像内容,纹理特征具有较强的空间信息表达能力,而且这两种特征的提取较易实现,因此成为图像检索的两类常用特征,基于内容的图像检索一般包括预处理、特征提取、相似性度量等关键环节。
特征检测的尺度不变特征是指在任何尺度下拍摄的物体都能检测到一致的关键点,而且每个被检测的特征点都对应一个尺度因子。常用的特征点检测的方法包括sift、surf、orb、fast和harris角点,特征匹配的方法包括brute-force匹配器和近似最近邻flann快速匹配器。surf全称为“加速稳健特征”,不仅是尺度不变特征,而且是具有较高计算效率的特征。sift(尺度不变特征转换)相对于surf在空间和尺度上定位更加精确,但是巨大的特征计算量而使得特征点提取的过程异常花费时间。orb是是brief算法的改进版,速度更快,具备旋转不变性,而且对噪声不敏感。fast(加速分割测试获得特征)可以快速检测兴趣点。角点是两条边缘线的接合点,是一种二维特征,可以进行子像素级精度的定位,通过harris特征检测可以检测出图像中的角点。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的特征计算量较多导致耗费较长时间进行特征提取、精度不够的缺陷而提供一种基于opencv和cuda加速的网络相机的实时图像检索方法。
本发明的目的可以通过以下技术方案来实现:
一种基于opencv和cuda加速的网络相机的实时图像检索方法,具体包括以下步骤:
s1.获取多个目标识别图片,检测所述目标识别图片的目标特征点和所述目标特征点对应的目标特征描述符;
s2.根据网络协议获取网络相机中的视频图像;
s3.所述视频图像根据预设识别区域裁剪出图像识别块,并上传所述图像识别块到图像处理器;
s4.所述图像处理器检测接收到的所述图像识别块的特征点和特征点对应的特征描述符;
s5.所述特征点、特征描述符与目标特征点、目标特征描述符进行匹配;
s6.判断匹配成功的特征点、特征描述符的数量是否达到目标识别图片的预设阈值,将达到预设阈值的目标特征点对应的目标识别图片按照匹配成功的特征点的数量进行排序,将排序结果中匹配特征点最多的目标识别图片作为识别结果。
所述步骤s1中通过基于opencv的orb算法检测所述目标识别图片。
所述步骤s4中通过基于cuda的orb算法检测所述图像识别块。
所述网络协议具体为rtsp网络协议。
进一步地,所述rtsp网络协议根据网络相机的基本参数从网络相机中获取视频图像。
进一步地,所述网络相机的基本参数包括网络相机的用户名、密码、ip地址、通道号和主码流。
所述步骤s3中基于opencv从所述视频图像中裁剪出图像识别块,减少计算量,避免进行分辨率过大的全图搜索。
所述步骤s5中通过brute-force匹配器将特征点、特征描述符与目标特征点、目标特征描述符进行匹配。
所述图像识别块的图像数据格式与图像处理器支持的图像数据格式相同。
所述目标识别图片具体为图书的书页。
与现有技术相比,本发明具有以下有益效果:
本发明在获取到目标识别图片的目标特征点和目标特征描述符,对视频图像进行处理,将裁剪后的图像识别块上传至图像处理器,经图像处理器后由基于cuda的orb算法检测图像识别块中的特征点、特征描述符,通过brute-force匹配器与目标特征点和目标特征描述符进行匹配,提高了特征点的识别速度,降低了实时图像与目标特征点进行匹配的数据延迟,具有较高的稳定性和识别准确度。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,一种基于opencv和cuda加速的网络相机的实时图像检索方法,具体包括以下步骤:
步骤s1:获取多个目标识别图片,检测目标识别图片的目标特征点和目标特征点对应的目标特征描述符;
步骤s2;根据网络协议获取网络相机中的视频图像;
步骤s3:视频图像根据预设识别区域裁剪出图像识别块,并上传图像识别块到图像处理器;
步骤s4:图像处理器检测接收到的图像识别块的特征点和特征点对应的特征描述符;
步骤s5:特征点、特征描述符与目标特征点、目标特征描述符进行匹配;
步骤s6:判断匹配成功的特征点、特征描述符的数量是否达到目标识别图片的预设阈值,将达到预设阈值的目标特征点对应的目标识别图片按照匹配成功的特征点的数量进行排序,将排序结果中匹配特征点最多的目标识别图片作为识别结果。
步骤s1中通过基于opencv的orb算法检测目标识别图片。
步骤s4中通过基于cuda的orb算法检测图像识别块。
网络协议具体为rtsp网络协议。
rtsp网络协议根据网络相机的基本参数从网络相机中获取视频图像,加载到内存并写入到本地服务器,避免拉流后视频图像的重复计算。
网络相机的基本参数包括网络相机的用户名、密码、ip地址、通道号和主码流。
步骤s3中基于opencv从视频图像中裁剪出图像识别块,减少计算量,避免进行分辨率过大的全图搜索。
步骤s5中通过brute-force匹配器将特征点、特征描述符与目标特征点、目标特征描述符进行匹配。
图像识别块的图像数据格式与图像处理器支持的图像数据格式相同。
目标识别图片具体为图书的书页,步骤s6中最终输出与当前实时视频图像相匹配特征点最多的书页。
此外,需要说明的是,本说明书中所描述的具体实施例子,所取名称可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所做的举例说明。凡依据本发明构思的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方法,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
1.一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,具体包括以下步骤:
s1.获取多个目标识别图片,检测所述目标识别图片的目标特征点和所述目标特征点对应的目标特征描述符;
s2.根据网络协议获取网络相机中的视频图像;
s3.所述视频图像根据预设识别区域裁剪出图像识别块,并上传所述图像识别块到图像处理器;
s4.所述图像处理器检测接收到的所述图像识别块的特征点和特征点对应的特征描述符;
s5.所述特征点、特征描述符与目标特征点、目标特征描述符进行匹配;
s6.判断匹配成功的特征点、特征描述符的数量是否达到目标识别图片的预设阈值,将达到预设阈值的目标特征点对应的目标识别图片按照匹配成功的特征点的数量进行排序,将排序结果中匹配特征点最多的目标识别图片作为识别结果。
2.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述步骤s1中通过基于opencv的orb算法检测所述目标识别图片。
3.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述步骤s4中通过基于cuda的orb算法检测所述图像识别块。
4.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述网络协议具体为rtsp网络协议。
5.根据权利要求4所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述rtsp网络协议根据网络相机的基本参数从网络相机中获取视频图像。
6.根据权利要求5所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述网络相机的基本参数包括网络相机的用户名、密码、ip地址、通道号和主码流。
7.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述步骤s3中基于opencv从所述视频图像中裁剪出图像识别块。
8.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述步骤s5中通过brute-force匹配器将特征点、特征描述符与目标特征点、目标特征描述符进行匹配。
9.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述图像识别块的图像数据格式与图像处理器支持的图像数据格式相同。
10.根据权利要求1所述的一种基于opencv和cuda加速的网络相机的实时图像检索方法,其特征在于,所述目标识别图片具体为图书的书页。