CN113781290A - 一种用于fast角点检测的向量化硬件装置 - Google Patents
一种用于fast角点检测的向量化硬件装置 Download PDFInfo
- Publication number
- CN113781290A CN113781290A CN202110998588.4A CN202110998588A CN113781290A CN 113781290 A CN113781290 A CN 113781290A CN 202110998588 A CN202110998588 A CN 202110998588A CN 113781290 A CN113781290 A CN 113781290A
- Authority
- CN
- China
- Prior art keywords
- unit
- hardware device
- data
- vectorization
- image
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种用于FAST角点检测的向量化硬件装置。该硬件装置包括:图像缓存寄存器堆单元由9个向量寄存器组成,并用于缓存图像的灰度像素数据;向量处理单元用于针对FAST角点的计算和判断过程,接收来自图像缓存寄存器堆单元的FAST窗口数据,并设计了多个并行处理单元,向量处理单元并行化计算角点结果数据;数据写回单元用于将角点数据结果写回外部存储设备的功能,并通过向量寄存器用于功能实现;整个硬件装置通过状态机控制单元进行各模块间的控制功能,并提供AXI总线接口。本发明能够实现FAST角点检测的向量化计算,并具有高度并行化、精度不损失、易于硬件指令化、模组化等优点。
Description
技术领域
本发明涉及计算机视觉处理器领域,具体涉及一种用于FAST角点检测的向量化硬件装置。
背景技术
角点检测是图像处理的重要技术,可应用于物体识别、***追踪、导航定位等计算机视觉场景中。FAST角点检测具有线性的计算复杂度,更易符合高帧率计算的场景。另一方面,FAST算法也可以作为复杂角点检测过程的计算基础,例如ORB算法过程。随着近年来不断提升的高分辨率、高帧率、高实时性的图像计算场景需要,加速FAST角点检测计算过程具有了更重要的意义。
现阶段角点检测算法通常采用通用的计算机处理器来运行,例如中央处理器(CPU)和图形处理器(GPU)等。通过GPU或者多线程技术来加速算法过程,尚未出现针对特定角点检测算法的向量化加速技术。
所以,本文提出的FAST角点检测的向量化硬件装置,通过硬件电路实现了FAST16算法过程,并通过向量化技术提升了计算并行度,可充分利用AXI总线带宽资源。该装置即可作为硬件IP核嵌入SoC处理器芯片,也可以通过搭建相关***电路成为独立的硬件***。该装置也适用于指令化设计的向量处理器,具备扩展性。该装置具有高实时性、FAST算法精度无损、针对不同图像分辨率要求的可配置性、高性能低功耗的特点。
发明内容
本发明提供一种用于FAST角点检测的向量化硬件装置,用于解决现有技术中针对FAST角点检测计算过程尚无专用向量化硬件装置的现状。
一种用于FAST角点检测的向量化硬件装置,其特征在于,所述装置包括:图像缓存寄存器堆单元、向量处理单元、数据写回单元和状态机控制单元,其中:
所述图像缓存寄存器堆单元用于接收待输入的灰度图像数据,并按照所设计的寄存器资源大小进行缓存,用于供给向量处理单元进行角点检测计算,其中,图像缓存寄存器所装载数据对应多个角点待计算窗口数据;
所述向量处理单元用于对多个角点的并行化计算,对于待判断像素点进行角点属性判定计算,非极大值抑制响应值计算和像素点坐标值换算;
所述数据写回单元用于将角点计算结果压缩到结果寄存器,以使角点计算结果合并写出;
所述状态机控制单元用于控制图像缓存寄存器堆单元、向量处理单元和数据写回单元的任务调度。
优选的,所述的向量化硬件装置,其特征在于,所述的图像缓存寄存器堆单元由9个多比特位向量寄存器组成,用于缓存多组角点检测算法所需的像素点窗口数据;灰度图像数据按连续组分发到图像缓存寄存器堆单元,并由状态机控制灰度图像数据拼接步长。图像缓存寄存器堆单元采用乒乓架构来平衡缓存过程和计算过程的时间开销。
优选的,所述的向量化硬件装置,其特征在于,所述的多比特位向量寄存器批量装载每帧图像的行像素数据和单个边界像素点的坐标位置信息。
优选的,所述的向量化硬件装置,其特征在于,向量处理单元通过并行访问图像缓存寄存器堆单元获取多组计算窗口数据,且并行化的运行角点检测计算过程。
优选的,所述的向量化硬件装置,其特征在于,向量处理单元具有和计算窗口数据组数相同的角点检测计算单元,计算单元共享整个图像缓存寄存器堆单元,并同步访问角点计算窗口数据。
优选的,所述的向量化硬件装置,其特征在于,角点检测计算单元采用流水线式架构实现FAST角点运算逻辑和非极大值抑制比较逻辑。
优选的,所述的向量化硬件装置,其特征在于,装置由状态机单元控制任务调度,并具有AXI总线读写接口协议;图像缓存寄存器堆单元可通过AXI总线批量刷新待计算像素点的灰度图像数据;所述向量化硬件装置可通过AXI总线协议与其他装置配置完成处理任务。
优选的,所述的向量化硬件装置,其特征在于,状态机单元具有图像缓存寄存器堆接收灰度图像数据的状态和向量处理单元计算状态;所述向量化硬件装置具有启动和结束信号的配置控制端口。
优选的,所述的向量化硬件装置,其特征在于,所述数据写回单元通过多比特位向量寄存器组成,将结果向量处理单元的多组结果同步压缩到该向量寄存器,存储信息包括角点属性判定结果、非极大值抑制响应值计算结果和像素点坐标值换算结果;数据写回单元可以通过AXI总线写回到目的装置。
本发明能够实现FAST角点检测的向量化计算,向量寄存器组的设计提升了装置内灰度图像数据的吞吐效率,并具有高度并行化、精度不损失、易于硬件指令化、模组化等优点。
附图说明
图1是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的结构示意图。
图2是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的图像缓存寄存器堆单元的结构示意图。
图3是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的向量寄存器的结构示意图。
图4是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的FAST16角点检测过程示意图。
图5是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的向量处理单元的结构示意图。
图6是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的状态机控制单元的结构示意图。
图7是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置在处理器***应用的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
图1是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的结构示意图。如图1所示,该装置包括:图像缓存寄存器堆单元、向量处理单元、数据写回单元和状态机控制单元。图像缓存寄存器堆单元用于接收待处理的灰度图像像素数据块,根据视频流图像的分辨率要求的行数据和列数据规格进行图像块的划分,并配置图像缓存寄存器的比特位宽度以达到缓存目的,用于供给向量处理单元进行角点检测计算。
图2是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的图像缓存寄存器堆单元的结构示意图。每个灰度图像像素点为一个方格表示,每个像素点的强度值用8位比特位表示。图像缓存寄存器堆单元由9个256位向量寄存器组成,分别是V0、V1、V2、V3、V4、V5、V6、V7、V8,每个向量寄存器有240个比特位位宽大小用来装载灰度图像数据。在图2所示的图像缓存寄存器堆单元中,待计算像素点为P00~P78,共有8组非极大值抑制窗口且为3*3大小,分别是P00~P08、P10~P18、P20~P28、P30~P38、P40~P48、P50~P58、P60~P68、P70~P78,按照上述分组并分别对应向量处理单元的8组运算部件。每组运算部件可同时进行纵向3个像素点的角点计算过程。所有图像缓存寄存器堆单元的待计算像素点计算完成后,可对图像缓存寄存器堆单元进行缓冲数据的刷新,由于图像缓存寄存器堆单元采用了乒乓设计,因此接收灰度图像数据的过程时间可以被隐藏。
图3是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的向量寄存器的结构示意图。图像缓存寄存器堆单元的相关向量寄存器组是V0~V8,其每个向量寄存器的16到255位用来装载待处理的灰度图像数据块数据,用Pixel_Vector_n表示。寄存器组V0~V8的每个向量寄存器的0到16位用来装载待处理的灰度图像行数据块的起始像素点在整幅图像中的行坐标和列坐标信息标识,分别用xn和yn表示,坐标信息标识可用于换算写出结果中像素点的坐标值。向量寄存器V9共有256位,用于装载向量处理单元的中各个角点检测计算单元的待写出32位结果,分别是PE0_result~PE7_result,其中每个32位结果的31~23位表示score分数,该分数用于表示角点强度;22~12位表示行坐标x_index,11~1位表示列坐标y_index;最低位c表示角点判断结果。图例中PE0_result~PE7_result按照由高位到低位的顺序装载。
图4是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的FAST16角点检测过程示意图。FAST16为针对某一待判断像素点P的角点检测算法,如图所示,1~16灰色方框表示与像素点P进行差值计算的相关像素点。本硬件装置可完整装载灰度图像源数据,FAST16角点检测可不失精度完成,像素值差值的绝对值求和可保留为角点检测的score分数,非极大值抑制(NMS)过程需要比较待判断像素点的score分数大小,其中每个NMS窗口最多保留一个角点数据。FAST16运算逻辑与NMS比较逻辑在向量处理单元的并行处理单元中按照流水线架构运行。
图5是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的向量处理单元的结构示意图。向量处理单元VPU通过数据线并行访问图像缓存寄存器堆单元同步获取8计算窗口数据,且具有8个针对FAST16的并行处理单元,分别是PE0~PE7。所有计算单元共享整个图像缓存寄存器堆单元(V0~V8),并同步访问向量寄存器任意比特位区间的数据。每个PE单元具有流水线架构的FAST16运算逻辑与NMS比较逻辑,可4个周期完成每组3*3像素点窗口的计算过程。VPU完成向量处理任务后将结果写入数据写回单元,数据写回单元由V9向量寄存器组成,V9共有256位,可装载8组PE单元结果。VPU的8组结果同步压缩到V9向量寄存器,存储信息包括角点属性判定结果、非极大值抑制响应值计算结果和像素点坐标值换算结果。
图6是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置的状态机控制单元的结构示意图。该角点检测的向量化硬件装置由状态机单元控制各个模块的任务调度,并通过状态机配置硬件装置的启动START和返回结束END状态指令。IDLE表示向量化硬件装置的休眠待机状态,LOAD表示图像缓存寄存器堆接收灰度图像数据的状态,COMP表示VPU的运算状态。LOAD状态下可设置计数器1进行像素点计数统计,并与总线基地址增量计算得到总线访问地址;计数器2在COMP状态完成时进行更新,用于像素点处理任务的计算过程统计,并作为单张图像的处理任务完成的阈值。
图7是本发明一个实施例的一种用于FAST角点检测的向量化硬件装置在处理器***应用的结构示意图。处理器可以配置该向量化硬件装置的配置启动信号START,该装置也可以返回配置结束信号END。该向量化硬件装置具有AXI总线读写接口协议;图像缓存寄存器堆单元支持通过AXI总线突发模式直接获取存储器设备中对应的灰度图像数据;数据写回单元支持通过AXI总线突发模式写回到存储器设备;所述向量化硬件装置可通过AXI总线协议与其他装置配置完成处理任务。本装置可扩展图像缓存寄存器堆单元的相关向量寄存器组的比特位宽度、向量处理单元VPU的计算单元数目和数据写回单元向量寄存器的数目和比特位宽度,以适用于任意分辨率图像处理场景,完成大批量角点数目的向量化计算。硬件装置可作为处理器***的协处理器部件。
以上运用具体实施例对本发明进行了进一步的阐释。需要指出的是,上述内容仅为本发明的具体实施例,而不应用于限制本发明。在本发明的思想之内的任何修改、替换、改进等都应在本发明的保护范围之内。
Claims (9)
1.一种用于FAST角点检测的向量化硬件装置,其特征在于,所述装置包括:图像缓存寄存器堆单元、向量处理单元、数据写回单元和状态机控制单元,其中:
所述图像缓存寄存器堆单元用于接收待输入的灰度图像数据,并按照所设计的寄存器资源大小进行缓存,用于供给向量处理单元进行角点检测计算,其中,图像缓存寄存器所装载数据对应多个角点待计算窗口数据;
所述向量处理单元用于对多个角点的并行化计算,对于待判断像素点进行角点属性判定计算,非极大值抑制响应值计算和像素点坐标值换算;
所述数据写回单元用于将角点计算结果压缩到结果寄存器,以使角点计算结果合并写出;
所述状态机控制单元用于控制图像缓存寄存器堆单元、向量处理单元和数据写回单元的任务调度。
2.根据权利要求1所述的向量化硬件装置,其特征在于,所述的图像缓存寄存器堆单元由9个多比特位向量寄存器组成,用于缓存多组角点检测算法所需的像素点窗口数据;灰度图像数据按连续组分发到图像缓存寄存器堆单元,并由状态机控制灰度图像数据拼接步长;图像缓存寄存器堆单元采用乒乓架构来平衡缓存过程和计算过程的时间开销。
3.根据权利要求2所述的向量化硬件装置,其特征在于,所述的多比特位向量寄存器批量装载每帧图像的行像素数据和单个边界像素点的坐标位置信息。
4.根据权利要求1所述的向量化硬件装置,其特征在于,向量处理单元通过并行访问图像缓存寄存器堆单元获取多组计算窗口数据,且并行化的运行角点检测计算过程。
5.根据权利要求4所述的向量化硬件装置,其特征在于,向量处理单元具有和计算窗口数据组数相同的角点检测计算单元,计算单元共享整个图像缓存寄存器堆单元,并同步访问角点计算窗口数据。
6.根据权利要求5所述的向量化硬件装置,其特征在于,角点检测计算单元采用流水线式架构实现FAST角点运算逻辑和非极大值抑制比较逻辑。
7.根据权利要求1所述的向量化硬件装置,其特征在于,装置由状态机单元控制任务调度,并具有AXI总线读写接口协议;图像缓存寄存器堆单元可通过AXI总线批量刷新待计算像素点的灰度图像数据;所述向量化硬件装置可通过AXI总线协议与其他装置配置完成处理任务。
8.根据权利要求7所述的向量化硬件装置,其特征在于,状态机单元具有图像缓存寄存器堆接收灰度图像数据的状态和向量处理单元计算状态;所述向量化硬件装置具有启动和结束信号的配置控制端口。
9.根据权利要求1所述的向量化硬件装置,其特征在于,所述数据写回单元通过多比特位向量寄存器组成,将结果向量处理单元的多组结果同步压缩到该向量寄存器,存储信息包括角点属性判定结果、非极大值抑制响应值计算结果和像素点坐标值换算结果;数据写回单元通过AXI总线写回到目的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998588.4A CN113781290B (zh) | 2021-08-27 | 2021-08-27 | 一种用于fast角点检测的向量化硬件装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998588.4A CN113781290B (zh) | 2021-08-27 | 2021-08-27 | 一种用于fast角点检测的向量化硬件装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113781290A true CN113781290A (zh) | 2021-12-10 |
CN113781290B CN113781290B (zh) | 2023-01-31 |
Family
ID=78839896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998588.4A Active CN113781290B (zh) | 2021-08-27 | 2021-08-27 | 一种用于fast角点检测的向量化硬件装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113781290B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5916081A (ja) * | 1982-03-31 | 1984-01-27 | ゼネラル・エレクトリツク・カンパニイ | 可視映像処理システム内で可視映像の処理及びコ−ナ−点の整理を行う方法及び装置 |
CN1979527A (zh) * | 2005-12-09 | 2007-06-13 | 中国科学院沈阳自动化研究所 | 图像角点快速提取方法及实现装置 |
CN102930278A (zh) * | 2012-10-16 | 2013-02-13 | 天津大学 | 一种人眼视线估计方法及其装置 |
CN103530224A (zh) * | 2013-06-26 | 2014-01-22 | 郑州大学 | 一种基于GPU的Harris角点检测软件*** |
US20140348431A1 (en) * | 2013-05-23 | 2014-11-27 | Linear Algebra Technologies Limited | Corner detection |
CN105046637A (zh) * | 2015-07-31 | 2015-11-11 | 深圳市哈工大交通电子技术有限公司 | 基于 OmapL138芯片的光流跟踪实现方法 |
CN108681984A (zh) * | 2018-07-26 | 2018-10-19 | 珠海市微半导体有限公司 | 一种3*3卷积算法的加速电路 |
CN112837256A (zh) * | 2019-11-04 | 2021-05-25 | 珠海零边界集成电路有限公司 | 一种用于Harris角点检测的电路***及检测方法 |
-
2021
- 2021-08-27 CN CN202110998588.4A patent/CN113781290B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5916081A (ja) * | 1982-03-31 | 1984-01-27 | ゼネラル・エレクトリツク・カンパニイ | 可視映像処理システム内で可視映像の処理及びコ−ナ−点の整理を行う方法及び装置 |
CN1979527A (zh) * | 2005-12-09 | 2007-06-13 | 中国科学院沈阳自动化研究所 | 图像角点快速提取方法及实现装置 |
CN102930278A (zh) * | 2012-10-16 | 2013-02-13 | 天津大学 | 一种人眼视线估计方法及其装置 |
US20140348431A1 (en) * | 2013-05-23 | 2014-11-27 | Linear Algebra Technologies Limited | Corner detection |
CN103530224A (zh) * | 2013-06-26 | 2014-01-22 | 郑州大学 | 一种基于GPU的Harris角点检测软件*** |
CN105046637A (zh) * | 2015-07-31 | 2015-11-11 | 深圳市哈工大交通电子技术有限公司 | 基于 OmapL138芯片的光流跟踪实现方法 |
CN108681984A (zh) * | 2018-07-26 | 2018-10-19 | 珠海市微半导体有限公司 | 一种3*3卷积算法的加速电路 |
CN112837256A (zh) * | 2019-11-04 | 2021-05-25 | 珠海零边界集成电路有限公司 | 一种用于Harris角点检测的电路***及检测方法 |
Non-Patent Citations (2)
Title |
---|
李鸿龙;杨杰;张忠星;罗迁;于双铭;刘力源;吴南健: "用于实时目标检测的高速可编程视觉芯片", 《红外与激光工程》 * |
郑杰,刘杰,黄超,陈更生: "一种改进的基于角点检测的并行化电子稳像算法", 《复旦学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113781290B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847550B2 (en) | Sparse convolutional neural network accelerator | |
US11270197B2 (en) | Efficient neural network accelerator dataflows | |
US7969446B2 (en) | Method for operating low power programmable processor | |
CN111143174B (zh) | 在共享功率/热约束下操作的硬件的最佳操作点估计器 | |
US7574466B2 (en) | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements | |
US12045924B2 (en) | Real-time hardware-assisted GPU tuning using machine learning | |
CN110738308B (zh) | 一种神经网络加速器 | |
CN111931918B (zh) | 神经网络加速器 | |
US20130145124A1 (en) | System and method for performing shaped memory access operations | |
US11645533B2 (en) | IR drop prediction with maximum convolutional neural network | |
US20060161720A1 (en) | Image data transmission method and system with DMAC | |
CN111667542B (zh) | 适用于人工神经网络的用于处理压缩数据的解压缩技术 | |
US10916252B2 (en) | Accelerated data transfer for latency reduction and real-time processing | |
US20110072438A1 (en) | Fast mapping table register file allocation algorithm for simt processors | |
CN112905530A (zh) | 片上架构、池化计算加速器阵列、单元以及控制方法 | |
CN112258378A (zh) | 基于gpu加速的实时三维测量***及方法 | |
CN106780415B (zh) | 一种直方图统计电路及多媒体处理*** | |
CN114399035A (zh) | 搬运数据的方法、直接存储器访问装置以及计算机*** | |
CN110377874B (zh) | 卷积运算方法及*** | |
US7199799B2 (en) | Interleaving of pixels for low power programmable processor | |
US7389006B2 (en) | Auto software configurable register address space for low power programmable processor | |
CN113781290B (zh) | 一种用于fast角点检测的向量化硬件装置 | |
US20240168639A1 (en) | Efficient reduce-scatter via near-memory computation | |
CN115687194A (zh) | 采用降低的能量传输模式的存储器接口 | |
US20110254848A1 (en) | Buffering deserialized pixel data in a graphics processor unit pipeline |
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 |