CN109118473B - 基于神经网络的角点检测方法、存储介质与图像处理系统 - Google Patents

基于神经网络的角点检测方法、存储介质与图像处理系统 Download PDF

Info

Publication number
CN109118473B
CN109118473B CN201810719990.2A CN201810719990A CN109118473B CN 109118473 B CN109118473 B CN 109118473B CN 201810719990 A CN201810719990 A CN 201810719990A CN 109118473 B CN109118473 B CN 109118473B
Authority
CN
China
Prior art keywords
image
neural network
sub
corner
neuron
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
Application number
CN201810719990.2A
Other languages
English (en)
Other versions
CN109118473A (zh
Inventor
田劲东
杨海亮
田勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN201810719990.2A priority Critical patent/CN109118473B/zh
Publication of CN109118473A publication Critical patent/CN109118473A/zh
Application granted granted Critical
Publication of CN109118473B publication Critical patent/CN109118473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种基于神经网络的角点检测方法,其包括如下步骤:S1、对采集的图像进行预处理;S2、对预处理后的图像进行边缘提取;S3、将包含边缘的图像按照固定步长裁剪成多个像素大小均为m×n的子图像,并记录每个子图像在原图像中的坐标标签;S4、利用字典学习对每个子图像进行降维处理以得到每个子图像的稀疏表示;S5、将每个子图像的稀疏表示分别输入至预先训练好的神经网络,以神经网络的输出值来分别判断每个子图像中是否存在角点。本发明还提出了与方法相应的存储介质和图像处理系统。本发明针对噪声干扰、线段干扰、像素高对比度仍具有高的角点检测准确率。

Description

基于神经网络的角点检测方法、存储介质与图像处理系统
技术领域
本发明涉及图像处理领域,尤其涉及基于神经网络的角点检测方法、存储介质与图像处理系统。
背景技术
图像中的角点在仿射变换下具有稳定不变性,它可反映图像中的众多有用信息,故其在特征识别中具有极其重要的作用。角点检测技术在相机标定、图像匹配、运动估计、全景拼接、目标检测与识别等领域都有广泛的应用。目前已有的角点检测方法主要可以分为两类:基于图像灰度的角点检测方法和基于轮廓的角点检测方法。
基于图像灰度的角点检测方法目前主要有Harris方法、SUSAN方法等。Harris方法相对简单,可以任取窗口W分别在x、y轴方向平移,如果两个方向均产生了明显的灰度变化就将其认定为角点。Harris方法对于图像旋转具有很好的效果,但是对噪声干扰较为敏感,此外在高对比情况下依然使用一个阈值对检测结果有很大影响,并且高斯窗口的选取也会产生一定的影响。SUSAN方法是统计圆形模板邻域中与核心点有相似亮度值的像素个数,当统计的满足条件的像素个数小于某个阈值则认为圆心处是角点。该方法在圆形模板范围内进行比较所以对高对比图像具有较好的适应性,但是对复杂角点如“X”型角点的检测效果不好,与此同时单纯的依靠像素点的比较很容易受到椒盐噪声的影响,从而造成角点检测错误。
基于轮廓的角点检测方法主要有曲率尺度空间(CSS,Curvature Scale Space)角点检测方法。该方法先在高尺度下得到轮廓上曲率极大值点,再设定阈值得到候选角点,最后通过在低尺度下对得到的候选角点进行重新定位,得到位置相对准确的角点。但CSS角点检测方法有几个缺点:一是利用二阶导数来计算曲率会对轮廓的局部变化和噪声高度敏感;二是很难选择一个合适的高斯尺度来平滑轮廓;三是如何选取合适的角点阈值。后人对以上缺陷进行了改进,但是依然存在调节参数过多的缺陷,并且无法解决线段干扰问题。
综上所述,现有技术中的角点检测存在抗干扰能力差、检测准确率不高、调节参数过多、自适应不强等缺点,进而造成相机标定、图像匹配、目标检测和识别出现错误等问题。
发明内容
本发明针对以上技术问题,提出了一种适应性强、灵活性好且针对噪声干扰、线段干扰、像素高对比度仍具有高检测准确率的角点检测方法、存储介质和图像处理系统。
本发明为了解决上述技术问题,所采用的技术方案如下:
根据本发明的第一方面,提供了一种基于神经网络的角点检测方法,所述方法包括如下步骤:
S1、对采集的图像进行预处理;
S2、对预处理后的图像进行边缘提取;
S3、将包含边缘的图像按照固定步长裁剪成多个像素大小均为m×n的子图像,并记录每个子图像在原图像中的坐标标签;
S4、利用字典学习对每个子图像进行降维处理以得到每个子图像的稀疏表示;
S5、将每个子图像的稀疏表示分别输入至预先训练好的神经网络,以神经网络的输出值来分别判断每个子图像中是否存在角点,若子图像中存在角点则将原图像对应于该子图像的坐标标签处认定为角点位置。
进一步,所述步骤S3进一步为:记录每个子图像的中心坐标在原图像中的坐标标签,且所述步骤S5进一步为:若子图像中存在角点,则以原图像对应于该子图像中心坐标的坐标为中心,将周围m×n像素大小的矩形认定为角点位置。
进一步,字典学习具体为:对于数据集
Figure BDA0001718430960000021
分别建立字典矩阵B和稀疏矩阵A使得X=B*A,且稀疏矩阵A为非冗余稀疏矩阵,其中xl=[xl (1) xl (2) … xl (D)]T为将待降维处理的m×n像素大小的图像进行逐行展开排列成D×1的列矩阵,l=1,2,3,……S,S为待降维处理的子图像总数,D=m×n,且建立如下所示的目标函数来优化获得字典矩阵B和稀疏矩阵A:
Figure BDA0001718430960000022
其中al为对应于xl的稀疏矩阵,λ为调节字典矩阵误差大小和表示图像稀疏程度的权值。
进一步,训练神经网络包括如下步骤:
A、获取角点与非角点训练集,其中所述训练集由一系列像素大小均为m×n的带角点和不带角点的模板图像组成;
B、利用字典学习对训练集中像素大小为m×n的模板图像进行降维处理以得到每个模板图像的稀疏表示;
C、将模板图像的稀疏表示分别多次输入至一神经网络结构,得到训练好的神经网络。
进一步,所述神经网络结构为BP神经网络结构,其包括输入层、隐含层和输出层,其中输入层的每个神经元的输出与输入相同,隐含层的传递函数为relu激活函数,且隐含层和输出层的传递函数分别表示为如下:
Figure BDA0001718430960000031
Og=f(netj)
其中Oi为输入层的第i个神经元的输出,d1为输入层神经元的总数,ωji为输入层的第i个神经元和隐含层的第j个神经元之间的神经元权值,θj为隐含层的第j个神经元的阈值,netj为隐含层的第j个神经元的输出,f()为传递函数,Og为输出层的第g个神经元的输出,其中隐含层的神经元总数根据需要任意设置,输出层的神经元总数为2。
进一步,输出层的传递函数f()为relu激活函数,其表示为如下:
Figure BDA0001718430960000032
其中d2为输出层神经元的总数,ωgj为隐含层的第j个神经元和输出层的第g个神经元之间的神经元权值,θg为输出层的第g个神经元的阈值。
进一步,根据下式将神经网络输出层的输出值Og(g=1,2)转换为概率值:
Figure BDA0001718430960000033
其中Q1+Q2=1,Q1表示模板图像中存在角点的概率,Q2表示模板图像中不存在角点的概率,当Q1大于一角点阈值时,判定该模板图像中存在角点,并以Q1的值作为每个模板图像在原图像中坐标标签处的标签值。
进一步,所述角点阈值设置为0.5。
进一步,将判定为存在角点的子图像所对应的Q1值设置为1,Q2的值设置为0。
进一步,通过梯度下降方法来最小化神经网络输出层的交叉熵误差,以获得神经网络中的最优参数ωji、θj、ωgj和θg,其中神经网络输出层的交叉熵误差表示为如下:
Figure BDA0001718430960000034
其中k为学习次数,Ik为第k次学习中输入神经网络的模板图像的标签值,
Figure BDA0001718430960000035
第k次学习中与该模板图像对应的第g个神经元输出的概率值。
进一步,预先设置交叉熵误差Ek的阈值,当交叉熵误差Ek的值满足预先设定的阈值时,得到训练好的神经网络模型,其中,交叉熵误差Ek的阈值大小根据系统实际所允许的精度来确定,或者根据预先设定的优化迭代次数来确定。
进一步,所述方法还包括用固定大小的模板对检测到的角点进行角点抑制,以避免将一个角点误检为多个角点。
根据本发明的第二方面,提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明第一方面所述的一种基于神经网络的角点检测方法。
根据本发明的第三方面,提供了一种图像处理系统,所述系统具有存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明第一方面所述的一种基于神经网络的角点检测方法。
根据本发明的第四方面,提供了一种图像处理系统,所述系统具有存储介质和处理器,所述存储介质存储有计算机程序,所述处理器运行存储介质中的计算机程序以执行本发明第一方面所述的一种基于神经网络的角点检测方法。
本发明相对现有技术,具有的有益技术效果如下:
本发明采用预先训练好的神经网络来对图像中的角点进行检测,可以避免传统角点检测方法中调节参数过多的缺陷,因此本发明自适应强;
本发明采用字典学习对每个子图像进行降维处理以得到每个子图像的稀疏表示,这不但可以降低数据处理的数量,还能提高梳理处理的速度;
本发明在图像进行检测之前,将包含边缘的图像按照固定步长裁剪成多个大小均为m×n的子图像,不仅可以后续多次训练神经网络、增加本发明的自适应性,还可以降低每次角点识别的数据量,从而增加检测精度;
本发明在检测到焦点之后,用固定大小的模板对检测到的角点进行角点抑制,可以有效避免将一个角点误检为多个角点,从而显著提高角点检测的准确率。
附图说明
图1为根据本发明一种基于神经网络的角点检测方法的一个实施例的子图像展开示意图;
图2为根据本发明一种基于神经网络的角点检测方法的又一实施例的流程图;
图3为根据本发明一种基于神经网络的角点检测方法的又一实施例中带角点与不带角点的模块示意图;
图4为图3中实施例的神经网络结构示意图;
图5为根据本发明一种基于神经网络的角点检测方法的又一实施例的角点抑制示意图;
图6为图5实施例的检测效果示意图。
具体实施方式
以下结合附图对本发明的具体实施方式作进一步的详细说明。
值得说明的是,在无特别说明的情况下,本发明的以下各个实施例的基本技术特征可以相互结合。
根据本发明的第一实施例,一种基于神经网络的角点检测方法,其可以包括如下步骤:
S1、对采集的图像进行预处理,所述预处理根据需要可以包括对图像进行去噪处理、灰度化和归一化中的一种或几种。
S2、对预处理后的图像进行边缘提取,优选地,所述边缘提取可以采用Canny边缘提取方法,这样检测后的图像为包括边缘的二值化图像。
S3、将包含边缘的图像按照固定步长裁剪成多个大小均为m×n的子图像,并记录每个子图像在原图像中的坐标标签。其中,步长可以根据需要来确定,优选地,步长在待检测图像的横向方向上小于n,并且在待检测图像的纵向方向上小于m。更优选地,可以将包含边缘的图像按照固定步长裁剪成正方形,这时在待检测图像的横向方向以及纵向方向上的步长可以相同,例如对于像素大小为600×600的图像,可以将图像按照固定步长裁剪成像素大小为10×10的多个子图像,其中待检测图像的横向方向以及纵向方向上的步长均可以选取为5。当然,以上数据只是为了示例性说明,其不旨在限制本发明的应用范围。其中,从边缘图像中分割出的每个子图像在原图像中对应有一个标签,例如,第一个子图像在分割前在原图像中同样坐标位置处的标签可以设置为1,第二个子图像在分割前在原图像中同样坐标位置处的标签可以设置为2等等,当然,也可以使用其它的标签方法来对子图像设置对应于原图像的标签。
S4、利用字典学习对每个子图像进行降维处理以得到每个子图像的稀疏表示。其中,本申请中的字典学习是指为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使学习任务得以简化,模型复杂度得以降低,也可称为稀疏编码。此处,是将每个子图像的矩阵表示作为一个样本,由于每个样本图像为二值化图像,其数据中存在大量的冗余,因此通过字典矩阵得到与每个子图像相对应的稀疏矩阵,可以将数据处理简化、降低神经网络运算的复杂度、减少运算时间,并使得能从与子图像相对应稀疏矩阵中通过步骤S5中的判断方法判断出该子图像中是否存在角点。
S5、将每个子图像的稀疏表示分别输入至预先训练好的神经网络,以神经网络的输出值来分别判断每个子图像中是否存在角点,若子图像中存在角点则将原图像对应于该子图像的坐标标签处认定为角点位置。例如,若神经网路对某子图像的输出值大于某一判断阈值,则判断该子图像中存在角点,可以将该子图像对应于原图的标签的标签值设置为1,相反可将该子图像对应于原图的标签的标签值设置为0。当然,标签值可以根据需要而任意设置,上述只是示例性说明,其并不旨在限制本发明的应用范围。其中,神经网络不局限于全连接神经网络和网络层数。进一步,可以将原图像中标签值为1的位置判定为角点位置。
作为本发明上述第一实施例的进一步改进,还可以将检测到的角点的对应坐标在原图中进行标注,例如,可以将原图像中标签值为1的位置进行标注。
作为本发明上述第一实施例的优选实施方式,字典学习具体可以为:对于数据集
Figure BDA0001718430960000061
可以分别建立字典矩阵B和稀疏矩阵A使得X=B*A,且稀疏矩阵A为非冗余稀疏矩阵。如图1所示,例如,子图像像素大小为m×n=10×10时,D=m×n=100,其中xl=[xl (1) xl (2) … xl (100)]T为将待降维处理的10×10像素大小的图像进行逐行展开排列成100×1的列矩阵,l=1,2,3,……S,S为待降维处理的图像总数,且建立如下所示的目标函数来优化获得字典矩阵B和稀疏矩阵A:
Figure BDA0001718430960000062
其中al为对应于xl的稀疏矩阵,λ为调节字典矩阵误差大小和表示图像稀疏程度的权值。其中λ越大则获得的稀疏矩阵稀疏度越高,λ越小则构建的字典矩阵B还原数据集X的误差越小。作为本实施例优选地实施方式,λ的值可以设置为1。例如,10×10的子图像重排列后可形成100×1的矩阵,图1中对100×1的矩阵实施字典学习后的稀疏矩阵al大小为20×1。然而,稀疏矩阵的大小可以根据需要而设置。
作为本发明上述第一实施例的进一步改进,如图1所示,为了消除数据数量级的差异对结果的影响可以采用min-max标准化将子图像的数据限定在一定范围内,如限定在[0,5]之间,再利用字典学习将数据从100维降到20维。
作为本发明上述第一实施例的进一步改进,可以将任何待检测的图像首先缩放到统一大小,再执行上述S1-S5的检测步骤,这使得本发明的适用性更强,即任何相机采集到的大小不同的图像都可以使用本发明来进行角点检测。
根据本发明的第二实施例,其包括上述第一实施例的基本步骤,并在上述实施例的基础之上,所述步骤S3可以进一步为:记录每个子图像的中心坐标在原图像中的坐标标签,例如,对于一个像素大小为10×10的子图像,可以给该子图像的中心坐标对应于原图像的坐标处设定一个标签。基于此,所述步骤S5可以进一步为:若根据神经网络的输出值而判定该子图像中存在角点,则可以以原图像对应于该子图像中心坐标的坐标为中心,周围m×n(例如,10×10)像素大小的矩形认定为角点位置。
根据本发明的第三实施例,其包括上述第一实施例的基本步骤,并在上述实施例的基础之上,如图2所示,本实施例中可以采用如下步骤来训练神经网络:
A、获取角点与非角点训练集,其中所述训练集由一系列像素大小均为m×n的带角点和不带角点的模板图像组成,图3示出了带角点与不带角点模板的示例图,并且提供的模板越多越有普适性。
B、利用字典学习对训练集中像素大小为m×n的模板图像进行降维处理以得到每个模板图像的稀疏表示。训练神经网络用的字典学习,优选地与第一实施例中的字典学习方式相同,这样可以保证检测时的准确性更高。
C、将模板图像的稀疏表示分别多次输入至一神经网络结构,得到训练好的神经网络。其中,神经网络不局限于全连接神经网络和网络层数。
作为本发明上述第三实施例的优选实施方式,可以对神经网络进行多次训练,最后选择测试性能最好的神经网络作为最终的网络。
作为本发明上述第三实施例的优选实施方式,训练阶段确定神经网络的结构后,检测阶段中待检测图像的子图像大小需与训练阶段的模板大小相同。且训练阶段确定的神经网络结构类型与网络层数,优选地与检测阶段的神经网络结构类型与网络层数相同。
作为本发明上述第三实施例的优选实施方式,所述神经网络结构可以为如图4所示的BP神经网络结构,其包括输入层、隐含层和输出层,其中输入层的每个神经元的输出与输入相同,隐含层的传递函数为relu激活函数,且隐含层和输出层的传递函数分别表示为如下:
Figure BDA0001718430960000071
Og=f(netj)
其中Oi为输入层的第i个神经元的输出,d1为输入层神经元的总数,ωji为输入层的第i个神经元和隐含层的第j个神经元之间的神经元权值,θj为隐含层的第j个神经元的阈值,netj为隐含层的第j个神经元的输出,f()为传递函数,Og为输出层的第g个神经元的输出。其中,输入层、隐含层和输出层的神经元个数可以根据需要具体设置。优选的,输入层的神经元个数可以等于每个子图像降维后的稀疏矩阵的维数,隐含层的神经元总数根据需要任意设置,而角点判断为一个二分类问题,因此优选地,输出层的神经元总数可以设置为2,即g=1或2。其中,θj的阈值大小是在神经网络训练过程中和ωji一样自己学习到的大小,每次训练学习到的值也可能不同,但根据多次学习,θj和ωji可以根据预先设定的误差大小学习到最优结果。
作为本发明上述第三实施例的优选实施方式,所述输出层的传递函数也可以为relu激活函数,其表示为如下:
Figure BDA0001718430960000072
其中d2为输出层神经元的总数,ωgj为隐含层的第j个神经元和输出层的第g个神经元之间的神经元权值,θg为输出层的第g个神经元的阈值。其中,θg的阈值大小也是在神经网络训练过程中和ωgj一样自己学习到的大小,每次训练学习到的值也可能不同,但根据多次学习,θg和ωgj也可以根据预先设定的误差大小学习到最优结果。例如,对于本实施例,在训练好神经网络之后,将字典学习降维后的子图像的数据作为输入传给训练好的神经网络,隐含层的传递函数采用上述公式所示的Relu激活函数,输出层的传递函数也可采用上述公式所示的Relu激活函数,因此神经网络的输出值为[0,1]之间的二分类问题。
作为本发明上述第三实施例的优选实施方式,可以进一步根据下式将神经网络输出层的输出值Og(g=1,2)转换为概率值:
Figure BDA0001718430960000081
其中Q1+Q2=1,Q1表示模板图像中存在角点的概率,Q2表示模板图像中不存在角点的概率,当Q1大于一角点阈值时,判定该模板图像中存在角点,并以Q1的值作为每个模板图像在原图像中坐标标签处的标签值。这就将神经网络的输出值转化为概率值在[0,1]之间的二分类问题。只要设定一个角点阈值,就可以根据输出值的大小来判定某模板图像中是否存在角点。作为优选的实施方式,所述角点阈值可以设置为0.5。更优选地,可以进一步将判定为存在角点的模板图像所对应的Q1值设置为1,Q2的值设置为0。因此,当使用这种神经网络来判断待检测图像中的角点时,将待检测图像分割成只含有边缘的二值化且像素大小为m×n的子图像之后,当神经网络的输出值大于0.5时,我们可以给该m×n的模板图像标签为1,认为该图像含有角点,否则给标签为0,认为不含角点。当所有像素大小为m×n的子图像都经过神经网络判断后,我们可以根据标签值在原待检测图像中标注出角点的坐标。
作为本发明上述第三实施例的优选实施方式,可以通过梯度下降方法来最小化神经网络输出层的交叉熵误差,以获得神经网络中的最优参数ωji、θj、ωgj和θg,其中神经网络输出层的交叉熵误差表示为如下:
Figure BDA0001718430960000082
其中k为学习次数,Ik为第k次学习中输入神经网络的模板图像的标签值,
Figure BDA0001718430960000083
第k次学习中与该模板图像对应的第g个神经元输出的概率值。且其中梯度下降方法的迭代公式可表示为如下:
Figure BDA0001718430960000084
Figure BDA0001718430960000091
Figure BDA0001718430960000092
Figure BDA0001718430960000093
其中η为学习速率,当交叉熵误差Ek的值满足预先设定的阈值时,就可以得到训练好的神经网络模型。优选地,η可设置为0.01。优选地,交叉熵误差Ek的阈值大小可以根据系统实际所允许的精度来决定。或者优选地,可以预先设定优化迭代次数,例如15000次,以最后次的交叉熵误差Ek的值作为阈值。
作为本发明的第四实施例,其包括上述第一至第三实施例中任一实施例的基本步骤,并在上述实施例的基础之上,所述角点检测方法还可以包括用固定大小的模板对检测到的角点进行角点抑制,以避免将一个角点误检为多个角点。例如,当用10×10的滑动窗口以及5个像素的固定步长分割原图像时,有可能会导致将一个角点检测为多个角点,因此可以对检测出的角点进行抑制,以保证角点的唯一性。根据需要,如滑动窗口的大小、固定步长的大小等因素可以利用固定像素大小的模板进行角点抑制。如图5所示,以子图像大小的模板为例,每个块代表10×10的小图像。假设一子图像T的中心坐标(xc,yc)被判断为角点位置,即给该子图像对应于原图像的标签的标签值设置为1,接下来我们依次判断该子图像T周围的7个子图像(斜线填充)的标签值是否为1。若为1则说明该子图像存在角点,此时认为将一个角点误检为了多个角点,需要进行角点抑制。具体为将子图像T的中心坐标(xc,yc)及其周围7个子图像中标签值为1的子图像的中心坐标求平均值
Figure BDA0001718430960000094
并将坐标
Figure BDA0001718430960000095
作为新的角点位置,同时将周围7个子图像的标签值全部置为0。因为我们只将标签值为1的子图像的中心坐标所对应的平均坐标
Figure BDA0001718430960000096
认为是角点,这样就可以避免子图像大小的模板内检测到多个角点。若该子图像T周围的7个子图像的标签均为0,说明没有误检角点,则直接将(xc,yc)当做角点,即
Figure BDA0001718430960000097
图6示出了根据本发明第三实施例所述的角点检测方法的效果示意图,其中灰色圆点表示检测到的角点。从图中可以看出,本发明针对噪声干扰、线段干扰、像素高对比度仍具有高的角点检测准确率。
根据本发明的第五实施例,一种存储介质,其存储有计算机程序,所述计算机程序用于执行本发明第一至第四任一实施例所述的一种基于神经网络的角点检测方法。
根据本发明的第六实施例,一种图像处理系统,其具有存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明第一至第四任一实施例所述的一种基于神经网络的角点检测方法。
根据本发明的第七实施例,一种图像处理系统,其具有存储介质和处理器,所述存储介质存储有计算机程序,所述处理器运行存储介质中的计算机程序以执行本发明第一至第四任一实施例所述的一种基于神经网络的角点检测方法。
以上是对本发明的较佳实施例进行的具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (14)

1.一种基于神经网络的角点检测方法,其特征在于,所述方法包括如下步骤:
S1、对采集的图像进行预处理;
S2、对预处理后的图像进行边缘提取;
S3、将包含边缘的图像按照固定步长裁剪成多个像素大小均为m×n的子图像,并记录每个子图像在原图像中的坐标标签;
S4、利用字典学习对每个子图像进行降维处理以得到每个子图像的稀疏表示;
S5、将每个子图像的稀疏表示分别输入至预先训练好的神经网络,以神经网络的输出值来分别判断每个子图像中是否存在角点,若子图像中存在角点则将原图像对应于该子图像的坐标标签处认定为角点位置;
所述字典学习具体为:对于数据集
Figure FDA0003275883130000011
分别建立字典矩阵B和稀疏矩阵A使得X=B*A,且稀疏矩阵A为非冗余稀疏矩阵,其中xl=[xl (1)xl (2)…xl (D)]T为将待降维处理的m×n像素大小的图像进行逐行展开排列成D×1的列矩阵,l=1,2,3,……S,S为待降维处理的图像总数,D=m×n,且建立如下所示的目标函数来优化获得字典矩阵B和稀疏矩阵A:
Figure FDA0003275883130000012
其中al为对应于xl的稀疏矩阵,λ为调节字典矩阵误差大小和表示图像稀疏程度的权值。
2.根据权利要求1所述的一种基于神经网络的角点检测方法,其特征在于,所述步骤S3进一步为:记录每个子图像的中心坐标在原图像中的坐标标签,且所述步骤S5进一步为:若子图像中存在角点,则以原图像对应于该子图像中心坐标的坐标为中心,将周围m×n像素大小的矩形认定为角点位置。
3.根据权利要求1-2任一项所述的一种基于神经网络的角点检测方法,其特征在于,训练神经网络包括如下步骤:
A、获取角点与非角点训练集,其中所述训练集由一系列像素大小均为m×n的带角点和不带角点的模板图像组成;
B、利用字典学习对训练集中像素大小为m×n的模板图像进行降维处理以得到每个模板图像的稀疏表示;
C、将模板图像的稀疏表示分别多次输入至一神经网络结构,得到训练好的神经网络。
4.根据权利要求3所述的一种基于神经网络的角点检测方法,其特征在于,所述神经网络结构为BP神经网络结构,其包括输入层、隐含层和输出层,其中输入层的每个神经元的输出与输入相同,隐含层的传递函数为relu激活函数,且隐含层和输出层的传递函数分别表示为如下:
Figure FDA0003275883130000021
Og=f(netj)
其中Oi为输入层的第i个神经元的输出,d1为输入层神经元的总数,ωji为输入层的第i个神经元和隐含层的第j个神经元之间的神经元权值,θj为隐含层的第j个神经元的阈值,netj为隐含层的第j个神经元的输出,f()为传递函数,Og为输出层的第g个神经元的输出,其中隐含层的神经元总数根据需要任意设置,输出层的神经元总数为2。
5.根据权利要求4所述的一种基于神经网络的角点检测方法,其特征在于,输出层的传递函数f()为relu激活函数,其表示为如下:
Figure FDA0003275883130000022
其中d2为输出层神经元的总数,ωgj为隐含层的第j个神经元和输出层的第g个神经元之间的神经元权值,θg为输出层的第g个神经元的阈值。
6.根据权利要求4或5任一项所述的一种基于神经网络的角点检测方法,其特征在于,进一步根据下式将神经网络输出层的输出值Og(g=1,2)转换为概率值:
Figure FDA0003275883130000023
其中Q1+Q2=1,Q1表示模板图像中存在角点的概率,Q2表示模板图像中不存在角点的概率,当Q1大于一角点阈值时,判定该模板图像中存在角点,并以Q1的值作为每个模板图像在原图像中坐标标签处的标签值。
7.根据权利要求6所述的一种基于神经网络的角点检测方法,其特征在于,所述角点阈值设置为0.5。
8.根据权利要求7所述的一种基于神经网络的角点检测方法,其特征在于,进一步将判定为存在角点的模板图像所对应的Q1值设置为1,Q2的值设置为0。
9.根据权利要求7或8任一项所述的一种基于神经网络的角点检测方法,其特征在于,通过梯度下降方法来最小化神经网络输出层的交叉熵误差,以获得神经网络中的最优参数ωji、θj、ωgj和θg,其中神经网络输出层的交叉熵误差表示为如下:
Figure FDA0003275883130000031
其中k为学习次数,Ik为第k次学习中输入神经网络的模板图像的标签值,
Figure FDA0003275883130000032
第k次学习中与该模板图像对应的第g个神经元输出的概率值。
10.根据权利要求9所述的一种基于神经网络的角点检测方法,其特征在于,预先设置交叉熵误差Ek的阈值,当交叉熵误差Ek的值满足预先设定的阈值时,得到训练好的神经网络模型,其中,交叉熵误差Ek的阈值大小根据系统实际所允许的精度来确定,或者根据预先设定的优化迭代次数来确定。
11.根据权利要求1-2任一项所述的一种基于神经网络的角点检测方法,其特征在于,所述方法还包括用固定大小的模板对检测到的角点进行角点抑制,以避免将一个角点误检为多个角点。
12.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行权利要求1-11任一项所述的一种基于神经网络的角点检测方法。
13.一种图像处理系统,其特征在于,所述系统具有存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行权利要求1-11任一项所述的一种基于神经网络的角点检测方法。
14.一种图像处理系统,其特征在于,所述系统具有存储介质和处理器,所述存储介质存储有计算机程序,所述处理器运行存储介质中的计算机程序以执行权利要求1-11任一项所述的一种基于神经网络的角点检测方法。
CN201810719990.2A 2018-07-03 2018-07-03 基于神经网络的角点检测方法、存储介质与图像处理系统 Active CN109118473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810719990.2A CN109118473B (zh) 2018-07-03 2018-07-03 基于神经网络的角点检测方法、存储介质与图像处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810719990.2A CN109118473B (zh) 2018-07-03 2018-07-03 基于神经网络的角点检测方法、存储介质与图像处理系统

Publications (2)

Publication Number Publication Date
CN109118473A CN109118473A (zh) 2019-01-01
CN109118473B true CN109118473B (zh) 2022-04-12

Family

ID=64822872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810719990.2A Active CN109118473B (zh) 2018-07-03 2018-07-03 基于神经网络的角点检测方法、存储介质与图像处理系统

Country Status (1)

Country Link
CN (1) CN109118473B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783670B (zh) * 2019-01-28 2020-08-04 宝鸡文理学院 一种图像语义检索方法及系统
CN110163193B (zh) * 2019-03-25 2021-08-06 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机可读存储介质和计算机设备
CN110310254B (zh) * 2019-05-17 2022-11-29 广东技术师范大学 一种基于深度学习的房角图像自动分级方法
CN111401266B (zh) * 2020-03-19 2023-11-03 杭州易现先进科技有限公司 绘本角点定位的方法、设备、计算机设备和可读存储介质
CN112132163B (zh) * 2020-09-21 2024-04-02 杭州睿琪软件有限公司 识别对象边缘的方法、系统及计算机可读存储介质
CN112435295A (zh) * 2020-11-12 2021-03-02 浙江大华技术股份有限公司 黑体位置检测方法、电子装置以及计算机可读存储介质
CN112381838B (zh) * 2020-11-14 2022-04-19 四川大学华西医院 一种数字病理切片图像的自动切图方法
CN115345271A (zh) * 2021-05-14 2022-11-15 华为技术有限公司 一种数据处理方法及装置
CN113487594B (zh) * 2021-07-22 2023-12-01 上海嘉奥信息科技发展有限公司 一种基于深度学习的亚像素角点检测方法、系统及介质
CN113850238B (zh) * 2021-11-29 2022-03-04 北京世纪好未来教育科技有限公司 文档检测方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221283B2 (ja) * 2013-03-19 2017-11-01 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
CN103324942B (zh) * 2013-06-18 2016-12-28 安科智慧城市技术(中国)有限公司 一种图像分类方法、装置及系统
CN103902972A (zh) * 2014-03-21 2014-07-02 哈尔滨工程大学 一种水面移动平台视觉系统图像分析处理方法
CN105139412B (zh) * 2015-09-25 2018-04-24 深圳大学 一种高光谱图像角点检测方法与系统
CN105957095B (zh) * 2016-06-15 2018-06-08 电子科技大学 一种基于灰度图像的Spiking角点检测方法

Also Published As

Publication number Publication date
CN109118473A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
CN109118473B (zh) 基于神经网络的角点检测方法、存储介质与图像处理系统
CN108388896B (zh) 一种基于动态时序卷积神经网络的车牌识别方法
CN111639646B (zh) 一种基于深度学习的试卷手写英文字符识别方法及系统
CN113592845A (zh) 一种电池涂布的缺陷检测方法及装置、存储介质
CN107784288B (zh) 一种基于深度神经网络的迭代定位式人脸检测方法
CN107480585B (zh) 基于dpm算法的目标检测方法
CN101140216A (zh) 基于数字图像处理技术的气液两相流流型识别方法
CN113592923B (zh) 一种基于深度局部特征匹配的批图像配准方法
CN113378976B (zh) 一种基于特征顶点组合的目标检测方法、可读存储介质
CN112084849A (zh) 图像识别方法和装置
CN113888461A (zh) 基于深度学习的小五金件缺陷检测方法、系统及设备
CN113361542A (zh) 一种基于深度学习的局部特征提取方法
CN115147418B (zh) 缺陷检测模型的压缩训练方法和装置
CN110310305A (zh) 一种基于bssd检测与卡尔曼滤波的目标跟踪方法与装置
CN112800955A (zh) 基于加权双向特征金字塔的遥感影像旋转目标检测方法及系统
CN114120349A (zh) 基于深度学习的试卷识别方法及系统
CN112364881A (zh) 一种进阶采样一致性图像匹配算法
CN113313179A (zh) 一种基于l2p范数鲁棒最小二乘法的噪声图像分类方法
CN113989604A (zh) 基于端到端深度学习的轮胎dot信息识别方法
CN111144469B (zh) 基于多维关联时序分类神经网络的端到端多序列文本识别方法
CN109886320B (zh) 一种人体股骨x光片智能识读方法及系统
CN113111850B (zh) 基于感兴趣区域变换的人体关键点检测方法、装置与系统
CN110910332B (zh) 一种视觉slam系统动态模糊处理方法
CN109886105B (zh) 基于多任务学习的价格牌识别方法、系统及存储介质
CN116468940B (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