CN108520262A - 一种基于fpga实时提取fhog特征的方法 - Google Patents
一种基于fpga实时提取fhog特征的方法 Download PDFInfo
- Publication number
- CN108520262A CN108520262A CN201810265217.3A CN201810265217A CN108520262A CN 108520262 A CN108520262 A CN 108520262A CN 201810265217 A CN201810265217 A CN 201810265217A CN 108520262 A CN108520262 A CN 108520262A
- Authority
- CN
- China
- Prior art keywords
- module
- gradient
- histogram
- image
- dimension
- 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
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/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
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
Abstract
本发明涉及一种基于FPGA实时提取FHOG特征的方法,其采用图像缩放模块、梯度计算模块、直方图统计模块、归一化模块和降维处理模块来实现。本发明在低密度FPGA平台高性能实现,全局模块使用流水线设计,减少处理延时,提高带内带宽,减小对外部存储DDR的带宽要求,减小成本和功耗。优化bram和DSP使用,使其最大性能发挥价值,本发明中的每个功能模块通过深度优化层级流水线,平衡前后带宽,减少了短板效应,整体的提升了处理速度和实时性。
Description
技术领域
本发明涉及机器视觉领域,具体涉及一种基于FPGA实时提取FHOG特征的方法。
背景技术
方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,它通过计算和统计图像局部区域的梯度方向直方图来构成特征。基于方向梯度直方图(HOG)的图像特征融合方法,具有显著方向性的局部梯度统计值,其构成融合的方向梯度直方图(FHOG),有效地解决了多分辨率(MR)图像融合存在的不足。使用传统CPU做FHOG特征提取,缺点是速度慢,涉及较复杂的内存读写操作,难以满足视频系统实时性要求。
发明内容
本发明的目的在于提供一种基于FPGA实时提取FHOG特征的方法,其运行速度块,实时性高。
为实现上述目的,本发明采用的技术方案是:
一种基于FPGA实时提取FHOG特征的方法,其采用图像缩放模块、梯度计算模块、直方图统计模块、归一化模块和降维处理模块来实现,具体如下:
步骤1、采用图像缩放模块对输入的图像进行处理;
缩放采用双线性插值实现,经过灰度化后的1080P图像从AXI接口输入,然后使用两个具有四个18K的bram做数据行缓存,并进行奇偶点存储;输出像素根据行场缩放比例计算映射到输入图像的位置点,确定插值权重,得到新的像素值,并输出到梯度计算模块中;
步骤2、采用梯度计算模块计算缩放后的图像的梯度值和方向;
缩放模块输出图像后,立刻启动梯度计算,首先用[-1,0,1]梯度算子对原图像做卷积运算,得到x方向的梯度分量gradscalx,然后用[1,0,-1]T梯度算子对原图像做卷积运算,得到y方向的梯度分量gradscaly,并根据16维单位梯度向量计算当前点最大的梯度方向,经梯度分量和底图方向组成的梯度图输出给直方图统计模块;
步骤3、采用直方图统计模块求取梯度直方图;
一旦梯度计算模块有输出,就启动直方图统计模块工作;将梯度图分成4*4和8*8两种大小的特征块,每个特征块分为16个维度;输入的梯度图根据不同的方向叠加梯度值到相应的特征维度上,一个梯度点叠加到四个邻域的4*4或者8*8的块中,且其叠加的权重不同;使用真双口RAM进行并行乒乓读写,在统计当前行的直方图特征时,归一化模块读取上一行或者上几行的数据做归一化处理;
步骤4、采用归一化模块对直方图特征进行归一化处理;
将直方图里面的16个维度数据首尾相加并取平方后得到归一化的新值,得到的新值在一个3*3的窗口中;将四个相邻归一化值开方后取倒数得到四个特征值,同时取出当前点的16个维度的统计直方图信息,经过乘法、累加以及比较处理后得到32维的特征数据;
步骤5、采用降维处理模块对归一化后的图像进行降维处理;
使用非线性支持向量机算法训练得到一组PCA降维系数,将归一化模块输出的32维特征降低到16维特征,得到FHOG特征。
采用上述方案后,本发明在低密度FPGA平台高性能实现,全局模块使用流水线设计,减少处理延时,提高带内带宽,减小对外部存储DDR的带宽要求,减小成本和功耗。优化bram和DSP使用,使其最大性能发挥价值,本发明中的每个功能模块通过深度优化层级流水线,平衡前后带宽,减少了短板效应,整体的提升了处理速度和实时性。
附图说明
图1为本发明系统框图;
图2为本发明FHOG特征提取流程框图;
图3为本发明图像缩放处理流程框图;
图4为本发明图像梯度计算流程框图;
图5为本发明图像归一化处理流程框图。
具体实施方式
如图1和图2所示,本发明揭示了一种基于FPGA实时提取FHOG特征的方法,其采用图像缩放模块、梯度计算模块、直方图统计模块、归一化模块和将维处理模块来实现,上述模块并行运行,保证运行过程中充分利用各个模块的流水线时隙,平衡各个模块的负载,前后模块之间都带有握手信号,方便扩展和控制带宽,最大程度提高整体带宽。每一级处理都实现实时流水线处理,所有计算过程满负荷运行,高度优化FPGA内部DSP,bram的计算和存储带宽。设计每个模块前后级的流水线,乒乓加速计算。具体如下:
步骤1、采用图像缩放模块对输入的图像进行处理;
缩放采用双线性插值实现,经过灰度化后的1080P图像从AXI接口输入,然后使用两个具有四个18K的bram做数据行缓存,并进行奇偶点存储,这样保证双线性插值取数据时能够同时取出四个像素点;输出像素根据行场缩放比例计算映射到输入图像的位置点,确定插值权重;得到新的像素值,并输出到下一级模块中;
该图像缩放模块可以根据后级模块的反馈信号动态开启和关闭改模块的运算,避免数据溢出。
因为要检测的目标有大有小,可能分布在不同的尺度下,所以需要对图像做缩放处理,每次得到的缩放图针对性的检测指定大小的目标物。按照2^1/5的比例缩小,然后每个尺度需要做如下处理:使用FHOG算法实现特征提取,特征提取时对每个尺度做两个细粒度下的实现(sbin=8和sbin=4),生成若干组特征图,分布于各个尺度下,供后级检测算法实现使用。本发明检测目标物大小在1080P分辨率下,检测大小范围为:32*32-732*732。计算速度远远超出普通CPU,满足了系统实时性要求。图像的尺度大小与级数分布情况如表1所示。
尺度级数 | 图像宽 | 图像高 |
1 | 1280 | 720 |
2 | 1114 | 627 |
3 | 970 | 546 |
4 | 844 | 475 |
5 | 735 | 414 |
6 | 640 | 360 |
7 | 557 | 313 |
8 | 485 | 273 |
9 | 422 | 238 |
10 | 368 | 207 |
11 | 320 | 180 |
12 | 279 | 157 |
13 | 243 | 136 |
14 | 211 | 119 |
15 | 184 | 103 |
表1
步骤2、采用梯度计算模块计算缩放后的图像的梯度值和方向;
如图4所示,缩放后的图像输出后,立刻启动梯度计算,首先用[-1,0,1]梯度算子对原图像做卷积运算,得到x方向(水平方向,以向右为正方向)的梯度分量gradscalx,然后用[1,0,-1]T梯度算子对原图像做卷积运算,得到y方向(竖直方向,以向上为正方向)的梯度分量gradscaly,根据16个梯度向量计算当前点最大的梯度方向,输出给后一级模块。
步骤3、采用直方图统计模块求取梯度直方图
一旦上一级模块有输出,就启动本级模块工作;将计算后的梯度图像分成4*4和8*8两种大小的特征块,每个梯度特征块包含了16个方向的权值,存储了不同的方向梯度值,而不同的梯度方向根据FHOG算法需要叠加到不同的位置。输入的梯度图根据不同的方向叠加梯度值到相应地址上。这个目的在于,通过叠加不同维度的梯度,根据它的权重,我们可以知道这个区域块中它的图像主要的梯度方向,用于目标物检测。一个梯度点需要叠加到四个邻域的4*4或者8*8的块中,且权重不一样,这样可以避免图像块效应。使用真双口RAM实现并行乒乓读写,需要在上一个时钟读取旧值,下一个时钟写入新值,同时读写两个真双口RAM。这里涉及RAM接口和流水线的精细操作,我们设计的乒乓真双口RAM框架,读写RAM交错处理,流水线设计读取,叠加和写入,既利用了RAM的带内高带宽特性,又不降低直方图统计的速度。同时设计行缓存时,使用乒乓缓存架构,在计算直方图的同时前后级梯度计算和归一化计算同时进行。
步骤4、采用归一化模块对直方图特征进行归一化处理;
如图5所示, 将直方图里面的16个维度数据首尾相加后取平方后得到归一化的新值,得到的新值需要在一个3*3的窗口中,将四个相邻归一化值开方后取倒数得到四个特征值,同时取出当前点的16个维度的统计直方图信息,经过乘法、累加以及比较处理后得到32维的特征数据。
步骤5、采用降维处理模块对归一化后的图像进行降维处理;上一级模块输出的数据量比较大,每个block中有32维特征数据,需要通过进一步的压缩处理,提取主要的信息成分,所以采用PCA(主成分分析方法)进行降维处理。使用非线性支持向量机(SVM)算法训练得到一组PCA降维系数,将其32维数据降低到16维特征,得到FHOG特征。
本发明全局使用流水线设计,高度利用FPGA的并行性的特点。输入输出都是标准的AXI接口,配置数据接口也是AXI实现。本发明在低密度FPGA平台高性能实现,是本发明核心创新点,全局模块使用流水线设计,减少处理延时,提高带内带宽,减小对外部存储DDR的带宽要求,减小成本和功耗。优化bram和DSP使用,使其最大性能发挥价值,每个功能模块通过深度优化层级流水线,平衡前后带宽,减少了短板效应,整体的提升了处理速度。
以上所述,仅是本发明实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (1)
1.一种基于FPGA实时提取FHOG特征的方法,其特征在于:所述方法采用图像缩放模块、梯度计算模块、直方图统计模块、归一化模块和降维处理模块来实现,具体如下:
步骤1、采用图像缩放模块对输入的图像进行处理;
缩放采用双线性插值实现,经过灰度化后的1080P图像从AXI接口输入,然后使用两个具有四个18K的bram做数据行缓存,并进行奇偶点存储;输出像素根据行场缩放比例计算映射到输入图像的位置点,确定插值权重,得到新的像素值,并输出到梯度计算模块中;
步骤2、采用梯度计算模块计算缩放后的图像的梯度值和方向;
缩放模块输出图像后,立刻启动梯度计算,首先用[-1,0,1]梯度算子对原图像做卷积运算,得到x方向的梯度分量gradscalx,然后用[1,0,-1]T梯度算子对原图像做卷积运算,得到y方向的梯度分量gradscaly,并根据16维单位梯度向量计算当前点最大的梯度方向,经梯度分量和底图方向组成的梯度图输出给直方图统计模块;
步骤3、采用直方图统计模块求取梯度直方图;
一旦梯度计算模块有输出,就启动直方图统计模块工作;将梯度图分成4*4和8*8两种大小的特征块,每个特征块分为16个维度;输入的梯度图根据不同的方向叠加梯度值到相应的特征维度上,一个梯度点叠加到四个邻域的4*4或者8*8的块中,且其叠加的权重不同;使用真双口RAM进行并行乒乓读写,在统计当前行的直方图特征时,归一化模块读取上一行或者上几行的数据做归一化处理;
步骤4、采用归一化模块对直方图特征进行归一化处理;
将直方图里面的16个维度数据首尾相加并取平方后得到归一化的新值,得到的新值在一个3*3的窗口中;将四个相邻归一化值开方后取倒数得到四个特征值,同时取出当前点的16个维度的统计直方图信息,经过乘法、累加以及比较处理后得到32维的特征数据;
步骤5、采用降维处理模块对归一化后的图像进行降维处理;
使用非线性支持向量机算法训练得到一组PCA降维系数,将归一化模块输出的32维特征降低到16维特征,得到FHOG特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810265217.3A CN108520262B (zh) | 2018-03-28 | 2018-03-28 | 一种基于fpga实时提取fhog特征的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810265217.3A CN108520262B (zh) | 2018-03-28 | 2018-03-28 | 一种基于fpga实时提取fhog特征的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108520262A true CN108520262A (zh) | 2018-09-11 |
CN108520262B CN108520262B (zh) | 2020-08-07 |
Family
ID=63430694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810265217.3A Active CN108520262B (zh) | 2018-03-28 | 2018-03-28 | 一种基于fpga实时提取fhog特征的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108520262B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016356A (zh) * | 2019-05-30 | 2020-12-01 | 西北工业大学深圳研究院 | 基于zynq的高光谱目标识别系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609716A (zh) * | 2012-01-10 | 2012-07-25 | 银江股份有限公司 | 一种基于改进的hog特征和pca的行人检测方法 |
CN103177262A (zh) * | 2013-02-19 | 2013-06-26 | 山东大学 | 基于hog和svm的行人检测系统的fpga架构及其实现方法 |
US20130321673A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Systems and Methods for Determining Noise Statistics of Image Data |
CN104008374A (zh) * | 2014-06-04 | 2014-08-27 | 中国矿业大学(北京) | 一种矿井图像中基于条件随机场的矿工检测方法 |
CN104598929A (zh) * | 2015-02-03 | 2015-05-06 | 南京邮电大学 | 一种hog特征快速提取方法 |
CN104866862A (zh) * | 2015-04-27 | 2015-08-26 | 中南大学 | 一种带钢表面面积型缺陷识别分类的方法 |
WO2016083002A1 (en) * | 2014-11-28 | 2016-06-02 | Fotonation Limited | A method for producing a histogram of oriented gradients |
US20170091575A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Method and system of low-complexity histrogram of gradients generation for image processing |
-
2018
- 2018-03-28 CN CN201810265217.3A patent/CN108520262B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609716A (zh) * | 2012-01-10 | 2012-07-25 | 银江股份有限公司 | 一种基于改进的hog特征和pca的行人检测方法 |
US20130321673A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Systems and Methods for Determining Noise Statistics of Image Data |
CN103177262A (zh) * | 2013-02-19 | 2013-06-26 | 山东大学 | 基于hog和svm的行人检测系统的fpga架构及其实现方法 |
CN104008374A (zh) * | 2014-06-04 | 2014-08-27 | 中国矿业大学(北京) | 一种矿井图像中基于条件随机场的矿工检测方法 |
WO2016083002A1 (en) * | 2014-11-28 | 2016-06-02 | Fotonation Limited | A method for producing a histogram of oriented gradients |
CN104598929A (zh) * | 2015-02-03 | 2015-05-06 | 南京邮电大学 | 一种hog特征快速提取方法 |
CN104866862A (zh) * | 2015-04-27 | 2015-08-26 | 中南大学 | 一种带钢表面面积型缺陷识别分类的方法 |
US20170091575A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Method and system of low-complexity histrogram of gradients generation for image processing |
Non-Patent Citations (1)
Title |
---|
FUAT KARAKAYA 等: "Implementation of HOG algorithm for real time object recognition applications on FPGA based embedded system", 《 2009 IEEE 17TH SIGNAL PROCESSING AND COMMUNICATIONS APPLICATIONS CONFERENCE》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016356A (zh) * | 2019-05-30 | 2020-12-01 | 西北工业大学深圳研究院 | 基于zynq的高光谱目标识别系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108520262B (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020119527A1 (zh) | 人体动作识别方法、装置、终端设备及存储介质 | |
EP1975879B1 (en) | Computer implemented method for tracking object in sequence of frames of video | |
Lu et al. | A resource-efficient pipelined architecture for real-time semi-global stereo matching | |
CN109784372B (zh) | 一种基于卷积神经网络的目标分类方法 | |
CN106991689A (zh) | 基于fhog和颜色特征的目标跟踪方法及gpu加速 | |
CN106934806B (zh) | 一种基于结构清晰度的无参考图失焦模糊区域分割方法 | |
CN110751620B (zh) | 估算体积和重量的方法、电子设备及计算机可读存储介质 | |
CN108564008A (zh) | 一种基于zynq的实时行人与人脸检测方法 | |
CN112037254A (zh) | 目标跟踪方法及相关装置 | |
CN110084802A (zh) | 一种高精度pcb板芯片引脚中心定位方法 | |
CN111105452A (zh) | 基于双目视觉的高低分辨率融合立体匹配方法 | |
CN113421242A (zh) | 基于深度学习的焊点外观质量检测方法、装置及终端 | |
Greisen et al. | Algorithm and VLSI architecture for real-time 1080p60 video retargeting | |
CN111161348B (zh) | 一种基于单目相机的物体位姿估计方法、装置及设备 | |
Malik et al. | Real-time component labelling with centre of gravity calculation on FPGA | |
CN108520262A (zh) | 一种基于fpga实时提取fhog特征的方法 | |
CN111681236A (zh) | 一种带注意力机制的目标密度估计方法 | |
CN112784828B (zh) | 基于方向梯度直方图的图像检测方法、装置、计算机设备 | |
JP7239050B2 (ja) | 画像処理装置、画像処理システム、画像処理方法、および画像処理プログラム | |
CN111009004B (zh) | 一种加速图像匹配的硬件优化方法 | |
CN108898121B (zh) | 一种图像特征的提取方法及系统 | |
CN113608207A (zh) | 一种高炉料面形状测量方法、终端设备及存储介质 | |
CN105046637A (zh) | 基于 OmapL138芯片的光流跟踪实现方法 | |
Zhang et al. | Region-based image retargeting quality assessment | |
JP6910622B2 (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 |