CN116489391A - 图像矢量量化编码、文图模型训练及使用方法和装置 - Google Patents
图像矢量量化编码、文图模型训练及使用方法和装置 Download PDFInfo
- Publication number
- CN116489391A CN116489391A CN202310299709.5A CN202310299709A CN116489391A CN 116489391 A CN116489391 A CN 116489391A CN 202310299709 A CN202310299709 A CN 202310299709A CN 116489391 A CN116489391 A CN 116489391A
- Authority
- CN
- China
- Prior art keywords
- image
- representations
- index
- text
- similarity
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 239000013598 vector Substances 0.000 title claims abstract description 93
- 238000012549 training Methods 0.000 title claims abstract description 52
- 238000013139 quantization Methods 0.000 title claims abstract description 46
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 238000012512 characterization method Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ZHUJMSMQIPIPTF-JMBSJVKXSA-N (2s)-2-[[(2s)-2-[[2-[[(2r)-2-[[(2s)-2-amino-3-(4-hydroxyphenyl)propanoyl]amino]propanoyl]amino]acetyl]amino]-3-phenylpropanoyl]amino]-4-methylpentanoic acid Chemical compound C([C@@H](C(=O)N[C@@H](CC(C)C)C(O)=O)NC(=O)CNC(=O)[C@@H](C)NC(=O)[C@@H](N)CC=1C=CC(O)=CC=1)C1=CC=CC=C1 ZHUJMSMQIPIPTF-JMBSJVKXSA-N 0.000 description 1
- 241000723382 Corylus Species 0.000 description 1
- 235000007466 Corylus avellana Nutrition 0.000 description 1
- 241000282330 Procyon lotor Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- 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/94—Vector quantisation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种图像矢量量化编码、文图模型训练及使用方法和装置。所述方法包括:将图像输入编码器进行编码,得到图像包含的各图像块对应的中间特征向量;针对图像中各图像块对应的中间特征向量,在第一码书中查找与中间特征向量最接近的图像表征的索引;第一码书包含多行图像表征及对应的索引,且在第一码书中相近似的图像表征其对应的索引所在位置也邻近;将查找到的索引替换所述图像中各图像块的中间特征向量,得到所述图像中各图像块对应的矢量量化的编码。本发明可大大节省计算量,提高矢量量化编码的速度和效率,提升模型的训练效率,降低了对计算资源的消耗。
Description
技术领域
本发明涉及深度学习技术领域,特别涉及一种图像矢量量化编码、文图模型训练及使用方法和装置。
背景技术
随着人工智能深入到生产生活的方方面面,基于跨模态学习的文图生成模型(执行Text-to-Image任务的模型)也逐渐有了广泛的应用。
这些文图生成模型可根据输入的文本,模型生成与文本对应的图像,可实现高保真照片级图像输出,并支持涉及复杂构图和丰富知识内容的合成。例如文本输入“戴着黄色帽子、穿红色T恤的浣熊,手里拿着绿色袋子,袋子里面装满榛果”,就可以输出与文字描述一致的高清的图像或者视频。
图文生成模型需要有强大的跨模态理解能力。目前主流的基于Transformer的文图生成模型包括但不限于:DALLE(Zero-Shot Text-to-Image Generation,基于VQVAE和Transformer的文图生成模型,具有120亿参数)、CogView(Mastering Text-to-ImageGeneration via Transformers,基于VQVAE和Transformer的中文文图生成模型,具有40亿参数)等等。
为了增强这类文图生成模型在下游任务中的性能,在此类模型的训练过程中,增大预训练模型的规模以及利用文本和图像对的数据,然而这类上十亿或上百亿参数的模型在资源受限的环境中很难进行部署和优化。这些模型的训练中的计算量都比较大,需要耗费较多的计算资源和时间,亟待进行优化。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种图像矢量量化编码、文图模型训练及使用方法和装置。
第一方面,本发明实施例提供一种图像矢量量化编码的方法,包括:
将图像输入编码器进行编码,得到所述图像包含的各图像块对应的中间特征向量;
针对图像中各图像块对应的中间特征向量,在第一码书中查找与所述中间特征向量最接近的图像表征的索引;所述第一码书包含多行图像表征及对应的索引,且在第一码书中相近似的所述图像表征其对应的索引所在位置也邻近;
将查找到的索引替换所述图像中各图像块的中间特征向量,得到所述图像中各图像块对应的矢量量化的编码。
在一个实施例中,第一码书预先通过下述方式得到:
对原始的第二码书中的图像编码数据进行归一化,得到对应的图像表征;
对各索引的图像表征之间的相似度进行计算,得到用以表征相似程度大小的相似度值;
根据各索引的图像表征之间的相似度值,依次将各图像表征映射到希尔伯特曲线上;
按照所述各图像表征在希尔伯特曲线上的先后顺序,对所述图像表征重新排序,并根据重新排序后的位置顺序,更新各图像表征对应的索引,得到第一码书。
在一个实施例中,根据各索引的图像表征之间的相似度值,依次将各图像表征映射到希尔伯特曲线上,包括:
从所述各图像表征中任意选择一个图像表征,将其映射至希尔伯特曲线上第一个节点的位置;
针对第一节点的位置的图像表征,计算所述第一节点位置的图像表征与除了已映射至希尔伯特曲线上的图像表征之外的所有图像表征之间的相似度值;根据相似度值选择最相似的图像表征映射至希尔伯特曲线的第二个节点的位置;
以此类推,计算每个当前节点的图像表征与除了已映射至希尔伯特曲线上的图像表征之外的所有图像表征之间相似度并排序,确定下一个节点位置的图像表征并映射,直至将所有图像表征都依次映射至所述希尔伯特曲线上。
在一个实施例中,更新各图像表征对应的索引,包括:
根据各图像表征映射至所述希尔伯特曲线上的节点位置的先后顺序,重新对各图像表征的索引进行编号,使得重新编号的索引,与所述节点位置的先后顺序对应。
在一个实施例中,按照所述各图像表征在希尔伯特曲线上的先后顺序,对所述图像表征重新排序,并根据重新排序后的位置顺序,更新各图像表征对应的索引的步骤之后,还包括:
按照重新排序后的位置顺序,以及预设的合并数量,依次从所述各图像表征中选取对应数量的行的图像表征数据进行合并计算,得到所述对应数量的图像表征数据合并后的图像表征数据;
根据合并后的图像表征数据的先后顺序,对合并后的图像表征数据的索引重新编号。
在一个实施例中,对各索引的图像表征之间的相似度进行计算,得到用以表示相似程度大小的相似度值,包括:
计算各索引的图像表征之间的欧式距离,将所述欧式距离作为表示相似程度大小的相似度值;或
计算各索引的图像表征之间的余弦相似度,得到用以表示相似程度大小的余弦相似度值。
第二方面,本发明实施例提供一种文图生成模型的训练方法,包括:
对输入的图像进行矢量量化的编码;
利用所述图像的矢量量化的编码,对文图生成模型进行训练;
对输入的图像进行矢量量化的编码的步骤,是利用如前述的图像矢量化编码的方法得到的。
第三方面,本发明实施例提供一种根据文本输出图像的方法,包括:
向预先训练好的文图生成模型输入文本;
接收所述文图生成模型输出的图像;
所述文图生成模型是按照如前述的文图生成模型的训练方法得到的。
第四方面,本发明实施例提供一种图像矢量化编码的装置,包括:
中间特征向量编码模块,用于将图像输入编码器进行编码,得到所述图像包含的各图像块对应的中间特征向量;
查找模块,用于针对图像中各图像块对应的中间特征向量,在第一码书中查找与所述中间特征向量最接近的图像表征的索引;所述第一码书包含多个图像表征及对应的索引,且在第一码书中相近似的所述图像表征其对应的索引所在位置也邻近;
替换模块,用于将查找到的索引替换所述图像中各图像块的中间特征向量,得到所述图像中各图像块对应的矢量量化的编码。
第五方面,本发明实施例提供了一种文图生成模型的训练装置,包括:
编码模块,用于对输入的图像进行矢量量化的编码;
训练模块,利用所述图像的矢量量化的编码,对文图生成模型进行训练;
对输入的图像进行矢量量化的编码的步骤,是利用如前述的图像矢量化编码的方法得到的。
第六方面,本发明实施例提供了一种根据文本输出图像的装置,包括:
输入模块,用于向预先训练好的文图生成模型输入文本;
图像接收模块,用于接收所述文图生成模型输出的图像;
所述文图生成模型是按照如权利要求7所述的文图生成模型的训练方法得到的。
第七方面,发明实施例提供了一种计算设备,其特征在于,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述的图像矢量量化编码的方法,或实现如前述的文图生成模型的训练方法,或实现如前述的根据文本输出图像的方法。
第八方面,发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述的图像矢量量化编码的方法,或实现如前述的文图生成模型的训练方法,或实现如前述的根据文本输出图像的方法。
第九方面,发明实施例提供了一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如前述的图像矢量量化编码的方法,或实现如前述的文图生成模型的训练方法,或实现如前述的根据文本输出图像的方法。
本发明实施例提供的上述技术方案的有益效果至少包括:
在本发明实施例对现有技术中的码书(即第二码书)进行了改进,现有技术的第二码书中不同行并不依据彼此的相似度进行排序,在本发明实施例中,编码过程中使用的第一码书包含的多行图像表征中,相似的图像表征,其对应的索引所在位置也是邻近的,这样,在第一码书内查找与待编码的图像块的中间特征向量对应的索引时,可在相对较小的范围内搜索即可命中最接近的图像表征的索引,而不必像现有技术那样,需要遍历所有的行,才可以找到最接近的图像表征的索引,在保证生成的图像的质量的同时,大大节省了计算量,提高了编码速度,提升了模型训练的整体效率,同时也降低了对计算资源的消耗。
进一步地,基于前述第一码书中相近似的图像表征其位置邻近的特点,本发明实施例还可以对第一码书本身进行压缩,按照预设数量,对邻近的若干行进行合并计算,实现对第一码书的进一步压缩,将一组近似的图像表征合并为一条,在满足编码过程中查找的准确行的同时,也因为第一码书的数据量进一步减少,而使得编码和训练的计算量进一步减少,速度进一步提升。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有VQGAN模型训练框架的例子的示意图;
图2为现有技术中图像矢量量化编码过程的示意图;
图3为本发明实施例中图像矢量量化编码的方法的流程图;
图4为本发明实施例中图像被分为16个块的示意图;
图5为本发明实施例中重排序得到第一码书的实现流程图;
图6为本发明实施例中希尔伯特曲线的示意图;
图7为本发明实施例中第一码书压缩的例子的示意图;
图8为本发明实施例中使用重新排序得到的第一码书进行图像矢量量化编码过程的示意图;
图9为本发明实施例中图像矢量化编码的装置的结构框图;
图10为本发明实施例中文图生成模型的训练装置的结构框图;
图11为本发明实施例中根据文本输出图像的装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的发明人在研发过程中发现:从模型架构层面,基于transformer的文图生成模型的训练常采用两阶段训练的方式,第一个阶段是通过对图像进行矢量量化编码获取图像的离散化序列,第二个阶段是通过图文对,利用生成模型的框架训练从输入文本序列到输出图像序列的解码过程。
某个文图模型采用VQVAE、VQGAN或者类似的模型框架来完成图像矢量量化编码过程的训练,能够得到更清晰的重构图像。
一个现有的的VQGAN模型训练框架的例子的示意图参照图1所示,在该训练框架中,一张输入RGB三通道图片x∈RH×W×3,其通过CNN Encoder编码后得到中间特征变量在VQGAN中,会将/>进行进一步的离散化编码,具体为:预先生成一个离散数值的码书(Codebook)/>在/>的每一个编码位置都去Z中去寻找其距离最近的code,生成具有相同维度的变量/>这一步离散编码的过程可以表示为:
CNN Decoder在数值已离散化的Zq上进行解码,即得到与原有图像相近似的图片。
Codebook的本质是将所有图像的特征归纳成N个最典型的特征,其包含了所有的表征,每一行都代表了每个特征的数据。
现有技术中,Codebook中有很多行,每行有一个索引(也可称为行号),每行索引都有对应的图像表征,每行的图像表征与图像每个图像块的向量的维度相同。
参照图2所示的例子,现有技术中图像矢量量化编码过程如下:
将图像中每个图像块的原始表征向量,在图2中仅示意出第1-3图像块的原始特征向量(图像表征),比如第1个图像块的表征即:0.124、0.536和0.298,第2个图像块的表征向量为0.687、0.091和0.383,以及第3个块的表征向量为0.305,0.806和0.799,通过Codebook查表,找到Codebook里面的近似图像表征所在的行,将这个行的位置即索引(行号),来替代每个图像块的原始表征向量,那么就将一个3*3的矩阵,变成了三个数,即形成n-3,0,n-2的序列,信息量大大减小。
(0.124、0.536和0.298)对应Codebook索引为n-3的行。
(0.687、0.091和0.383)对应Codebook索引为0的行;
(0.305,0.806和0.799)对应Codebook索引为n-2的行。
编码过程中,找与图像块的表征向量最像的那一行,比如第一个图像块的原始表征向量为:0.124、0.536和0.298,最相似的是右边Codebook的索引为n-3的行。
经过上述编码,每一图像块都与Codebook中的一个索引对应,假设一个图切成16个图像块,那么每个图像块都会用Codebook中的索引来代替。最后得到编码的结果例如如下:
12 23 56 78
34 67 67 57
45 10 22 34
90 29 30 31
现有技术在上述矢量量化编码的过程中,对于图像的每个图像块,都需要遍历现有技术中码书中的每一行,分别与这一行的图像表征,与该图像块的特征向量进行相似度计算例如欧式距离的计算,而此过程中,Codebook的查找过程非常吃力,每个图像块,都需要跟Codebook的每一行求欧式距离,单次欧式距离计算需要将涉及到几千维度乘以几千维度,并且需要把遍历整个表,将所有结果计算出来之后,再从结果中找出距离最近也就是最相似的,也即找到对应的索引(行号),作为最终这个图像块的编码。而Codebook也通常有上万行甚至更多的数据,在训练过程中,每张图像都需要先进行矢量量化编码的过程,这样其训练的过程计算量会很大,速度会非常慢,甚至达到难以接受的程度。
基于上述研发中发现的此问题,本发明的发明人一直考虑,如何在满足编码准确性的同时,对码书以及上述训练过程中图像矢量量化编码的过程进行改进,以降低计算量并提高计算速度,提升模型训练效率。从上述角度出发,本发明实施例提供了一种图像矢量量化编码、文图模型训练及使用方法和装置。
本发明实施例提供的一种图像矢量量化编码的方法,参照图3所示,包括:
S31、将图像输入编码器进行编码,得到所述图像包含的各图像块对应的中间特征向量;
S32、针对图像中各图像块对应的中间特征向量,在第一码书中查找与所述中间特征向量最接近的图像表征的索引;该第一码书包含多行图像表征及对应的索引,且在第一码书中相近似的所述图像表征其对应的索引所在位置也邻近;
S33、将查找到的索引替换所述图像中各图像块的中间特征向量,得到所述图像中各图像块对应的矢量量化的编码。
在本发明实施例中,为了与现有技术中的码书进行区分,为了方便说明,将本发明实施例改进后的码书称为第一码书,将现有技术中的码书称为第二码书。
上述步骤S31中,图像预先会进行切块处理,得到若干图像块。例如图4所示的例子中,图像被分为编号为0-15的图像块,编码器会输出每个图像块的中间特征向量。
本发明的发明人进一步发现,在对图像进行切块的过程中,相邻的图像块之间往往很相似,换言之,先编码编号为0的图像块(即第1个图像块),那么,编号为1的图像块较其他图像块,会离编号为0的图像块距离更近一点,以此类推,编号为3的图像块与其他图像块相比,又会离编号为2的图像块距离更近一点,编号为7的图像块与其他图像块相比,又会与编码为3的图像距离更近一点,为了方便查找,提高查找效率,较优的图像矢量量化编码的顺序依次可以为:0-1-2-3-7-6-5-4-8-9-10-11-15-14-13-12。
那么,相对应地,如果码书codebook距离相近的行(也就是相似的行)位置也邻近的话,比如编号为0的图像块,按照欧式距离计算最近的行所匹配的索引(行号)是56,那么,第二个图像块(编号为1的图像块)对应的codebook的索引号应该是与56那一行非常相似(欧式距离很近)的那一行的索引,如果搜索的范围中都是与索引为56这一行很相似的行(欧式距离较小),那么搜索最接近的那一行的命中的概率会大大提高,查找的范围可以不再是整个Codebook,而是Codebook的很小的范围内即可命中,在小范围大概率命中的情况下,计算会变的很方便,查找效率大大提高,不需要再去搜索和计算其他的行了,这样可以大大节省计算量,编码速度也会提高,效率也会提升,对计算资源的消耗也会降低。
基于上述原因,对现有技术中的第二码书进行了改进。在本发明实施例提供的上述图像矢量量化编码的方法中,第一码书与现有技术中的第二码书不同,现有技术中的码书(即第二码书),其不同行并不依据彼此的相似度进行排序,而在本发明实施例提供的图像矢量量化编码的方法中,第一码书包含相似的多个图像表征,其对应的索引所在位置也是邻近的,这样,在第一码书内查找与待编码的图像块的中间特征向量对应的索引时,可在相对较小的范围内查找即可命中最接近的图像表征的索引,可大大节省计算量,提高编码速度,提高模型训练的整体效率,同时也降低了对计算资源的消耗。
在一个实施例中,参照图5所示,第一码书可以预先通过下述方式得到:
S51、对原始的第二码书中的图像编码数据进行归一化,得到对应的图像表征;
S52、对各索引的图像表征之间的相似度进行计算,得到用以表征相似程度大小的相似度值;
用以表征相似程度大小的相似度值的计算方式可以有多种,例如计算各索引的图像表征之间的欧式距离,将欧式距离作为表示相似程度大小的相似度值;或者,计算各索引的图像表征之间的余弦相似度,得到用以表示相似程度大小的余弦相似度值。对于欧式距离来说,数值越小则代表两者距离越近,相似度越高,对于余弦相似度值来说,数值越大则代表两者距离越近,相似度越高。
S53、根据各索引的图像表征之间的相似度值,依次将各图像表征映射到希尔伯特曲线上;
S54、按照各图像表征在希尔伯特曲线上的先后顺序,对图像表征重新排序,并根据重新排序后的位置顺序,更新各图像表征对应的索引,得到第一码书。
希尔伯特(Hilbert)曲线是一种能填充满一个平面正方形的分形曲线(空间填充曲线),由大卫·希尔伯特在1891年提出。希尔伯特曲线是一种特殊的曲线,只要恰当选择函数,画出一条连续的参数曲线,当参数t在0,1区间取值时,曲线将遍历单位正方形中所有的点,得到一条充满空间的曲线。希尔伯特曲线的例子可参照图6所示,希尔伯特曲线构造方法同样可参照图6所示:取一个正方形并且把它分出4个相等的小正方形,然后从左下角的正方形开始至右上角的正方形结束,依次把小正方形的中心点用线段连接起来;下一步把每个小正方形再细分成4个相等的正方形(此时会变成16个小正方形),然后上述方式把其中中心点连接起来……将这种操作手续无限进行下去,最终得到的极限情况的曲线就可以填满整个平面。每次连接中心点的顺序都是将距离最近的两个点连接起来。
本发明实施例利用了Hilbert曲线的原理,将其运用到图像矢量量化编码过程中,可以将Codebook高维空间下的表征压缩成一个曲线从而进行编码,完成Codebook的重排序。
从Hilbert曲线的原理出发,可以实现不管空间有多大,都可以用一根线把空间内所有的点都串起来,并且可以保证每个节点都是跟它的邻居是最接近的(即两个节点向量之间的欧式距离最近的)。将满足这样条件的点依次连接起来,最终可得到Hilbert曲线。
具体来说,上述重排序的过程例如可按照下述方式实现:
从各图像表征中任意选择一个图像表征,将其映射至希尔伯特曲线上第一个节点的位置;
针对第一节点的位置的图像表征,计算第一节点位置的图像表征与除了已映射至希尔伯特曲线上的图像表征之外的所有图像表征之间的相似度值;根据相似度值选择最相似的图像表征映射至希尔伯特曲线的第二个节点的位置;
以此类推,计算每个当前节点的图像表征与除了已映射至希尔伯特曲线上的图像表征之外的所有图像表征之间相似度并排序,确定下一个节点位置的图像表征并映射,直至将所有图像表征都依次映射至希尔伯特曲线上。
举例来说,随机选取第二码书中的某一行作为起始的第一个节点,将该行映射至希尔伯特曲线的第一个点,然后计算该行的图像表征与其他所有行的图像表征的欧式距离,找出其中最接近的行,映射至希尔伯特的第二个节点,对于第三个节点,则继续从剩下的行(除了已映射的第一节点和第二节点对应的行之外)中,计算与第二个节点的图像表征最接近的那个行,将该行的图像表征映射到第三个节点,依次类推,直到第二码书中所有的图像表征都已经映射到了希尔伯特曲线上,此时,更新后码书的各行的顺序,即映射到希尔伯特曲线上第一个节点至最后一个节点的顺序,并且,各行的索引,也可以根据其在希尔伯特曲线上的先后顺序,也可以重新编写。例如对图像表征的索引进行编号,使得重新编号的索引,与所述节点位置的先后顺序对应。
基于前面的操作,经过重排序得到的第一码书中,相近似的图像表征及对应的索引,在排序位置上也邻近,为了进一步地压缩第一码书所占空间大小,提高计算搜索和编码的速度,本发明实施例还可以按照下述方式对第一码书进行压缩:
按照重新排序后的位置顺序,以及预设的合并数量,依次从各图像表征中选取对应数量的行的图像表征数据进行合并计算,得到对应数量的图像表征数据合并后的图像表征数据;
根据合并后的图像表征数据的先后顺序,对合并后的图像表征数据的索引重新编号。
例如图7所示的第一码书压缩的例子,每3行进行合并计算,将3行合并成一行,如此,压缩后的第一码书的数据量为未压缩之前的三分之一。从图7可以看出,索引为0、1和3的行被合并为新的索引为0的行,其图像表征的数据,例如为这3行图像表征的平均值。
本发明实施例并不限定具体将多少数量的行进行合并计算,可根据计算量大小、图像编码的效果综合确定,合并的行的数量越多,则数据压缩量更大,计算速度更快,但编码的损失也相应更多,可在这两种因素间平衡确定。
上述合并计算也可以有多种,例如计算多个行对应图像表征的平均值等等,本发明实施例并不做限定。
对Codebook进行压缩后,从第一CodeBook的存储的角度来看,压缩后的第一CodeBook也可以大幅降低GPU的空间占用量。
还是以前述图2所示的图像矢量量化编码过程相对照为例,参照图8所示,按照本发明实施例提供的图像矢量量化编码的方法,第1个图像块的表征即:0.124、0.536和0.298,第2个图像块的表征向量为0.687、0.091和0.383,以及第3个块的表征向量为0.305,0.806和0.799,通过在第一码书中搜索发现,与第1个图像块最接近的行的索引为n-3,与第2个图像块最接近的行的索引为n-1,与第3个图像块最接近的行的索引为n-2。依次将n-3、n-1和n-2作为第1个图像块、第2个图像块和第3个图像块的图像矢量量化编码结果。
由于n-1、n-2和n-3位置邻近,在较短的时间内,使用第一码书进行搜索,就可以搜索到与图像块最接近的行,因此可大大提高图像矢量量化编码的效率。
基于相同的发明构思,本发明实施例还提供了一种文图生成模型的训练方法,该方法包括下述步骤:
S91、对输入的图像进行矢量量化的编码;
S92、利用所述图像的矢量量化的编码,对文图生成模型进行训练;
上述对输入的图像进行矢量量化的编码的步骤,是利用前述图像矢量化编码的方法得到的。
文图生成模型的训练框架中,需要利用图像矢量量化的编码,再将解码后得到的图像,与原始图像比较,根据两者的差异,对编码器、解码器等进行训练,然后再利用训练好的编码器和解码器,对文图生成模型中transformer模块进行训练,以便transformer模块能够根据先预测的code,预测下一个code,一步步地通过已经预测好的code去推断下一个code,最终作为文图生成模型最重要的部分,能够输出矢量量化的编码,以便解码成对应的图像。该过程可参照现有VQVAE、VQGAN的训练框架和训练过程,在此不再详述。
本发明实施例还提供了一种根据文本输出图像的方法,包括下述步骤:
S101、向预先训练好的文图生成模型输入文本;
S102、接收文图生成模型输出的图像;
上述文图生成模型是按照如前述的文图生成模型的训练方法得到的。
基于同一发明构思,本发明实施例还提供了一种文图生成模型的训练装置以及根据文本输出图像的装置,由于这些装置所解决问题的原理与前述图像矢量量化编码的方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例还提供了一种图像矢量化编码的装置,参照图9所示,包括:
中间特征向量编码模块91,用于将图像输入编码器进行编码,得到所述图像包含的各图像块对应的中间特征向量;
查找模块92,用于针对图像中各图像块对应的中间特征向量,在第一码书中查找与所述中间特征向量最接近的图像表征的索引;所述第一码书包含多个图像表征及对应的索引,且在第一码书中相近似的所述图像表征其对应的索引所在位置也邻近;
替换模块93,用于将查找到的索引替换所述图像中各图像块的中间特征向量,得到所述图像中各图像块对应的矢量量化的编码。
本发明实施例提供了一种文图生成模型的训练装置,参照图10所示,包括:
编码模块101,用于对输入的图像进行矢量量化的编码;
训练模块102,利用所述图像的矢量量化的编码,对文图生成模型进行训练;
对输入的图像进行矢量量化的编码的步骤,是利用如前述的图像矢量化编码的方法得到的。
本发明实施例提供了一种根据文本输出图像的装置,参照图11所示,包括:
输入模块111,用于向预先训练好的文图生成模型输入文本;
图像接收模块112,用于接收所述文图生成模型输出的图像;
所述文图生成模型是按照如前述的文图生成模型的训练方法得到的。
本发明实施例还提供了一种计算设备,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的图像矢量量化编码的方法,或实现前述的文图生成模型的训练方法,或实现如前述的根据文本输出图像的方法。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实现前述的图像矢量量化编码的方法,或实现前述的文图生成模型的训练方法,或实现如前述的根据文本输出图像的方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现前述的图像矢量量化编码的方法,或实现前述的文图生成模型的训练方法,或实现如前述的根据文本输出图像的方法。
关于上述实施例中的图像矢量化编码的装置、文图生成模型的训练装置装置,根据文本输出图像的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种图像矢量量化编码的方法,其特征在于,包括:
将图像输入编码器进行编码,得到所述图像包含的各图像块对应的中间特征向量;
针对图像中各图像块对应的中间特征向量,在第一码书中查找与所述中间特征向量最接近的图像表征的索引;所述第一码书包含多行图像表征及对应的索引,且在第一码书中相近似的所述图像表征其对应的索引所在位置也邻近;
将查找到的索引替换所述图像中各图像块的中间特征向量,得到所述图像中各图像块对应的矢量量化的编码。
2.如权利要求1所述的方法,其特征在于,第一码书预先通过下述方式得到:
对原始的第二码书中的图像编码数据进行归一化,得到对应的图像表征;
对各索引的图像表征之间的相似度进行计算,得到用以表征相似程度大小的相似度值;
根据各索引的图像表征之间的相似度值,依次将各图像表征映射到希尔伯特曲线上;
按照所述各图像表征在希尔伯特曲线上的先后顺序,对所述图像表征重新排序,并根据重新排序后的位置顺序,更新各图像表征对应的索引,得到第一码书。
3.如权利要求2所述的方法,其特征在于,根据各索引的图像表征之间的相似度值,依次将各图像表征映射到希尔伯特曲线上,包括:
从所述各图像表征中任意选择一个图像表征,将其映射至希尔伯特曲线上第一个节点的位置;
针对第一节点的位置的图像表征,计算所述第一节点位置的图像表征与除了已映射至希尔伯特曲线上的图像表征之外的所有图像表征之间的相似度值;根据相似度值选择最相似的图像表征映射至希尔伯特曲线的第二个节点的位置;
以此类推,计算每个当前节点的图像表征与除了已映射至希尔伯特曲线上的图像表征之外的所有图像表征之间相似度并排序,确定下一个节点位置的图像表征并映射,直至将所有图像表征都依次映射至所述希尔伯特曲线上。
4.如权利要求3所述的方法,其特征在于,更新各图像表征对应的索引,包括:
根据各图像表征映射至所述希尔伯特曲线上的节点位置的先后顺序,重新对各图像表征的索引进行编号,使得重新编号的索引,与所述节点位置的先后顺序对应。
5.如权利要求2所述的方法,其特征在于,按照所述各图像表征在希尔伯特曲线上的先后顺序,对所述图像表征重新排序,并根据重新排序后的位置顺序,更新各图像表征对应的索引的步骤之后,还包括:
按照重新排序后的位置顺序,以及预设的合并数量,依次从所述各图像表征中选取对应数量的行的图像表征数据进行合并计算,得到所述对应数量的图像表征数据合并后的图像表征数据;
根据合并后的图像表征数据的先后顺序,对合并后的图像表征数据的索引重新编号。
6.如权利要求2-5任一项所述的方法,其特征在于,对各索引的图像表征之间的相似度进行计算,得到用以表示相似程度大小的相似度值,包括:
计算各索引的图像表征之间的欧式距离,将所述欧式距离作为表示相似程度大小的相似度值;或
计算各索引的图像表征之间的余弦相似度,得到用以表示相似程度大小的余弦相似度值。
7.一种文图生成模型的训练方法,其特征在于,包括:
对输入的图像进行矢量量化的编码;
利用所述图像的矢量量化的编码,对文图生成模型进行训练;
对输入的图像进行矢量量化的编码的步骤,是利用如权利要求1-6任一项所述的图像矢量化编码的方法得到的。
8.一种根据文本输出图像的方法,其特征在于,包括:
向预先训练好的文图生成模型输入文本;
接收所述文图生成模型输出的图像;
所述文图生成模型是按照如权利要求7所述的文图生成模型的训练方法得到的。
9.一种计算设备,其特征在于,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-6任一项所述的图像矢量量化编码的方法,或实现权利要求7所述的文图生成模型的训练方法,或实现权利要求8所述的根据文本输出图像的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的图像矢量量化编码的方法,或实现权利要求7所述的文图生成模型的训练方法,或实现权利要求8所述的根据文本输出图像的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的图像矢量量化编码的方法,或实现权利要求7所述的文图生成模型的训练方法,或实现权利要求8所述的根据文本输出图像的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310299709.5A CN116489391A (zh) | 2023-03-20 | 2023-03-20 | 图像矢量量化编码、文图模型训练及使用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310299709.5A CN116489391A (zh) | 2023-03-20 | 2023-03-20 | 图像矢量量化编码、文图模型训练及使用方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116489391A true CN116489391A (zh) | 2023-07-25 |
Family
ID=87224209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310299709.5A Pending CN116489391A (zh) | 2023-03-20 | 2023-03-20 | 图像矢量量化编码、文图模型训练及使用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116489391A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975174A (zh) * | 2024-04-02 | 2024-05-03 | 西南石油大学 | 一种基于改进vqgan的三维数字岩心重构方法 |
-
2023
- 2023-03-20 CN CN202310299709.5A patent/CN116489391A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975174A (zh) * | 2024-04-02 | 2024-05-03 | 西南石油大学 | 一种基于改进vqgan的三维数字岩心重构方法 |
CN117975174B (zh) * | 2024-04-02 | 2024-06-04 | 西南石油大学 | 一种基于改进vqgan的三维数字岩心重构方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025773B2 (en) | System and method for natural language processing using synthetic text | |
US11177823B2 (en) | Data compression by local entropy encoding | |
CN110909801B (zh) | 基于卷积神经网络的数据分类方法、系统、介质及设备 | |
CN112732864B (zh) | 一种基于稠密伪查询向量表示的文档检索方法 | |
CN113055017A (zh) | 数据压缩方法及计算设备 | |
CN118521659A (zh) | 使用细分缩放和深度上缩放的图像生成 | |
CN112000772A (zh) | 面向智能问答基于语义特征立方体的句子对语义匹配方法 | |
CN116469100A (zh) | 一种基于Transformer的双波段图像语义分割方法 | |
CN116489391A (zh) | 图像矢量量化编码、文图模型训练及使用方法和装置 | |
CN116600119B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
CN111553471A (zh) | 一种数据分析处理方法及装置 | |
CN114697654A (zh) | 一种神经网络量化压缩方法及系统 | |
Qi et al. | Learning low resource consumption cnn through pruning and quantization | |
CN117634459B (zh) | 目标内容生成及模型训练方法、装置、系统、设备及介质 | |
CN114049501A (zh) | 融合集束搜索的图像描述生成方法、系统、介质及设备 | |
CN116629328A (zh) | 基于知识蒸馏和量化的预训练模型压缩方法及系统 | |
CN115082840B (zh) | 基于数据组合和通道相关性的动作视频分类方法和装置 | |
Wang et al. | Balancing memory-accessing and computing over sparse DNN accelerator via efficient data packaging | |
CN114925658B (zh) | 开放性文本生成方法以及存储介质 | |
CN112612762B (zh) | 数据处理方法及相关设备 | |
KR20240064698A (ko) | 특징 맵 인코딩 및 디코딩 방법 및 장치 | |
CN113554719B (zh) | 一种图像编码方法、解码方法、存储介质及终端设备 | |
CN114973224A (zh) | 一种文字识别方法、装置、电子设备及存储介质 | |
US10559093B2 (en) | Selecting encoding options | |
CN112329924A (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 |