技术领域
本发明涉及图像处理技术,特别涉及一种基于Sift算法的图像匹配以及场景识别系统及方法。
背景技术
图像匹配既是分析其他图像技术的基础,同时也是研究图像信息这一领域的一项核心技术,例如物体识别、机器人定位与导航、图像拼接、三维建模、手势识别、视频跟踪、笔记鉴定、指纹与人脸识别、犯罪现场特征提取都会应用到图像匹配技术。由于其在众多领域中得到需要,新的应用程序和新的算法正在逐渐出现,使得图像匹配一步一步深入和成熟。因此,对现有匹配算法开展分析,提高其图像处理质量和精度具有重要的意义。
现有技术中,图像匹配算法存在实时性不高、有时候特征点较少、对边缘模糊的目标无法准确提取出特征点等缺陷。在对大量图片进行处理的时候也会耗费大量时间,还有待改进的空间。
发明内容
本发明的目的是提供一种基于Sift算法的图像匹配以及场景识别系统及方法,能解决上述问题,更加高效、准确。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种基于Sift算法的图像匹配以及场景识别方法,包括有以下步骤:
通过嵌入式终端模块对相机所在场景的若干图像进行采集、识别、上传;
上位机端模块接收所采集到的图像信息,并进行信息处理及数据存储,通过MySQL数据库构建采集的图像数据库;
通过Matlab对图像数据库中的图像提取Sift特征,以产生特征关键点数据库;
对输入的图像进行图像关键点的提取并逐一进行特征关键点的检测,并与特征关键点数据库中的关键点进行一一匹配;
根据关键点的匹配,若匹配成功,输出该输入图像匹配对应场景的对应物体;若全部关键点均匹配失败,则输出未找到相关匹配的结果。
作为优选,通过嵌入式终端模块的摄像头自动采集图像数据,并通过传输模块将采集的图像信息上传至上位机端模块,通过仿真平台读取采集的图像信息并执行图像处理;
图像采集和图像处理根据需要进行循环执行,可通过停止供电结束图像采集;
Matlab平台通过检测输入图像的特征关键点与特征关键点数据库中的关键点的比对,并于检测到匹配图像特征关键点时,读取相对应图像数据库中图像信息进行图像匹配和场景分析。
作为优选,通过Sift算法对图像进行特征关键点提取,筛除不需要的关键点以保留所需匹配的特征关键点;
对图像匹配过程中产生的错误匹配像素点进行消除。
一种基于Sift算法的图像匹配以及场景识别系统,包括有嵌入式终端模块、上位机端模块;
所述嵌入式终端模块包括有对场景进行图像采集的摄像头、连接于摄像头以控制摄像头采集图像并进行上传发送的处理器与接口板;
所述上位机端模块包括有对接收的采集图像进行存储的图像数据库、对读取图像数据库以对图像进行特征关键点提取及匹配的开发仿真平台、对提取的特征关键点信息进行存储的特征关键点数据库,还包括有数据传输模块;
当输入图像时,所述开发仿真平台对输入图像进行特征关键点提取,读取特征关键点数据库并对输入图像的特征关键点一一进行匹配;当有对应特征关键点相匹配时,输出对应匹配场景中的对应匹配物体;反之,若全部特征关键点均未匹配,则输出未匹配结果。
作为优选,所述摄像头为基于SCCB接口的OV767摄像头。
作为优选,所述数据传输模块为一对多、半双工的远距离传输,为RS485/RS232总线的数据传输方式;所述数据传输模块包括有RS485/RS232接口,所述输出传输模块还设置有对应于接口协议的Modbus通信协议。
综上所述,本发明具有以下有益效果:
通过Sift算法进行特征关键点的提取和匹配,能大大减少要处理的图像像素信息,减小数据量,进而降低计算时间,能进一步提高算法效率;
通过Sift算法进行处理,具有良好的稳定性及鲁棒性,在光照、尺度、和物体发生旋转的情况下,都能得到较好的匹配效果,整体更高效、准确。
附图说明
图1为本方法的流程示意图;
图2为本系统的结构示意框图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
根据一个或多个实施例,公开了一种基于Sift算法的图像匹配以及场景识别方法,如图1所示,包括有以下步骤:
通过嵌入式终端模块对相机所在场景的若干图像进行采集、识别、上传;
上位机端模块接收所采集到的图像信息,并进行信息处理及数据存储,通过MySQL数据库构建采集的图像数据库;
通过Matlab对图像数据库中的图像提取Sift特征,以产生特征关键点数据库;
对输入的图像进行图像关键点的提取并逐一进行特征关键点的检测,并与特征关键点数据库中的关键点进行一一匹配;
根据关键点的匹配,若匹配成功,输出该输入图像匹配对应场景的对应物体;若全部关键点均匹配失败,则输出未找到相关匹配的结果。
通过嵌入式终端模块的摄像头自动采集图像数据,并通过传输模块将采集的图像信息上传至上位机端模块,通过仿真平台读取采集的图像信息并执行图像处理;
图像采集和图像处理根据需要进行循环执行,可通过停止供电结束图像采集;
Matlab平台通过检测输入图像的特征关键点与特征关键点数据库中的关键点的比对,并于检测到匹配图像特征关键点时,读取相对应图像数据库中图像信息进行图像匹配和场景分析。
图像匹配技术的关键步骤是提取图像的关键点信息,sift算法可能会在一幅图像中提取到多个关键点信息,根据本所需设定筛除一些不需要的关键点,利用保留出来的更有价值的特征点来进行图像之间的匹配。与此同时消除错误的匹配点,在图像匹配过程中,由于经常会产生错误的匹配像素点,因此需要改进匹配算法提高匹配效率通过对图像点特征进行处理,可以大大减少要处理的图像像素信息,减小数据量,降低计算时间,也不会损坏图像有价值的灰度信息。
通过实践证明并利用该Sift算法具有良好的稳定性和鲁棒性,在光照、尺度、和物体发生旋转的情况下,都能得到较好的匹配效果,通过图像采集模块获取图像,通过Matlab仿真平台读取所存储的图像数据,检测图像Sift特征后与数据库图像信息进行图像匹配,以分析识别出该图像所描述的是何场景。实现了图像匹配及场景识别分析,并且提高了图像处理速度及识别精度,克服了传统图像匹配方法的效率低下,正确率低的情况,实现了更高效、更准确进行图像匹配和场景识别。
根据一个或多个实施例,公开了一种基于Sift算法的图像匹配以及场景识别系统,如图2所示,包括有嵌入式终端模块、上位机端模块。
嵌入式终端模块包括有对场景进行图像采集的摄像头、连接于摄像头以控制摄像头采集图像并进行上传发送的处理器与接口板;摄像头为基于SCCB接口的OV767摄像头。嵌入式环境搭建是利用嵌入式uC/OSⅢ系统对STM32程序进行移植,嵌入式终端模块的接口板与处理器连接并连接摄像头,处理器控制摄像头采集图片,并将采集到的图像发送至上位机。
上位机端模块包括有对接收的采集若干图像进行存储的图像数据库、对读取图像数据库以对图像进行特征关键点提取及匹配的开发仿真平台、对提取的特征关键点信息进行存储的特征关键点数据库。
开发仿真平台为Matlab平台,通过读取上位机接收到的图像信息并逐一进行Sift特征点的检测。对比图像数据库及特征关键点数据库中的图像数据信息进行场景识别分析。
还包括有数据传输模块;数据传输模块为一对多、半双工的远距离传输方式—RS485/RS232总线的数据传输方式,其中需要用到RS485/RS232接口,且对此接口协议设置Modbus通信协议,以达到图像识别系统硬件与PC端之间的相互通信。上位机端模块通过RS485通信接收所采集到的图像信息,并对其进行处理,把上传的信息进行数据存储,通过MySQL数据库构建出相机采集的图像数据库,用于Matlab从中读取采集到的图像数据并进行下一步图像处理操作。
当输入图像时,开发仿真平台对输入图像进行特征关键点提取,读取特征关键点数据库并对输入图像的特征关键点一一进行匹配;当有对应特征关键点相匹配时,输出对应匹配场景中的对应匹配物体;反之,若全部特征关键点均未匹配,则输出未匹配结果。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
机译: 基于照片图像匹配的识别系统和方法
机译: 基于视觉图像匹配的视频识别系统和方法
机译: 基于视觉图像匹配的视频识别系统和方法