CN109982095A - 基于cnn与gep的分形图像压缩编码方法 - Google Patents
基于cnn与gep的分形图像压缩编码方法 Download PDFInfo
- Publication number
- CN109982095A CN109982095A CN201910213666.8A CN201910213666A CN109982095A CN 109982095 A CN109982095 A CN 109982095A CN 201910213666 A CN201910213666 A CN 201910213666A CN 109982095 A CN109982095 A CN 109982095A
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- blocks
- domain
- thread
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/99—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals involving fractal coding
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于CNN与GEP的分形图像压缩编码方法,包括:将待压缩图像分别分割成互不交叠的多个值域子块和交叠的多个定义域子块,多个值域子块组成值域块池,多个定义域子块组成定义域块池;利用最优的卷积神经网络模型分别对值域块池和定义域块池进行分类,得到相应的值域块分类池和定义域块分类池;利用最优的基因表达式编程模型计算值域块分类池中每个值域子块集与定义域块分类池中同类别的定义域子块集间对应的变换参数,以实现分形图像压缩编码。本发明能大大提高压缩编码的速度,减少编码时间,并获得高压缩比,可达到实际使用需求。
Description
技术领域
本发明涉及一种编码方法。更具体地说,本发明涉及一种基于CNN与GEP的分形图像压缩编码方法,属于分形图像压缩编码技术领域。
背景技术
目前,图像压缩标准主要采用的是离散余弦变换(DCT)、小波变换(DWT)等技术,技术成熟,但压缩比不高。而分形图像压缩技术是一种与传统压缩技术完全不同的编码方法,它主要通过分形的自相似性和迭代函数系统IFS来实现。Barnsley首次将IFS(IteratedFunction System)理论应用到图像压缩编码,获得了极高的压缩比,但编码过程需要人工参与。Jacquin提出了基于分块迭代函数系统(PIFS)方案,编码过程能自动进行,但是其算法运算量巨大,造成编码时间过长,从而局限了它的实用性。
为了提高分形图像的编码质量,减少搜索的时间和范围,人们应用变换技术、进化算法等技术与分形图像编码进行结合,提出了许多改进的分形图像压缩算法,如:把离散变换、小波变换等方法与分形图像进行混合编码,或将遗传算法、蚁群算法、基因表达式编程等优化方法与分形图像结合,利用优化算法的寻优精度进行自动分类,实现类内的匹配搜索,提高编码速度,减少方块效应。这种分形混合编码在一定程度上提高编码的速度和求解的精度,解码所产生的方块效应得到一定的改进。但是,巨大的计算量仍然制约着编码的速度与时间。为此,人们在多种并行平台上,提出了分形图像压缩的并行算法,大大提高了压缩的编码速度,减少了编码的时间,但是仍然达不到人们的实际需求。
Lecun等人提出的卷积神经网络(Convolutional Neural Networks,简称CNN)是第一个真正多层结构学习的算法,它利用空间相对关系减少参数数目以提高BP训练性能。神经网络包含若干个卷积层、多个最大池化层和全连接层,每个卷积层都有一个激活ReLU函数,池化层采用最大池化。通过卷积来模拟特征区分,并且通过卷积的权值共享及池化,来降低网络参数的数量级,最后通过神经网络完成分类等任务。
基因表达式编程(Gene Expression programming,简称GEP)是葡萄牙学者Candida提出的一种新型的进化计算算法,是遗传算法家族的新成员。它具有极强的函数发现能力和很高的效率,并且在函数发现时不需要任何先验知识,无需预存函数模型的类型,避免了传统算法建模时事先选定函数类型的盲目性。GEP在解决复杂问题的时候,比传统的遗传编程方法效率高出2~4个数量级。
随着GPU(Graphic Processing Unit,图形处理器)统一架构CUDA等编程模型的出现,CPU/GPU系统已被广泛应用于图形图像处理,并取得了良好的效果。我们结合分形图像压缩编码,构建基于CPU/GPU的新型并行计算模型和并行编程模式。
综上所述,随着深度学习人工智能技术和基因表达式编程最优化方法的提出,给建立分形图像压缩编码方法提供了良好的理论与技术基础。因此,如果能将深度卷积神经网络和基因表达式编程两种优化方法有机结合,并在CPU/GPU平台上,利用CPU/GPU的新型并行计算模型和并行编程模式,构建一种基于卷积神经网络和基因表达式编程的分形图像压缩编码方法,那么将能大大提高压缩编码的速度,减少编码时间,达到实际需求。
发明内容
本发明的一个目的是提供一种分形图像压缩编码方法,其能大大提高压缩编码的速度,减少编码时间,并获得高压缩比,可达到实际需求。
为了实现根据本发明的这些目的和其它优点,提供了一种基于CNN与GEP的分形图像压缩编码方法,包括以下步骤:
步骤一:将待压缩图像分别分割成互不交叠的多个值域子块和交叠的多个定义域子块,每个值域子块的大小相等,多个值域子块组成值域块池,每个定义域子块的大小相等,多个定义域子块组成定义域块池;
步骤二:以标准图像集为参照,对卷积神经网络进行训练,得到最优的卷积神经网络模型,利用最优的卷积神经网络模型分别对值域块池和定义域块池进行分类,得到相应的值域块分类池和定义域块分类池;
步骤三:以标准图像集为参照,对基因表达式编程进行优化,得到最优的基因表达式编程模型,利用最优的基因表达式编程模型计算值域块分类池中每个值域子块集与定义域块分类池中同类别的定义域子块集间对应的变换参数,以实现分形图像压缩编码。
优选的是,步骤一、步骤二和步骤三均在CPU/GPU并行平台上进行。
优选的是,CPU和GPU均为多核处理器,多核CPU内创建有p个线程,其中一个为主线程,余下为从线程,其中,p为大于2的偶数。
优选的是,步骤二和步骤三中,标准图像集的选取方法为:提取待压缩图像中各部分的图像特征,并对上述图像特征进行分类,然后从标准图像数据库中获取与各图像特征类别相同的图像集,将获取的图像集组合作为标准图像集。
优选的是,利用四叉树分割法对大小为2N×2N的待压缩图像进行分割,分割的具体过程包括:
步骤a1:主线程将大小为2N×2N的待压缩图像分割为互不交叠的4个相等的子块2N-1×2N-1,主线程保留其中1个子块,余下3个子块分别对应发送给3个从线程,保留在主线程中的1个子块被分割成大小相等的4个孙子块2N-2×2N-2,主线程保留其中1个孙子块,余下3个孙子块分别对应发送给3个从线程,余下3个子块中的每个子块均在对应的从线程中被分割成大小相等的4个孙子块2N-2×2N-2,对应的从线程保留其中1个孙子块,余下3个孙子块分别对应发送给3个从线程,依次类推,直至每个子块均被分割成大小为2N-L×2N-L的值域子块Ri,i=1,2,...,2L×2L,1<L<N,将得到的多个值域子块Ri均发送到主线程进行存储,组成值域块池;
步骤a2:主线程将大小为2N×2N的待压缩图像分割为可交叠的4个相等的父块(2N-21+1)×(2N-21+1),主线程保留其中1个父块,余下3个父块分别对应发送给3个从线程,保留在主线程中的1个父块被分割成可交叠的4个子父块(2N-22+1)×(2N-22+1),主线程保留其中1个子父块,余下3个子父块分别对应发送给3个从线程,余下3个父块中的每个父块均在对应的从线程中被分割成可交叠的4个子父块(2N-22+1)×(2N-22+1),对应的从线程保留其中1个子父块,余下3个子父块分别对应发送给3个从线程,依次类推,直至每个父块均被分割成大小为(2N-2K+1)×(2N-2K+1)的定义域子块Di,i=1,2,...,2K×2K,1<K<N,将得到的多个定义域子块Di均发送到主线程进行存储,组成定义域块池。
优选的是,步骤二中,值域块分类池中值域块的类别数与定义域块分类池中定义域块的类别数相等,且每类值域块中值域子块集的个数与同类别定义域块中定义域子块集的个数相等。
优选的是,步骤二中,分类的具体过程包括:
步骤b1:先将值域块池中的多个值域子块分割成m类值域块,定义域块池中的多个定义域子块分割成m类定义域块;
步骤b2:CPU中的p-1个从线程将m类值域块发送到GPU,GPU利用最优的卷积神经网络模型对值域块进行卷积分类,并将分类结果存储在CPU的主线程中,得到值域块分类池;
步骤b3:CPU中的p-1个从线程将m类定义域块发送到GPU,GPU利用最优的卷积神经网络模型对定义域块进行卷积分类,并将分类结果存储在CPU的主线程中,得到定义域块分类池。
优选的是,步骤三具体包括以下步骤:
步骤c1:初始化种群;
步骤c2:主线程按照分类顺序将值域块分类池中的各类值域子块集对应发送到各个从线程,从线程接收到值域子块集后,逐个取出该值域子块集中的子块图,同时从定义域块分类池中取出对应同类别的定义域子块集,然后从线程将基因表达式编程的9个基本算子和个体适应度值的计算发送到GPU进行并行计算,当个体适应度值大于设定值或迭代次数大于等于设定值时计算结束,得到值域子块集中的子块图与对应的定义域子块集间的压缩仿射变换参数,其中,9个基本算子包括:选择、变异、倒串、插串、根插串、基因变换、单点重组、两点重组和基因重组;
步骤c3:各个从线程将值域子块集中的子块图的参数、对应的定义域子块集的参数以及得到的压缩仿射变换参数发送回主线程,主线程按照分类顺序组成编码IFS并输出。
优选的是,步骤c1中,初始化种群的具体过程包括:在主线程中输入种群大小、基因头部长度、基因尾部长度、基因个数、最大迭代数maxg、终止迭代适应度值minf、变异率、插串率和重组率,并发送到各个从线程,其中,maxg和minf以标准图像为参照,对基因表达式编程进行优化,得到最优值。
优选的是,步骤c2中,主线程按照分类顺序将值域块分类池中的第i类值域子块集发送到第t个从线程,若所有类的值域子块集一次发送不完,余下的值域子块集则按优先完成计算的从线程进行分配;
第t个从线程接收到第i类值域子块集后,逐个取出该值域子块集中的子块图Rij,同时从定义域块分类池中取出对应的定义域子块集Dij,然后在GPU中根据公式fitness(Rij,ωij,λ,ξ)=s(Rij,ωij)c(λ)L(ξ)计算个体适应度值,当fitness>minf or gen≥maxg时计算结束,得到子块图Rij与对应的定义域子块集Dij间的压缩仿射变换ωij的参数;
其中:i=1,2,...,m,t=1,2,...,p-1,j=1,2,...,g,j代表第i类值域子块集中的第j个子块图,g为第i类值域子块集中子块图的总个数,表示子块图Rij的相似度,表示压缩因子,表示压缩仿射变换数量因子,ωij是压缩仿射变换,λ是压缩因子,ξ是所期望的压缩仿射变换的个数。
本发明至少包括以下有益效果:本发明提供的分形图像压缩编码方法是基于深度卷积神经网络与基因表达式编程的分形图像压缩混合编码方法,同时在CPU/GPU并行平台上完成,可充分发挥CPU/GPU并行系统的高性能计算速度、卷积神经网络精确快速的图像分类、基因表达式编程搜索与进化收敛快的优势,解决了单一算法收敛速度慢、精确度不高、压缩率低、解码重构质量差的问题。本发明提供的方法在分形图、山水与自然风光等图像的压缩上可获得较高的压缩比,压缩率约为千分之四。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为本发明其中一种技术方案的待压缩图像分割后得到值域块池的流程图;
图2为本发明其中一种技术方案的待压缩图像分割后得到定义域块池的流程图;
图3为本发明其中一种技术方案对值域块池和定义域块池进行卷积分类的流程图;
图4为本发明其中一种技术方案的分形图像压缩编码的流程图;
图5为本发明中图像1的原图像以及三种算法的重构图;
图6为本发明中图像2的原图像以及三种算法的重构图;
图7为本发明中图像3的原图像以及三种算法的重构图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。
如图1~4所示,本发明提供了一种基于CNN与GEP的分形图像压缩编码方法,包括:
步骤一:将待压缩图像分别分割成互不交叠的多个值域子块和交叠的多个定义域子块,每个值域子块的大小相等,即任意两个值域子块间的交集为空集,存在至少两个定义域子块间的交集不为空集,多个值域子块组成值域块池,每个定义域子块的大小相等,多个定义域子块组成定义域块池;分割方法可采用三角形分割法、四叉树分割法、八叉树分割法等;
步骤二:以标准图像集为参照,对卷积神经网络进行训练,得到最优的卷积神经网络模型,即确定卷积神经网络由5个卷积层、5个最大池化层和1个全连接层构成,利用最优的卷积神经网络模型分别对值域块池和定义域块池进行分类,得到相应的值域块分类池和定义域块分类池;
步骤三:以标准图像集为参照,对基因表达式编程进行优化,得到最优的基因表达式编程模型,即确定最大迭代数maxg和终止迭代适应度值minf,利用最优的基因表达式编程模型计算值域块分类池中每个值域子块集与定义域块分类池中同类别的定义域子块集间对应的变换参数,以实现分形图像压缩编码。
在上述技术方案中,先将待压缩图像分割成互不交叠的多个值域子块和交叠的定义域子块,组成值域块池和定义域块池,即将待压缩图像分割成多个无交集的小图像集和多个有交集的小图像集,然后用标准图像集对卷积神经网络进行训练,训练时,将标准图像集中的训练集、评估集和测试集输入卷积神经网络,先利用训练集和评估集计算出卷积神经网络模型参数的最优值,然后利用测试集检测最优值是否合理,从而确定最优的卷积神经网络模型,再利用最优的卷积神经网络模型对值域块池和定义域块池进行卷积分类,得到值域块分类池和定义域块分类池,然后采用与确定最优卷积神经网络模型相同的方法,以标准图像集为参照,对基因表达式编程模型进行优化,得到最优的基因表达式编程模型,再利用最优的基因表达式编程模型计算出每个值域子块集与对应的定义域子块集间的变换参数,实现分形图像的压缩编码,采用这种技术方案,待压缩图像经过分割后,可以加快卷积分类的速度,并提高卷积分类的精确度,利用卷积神经网络分类时,值域块分类池中的子块集和定义域块分类池中的对应子块集的子图同类,具有自相似性,因此,利用基因表达式编程进行压缩编码时,可以不再考虑灰度压缩因子和灰度偏移因子,这样可以简化压缩仿射变换函数中的参数,进而简化压缩编码的计算量,加快编码速度,而且卷积神经网络在图像分类方面具有较高的精确度和效率,而基因表达式编程算法在多次迭代计算方面具有很快的收敛速度,可以提高压缩编码的速率,减少时间。
在另一种技术方案中,步骤一、步骤二和步骤三均在CPU/GPU并行平台上进行。CPU/GPU并行平台具有高性能的计算速度,有利于加快压缩编码过程。
在另一种技术方案中,CPU和GPU均为多核处理器,多核CPU内创建有p个线程,其中一个为主线程,余下为从线程,其中,p为大于2的偶数。分形图像压缩编码的整个过程运用CPU多线程调度和GPU多核协同进行计算,有利于提高压缩编码的速率,减少编码时间。
在另一种技术方案中,步骤二和步骤三中,标准图像的选取方法为:提取待压缩图像中各部分的图像特征,并对上述图像特征进行分类,然后从标准图像数据库中获取与各图像特征类别相同的图像集,将获取的图像集组合作为标准图像集。标准图像数据库选自剑桥Camvid图像集。
在另一种技术方案中,利用四叉树分割法对大小为2N×2N的待压缩图像进行分割,分割的具体过程包括:
步骤a1:主线程将大小为2N×2N的待压缩图像分割为互不交叠的4个相等的子块2N-1×2N-1,主线程保留其中1个子块,余下3个子块分别对应发送给3个从线程,保留在主线程中的1个子块被分割成大小相等的4个孙子块2N-2×2N-2,主线程保留其中1个孙子块,余下3个孙子块分别对应发送给3个从线程,余下3个子块中的每个子块均在对应的从线程中被分割成大小相等的4个孙子块2N-2×2N-2,对应的从线程保留其中1个孙子块,余下3个孙子块分别对应发送给3个从线程,依次类推,直至每个子块均被分割成大小为2N-L×2N-L的值域子块Ri,i=1,2,...,2L×2L,1<L<N,将得到的多个值域子块Ri均发送到主线程进行存储,组成值域块池;
步骤a2:主线程将大小为2N×2N的待压缩图像分割为可交叠的4个相等的父块(2N-21+1)×(2N-21+1),主线程保留其中1个父块,余下3个父块分别对应发送给3个从线程,保留在主线程中的1个父块被分割成可交叠的4个子父块(2N-22+1)×(2N-22+1),主线程保留其中1个子父块,余下3个子父块分别对应发送给3个从线程,余下3个父块中的每个父块均在对应的从线程中被分割成可交叠的4个子父块(2N-22+1)×(2N-22+1),对应的从线程保留其中1个子父块,余下3个子父块分别对应发送给3个从线程,依次类推,直至每个父块均被分割成大小为(2N-2K+1)×(2N-2K+1)的定义域子块Di,i=1,2,...,2K×2K,1<K<N,将得到的多个定义域子块Di均发送到主线程进行存储,组成定义域块池。
在上述技术方案中,采用四叉树分割法将待压缩图像分割成多个大小相等且互不交叠的多个值域子块Ri和多个大小相等且交叠的多个定义域子块Di,分割后的Ri和Di便于进行卷积分类,并提高卷积分类的精确度。
在另一种技术方案中,步骤二中,值域块分类池中值域块的类别数与定义域块分类池中定义域块的类别数相等,且每类值域块中值域子块集的个数与同类别定义域块中定义域子块集的个数相等。经过卷积分类后,值域块的类别数和定义域块的类别数相等,使值域块分类池中的子块集与定义域块分类池中的子块集能子图同类,一一对应,从而简化压缩仿射变换的计算,减少编码时间。
在另一种技术方案中,步骤二中,分类的具体过程包括:
步骤b1:先将值域块池中的多个值域子块分割成m类值域块,定义域块池中的多个定义域子块分割成m类定义域块;
步骤b2:CPU中的p-1个从线程将m类值域块发送到GPU,GPU利用最优的卷积神经网络模型对值域块进行卷积分类,并将分类结果存储在CPU的主线程中,得到值域块分类池;
步骤b3:CPU中的p-1个从线程将m类定义域块发送到GPU,GPU利用最优的卷积神经网络模型对定义域块进行卷积分类,并将分类结果存储在CPU的主线程中,得到定义域块分类池。
在上述技术方案中,经过卷积分类后,值域块分类池中的子块集与定义域块分类池中的子块集子图同类,一一对应,具有自相似性,而且精确度高,可以大大简化基因表达式编程中的计算。
在另一种技术方案中,步骤三具体包括以下步骤:
步骤c1:初始化种群;即用基因的表达方式描述分类后的值域子块集和定义域子块集,并输入种群的参数;
步骤c2:主线程按照分类顺序将值域块分类池中的各类值域子块集对应发送到各个从线程,从线程接收到值域子块集后,逐个取出该值域子块集中的子块图,同时从定义域块分类池中取出对应同类别的定义域子块集,然后从线程将基因表达式编程的9个基本算子和个体适应度值的计算发送到GPU进行并行计算,当个体适应度值大于设定值或迭代次数大于等于设定值时计算结束,得到值域子块集中的子块图与对应的定义域子块集间的压缩仿射变换参数,其中,9个基本算子包括:选择、变异、倒串、插串、根插串、基因变换、单点重组、两点重组和基因重组;当个体适应度值或迭代次数不符合要求时,返回GPU继续进行迭代计算,9个基本算子调整压缩仿射变换函数的参数,直至个体适应度值或迭代次数满足要求;
步骤c3:各个从线程将值域子块集中的子块图的参数、对应的定义域子块集的参数以及得到的压缩仿射变换参数发送回主线程,主线程按照分类顺序组成编码IFS并输出。
在上述技术方案中,基因表达式编程具有很快的搜索和进化收敛速率,在求解压缩仿射变换参数的多次迭代计算过程中,可以快速收敛,提高压缩编码速率。
在另一种技术方案中,步骤c1中,初始化种群的具体过程包括:在主线程中输入种群大小、基因头部长度、基因尾部长度、基因个数、最大迭代数maxg、终止迭代适应度值minf、变异率、插串率和重组率,并发送到各个从线程,其中,maxg和minf以标准图像为参照,对基因表达式编程进行优化,得到最优值。种群大小即为基因类别数,代表值域块和定义域块的类别,基因头部长度和基因尾部长度代表像素点的大小,基因个数代表像素点的个数,最大迭代数即GPU进行迭代收敛计算的最大次数,终止迭代适应度值代表值域子块集和对应的定义域子块集间的最小个体适应度值,变异率、插串率和重组率分别为基因变异、插串和重组的概率。
在另一种技术方案中,步骤c2中,主线程按照分类顺序将值域块分类池中的第i类值域子块集发送到第t个从线程,若所有类的值域子块集一次发送不完,余下的值域子块集则按优先完成计算的从线程进行分配;
第t个从线程接收到第i类值域子块集后,逐个取出该值域子块集中的子块图Rij,同时从定义域块分类池中取出对应的定义域子块集Dij,然后在GPU中根据公式fitness(Rij,ωij,λ,ξ)=s(Rij,ωij)c(λ)L(ξ)计算个体适应度值,当fitness>minf or gen≥maxg时计算结束,得到子块图Rij与对应的定义域子块集Dij间的压缩仿射变换ωij的参数;
其中:i=1,2,...,m,t=1,2,...,p-1,j=1,2,...,g,j代表第i类值域子块集中的第j个子块图,g为第i类值域子块集中子块图的总个数,表示子块图Rij的相似度,表示压缩因子,表示压缩仿射变换数量因子,ωij是压缩仿射变换,λ是压缩因子,ξ是所期望的压缩仿射变换的个数。
在上述技术方案中,通过进行多次迭代收敛计算,求解出压缩仿射变换ωij的参数,将Rij、对应Dij和ωij的参数按分类顺序组合在一起,即得到分形图像的压缩编码函数,利用这种压缩编码函数进行压缩时具有较高的压缩比,而且解码重构质量高。
分别采用二值、灰度和彩色3张大小为512×512的图片(这3张图片依次记为图像1、图像2和图像3)进行分形图像压缩编码实验。
CPU创建4个线程,GPU内多个核的编号分别为Ut1、Ut2、Ut3、Ut4、Ut5、Ut6、Ut7、Ut8、Ut9和Ut10,t=1,2,3。
在对卷积神经网络进行训练时,标准图像集中的图像集选自剑桥Camvid图像集,其中包括训练集673张、评估集126张、测试集267张,根据图像集特征,分为13类,卷积训练的初始参数包括:Mini-batches为256,学习率为0.01,每10000次迭代计算后,学习率除以10,权重采用均值为0、方差为0.01的高斯分布,最大迭代次数设置为50000次,卷积神经网络包括:5个卷积层、5个最大池化层和1个全连接层,其中:卷积层1的参数为:size=3,pad=1,stride=1,num=64,卷积层2的参数为:size=3,pad=1,stride=1,num=128,卷积层3的参数为:size=3,pad=1,stride=1,num=256,卷积层4和卷积层5的参数均为:size=3,pad=1,stride=1,num=512,最大池化层1到最大池化层5的参数均为:MAX=2×2,size=2×2,stride=2,全连接层取num=4096,Soft-max层获得分类结果,如图3所示。
在对基因表达式编程进行优化时,标准图像集与卷积训练时的标准图像集相同,根据卷积分类结果,设置基因表达式编程的参数为:种群大小为50、基因头部长度为2、基因尾部长度为3、变异率为0.044、插串率和重组率均为0.1,倒串、插串、根插串和基因变换均为0.1,单点重组为0.4,两点重组为0.2,基因重组为0.1;编号为Ut1的核执行第t个从线程中的选择计算,编号为Ut2的核执行第t个从线程中的变异计算,编号为Ut3的核执行第t个从线程中的倒串计算,编号为Ut4的核执行第t个从线程中的插串计算,编号为Ut5的核执行第t个从线程中的根插串计算,编号为Ut6的核执行第t个从线程中的基因变换计算,编号为Ut7的核执行第t个从线程中的单点重组计算,编号为Ut8的核执行第t个从线程中的两点重组计算,编号为Ut9的核执行第t个从线程中的基因重组计算,编号为Ut10的核执行第t个从线程中的个体适应度值的计算。
实验结果如图5、6、7和表1、2、3,其中:图5为图像1的原图像(左1)以及经过GEP串行算法(左2)、GEP并行算法(右2)和本发明算法(右1)的重构图;图6为图像2的原图像(左1)以及经过GEP串行算法(左2)、GEP并行算法(右2)和本发明算法(右1)的重构图;图7为图像3的原图像(左1)以及经过GEP串行算法(左2)、GEP并行算法(右2)和本发明算法(右1)的重构图。
[表1]
算法 | 图像1 | 图像2 | 图像3 |
GEP串行算法 | 35.3 | 34.2 | 30.6 |
GEP并行算法 | 36.5 | 33.8 | 31.3 |
本发明算法 | 38.7 | 35.7 | 34.5 |
表1是三种算法的峰值信嘈比(PSNR)的测试结果,从表1可知,采用本发明算法对分形图像进行压缩,重构效果好于采用其他算法的重构效果,从图5、6、7也可以看出。因为经过卷积神经网络分类后,分割的值域子块集与定义域子块集在基因表达式编程的编码过程中匹配精度更优,提高了成像质量,获得更好的解码效果。
[表2]
算法 | 图像1 | 图像2 | 图像3 |
GEP串行算法 | 130.1 | 30.2 | 28.6 |
GEP并行算法 | 129.6 | 30.8 | 29.3 |
本发明算法 | 130.3 | 33.7 | 32.5 |
表2是三种算法的压缩比结果,从表2可知,二值图像(图像1)获得比较高的压缩比,主要原因是该图本身是一个分形图像,具有较强的自相似特点,获得的迭代函数系统IFS的变换参数少,压缩比均比较高。彩色图像(图像3)相对比较复杂,所包含的信息丰富,卷积分类与分割后,获得的迭代函数系统参数较多,压缩比相对较小。但是,本发明算法相对其它两种算法而言,可获得较高的压缩比。
[表3]
算法 | 图像1 | 图像2 | 图像3 |
GEP串行算法 | 963.21 | 1256.32 | 2376.21 |
GEP并行算法 | 286.69 | 460.33 | 683.65 |
本发明算法 | 146.03 | 186.36 | 231.37 |
表3是三种算法的压缩时间结果,从表3可知,本发明算法的压缩时间比GEP串行算法快6~10倍,比GEP并行算法(4个线程)快3倍,这主要是因为本发明算法采用了卷积神经网络先对图像进行分类,然后再进行分割,而其它两种算法直接对原图像进行分割。因此,本发明算法在值域块和定义域块的编码误差远小于其它两种算法,其编码搜索与匹配数量减少,同时通过CPU/GPU平台的多线程调度和CUDA阵列处理器的加速运算,加快了压缩编码速率。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (10)
1.基于CNN与GEP的分形图像压缩编码方法,其特征在于,包括以下步骤:
步骤一:将待压缩图像分别分割成互不交叠的多个值域子块和交叠的多个定义域子块,每个值域子块的大小相等,多个值域子块组成值域块池,每个定义域子块的大小相等,多个定义域子块组成定义域块池;
步骤二:以标准图像集为参照,对卷积神经网络进行训练,得到最优的卷积神经网络模型,利用最优的卷积神经网络模型分别对值域块池和定义域块池进行分类,得到相应的值域块分类池和定义域块分类池;
步骤三:以标准图像集为参照,对基因表达式编程进行优化,得到最优的基因表达式编程模型,利用最优的基因表达式编程模型计算值域块分类池中每个值域子块集与定义域块分类池中同类别的定义域子块集间对应的变换参数,以实现分形图像压缩编码。
2.如权利要求1所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤一、步骤二和步骤三均在CPU/GPU并行平台上进行。
3.如权利要求2所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,CPU和GPU均为多核处理器,多核CPU内创建有p个线程,其中一个为主线程,余下为从线程,其中,p为大于2的偶数。
4.如权利要求3所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤二和步骤三中,标准图像集的选取方法为:提取待压缩图像中各部分的图像特征,并对上述图像特征进行分类,然后从标准图像数据库中获取与各图像特征类别相同的图像集,将获取的图像集组合作为标准图像集。
5.如权利要求3所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,利用四叉树分割法对大小为2N×2N的待压缩图像进行分割,分割的具体过程包括:
步骤a1:主线程将大小为2N×2N的待压缩图像分割为互不交叠的4个相等的子块2N-1×2N-1,主线程保留其中1个子块,余下3个子块分别对应发送给3个从线程,保留在主线程中的1个子块被分割成大小相等的4个孙子块2N-2×2N-2,主线程保留其中1个孙子块,余下3个孙子块分别对应发送给3个从线程,余下3个子块中的每个子块均在对应的从线程中被分割成大小相等的4个孙子块2N-2×2N-2,对应的从线程保留其中1个孙子块,余下3个孙子块分别对应发送给3个从线程,依次类推,直至每个子块均被分割成大小为2N-L×2N-L的值域子块Ri,i=1,2,...,2L×2L,1<L<N,将得到的多个值域子块Ri均发送到主线程进行存储,组成值域块池;
步骤a2:主线程将大小为2N×2N的待压缩图像分割为可交叠的4个相等的父块(2N-21+1)×(2N-21+1),主线程保留其中1个父块,余下3个父块分别对应发送给3个从线程,保留在主线程中的1个父块被分割成可交叠的4个子父块(2N-22+1)×(2N-22+1),主线程保留其中1个子父块,余下3个子父块分别对应发送给3个从线程,余下3个父块中的每个父块均在对应的从线程中被分割成可交叠的4个子父块(2N-22+1)×(2N-22+1),对应的从线程保留其中1个子父块,余下3个子父块分别对应发送给3个从线程,依次类推,直至每个父块均被分割成大小为(2N-2K+1)×(2N-2K+1)的定义域子块Di,i=1,2,...,2K×2K,1<K<N,将得到的多个定义域子块Di均发送到主线程进行存储,组成定义域块池。
6.如权利要求5所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤二中,值域块分类池中值域块的类别数与定义域块分类池中定义域块的类别数相等,且每类值域块中值域子块集的个数与同类别定义域块中定义域子块集的个数相等。
7.如权利要求6所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤二中,分类的具体过程包括:
步骤b1:先将值域块池中的多个值域子块分割成m类值域块,定义域块池中的多个定义域子块分割成m类定义域块;
步骤b2:CPU中的p-1个从线程将m类值域块发送到GPU,GPU利用最优的卷积神经网络模型对值域块进行卷积分类,并将分类结果存储在CPU的主线程中,得到值域块分类池;
步骤b3:CPU中的p-1个从线程将m类定义域块发送到GPU,GPU利用最优的卷积神经网络模型对定义域块进行卷积分类,并将分类结果存储在CPU的主线程中,得到定义域块分类池。
8.如权利要求7所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤三具体包括以下步骤:
步骤c1:初始化种群;
步骤c2:主线程按照分类顺序将值域块分类池中的各类值域子块集对应发送到各个从线程,从线程接收到值域子块集后,逐个取出该值域子块集中的子块图,同时从定义域块分类池中取出对应同类别的定义域子块集,然后从线程将基因表达式编程的9个基本算子和个体适应度值的计算发送到GPU进行并行计算,当个体适应度值大于设定值或迭代次数大于等于设定值时计算结束,得到值域子块集中的子块图与对应的定义域子块集间的压缩仿射变换参数,其中,9个基本算子包括:选择、变异、倒串、插串、根插串、基因变换、单点重组、两点重组和基因重组;
步骤c3:各个从线程将值域子块集中的子块图的参数、对应的定义域子块集的参数以及得到的压缩仿射变换参数发送回主线程,主线程按照分类顺序组成编码IFS并输出。
9.如权利要求8所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤c1中,初始化种群的具体过程包括:在主线程中输入种群大小、基因头部长度、基因尾部长度、基因个数、最大迭代数maxg、终止迭代适应度值minf、变异率、插串率和重组率,并发送到各个从线程,其中,maxg和minf以标准图像为参照,对基因表达式编程进行优化,得到最优值。
10.如权利要求9所述的基于CNN与GEP的分形图像压缩编码方法,其特征在于,步骤c2中,主线程按照分类顺序将值域块分类池中的第i类值域子块集发送到第t个从线程,若所有类的值域子块集一次发送不完,余下的值域子块集则按优先完成计算的从线程进行分配;
第t个从线程接收到第i类值域子块集后,逐个取出该值域子块集中的子块图Rij,同时从定义域块分类池中取出对应的定义域子块集Dij,然后在GPU中根据公式fitness(Rij,ωij,λ,ξ)=s(Rij,ωij)c(λ)L(ξ)计算个体适应度值,当fitness>minf or gen≥maxg时计算结束,得到子块图Rij与对应的定义域子块集Dij间的压缩仿射变换ωij的参数;
其中:i=1,2,...,m,t=1,2,...,p-1,j=1,2,...,g,j代表第i类值域子块集中的第j个子块图,g为第i类值域子块集中子块图的总个数,表示子块图Rij的相似度,表示压缩因子,表示压缩仿射变换数量因子,ωij是压缩仿射变换,λ是压缩因子,ξ是所期望的压缩仿射变换的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213666.8A CN109982095B (zh) | 2019-03-20 | 2019-03-20 | 基于cnn与gep的分形图像压缩编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213666.8A CN109982095B (zh) | 2019-03-20 | 2019-03-20 | 基于cnn与gep的分形图像压缩编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109982095A true CN109982095A (zh) | 2019-07-05 |
CN109982095B CN109982095B (zh) | 2023-04-07 |
Family
ID=67079687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910213666.8A Active CN109982095B (zh) | 2019-03-20 | 2019-03-20 | 基于cnn与gep的分形图像压缩编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109982095B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430398A (zh) * | 2019-08-06 | 2019-11-08 | 杭州微帧信息科技有限公司 | 一种基于强化学习的视频编码分布式方法 |
CN110781300A (zh) * | 2019-09-20 | 2020-02-11 | 南宁师范大学 | 基于百度百科知识图谱的旅游资源文化特色评分算法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000308056A (ja) * | 1999-04-16 | 2000-11-02 | Sanyo Electric Co Ltd | 画像圧縮装置 |
JP2002135771A (ja) * | 2000-10-18 | 2002-05-10 | Sanyo Electric Co Ltd | 画像符号化装置 |
CN102547261A (zh) * | 2010-12-24 | 2012-07-04 | 上海电机学院 | 一种分形图像编码方法 |
CN102595141A (zh) * | 2012-03-13 | 2012-07-18 | 中国科学院上海应用物理研究所 | 一种基于四叉树与邻域搜索相结合的分形图像压缩方法 |
WO2014051409A1 (ko) * | 2012-09-28 | 2014-04-03 | 삼성전자 주식회사 | 참조 픽처 정보를 이용한 병렬 처리 비디오 부호화 방법 및 장치, 병렬 처리 비디오 복호화 방법 및 장치 |
CN105791829A (zh) * | 2016-03-30 | 2016-07-20 | 南京邮电大学 | 一种基于多核平台的hevc并行帧内预测方法 |
CN105787911A (zh) * | 2016-03-21 | 2016-07-20 | 中国林业科学研究院资源信息研究所 | 一种基于拓扑分形算法的图像腐蚀与膨胀处理方法 |
CN106612439A (zh) * | 2016-02-04 | 2017-05-03 | 四川用联信息技术有限公司 | 一种自适应快速分形图像压缩方法 |
CN109410168A (zh) * | 2018-08-31 | 2019-03-01 | 清华大学 | 用于确定图像中的子图块的类别的卷积神经网络模型的建模方法 |
CN109495743A (zh) * | 2018-11-15 | 2019-03-19 | 上海电力学院 | 一种基于异构多处理平台的并行化视频编码方法 |
-
2019
- 2019-03-20 CN CN201910213666.8A patent/CN109982095B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000308056A (ja) * | 1999-04-16 | 2000-11-02 | Sanyo Electric Co Ltd | 画像圧縮装置 |
JP2002135771A (ja) * | 2000-10-18 | 2002-05-10 | Sanyo Electric Co Ltd | 画像符号化装置 |
CN102547261A (zh) * | 2010-12-24 | 2012-07-04 | 上海电机学院 | 一种分形图像编码方法 |
CN102595141A (zh) * | 2012-03-13 | 2012-07-18 | 中国科学院上海应用物理研究所 | 一种基于四叉树与邻域搜索相结合的分形图像压缩方法 |
WO2014051409A1 (ko) * | 2012-09-28 | 2014-04-03 | 삼성전자 주식회사 | 참조 픽처 정보를 이용한 병렬 처리 비디오 부호화 방법 및 장치, 병렬 처리 비디오 복호화 방법 및 장치 |
CN106612439A (zh) * | 2016-02-04 | 2017-05-03 | 四川用联信息技术有限公司 | 一种自适应快速分形图像压缩方法 |
CN105787911A (zh) * | 2016-03-21 | 2016-07-20 | 中国林业科学研究院资源信息研究所 | 一种基于拓扑分形算法的图像腐蚀与膨胀处理方法 |
CN105791829A (zh) * | 2016-03-30 | 2016-07-20 | 南京邮电大学 | 一种基于多核平台的hevc并行帧内预测方法 |
CN109410168A (zh) * | 2018-08-31 | 2019-03-01 | 清华大学 | 用于确定图像中的子图块的类别的卷积神经网络模型的建模方法 |
CN109495743A (zh) * | 2018-11-15 | 2019-03-19 | 上海电力学院 | 一种基于异构多处理平台的并行化视频编码方法 |
Non-Patent Citations (8)
Title |
---|
G.V. MAHA LAKSHMI: "Implementation of image compression using fractal image compression and neural networks for MRI images", 《2016 INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE》 * |
HUANG YI: "Self-organizing neural network domain classification for fractal image coding", 《ICCT"98. 1998 INTERNATIONAL CONFERENCE ON COMMUNICATION TECHNOLOGY PROCEEDINGS》 * |
SHAMINA KHATUN;ANAS IQBAL: "A Review of Image Compression Using Fractal Image Compression with Neural Network", 《INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN COMPUTER SCIENCE & TECHNOLOGY》 * |
余莉: "CUDA平台的分形图像压缩方法", 《小型微型计算机系统》 * |
吴红梅等: "基于四叉树分割的分形图像编码的改进方法", 《计算机应用》 * |
李文敬;钟智;元昌安: "基于GEP的分形图像压缩并行算法", 《计算机工程》 * |
李文敬等: "基因表达式编程在分形图像压缩编码中的应用", 《微电子学与计算机》 * |
郭慧等: "结合分类方法的并行分形图像编码算法研究", 《湘潭大学自然科学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430398A (zh) * | 2019-08-06 | 2019-11-08 | 杭州微帧信息科技有限公司 | 一种基于强化学习的视频编码分布式方法 |
CN110430398B (zh) * | 2019-08-06 | 2021-01-19 | 杭州微帧信息科技有限公司 | 一种基于强化学习的视频编码分布式方法 |
CN110781300A (zh) * | 2019-09-20 | 2020-02-11 | 南宁师范大学 | 基于百度百科知识图谱的旅游资源文化特色评分算法 |
CN110781300B (zh) * | 2019-09-20 | 2022-08-23 | 南宁师范大学 | 基于百度百科知识图谱的旅游资源文化特色评分算法 |
Also Published As
Publication number | Publication date |
---|---|
CN109982095B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304826A (zh) | 基于卷积神经网络的人脸表情识别方法 | |
CN110060475A (zh) | 一种基于深度强化学习的多交叉口信号灯协同控制方法 | |
CN109948029A (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN109214406A (zh) | 基于D-MobileNet神经网络图像分类方法 | |
CN110349230A (zh) | 一种基于深度自编码器的点云几何压缩的方法 | |
CN109063724A (zh) | 一种增强型生成式对抗网络以及目标样本识别方法 | |
CN111079795A (zh) | 基于cnn的分片多尺度特征融合的图像分类方法 | |
CN111861945B (zh) | 一种文本引导的图像修复方法和系统 | |
CN109346063A (zh) | 一种语音数据增强方法 | |
CN107507253A (zh) | 基于高阶张量近似的多属性体数据压缩方法 | |
CN109086802A (zh) | 一种基于八元数卷积神经网络的图像分类方法 | |
CN105844635A (zh) | 一种基于结构字典的稀疏表示深度图像重建算法 | |
CN110276148A (zh) | 基于自编码器的微结构降维特征提取及重构实现方法 | |
CN109982095A (zh) | 基于cnn与gep的分形图像压缩编码方法 | |
CN109598676A (zh) | 一种基于哈达玛变换的单幅图像超分辨率方法 | |
CN103020979B (zh) | 基于稀疏遗传聚类的图像分割方法 | |
CN114943345A (zh) | 基于主动学习和模型压缩的联邦学习全局模型训练方法 | |
CN110175248A (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN106156798A (zh) | 基于环形空间金字塔和多核学习的场景图像分类方法 | |
CN111666986A (zh) | 基于机器学习的小龙虾分级方法 | |
CN114118369A (zh) | 一种基于群智能优化的图像分类卷积神经网络设计方法 | |
CN110288667A (zh) | 一种基于结构引导的图像纹理迁移方法 | |
CN104794732A (zh) | 基于人工免疫网络聚类的灰度图像分割方法 | |
CN110097581A (zh) | 基于点云配准icp算法构建k-d树的方法 | |
CN113971367A (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 |