CN116109714A - 基于神经网络的数据编码存储方法及系统 - Google Patents
基于神经网络的数据编码存储方法及系统 Download PDFInfo
- Publication number
- CN116109714A CN116109714A CN202310200583.1A CN202310200583A CN116109714A CN 116109714 A CN116109714 A CN 116109714A CN 202310200583 A CN202310200583 A CN 202310200583A CN 116109714 A CN116109714 A CN 116109714A
- Authority
- CN
- China
- Prior art keywords
- codes
- loss
- tile
- bit layer
- primitive
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 26
- 238000003860 storage Methods 0.000 title claims description 20
- 238000006243 chemical reaction Methods 0.000 claims abstract description 47
- 238000009826 distribution Methods 0.000 claims description 20
- 108091026890 Coding region Proteins 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000007906 compression Methods 0.000 abstract description 42
- 230000006835 compression Effects 0.000 abstract description 40
- 238000012545 processing Methods 0.000 abstract description 4
- 230000011218 segmentation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及数据处理技术领域,提出了基于神经网络的数据编码存储方法及系统,包括:采集图像数据,获取图像中的前景及背景;将图像中每个像素点的灰度值转换为二进制编码并比特分层,获取每个比特层的最优瓦片大小,得到每个比特层的若干第一瓦片;获取每个第一瓦片的最优运算基元,对每个第一瓦片内的编码数据进行编码转换得到第一编码;根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中的损失系数,通过损失系数判断对部分背景像素点在各比特层中的对应位置进行编码转换得到最终编码;对编码转换后的各比特层进行压缩处理并存储。本发明旨在通过自适应压缩前景及背景以提高图像数据的压缩率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及基于神经网络的数据编码存储方法及系统。
背景技术
随着信息技术的快速发展,人们接收消息的速度大大提升,其中图像数据是人们接收的数据中的主要部分,虽然图像数据蕴含的消息丰富,但图像数据的存储量往往很大,在有限的存储空间内难以满足人们对图像数据的存储需求,因此需要对图像数据进行压缩处理。
传统数据压缩方法通常分为无损压缩与有损压缩,无损压缩后解压还原的数据为原始数据,但数据的压缩率有限;有损压缩后的数据在解压缩后会存在一定的损失,但有损压缩的压缩率通常较大;有损压缩的损失往往不可控,部分重要部分的细节也可能损失,造成压缩效果不佳。而对于图像数据,其中往往存在很多冗余或重复的信息,图像有损压缩存储的一个目标就是获取图像中的冗余信息或重复信息,然后对冗余信息或重复信息进行编码压缩,提高图像压缩效率。考虑到人们往往关注的是前景部分,例如在生产监控领域中需要抓拍大量的图像,这些图像中包含前景信息和背景信息,其中前景信息往往是需要关注和保留的,而背景信息不包含重要信息,因此在获取图像中的冗余信息或重复信息需要对前景和背景进行针对性处理保证在进行图像数据的冗余信息或重复信息的提取和编码存储时,将前景部分尽可能保留原本灰度值,而对于背景部分选择性损失,从而在保证图像质量的同时大大提高压缩率。
发明内容
本发明提供基于神经网络的数据编码存储方法及系统,以解决现有的图像数据压缩时无法兼顾保留重要信息及提高压缩率的问题,所采用的技术方案具体如下:
第一方面,本发明一个实施例提供了基于神经网络的数据编码存储方法,该方法包括以下步骤:
采集图像,通过神经网络对图像中的前景及背景部分进行分割;
将图像中每个像素点的灰度值转换为二进制编码,根据二进制编码对图像进行比特分层得到若干比特层,根据每个比特层内相同类型编码的分布获取每个比特层的最优瓦片大小,通过最优瓦片大小分割得到每个比特层的若干第一瓦片;
将每个第一瓦片内的编码从左到右逐行排列成编码序列,根据基元长度将编码序列的前基元长度数量的编码通过代数运算转换为相同的目标编码,得到与基元长度对应的运算基元,根据运算基元对编码序列进行编码转换,根据转换后相同类型编码的分布获取每个基元长度对每个第一瓦片的第二优选程度,将每个第一瓦片中所有第二优选程度最大的基元长度作为每个第一瓦片的最优基元长度,与基元长度对应的运算基元作为每个第一瓦片的最优运算基元,根据最优运算基元将每个比特层中每个第一瓦片进行编码转换得到每个比特层中每个位置的第一编码;
根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中对应位置的损失系数,将每个背景像素点在每个比特层中对应位置的编码记为原始编码,将第一编码与目标编码不同的位置记为损失位置,将损失位置的第一编码替换为目标编码,将替换后的目标编码与损失位置对应的最优运算基元通过反向的代数运算获取损失位置替换后对应的损失编码,根据损失位置的损失系数以及损失编码与原始编码的差异获取损失阈值,根据损失阈值对损失位置的编码替换为目标编码;
对编码转换后的各比特层进行压缩处理并存储。
可选的,所述根据每个比特层内相同类型编码的分布获取每个比特层的最优瓦片大小,包括的具体方法为:
获取任意一个比特层作为目标比特层,将目标比特层长和宽的因数进行组合,得到若干瓦片大小,大小的瓦片对于目标比特层的第一优选程度的计算方法为:
;
其中,表示利用大小的瓦片对目标比特层进行分割得到的瓦片数量,表示第个瓦片中相同编码的最大数量,表示瓦片大小;
获取每个瓦片大小对于目标比特层的第一优选程度,将第一优选程度最大的瓦片大小作为目标比特层的最优瓦片大小。
可选的,所述根据基元长度将编码序列的前基元长度数量的编码通过代数运算转换为相同的目标编码,得到与基元长度对应的运算基元,包括的具体方法为:
获取任意一个第一瓦片对应的编码序列作为目标编码序列,对于任意一个基元长度,获取基元长度对应的运算基元,使得所述运算基元包含的编码数量等于基元长度,并使得目标编码序列中前基元长度数量的编码与所述运算基元进行代数运算后得到的编码为相同的目标编码。
可选的,所述根据转换后相同类型编码的分布获取每个基元长度对每个第一瓦片的第二优选程度,包括的具体方法为:
;
其中,表示基元长度对任意一个第一瓦片的第二优选程度,表示采用基元长度对应的运算基元对该第一瓦片进行编码转换后,相同编码的最大数量,表示第一瓦片的大小,表示基元长度。
可选的,所述根据最优运算基元将每个比特层中每个第一瓦片进行编码转换得到每个比特层中每个位置的第一编码,包括的具体方法为:
根据获取到的每个第一瓦片的最优运算基元,分别对每个第一瓦片对应的编码序列通过代数运算进行转换,再把转换后的编码序列按顺序逐行排列到第一瓦片中原本对应的位置,得到的每个比特层中每个第一瓦片内的编码记为第一编码。
可选的,所述获取每个背景像素点在每个比特层中对应位置的损失系数,包括的具体方法为:
;
其中,表示任意一个背景像素点在任意一个比特层中对应位置的损失系数,表示任意一个背景像素点与前景像素点的最小距离,表示所有背景像素点与前景像素点的最小距离中的最大值,表示该背景像素点在任意一个比特层中对应位置所处比特层的比特层数,表示最大比特层数。
可选的,所述根据损失位置的损失系数以及损失编码与原始编码的差异获取损失阈值,包括的具体方法为:
;
其中,表示损失阈值,表示任意一个损失位置的损失系数,表示该损失位置的损失值,表示最大损失值;
所述损失值的获取方法为:将损失编码与原始编码转换为十进制,将每个损失位置对应的损失编码与原始编码十进制之间的差值绝对值;
所述最大损失值即为损失编码与原始编码的十进制之间的差值绝对值最大值。
第二方面,本发明另一个实施例提供了基于神经网络的数据编码存储系统,该系统包括:
数据采集模块,采集图像,通过神经网络对图像中的前景及背景部分进行分割;
数据编码模块:
将图像中每个像素点的灰度值转换为二进制编码,根据二进制编码对图像进行比特分层得到若干比特层,根据每个比特层内相同类型编码的分布获取每个比特层的最优瓦片大小,通过最优瓦片大小分割得到每个比特层的若干第一瓦片;
将每个第一瓦片内的编码从左到右逐行排列成编码序列,根据基元长度将编码序列的前基元长度数量的编码通过代数运算转换为相同的目标编码,得到与基元长度对应的运算基元,根据运算基元对编码序列进行编码转换,根据转换后相同类型编码的分布获取每个基元长度对每个第一瓦片的第二优选程度,将每个第一瓦片中所有第二优选程度最大的基元长度作为每个第一瓦片的最优基元长度,与基元长度对应的运算基元作为每个第一瓦片的最优运算基元,根据最优运算基元将每个比特层中每个第一瓦片进行编码转换得到每个比特层中每个位置的第一编码;
根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中对应位置的损失系数,将每个背景像素点在每个比特层中对应位置的编码记为原始编码,将第一编码与目标编码不同的位置记为损失位置,将损失位置的第一编码替换为目标编码,将替换后的目标编码与损失位置对应的最优运算基元通过反向的代数运算获取损失位置替换后对应的损失编码,根据损失位置的损失系数以及损失编码与原始编码的差异获取损失阈值,根据损失阈值对损失位置的编码替换为目标编码;
数据存储模块,对编码转换后的各比特层进行压缩处理并存储。
本发明的有益效果是:本发明通过神经网络对图像中的前景及背景进行分割,并通过对灰度值进行二进制编码转换进而通过比特分层得到若干比特层,每个比特层相较于灰度值都较大地提升了冗余程度;根据每个比特层中相同类型的编码的分布来自适应获取每个比特层若干第一瓦片,尽可能地使同一比特层中每个第一瓦片的冗余程度达到最大;通过对第一瓦片内编码分布及代数运算获取最优运算基元,将第一瓦片内不同编码转换为相同编码,进一步地提升每个第一瓦片内的冗余程度;根据背景像素点在各比特层中对应的位置获取损失系数,通过损失系数及损失值判断对应位置是否可以损失部分灰度信息来提高冗余程度,使得通过损失部分背景像素点的灰度信息来增大压缩率,而不会影响前景部分的主要信息;通过多步处理及运算,多次提高了各比特层中的冗余程度,使得对图像数据进行存储时,可以得到较好的压缩结果进行压缩存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的基于神经网络的数据编码存储方法流程示意图;
图2为本发明另一个实施例所提供的基于神经网络的数据编码存储系统结构框图;
图3为本发明所采用比特分层示意图;
图4为二进制编码运算结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明一个实施例所提供的基于神经网络的数据编码存储方法流程图,该方法包括以下步骤:
步骤S001、采集图像数据,并获取图像中的前景及背景。
本实施例的目的是对数据进行编码并存储,本实施例以图像数据为例进行叙述,因此需要获取大量图像数据来进行存储;而对图像数据进行存储时,待存储图像通常具有极高的相似性,使得图像中具有数据冗余和数据重复的特点。
本实施例以工厂生产零件时抓拍零件图像的场景为例进行叙述,得到的大量零件图像中只关注零件这一前景信息,而图像中零件之外的背景信息不是本实施例所重点关注的;同时考虑到实际生产的零件结构和纹理不会过于复杂,即图像的前景中存储在一些区域,这些区域中的灰度值差别不大,甚至灰度值相同,这些灰度相近的零件区域包含了大量的可被高效编码压缩的冗余或重复信息,因此需要首先对图像的前景进行重复信息的提取,并基于此对背景信息进行进一步的重复信息的提取,以保证提高有损压缩效率的同时保留更多的前景信息;其中本实施例通过比特分层和瓦片分割以及编码转换的方法来获取重复信息,并进行编码压缩存储。
首先需要获得图像的前景及背景,具体如下:
从历史中获得的所有零件图像中选择一部分图像构成数据集,本实施例以选择一万张图像为例进行叙述,其中这些图像中需要包含生产过程中所有型号的零件,使得每种型号零件对应的图像数量相等,或者在具体实施的时候保持数量相近即可;需要说明的是,本实施例中的零件的图像为灰度图像。
进一步的,构建语义分割网络提取图像中的前景及背景,前景即为图像中的零件部分,背景则为图像中的背景不变区域;构建及训练语义分割网络的过程如下:
(1)采用现有的DNN网络结构构建语义分割网络,本实施例以现有的DeepLabV3网络结构为例进行叙述;
(2)随机初始化网络中的参数;
(3)将每个型号零件的图像集合作为训练数据集,同一零件的图像集合中零件的样式形态是多种多样的;
(4)将每个型号零件的图像集合中每张图像逐个输入到神经网络中,人工标注其中的背景部分为0,前景即零件部分为1;
(5)网络的任务是分类,损失函数使用交叉熵函数;
(6)使用该训练数据集,根据所述损失函数,利用随机梯度下降算法训练语义分割网络,使其收敛,得到训练好的语义分割网络。
通过训练好的语义分割网络对实时采集到的图像进行前景及背景的分割,得到图像数据中的前景及背景。
步骤S002、将图像中每个像素点的灰度值进行二进制编码,并根据编码对图像进行比特分层,根据每个比特层内编码数据的分布获取每个比特层的最优瓦片大小,分割得到每个比特层的若干第一瓦片。
需要说明的是,图像数据存在局部相似性,通常情况下局部区域的像素点的灰度差异不会很大,像素点本身灰度值的冗余程度不大,但进行二进制编码转换后,二进制编码的高位存在较大的相似性,此时进行数据压缩时压缩效率将大大提高;因此将灰度值转换为二进制编码,并根据编码各位的相似性对图像进行比特分层,再根据各种类型编码在比特层内的分布获取每个比特层的最优瓦片大小。
具体的,以任意一张采集到的图像为例,记为原始图像;由于采集到的每张图像均为灰度图像,且灰度值的范围为0到255中的整数,因此将原始图像中每个像素点的灰度值转换为八位二进制编码,例如灰度值234的像素点转换后的二进制编码为11101010,此时原始图像中每个像素点的灰度值都由八位二进制编码来表示。
进一步的,由于图像中存在局部相似性,即局部区域的像素点之间的灰度差异较小,则得到的八位二进制编码在局部区域内高位部分相似性较大,例如某块区域内三个像素点的灰度值为234、235及233,对应八位二进制编码分别为11101010、11101011及11101001,此时三个像素点的二进制编码前六位完全相同,若进行分层处理则可以使前六位编码的冗余程度达到最大,进而大大提高压缩率;本实施例以两位编码为单位进行比特分层,例如二进制编码11101010进行比特分层后变为11、10、10及10,将二进制编码中最高两位所在分层记为第一比特层,三四位所在分层记为第二比特层,五六位所在分层记为第三比特层,末两位所在分层记为第四比特层,将所有像素点对应的二进制编码进行比特分层后按照原始图像所在位置与同比特层的其他编码进行拼接,则得到了原始图像拆分后的四个比特层;请参阅图3,其示出了比特分层后原始图像所形成的四个比特层的示意图,图3中上方的原始图像中八位二进制编码经比特分层后得到了下方的四个比特层,每个比特层中每个位置都有两位二进制编码组成。
进一步需要说明的是,通过对原始图像进行比特分层后,各比特层中编码数据的相似性会进一步增大,但由于图像整体仍存在较大灰度差异,因此各比特层不会出现整个比特层中所有编码数据都极为相似;因此为了进一步提高压缩率,可以对每个比特层进行瓦片分割,使同一比特层中一定区域内相似度较大的编码数据对应位置划分到一个瓦片中,且各瓦片之间不重叠,则需要根据每个比特层内编码数据的分布获取每个比特层自适应的最优瓦片大小。
具体的,获取原始图像的长与宽,长记为,宽记为,单位采用像素点数量进行表示;由于瓦片不重叠且需要完全分割每个比特层中所有位置,因此提取与的因数作为瓦片的长与宽,瓦片的长记为,宽记为,将中的每个因数都与中的每个因数进行组合,得到若干种瓦片大小;例如原始图像长为24,则24的因数有1、2、3、4、6、8、12及24,宽为12,则12的因数有1、2、3、4、6及12,此时则共有8*6=48种瓦片大小;对于大小的瓦片,以任意一个比特层为例,计算该瓦片大小的第一优选程度的具体方法为:
;
其中,表示利用大小的瓦片对任意一个比特层进行分割得到的瓦片数量;例如原始图像为时,使用的瓦片大小对任意一个比特层进行分割,能够得到4个瓦片;表示第个瓦片中相同编码的最大数量,表示瓦片大小,即瓦片中包含了个编码;所述编码即为各比特层中的两位二进制编码,共有00、01、10及11四种类型,相同编码的最大数量即为该瓦片内四种类型编码各自数量中的最大值,通过最大值与瓦片大小即所有编码数量的比值均值,即可得到对应瓦片大小的第一优选程度,同一瓦片内相同编码的最大数量越大,该瓦片冗余程度越大,相应的压缩比可以达到越大,则第一优选程度越大;按照上述方法对该比特层利用所有瓦片大小计算其第一优选程度,将第一优选程度最大的瓦片大小作为该比特层的最优瓦片大小,最优瓦片大小记为,使用该大小为的瓦片对该比特层进行分割,得到的所有瓦片记为第一瓦片,得到的第一瓦片数量记为;按照上述方法获取每个比特层的最优瓦片大小,以及根据最优瓦片大小进行分割得到的第一瓦片及第一瓦片数量。
至此,对原始图像进行二进制编码转换并获取到了四个比特层,以及每个比特层的最优瓦片大小,进一步提高了对于原始图像的压缩率。
步骤S003、根据每个第一瓦片内编码数据的分布获取每个第一瓦片的最优运算基元,根据最优运算基元对每个第一瓦片内的编码数据进行编码转换得到第一编码。
需要说明的是,通过最优瓦片大小对比特层分割得到若干第一瓦片后,每个第一瓦片内的编码冗余程度都较大,但为了进一步提升压缩率,使得压缩效果更好,需要将同一第一瓦片内不同的编码转换为相同的编码,对于二进制编码,其可采用的代数运算包括加法、减法、同或及异或运算;通过代数运算将不同编码转换为相同编码,进一步提高压缩率,则需要获取每个第一瓦片的最优基元长度,根据最优基元长度确定最优运算基元,以使得经过最优运算基元对瓦片内的编码数据进行转换后可以使得冗余程度达到最大。
请参阅图4,其示出了四种类型的两位二进制编码经代数运算后得到的结果,其中二进制编码进行加法、减法、同或及异或运算均为现有技术,本实施例不再赘述。
具体的,以任意一个比特层中的任意一个第一瓦片为例,将该第一瓦片内的所有编码从左到右逐行排列到同一行中,即将大小的瓦片中所有编码排列成一个包含个元素的编码序列,本实施例以加法运算对不同编码数据进行转换;需要说明的是,采用不同的代数运算及转换的目标编码不同不会影响最优基元长度的结果;例如得到的编码序列中前8位分别为00、01、10、11、00、01、00及10,通过加法运算将前四位转换为相同类型编码如00,所采用的运算基元为00、11、10及01,使用该基元对第五到第八位进行转换,得到的结果为00、00、10、11;再利用异或运算将前四位转换为相同类型编码如01,所采用的基元为01、00、11及10,使用该运算基元对第五到第八位进行转换,得到的结果为01、01、11及00;可以发现代数运算方法改变及目标编码改变并不会影响转换后相同编码的长度,即不会影响最优基元长度的结果。
进一步的,为了获取最优基元长度,使得第一瓦片中转换后的相同类型编码数量达到最大,需要计算每个基元长度对于该第一瓦片的第二优选程度,以任意一个比特层中的任意一个第一瓦片的编码序列为例,对于任意一个基元长度,获取基元长度对应的运算基元,使得所述运算基元包含的编码数量等于基元长度,并使得该编码序列中前基元长度数量的编码与所述运算基元进行加法运算后得到相同类型的编码,其中相同类型的编码记为目标编码,本实施例以00作为目标编码进行计算;利用该运算基元对编码序列中第位到最后一位编码进行转换,每位进行一次转换,若最后剩余不足位,则将剩余部分从运算基元的第一位开始运算转换,直到序列内所有编码都转换完成,此时基元长度对于该第一瓦片的第二优选程度的计算方法为:
;
其中,表示采用基元长度对应的运算基元对该第一瓦片进行编码转换后,相同编码的最大数量;例如编码序列中前8位分别为00、01、10、11、00、01、00及10,基元长度且目标编码为00的运算基元为00、11、10及01,那么加法运算转换后前8位分别为00、00、00、00、00、11、10、01,其中对于前8位编码相同编码的最大数量为5,即是其中有5个目标编码00;表示第一瓦片的大小,即对应编码序列中包含的编码数量,表示基元长度。
此时转换后的编码序列中相同编码的最大数量越大,转换后的冗余程度越大,相应的压缩比能够达到越大,该基元长度对于该第一瓦片的第二优选程度越大;同时,基元长度越大,需要存储的运算基元越长,冗余程度增大的同时需要额外存储较长的运算基元,压缩率增大的同时但也需要存储较多额外数据,因此需要对基元长度进行限制以保证提高冗余程度并不会获得较长的运算基元;按照上述方法获取对于该第一瓦片的所有基元长度的第二优选程度,将其中第二优选程度最大的基元长度对应的运算基元作为该第一瓦片的最优运算基元;按照上述方法获取每个比特层中的每个第一瓦片的最优运算基元;
需要说明的是,同一比特层中获取最优运算基元过程中的目标编码应保持一致,如本实施例中目标编码均采用00进行计算,同时为了提升解码速度,将所有比特层中的代数运算方法均保持一致,以便解码过程可以采用同一种代数运算方法直接完成解码,避免更换代数运算方法而浪费时间,本实施例代数运算方法均采用加法运算,各比特层对应的目标编码本实施例均设置为00,具体实施过程可根据实际情况自行设定。
进一步的,根据获取到的每个第一瓦片的最优运算基元,分别对每个第一瓦片内的编码进行转换,即先将瓦片内编码排列成编码序列,再通过对应的最优运算基元通过加法运算完成转换,再把转换后的编码序列按顺序逐行排列到第一瓦片中原本对应的位置,得到的每个比特层中每个第一瓦片内的编码记为第一编码;至此,完成了对于每个第一瓦片内的编码数据的转换。
步骤S004、根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中的损失系数,通过损失系数判断对部分背景像素点在各比特层中的对应位置进行编码转换得到最终编码。
需要说明的是,在进行压缩存储时,背景像素点中的灰度信息相对来说重要程度较小,为了增大压缩率,可以选择性的损失背景像素点的灰度精度来提高图像的压缩率,对于经过最优运算基元编码转换后的编码数据中,若各比特层中存在背景像素点对应位置的第一编码与目标编码不同,可以通过损失这些位置的编码来提高压缩率;同时,根据这些位置所处比特层及对应的背景像素点与前景像素点的距离来判断是否可以损失这些位置的编码,所处比特层越高位,即对应比特层数越小,损失后所带来的灰度改变越大,应尽量避免损失;对应背景像素点与前景像素点的距离越小,这些位置越应该受到关注而避免损失。
具体的,首先根据步骤S001分割得到的原始图像的背景,提取背景在各比特层中对应的位置,以任意一个背景像素点在任意一个比特层中的对应位置为例,计算该位置的损失系数的具体方法为:
;
其中,表示任意一个背景像素点与前景像素点的最小距离,表示所有背景像素点与前景像素点的最小距离中的最大值,表示该背景像素点在任意一个比特层中对应位置所处比特层的比特层数,所述比特层数即为步骤S002中的第一比特层到第四比特层,其中第一比特层的比特层数即为1;表示最大比特层数;所述最小距离由背景像素点与所有前景像素点的欧式距离中的最小值,具体计算过程为公知技术,本实施例不再赘述;此时背景像素点与前景像素点的最小距离越小,应保证越小的损失系数以避免该像素点发生损失;对应位置所处比特层数越小,所处比特层越接近高位比特层,损失该位置的编码会引起对应背景像素点较大的灰度变化,应保证越小的损失系数以避免该位置的编码发生损失;按照上述方法获取每个背景像素点在每个比特层中对应位置的损失系数。
进一步的,根据步骤S003得到的结果,提取每个背景像素点在每个比特层中对应位置的编码,记为原始编码,以及每个位置的第一编码;提取第一编码与目标编码不同的位置,记为损失位置;将损失位置的第一编码替换为目标编码,对目标编码与相应的最优运算基元进行减法运算得到损失的编码,记为损失位置的损失编码;将损失编码与原始编码转换为十进制,将每个损失位置对应的损失编码与原始编码十进制之间的差值绝对值作为该损失位置的损失值,根据每个损失位置的损失值及损失系数判断该损失位置是否可以损失,具体的方法为:
;
其中,表示损失阈值,表示任意一个损失位置的损失系数,表示该损失位置的损失值,表示最大损失值,本实施例中由于每个比特层中均为两位二进制编码,则最大损失值即为00与11之间的损失值,最大损失值为3;通过损失系数与最大损失值的乘积与损失值进行比较,若为小于关系,表明此时损失值已经超过了该损失位置可损失的范围,则损失阈值为0,即该点不可损失;若为大于关系,则此时损失值仍在该损失位置可损失的范围内,损失阈值为1,该点可进行损失以提高压缩比;按照上述方法获取所有损失位置的损失阈值,对损失阈值为1的将对应位置的第一编码替换为目标编码;得到的结果以及各比特层中未替换的第一编码记为最终编码。
至此,根据损失系数及损失值的判断,完成了对于部分损失位置,即部分背景像素点在各比特层对应位置的编码转换,进一步提高了压缩率。
步骤S005、对编码转换后的各比特层进行压缩处理并存储,同时存储相应的最优运算基元。
需要说明的是,通过最优运算基元对各比特层进行编码转换,通过损失系数判断对部分背景像素点在各比特层中的编码进行编码转换,此时各比特层中冗余程度达到最大,且通过对部分背景像素点进行损失进一步提高了冗余程度,通过对编码转换后的各比特层进行压缩,可以极大提高对于图像的压缩率。
具体的,本实施例采用游程编码对编码转换后的各比特层中的最终编码进行压缩处理得到压缩数据,其中游程编码为现有技术,本实施例不再赘述;压缩过程中同时存储各最优瓦片大小所对应的最优运算基元,并将各比特层按从小到大的顺序进行存储,则完成了对实时采集到的零件图像的压缩存储。
对于解码过程,对压缩数据根据相应的最优运算基元进行还原,得到各比特层,将各比特层按从小到大顺序进行拼接形成八位二进制编码,将八位二进制编码转换为十进制,即得到了每个像素点解码后的灰度值,得到了解码后的灰度图像;需要说明的是,解码后的灰度图像相较于原始图像存在部分像素点灰度值不同,即压缩过程为有损压缩,但有损部分为不需要过多关注的背景像素点,其灰度值发生变化并不会影响图像数据中主要事物的表现;例如对于零件图像进行压缩存储,对零件没有影响的背景即可损失部分信息来提高压缩率。
至此,通过神经网络分割图像中的前景及背景,对前景及背景分别进行编码转换,并对编码转换后的图像进行压缩存储,大大提高了图像数据的压缩率,同时保证了图像数据的质量,不至于过多损失重要信息。
请参阅图2,其示出了本发明另一个实施例所提供的基于神经网络的数据编码存储系统结构框图,该系统包括:
数据采集模块S101,采集图像数据,并获取图像中的前景及背景。
数据编码模块S102:
(1)将图像中每个像素点的灰度值进行二进制编码,并根据编码对图像进行比特分层,根据每个比特层内编码数据的分布获取每个比特层的最优瓦片大小,分割得到每个比特层的若干第一瓦片;
(2)根据每个第一瓦片内编码数据的分布获取每个第一瓦片的最优运算基元,根据最优运算基元对每个第一瓦片内的编码数据进行编码转换得到第一编码;
(3)根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中的损失系数,通过损失系数判断对部分背景像素点在各比特层中的对应位置进行编码转换得到最终编码。
数据存储模块S103,对编码转换后的各比特层进行压缩处理并存储,同时存储相应的最优运算基元。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.基于神经网络的数据编码存储方法,其特征在于,该方法包括以下步骤:
采集图像,通过神经网络对图像中的前景及背景部分进行分割;
将图像中每个像素点的灰度值转换为二进制编码,根据二进制编码对图像进行比特分层得到若干比特层,根据每个比特层内相同类型编码的分布获取每个比特层的最优瓦片大小,通过最优瓦片大小分割得到每个比特层的若干第一瓦片;
将每个第一瓦片内的编码从左到右逐行排列成编码序列,根据基元长度将编码序列的前基元长度数量的编码通过代数运算转换为相同的目标编码,得到与基元长度对应的运算基元,根据运算基元对编码序列进行编码转换,根据转换后相同类型编码的分布获取每个基元长度对每个第一瓦片的第二优选程度,将每个第一瓦片中所有第二优选程度最大的基元长度作为每个第一瓦片的最优基元长度,与基元长度对应的运算基元作为每个第一瓦片的最优运算基元,根据最优运算基元将每个比特层中每个第一瓦片进行编码转换得到每个比特层中每个位置的第一编码;
根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中对应位置的损失系数,将每个背景像素点在每个比特层中对应位置的编码记为原始编码,将第一编码与目标编码不同的位置记为损失位置,将损失位置的第一编码替换为目标编码,将替换后的目标编码与损失位置对应的最优运算基元通过反向的代数运算获取损失位置替换后对应的损失编码,根据损失位置的损失系数以及损失编码与原始编码的差异获取损失阈值,根据损失阈值对损失位置的编码替换为目标编码;
对编码转换后的各比特层进行压缩处理并存储。
2.根据权利要求1所述的基于神经网络的数据编码存储方法,其特征在于,所述根据每个比特层内相同类型编码的分布获取每个比特层的最优瓦片大小,包括的具体方法为:
获取任意一个比特层作为目标比特层,将目标比特层长和宽的因数进行组合,得到若干瓦片大小,大小的瓦片对于目标比特层的第一优选程度的计算方法为:
;
其中,表示利用大小的瓦片对目标比特层进行分割得到的瓦片数量,表示第个瓦片中相同编码的最大数量,表示瓦片大小;
获取每个瓦片大小对于目标比特层的第一优选程度,将第一优选程度最大的瓦片大小作为目标比特层的最优瓦片大小。
3.根据权利要求1所述的基于神经网络的数据编码存储方法,其特征在于,所述根据基元长度将编码序列的前基元长度数量的编码通过代数运算转换为相同的目标编码,得到与基元长度对应的运算基元,包括的具体方法为:
获取任意一个第一瓦片对应的编码序列作为目标编码序列,对于任意一个基元长度,获取基元长度对应的运算基元,使得所述运算基元包含的编码数量等于基元长度,并使得目标编码序列中前基元长度数量的编码与所述运算基元进行代数运算后得到的编码为相同的目标编码。
4.根据权利要求1所述的基于神经网络的数据编码存储方法,其特征在于,所述根据转换后相同类型编码的分布获取每个基元长度对每个第一瓦片的第二优选程度,包括的具体方法为:
;
其中,表示基元长度对任意一个第一瓦片的第二优选程度,表示采用基元长度对应的运算基元对该第一瓦片进行编码转换后,相同编码的最大数量,表示第一瓦片的大小,表示基元长度。
5.根据权利要求1所述的基于神经网络的数据编码存储方法,其特征在于,所述根据最优运算基元将每个比特层中每个第一瓦片进行编码转换得到每个比特层中每个位置的第一编码,包括的具体方法为:
根据获取到的每个第一瓦片的最优运算基元,分别对每个第一瓦片对应的编码序列通过代数运算进行转换,再把转换后的编码序列按顺序逐行排列到第一瓦片中原本对应的位置,得到的每个比特层中每个第一瓦片内的编码记为第一编码。
6.根据权利要求1所述的基于神经网络的数据编码存储方法,其特征在于,所述获取每个背景像素点在每个比特层中对应位置的损失系数,包括的具体方法为:
;
其中,表示任意一个背景像素点在任意一个比特层中对应位置的损失系数,表示任意一个背景像素点与前景像素点的最小距离,表示所有背景像素点与前景像素点的最小距离中的最大值,表示该背景像素点在任意一个比特层中对应位置所处比特层的比特层数,表示最大比特层数。
7.根据权利要求1所述的基于神经网络的数据编码存储方法,其特征在于,所述根据损失位置的损失系数以及损失编码与原始编码的差异获取损失阈值,包括的具体方法为:
;
其中,表示损失阈值,表示任意一个损失位置的损失系数,表示该损失位置的损失值,表示最大损失值;
所述损失值的获取方法为:将损失编码与原始编码转换为十进制,将每个损失位置对应的损失编码与原始编码十进制之间的差值绝对值作为所述损失值;
所述最大损失值即为损失编码与原始编码的十进制之间的差值绝对值最大值。
8.基于神经网络的数据编码存储系统,其特征在于,该系统包括:
数据采集模块,采集图像,通过神经网络对图像中的前景及背景部分进行分割;
数据编码模块:
将图像中每个像素点的灰度值转换为二进制编码,根据二进制编码对图像进行比特分层得到若干比特层,根据每个比特层内相同类型编码的分布获取每个比特层的最优瓦片大小,通过最优瓦片大小分割得到每个比特层的若干第一瓦片;
将每个第一瓦片内的编码从左到右逐行排列成编码序列,根据基元长度将编码序列的前基元长度数量的编码通过代数运算转换为相同的目标编码,得到与基元长度对应的运算基元,根据运算基元对编码序列进行编码转换,根据转换后相同类型编码的分布获取每个基元长度对每个第一瓦片的第二优选程度,将每个第一瓦片中所有第二优选程度最大的基元长度作为每个第一瓦片的最优基元长度,与基元长度对应的运算基元作为每个第一瓦片的最优运算基元,根据最优运算基元将每个比特层中每个第一瓦片进行编码转换得到每个比特层中每个位置的第一编码;
根据每个背景像素点与前景像素点的距离及在各比特层的对应位置,获取每个背景像素点在每个比特层中对应位置的损失系数,将每个背景像素点在每个比特层中对应位置的编码记为原始编码,将第一编码与目标编码不同的位置记为损失位置,将损失位置的第一编码替换为目标编码,将替换后的目标编码与损失位置对应的最优运算基元通过反向的代数运算获取损失位置替换后对应的损失编码,根据损失位置的损失系数以及损失编码与原始编码的差异获取损失阈值,根据损失阈值对损失位置的编码替换为目标编码;
数据存储模块,对编码转换后的各比特层进行压缩处理并存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310200583.1A CN116109714A (zh) | 2023-03-06 | 2023-03-06 | 基于神经网络的数据编码存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310200583.1A CN116109714A (zh) | 2023-03-06 | 2023-03-06 | 基于神经网络的数据编码存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116109714A true CN116109714A (zh) | 2023-05-12 |
Family
ID=86261659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310200583.1A Withdrawn CN116109714A (zh) | 2023-03-06 | 2023-03-06 | 基于神经网络的数据编码存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116109714A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116957524A (zh) * | 2023-09-21 | 2023-10-27 | 青岛阿斯顿工程技术转移有限公司 | 一种技术转移过程中人才信息智能管理方法及系统 |
-
2023
- 2023-03-06 CN CN202310200583.1A patent/CN116109714A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116957524A (zh) * | 2023-09-21 | 2023-10-27 | 青岛阿斯顿工程技术转移有限公司 | 一种技术转移过程中人才信息智能管理方法及系统 |
CN116957524B (zh) * | 2023-09-21 | 2024-01-05 | 青岛阿斯顿工程技术转移有限公司 | 一种技术转移过程中人才信息智能管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103814396B (zh) | 编解码比特流的方法和装置 | |
CN109889839B (zh) | 基于深度学习的感兴趣区域图像编码、解码系统及方法 | |
CN111093081A (zh) | 一种图像无损压缩方法及系统 | |
CN104869425A (zh) | 一种基于纹理图像相似性的压缩和解压缩方法 | |
CN113613010A (zh) | 基于稀疏卷积神经网络的点云几何无损压缩方法 | |
CN113284203B (zh) | 基于八叉树编码和体素上下文的点云压缩及解压缩方法 | |
CN103188494A (zh) | 跳过离散余弦变换对深度图像编码/解码的设备和方法 | |
CN110069644A (zh) | 一种基于深度学习的压缩域大规模图像检索方法 | |
CN116489369B (zh) | 一种行车数字录像压缩处理方法 | |
CN116109714A (zh) | 基于神经网络的数据编码存储方法及系统 | |
CN111246206A (zh) | 一种基于自编码器的光流信息压缩方法及装置 | |
CN107018419A (zh) | 一种基于ambtc的图像压缩编码方法 | |
CN112132158A (zh) | 一种基于自编码网络的可视化图片信息嵌入方法 | |
CN116016606A (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN114374846A (zh) | 视频压缩方法、装置、设备及存储介质 | |
CN109698703B (zh) | 基因测序数据解压方法、系统及计算机可读介质 | |
Shah et al. | Vector quantization with codebook and index compression | |
JPH11243491A (ja) | 適応進化型画像圧縮符号化装置 | |
CN111432211A (zh) | 一种用于视频编码的残差信息压缩方法 | |
CN115622571A (zh) | 一种基于数据处理的雷达目标识别方法 | |
CN111343458B (zh) | 一种基于重建残差的稀疏灰度图像编解码方法及系统 | |
CN109698702B (zh) | 基因测序数据压缩预处理方法、系统及计算机可读介质 | |
CN114004902A (zh) | 一种点云压缩方法、装置及计算机可读存储介质 | |
CN112950729A (zh) | 一种基于自编码器和熵编码的图像压缩方法 | |
CN117155408B (zh) | 一种生产数据的高效传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230512 |
|
WW01 | Invention patent application withdrawn after publication |