CN113228035A - 用于对象识别的系统和方法 - Google Patents
用于对象识别的系统和方法 Download PDFInfo
- Publication number
- CN113228035A CN113228035A CN201880100466.5A CN201880100466A CN113228035A CN 113228035 A CN113228035 A CN 113228035A CN 201880100466 A CN201880100466 A CN 201880100466A CN 113228035 A CN113228035 A CN 113228035A
- Authority
- CN
- China
- Prior art keywords
- template
- region
- sub
- image
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004891 communication Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 39
- 238000003384 imaging method Methods 0.000 description 38
- 230000015654 memory Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 17
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000002059 diagnostic imaging Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 206010028980 Neoplasm Diseases 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000001931 thermography Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012285 ultrasound imaging Methods 0.000 description 1
Images
Classifications
-
- 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/52—Scale-space analysis, e.g. wavelet analysis
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/759—Region-based matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及对象识别的系统和方法。所述系统可以获取图像和模板。所述图像可以包括搜索区域,在所述搜索区域中进行对象识别过程的执行。在所述对象识别的过程中,对于所述搜索区域中的一个或多个子区域中的每个子区域,所述系统可以确定所述模板与所述子区域之间的匹配度,所述匹配度可以表征所述模板和所述子区域之间的相似度。进一步地,所述系统可以根据所述模板与所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域。
Description
技术领域
本申请涉及图像处理领域,特别涉及一种用于识别图像中对象的系统和方法。
背景技术
对象识别在图像处理领域中起着重要的作用。多种用于识别图像中对象的技术发明出来并广泛应用于,例如,机器视觉、航空航天遥感测量、医学图像分析、机器人导航和定位等领域。在一些实施例中,对象识别的结果可能极大地影响,例如,图像中的噪声、图像中对象的几何变换、图像中的亮度条件等。因此,有必要提供一种系统和方法,以提高图像中对象识别的准确度。
发明内容
本申请的一方面所涉及一种用于对象识别的系统。所述系统可以包括至少一个包括一组指令的存储介质以及至少一个与所述至少一个存储介质通信的处理器。当执行所述一组指令时,所述至少一个处理器被指示使所述系统用于获取包括搜索区域的图像以及包括至少两个特征点的模板;对于所述搜索区域中的一个或多个子区域中的每个子区域,确定所述模板与所述子区域之间的匹配度,所述匹配度至少与满足条件的特征点的数量相关;根据所述模板与所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域。
在一些实施例中,为了获取包括至少两个特征点的模板,所述至少一个处理器被指示使所述系统用于:获取所述对象的模板图像;在所述模板图像中,提取所述对象的一个或以上边缘点;以及将所述提取的一个或以上边缘点确定为所述至少两个特征点的至少一部分,根据所述确定的至少两个特征点的至少一部分,生成所述模板。
在一些实施例中,为在所述模板图像中提取所述对象的一个或以上边缘点,所述至少一个处理器被指示使所述系统用于:对于所述模板图像中的每个点,沿第一方向确定所述点的第一梯度以及沿第二方向确定所述点的第二梯度,所述第二方向与所述第一方向不同;以及根据所述点的第一梯度和所述点的第二梯度,确定所述点的加权梯度;以及提取加权梯度高于阈值的点作为所述模板图像中所述对象的一个或以上边缘点。
在一些实施例中,所述点的加权梯度与与所述第一梯度有关的第一加权系数和与所述第二梯度有关的第二加权系数有关。
在一些实施例中,所述第一加权系数或所述第二加权系数根据所述对象的类别确定。
在一些实施例中,对于所述搜索区域中的一个或多个子区域中的每个子区域,为了确定所述模板和所述搜索区域的子区域之间的匹配度,所述至少一个处理器被指示使所述系统用于:对于所述至少两个特征点中的每一个特征点,确定所述特征点与所述子区域中的点之间的相似度值;以及响应于所述特征点与所述子区域中的点之间的相似度值高于第二阈值,将所述特征点指定为与所述子区域中的点相似的点;以及用所述相似的点的数量表示所述匹配度。
在一些实施例中,所述特征点与所述子区域中的点之间的相似度值用所述特征点和所述子区域中的点之间的余弦距离表示。
在一些实施例中,根据所述模板和所述搜索区域的一个或多个子区域之间的匹配度,为了在所述一个或多个子区域中,确定与所述模板匹配的区域,所述至少一个处理器被指示使所述系统用于:指定所述搜索区域中的一个或多个子区域中与所述模板匹配度最大的子区域为目标子区域;以及在所述目标子区域中,确定与所述模板匹配的区域。
在一些实施例中,为了获得包括搜索区域的图像,所述至少一个处理器被指示使所述系统用于:获取所述图像的下采样图像;在所述下采样图像中,确定与所述模板的匹配区域相对应的区域;以及将所述下采样图像的所述区域映射到所述图像,生成所述图像的所述搜索区域。
在一些实施例中,为了获得包括至少两个特征点的模板,所述至少一个处理器被指示使所述系统用于:检索与所述模板相关的信息,所述与所述模板相关的信息包括所述至少两个特征点的位置信息、所述至少两个特征点的梯度信息以及所述至少两个特征点的数量。
本申请的另一方面所涉及一种方法,所述方法在包括至少一个处理器和至少一个存储介质的计算设备上实现。所述方法包括:获取包括搜索区域的图像;获取包括至少两个特征点的模板;对于所述搜索区域中的一个或多个子区域中的每个子区域,确定所述模板和所述子区域之间的匹配度,所述匹配度表征所述模板和所述子区域之间的相似度,所述匹配度至少与满足条件的特征点的数量相关;以及根据所述模板和所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域。
本申请的另一方面,一种用于图像识别的系统可以包括:图像获取模块,用于获取图像;模板获取模块用于获取模板和/或图像信息;以及相似度确定模块用于确定对象的图像和所述模板之间的匹配度。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域的普通技术人员是显而易见的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的示例性图像处理系统的示意图;
图2是根据本申请的一些实施例所示的示例性计算设备的硬件和/或软件的示意图;
图3是根据本申请的一些实施例所示的示例性计算设备的框图;
图4是根据本申请的一些实施例所示的对象识别的示例性过程的流程图;
图5是根据本申请的一些实施例所述的生成对象模板的示例性过程的流程图;
图6是根据本申请的一些实施例所示的在待识别图像中识别与对象匹配的区域的示例性过程的流程图;
图7是根据本申请的一些实施例所示的示例性边缘点提取的示意图;以及
图8是根据本申请的一些实施例所示的示例性搜索区域的示意图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
本申请所使用的术语仅为了描述特定示例性实施例,并不限制本申请的范围。如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。应该被理解的是,本申请中所使用的术语“包括”与“包含”仅提示已明确标识的特征、整体、步骤、操作、元素、及/或组件,而不排除可以存在和添加其他一个或多个特征、整体、步骤、操作、元素、组件、及/或其任意组合。
本申请的这些和其他特征、特点以及操作方法、结构中相关组件的功能、部件的结合以及制造成本等,在参考以下结合附图的描述时可能变得更加明显,以上所有这些构成本申请说明书的一部分。应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例的。
本申请使用的流程图示出了根据本申请的一些实施例所示的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时执行多个步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
本申请的一个方面涉及用于在图像中识别对象的方法和系统。为了识别图像中的对象,系统可以使用对象的模板与图像的不同子区域进行比较。比较结果可以由匹配度表示,匹配度表征对象的模板和图像的每个不同子区域之间的相似度。系统可以基于匹配度进一步确定图像中与对象的模板匹配的区域。在一些实施例中,对象的模板可以是,例如,从对象的模板图像中提取的特征点组成的特征点簇。对象的模板和图像的每个不同子区域之间的匹配度可以至少与满足特定条件的特征点的数量相关。
图1是根据本申请的一些实施例所示的示例性图像处理系统100的示意图。在一些实施例中,图像处理系统100可以用于智能运输系统(ITS)、安全系统、运输管理系统、监狱系统、天文观测系统、监测系统、物种识别系统、工业控制系统、身份(ID)识别系统、医学成像系统、检索系统等或其任意组合。智能运输系统(ITS)可以是用于监控交通违规的成像系统。交通违规可以包括闯红灯违规、超载违规、超速违规、非法停车、违反停车标志、未使用安全带、未为校车让道、在非机动车道非法驾驶、交通事故等或其任意组合。检索系统可以是用于识别图像内对象的对象检索系统。目标对象可以是任何特定对象,例如,人脸、动物、特定装置、与模板匹配的区域等或其组合。可选择地,检索系统可以是用于搜索来自图像数据库的感兴趣图像的图像检索系统。感兴趣图像可以是包括由用户定义或指定的目标对象的图像。
在一些实施例中,图像处理系统100可以包括二维(2D)成像系统、三维(3D)成像系统、全景成像系统、虚拟现实(VR)成像系统、网络成像系统、即时成像系统、电子眼系统、摄像机系统、热成像系统、可见光成像系统、超声成像系统、放射线扫描成像系统等或其任意组合。
如图1所示,图像处理系统100可以包括成像设备110、计算设备120、存储器130、终端140和网络150。在一些实施例中,成像设备110和计算设备120可以集成在一个设备中。可选择地,成像设备110可以安装在计算设备120的远程位置。
成像设备110可以被配置为捕获图像或视频。在一些实施例中,成像设备110可以包括用于捕获静止图像或视频的立体相机。立体相机可以包括双目视觉装置或多个摄像机。在一些实施例中,成像设备110可以包括数码相机。数码相机可以包括2D相机、3D相机、全景相机、VR(虚拟现实)相机、网络摄像机、即时成像相机等或其任意组合。数码相机可以添加到医学成像设备、夜视设备、雷达系统、声纳系统、电子眼、摄像机、热成像设备、智能手机、平板电脑、笔记本电脑、可穿戴设备(例如,3D眼镜)、机器人的眼睛等或其任意组合。数码相机还可以包括光学传感器、无线电检测器、人造视网膜、镜片、望远镜、显微镜等或其任意组合。
在一些实施例中,成像设备110可以获取对象的一个或多个图像。对象可以包括车辆、乘客、交通信号灯、交通标志、道路标志等或其任意组合。在一些实施例中,成像设备110可以获取对应于相同(或基本相同)或不同视野(FOV)的图像。FOV的尺寸可以根据相机的位置、相机的方向、成像时间等或其组合来调整。
在一些实施例中,成像设备110可以经由网络150将获取的视频和/或图像发送到计算设备120、存储器130和/或终端140。
计算设备120可以被配置为处理数据和/或生成图像处理系统100的控制信号。数据可以包括图像数据或视频数据。数据可以是模拟的或数字的。在一些实施例中,计算设备120可以生成控制信号,控制信号可以包括,例如,成像设备110的控制信号、识别图像内的对象的控制信号、将模板与图像进行匹配的控制信号、用于存储/删除数据的控制信号、在图像处理系统100的组件之间传输数据的控制信号等或其任意组合。在一些实施例中,控制信号可以是基于从成像设备110、存储器130、终端140接收的数据、用户的指令或者存储在存储器130中的指令生成的控制信号。
在一些实施例中,计算设备120可以包括一个或多个处理器以执行本申请中公开的处理操作。处理器可以包括微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASICs)、应用特定指令集处理器(ASIP)、中央处理器(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机(ARM)、可编程逻辑器件(PLD)以及能够执行一个或多个功能的任何电路和处理器等或其任意组合。例如,计算设备120可以包括一个微处理器用以处理由成像设备110捕获的图像。
在一些实施例中,处理操作可以包括分析和/或处理图像以生成处理后的图像(例如,平滑后的图像)。例如,为了更好地识别质量较差的图像中的对象,计算设备120可以预处理图像,例如,提高图像的质量。
在一些实施例中,计算设备120可以根据对象的模板或者具有相同或相似对象的图像(例如,模板图像),识别图像中的对象。例如,计算设备120可以根据处于“打开”状态的开关的模板在图像中识别处于“打开”状态的开关。类似地,计算设备120可以根据具有“关闭”状态的开关的模板在图像中识别处于“关闭”状态的开关。
在一些实施例中,计算设备120可以经由网络150从成像设备110、存储器130和/或终端140获取数据。在一些实施例中,由计算设备120处理的数据和/或图像可以存储在存储器130中。另外,训练模型、算法等可以存储在存储器130中。在一些实施例中,计算设备120和存储器130可以集成在一个设备中以存储和处理数据。
存储器130可以被配置为存储来自于成像设备110、计算设备120、终端140和/或图像处理系统100的其他组件的数据。在一些实施例中,存储器130可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。例如,大容量存储器可以包括磁盘、光盘、固态驱动器等。可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDRSDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM),可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,存储器130可以被配置为存储可以由图像处理系统100的处理器执行的一个或多个程序和/或指令,以执行本申请中描述的示例性方法。例如,存储器130可以被配置为存储由图像处理系统100的处理器执行的程序和/或指令,以捕获图像或视频、处理图像数据或视频数据或显示任何中间结果。例如,存储器130中的ROM可以存储算法以识别图像中由用户定义的对象模板。
终端140可以被配置为经由网络150从和/或向成像设备110、计算设备120或存储器130发送信息和/或接收信息。例如,终端140可以从其I/O接口接收用户指令并将用户指令发送到计算设备120以执行一个或多个操作。具体地,用户指令可以用于指示在一个或多个图像中识别用户自定义的对象模板。在一些实施例中,在终端140上显示的信息可以包括图像、视频、用户界面、数值、文本、控制信息、程序、软件、算法等或其任意组合。在一些实施例中,在终端140上显示的图像可以包括原始图像、重建图像、处理过的图像等或其任意组合。在一些实施例中,终端140可以包括智能电话、个人计算机、平板电脑、笔记本电脑、可穿戴设备(例如,智能手表、智能眼镜等)等或者任意组合。在一些实施例中,终端140和计算设备120可以集成在一个设备中,以执行本申请的终端140和计算设备120的示例性功能。
网络150可以被配置为促进图像处理系统100的组件(例如,成像设备110、计算设备120、存储器130和终端140)之间的通信。例如,成像设备110可以经由网络150发送数据到计算设备120。又例如,由计算设备120处理和/或生成的数据可以经由网络150发送到终端140。
在一些实施例中,网络150可以包括有线网络、无线网络或能够发送和接收数据的任何连接。在一些实施例中,有线网络可以包括使用金属电缆、光缆、混合电缆等的连接或其任意组合。在一些实施例中,无线网络可以包括近场通信(NFC),人体通信网络(BAN),个人局域网络(PAN,例如,蓝牙、Z波、ZigBee、无线USB)、近场区域网络(NAN),局域网,骨干网,城域网(MAN),广域网(WAN),因特网(IAN或云)等或者其任意组合。在一些实施例中,成像设备110、计算设备120、存储器130、终端140或网络150可以直接或间接地连接到彼此和/或相互通信。
在一些实施例中,成像设备110、计算设备120、存储器130和终端140中的两个或多个可以彼此集成。例如,计算设备120和终端140可以集成在一个设备中。又例如,成像设备110和计算设备120可以集成在一个设备中。在一些实施例中,上述组件中的一个或多个可以彼此远离。仅作为示例,计算设备120可以在云平台(例如,云计算平台或云存储平台)上实现。又例如,终端140可以由远程系统(例如,远程医疗系统或远程安全系统)控制。
应该理解的是,图1中所示的图像处理系统100的组件,可以通过各种方式实现。例如,组件可以通过硬件、软件或其组合实现。这里,硬件可以由专用逻辑实现,软件可以存储在存储器中并由适当的指令,例如,通过微处理器或专用设计硬件执行。本领域技术人员可以理解,本申请中描述的方法和系统可以由计算机的可执行指令和/或通过处理器中的控制代码来实现,例如,诸如磁盘、CD、DVD-ROM之类的载体介质提供的代码、或者诸如只读存储器之类的可编程存储器提供的代码、或者诸如光信号载波或电信号载波之类的数据载波提供的代码。本申请中的系统和方法可以由在超大规模集成电路、门阵列芯片、诸如晶体管的半导体、现场可编程门阵列、可编程逻辑设备、由各种处理器执行的软件等或其组合(例如,固件)上的可编程硬件设备中的硬件电路实现。
图2是根据本申请的一些实施例所示的示例性计算设备的硬件和/或软件的示意图。计算设备120可以用于实现图像处理系统100的设备/组件/模块/单元。计算设备120可以包括总线210、处理单元(CPU或处理器)220、只读存储器(ROM)230、随机存取存储器(RAM)240、存储设备250、输入/输出(I/O)端口260和通信端口270。
总线210可以连接计算设备120的各种组件并在其中传输数据。总线210可以是几种类型的总线结构中的任意一种。总线结构可以包括存储器总线、外围总线和使用多种总线结构中任意一种的本地总线。
I/O端口260可以用于,例如,在总线210和外部设备(例如,成像设备110)之间传输数据。I/O端口260可以包括USB端口、COM端口、PS/2端口、HDMI端口、VGA端口等或其任意组合。通信端口270可以在总线210和外部设备,例如,网络150,成像设备110等之间传输数据。通信端口270可以包括网络接口卡(NIC)。
处理单元220可以包括多个核或处理器、高速缓存等。多核处理器可以是对称的或不对称的。ROM230、RAM240和存储设备250可以被配置为存储数据,例如数据252。ROM230可以存储基本的输入/输出(BIOS)。基本输入/输出(BIOS)可以提供有助于计算设备120内的设备/组件之间传输信息的基本例程,例如,在计算机操作系统的初始化期间。存储设备250可以为数据252提供非易失性存储器。存储设备250可以通过驱动接口连接到总线210。存储设备250可以包括硬盘、固态盘(SSD)、闪存卡、磁盘驱动器、光盘驱动器、磁带驱动器等或其任意组合。在由处理单元220处理之前,数据252可以通过总线210传送到RAM240。
数据252可以包括实现计算机可读指令、数据结构、图像、信息、临时数据和其他数据的数据或代码。计算机可读指令可以由处理单元220执行,以执行各种功能,例如,计算设备120的功能、成像设备110的功能、终端140的功能、网络150的功能、生成和/或操作数据结构(例如,神经网络)的功能等或其任意组合。一组相关的计算机可读指令可以大包围软件。临时数据可以是处理单元220执行任何计算机可读指令时生成的数据。
图3是根据本申请的一些实施例所示的示例性计算设备120的框图。计算设备120可以包括图像获取模块310、模板获取模块320、相似度确定模块330和匹配区域确定模块340。
图像获取模块310可以被配置为获取图像。图像可以包括感兴趣的图像、对象的图像和/或目标图像等。例如,图像获取模块310可以获取一张图像,该图像中的一个或多个对象需要识别。图像获取模块310可以获取图像或者与图像有关的信息,图像可以是通过网络150从成像设备110、终端140和/或存储器130接收的图像。在一些实施例中,图像获取模块310可以将模板图像发送到模板获取模块320以生成模板。
模板获取模块320可以被配置为获取模板。模板获取模块320可以从,例如,存储器320,获取对象的模板。对象的模板可以由训练的模型生成并用作模板以识别在另一图像中的对象。在一些实施例中,模板获取模块320可以提取图像中对象的信息以生成对象的模板。对象的信息可以包括颜色信息、灰度值信息、边缘信息、线、角、点等。
相似度确定模块330可以被配置为确定对象的图像和目标图像之间的相似度。例如,相似性确定模块330可以确定对象模板和目标图像中搜索区域的一个或多个子区域之间的匹配度,匹配度表征对象模板和子区域之间的相似度。
匹配区域确定模块340可以被配置为确定与对象模板匹配的区域。例如,匹配区域确定模块340可以在图像搜索区域中的一个子区域中识别与对象模板匹配的区域。
计算设备120中的模块可以通过有线连接或无线连接与彼此连接或通信。有线连接可以包括金属电缆、光缆、混合电缆等或其任意组合。无线连接可以是局域网(LAN)、广域网(WAN)、蓝牙、ZigBee、近场通信(NFC)等或其任意组合。两个或以上模块可以集成在一个模块。所述模块中的任一个可以被分成两个或以上单元。
图4是根据本申请的一些实施例所示的对象识别的示例性过程400的流程图。过程400可以由图像处理系统100执行。例如,过程400可以实现为存储在图像处理系统100中的存储器130中的一组指令(例如,应用程序)。计算设备120可以执行该组指令,并且可以相应地被指示以在图像处理系统100中执行过程400。下面呈现的所示过程400的操作旨在是说明性的。在一些实施例中,过程400可以用未描述的一个或多个附加操作来完成,并且/或可以删除的一个或多个操作。另外,执行过程400的操作的顺序如图4所示,下面描述并不旨在限制。
在410中,计算设备120(例如,图像获取模块310)可以获取图像。图像可以从存储设备(例如,存储器130)、成像设备110或终端140获得。图像可以包括感兴趣的图像,目标对象可以在感兴趣的图像中识别。例如,在面部识别的应用中,图像可以包括要识别的用户定义的面部。
图像可以包括搜索区域。搜索区域指的是要执行识别目标对象的操作的区域。搜索区域可以覆盖整个图像或图像的一部分。例如,假设图像的尺寸为256×256像素,图像的搜索区域的尺寸可以是128×128像素。
在一些实施例中,搜索区域可以根据来自终端140的用户指令来限定。例如,用户可以经由终端140的I/O指定整个图像或图像内的区域为搜索区域。可选地或附加地,搜索区域可以根据一个或多个算法确定。例如,计算设备120可以提取要识别的目标对象的初步轮廓,并指定覆盖目标对象初步轮廓的区域为搜索区域。又例如,搜索区域可以根据图像中的一个或多个点来确定。具体地,在特定点在图像中识别之后,覆盖该特定点的具有预定形状或大小的区域可以被指定为搜索区域。关于确定图像中搜索区域的细节可以参见本申请的其他地方(例如,图6及其相关描述)。
在420中,计算设备120(例如,模板获取模块320)可以获取对象的模板。对象的模板可以用作模板以识别图像中的目标对象(例如,与对象的模板匹配的区域)。例如,在面部识别的场景中,可以使用面部的模板来识别图像中的面部。又例如,在交通监控中,可以使用交通信号灯的模板识别图像中的交通信号灯。又例如,在医学成像场景中,肿瘤的模板可用于识别医学图像中的肿瘤区域。
对象的模板可以是各种形式,例如图像、点簇、线的组合等。在一些实施例中,可以根据对象的图像生成对象的模板。例如,模板获取模块320可以在对象的图像中提取颜色信息、灰度值信息、边缘信息、线、角等,以生成对象的模板。在一些实施例中,可以通过训练好的模型生成对象的模板。示例性训练好的模型可以包括零基模型、高斯模型、隐马尔可夫模型(HMM)等或其任意组合。
仅用于说明目的,对象的模板可以由与对象相关的至少两个特征点生成。可以根据各种点提取算法从对象的图像中提取对象的至少两个特征点。例如,可以根据对象的图像中的点的梯度从对象的边缘中提取一个或多个特征点。又例如,可以根据曲率的导数从对象的角中提取一个或多个特征点。又例如,可以从对象的边缘部分提取一个或多个特征点,其中,在对象的图像中,对象边缘部分的颜色强度或亮度发生突变。可选地或附加地,对象的模板可以包括通过将特征点连接在一起而产生的一个或多个线(例如,目标的轮廓线)。
在一些实施例中,与对象的模板有关的信息可以存储在存储器130中。与对象的模板有关的示例性信息可以包括特征点的位置信息、特征点的梯度信息、特征点的数量、特征点的灰度值信息、特征点的颜色信息等。特征点的位置信息可以包括特征点的坐标、特征点相对于对象模板的重心的位置或与特征点相关的矢量。特征点的梯度信息可以包括不同方向上特征点的梯度(例如,X方向上的梯度、Y方向上的梯度)。当获取对象的模板时,模板获取模块320可以从存储器130检索与对象的模板相关的信息。
在一些实施例中,对象的模板可以对应于如本申请其他地方(例如,图5中的操作540)所描述的多级图像金字塔中与对象匹配的区域。
在430中,对于搜索区域中的一个或多个子区域中的每个子区域,计算设备120(例如,相似度确定模块330)可以确定子区域与对象的模板之间的匹配度,匹配度可以表征对象的模板和子区域之间的相似度。一个或多个子区域中的每个子区域可以对应搜索区域的一部分。不同的子区域(例如,两个相邻的子区域)可以彼此重叠或不重叠。
在一些实施例中,一个或多个子区域可以使用滑动窗口确定。例如,滑动窗口可以一定的步长在搜索区域内滑动。滑动窗口每次滑动所覆盖的区域可以被指定为搜索区域的子区域。例如,如果滑动窗口以步长从搜索区域的左半边滑动到搜索区域的右半边滑动10次,可以生成搜索区域的10个子区域。滑动窗口可以具有各种形状,例如,矩形、圆形、椭圆形、多边形、不规则形状等。具体地,如果滑动窗口是矩形的,则一个或多个子区域中的每个子区域可以具有与滑动窗口的形状对应的矩形形状。
在一些实施例中,滑动窗口可以具有不小于对象模板的尺寸。例如,对象的模板可以完全投影到滑动窗口中。确定一个或多个子区域的更多细节可以在本申请的其他地方(例如,图6及其相关描述)中找到。
搜索区域的一个或多个子区域中的每一子区域可以包括至少两个点。在一些实施例中,可以将搜索区域的一个或多个子区域中的每个子区域中的至少两个点与对象模板中的至少两个特征点进行比较,分别生成匹配度。
匹配度可以指示对象的模板和搜索区域的一个或多个子区域中的每个子区域之间的相似度。在一些实施例中,匹配度可以与满足第一条件的特征点相关。第一条件可用于筛选出与子区域中的点具有较高相似度的特征点。第一条件可以涉及特征点的梯度信息、特征点的灰度值信息、特征点的颜色信息、特征点的像素信息、特征点和子区域中的对应点之间的余弦距离等或其任意组合中。例如,第一条件可以包括子区域中的特征点和对应点之间的余弦距离小于阈值。匹配度可以由满足第一条件的特征点的数量表示。又例如,第一条件可以包括特征点和子区域中的对应点之间的灰度值平方差或灰度值的差小于阈值,相应地,匹配度可以分别用灰度值的平方差的和以及灰度值的差的绝对值的和来表示。
在440中,计算设备120(例如,匹配区域确定模块340)可以根据模板和搜索区域的一个或多个子区域之间的匹配度,在一个或多个子区域中,确定与模板匹配的区域。
在一些实施例中,与对象的模板匹配的区域可以根据满足第二条件的匹配度来确定。例如,在匹配度由特征点的数量表示的情况下,与模板匹配的区域可以被认为是在具有的特征点数量最多的子区域内。又例如,在匹配度由灰度值的平方差的和或灰度值的差的绝对值的和表示的情况下,与对象的模板匹配的区域可被认为是在灰度值的平方差的和或灰度值差的绝对值的和小于阈值或最小的子区域内。
应当注意,以上说明只是说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本申请的范围。
图5是根据本申请的一些实施例所示的生成对象模板的示例性过程500的流程图。过程500可以由图像处理系统100执行。例如,过程500可以实现为存储在计算设备120中的存储设备中的一组指令(例如,应用程序)。计算设备120可以执行一组指令,并且可以相应地被指示在图像处理系统100中执行过程500。下面呈现的所示过程500的操作旨在是说明性的。在一些实施例中,过程500可以用未描述的一个或多个附加操作来完成,和/或删除一个或多个操作。另外,如图5所示的过程500的操作的顺序是非限制性。在一些实施例中,操作420可以根据过程500或其至少一部分来实现。
在510中,计算设备120(例如,图像获取模块310)可以获取对象的图像。对象的图像可以是从成像设备110、存储器130或终端140获取的对象的图像。在一些实施例中,对象的图像可以被称为模板图像,并且图像中的对象或其表示可以进一步被视为用于后续过程中的对象识别的模板。
在520中,计算设备120(例如,模板获取模块320)可以基于对象的图像生成多级图像金字塔。示例性的多级图像金字塔可以包括高斯金字塔、拉普拉斯金字塔、Steerable金字塔或任何其他合适的图像金字塔。
多级图像金字塔可以包括对应于对象的至少两个对应区域的至少两个水平的图像。例如,至少两个水平的图像可以是对象在多个水平的匹配区域,例如,分别从最粗的水平到最细的水平。在相对较低水平(例如,相对较粗的水平)的图像中与对象匹配的区域比在相对较高水平(例如,相对较细的水平)的图像中与对象匹配的区域可以包含相对较少的信息。具体地,相对较高水平的图像中可以包括更多的像素数量,更高的分辨率等。在一些实施例中,操作420中描述的对象的模板可以从多级图像金字塔中的任何水平的图像中提取。
在一些实施例中,在操作510中获取的对象的图像可以认为是对应于最细水平的对象匹配区域的最高水平图像。最高水平的图像可以向下采样以生成第二高水平的图像,以此类推。在至少两个下采样操作之后,可以生成多级图像金字塔。在一些实施例中,下采样操作可以包括降低较高水平图像的尺寸和分辨率。例如,较高水平的图像的大小和分辨率可能是其下一个较低水平图像的两倍。为了生成较低水平的图像,可以用单个像素替换较高水平图像的像素块(例,2×2像素块)中的像素,并且可以对像素块中的像素的值进行平均以生成单个像素的值。或者,可以通过具有适当掩模尺寸的平均滤波器实现或替换下采样操作。平均滤波器可以包括算术平均滤波器、几何平均滤波器、谐波平均滤波器、对比谐波平均滤波器等或其任意组合。例如,3×3平均滤波器可以用来用像素与其相邻像素的平均值代替像素的值。
在一些实施例中,多级图像金字塔中不同水平的图像的数量可以预先确定。例如,可以规定个水平图像的数量,使得最低水平图像的分辨率不小于阈值(例如,64×64像素)。又例如,可以动态地通过用户输入或由计算设备120预先确定水平图像的数量。具体地,计算设备120可以根据可用的计算资源动态地调整多级图像的水平图像的数量。
在530中,对于多级图像金字塔中与对象匹配的每个区域,计算设备120(例如,模板获取模块320)可以确定对象的一个或多个边缘点。如这里所使用的,可以将边缘点视为如本申请其他地方所述的特征点。在一些实施例中,与对象匹配的区域的一个或多个边缘点可以通过边缘滤波器获取。示例性的边缘滤波器可以包括Canny边缘滤波器、Sobel边缘滤波器等或其组合。
在一些实施例中,对于与图像匹配的特定区域,一个或多个边缘点可以是对应水平图像中的点(例如,像素),其中,一个或多个边缘点的至少一个梯度满足第三条件。点的至少一个梯度可以包括沿一个或多个方向的点的一个或多个梯度。一个或多个方向可以是彼此不同的任何两个方向,例如彼此正交的两个方向。
为描述方便,以二维图像为例,像素的至少一个梯度可以沿X方向(例如,水平方向)或Y方向(例如,垂直方向)。沿X方向的像素的梯度可以由像素与其沿X方向上的一个或多个相邻像素之间的像素值差表征,或者由沿X方向的两个或多个相邻像素之间的像素值差表征。类似地,沿Y方向的像素的梯度可以由像素与其沿着Y方向的一个或多个相邻像素点之间的像素差值表征,或者可以由沿Y方向的两个或多个相邻像素之间的像素值差表征。点的至少一个梯度可以满足第三条件。第三条件可以包括沿一个方向(例如,X方向或Y方向)的点的梯度高于阈值,或者第三条件可以包括点沿两个方向的梯度的和(例如,加权和)高于另一阈值。
为了更好地说明,公式(1)为用于表示确定边缘点的第三条件。第三条件可以是点沿两个方向(例如,X方向和Y方向)的梯度的加权和高于阈值。
α×Gx+β×Gy>t (1)
其中,Gx和Gy分别指X方向和Y方向的梯度,α和β分别指X方向和Y方向的加权系数,t指阈值。在一些实施例中,阈值t可以是预设值,或者计算设备120可以根据不同条件动态调整的值。
在一些实施例中,为了提高边缘点确定的准确度,可以根据不同的条件设置加权系数α和β。例如,当对象在X方向上的尺寸大于在Y方向上的尺寸时,可以设置加权系数α的数值大于加权系数β的数值。当对象在X方向上的尺寸等于在Y方向上的尺寸时,可以设置加权系数α的数值等于加权系数β的数值。在一些实施例中,计算设备120可以根据对象的类别确定加权系数。例如,在提取图像中的对象的边缘点之前,计算设备120可以根据,例如,对象在不同方向上的尺寸或与目标相关的任何描述信息或指令等,将对象分类到特定类别中。计算设备120可以根据,例如,预设规则,确定适合于特定类别的加权系数。应当注意,根据公式(1)确定边缘点的过程主要基于对象的几何特征。对象的几何特征不容易受到图像中对象外观的影响,图像中对象的外观的变化可以是,例如,失焦、亮度变化、尺寸变化等引起的。
在540中,对于多级图像金字塔中与对象匹配的每个区域,计算设备120(例如,模板获取模块320)可以根据对象的一个或多个边缘点生成对象模板。在一些实施例中,对于多级图像金字塔中与对象匹配的每个区域,计算设备120可以收集对象的一个或多个边缘点的信息,并将其存储在存储器130中。一个或多个边缘点的信息可以包括边缘点相对于对象的重心的位置、边缘点的梯度信息、边缘点的数量、边缘点的灰度值信息、边缘点的颜色信息等或其任意组合。
在一些实施例中,计算设备120可以从存储器130检索来自存储器130的一个或多个边缘点的信息,并且根据需要,根据其信息排列一个或多个边缘点以生成对象的模板。
应当注意的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。例如,可以通过上采样最粗水平的图像生成第二粗水平的图像,以此类推。然而,这些变化和修改不脱离本申请的范围。
图6是根据本申请的一些实施例所示的在待识别图像中识别与对象匹配的区域的示例性过程600的流程图。过程600可以由图像处理系统100执行。例如,过程600可以实现为存储在计算设备120中的存储设备中的一组指令(例如,应用程序)。计算设备120可以执行该组指令,并被指示在图像处理系统100中执行过程600。下面呈现的所示过程600的操作旨在是说明性的。在一些实施例中,过程600可以用未描述的一个或多个附加操作来完成,和/或删除的一个或多个操作。如图6所示的过程600的操作的顺序并不旨在限制。
在步骤610中,计算设备120(例如,图像获取模块310)可以获取对象的模板图像和目标图像。
对象的模板图像可用于提供对象的模板(例如,对象模板)。对象的模板可以由计算设备120根据,例如,过程500的至少一部分生成。在一些实施例中,可以从存储设备(例如,存储器130)或终端140获取对象的模板图像。
目标图像可以是包括与对象的模板匹配的区域的图像。在一些实施例中,目标图像中与对象的模板匹配的区域的一些方面,例如,亮度、清晰度、形状等,可以与模板图像中的对象不同。在一些实施例中,目标图像可以由成像设备110捕获或者从存储设备(例如,存储器130)或终端140获取。
在620中,计算设备120(例如,模板获取模块320)可以基于对象的模板图像确定第一多级图像金字塔。类似于操作520中描述的多级图像金字塔,第一多级图像金字塔的每个水平可以包括从对象的模板图像生成的对象的水平图像。对象的至少两个多级图像中与对象匹配的区域可以具有从较粗水平到较细水平的不同水平细节。对象的每个水平图像可以根据,例如,类似于操作530和540的过程,进一步转换为对象模板。这样,可以生成对应于目标的不同级别的对象模板。
在630中,计算设备120(例如,模板获取模块320)可以基于目标图像生成第二多级图像金字塔。类似于操作520中描述的多级图像金字塔,第二多级图像金字塔的每个水平可以包括从对象的模板图像生成的对象的水平图像。第二多级图像中的至少两个水平图像可以对应于目标图像中的相同场景,但可以具有不同的分辨率或不同的大小。
第二多级图像金字塔和第一多级图像金字塔可能具有相同数量的水平。在一些实施例中,可以根据至少两个下采样操作生成第一多级图像金字塔和第二多级图像金字塔。例如,对象的模板图像可以被指定为第一多级图像金字塔的最高水平图像,并进一步下采样以产生第二高水平图像,以此类推等。目标图像可以被指定为第二多级图像金字塔的最高水平图像,并且进一步向下采样以生成第二高水平图像,以此类推。
在640中,计算设备120(例如,相似度确定模块330)可以将第一多级图像金字塔当前水平对应的对象模板与第二多级图像金字塔的相应水平图像相匹配。如这里所使用的,第二多级图像金字塔的水平图像与对象模板对应可以指的是第二多级图像金字塔的水平图像和对应与对象模板的第一多级图像金字塔的图像处于两个多级图像金字塔的相同水平。
当前水平可以是第一多级图像金字塔的包括最粗水平到最细水平中的任何水平。在一些实施例中,最粗水平可以被指定为初始当前水平,过程600可以通过执行操作640至660来迭代地更新当前水平,直到满足操作650中的条件。在当前水平,计算设备120可以识别与对象模板匹配的相应水平图像的搜索区域内的子区域。搜索区域可以是相应水平图像的整个或一部分。例如,如果当前水平为最粗水平,整个对应的水平图像可以被指定为搜索区域,并且可以在当前水平执行穷举搜索。又例如,如果当前水平为较高的水平,则可以根据其先前较低级别的匹配结果指定对应图像的一部分作为搜索区域。
在一些实施例中,可以根据滑动窗口在对应图像的搜索区域内确定至少两个子区域。为了找出与对象模板匹配的子区域,计算设备120可以计算匹配度,匹配度可以用来指示对象模板与每个子区域之间的相似度。在一些实施例中,对象模板和每个子区域之间的匹配度可以通过,例如,每个子区域中的与其对应点的距离满足特定条件的特征点的数量来测量。
为了说明目的,计算设备120可以检索特征点的信息,建立特征点和在每个子区域中的点之间的点对点关系。对于特征点及其子区域中的对应点,计算120可以计算它们之间的距离(也被称为“相似度值”)。如果距离高于阈值,计算设备120可以确定特征点与对应点相似。计算设备120还可以计算与子区域中的对应点相似的所有特征点。具有最大数量的对应特征点的子区域可以被视为与对象模板匹配的子区域。
为了更好地说明上述匹配过程,可以使用特征点与其对应点之间的余弦距离来表征特征点与其对应点之间的相似度。余弦距离可以根据公式(2)计算:
其中,S是指在子区域中的特征点和其对应点之间的相似度值(余弦距离),是指沿X方向的特征点的梯度,是指沿着Y方向的特征点的梯度,是指在沿X方向上的子区域中对应点的梯度,是指沿X方向的子区域中的对应点的梯度。在一些实施例中,上述所有梯度值可以被归一化在0到1的范围内,从而可以减弱缺失部分、亮度变化、噪声等的影响。
在650中,计算设备120(例如,相似度确定模块330)可以确定当前水平是否是最后水平。在一些实施例中,最后水平可以是第一多级图像金字塔的最佳水平。如果当前水平是最后水平,则过程600可以进行到操作670。否则,过程600可以进行到操作660。
在660中,计算设备120(例如,相似度确定模块330)可以将当前水平下匹配的子区域的位置信息映射到下一个水平(例如,在当前水平相邻的相对更加细的水平)。匹配的子区域的位置信息可以包括匹配的子区域的一个或多个特征点(例如,中心点)。在映射之后,可以在下一水平的图像中确定对应于一个或多个特征点的一个或多个映射点。下一个水平图像中的一个或多个映射点和当前水平图像中的一个或多个特征点可以对应于现实世界中的相同位置。可以根据一个或多个映射点来设置下一个水平图像的搜索区域。例如,下一个水平图像的搜索区域可以是以与当前水平图像中的匹配的子区域的中心点对应的映射点为中心的矩形框。矩形框的大小(例如,长度或宽度)可以是下一个水平图像的大小的倍数。该倍数的值可以是0至1的任何值,例如,0.4、0.5、0.6、0.8等。
在670中,计算设备120(例如,匹配区域确定模块340)可以识别与对象匹配的区域(或与对象模板匹配的区域)。计算设备120可以在最后水平图像(例如,最细水平的图像)匹配的子区域内定位与对象的模板匹配的区域。
应当注意的是,以上描述仅出于说明的目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。例如,计算设备120可以直接从存储设备(例如,存储器130)获取对象模板,而不是执行操作610和620。然而,这些变化和修改不脱离本申请的范围。
图7是根据本申请的一些实施例所示的示例性边缘点提取的示意图。如图7所示,图像(a)、图像(b)和图像(c)可以分别表示不同的对象,亮度比较大的点是根据本申请的一些实施例从每个对象中提取的边缘点。
图像(a)中的对象的宽度与高度的比值小于1,这意味着沿水平方向的边缘点的数量小于沿垂直方向的边缘点的数量。当根据公式(1)提取图像(a)中的边缘点时,水平方向(即,α)上的梯度的加权系数可以设置为0.5,垂直方向上的梯度的加权系数(即,β)可以设置为1。
类似地,图像(b)中的对象的宽度与高度的比值大于1,这意味着在水平方向的边缘点的数量大于在垂直方向的边缘点的数量。当根据公式(1)提取图像(b)中的边缘点时,水平方向(即,α)的梯度的加权系数可以被设置为1,垂直方向上的梯度的加权系数(即,β)可以被设置为0.5。
类似地,图像(c)中的对象的宽度与高度的比值等于1,这意味着水平方向的边缘点的数量基本上等于垂直方向的边缘点的数量。当根据公式(1)提取图像(c)中的边缘点时,水平方向(即,α)中梯度的加权系数可以被设置为1,垂直方向上的梯度的加权系数(即,β)可以被设置为1。
图8是根据本申请的一些实施例所示的示例性搜索区域的示意图。
如图8所示,整个图像810被指定为搜索区域。对象820的模板位于搜索区域的左上角。对象820的模板位于滑动窗口840内,滑动窗口840由白色虚线限定。滑动窗口840在搜索区域内移动,例如,从左到右、从上到下,以确定至少两个子区域。对象820的模板与每个子区域进行比较,以确定如本申请其他地方所述的至少两个匹配度。根据本申请的一些实施例,子区域中的一个子区域840'被认为包括与对象模板匹配的区域850。可选择地,如果图像810是多级图像金字塔中的水平图像之一,计算设备120可以将子区域840'的中心映射到多级图像金字塔中的多水平图像中与图像810相邻的另一水平图像中。根据映射中心,可以在另一图像内设置另一水平图像(对应于图像810的白色矩形框830)的搜索区域。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
Claims (21)
1.一种对象识别系统,包括:
至少一个包括一组指令的存储介质;以及
至少一个处理器与所述至少一个存储介质通信,其中,当执行所述一组指令时,所述至少一个处理器被指示使所述系统用于:
获取包括搜索区域的图像;
获取包括至少两个特征点的模板;
对于所述搜索区域中的一个或多个子区域中的每个子区域,
确定所述模板与所述子区域之间的匹配度,所述匹配度表征所述模板和所述子区域之间的相似度,所述匹配度至少与满足条件的特征点的数量相关;以及
根据所述模板与所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域。
2.根据权利要求1所述的系统,其特征在于,为了获取包括至少两个特征点的模板,所述至少一个处理器被指示使所述系统用于:
获取所述对象的模板图像;
在所述模板图像中,提取所述对象的一个或以上边缘点;以及
将所述提取的一个或以上边缘点确定为所述至少两个特征点的至少一部分,根据所述确定的至少两个特征点的至少一部分,生成所述模板。
3.根据权利要求2所述的系统,其特征在于,为在所述模板图像中提取所述对象的一个或以上边缘点,所述至少一个处理器被指示使所述系统用于:
对于所述模板图像中的每个点,
沿第一方向确定所述点的第一梯度以及沿第二方向确定所述点的第二梯度,
所述第二方向与所述第一方向不同;以及
根据所述点的第一梯度和所述点的第二梯度,确定所述点的加权梯度;以及提取加权梯度高于阈值的点作为所述模板图像中所述对象的一个或以上边缘点。
4.根据权利要求3所述的系统,其特征在于,所述点的加权梯度与与所述第一梯度有关的第一加权系数和与所述第二梯度有关的第二加权系数有关。
5.根据权利要求4所述的系统,其特征在于,所述第一加权系数或所述第二加权系数根据所述对象的类别确定。
6.根据权利要求1所述的系统,其特征在于,对于所述搜索区域中的一个或多个子区域中的每个子区域,为了确定所述模板和所述搜索区域的子区域之间的匹配度,所述匹配度表征所述模板和所述子区域之间的相似度,所述至少一个处理器被指示使所述系统用于:
对于所述至少两个特征点中的每一个特征点,
确定所述特征点与所述子区域中的点之间的相似度值;以及
响应于所述特征点与所述子区域中的点之间的相似度值高于第二阈值,将所述特征点指定为与所述子区域中的点相似的点;以及
用所述相似的点的数量表示所述匹配度。
7.根据权利要求6所述的系统,其特征在于,所述特征点与所述子区域中的点之间的相似度值用所述特征点和所述子区域中的点之间的余弦距离表示。
8.根据权利要求1所述的系统,其特征在于,根据所述模板和所述搜索区域的一个或多个子区域之间的匹配度,为了在所述一个或多个子区域中,确定与所述模板匹配的区域,所述至少一个处理器被指示使所述系统用于:
指定所述搜索区域中的一个或多个子区域中与所述模板匹配度最大的子区域为目标子区域;以及
在所述目标子区域中,确定与所述模板匹配的区域。
9.根据权利要求1所述的系统,其特征在于,为了获得包括搜索区域的图像,所述至少一个处理器被指示使所述系统用于:
获取所述图像的下采样图像;
在所述下采样图像中,确定与所述模板的匹配区域相对应的区域;以及
将所述下采样图像的所述区域映射到所述图像,生成所述图像的所述搜索区域。
10.根据权利要求1所述的系统,其特征在于,为了获得包括至少两个特征点的模板,所述至少一个处理器被指示使所述系统用于:
检索与所述模板相关的信息,所述与所述模板相关的信息包括所述至少两个特征点的位置信息、所述至少两个特征点的梯度信息以及所述至少两个特征点的数量。
11.一种用于对象识别的方法,在包括至少一个处理器和至少一个存储介质的计算设备上实现,所述方法包括:
获取包括搜索区域的图像;
获取包括至少两个特征点的模板;
对于所述搜索区域中的一个或多个子区域中的每个子区域,
确定所述模板和所述子区域之间的匹配度,所述匹配度表征所述模板和所述子区域之间的相似度,所述匹配度至少与满足条件的特征点的数量相关;以及
根据所述模板和所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域。
12.根据权利要求11所述的方法,其特征在于,所述获取包括至少两个特征点的模板,包括:
获取对象的模板图像;
在所述模板图像中提取目标的一个或以上边缘点;以及
将所述提取的一个或以上边缘点确定为所述至少两个特征点的至少一部分,根据所述确定的所述至少两个特征点的至少一部分,生成所述模板。
13.根据权利要求12所述的方法,其特征在于,所述在所述模板图像中提取所述目标的所述一个或以上边缘点,包括:
对于所述模板图像中的每个点,
沿第一方向确定所述点的第一梯度以及沿第二方向确定所述点的第二梯度,
所述第二方向与所述第一方向不同;以及
根据所述点的第一梯度和所述点的第二梯度,确定所述点的加权梯度;以及提取加权梯度高于阈值的点作为所述模板图像中所述对象的一个或以上边缘点。
14.根据权利要求13所述的方法,其特征在于,所述点的加权梯度与与所述第一梯度有关的第一加权系数和与所述第二梯度有关的第二加权系数有关。
15.根据权利要求14所述的方法,其特征在于,所述第一加权系数或所述第二加权系数根据所述对象的类别确定。
16.根据权利要求11所述的方法,其特征在于,所述对于所述搜索区域中的一个或多个子区域中的每个子区域,确定所述模板和所述搜索区域的子区域之间的匹配度,所述匹配度表征所述模板和所述子区域之间的相似度,包括:
对于所述至少两个特征点中的每一个特征点,
确定所述特征点与所述子区域中的点之间的相似度值;以及
响应于所述特征点与所述子区域中的点之间的相似度值高于第二阈值,将所述特征点指定为与所述子区域中的点相似的点;以及
用所述相似的点的数量表示所述匹配度。
17.根据权利要求16所述的方法,其特征在于,所述特征点与所述子区域中的点之间的相似度值用所述特征点和所述子区域中的点之间的余弦距离表示。
18.根据权利要求11所述的方法,其特征在于,所述根据所述模板和所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域,包括:
指定所述搜索区域的一个或多个子区域中与所述模板匹配度最大的子区域为目标子区域;以及
在所述目标子区域中,确定与所述模板匹配的区域。
19.根据权利要求11所述的方法,其特征在于,所述获得包括搜索区域的图像,包括:
获取所述图像的下采样图像;
在所述下采样图像中,确定与所述模板的匹配区域相对应的区域;以及
将所述下采样图像的所述区域映射到所述图像,生成所述图像的所述搜索区域。
20.根据权利要求11所述的方法,其特征在于,所述获得包括至少两个特征点的模板,包括:
检索与所述模板相关的信息,所述与所述模板相关的信息包括所述至少两个特征点的位置信息、所述至少两个特征点的梯度信息以及所述至少两个特征点的数量。
21.一种非暂时性计算机可读介质,包括用于对象识别的指令集,其中当由至少一个处理器执行时,所述指令集指示至少一个处理器用于:
获取包括搜索区域的图像;
获取包括至少两个特征点的模板;
对于所述搜索区域中的一个或多个子区域中的每个子区域,
确定所述模板和所述子区域之间的匹配度,所述匹配度表征所述模板和所述子区域之间的相似度,所述匹配度至少与满足条件的特征点的数量相关;以及
根据所述模板和所述搜索区域的一个或多个子区域之间的匹配度,在所述一个或多个子区域中,确定与所述模板匹配的区域。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/123775 WO2020132920A1 (en) | 2018-12-26 | 2018-12-26 | Systems and methods for object recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113228035A true CN113228035A (zh) | 2021-08-06 |
Family
ID=71126856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880100466.5A Pending CN113228035A (zh) | 2018-12-26 | 2018-12-26 | 用于对象识别的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11657592B2 (zh) |
EP (1) | EP3884423A4 (zh) |
CN (1) | CN113228035A (zh) |
WO (1) | WO2020132920A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030280A (zh) * | 2023-02-22 | 2023-04-28 | 青岛创新奇智科技集团股份有限公司 | 一种模板匹配方法、装置、存储介质及设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339917B (zh) * | 2020-02-24 | 2022-08-09 | 大连理工大学 | 一种真实场景下玻璃检测的方法 |
CN113743398B (zh) * | 2020-05-29 | 2023-11-17 | 富泰华工业(深圳)有限公司 | 图像标识方法、装置、计算机装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080166053A1 (en) * | 2006-03-31 | 2008-07-10 | Olympus Corporation | Information presentation system, information presentation terminal and server |
US20090316990A1 (en) * | 2008-06-20 | 2009-12-24 | Akira Nakamura | Object recognition device, object recognition method, program for object recognition method, and recording medium having recorded thereon program for object recognition method |
CN102663708A (zh) * | 2012-04-27 | 2012-09-12 | 飞依诺科技(苏州)有限公司 | 基于方向加权中值滤波的超声图像处理方法 |
US20160012595A1 (en) * | 2014-07-10 | 2016-01-14 | Ditto Labs, Inc. | Systems, Methods, and Devices for Image Matching and Object Recognition in Images Using Image Regions |
US20170177970A1 (en) * | 2015-12-17 | 2017-06-22 | Canon Kabushiki Kaisha | Image processing method, image processing apparatus, image processing system, production apparatus, and recording medium |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3776340B2 (ja) | 2000-09-27 | 2006-05-17 | エムヴイテック・ソフトウェア・ゲーエムベーハー | 対象物認識システム及び方法 |
US8103115B2 (en) * | 2007-02-26 | 2012-01-24 | Sony Corporation | Information processing apparatus, method, and program |
KR101913336B1 (ko) * | 2011-10-06 | 2018-10-31 | 삼성전자주식회사 | 이동 장치 및 그 제어 방법 |
US9519972B2 (en) * | 2013-03-13 | 2016-12-13 | Kip Peli P1 Lp | Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies |
CN105930858B (zh) | 2016-04-06 | 2021-03-26 | 吴晓军 | 一种带旋转、缩放的快速高精度几何模板匹配方法 |
CN107452028B (zh) | 2017-07-28 | 2020-05-26 | 浙江华睿科技有限公司 | 一种确定目标图像位置信息的方法及装置 |
-
2018
- 2018-12-26 WO PCT/CN2018/123775 patent/WO2020132920A1/en unknown
- 2018-12-26 CN CN201880100466.5A patent/CN113228035A/zh active Pending
- 2018-12-26 EP EP18945292.3A patent/EP3884423A4/en active Pending
-
2021
- 2021-06-24 US US17/304,742 patent/US11657592B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080166053A1 (en) * | 2006-03-31 | 2008-07-10 | Olympus Corporation | Information presentation system, information presentation terminal and server |
US20090316990A1 (en) * | 2008-06-20 | 2009-12-24 | Akira Nakamura | Object recognition device, object recognition method, program for object recognition method, and recording medium having recorded thereon program for object recognition method |
CN102663708A (zh) * | 2012-04-27 | 2012-09-12 | 飞依诺科技(苏州)有限公司 | 基于方向加权中值滤波的超声图像处理方法 |
US20160012595A1 (en) * | 2014-07-10 | 2016-01-14 | Ditto Labs, Inc. | Systems, Methods, and Devices for Image Matching and Object Recognition in Images Using Image Regions |
US20170177970A1 (en) * | 2015-12-17 | 2017-06-22 | Canon Kabushiki Kaisha | Image processing method, image processing apparatus, image processing system, production apparatus, and recording medium |
Non-Patent Citations (1)
Title |
---|
崔雷涛: "基于自适应阀值边缘检测和机器学习的车牌识别算法研究", 中国知网硕士电子期刊库, no. 6, pages 14 - 17 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030280A (zh) * | 2023-02-22 | 2023-04-28 | 青岛创新奇智科技集团股份有限公司 | 一种模板匹配方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
US11657592B2 (en) | 2023-05-23 |
EP3884423A4 (en) | 2021-12-01 |
WO2020132920A1 (en) | 2020-07-02 |
EP3884423A1 (en) | 2021-09-29 |
US20210357656A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Where is my mirror? | |
CN110298262B (zh) | 物体识别方法及装置 | |
US10684681B2 (en) | Neural network image processing apparatus | |
US11657592B2 (en) | Systems and methods for object recognition | |
CN108734087B (zh) | 物体自动识别方法以及系统、购物设备和存储介质 | |
CN108961327A (zh) | 一种单目深度估计方法及其装置、设备和存储介质 | |
CN112446270A (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
EP2704056A2 (en) | Image processing apparatus, image processing method | |
CN109242900B (zh) | 焦平面定位方法、处理装置、焦平面定位系统及存储介质 | |
CN106326810A (zh) | 道路场景识别方法及设备 | |
Romera et al. | A Real-Time Multi-scale Vehicle Detection and Tracking Approach for Smartphones. | |
CN112950725A (zh) | 一种监控相机参数标定方法及装置 | |
CN112529904A (zh) | 图像语义分割方法、装置、计算机可读存储介质和芯片 | |
CN109214324A (zh) | 基于多相机阵列的最正脸图像输出方法及输出系统 | |
Yoo et al. | Real-time rear obstacle detection using reliable disparity for driver assistance | |
CN115661522A (zh) | 一种基于视觉语义矢量的车辆导引方法、系统、设备和介质 | |
CN108229281B (zh) | 神经网络的生成方法和人脸检测方法、装置及电子设备 | |
CN116051736A (zh) | 一种三维重建方法、装置、边缘设备和存储介质 | |
CN110197104B (zh) | 基于车辆的测距方法及装置 | |
CN112800966B (zh) | 一种视线的追踪方法及电子设备 | |
Vishnyakov et al. | Stereo sequences analysis for dynamic scene understanding in a driver assistance system | |
CN116778262A (zh) | 一种基于虚拟点云的三维目标检测方法和系统 | |
WO2020124448A1 (en) | Systems and methods for video surveillance | |
CN116309050A (zh) | 图像超分辨率方法、程序产品、存储介质及电子设备 | |
KR101241813B1 (ko) | Gpu를 이용한 파노라마 영상의 객체 검출 장치 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210806 |