CN111783979B - 一种基于ssim算法的图像相似度检测硬件加速器vlsi结构 - Google Patents

一种基于ssim算法的图像相似度检测硬件加速器vlsi结构 Download PDF

Info

Publication number
CN111783979B
CN111783979B CN202010575574.7A CN202010575574A CN111783979B CN 111783979 B CN111783979 B CN 111783979B CN 202010575574 A CN202010575574 A CN 202010575574A CN 111783979 B CN111783979 B CN 111783979B
Authority
CN
China
Prior art keywords
frame image
module
line memory
accumulation
image line
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
Application number
CN202010575574.7A
Other languages
English (en)
Other versions
CN111783979A (zh
Inventor
赵晨
王榕
张世周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN202010575574.7A priority Critical patent/CN111783979B/zh
Publication of CN111783979A publication Critical patent/CN111783979A/zh
Application granted granted Critical
Publication of CN111783979B publication Critical patent/CN111783979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,包括输入模块、乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器。输入模块用高斯模板对待比较图像进行扫描,将图像像素亮度值存储在当前帧图像行存和参考帧图像行存;乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器按照SSIM算法对两个行存的数据分别进行一系列处理,最终得到两幅待比较图像的MSSIM值,通过对MSSIM值进行比较,判断两幅图像是否相似。基于此架构可设计图像相似度检测硬件加速器,用来比较两幅图像的相似度。该VLSI结构可以提高嵌入式视觉和图像处理系统的性能,对系统功耗有严格限制的端侧嵌入式视觉系统具有重要的应用价值。

Description

一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构
技术领域
本发明属于嵌入式图像处理领域,具体涉及一种图像相似度检测硬件加速器VLSI结构。
背景技术
SSIM(Structural Similarity)算法最初由Wang Zhou提出(参见论文:“ImageQuality Assessment:From Error Visibility to Structural Similarity”),主要用于对原始图像(参考图像)经过压缩变换等操作后的图像进行质量评价。近些年来,SSIM算法被用来对图像的相似度进行检测,例如Gan Yiming基于SSIM算法检测连续视频流中参考帧与当前帧的相似度以调度神经网络加速器,从而大幅降低视觉处理系统的能耗(参见论文:“SVSoC:Speculative Vision Systems-on-a-Chip”)。
SSIM算法采用K×K(K2=N)高斯模板对输入的两幅灰度图像进行滑动扫描,如图2所示。高斯模板对应图像中大小为K×K的窗口,每个窗口内包含N个像素,通过公式(1)─(5)计算一个窗口内两幅图像的结构化相似度SSIM:wi表示K×K高斯模板中第i个位置上的参数(1≤i≤N);xi和yi分别为两幅图像对应的K×K窗口内第i个位置上像素的亮度值;C1和C2为配置参数。高斯模板的滑动步长为1,假设输入图像大小为M×M,则可计算得到L(L=(M-K+1)2)个SSIM,通过公式(5)计算两幅图像的平均SSIM即MSSIM(Mean StructuralSimilarity),基于MSSIM即可对两幅的相似度进行评价。
和σxy的表达式可变换为:
因此,只需扫描过程中累加并记录wixi、wiyi和wixiyi的值,即可在K×K窗口结束时得出ux、uy、/>和σxy,从而计算出该窗口两幅图像对应的SSIM,图像扫描完成时即可得出MSSIM。
论文“Image Quality Assessment:From Error Visibility to StructuralSimilarity”中对SSIM算法进行了详细介绍。目前SSIM算法主要基于高性能的服务器或桌面计算机通过软件编程的方式实现,Gan Yiming在其工作中也仅是通过软件建模的方法评估SSIM算法在降低系统功耗方面的适用性和有效性,并未设计实现SSIM算法的硬件加速器。Morsi在FPGA(Field-Programmable Gate Array)平台上基于PSO(Particle SwarmOptimization)算法实现目标追踪功能,并采用SSIM算法作为适应性函数(参见论文:“FPGAImplementation of PSO-Based Object Tracking System Using SSIM”),但是,该工作只计算了图像中一块区域的结构化相似度,并未得到两幅图像的MSSIM。
SSIM算法包含了大量的乘累加操作,并且需要寄存大量的中间数据,而嵌入式视觉和图像处理系统中的微处理器往往性能有限,不能实时高效的运行SSIM算法。另外,基于公开可查阅的文献资料显示,目前没有SSIM算法硬件加速器技术的相关记录。
发明内容
为了克服现有技术的不足,本发明提供了一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,包括输入模块、乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器。基于此架构可设计图像相似度检测硬件加速器,用来比较两幅图像的相似度。该VLSI结构可以提高嵌入式视觉和图像处理系统的性能,对系统功耗有严格限制的端侧嵌入式视觉系统具有重要的应用价值。
为达到上述目的,本发明采用以下技术方案:
一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,包括输入模块、乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器;
所述输入模块包括当前帧图像行存、参考帧图像行存和高斯参数缓存,当前帧图像行存和参考帧图像行存均由(K+1)个深度为M的存储器组成,分别存储当前帧图像和参考帧图像像素的亮度值;用K×K大小的高斯模板在两幅M×M大小的待比较图像中从左至右、从上至下进行光栅化滑动扫描,滑动扫描步长为1个像素,在当前帧图像中扫描得到的图像窗口内各个像素的亮度值xi保存在当前帧图像行存,在参考帧图像中扫描得到的图像窗口内各个像素的亮度值yi保存在参考帧图像行存,当前帧图像行存和参考帧图像行存中的数据随着高斯模板的滑动进行更新;高斯参数缓存保存高斯模板参数wi;i表示高斯模板窗口内第i个位置,i=1,2,……,K×K;
所述乘法单元模块包含K个乘法单元;乘法单元模块对输入模块进行扫描,将当前帧图像行存、参考帧图像行存和高斯参数缓存的数据按列输入乘法单元模块,当前列的第j行数据送入第j个乘法单元,第j个乘法单元输出wjxj、wjyjwjxjyj的值,wj为当前列第j行的高斯模板参数,xj和yj分别为当前帧图像行存和参考帧图像行存中当前列第j行的数据,j=1,2,……,K;
所述加法器阵列将乘法单元模块输出值按如下公式进行累加:
式中,A、B、C、D、E分别当前列的wjxj、wjyjwjxjyj累加值;
所述累加移位器模块包括五个累加移位器,五个累加移位器分别对加法器阵列输出的K列的A、B、C、D、E值进行累加;
所述算数运算模块根据累加移位器模块的输出值,按照SSIM算法计算高斯模板扫描得到的一个K×K大小窗口图像的SSIM值;
随着高斯模块在两幅待比较图像中从左至右、从上至下进行光栅化滑动扫描,最终得到L=(M-K+1)2个SSIM值,将这L个SSIM值输入累加计算器,按照SSIM算法计算得到MSSIM值。
本发明的有益效果是:解决了传统SSIM算法包含大量的乘累加操作,需要寄存大量的中间数据,传统嵌入式视觉和图像处理系统中微处理器性能有限不能实时高效运行SSIM算法的问题。基于本发明VLSI架构可设计图像相似度检测硬件加速器,提高嵌入式视觉和图像处理系统的性能,对系统功耗有严格限制的端侧嵌入式视觉系统具有重要的应用价值。
附图说明
图1是本发明图像相似度检测硬件加速器VLSI结构示意图。
图2是SSIM算法图像扫描过程示意图。
图3是本发明图像相似度检测硬件加速器行存扫描示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明提供了一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,包括输入模块、乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器。基于此架构可设计图像相似度检测硬件加速器,用来比较两幅图像的相似度。该VLSI结构可以提高嵌入式视觉和图像处理系统的性能,对系统功耗有严格限制的端侧嵌入式视觉系统具有重要的应用价值。
为达到上述目的,本发明采用以下技术方案:
一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,包括输入模块、乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器;
所述输入模块包括当前帧图像行存、参考帧图像行存和高斯参数缓存,当前帧图像行存和参考帧图像行存均由(K+1)个深度为M的存储器组成,分别存储当前帧图像和参考帧图像像素的亮度值;用K×K大小的高斯模板在两幅M×M大小的待比较图像中从左至右、从上至下进行光栅化滑动扫描,滑动扫描步长为1个像素,在当前帧图像中扫描得到的图像窗口内各个像素的亮度值xi保存在当前帧图像行存,在参考帧图像中扫描得到的图像窗口内各个像素的亮度值yi保存在参考帧图像行存,当前帧图像行存和参考帧图像行存中的数据随着高斯模板的滑动进行更新;高斯参数缓存保存高斯模板参数wi;i表示高斯模板窗口内第i个位置,i=1,2,……,K×K;
所述乘法单元模块包含K个乘法单元;乘法单元模块对输入模块进行扫描,将当前帧图像行存、参考帧图像行存和高斯参数缓存的数据按列输入乘法单元模块,当前列的第j行数据送入第j个乘法单元,第j个乘法单元输出wjxj、wjyjwjxjyj的值,wj为当前列第j行的高斯模板参数,xj和yj分别为当前帧图像行存和参考帧图像行存中当前列第j行的数据,j=1,2,……,K;
所述加法器阵列将乘法单元模块输出值按如下公式进行累加:
式中,A、B、C、D、E分别当前列的wjxj、wjyjwjxjyj累加值;
所述累加移位器模块包括五个累加移位器,五个累加移位器分别对加法器阵列输出的K列的A、B、C、D、E值进行累加;
所述算数运算模块根据累加移位器模块的输出值,按照SSIM算法计算高斯模板扫描得到的一个K×K大小窗口图像的SSIM值;
随着高斯模块在两幅待比较图像中从左至右、从上至下进行光栅化滑动扫描,最终得到L=(M-K+1)2个SSIM值,将这L个SSIM值输入累加计算器,按照SSIM算法计算得到MSSIM值。
实施例:
本实施例的一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,如图1所示。图像相似度硬件加速器从当前帧和参考帧图像行存中读取连续K行同一列的数据,同时从高斯参数缓存中读取对应列的参数,三列当中相同位置的数据送入同一个乘法单元,如图3所示。每个乘法单元输出wjxj、wjyjwjxjyj,共计5项,经过加法器阵列(Adder array)得到每列K个乘法单元输出的和,分别表示为A、B、C、D、E。A、B、C、D、E再分别送入①、②、③、④、⑤当中进行累加、移位操作,其中移位寄存器的深度为K。
当硬件加速器扫描列数n<K时,相似度检测硬件加速器并未扫描完成一个K×K窗口,算数运算模块不工作;当n=K时,①、②、③、④、⑤中的累加寄存器分别记录前(K-1)列A、B、C、D、E的累加和,与Adder array输出的第K列A、B、C、D、E相加,送入算数运算模块计算SSIM,此时移位寄存器的输出为0;当n>K时,①、②、③、④、⑤中的累加寄存器记录前K列(第(n-K)列到第(n-1)列)A、B、C、D、E的累加和,与Adder array输出第n列各项的和相加,并减去移位寄存器输出的第(n-K)列各项的和,减法器sub的输出送入算数运算模块计算第(n-K-1)列到第n列构成的K×K窗口对应的SSIM。相似度硬件加速器扫描完大小为M×M的参考帧图像和当前帧图像,可以得到L(L=(M-K+1)2)个SSIM,进而得到MSSIM。
图像相似度检测硬件加速器当中有两个大小相同的行存存储器,分别用于存储当前帧图像和参考帧图像连续(K+1)行数据,每个行存由(K+1)个深度为M的存储器构成。当两幅图像前K行数据写入行存后,图像相似度检测硬件加速器开始扫描行存中当前帧和参考帧的这K行数据,同时将两帧第(K+1)行的数据分别写入两个行存中空闲的存储器;当K行数据处理完毕后,图像相似度检测硬件加速器开始扫描处理下一组K行数据(第2行到第(K+1)行),同时行存中用于存储第1行数据的存储器开始写入第(K+2)行的数据,以次类推,直到整幅图像处理完毕。
本实施例中的图像相似度检测硬件加速器使用的高斯参数缓存、参考帧图像行存和当前帧图像行存大小分别为K×K、(K+1)×M和(K+1)×M。输入图像为灰度图,每个像素用8bits表示。当处理2048×2048大小图像,窗口大小为11×11时,两个行存的容量均为24KB(2048×12×8),若采用单精度表示每个高斯参数,则高斯参数缓存大小为484B(11×11×32),因此图像相似度检测硬件加速器总共需要49636Bytes(约48.47KB)的片上存储资源。
本实施例的图像相似度检测硬件加速器的流水线深度为Ldep,当参考帧和当前帧两幅图像的前K行写入片上行存后,硬件加速器开始扫描两幅图像。对于M×M大小的输入图像,本发明所提出的图像相似度检测硬件加速器计算两幅图像的MSSIM所需时钟周期数T为(M×M+M-K+1+Ldep)。

Claims (1)

1.一种基于SSIM算法的图像相似度检测硬件加速器VLSI结构,其特征在于,包括输入模块、乘法单元模块、加法器阵列、累加移位器模块、算数运算模块和累加计算器;
所述输入模块包括当前帧图像行存、参考帧图像行存和高斯参数缓存,当前帧图像行存和参考帧图像行存均由K+1个深度为M的存储器组成,分别存储当前帧图像和参考帧图像像素的亮度值;用K×K大小的高斯模板在两幅M×M大小的待比较图像中从左至右、从上至下进行光栅化滑动扫描,滑动扫描步长为1个像素,在当前帧图像中扫描得到的图像窗口内各个像素的亮度值xi保存在当前帧图像行存,在参考帧图像中扫描得到的图像窗口内各个像素的亮度值yi保存在参考帧图像行存,当前帧图像行存和参考帧图像行存中的数据随着高斯模板的滑动进行更新;高斯参数缓存保存高斯模板参数wi;i表示高斯模板窗口内第i个位置,i=1,2,……,K×K;
所述乘法单元模块包含K个乘法单元;乘法单元模块对输入模块进行扫描,将当前帧图像行存、参考帧图像行存和高斯参数缓存的数据按列输入乘法单元模块,当前列的第j行数据送入第j个乘法单元,第j个乘法单元输出wjxj、wjyjwjxjyj的值,wj为当前列第j行的高斯模板参数,xj和yj分别为当前帧图像行存和参考帧图像行存中当前列第j行的数据,j=1,2,……,K;
所述加法器阵列将乘法单元模块输出值按如下公式进行累加:
式中,A、B、C、D、E分别当前列的wjxj、wjyjwjxjyj累加值;
所述累加移位器模块包括五个累加移位器,五个累加移位器分别对加法器阵列输出的K列的A、B、C、D、E值进行累加;
所述算数运算模块根据累加移位器模块的输出值,按照SSIM算法计算高斯模板扫描得到的一个K×K大小窗口图像的SSIM值;
随着高斯模块在两幅待比较图像中从左至右、从上至下进行光栅化滑动扫描,最终得到L=(M-+1)2个SSIM值,将这L个SSIM值输入累加计算器,按照SSIM算法计算得到MSSIM值。
CN202010575574.7A 2020-06-22 2020-06-22 一种基于ssim算法的图像相似度检测硬件加速器vlsi结构 Active CN111783979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010575574.7A CN111783979B (zh) 2020-06-22 2020-06-22 一种基于ssim算法的图像相似度检测硬件加速器vlsi结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010575574.7A CN111783979B (zh) 2020-06-22 2020-06-22 一种基于ssim算法的图像相似度检测硬件加速器vlsi结构

Publications (2)

Publication Number Publication Date
CN111783979A CN111783979A (zh) 2020-10-16
CN111783979B true CN111783979B (zh) 2024-01-12

Family

ID=72756140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010575574.7A Active CN111783979B (zh) 2020-06-22 2020-06-22 一种基于ssim算法的图像相似度检测硬件加速器vlsi结构

Country Status (1)

Country Link
CN (1) CN111783979B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063694A (zh) * 2018-09-12 2018-12-21 北京科技大学 一种视频目标检测识别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326046B2 (en) * 2009-02-11 2012-12-04 Ecole De Technologie Superieure Method and system for determining structural similarity between images
TW201134223A (en) * 2010-03-29 2011-10-01 Univ Nat Taiwan Perceptual video encoding system and circuit thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063694A (zh) * 2018-09-12 2018-12-21 北京科技大学 一种视频目标检测识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"FPGA Implementation ofPSO-Based Object Tracking System Using SSIM";Niveen Nasr Morsi et al.;《2013 25th International Conference on Microelectronics (ICM)》;全文 *
"基于改进自适应遗传算法的 层合板铺层顺序优化方法";王佩艳等;《科学技术与工程》;第18卷(第6期);全文 *

Also Published As

Publication number Publication date
CN111783979A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
Habib et al. Optimization and acceleration of convolutional neural networks: A survey
JP5376920B2 (ja) コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
WO2019007406A1 (zh) 一种数据处理装置和方法
CN112789627B (zh) 一种神经网络处理器、数据处理方法及相关设备
CN113792621A (zh) 一种基于fpga的目标检测加速器设计方法
Wei et al. Non-homogeneous haze removal via artificial scene prior and bidimensional graph reasoning
López et al. E-DNAS: Differentiable neural architecture search for embedded systems
Li et al. A motion blur QR code identification algorithm based on feature extracting and improved adaptive thresholding
Jiang et al. Toward pixel-level precision for binary super-resolution with mixed binary representation
CN111783979B (zh) 一种基于ssim算法的图像相似度检测硬件加速器vlsi结构
CN117115447A (zh) 基于元迁移学习的前视声呐图像分割方法和装置
Tao et al. Hima: A fast and scalable history-based memory access engine for differentiable neural computer
CN117132650A (zh) 基于点云图注意力网络的类别级6d物体位姿估计方法
Adel et al. Accelerating deep neural networks using FPGA
Thambawita et al. Pyramid-focus-augmentation: medical image segmentation with step-wise focus
Guo et al. Towards robust image denoising via flow-based joint image and noise model
He et al. Learning hybrid dynamic transformers for underwater image super-resolution
CN117994172B (zh) 基于时序依赖和边缘细化的海温图像鲁棒补全方法及系统
Akimova et al. Hardware Implementation of a Convolutional Neural Network
Chen et al. How to obtain and run light and efficient deep learning networks
CN117935291B (zh) 草图生成模型的训练方法、草图生成方法、终端及介质
WO2021142741A1 (zh) 目标跟踪方法、装置及终端设备
Wang et al. Data-centric computation mode for convolution in deep neural networks
Zhou Warped Convolutional Conditional Neural Processes
Ren et al. A novel spatial-frequency domain network for zero-shot incremental learning

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