CN111738904A - 一种图像中目标物体的几何矩的计算方法和计算装置 - Google Patents
一种图像中目标物体的几何矩的计算方法和计算装置 Download PDFInfo
- Publication number
- CN111738904A CN111738904A CN202010554845.0A CN202010554845A CN111738904A CN 111738904 A CN111738904 A CN 111738904A CN 202010554845 A CN202010554845 A CN 202010554845A CN 111738904 A CN111738904 A CN 111738904A
- Authority
- CN
- China
- Prior art keywords
- image
- traversal
- geometric
- transverse
- data stream
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种图像中目标物体的几何矩的计算方法和计算装置,包括采用硬件描述语言获取包含目标物体的图像对应的图像数据流;获取图像尺寸和目标物体像素尺寸,按照预设数据流动方向,根据图像尺寸和目标物体像素尺寸对图像数据流进行图像遍历,并分别计算在每次图像遍历时的图像几何矩数据集;根据在每次图像遍历时的图像几何矩数据集,分别计算得到图像数据流在图像遍历时的实际几何矩并输出,并从所有实际几何矩中,提取出目标物体对应的目标几何矩并输出。本发明提供一种纯硬件的解决方法,实现对图像数据流的遍历计算,并以流水线的方式输出每个遍历计算的实际几何矩,不占用CPU处理能力,并能保证计算精度和实时性。
Description
技术领域
本发明涉及电子技术、图像处理及视觉跟踪技术领域,尤其涉及一种图像中目标物体的几何矩的计算方法和计算装置。
背景技术
当一个已知物体在复杂背景中运动时,通常可以利用该物体二阶中心归一几何矩(以下简称几何矩)不变原理从复杂背景中搜索并跟踪到该物体。这种视觉图像跟踪方式在飞行器跟踪、车辆和行人跟踪领域中得到了大量应用。
当前应用方式主要是通过读取一帧包含目标物体和背景的图像,通过软件编写程序完成行目标尺寸在整幅图像尺寸中遍历,遍历的过程中通过计算当前几何矩数值与模板比对,以判断是否为目标物体。然而,这种分析计算几何矩的方式需要消耗大量CPU资源进行,当视频图像帧率越高则需要CPU计算速度也越高,为实时处理带来计算瓶颈问题。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种图像中目标物体的几何矩的计算方法和计算装置,提供纯硬件的解决方法,实现对图像数据流的遍历计算,并以流水线的方式输出每个遍历计算的几何矩数据,不占用CPU处理能力,可以运行在较高帧率的图像处理***,并同时保证计算精度和实时性。
本发明解决上述技术问题的技术方案如下:
一种图像中目标物体的几何矩的计算方法,包括以下步骤:
步骤1:按照预设数据流动方向,采用硬件描述语言获取包含目标物体的图像对应的图像数据流;
步骤2:获取图像尺寸和目标物体像素尺寸,按照所述预设数据流动方向,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集;
步骤3:根据所述图像数据流在每次图像遍历时的图像几何矩数据集,分别计算得到所述图像数据流在每次图像遍历时的实际几何矩并输出,并从所有实际几何矩中,提取出所述图像数据流中所述目标物体对应的目标几何矩并输出。
依据本发明的另一方面,还提供了一种图像中目标物体的几何矩的计算装置,应用于本发明中的一种图像中目标物体的几何矩的计算装置方法中,包括集成电路板以及分别设置于所述集成电路板上的数据流输入电路、遍历计算电路、目标几何矩提取电路和输出电路;
所述集成电路板,用于将所述数据流输入电路、所述遍历电路计算电路、所述目标几何矩提取电路和所述输出电路集成在一起;
所述数据流输入电路,用于按照预设数据流动方向,采用硬件描述语言获取包含目标物体的图像对应的图像数据流;
所述遍历计算电路,用于获取图像尺寸和目标物体像素尺寸,按照所述预设数据流动方向,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集;
所述遍历计算电路,还用于根据所述图像数据流在每次图像遍历时的图像几何矩数据集,分别计算得到所述图像数据流在每次图像遍历时的实际几何矩;
所述目标几何矩提取电路,用于从所有实际几何矩中,提取出所述图像数据流中所述目标物体对应的目标几何矩;
所述输出电路,用于输出所述图像数据流在每次图像遍历时的实际几何矩,还用于输出所述目标几何矩;
所述集成电路板分别与所述数据流输入电路、所述遍历电路计算电路、所述目标几何矩提取电路和所述输出电路电连接,所述数据流输入电路依次通过所述遍历计算电路和所述目标几何矩提取电路与所述输出电路电连接,所述遍历计算电路与所述输出电路电连接。
本发明的图像中目标物体的几何矩的计算方法和计算装置的有益效果是:通过数据流输入电路获取包含目标物体的图像对应的图像数据流,由于图像数据流是按照预设数据流动方向,一个一个的像素流入遍历计算电路的,因此当预先获取图像尺寸和目标物体像素尺寸后,遍历计算电路按照预设数据流动方向对图像数据流进行图像遍历,并计算每次图像遍历时的与该图像数据流中所含目标物体的几何矩相关的图像几何矩数据集;当得到每次图像遍历的图像几何矩数据集后,遍历计算电路还根据对应的图像遍历获得的图像几何矩数据集计算出该次图像遍历下的实际几何矩并通过输出电路实时输出;本发明提供了一种纯硬件(数字电路)的解决方法,实现对图像数据流的遍历计算,与传统的整幅图像遍历计算的方法不同,以流水线的方式输出每个遍历计算的几何矩数据(即实际几何矩),不占用CPU处理能力,可以运行在较高帧率的图像处理***,并同时保证计算精度和实时性;当实时输出每次遍历计算的实际几何矩后,可以利用预设的目标物体的模板数据,从这些实际几何矩中匹配并提取出目标物体对应的目标几何矩,再通过输出电路输出,可以实现对该图像数据流中目标物体的定位;由于图像数据流可以为静态图像的图像数据流,也可以为动态视频中一帧图像对应的图像数据流,当对视频中每一帧图像对应的图像数据流中的目标物体分别进行定位,可以实现对目标物体的动态视觉跟踪,在飞行器跟踪、车辆和行人跟踪领域中具有重要意义。
附图说明
图1为本发明实施例一中一种图像中目标物体的几何矩的计算方法的流程示意图;
图2为本发明实施例一中图像数据流与图像显示像素的关系图;
图3为本发明实施例一中整个图像遍历的模型示意图;
图4为本发明实施例一中横向遍历计算的模型示意图;
图5至图7均为本发明实施例一中纵向遍历计算的模型示意图;
图8、图9和图10分别为本发明实施例一中横向遍历时计算M00数据参数、M01数据参数和M02数据参数的电路图;
图11和图12分别为本发明实施例一中纵向遍历时计算M10数据参数和M20数据参数的电路图;
图13、图14和图15分别为本发明实施例一中纵向遍历时计算∑M′00数据参数、∑M′01数据参数和∑M′02数据参数的电路图;
图16为本发明实施例一中计算实际几何距的电路图;
图17为本发明实施例二中一种图像中目标物体的几何矩的计算装置的结构示意图;
图18为本发明实施例二中遍历计算电路的结构示意图。
附图中,各标号所代表的部件列表如下:
1、集成电路板,2、数据流输入电路,3、遍历计算电路,4、目标几何矩提取电路,5、输出电路,31、横向遍历计算子电路,32、纵向遍历计算子电路,33、缓存器,34、第一加法器,35、第二加法器,36、第三处理器,37、实际几何矩计算子电路。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
下面结合附图,对本发明进行说明。
实施例一、如图1所示,一种图像中目标物体的几何矩的计算方法,包括以下步骤:
S1:按照预设数据流动方向,采用硬件描述语言获取包含目标物体的图像对应的图像数据流;
S2:获取图像尺寸和目标物体像素尺寸,按照所述预设数据流动方向,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集;
S3:根据所述图像数据流在每次图像遍历时的图像几何矩数据集,分别计算得到所述图像数据流在每次图像遍历时的实际几何矩并输出,并从所有实际几何矩中,提取出所述图像数据流中所述目标物体对应的目标几何矩并输出。
本实施例提供了一种纯硬件(数字电路)的解决方法,实现对图像数据流的遍历计算,以流水线的方式输出每个遍历计算的几何矩数据(即实际几何矩),不占用CPU处理能力,可以运行在较高帧率的图像处理***,并同时保证计算精度和实时性;当实时输出每次遍历计算的实际几何矩后,可以利用预设的目标物体的模板数据,从这些实际几何矩中匹配并提取出目标物体对应的目标几何矩再输出,实现了对该图像数据流中目标物体的定位;由于图像数据流可以为静态图像的图像数据流,也可以为动态视频中一帧图像对应的图像数据流,当对视频中每一帧图像对应的图像数据流中的目标物体分别进行定位,可以实现对目标物体的动态视觉跟踪,在飞行器跟踪、车辆和行人跟踪领域中具有重要意义。
具体地,本实施例中的获取图像数据流所采用的硬件描述语言为Verilog HDL语言。图像数据流对应的预设数据流动方向是按照一幅图像像素从第一行第一个(屏幕左上角)开始输入,按照第一行结束再开始接收第二行数据方式从相机或其它接口读取一帧图像的像素数据,每个像素数据伴随一个时钟。例如在时钟频率为1MHz的情况下,能在1秒钟内接收1M个像素数据,其中图像显示像素与图像数据流的关系如图2所示,在图2中,a0为第一行第一个像素,a1为第二行第一个像素,a92为第93行第一个像素,依此类推。需要说明的是,本发明中图像数据流中的数据和像素数据均是指像素点的灰度数据。
优选地,在S2中,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历之前包括:
S21:根据所述图像尺寸和所述目标物体像素尺寸,得到所述图像数据流对应的单行横向遍历次数和单列纵向遍历次数;
S22:根据所述单行横向遍历次数和所述图像尺寸得到图像横向遍历次数,根据所述单行横向遍历次数和所述单列纵向遍历次数,得到图像纵向遍历次数;
在S21中还包括:
根据所述目标物体像素尺寸,得到横向遍历尺寸和纵向遍历尺寸。
由于目标物体具有一定的像素尺寸(即目标物体像素尺寸),而图像数据流是输入不是多行数据并行输入,而是逐行逐个像素数据输入,因此本实施例将遍历计算分解为图像数据流的横向(即图像的宽度方向)遍历和纵向(即图像的高度方向)遍历这两个方向遍历,再通过分别计算两个方向遍历时所涉及的图像几何矩数据,即在横向遍历时对应的图像宽度几何矩相关数据和在纵向遍历时的图像高度几何矩相关数据,再结合图像宽度几何矩相关数据和图像高度几何矩相关数据得到对应遍历位置时对应的实际几何矩,最后从中提取出这一帧图像数据流的目标几何矩;
在图像遍历之前,根据图像尺寸和目标物体像素尺寸,可以确定出图像数据流对应的单行横向遍历次数(即每一行数据完成横向遍历所需要的遍历次数)和单列纵向遍历次数(即每一列数据完成纵向遍历所需要的遍历次数),由于图像数据流是逐行输入的,因此先进行横向遍历,当所有横向遍历完成后,可以得到整个图像数据流中的所有像素数据,再在横向遍历的基础上进行纵向遍历,依据单行横向遍历次数和图像尺寸可以得到整个横向遍历过程中的图像横向遍历次数,依据单行横向遍历次数和单列纵向遍历次数可以得到整个图像纵向遍历次数;通过上述在图像遍历之前的准备工作,便于快速实现两个分解方向的分解遍历以及两个方向的分解遍历得到的相关几何矩数据的计算,进而实现整个图像数据流的图像遍历,得到整个图像数据流在每次图像遍历是的图像几何矩数据集,整个过程不占用CPU处理能力,可以运行在较高帧率的图像处理***,并同时保证计算精度和实时性。
具体地,如图3所示,本实施例中包含目标物体的图像尺寸为26×93(即整个图像的像素尺寸),目标物体像素尺寸为3×3,若要对整个图像进行跟踪匹配,需要提前获取3x3尺寸下目标物的几何矩作为匹配模板数据,再以3x3尺寸像素为计算框在整幅图像中依次从左到右从上到下方式进行遍历。横向移动一行需要计算26-3+1=24次,其中26是整幅图像的宽度像素数,3是目标尺寸宽度方向像素,同理高度方向移动一列需要计算93-3+1=91次,则对整个图像进行全部遍历的总次数为24x91=2184次。但由于图像数据流为逐行输入的,因此在实际遍历中表现为两个分解方向的分解遍历,首先是横向遍历,横向遍历尺寸为3×1,单行横向遍历次数为24次,则整个图像数据流按照预设数据流动方向完成所有行的横向遍历,图像横向遍历次数为24×93=2232次;当所有横向遍历完成后,再进行纵向遍历,则是以横向遍历尺寸为基础,即以一个横向遍历尺寸中横向上的三个像素点作为一个整体(将一行中的三个像素点看成一个像素点),再以1×3的遍历尺寸进行纵向遍历,因此对于整个图像数据流,实际的纵向遍历尺寸即与目标物体像素尺寸相等为3×3,图像纵向遍历次数与对整个图像进行全部遍历的总次数相等为24x91=2184次。
优选地,在S2中,图像遍历包括横向遍历和纵向遍历;图像几何矩数据集包括所述图像数据流在每次横向遍历时的图像宽度几何矩集合再经过对应的纵向遍历后得到的更新图像宽度几何矩集合,以及所述图像数据流在每次纵向遍历时的图像高度几何矩集合;
对所述图像数据流进行图像遍历,并分别计算在每次图像遍历时的图像几何矩数据集具体包括:
S23:按照所述预设数据流动方向、所述横向遍历尺寸、所述单行横向遍历次数和所述图像横向遍历次数,对所述图像数据流逐次逐行进行横向遍历,并分别计算所述图像数据流的每行数据在每次横向遍历时的图像宽度几何矩集合,根据每行数据在所有横向遍历下的图像宽度几何矩集合得到每行数据一一对应的图像宽度几何矩总集,将所有图像宽度几何矩总集进行缓存;
S24:当所有横向遍历均完成后,按照所述预设数据流动方向、所述纵向遍历尺寸和所述图像纵向遍历次数,对所述图像数据流逐次进行纵向遍历,分别计算每个图像宽度几何矩集合在经过对应的纵向遍历后得到的更新图像宽度几何矩集合,将所有更新图像宽度几何矩集合进行缓存;利用所有图像宽度几何矩总集,分别计算所述图像数据流在每次纵向遍历时的图像高度几何矩集合。
预设数据流动方向即确定了横向遍历的方向,按照预设数据流动方向对图像数据流的每行输入的像素数据逐次逐行的进行横向遍历,在每次横向遍历中可以得到横向遍历尺寸所对应的三个像素数据所计算出的图像宽度几何矩集合,每行的所有横向遍历尺寸所对应的三个像素所计算出的图像宽度几何矩集合即构成了该行的图像宽度几何矩总集,每行的图像宽度几何矩总集中的数据均分别存在每行对应的缓存器中,作为后续在高度方向上的纵向遍历的数据源;上述横向遍历计算的方法,依据图像数据流的特点实现了对图像数据流在宽度方向的分解遍历,从而得到了图像数据流在宽度方向上的宽度几何矩相关数据;
当所有横向遍历均完成后,此时的图像数据流中的所有像素数据均输入到遍历计算电路中,且实现了横向上的分解遍历计算,为进一步准确确定该图像数据流中目标物体的几何矩相关数据,在横向遍历基础上再进行纵向遍历;同样依据预设数据流动方向以及纵向遍历尺寸和图像纵向遍历次数逐次进行纵向上的遍历计算,由于纵向遍历尺寸对于整个实际的图像数据流是3×3,其中已经包含横向遍历中的像素数据,是基于每行数据每次横向遍历的基础上再次进行的纵向遍历,则每个图像宽度几何矩集合会经过对应的纵向遍历后发生更新,得到对应的更新图像宽度几何矩集合,与此同时,还会利用所有行对应的图像宽度几何矩总集,计算得到每次纵向遍历时的图像高度几何矩集合;上述纵向遍历计算的方法,基于横向遍历,再依据图像数据流的特点,得到的更新图像宽度几何矩集合和图像高度几何矩集合即可以准确反映整个图像数据流在实际的每次图像遍历时的图像几何矩相关数据,可以实现以流水线的方式输出每个遍历计算的几何矩数据,不占用CPU处理能力,并同时保证计算精度和实时性。
优选地,在S23中,图像宽度几何矩集合包括所述图像数据流的每行数据在每次横向遍历时的像素横向零阶几何矩、像素横向一阶几何矩和像素横向二阶几何矩;在S24中,更新图像宽度几何矩集合包括更新像素横向零阶几何矩、更新像素横向一阶几何矩和更新像素横向二阶几何矩,其中,更新像素横向零阶几何矩为像素横向零阶几何矩在经过对应的纵向遍历后得到的,更新像素横向一阶几何矩为像素横向一阶几何矩在经过对应的纵向遍历后得到的,更新像素横向二阶几何矩为像素横向二阶几何矩在经过对应的纵向遍历后得到的;图像高度几何矩集合包括所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩。
通过计算每次横向遍历中的像素横向零阶几何矩、像素横向一阶几何矩和像素横向二阶几何矩,以及在经过对应的纵向遍历后得到的更新像素横向零阶几何矩、更新像素横向一阶几何矩和更新像素横向二阶几何矩,可以准确反映出在宽度方向上的几何矩相关数据;通过计算每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,可以准确反映出在高度方向上的几何矩相关数据;结合在宽度方向上的几何矩相关数据和在高度方向上的几何矩相关数据,便于后续以流水线的方式计算并实时输出对整个图像进行实际图像遍历时的几何矩数据,不占用CPU处理能力,便于对目标物体的准确定位。
具体地,如图4所示,以图像数据流的第一行和第二行像素数据为例来说明横向遍历计算过程(图中其他行数据未画出)。每行数据在每次横向遍历计算后分别得到三个数据为:M00、M01和M02,例如图4中,在遍历到第一行数据包含b0、c0和d0三个像素数据所组成的3×1像素矩阵时,分别计算出该像素矩阵所对应的像素横向零阶几何矩M00、像素横向一阶几何矩M01和像素横向二阶几何矩M02,然后将计算结果M00缓存入第一行对应的FIFO_1_M00缓存器中,计算结果M01缓存入第一行对应的FIFO_1_M01缓存器中,计算结果M02缓存入第一行对应的FIFO_1_M02缓存器中;同理,当遍历到该行其他每相邻三个像素数据组成的3×1像素矩阵时,也分别计算出对应的像素横向零阶几何矩M00、像素横向一阶几何矩M01和像素横向二阶几何矩M02,将每个M00均分别缓存入第一行对应的FIFO_1_M00缓存器中,每个M01均分别缓存入第一行对应的FIFO_1_M01缓存器中,M02均分别缓存入第一行对应的FIFO_1_M02缓存器中;当遍历到第二行数据包含b1、c1和d1三个像素数据所组成的3×1像素矩阵时,分别计算出该像素矩阵所对应的像素横向零阶几何矩M00、像素横向一阶几何矩M01和像素横向二阶几何矩M02,然后将M00缓存入第二行对应的FIFO_2_M00缓存器中,M01缓存入第二行对应的FIFO_2_M01缓存器中,计算结果M02缓存入第二行对应的FIFO_2_M02缓存器中;同理,该行其他每相邻三个像素数据组成的3×1像素矩阵在横向遍历时,也分别计算出对应的M00、M01和M02,将每个M00均分别缓存入FIFO_2_M00缓存器中,每个M01均分别缓存入FIFO_2_M01缓存器中,M02均分别缓存入FIFO_2_M02缓存器中。
需要说明的是,每一行的计算结果都需要3个FIFI缓存器(FIFO存储器即First InFirst Out存储器,是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个口是存储器的输入口,另一个口是存储器的输出口),分别对应存储每行数据在每次横向遍历时所计算得到的M00,M01和M02。因为计算一行的横向遍历结果有24个,所以每个FIFO缓存器的存储深度必须要大于等于24。其中,这所有的FIFO缓存器所存储的数据均作为后续纵向遍历的数据源。
具体地,在按照图4所示的横向遍历计算方法完成最后一行的横向遍历,并已经有最后一行横向遍历的结果时,即可开始进行高度方向(纵向)遍历,如图5、图6和图7所示。如图5所示,此时可以同时读取出存储M00参数的所有FIFO缓存器中在同一个指针处所存储的M00参数,同理如图6所示,同时读取出存储M01参数的所有FIFO缓存器中在相同指针处所存储的M01参数,以及如图7所示,同时读取出存储M02参数的所有FIFO缓存器中在相同指针处所存储的M02参数;在同时读取时,同一个指针处的每一行三个参数在高度方向是一致的,这些数据参数取出后再经过对应的纵向遍历后会出现更新,得到对应的更新后的数据,即更新像素横向零阶几何矩M′00、更新像素横向一阶几何矩M′01和更新像素横向二阶几何矩M′02,并替换原来对应的存储位置处的数据参数。
这些同时读取并经过更新后的数据参数一方面用来求和计算,得出对应的纵向遍历下的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和,即对应的纵向遍历下∑M′00、∑M′01和∑M′02,如图5至图7所示;另一方面用来计算在对应的纵向遍历下的像素纵向一阶几何矩和像素纵向二阶几何矩,即对应的纵向遍历下的M10和M20,便于后续计算出对应的纵向遍历下的实际几何矩。
具体地,如图8所示,为横向遍历时计算M00数据参数的计算电路示意图。在图8中,虚线框表示计算框尺寸为3x1(假设目标物体尺寸为3x3),实线框表示电路计算提取位,其中溢出位表示数据流为计算框流出口前一位,累加位标识计算框中最后一位数据位,因为数据流是流动的,则图中标识的溢出位和累加位都会随着数据流动而将一行数据从头到尾遍历一遍,也就实现了宽度方向的一行数据按照3x1的计算尺寸遍历。图中加号“+”和减号“-”对应加法器和减法器(由加法器实现),“Z-1”对应D触发器。当数据流流过时,通过累加位和溢出位位置的数据提取计算可以实现实时计算累加参数M00,该M00实现宽度方向计算框内数据累加的功能。
具体地,如图9所示,为横向遍历时计算M01数据参数的计算电路示意图,完成了宽度方向数据的系数累加。在图9中,方框、数据位、加号“+”、减号“-”和“Z-1”的含义同图8,乘号“x”对应硬件乘法器。M01实现宽度方向计算框内数据的系数累加功能,即若计算框内数据是b0,c0和d0,则M01=b0+2c0+3d0。在图9示例图中虚线框的目标尺寸宽度方向尺寸位3x1,即n=3,该值为固定参数值,可事先固化。图中当前累加位数据为数据流流过当前某一行的第i个像素数据,即i是指累加位在当前数据行中所处的位置,i可以由每行的数据计数器计数得到,在图9中累加位上数据d0是当前行的第4个数据,则i=4。
另外在图9所示计算电路中,每个字母含义关系如下:
其中,M01_dat=i×累加位数据,M01_DoverFlow=(i-n)×溢出位数据,M01_dat、M01_DoverFlow、M01_subtrahend和M01_minuend均为中间计算结果,M01_subtrahend(B)为M01_subtrahend滞后1时钟周期的数据,图9中M00是图8计算得到的结果,可以同步由图8电路计算得到并送到图9电路中。
具体地,如图10所示,为横向遍历时计算M02数据参数的计算电路示意图,完成了宽度方向数据的幂次系数累加。在图10中,左移位“<<”对应移位寄存器。M02实现宽度方向计算框内数据的幂次系数累加功能,即若计算框内数据是b0,c0和d0,则M02=b0+22c0+32d0。同理,图10中k=n-1,也可事先固化。
在图10所示计算电路中,每个字母含义关系如下:
其中,M02_dat=i2×累加位数据,M02_DoverFlow=(i-n)2×溢出位数据,M02_dat、M02_DoverFlow、M02_subtrahend和M02_minuend均为中间计算结果,M02_subtrahend(B)为M02_subtrahend滞后1时钟周期的数据,图中M00是图8计算得到的结果,M01是图9计算得到的结果,都可以同步由图8和图9电路计算得到并送到图10电路中。
具体地,如图11所示,为纵向遍历时计算M10数据参数的计算电路示意图。是通过提取每行横向遍历计算所得参数M00经过更新后的M′00,并分别乘以对应行的行数,再纵向累加和的结果。假设的目标物尺寸高度(虚线框高度)为3,则每行提取出来的M′00分别为(同时从每行FIFO缓存器中通过同一个指针读取出来):
M′00_A1、M′00_A2、M′00_A3、……、M′00_A92和M′00_A93;
然后通过开关矩阵实现高度方向计算框范围的遍历。开关矩阵的工作原理为:通过移位寄存器(以图11为例,需要94位移位寄存器),然后计算框初始位置从移位寄存器最低位(对应第一行)开始,连续3位(目标物高度尺寸)取1,其余位取0,然后每经过1个时钟脉冲就向最高位(最后一行)方向整体(目标物高度尺寸)移动1位。当该位等于1时,输出等于输入;当该位等于0时,输出等于0。开关矩阵右侧为计算矩阵。该计算矩阵为两次累加网络输出,每行输出即对应该行所在计算高度的结果M10输出。如图中标识M10_A1输出为第一行(M′00_A1输入行)作为起始行,连续计算目标物高度数据(即计算框范围内)的计算结果M10输出,其结果等于每行输出数据乘以对应行号的之和。图中标识M10_A2输出为第二行(M′00_A2输入行)作为起始行,连续计算目标物高度数据(即计算框范围内)的计算结果M10输出,……依次类推。倒数第二行和最后一行因为小于目标物高度尺寸数3,所以没有输出意义。按照开关矩阵移位寄存器实现方式在最后两行时也会停止输出。以上是每行FIFO缓存器的指针位置为1的数据输出情况。当指针为1的数据在高度方向遍历完毕后,再同时读取每个FIFO缓存器的指针位置为2的数据,则该数据表现为目标物体在横向方向移动1位后的计算结果,然后再按照上述进行高度方向遍历,以此类推完成整个图像数据流的遍历过程。
具体地,如图12所示,为纵向遍历时计算M20数据参数的计算电路示意图,通过提取每行目标物横向尺寸计算所得参数M00经过更新后的M′00,并将其分别乘以对应行的行数平方,再纵向累加和的结果。每行M00经过更新后的M′00可以被同时从每行FIFO中读取出来。然后通过开关矩阵实现高度方向计算框范围的遍历。如图12所示,开关矩阵右侧为计算矩阵。该计算矩阵为左半对角分布,固定计算得到该行输入值的固定幂次倍数值,如第一行(M′00_A1输入行)只用计算1倍系数输出,第二行(M′00_A2输入行)需要计算2个系数输出分别为1和22倍系数输出,第三行(M′00_A3输入行)需要计算3个系数输出分别为1、22和32倍系数输出,……依次类推,第93行(M′00_A93输入行)需要计算93个系数输出分别为1、22、32、……、912、922和932倍系数输出。然后取斜线方向计算矩阵输出数据之和,如图12中标识M20_A1斜虚框中所有数据之和作为第一行计算框范围内的M20计算结果输出,M20_A2斜虚框包含所有数据之和作为第二行计算框范围内的M20计算结果输出,……依次类推。倒数第二行和最后一行因为小于目标物高度尺寸数3,所以没有输出意义。按照开关矩阵移位寄存器实现方式在最后两行时也会停止输出。以上是每行FIFO缓存器的指针位置为1的数据输出情况。当指针为1的数据在高度方向遍历完毕后,再同时读取每个FIFO缓存器的指针位置为2的数据,则该数据表现为目标物体在横向方向移动1位后的计算结果,然后再按照上述进行高度方向遍历。
优选地,S3具体包括:
S31:根据所述图像数据流的每行数据所对应的所有更新像素横向零阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向零阶几何矩之和;根据所述图像数据流的每行数据所对应的所有更新像素横向一阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向一阶几何矩之和;根据所述图像数据流的每行数据所对应的所有更新像素横向二阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向二阶几何矩之和;
S32:根据所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,以及对应的纵向遍历下的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和,得到所述图像数据流在每次纵向遍历时的实际几何距并输出;
计算所述图像数据流在第j次纵向遍历时的实际几何距:
其中,Hj为所述图像数据流在第j次纵向遍历时的实际几何距,Aj和Bj分别为计算所述图像数据流在第j次纵向遍历时的实际几何距时第一中间参数和第二中间参数,M10j和M20j分别为第j次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,∑M′00j、∑M′01j和∑M′02j分别为第j次纵向遍历时的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和;
S33:从所述图像数据流在所有纵向遍历时的实际几何距中,提取所述目标物体对应的所述目标几何矩并输出。
通过上述计算每个纵向遍历的实际几何矩的方法,能进一步保证以流水线的方式输出每个遍历计算的实际几何矩,不占用CPU处理能力,并同时保证计算精度和实时性。
具体地,如图13所示,为计算更新像素横向零阶几何矩之和∑M′00的计算电路图,与图11和图12同理,开关矩阵右侧的计算矩阵为一次累加网络输出,每行输出即对应该行在对应纵向遍历下的∑M′00输出结果。如图13中∑M′00_A1输出为第一行作为起始行,连续获得计算框范围内的计算结果∑M′00输出结果,其结果等于每行输出数据之和;∑M′00_A2输出为第二行作为起始行,连续获得的∑M′00输出结果,……依次类推;倒数第二行和最后一行因为小于目标物高度尺寸数3,所以没有输出意义。
具体地,如图14所示,为计算更新像素横向一阶几何矩之和∑M′01的计算电路图,如图15所示,为计算更新像素横向一阶几何矩之和∑M′02的计算电路图,与图13同理,具体细节此处不再赘述。
具体地,本实施例中计算实际几何距的计算电路图如图16所示。在另外一个优选实施例中,当计算出实际几何距H时,还通过乘以(∑M′00)3,将其放大(∑M′00)3倍,如图16中的H1,可以进一步有效减少硬件占用资源。
实施例二、如图17所示,一种图像中目标物体的几何矩的计算装置,应用于实施例一的图像中目标物体的几何矩的计算方法中,包括集成电路板1以及分别设置于所述集成电路板1上的数据流输入电路2、遍历计算电路3、目标几何矩提取电路4和输出电路5;
所述集成电路板1,用于将所述数据流输入电路2、所述遍历电路计算电路3、所述目标几何矩提取电路4和所述输出电路5集成在一起;
所述数据流输入电路2,用于按照预设数据流动方向,采用硬件描述语言获取包含目标物体的图像对应的图像数据流;
所述遍历计算电路3,用于获取图像尺寸和目标物体像素尺寸,按照所述预设数据流动方向,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集;
所述遍历计算电路3,还用于根据所述图像数据流在每次图像遍历时的图像几何矩数据集,分别计算得到所述图像数据流在每次图像遍历时的实际几何矩;
所述目标几何矩提取电路4,用于从所有实际几何矩中,提取出所述图像数据流中所述目标物体对应的目标几何矩;
所述输出电路5,用于输出所述图像数据流在每次图像遍历时的实际几何矩,还用于输出所述目标几何矩;
所述集成电路板1分别与所述数据流输入电路2、所述遍历电路计算电路3、所述目标几何矩提取电路4和所述输出电路5电连接,所述数据流输入电路2依次通过所述遍历计算电路3和所述目标几何矩提取电路4与所述输出电路5电连接,所述遍历计算电路3与所述输出电路5电连接。
优选地,所述遍历计算电路3,还具体用于:
根据所述图像尺寸和所述目标物体像素尺寸,得到所述图像数据流对应的单行横向遍历次数和单列纵向遍历次数;
根据所述单行横向遍历次数和所述图像尺寸得到图像横向遍历次数,根据所述单行横向遍历次数和所述单列纵向遍历次数,得到图像纵向遍历次数;
所述遍历计算电路3,还具体用于:
根据所述目标物体像素尺寸,得到横向遍历尺寸和纵向遍历尺寸。
优选地,如图18所示,所述遍历计算电路3包括横向遍历计算子电路31、纵向遍历计算子电路32和缓存器33;
图像几何矩数据集包括所述图像数据流在每次横向遍历时的图像宽度几何矩集合再经过对应的纵向遍历后得到的更新图像宽度几何矩集合,以及所述图像数据流在每次纵向遍历时的图像高度几何矩集合;
所述横向遍历计算子电路31具体用于:
按照所述预设数据流动方向、所述横向遍历尺寸、所述单行横向遍历次数和所述图像横向遍历次数,对所述图像数据流逐次逐行进行横向遍历,并分别计算所述图像数据流的每行数据在每次横向遍历时的图像宽度几何矩集合,根据每行数据在所有横向遍历下的图像宽度几何矩集合得到每行数据一一对应的图像宽度几何矩总集;
所述缓存器33用于缓存所有图像宽度几何矩总集;
所述纵向遍历计算子电路32具体用于:
当所有横向遍历均完成后,按照所述预设数据流动方向、所述纵向遍历尺寸和所述图像纵向遍历次数,对所述图像数据流逐次进行纵向遍历,分别计算每个图像宽度几何矩集合在经过对应的纵向遍历后得到的更新图像宽度几何矩集合,并利用所有图像宽度几何矩总集,分别计算所述图像数据流在每次纵向遍历时的图像高度几何矩集合;
所述缓存器33还用于缓存所有更新图像宽度几何矩集合;
所述横向遍历计算子电路31、所述纵向计算遍历子电路32和所述缓存器33均分别与所述集成电路板1电连接,所述横向遍历计算子电路31还分别与所述数据流输入电路2、所述纵向遍历计算子电路32和所述缓存器33电连接,所述纵向遍历计算子电路32还分别与所述数据流输入电路2、所述缓存器33和所述目标几何矩提取电路4电连接,所述缓存器33与所述目标几何矩提取电路4电连接。
优选地,如图18所示,所述遍历计算电路3还包括第一加法器34、第二加法器35、第三加法器36和实际几何矩计算子电路37;
所述第一加法器34,用于根据所述图像数据流的每行数据所对应的所有更新像素横向零阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向零阶几何矩之和;
所述第二加法器35,用于根据所述图像数据流的每行数据所对应的所有更新像素横向一阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向一阶几何矩之和;
所述第三加法器36,用于根据所述图像数据流的每行数据所对应的所有更新像素横向二阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向二阶几何矩之和;
所述实际几何矩计算子电路37,用于根据所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,以及对应的纵向遍历下的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和,得到所述图像数据流在每次纵向遍历时的实际几何距并输出;
计算所述图像数据流在第j次纵向遍历时的实际几何距:
其中,Hj为所述图像数据流在第j次纵向遍历时的实际几何距,Aj和Bj分别为计算所述图像数据流在第j次纵向遍历时的实际几何距时第一中间参数和第二中间参数,M10j和M20j分别为第j次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,∑M′00j、∑M′01j和∑M′02j分别为第j次纵向遍历时的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和;
所述目标几何矩提取电路4,具体用于从所述图像数据流在所有纵向遍历时的实际几何距中,提取所述目标物体对应的所述目标几何矩并输出;
所述第一加法器34、所述第二加法器35和所述第三加法器36均分别与所述缓存器33电连接,所述第一加法器34、所述第二加法器35、所述第三加法器36、所述纵向遍历计算子电路32和所述目标几何矩提取电路4均分别与所述实际几何矩计算子电路37电连接,所述实际几何矩计算子电路37与所述输出电路5电连接。
通过数据流输入电路获取包含目标物体的图像对应的图像数据流,由于图像数据流是按照预设数据流动方向,一个一个的像素流入遍历计算电路的,因此当预先获取图像尺寸和目标物体像素尺寸后,遍历计算电路按照预设数据流动方向对图像数据流进行图像遍历,并计算每次图像遍历时的与该图像数据流中所含目标物体的几何矩相关的图像几何矩数据集;当得到每次图像遍历的图像几何矩数据集后,遍历计算电路还根据对应的图像遍历获得的图像几何矩数据集计算出该次图像遍历下的实际几何矩并通过输出电路实时输出;本发明提供了一种纯硬件(数字电路)的解决方法,实现对图像数据流的遍历计算,并以流水线的方式输出每个遍历计算的几何矩数据(即实际几何矩),不占用CPU处理能力,可以运行在较高帧率的图像处理***,并同时保证计算精度和实时性;当实时输出每次遍历计算的实际几何矩后,可以利用预设的目标物体的模板数据,从这些实际几何矩中匹配并提取出目标物体对应的目标几何矩,再通过输出电路输出,可以实现对该图像数据流中目标物体的定位;由于图像数据流可以为静态图像的图像数据流,也可以为动态视频中一帧图像对应的图像数据流,当对视频中每一帧图像对应的图像数据流中的目标物体分别进行定位,可以实现对目标物体的动态视觉跟踪,在飞行器跟踪、车辆和行人跟踪领域中具有重要意义。
在具体实施例中,通过硬件描述语言编写上述各个电路代码,并通过相关编译软件编译形成集成电路板上的集成电路。本实施例中有关遍历计算电路中各个子电路的未尽细节,详见实施例一以及图1至图16的具体描述内容,此处不再赘述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图像中目标物体的几何矩的计算方法,其特征在于,包括以下步骤:
步骤1:按照预设数据流动方向,采用硬件描述语言获取包含目标物体的图像对应的图像数据流;
步骤2:获取图像尺寸和目标物体像素尺寸,按照所述预设数据流动方向,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集;
步骤3:根据所述图像数据流在每次图像遍历时的图像几何矩数据集,分别计算得到所述图像数据流在每次图像遍历时的实际几何矩并输出,并从所有实际几何矩中,提取出所述图像数据流中所述目标物体对应的目标几何矩并输出。
2.根据权利要求1所述的图像中目标物体的几何矩的计算方法,其特征在于,在所述步骤2中,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历之前包括:
步骤21:根据所述图像尺寸和所述目标物体像素尺寸,得到所述图像数据流对应的单行横向遍历次数和单列纵向遍历次数;
步骤22:根据所述单行横向遍历次数和所述图像尺寸得到图像横向遍历次数,根据所述单行横向遍历次数和所述单列纵向遍历次数,得到图像纵向遍历次数;
在所述步骤21中还包括:
根据所述目标物体像素尺寸,得到横向遍历尺寸和纵向遍历尺寸。
3.根据权利要求2所述的图像中目标物体的几何矩的计算方法,其特征在于,在所述步骤2中,图像遍历包括横向遍历和纵向遍历;图像几何矩数据集包括所述图像数据流在每次横向遍历时的图像宽度几何矩集合再经过对应的纵向遍历后得到的更新图像宽度几何矩集合,以及所述图像数据流在每次纵向遍历时的图像高度几何矩集合;
根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集具体包括:
步骤23:按照所述预设数据流动方向、所述横向遍历尺寸、所述单行横向遍历次数和所述图像横向遍历次数,对所述图像数据流逐次逐行进行横向遍历,并分别计算所述图像数据流的每行数据在每次横向遍历时的图像宽度几何矩集合,根据每行数据在所有横向遍历下的图像宽度几何矩集合得到每行数据一一对应的图像宽度几何矩总集,将所有图像宽度几何矩总集进行缓存;
步骤24:当所有横向遍历均完成后,按照所述预设数据流动方向、所述纵向遍历尺寸和所述图像纵向遍历次数,对所述图像数据流逐次进行纵向遍历,分别计算每个图像宽度几何矩集合在经过对应的纵向遍历后得到的更新图像宽度几何矩集合,将所有更新图像宽度几何矩集合进行缓存;利用所有图像宽度几何矩总集,分别计算所述图像数据流在每次纵向遍历时的图像高度几何矩集合。
4.根据权利要求3所述的图像中目标物体的几何矩的计算方法,其特征在于,在所述步骤23中,图像宽度几何矩集合包括所述图像数据流的每行数据在每次横向遍历时的像素横向零阶几何矩、像素横向一阶几何矩和像素横向二阶几何矩;
在所述步骤24中,更新图像宽度几何矩集合包括更新像素横向零阶几何矩、更新像素横向一阶几何矩和更新像素横向二阶几何矩,其中,更新像素横向零阶几何矩为像素横向零阶几何矩在经过对应的纵向遍历后得到的,更新像素横向一阶几何矩为像素横向一阶几何矩在经过对应的纵向遍历后得到的,更新像素横向二阶几何矩为像素横向二阶几何矩在经过对应的纵向遍历后得到的;
图像高度几何矩集合包括所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩。
5.根据权利要求4所述的图像中目标物体的几何矩的计算方法,其特征在于,所述步骤3具体包括:
步骤31:根据所述图像数据流的每行数据所对应的所有更新像素横向零阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向零阶几何矩之和;根据所述图像数据流的每行数据所对应的所有更新像素横向一阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向一阶几何矩之和;根据所述图像数据流的每行数据所对应的所有更新像素横向二阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向二阶几何矩之和;
步骤32:根据所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,以及对应的纵向遍历下的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和,得到所述图像数据流在每次纵向遍历时的实际几何距并输出;
计算所述图像数据流在第j次纵向遍历时的实际几何距:
其中,Hj为所述图像数据流在第j次纵向遍历时的实际几何距,Aj和Bj分别为计算所述图像数据流在第j次纵向遍历时的实际几何距时第一中间参数和第二中间参数,M10j和M20j分别为第j次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,∑M′00j、∑M′01j和∑M′02j分别为第j次纵向遍历时的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和;
步骤33:从所述图像数据流在所有纵向遍历时的实际几何距中,提取所述目标物体对应的所述目标几何矩并输出。
6.一种图像中目标物体的几何矩的计算装置,应用于根据权利要求1至5所述的图像中目标物体的几何矩的计算方法中,其特征在于,包括集成电路板(1)以及分别设置于所述集成电路板(1)上的数据流输入电路(2)、遍历计算电路(3)、目标几何矩提取电路(4)和输出电路(5);
所述集成电路板(1),用于将所述数据流输入电路(2)、所述遍历电路计算电路(3)、所述目标几何矩提取电路(4)和所述输出电路(5)集成在一起;
所述数据流输入电路(2),用于按照预设数据流动方向,采用硬件描述语言获取包含目标物体的图像对应的图像数据流;
所述遍历计算电路(3),用于获取图像尺寸和目标物体像素尺寸,按照所述预设数据流动方向,根据所述图像尺寸和所述目标物体像素尺寸对所述图像数据流进行图像遍历,并分别计算所述图像数据流在每次图像遍历时的图像几何矩数据集;
所述遍历计算电路(3),还用于根据所述图像数据流在每次图像遍历时的图像几何矩数据集,分别计算得到所述图像数据流在每次图像遍历时的实际几何矩;
所述目标几何矩提取电路(4),用于从所有实际几何矩中,提取出所述图像数据流中所述目标物体对应的目标几何矩;
所述输出电路(5),用于输出所述图像数据流在每次图像遍历时的实际几何矩,还用于输出所述目标几何矩;
所述集成电路板(1)分别与所述数据流输入电路(2)、所述遍历电路计算电路(3)、所述目标几何矩提取电路(4)和所述输出电路(5)电连接,所述数据流输入电路(2)依次通过所述遍历计算电路(3)和所述目标几何矩提取电路(4)与所述输出电路(5)电连接,所述遍历计算电路(3)与所述输出电路(5)电连接。
7.根据权利要求6所述的图像中目标物体的几何矩的计算装置,其特征在于,所述遍历计算电路(3),还具体用于:
根据所述图像尺寸和所述目标物体像素尺寸,得到所述图像数据流对应的单行横向遍历次数和单列纵向遍历次数;
根据所述单行横向遍历次数和所述图像尺寸得到图像横向遍历次数,根据所述单行横向遍历次数和所述单列纵向遍历次数,得到图像纵向遍历次数;
所述遍历计算电路(3),还具体用于:
根据所述目标物体像素尺寸,得到横向遍历尺寸和纵向遍历尺寸。
8.根据权利要求7所述的图像中目标物体的几何矩的计算装置,其特征在于,所述遍历计算电路(3)包括横向遍历计算子电路(31)、纵向遍历计算子电路(32)和缓存器(33);
图像几何矩数据集包括所述图像数据流在每次横向遍历时的图像宽度几何矩集合再经过对应的纵向遍历后得到的更新图像宽度几何矩集合,以及所述图像数据流在每次纵向遍历时的图像高度几何矩集合;
所述横向遍历计算子电路(31)具体用于:
按照所述预设数据流动方向、所述横向遍历尺寸、所述单行横向遍历次数和所述图像横向遍历次数,对所述图像数据流逐次逐行进行横向遍历,并分别计算所述图像数据流的每行数据在每次横向遍历时的图像宽度几何矩集合,根据每行数据在所有横向遍历下的图像宽度几何矩集合得到每行数据一一对应的图像宽度几何矩总集;
所述缓存器(33)用于缓存所有图像宽度几何矩总集;
所述纵向遍历计算子电路(32)具体用于:
当所有横向遍历均完成后,按照所述预设数据流动方向、所述纵向遍历尺寸和所述图像纵向遍历次数,对所述图像数据流逐次进行纵向遍历,分别计算每个图像宽度几何矩集合在经过对应的纵向遍历后得到的更新图像宽度几何矩集合,并利用所有图像宽度几何矩总集,分别计算所述图像数据流在每次纵向遍历时的图像高度几何矩集合;
所述缓存器(33)还用于缓存所有更新图像宽度几何矩集合;
所述横向遍历计算子电路(31)、所述纵向遍历计算子电路(32)和所述缓存器(33)均分别与所述集成电路板(1)电连接,所述横向遍历计算子电路(31)还分别与所述数据流输入电路(2)、所述纵向遍历计算子电路(32)和所述缓存器(33)电连接,所述纵向遍历计算子电路(32)还分别与所述数据流输入电路(2)、所述缓存器(33)和所述目标几何矩提取电路(4)电连接,所述缓存器(33)与所述目标几何矩提取电路(4)电连接。
9.根据权利要求8所述的图像中目标物体的几何矩的计算装置,其特征在于,图像宽度几何矩集合包括所述图像数据流的每行数据在每次横向遍历时的像素横向零阶几何矩、像素横向一阶几何矩和像素横向二阶几何矩;
更新图像宽度几何矩集合包括更新像素横向零阶几何矩、更新像素横向一阶几何矩和更新像素横向二阶几何矩,其中,更新像素横向零阶几何矩为像素横向零阶几何矩在经过对应的纵向遍历后得到的,更新像素横向一阶几何矩为像素横向一阶几何矩在经过对应的纵向遍历后得到的,更新像素横向二阶几何矩为像素横向二阶几何矩在经过对应的纵向遍历后得到的;
图像高度几何矩集合包括所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩。
10.根据权利要求9所述的图像中目标物体的几何矩的计算装置,其特征在于,所述遍历计算电路(3)还包括第一加法器(34)、第二加法器(35)、第三加法器(36)和实际几何矩计算子电路(37);
所述第一加法器(34),用于根据所述图像数据流的每行数据所对应的所有更新像素横向零阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向零阶几何矩之和;
所述第二加法器(35),用于根据所述图像数据流的每行数据所对应的所有更新像素横向一阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向一阶几何矩之和;
所述第三加法器(36),用于根据所述图像数据流的每行数据所对应的所有更新像素横向二阶几何矩,得到所述图像数据流在对应的纵向遍历下的更新像素横向二阶几何矩之和;
所述实际几何矩计算子电路(37),用于根据所述图像数据流在每次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,以及对应的纵向遍历下的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和,得到所述图像数据流在每次纵向遍历时的实际几何距并输出;
计算所述图像数据流在第j次纵向遍历时的实际几何距:
其中,Hj为所述图像数据流在第j次纵向遍历时的实际几何距,Aj和Bj分别为计算所述图像数据流在第j次纵向遍历时的实际几何距时第一中间参数和第二中间参数,M10j和M20j分别为第j次纵向遍历时的像素纵向一阶几何矩和像素纵向二阶几何矩,∑M′00j、∑M′01j和∑M′02j分别为第j次纵向遍历时的更新像素横向零阶几何矩之和、更新像素横向一阶几何矩之和以及更新像素横向二阶几何矩之和;
所述目标几何矩提取电路(4),具体用于从所述图像数据流在所有纵向遍历时的实际几何距中,提取所述目标物体对应的所述目标几何矩并输出;
所述第一加法器(34)、所述第二加法器(35)和所述第三加法器(36)均分别与所述缓存器(33)电连接,所述第一加法器(34)、所述第二加法器(35)、所述第三加法器(36)、所述纵向遍历计算子电路(32)和所述目标几何矩提取电路(4)均分别与所述实际几何矩计算子电路(37)电连接,所述实际几何矩计算子电路(37)与所述输出电路(5)电连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010554845.0A CN111738904B (zh) | 2020-06-17 | 2020-06-17 | 一种图像中目标物体的几何矩的计算方法和计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010554845.0A CN111738904B (zh) | 2020-06-17 | 2020-06-17 | 一种图像中目标物体的几何矩的计算方法和计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111738904A true CN111738904A (zh) | 2020-10-02 |
CN111738904B CN111738904B (zh) | 2022-05-17 |
Family
ID=72649566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010554845.0A Active CN111738904B (zh) | 2020-06-17 | 2020-06-17 | 一种图像中目标物体的几何矩的计算方法和计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111738904B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669296A (zh) * | 2020-12-31 | 2021-04-16 | 江苏南高智能装备创新中心有限公司 | 基于大数据的数控冲床模具的缺陷检测方法、装置及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425173A (zh) * | 2007-10-31 | 2009-05-06 | 中国科学院沈阳自动化研究所 | 快速图像几何矩和中心矩快速计算方法 |
US9934590B1 (en) * | 2015-06-25 | 2018-04-03 | The United States Of America As Represented By The Secretary Of The Air Force | Tchebichef moment shape descriptor for partial point cloud characterization |
CN109784372B (zh) * | 2018-12-17 | 2020-11-13 | 北京理工大学 | 一种基于卷积神经网络的目标分类方法 |
-
2020
- 2020-06-17 CN CN202010554845.0A patent/CN111738904B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669296A (zh) * | 2020-12-31 | 2021-04-16 | 江苏南高智能装备创新中心有限公司 | 基于大数据的数控冲床模具的缺陷检测方法、装置及设备 |
CN112669296B (zh) * | 2020-12-31 | 2023-09-26 | 江苏南高智能装备创新中心有限公司 | 基于大数据的数控冲床模具的缺陷检测方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111738904B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9020276B2 (en) | Hardware coprocessor for stripe-based interest point detection | |
Yepez et al. | Stride 2 1-D, 2-D, and 3-D Winograd for convolutional neural networks | |
US11704543B2 (en) | Neural network hardware acceleration with stochastic adaptive resource allocation | |
CN111179339A (zh) | 基于三角测量的坐标定位方法、装置、设备及存储介质 | |
CN100409258C (zh) | 一种实时快速实现高斯模板卷积的装置 | |
EP3093757A2 (en) | Multi-dimensional sliding window operation for a vector processor | |
CN106385640A (zh) | 视频标注方法及装置 | |
CN111738904B (zh) | 一种图像中目标物体的几何矩的计算方法和计算装置 | |
CN107169982A (zh) | 一种量子LoG边缘检测方法 | |
CN107851088A (zh) | 用于实时应用的具有同时边缘伪像去除的二维离散傅里叶变换 | |
Licciardo et al. | Frame buffer-less stream processor for accurate real-time interest point detection | |
Hiraiwa et al. | An FPGA implementation of reconfigurable real-time vision architecture | |
CN103208094A (zh) | 用于对图像应用滤波器的方法和*** | |
CN115546373A (zh) | 一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器及渲染方法 | |
Schiwietz et al. | GPU-PIV. | |
Ni et al. | FPGA-based Binocular image feature extraction and matching system | |
KR20160133924A (ko) | 컨벌루션 연산 장치 및 방법 | |
Joseph Raj et al. | Video-rate calculation of depth from defocus on a FPGA | |
CN114612513A (zh) | 一种基于fpga的图像金字塔光流值计算方法及*** | |
Siva et al. | A low cost high performance VLSI architecture for image scaling in multimedia applications | |
Fathi et al. | Low-cost and real-time hardware implementation of stereo vision system on FPGA | |
Lee et al. | Hardware design of a context-preserving filter-reorganized CNN for super-resolution | |
Nickel et al. | High-performance AKAZE implementation including parametrizable and generic HLS modules | |
Kalms et al. | FPGA based hardware accelerator for KAZE feature extraction algorithm | |
CN102098459B (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 |