CN110570439B - 使用视觉系统在图像中查找和分类线的系统和方法 - Google Patents
使用视觉系统在图像中查找和分类线的系统和方法 Download PDFInfo
- Publication number
- CN110570439B CN110570439B CN201910484710.9A CN201910484710A CN110570439B CN 110570439 B CN110570439 B CN 110570439B CN 201910484710 A CN201910484710 A CN 201910484710A CN 110570439 B CN110570439 B CN 110570439B
- Authority
- CN
- China
- Prior art keywords
- line
- image
- lines
- gradient
- finding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 150
- 230000008569 process Effects 0.000 claims abstract description 95
- 238000013528 artificial neural network Methods 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims description 34
- 239000013598 vector Substances 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 8
- 238000009499 grossing Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000026676 system process Effects 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- YLJREFDVOIBQDA-UHFFFAOYSA-N tacrine Chemical compound C1=CC=C2C(N)=C(CCCC3)C3=NC2=C1 YLJREFDVOIBQDA-UHFFFAOYSA-N 0.000 description 1
- 229960001685 tacrine Drugs 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/143—Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
-
- 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
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
- G06V10/507—Summing image-intensity values; Histogram projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20068—Projection on vertical or horizontal image axis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种用于在图像中查找线特征的系统和方法,该系统和方法能够有效且准确地识别和表征多条线。当对线进行识别时,用户可以训练系统将预定(例如文本)标签与这些线相关联。这些标签可用于定义神经网络分类器。神经网络在运行时进行操作以在运行时图像中识别和评价通过线查找过程找到的线。可以使用标签和基于神经网络结果的相关分数图向用户显示所找到的线。没有标签的线是分数低的线,并且既未被界面标记,或又不相关。
Description
相关申请的交叉引用
本申请是2016年10月31日提交的题为“使用视觉系统在图像中查找线的系统和方法(SYSTEM AND METHOD FOR FINDING LINES IN AN IMAGE WITH A VISION SYSTEM)”的共同未决的美国专利申请序列号15/338,445的部分继续申请,该申请主张2015年11月2日提交的题为“使用视觉系统在图像中查找线的系统和方法(SYSTEM AND METHOD FOR FINDINGLINES IN AN IMAGE WITH A VISION SYSTEM)”的共同未决的美国临时申请序列号62/249,918的权益,上述申请的教导通过引用结合于本申请。
技术领域
本发明涉及机器视觉系统,更具体地涉及在所获取的图像中查找线特征的视觉系统工具。
背景技术
机器视觉系统(在本文中也简称为“视觉系统)用于制造业、物流业和工业中各种各样的任务。这些任务包括表面和零件检测、组装时的物体对准、图案和ID代码的读取以及需要视觉资料并对视觉资料进行解析以用于进一步处理的其它任何操作。视觉系统通常使用一个或多个摄像机来获取包含有用主题或对象的场景的图像。对象/主题可以是静止的或相对运动的。还可以由视觉系统导出的信息来控制运动,例如机器人操纵部件的情况。
视觉系统的常见任务是查找和表示图像中的线特征。能够使用各种工具来识别和分析这些线特征。典型地,这些工具依赖于在图像的一部分中的鲜明的对比差异。例如,使用卡尺工具分析该对比差异,以确定图像中具有对比差异的各个点是否可以形成线状特征。如果是,则在图像中标识线。值得注意的是,查找边缘点的工具和试图使点线拟合至点的工具独立地起作用。这增加处理开销以及降低可靠性。当图像包括多条线时,这些工具在精确识别方面具有局限性。此外,当图像包含具有相似取向和极性的多条紧密的线时,设计为在图像中查找单条线的传统的线查找工具存在局限。
另一个挑战是,在获取的图像中,对象的线条可能被遮挡或十分模糊。用户可能不确定找到的线的身份,并且可以实现离散识别的机制需要编写复杂的规则和脚本,增加了视觉系统的设置和训练中的时间和成本。
发明内容
为克服现有技术的缺点,本发明提供一种用于在图像中查找线特征的系统和方法,该系统和方法能够有效且准确地识别和表征多条线。当对线进行识别时,用户可以训练系统将预定(例如文本)标签(labels)与这些线相关联。这些标签(在此也称为“标记(tags)”)可用于定义神经网络分类器。神经网络在运行时(runtime)进行操作以在运行时图像中识别和评价通过线查找过程找到的线。可以使用标签和基于神经网络结果的相关分数图向用户显示所找到的线。没有标签的线是分数低的线,并且既未被界面标记,或又不相关。
在示例性实施例中,提供了一种基于一个或多个摄像机在获得的图像上查找线特征的系统和方法。该系统和方法包括:视觉系统处理器;与所述视觉系统处理器关联的界面,所述界面允许相对于在对象的训练图像中由线查找过程定位的相关线创建离散标签。运行时线查找过程在获取的图像中定位线,并且神经网络过程基于标签使用一个或多个分类器来确定相对于标签的线特征的概率图。运行时结果生成过程为至少一个相关的线提供标签和概率分数。说明性地,所述运行时结果生成过程提供非相关的线的概率分数,和/或包括突出线并且提供与突出的线相关的概率分数的界面。所述概率分数图与所述获得的图像的大小相似。线查找过程包括接收含有线特征的场景的图像数据的处理器,所述处理器包括边缘点提取器;所述边缘点提取器:(a)从所述图像数据计算梯度向量场;(b)将所述梯度向量场投影在多个梯度投影子区域上;以及(c)基于投影的梯度数据查找各个梯度投影子区域中的多个边缘点。处理器还包括线查找器,生成与从所述图像中提取的边缘点一致的多条线。说明性地,线查找器过程运行基于RANSAC的过程,以将内点边缘点匹配到新线上,包括从相对于预先定义的线的外点边缘点对线迭代地进行定义。梯度场投影沿着按照响应于一个或多个线特征的预期定向确定的方向得到定向和/或可以基于高斯核来定义粒度。边缘点提取器配置为在每一个所述梯度投影子区域查找多个梯度幅值最大值。梯度幅值最大值分别被识别为由位置向量和梯度向量所描述的所述多个边缘点中的一部分。线查找器配置为通过对度量标准进行计算确定所提取的多个边缘点中的至少一个边缘点和所发现的多条线中的至少一条候选线之间的一致性,所述度量标准基于所述至少一个边缘点到所述至少一条候选线的距离,以及所述至少一个边缘点的梯度方向与所述至少一条候选线的法线方向之间的角度差。说明性地,图像数据包括来自从多个摄像机获取的多个图像的数据。基于此,将图像转换至公共坐标空间。
在示例性实施例中,提供了一种基于一个或多个摄像机在获得的图像上查找线特征的系统。该系统和方法包括视觉系统处理器;与所述视觉系统处理器关联的界面,所述界面允许相对于在对象的训练图像中由线查找过程定位的相关线创建离散标签。还包括在获得的图像上对线进行定位的运行时线查找过程,以及基于由线查找过程定位的线为所述界面生成所述标签的K-NN分类器。
附图说明
参考以下附图对本发明进行说明。
图1是根据示例性实施例的获取包括多个边缘特征的对象的图像的示例性视觉系统的设置,以及包括边缘查找工具/模块和相关标签界面处理器/模块的视觉系统处理器的图。
图2是示出根据示例性实施例的用于在获取的图像中进行边缘点提取和线查找的系统和方法的概略图。
图3是根据图2的系统和方法的边缘点提取过程的流程图。
图4是显示在包含边缘特征的图像区域上的场投影,是图3的边缘点提取过程的一部分。
图5是显示将高斯核(Gaussian kernel)应用于图像以平滑图像的图,用于图3的边缘点提取过程。
图6是显示场投影的图,包括应用高斯核平滑投影,用于图3的边缘点提取过程。
图7是显示图3的边缘点提取过程的图形概览的图,包括应用高斯核并计算边缘点的绝对和归一化对比阈值。
图8是显示具有足够的绝对对比阈值和归一化对比阈值的边缘点的合格的对比区域的图表。
图9是使用根据示例性实施例的示例性RANSAC过程,基于图3中找到的边缘点的线查找过程的流程图。
图10和图11是分别显示对具有紧密间隔的平行线特征的边缘点进行错误对准和正确对准的图。
图12和图13是分别显示对具有交叉线特征的边缘点进行正确对准和错误对准的图,这可以根据示例性系统和方法的线查找器来解决。
图14至图17分别显示呈现出从亮到暗的极性,从暗到亮的极性,从亮到暗或从暗到亮的极性,或者混合的极性的线的示例,这可以根据示例性系统和方法的线查找器来解决。
图18是显示基于用户定义的掩膜对找到的线的覆盖分数进行修改的图。
图19是显示使用包括参考对象图像中的有用的线(lines of interest)的标签(labels)/标记(tags)的界面来训练线查找工具的过程的流程图。
图20是显示示例性的用户界面显示的图,包括对话框和具有有用线的训练对象的图像,用于执行图19的训练过程。
图21是用于使用根据图19的训练的线查找器的查找线的运行时过程的图像,包括将标签分配至有用线和基于(例如,神经网络)分类器的概率分数,从而找到线。
图22是显示示例性的用户界面显示的图,该显示包括根据图21的线查找器运行过程找到的线的对象的图像,示出了不相关的线的标签和概率分数。
图23是显示示例性的用户界面显示的图,该显示包括根据图21的线查找器的运行时过程找到的线的对象的图像,示出了有用线的标签和概率分数。
具体实施方式
I.系统概述
图1示出了根据示例性实施例的示例性的视觉系统配置100。系统100包括至少一个视觉系统摄像机110,并且可包括一个或多个附加的可选摄像机112(以虚线示出)。示例性摄像机110、112包括图像传感器(或成像器)S和相关电子设备,以用于获取图像帧并将图像帧发送到视觉系统过程(处理器)130,视觉系统过程(处理器)130可以实现为独立处理器和/或计算设备140。摄像机110(和112)包括聚焦在具有检测对象150的场景的适当的镜头/光学器件116。摄像机110(和112)可以包括根据图像获取过程操作的内部和/或外部照明器(未示出)。计算设备140是根据示例性实施例的能够存储和操作图像数据的任何可接受的基于处理器的系统。例如,计算设备140可以包括PC(如图所示)、服务器、便携式电脑、平板电脑、智能电话或其他类似设备。计算设备140可以包括适当的外围设备,例如与摄像机互连的基于总线的图像采集卡。在替代实施例中,视觉处理器可以部分或完全包含在摄像机主体内,并且可以与共享和处理图像数据的其他PC、服务器和/或基于摄像机的处理器互联。计算设备140可选地包括适当的显示器142,显示器142支持根据视觉系统过程(处理器)130提供的视觉系统工具和处理器132操作的适当的图形用户界面(GUI)。应注意,可以在各种实施例中省略显示器和/或显示器仅用于提供设置和服务功能。视觉系统工具可以是任何可以用于检测对象的可接受的软件和/或硬件包的一部分,例如,能够在市面上获得的马萨诸塞州纳蒂克的康耐视公司(Cognex Corporation)的产品。计算设备还可以包括相关联的用户界面(UI)组件,例如包括键盘144和鼠标146,以及显示器142内的触摸屏。
摄像机110(和112)对位于场景内的对象150中的一些或全部进行成像。每个摄像机限定光轴OA,基于光学器件116,焦距等围绕光轴OA建立视场。对象150包括分别沿不同方向配置的多个边缘152、154和156。例如,对象边缘可以包括安装在智能手机主体的玻璃盖的边缘。作为示例,摄像机可以对整个对象或特定位置(例如,玻璃与主体的相交处)进行成像。可以相对于对象、摄像机中的一个或另一个参考点(例如支撑对象150的移动台)建立(公共)坐标空间。如图所示,由坐标轴158表示坐标空间。这些坐标轴示例性地定义正交的x、y和z轴以及在x-y平面围绕z轴的旋转的θz。
视觉系统过程(处理器)130包括线查找过程、工具或模块134,其根据示例性实施例在获取的图像中定位多条线。图2以图形方式描绘了根据示例性实施例的线查找过程200。过程200由两个主要部分组成。向处理器提供输入图像210。如图所示,图像包括一对相交的边缘212和214。这些可以表示上述对象150的角落区域。边缘点提取器220处理输入图像210以获得候选边缘点的集合230,集合230包括分别位于边缘212和214的边缘点232和234。边缘点232、234及其相关数据(例如下面描述的强度梯度信息)被提供给递归线查找器240,其在选定的边缘点上执行一系列迭代过程。迭代过程的目标是尝试将找到的其他边缘点拟合到候选线特征。线查找过程240生成如图所示的线252和254。可以将这些结果提供给使用该信息的其他下游过程260,例如对齐过程、机器人操作、检测、ID读取、零件/表面检测等。
II.线查找处理(器)
图3描述了根据实施例的用于提取边缘点的过程。获取包含要查找的边缘特征的对象或表面的一个或多个场景图像(步骤310)。可以通过单个摄像机或多个摄像机提取图像。在任一情况下,在步骤320中,可以(可选地)通过适当的校准参数将图像像素转换到新的和/或公共坐标空间。该步骤还可以包括如下的对图像进行平滑的步骤。在特定实施例中,多个摄像机对场景的不连续区域进行成像(例如聚焦在较大对象的角落区域),公共坐标空间可以解释摄像机的视场(fields of view)之间的空白区域。如下,可以通过示例性实施例的系统和方法推测在这些视场之间延伸的线(例如,连接两个找到的角落区域的对象边缘)。在步骤330中,通过使用梯度场投影(field projection)的边缘点提取器,在位于适当的坐标空间的图像中提取查找线所需的边缘点。首先为每个像素计算梯度值,为x和y梯度分量生成两个图像。通过在许多类似卡尺的区域上投射梯度场来进一步处理图像。与传统的投射强度值的卡尺工具不同,通过根据实施例投射梯度场,可以保持梯度方向,从而有利于在下面介绍的随后的线查找过程。
在步骤340中,参考图4的图表,对包括候选边缘特征的图像的一部分(卡尺状区域)400进行梯度场投影(由多个投影410、420、430表示),通过在正交的投影方向(箭头PD)重复横跨区域400,在查找方向(箭头SD)上,在边缘(接近)预期方向进行查找。对于每一个投影(例如,投影420),边缘表现为在与投影相关的梯度场440中的局部最大值。通常,投影内与边缘相关的一系列边缘点将表现出与该边缘的延伸方向正交的强度梯度(向量552、554)。如下,用户可以根据预期的线方向定义投影方向。或者,可以默认提供或通过其他机制进行提供(例如分析图像中的特征)。
上述梯度投影步骤中涉及两个粒度参数(granularity parameters)。在进行梯度场计算之前,用户能够选择使用各向同性高斯核平滑图像。第一粒度确定高斯平滑核的尺寸。如图5的图500所示,使用适当尺寸的高斯核(例如大的512、中等的514、小的516)用于平滑图像210。因此,第一粒度参数在场计算之前确定各向同性高斯平滑核的尺寸。
在梯度场计算之后,该过程执行高斯加权投影,而不是传统卡尺工具中的均匀加权。因此,第二粒度参数确定在如图6所示的场投影期间使用的一维(ID)高斯核的尺寸,其中,区域600经过高斯平滑核610、620、630处理。在一个典型的操作中,用户验证(使用GUI)覆盖在图像上的所有提取的边缘,接着调整粒度和对比阈值,直到沿着待查找的线提取的边缘数量令人满意,同时避免由于图像的背景噪声导致的边缘数量过多的问题。换言之,这一步骤优化图像特征的信噪比。系统能够使用各实施例中的默认值自动默认执行这一过程。需要注意的是,高斯加权函数是用于加权投影的各种方法中的一种,所述用于加权投影的各种方法包括(例如)平均加权。
在图7的700中,以图表形式说明了梯度场提取和投影的整个流程。两个粒度参数,各向同性高斯核710以及一维高斯核720分别显示在整个示意图700的半边。如图所示,每一个获取的图像210经历平滑和抽取730处理。如上,接着生成的图像740经过梯度场计算750处理,生成两个梯度图像752和754。这些梯度图像还表示为gx和gy,在公共坐标空间中代表两个正交轴。需要注意的是,根据一实施例,由于所处理的强度信息也用于计算归一化对比,因此除了两个梯度图像之外,强度图像756也经历平滑、抽取和投影过程760(使用基于一维高斯核720的高斯加权投影770)处理,对此将在下面进行说明。结果为梯度图像772(gx)、774(gy)和强度图像776的投影轮廓。
进一步参考过程300的步骤350(附图3),接着通过组合x和y梯度图像两者的一维投影轮廓提取合格的边缘点。这通过基于强度图像(Intensity image)使用原始的对比计算780和归一化对比计算790来实现。更特别地,根据以下示例性公式,同时具有超过各自阈值的原始投影梯度幅值和归一化投影梯度幅值的任何局部峰值被认为是随后的线查找的候选边缘:
(gx 2+gy 2)1/2>TABS
(gx 2+gy 2)1/2/I>TNORM
其中gx和gy分别为像素位置中的x梯度和y梯度投影的值,I为强度,TABS为原始投影梯度幅值的绝对对比阈值,TNORM为强度归一化投影梯度幅值的归一化对比阈值。
需要注意的是,只有当一个点的绝对和归一化对比都超过它们各自的阈值时,才认为这个点是候选边缘点。这在归一化对比阈值TNORM对绝对对比阈值TABS的图表800中的右上方象限810示出。使用双重(绝对和归一化)阈值的方法与通常使用绝对对比阈值的现有方法不同。双重对比阈值的优势明显,举例来说,当图像同时包括具有有用边缘的暗和亮的强度区域时具有优势。为了在图像的暗区域中检测边缘,需要设定低的对比阈值。然而,低的对比阈值在图像的亮处会导致错误的边缘检测。相反,为了避免在图像的亮处发生错误的边缘检测,需要设定高的对比阈值。然而,当设定高对比时,系统可能无法充分检测图像暗处的边缘。通过在传统的绝对对比阈值之外,使用第二归一化对比阈值,系统能够恰当地检测全部暗处和亮处的边缘,并避免在图像的明亮区域发生错误的边缘检测。因此,通过在实现相关边缘的检测的同时避免错误的边缘,双重对比阈值的使用有助于最大化整个过程之后的线查找阶段的速度和鲁棒性(robustness)。
进一步地,参考过程步骤350(图3),在提取所有边缘点后,边缘点将表示和存储为便于随后的线查找器进行操作的数据结构。需要注意例如以下元组:
p=(x,y,gx,gy,gm,go,I,gm/I,m,n)
其中(x,y)为边缘点的位置,(gx,gy)为其各自的x梯度投影值和y梯度投影值,(gm,go)为从(gx,gy)中计算得到的梯度幅值(magnitude)和方位,I为边缘点位置的强度,gm/I为通过将梯度幅值gm除以强度I得到的强度归一化对比,m为图像索引(index),n为投影区域索引。和标准卡尺工具中一样,能够对边缘点的位置进行内插以提高精度。
需要注意的是,大体上,操作边缘点提取过程以在单一方向运行场投影,单一方向基本上匹配预期线角度。因此,该工具对该角度的边缘最敏感,对其它角度的边缘的敏感度逐渐衰减,其中,衰减的速率取决于间接确定场投影长度的粒度设置。因此,该过程被限定为查找角度“接近”预期线角度的线,这受制于用户指定的角度范围。虽然该过程适于找到不正交的线,但是可以预期在各种实施例中可以通过在包括正交方向的多个方向上(全方位的线查找)执行投影来找到在360度的任何角度的线。
现在参照过程300的步骤360(图3),根据一示例性实施例,将阈值的边缘点候选提供到线查找器。作为示例,线查找器递归地进行操作并使用(例如)基于随机抽样一致性(RANSAC)的方法。可以参考图9的线查找过程900。在步骤910中,用户通过(例如)GUI在图像中指定预期线的最大数量以及预期角度、角度公差、距离公差和(示例性地)最小覆盖分数(在下面大体定义)。线查找器使用这些参数以操作以下过程。通过递归运行RANSAC线查找器为图像的每一个子区域查找线,来自一个阶段的边缘点外点(outlier)成为下一阶段的输入点。因此,在步骤920中,过程900选择一对边缘点,这一对边缘点是识别为边缘查找过程中的极值(extrema)的一组边缘点的一部分。过程900试图通过与模型线一致的匹配梯度值(在选定的公差范围内),将模型线匹配到选定的边缘点。在步骤924中,步骤922的一个或多个候选线得到返回。每一个线查找阶段返回候选线、其内点(inlier)和外点(outlier)。返回的线(多条线)经过具有与候选线一致的位置和梯度的内点边缘点的计算。在步骤928中,识别具有最大内点数的候选线。当上述线查找阶段达到所允许的RANSAC迭代的最大次数(判断步骤930)时,上述线查找阶段(步骤920-928)结束。每一个线查找阶段内的最大迭代次数是通过使用内部计算的最坏情况下的外点比例和用户指定的保证水平来自动计算。每一个线查找阶段返回线,该线具有在其所有迭代中所采集的最大数量的边缘点,这受限于用户指定的匹配公差、几何约束和极性。每一个边缘点只能指定到单条线的内点列表,每一条线只允许包括来自每一个投影区域的至多一个边缘点。边缘点的梯度方向及其位置用于确定是否将其包括在候选线的内点列表中。特别地,边缘点应该具有与候选线的角度一致的梯度方向。
如果判断步骤930确定允许更多迭代,则来自最佳的内点候选的外点将返回(步骤940)到RANSAC过程(步骤920)以用于查找候选线。
在每一个RANSAC迭代期间,随机选取属于不同投影区域的两个边缘点,并且将一条线匹配到这两个点。生成的候选线只在其角度与一对点的全部两边缘的梯度角度一致,并且线的角度与用户指定的不确定角度一致时,才接受进一步考虑。大体上,边缘点的梯度方向名义上是正交的,但允许通过用户配置的角度公差设置差异。如果候选线通过这些初始测试,则对内点边缘点的数量进行评估,否则启动新的RANSAC迭代。边缘点只有在其梯度方向和位置与线一致时,才会被视为候选线的内点,这基于用户指定的梯度角度和距离公差。
当RANSAC迭代达到最大值(判断步骤930)时,通过使用(例如)最小二乘回归或者其他可接受的相似算法,使所找到的最佳候选线的内点经历得到改进的线匹配,并且对内点边缘点的集合进行重新评估,这些步骤最多重复N次(例如3或更多),直到内点数量停止进一步增加或者减少(步骤960)。这在步骤970中指示为找到的线。
判断步骤980确定是否需要找到更多的线(通过(例如)进一步查找子区域或按照另一个标准),如果需要,过程循环返回到步骤920以对一组新的边缘点进行操作(步骤982)。当点已经耗尽或达到最大迭代次数时,过程900在步骤990中返回图像的一组(即多条)找到的线。
多线查找器适用于当两条线在检测区域内相交的一些情况下对现有结果进行最终调整。大体如图10和图11所示,对于紧密的平行线1010和1020,由于RANSAC过程的统计性质,有时会获得错误的线结果(即图10)。然而,当发生错误时,交换内点组(图11中组1110的箭头1120)可能会定位具有高覆盖分数和低匹配残差的正确的线。如图所示,当图像包括紧密的平行线时,点交换是最有效的。相反,如图12和图13所示,当图像包括实际上相交的线1210和1220时,在点交换后(图12的组1240的箭头1230)覆盖分数会降低,因此,过程对交换前得到的初始结果进行保留,以成功地检测相交的线。
需要注意的是,RANSAC过程只是能够通过线查找器将点匹配到线的各种方法中的一种。在替代实施例中,可以通过在它们之间设定位移来选择候选点,或者能够使用(例如)穷举搜索技术处理图像。因此,应在广义上理解本文使用的RANSAC技术,从而包括各种相似的点匹配技术。
该系统和方法能够提供另外的功能。这些功能包括支持混合极性、自动计算投影区域宽度、支持多视图线查找以及允许输入图像免受预翘曲的影响从而移除光学畸变。在下面对这些功能进行进一步说明。
进一步参考图14至16的示例,说明性实施例的线查找系统和方法大体支持标准的亮到暗、暗到亮和两者的任一极性设置(分别地),用于在找的的边缘之间的对比。另外,系统和方法也能够支持混合极性设置(图17),在混合极性设置中亮到暗和暗到亮两者的特征出现在同一条线上。接下来的附图中显示了所有4种设置的线查找结果。在一示例性实施例中,系统和方法能够包括混合极性设置,该混合极性设置允许查找包括相反极性的边缘点的单条线。这与传统设置的“两者之一”极性不同,在传统的“两者之一”极性的设置中,单条线的所有边缘点为两极性中的一个,但只有一个极性。当用于分析(例如)校准板的亮和暗棋盘以及其他应用时,混合极性设置具有优势。
用户能够选择线查找的改进的位移不变性(shift invariance)。在这种情况下,边缘点提取器使用实质上重叠的投影区域以提高结果稳定性。当区域未重叠时,当图像位移时,所考虑的像素可能潜在地移出投影区域,这导致位移不变性不佳的线查找结果。重叠的投影区域确保所考虑像素由投影区域连续覆盖。如果使用重叠的投影区域,那么能够进行增量计算以保持速度以及可能的底层(low-level)优化。
用户能够提供掩膜(mask),该掩膜从线特征的分析中省略所获取的图像和/或成像表面的某些部分。当表面包括无用的已知线特征时(例如利用其他机制分析的条形码,以及文本和其他与查找线的任务无关的任何其它结构)可以用到掩膜。因此,边缘点提取器能够支持图像掩膜,其中对“不考虑”的图像区域进行掩蔽,对“考虑”区域不进行掩蔽。作为示例,当发生上述掩蔽时,找到的线的覆盖分数将根据落入掩膜内的边缘点数量进行重新加权。
图18的示例的图像区域1800示出了当存在图像掩膜时的覆盖分数以及该图像掩膜对覆盖分数产生的影响。边缘点提取器支持图像掩膜,掩蔽图像中的“不考虑区域”。如图所示,找到的线1810通过考虑的边缘点得到表征(基于“考虑”的掩膜区域1820)。该考虑边缘点由线1810的考虑边缘点内点1830和线1810的考虑边缘点外点1840组成。如图所示,尽管边缘点1850作为内点位于线上,但不考虑在掩膜的考虑区域1820之间的边缘点1850,并且,也不将其包括在覆盖分数计算中。如图所示,还确定沿着线1810的边缘点的潜在位置1860。这些潜在位置基于找到的点的间距以可以预测的间隔定位在己知点之间。作为示例,根据落在掩膜内的边缘点的数量来重新加权找到的线的覆盖分数。因此,覆盖分数修改为:
覆盖分数=线的考虑边缘点内点数量/(线的考虑边缘点内点的数量+线的考虑边缘点外点的数量+边缘点的考虑潜在位置的数量)。
在基于本文的系统和方法运行线查找过程后,能够基于用户指定的分类标准(通过(例如)GUI)以各种方式对所找到的线进行分类。用户能够从例如内点覆盖分数、强度或对比等固有分类度量中选择。用户也能够从外在分类度量中选择,例如标记的距离或相对角度。使用外在分类度量时,用户能够指定参考线线段(segment),并根据该分段计算所找到线的外在度量。
—般如上,该系统和方法能够包括多视场(MF0V)过载(overload),其中来自不同视场的图像向量能够进入至过程。图像应该全部在基于校准的公共客户端坐标空间中。如上所述,该功能在使用多个摄像机捕获单一部分的局部区域的应用场景中极其有用。因为边缘点保留梯度信息,所以仍然可以解析在视场中的间隙间投影的线特征(当两个视场的梯度与给定的线方向和每一个视场的对齐相匹配时)。
需要注意的是,假设失真不严重,该系统和方法不需要(允许图像免受影响)移除翘曲(即不要求图像未翘曲(unwarped)),以消除非线性失真。在图像的未翘曲处,该系统和方法仍然能够检测候选边缘点,并通过非线性变换映射点位置和梯度向量。
III.线标签训练界面和运行时过程(Runtime Process)
再次参考图1,视觉系统过程(处理器)130还包括如下所述的标签界面和在训练和运行时使用的相关过程(处理器)136。另外,视觉系统过程(处理器)包括神经网络、统计分类器和/或K最近邻居(K-NN分类器)过程(处理器)138,或与神经网络、统计分类器和/或K最近邻居(K-NN分类器)过程(处理器)138进行交互,由此,从过程(处理器)137接收图像数据和相关分类器,而过程(处理器)137与标签过程136交互,对此将在下面进行说明。标签界面过程(处理器)136在训练时间操作以允许用户将特定(通常是文本的/字母数字的)描述(此处称为“标签”或“标记”)与对象图像中的有用的线进行关联。这些过程(处理器)通过提供在工具结果中自动标记找到的线的附加功能来增强上述线查找工具的功能。
图19示出了训练线查找过程的过程1900。训练过程1900包括用户提供的有用线的标签(通常以文本和/或字母数字的形式)。在步骤1910中,用户查看对象的训练图像,这通常是模型对象的实际图像,但也可以部分或完全地由CAD或其他合成方法生成。用户识别图像内的有用的线(例如平板电脑或智能电话的玻璃盖的边缘)。可以创建例如“内壳的内边缘”、“外壳的内边缘”等标签来描述有用的线。用户访问(从可能的标签列表中)或创建定义线的一系列术语,并将这些术语存储在数据库中以用于训练图像(步骤1920)。
用户获取或访问视觉系统检测的对象的一个或多个图像,并在其上操作训练过程(处理器)(步骤1930)。训练过程包括操作上述的线查找工具。该工具使用用户设置的参数在每个训练图像中自动地找到多条线。
图20示出了用户界面显示屏2000。显示屏2000包含窗口2010,窗口2010描绘视觉系统检查的对象的训练图像。该图像包含一系列找到的线,通常由突出显示的标记2020、2022、2024、2026、2028和2029表示。显示器强调显示(通常以不同的颜色)特定有用的线2032(如下描述的示例性“内壳的内边缘”被用户点击或标记,以应用标签)。标记2022-2026涉及对视觉系统任务来说并非特别有用和/或未被点击的线。通常,这里定义的“线”基本上是图像中的线性阶梯边缘(step edge),其中线查找器返回数学线拟合作为结果。对于元件2030(是任务相关边缘并且将在训练期间由用户标记),在其任一侧上描绘了两个相关联的阶梯边缘(参见2028和2029)。
用户访问包括定义的标签2042、2044、2046和2048的菜单2040。用户可以使用光标2050或其他界面组件点击所期望的标签,然后点击找到的有用的线(线2030),从而在该特定线上建立标签(步骤1940)。应注意,不必标记所有找到的线,只需标记用户所需的相关线。如果图像中缺少一个或多个相关线,则与该线关联的标签保持未分配状态。
在标记该组训练图像的线结果之后,对工具进行训练并且将数据存储在有关对象/视觉系统任务的适当数据库中(步骤1950)。随后,当训练的工具在图像上运行时,该工具不仅会找到多条线,而且还会自动为每条找到的线分配一个唯一的标签(如果找到的线与用户的应用无关,则可能没有标签)。这使得用户不必对线结果(例如,在脚本代码中)进行确定每个找到的线的身份的后处理。
根据(可选的)步骤1960,可以将识别的(标记的)线提供给神经网络工具,用于在运行时处理和评价图像的线特征。在提供给用户的训练界面之外,将参数提供给神经网络,并且可以进行预编程(例如优化的参数以搜索图像中的线特征)。因此,用户仅负责向在训练时间生成的线查找器分配文本标签。神经网络(或下面大体描述的其他过程)用于对由上述的线查找工具返回的候选线特征进行概率分数。更具体地,在训练时,一旦线找到训练窗口2010,并且用户为他想要标记的线选择名称,也为每一条标记线创建神经网络分类器。分类器可以使用与用户在训练界面2000中定义和应用的标签相同(或类似)的名称。例如,如果用户选择一条线并分配标签“内壳的内边缘(Inner Housing Inner Edge)”,则该过程创建一个具有相同名称的分类器,并将当前图像与线特征向量一起添加到分类器。
可以采用各种商业上可获得的神经网络工具,其具有定制的或根据本领域的技术的适当编程,从而,从输入图像中提取候选线特征。还应该清楚的是,上述线查找过程是从图像传递找到的线的各种线查找工具和技术的示例。
现在参考图21的运行时过程2100,通过先前的获取过程获取和/或提供对象的运行时图像(步骤2110)。该图像被传递到视觉系统和相关处理器130,其基于训练模型操作上述线查找工具134,包括相关标签(步骤2120)。线查找工具返回所有包括标记的和未标记线。接下来,在步骤2130中,运行在训练时间创建的神经网络(或下面描述的使用分类器的其他过程),并且获得概率分数图(probability score map)。概率分数图是有关像素是否对应于神经网络已经得到训练的特征向量的图。该概率分数图与图像大小相同。然后定期对每个找到的线进行采样,并从分数图中为每个工具积分概率分数。在步骤2140中,基于哪条线具有每个标签的最大概率分数将标签分配给线。在步骤2150中,为用户存储和显示有关标签和概率分数的线查找步骤的结果,和/或用于其他下游使用任务,例如部件检查(通过/失败)、机器人控制等。
图22示出了在示例性运行时对象上的运行时结果的显示(基于图20的训练对象),其中突出显示相关线(阶梯边缘)2210。还描绘了附加的相关线(例如,在线性特征2310周围的下部突出显示2228),并且描绘了对应于在训练步骤中训练的其他有用的线。还突出了几条不相关的线(2220、2222、2224)。用户点击了不相关的一条线(突出显示2220),在与其对应的信息窗口2230中描述为“无标签”,并且示出的相应的概率分数为零。相反,图23中,与图22的显示2200具有相同结果的显示2300,为具有标签“内壳的内边缘”的相关线2210提供信息框2320。这表示来自训练时间的用户标记的线特征,并且概率分数是0.635,这意味着找到的线更可能是得到正确标记的线。
举例来说,上文描述的神经网络分类器接收图像(像素数据)和定义线分段的特征作为输入。神经网络分类器的输出是一组图像,在单个图像中的每个像素是有关对应的输入像素是否与训练的线分段重合的信任度。输出图像的数量与分类器已经训练的线分段的数量相同。网络得到训练以在期望的输出图像上重现,该期望的图像可以是空间概率分布的二值或灰度表示,以及是对应于线的高梯度边缘或其他训练模式的高概率的窄脊。在运行时,分类器接收输入图像并生成突出显示神经网络断定训练的线分段可能与当前标签/标记相关联的区域的一组输出图像。
或者可以是统计训练分类器。该统计训练的分类器的输入可以是特征向量,该特征向量包括当前线分段的测量属性(例如,极性、位置、角度等)以及描述当前线分段与其相邻线分段(例如,到最近线的距离,相对角度等)之间的关系的测量属性,或线分段附近的图像的计算属性(例如,与线分段相切的一维强度图像投影,强度直方图统计等)。因此,本文所使用的术语“分类器”可以指产生标签的神经网络分类器或得到统计训练的分类器。该术语还可以指K近邻(K-NN)分类器和/或过程(处理器)。在采用统计分类器和/或K-NN分类器时,能够从过程1900和2100中省略概率分数或图的输出,并且不提供为界面的标签/标记显示。然而,上述分类器仍对标签处理的细化有帮助。
IV.结论
应该清楚的是,根据该系统提供的线查找器、方法和各种可替换实施例/改进是确定各种条件下的多种线特征的有效和鲁棒的工具。大体上,用于查找线特征时,该系统和方法对图像上待查找的线的最大数量没有特别的限制。所找到的线能够被标签和分类,从而确定其正确的概率,由此,提高线查找过程的可靠性和鲁棒性。
前文已详细描述了本发明的说明性的实施例。在不脱离本发明的思想和范围的情况下可进行各种修改和增加。为提供多种与新实施例相关的结合特征,上述各种实施例中的每一个实施例的特征可适当地与其他实施例的特征相结合。此外,虽然前文描述了一些本发明的设备和方法的单独的实施例,但本文的描述仅仅是对本发明原理的应用的说明。此处所使用的术语“过程(process)”和/或“处理器”应推广为包括各种基于功能和组件的电子硬件和/或软件(并且可替换地,能够被称为功能“模块”或“元件”)。此外,过程或处理器能够与其他过程和/或处理器组合或分为多个子过程或处理器。根据此处的实施例可对这种子过程和/或子处理器进行各种不同的组合。同样地,可明确设想到,本文的任何功能、过程和/或处理器能够利用电子硬件、软件或硬件和软件的结合实施,这些软件包括过程指令的非暂时计算机可读的媒介。还有,本文应用的各种方向性和倾向性的术语,如“纵向”、“水平方向”、“上方”、“下方”、“低端”、“顶端”、“侧边”、“前边”、“后边”、“左边”、“右边”等,只适用于相对情况,不作为关于固定坐标空间的绝对方位/倾向,如重力作用方向。另外,关于给定的度量、值或特征应用术语“实质上”或者“大约”时,是指实现所期望结果的正常操作范围内的量,除此之外,包括由于系统允许公差(例如1-5%)的固有误差和错误的一些变化。因此,该描述仅仅起示例性作用,并不旨在限制本发明的范围。
Claims (22)
1.一种基于一个或多个摄像机在获得的图像上查找线特征的系统,包括:
视觉系统处理器;
与所述视觉系统处理器关联的界面,所述界面允许相对于在对象的训练图像中由线查找过程定位的相关线创建离散的标签;
运行时线查找过程,其在获得的图像上对线进行定位;
使用分类器的神经网络过程,其基于所述标签确定相对于所述标签的线特征的概率图,其中所述分类器包括为每个标记标签的线创建的分类器;以及
运行时结果生成过程,为至少一个相关的线提供标签和概率分数。
2.根据权利要求1所述的系统,其中,
所述运行时结果生成过程提供非相关的线的概率分数。
3.根据权利要求1所述的系统,其中,
结果生成过程包括强调线并且提供与强调的线相关的概率分数的界面。
4.根据权利要求1所述的系统,其中,
所述概率分数图与所述获得的图像的大小相似。
5.根据权利要求1所述的系统,其中,
分类器过程使用神经网络分类器和统计训练分类器中的至少一个。
6.根据权利要求1所述的系统,其中,
线查找过程包括接收含有线特征的场景的图像数据的处理器,
所述处理器包括边缘点提取器;以及线查找器,
所述边缘点提取器:
(a)从所述图像数据计算梯度向量场;
(b)将所述梯度向量场投影在多个梯度投影子区域上;以及
(c)基于投影的梯度数据查找各个梯度投影子区域中的多个边缘点;以及
所述线查找器,生成与从所述图像中提取的边缘点一致的多条线。
7.根据权利要求6所述的系统,其中,
所述线查找器运行基于RANSAC的过程,以将内点边缘点匹配到新线上,包括从相对于预先定义的线的外点边缘点对线迭代地进行定义。
8.根据权利要求6所述的系统,其中,
梯度向量场投影沿着按照响应于一个或多个线特征的预期定向确定的方向得到定向。
9.根据权利要求6所述的系统,其中,
梯度向量场投影基于高斯核定义粒度。
10.根据权利要求6所述的系统,其中,
所述边缘点提取器配置为在每一个所述梯度投影子区域查找多个梯度幅值最大值,其中,
所述梯度幅值最大值分别被识别为由位置向量和梯度向量所描述的所述多个边缘点中的一部分。
11.根据权利要求6所述的系统,其中,
所述线查找器配置为通过对度量标准进行计算确定所提取的多个边缘点中的至少一个边缘点和所发现的多条线中的至少一条候选线之间的一致性,所述度量标准基于所述至少一个边缘点到所述至少一条候选线的距离,以及所述至少一个边缘点的梯度方向与所述至少一条候选线的法线方向之间的角度差。
12.一种基于一个或多个摄像机在获得的图像上查找线特征的系统,包括:
视觉系统处理器;
与所述视觉系统处理器关联的界面,所述界面允许相对于在对象的训练图像中由线查找过程定位的相关线创建离散的标签;
运行时线查找过程,其在获得的图像上对线进行定位;
为每个标记标签的线创建的统计分类器,其基于所述标签确定相对于所述标签的线特征的概率分数并为每个标记标签的线提供标签和概率分数。
13.一种基于一个或多个摄像机在获得的图像上查找线特征的系统,包括:
视觉系统处理器;
与所述视觉系统处理器关联的界面,所述界面允许相对于在对象的训练图像中由线查找过程定位的相关线创建离散的标签;
运行时线查找过程,其在获得的图像上对线进行定位;
为每个标记标签的线创建的K-NN分类器,其基于所述标签确定相对于所述标签的线特征的概率分数并为每个标记标签的线提供标签和概率分数。
14.一种基于一个或多个摄像机在获得的图像上查找线特征的方法,所述方法包括以下步骤:
提供与视觉系统处理器相关联的界面,所述界面允许相对于在对象的训练图像中由线查找过程定位的相关线创建离散的标签;
通过运行时线查找过程将找到的线定位在获得的图像;以及
使用分类器为至少一个相关的找到的线生成标签,其中所述分类器包括为每个标记标签的线创建的分类器;
所述方法还包括:
基于所述标签确定相对于所述标签的找到的线特征的概率分数,以及
为至少一个相关的线提供标签和概率分数。
15.根据权利要求14所述的方法,其中,
所述分类器包括至少一个神经网络分类器,并且还包括以下步骤:
生成非相关的找到的线的概率分数以进行提供。
16.根据权利要求15所述的方法,其中,
所述生成非相关的找到的线的概率分数以进行提供的步骤包括以下步骤:
在界面强调找到的线;以及
提供与强调的线关联的概率分数。
17.根据权利要求14所述的方法,其中,
所述分类器是神经网络分类器、统计训练分类器和K-NN分类器中的至少一个。
18.根据权利要求14所述的方法,其中,
所述线查找过程接收含有线特征的场景的图像数据,并包括边缘点提取器,
所述边缘点提取器,
(a)从所述图像数据计算梯度向量场;
(b)将所述梯度向量场投影在多个梯度投影子区域上;以及
(c)基于投影的梯度数据查找各个梯度投影子区域中的多个边缘点,
所述方法还包括:
计算与从所述图像中提取的边缘点一致的多条线的步骤。
19.根据权利要求18所述的方法,其中,
所述计算步骤运行基于RANSAC的过程,以将内点边缘点匹配到新线上,包括从相对于预先定义的线的外点边缘点对线迭代地进行定义。
20.根据权利要求18所述的方法,其中,
梯度场投影沿着按照响应于一个或多个线特征的预期定向确定的方向得到定向。
21.根据权利要求18所述的方法,其中,
所述边缘点提取器配置为在每一个所述梯度投影子区域查找多个梯度幅值最大值,其中,
所述梯度幅值最大值分别被识别为由位置向量和梯度向量所描述的所述多个边缘点中的一部分。
22.根据权利要求18所述的方法,其中,
所述计算与从所述图像中提取的边缘点一致的多条线的步骤包括通过对度量标准进行计算确定所提取的多个边缘点中的至少一个边缘点和所发现的多条线中的至少一条候选线之间的一致性,所述度量标准基于所述至少一个边缘点到所述至少一条候选线的距离以及角度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410530625.2A CN118521604A (zh) | 2018-06-06 | 2019-06-05 | 使用视觉系统在图像中查找和分类线的系统和方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/001,885 | 2018-06-06 | ||
US16/001,885 US10937168B2 (en) | 2015-11-02 | 2018-06-06 | System and method for finding and classifying lines in an image with a vision system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410530625.2A Division CN118521604A (zh) | 2018-06-06 | 2019-06-05 | 使用视觉系统在图像中查找和分类线的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110570439A CN110570439A (zh) | 2019-12-13 |
CN110570439B true CN110570439B (zh) | 2024-05-17 |
Family
ID=68651911
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410530625.2A Pending CN118521604A (zh) | 2018-06-06 | 2019-06-05 | 使用视觉系统在图像中查找和分类线的系统和方法 |
CN201910484710.9A Active CN110570439B (zh) | 2018-06-06 | 2019-06-05 | 使用视觉系统在图像中查找和分类线的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410530625.2A Pending CN118521604A (zh) | 2018-06-06 | 2019-06-05 | 使用视觉系统在图像中查找和分类线的系统和方法 |
Country Status (4)
Country | Link |
---|---|
JP (3) | JP2019220163A (zh) |
KR (3) | KR20190138755A (zh) |
CN (2) | CN118521604A (zh) |
DE (1) | DE102019115224A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906701B (zh) * | 2021-02-08 | 2023-07-14 | 重庆兆光科技股份有限公司 | 一种基于多注意力神经网络的细粒度图像识别方法及系统 |
CN117409261B (zh) * | 2023-12-14 | 2024-02-20 | 成都数之联科技股份有限公司 | 一种基于分类模型的元件角度分类方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050018023A (ko) * | 2003-08-12 | 2005-02-23 | 삼성전자주식회사 | 수평 방향 에지의 패턴을 고려한 순차주사화 알고리즘 |
US7010167B1 (en) * | 2002-04-30 | 2006-03-07 | The United States Of America As Represented By The National Security Agency | Method of geometric linear discriminant analysis pattern recognition |
CN102789573A (zh) * | 2011-05-16 | 2012-11-21 | 索尼公司 | 目标检测设备和方法及分类器训练设备和方法 |
JP2014092922A (ja) * | 2012-11-02 | 2014-05-19 | Tottori Univ | 検出装置、検出方法及び検出プログラム |
CN104166843A (zh) * | 2014-08-08 | 2014-11-26 | 西安交通大学 | 一种基于直线连续性的文档图像来源判别方法 |
CN107085585A (zh) * | 2016-02-12 | 2017-08-22 | 奥多比公司 | 用于图像搜索的准确的标签相关性预测 |
CN107424160A (zh) * | 2015-11-02 | 2017-12-01 | 康耐视公司 | 通过视觉系统查找图像中线的系统和方法 |
US9892301B1 (en) * | 2015-03-05 | 2018-02-13 | Digimarc Corporation | Localization of machine-readable indicia in digital capture systems |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400414B2 (en) * | 2005-10-31 | 2008-07-15 | Mitutoyo Corporation | Hand-size structured-light three-dimensional metrology imaging system and method |
US7831098B2 (en) * | 2006-11-07 | 2010-11-09 | Recognition Robotics | System and method for visual searching of objects using lines |
US8237935B2 (en) * | 2007-10-23 | 2012-08-07 | Gii Acquisition, Llc | Method and system for automatically inspecting parts and for automatically generating calibration data for use in inspecting parts |
US8565536B2 (en) * | 2010-04-01 | 2013-10-22 | Microsoft Corporation | Material recognition from an image |
WO2012032788A1 (ja) * | 2010-09-10 | 2012-03-15 | パナソニック株式会社 | 排他的分類器による一般物体の画像認識装置及び方法 |
US9536178B2 (en) * | 2012-06-15 | 2017-01-03 | Vufind, Inc. | System and method for structuring a large scale object recognition engine to maximize recognition accuracy and emulate human visual cortex |
JP2014149788A (ja) * | 2013-02-04 | 2014-08-21 | Nippon Telegr & Teleph Corp <Ntt> | 物体領域境界推定装置、物体領域境界推定方法及び物体領域境界推定プログラム |
JP6209069B2 (ja) * | 2013-11-26 | 2017-10-04 | 日本電信電話株式会社 | 境界検出装置、境界検出方法及びコンピュータプログラム |
US20150199592A1 (en) * | 2014-01-14 | 2015-07-16 | Microsoft Corporation | Contour-based classification of objects |
US9477892B2 (en) * | 2014-03-26 | 2016-10-25 | Xerox Corporation | Efficient method of offline training a special-type parked vehicle detector for video-based on-street parking occupancy detection systems |
CA2944829C (en) * | 2014-05-23 | 2022-10-25 | Ting Chen | Systems and methods for detection of biological structures and/or patterns in images |
CN106157283A (zh) * | 2015-04-01 | 2016-11-23 | 株式会社理光 | 道路分割物的检测方法和装置 |
CN105260699B (zh) * | 2015-09-10 | 2018-06-26 | 百度在线网络技术(北京)有限公司 | 一种车道线数据的处理方法及装置 |
JP6463593B2 (ja) * | 2015-11-02 | 2019-02-06 | コグネックス・コーポレイション | ビジョンシステムでラインを検出するためのシステム及び方法 |
-
2019
- 2019-06-03 JP JP2019104032A patent/JP2019220163A/ja active Pending
- 2019-06-05 DE DE102019115224.0A patent/DE102019115224A1/de active Pending
- 2019-06-05 CN CN202410530625.2A patent/CN118521604A/zh active Pending
- 2019-06-05 KR KR1020190066661A patent/KR20190138755A/ko active Application Filing
- 2019-06-05 CN CN201910484710.9A patent/CN110570439B/zh active Active
-
2021
- 2021-03-18 KR KR1020210035310A patent/KR20210032374A/ko not_active Application Discontinuation
- 2021-10-25 JP JP2021174197A patent/JP7393106B2/ja active Active
-
2023
- 2023-11-23 JP JP2023198728A patent/JP2024016287A/ja active Pending
-
2024
- 2024-04-26 KR KR1020240056058A patent/KR20240058827A/ko active Search and Examination
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010167B1 (en) * | 2002-04-30 | 2006-03-07 | The United States Of America As Represented By The National Security Agency | Method of geometric linear discriminant analysis pattern recognition |
KR20050018023A (ko) * | 2003-08-12 | 2005-02-23 | 삼성전자주식회사 | 수평 방향 에지의 패턴을 고려한 순차주사화 알고리즘 |
CN102789573A (zh) * | 2011-05-16 | 2012-11-21 | 索尼公司 | 目标检测设备和方法及分类器训练设备和方法 |
JP2014092922A (ja) * | 2012-11-02 | 2014-05-19 | Tottori Univ | 検出装置、検出方法及び検出プログラム |
CN104166843A (zh) * | 2014-08-08 | 2014-11-26 | 西安交通大学 | 一种基于直线连续性的文档图像来源判别方法 |
US9892301B1 (en) * | 2015-03-05 | 2018-02-13 | Digimarc Corporation | Localization of machine-readable indicia in digital capture systems |
CN107424160A (zh) * | 2015-11-02 | 2017-12-01 | 康耐视公司 | 通过视觉系统查找图像中线的系统和方法 |
CN107085585A (zh) * | 2016-02-12 | 2017-08-22 | 奥多比公司 | 用于图像搜索的准确的标签相关性预测 |
Non-Patent Citations (2)
Title |
---|
一种基于改进的支持向量机多分类器图像标注方法;吴伟 等;《 计算机工程与科学 》;20150807;第37卷(第7期);1338-1343 * |
基于非负矩阵分解的多标签分类算法研究;杨烁陶;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
KR20210032374A (ko) | 2021-03-24 |
JP7393106B2 (ja) | 2023-12-06 |
CN118521604A (zh) | 2024-08-20 |
JP2022009474A (ja) | 2022-01-14 |
JP2024016287A (ja) | 2024-02-06 |
DE102019115224A1 (de) | 2019-12-12 |
CN110570439A (zh) | 2019-12-13 |
KR20240058827A (ko) | 2024-05-03 |
KR20190138755A (ko) | 2019-12-16 |
JP2019220163A (ja) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11699283B2 (en) | System and method for finding and classifying lines in an image with a vision system | |
US11854173B2 (en) | System and method for finding lines in an image with a vision system | |
KR102649038B1 (ko) | 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법 | |
KR101247147B1 (ko) | 디지털 영상 획득 장치에서의 얼굴 탐색 및 검출 | |
US20240078801A1 (en) | System and method for finding and classifying lines in an image with a vision system | |
JP2024016287A (ja) | ビジョンシステムでラインを検出するためのシステム及び方法 | |
JP2016517587A (ja) | モバイル装置を用いて取込まれたデジタル画像におけるオブジェクトの分類 | |
JP2023134688A (ja) | ビジョンシステムで画像内のパターンを検出及び分類するためのシステム及び方法 | |
US20200302135A1 (en) | Method and apparatus for localization of one-dimensional barcodes | |
CN117788798A (zh) | 目标检测方法、装置、视觉检测系统及电子设备 | |
JP4292371B2 (ja) | 移動体監視装置 | |
Zou et al. | Statistical analysis of signal-dependent noise: application in blind localization of image splicing forgery | |
CN116051868A (zh) | 一种面向windows系统的界面元素识别方法 | |
US11657489B2 (en) | Segmentation of continuous dynamic scans | |
CN112508925A (zh) | 电子锁面板质量检测方法、系统、计算机装置和存储介质 | |
Wieslander | Digitizing notes using a moving smartphone: Evaluating Oriented FAST and Rotated BRIEF (ORB) | |
JP2018180606A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム |
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 |