基于神经网络的图像编码方法、系统、终端及存储介质与流程

文档序号:17898233发布日期:2019-06-13 16:09阅读:117来源:国知局
基于神经网络的图像编码方法、系统、终端及存储介质与流程

本发明实施例涉及图像编码领域,特别涉及一种基于神经网络的图像编码方法、系统、终端及存储介质。



背景技术:

图像编码技术是一种在满足一定质量要求的情况下,采用较少比特数来表示图像或图像中所包含信息的技术。现有的图像编码技术基本分为哈夫曼编码、预测编码、变换编码和方块编码等。哈夫曼编码对图像数据进行扫描,计算各种像素出现的概率,按概率大小指定出该图像的哈夫曼编码表;预测编码通过对像素灰度值求差,实现对图像数据的压缩;变换编码通过将原来在空域描述的图像信号变换到正交空间去编码,实现对图像编码比特率的压缩;方块编码将图像分为nxn的子像块,选用适当的亮度来近似代表块内像素原亮度,属于静态图像编码的一种。

然而发明人发现相关技术中至少存在如下问题:传统的图像编码技术通常是采用诸如概率、压缩、信息变换等数学方法对图像进行编码,这些编码方式易造成原图像中包含的内容信息丢失的情况。



技术实现要素:

本发明实施方式的目的在于提供一种基于神经网络的图像编码方法、系统、终端及介质,在编码后完整的保存了图像的内容信息,有效避免了编码造成的图像内容信息损失。

为解决上述技术问题,本发明的实施方式提供了一种基于神经网络的图像编码方法,包括:预先通过多个图像内容信息及图像内容信息对应的编码数据训练神经网络;基于训练的神经网络分析待编码图像,获取待编码图像的图像内容信息对应的编码数据;将获取的编码数据作为待编码图像编码后的图像数据。

本发明的实施方式还提供了一种基于神经网络的图像编码系统,包括:训练模块,图像内容信息分析模块,获取模块,图像编码模块;训练模块用于通过多个图像内容信息及图像内容信息对应的编码数据训练神经网络;图像内容信息分析模块用于基于神经网络算法分析待编码图像;获取模块用于根据分析模块的分析结果,获取待编码图像的图像内容信息对应的编码数据;图像编码模块用于将获取的编码数据作为待编码图像编码后的图像数据。

本发明的实施方式还提供了一种电子终端,其特征在于,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述电子终端执行上述基于神经网络的图像编码方法。

本发明的实施方式还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于神经网络的图像编码方法。

本发明实施方式相对于现有技术而言,预先通过多个图像内容信息及图像内容信息对应的编码数据训练神经网络,基于所训练的神经网络分析编码图像,从而获取待编码图像的图像内容信息对应的编码数据,将获取的编码数据作为待编码图像编码后的图像数据。这样进行编码得到的编码后的图像数据与图像内容信息相对应,对图像内容信息并无压缩等导致图像内容信息丢失的操作,通过图像数据即可准确的了解图像中的图像内容信息,即完整的保存了图像的内容信息,有效的避免了编码造成的图像内容信息的损失。

另外,待编码图像包括n种类型的图像内容信息;训练的神经网络,至少包括:n个神经网络模型,n个神经网络模型与n种类型一一对应;神经网络模型用于将识别的图像内容信息转化为对应的编码数据;基于训练的神经网络分析待编码图像,获取待编码图像的图像内容信息对应的编码数据,具体包括:分析图像内容信息类型;将分析的图像内容信息输入相应类型的神经网络模型,获取图像内容信息对应的编码数据。将不同的图像内容信息均转化为编码数据,可以在编码后的图像数据中包含多个不同类型的图像内容信息,使编码后的图像数据中的内容更加丰富,提高检索的效率。另一方面,通过不同的模型转化不同类型的图像内容信息,对图像内容信息的识别更加准确,从而提高了编码的正确性。

另外,待编码图像编码后的图像数据,还包括:代表图像内容信息类型的数据。编码后的图像数据中包含图像内容信息类型的数据信息,可以在检索时通过该数据信息,检索到与所述类型信息相似的多个图片,从而方便用户按图片内容信息类型进行检索。

另外,代表图像内容信息类型的数据,具体为:标识符。这样做可以更加直观的查找出图片内容信息的类型,提高了用户通过编码进行检索的检索效率。

另外,在将获取的编码数据作为待编码图像编码后的图像数据之后,还包括:在接收到检索指令时,根据检索指令对待编码图像编码后的图像数据进行检索;检索指令至少包括:编码数据。这样做可以对图像内容信息进行检索,并且检索出该图像内容信息相关的图片,从而方便用户挑选合适的图像。另一方面,通过图像内容信息检索,可以针对图像特征进行检索,从而降低了检索所需的时间,提高了检索效率。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式中的基于神经网络的图像编码方法流程图;

图2是根据本发明第二实施方式中的基于神经网络的图像编码方法流程图;

图3是根据本发明第二实施方式中的神经网络工作示意图;

图4是根据本发明第三实施方式中的基于神经网络的图像编码方法流程图;

图5是根据本发明第四实施方式中的基于神经网络的图像编码系统结构示意图;

图6是根据本发明第六实施方式中的终端结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本发明的第一实施方式涉及一种基于神经网络的图像编码方法,包括:通过多个图像内容信息及图像内容信息对应的编码数据训练神经网络;基于训练的神经网络分析待编码图像,获取待编码图像的图像内容信息对应的编码数据;将获取的编码数据作为待编码图像编码后的图像数据,在编码后完整的保存了图像的内容信息,有效避免了编码造成的图像内容信息损失。下面对本实施方式的基于神经网络的图像编码方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。具体流程如图1所示。

步骤101,训练神经网络。具体地说,神经网络包括多个神经元,每个神经元可以代表一个函数,神经网络由多个神经元彼此连接,一个神经元的输出是另一个神经元的输入。通过多个图像内容信息,及图像内容信息对应的编码数据训练神经网络模型,使训练后的神经网络在输入待编码图像时,可以分析得到多个图像内容信息,将得到的图像内容信息作为另一神经元的输入,得到图像内容信息对应的编码数据。通过训练神经网络可以得到较为稳定的神经网络模型,从而得到准确的输出结果。

步骤102,基于训练的神经网络分析待编码图像,获取待编码图像的图像内容信息对应的编码数据。具体地说,在训练的神经网络中输入待编码图像,神经网络将待编码图像分析得到多个图像内容信息,并将分析得到的多个图像内容信息再次输入到其他神经元,从而得到图像内容信息对应的编码数据,该编码数据得到的具体方式为:神经网络预先将已知的图像内容信息进行编号,从0001开始编号,0002,0003,依次类推,将待编码图像的图像内容信息与已知已编号的图像内容信息相比较,计算匹配概率,例如,待编码图像的图像内容信息与0001的匹配概率为70%,与0003的匹配概率为0.5%,与0052的匹配概率为0.01%,等等,选择匹配概率最高的编号作为该图像内容信息的编码数据。

步骤103,将获取的编码数据作为待编码图像编码后的图像数据。具体地说,待编码图像中可以分析得到多个图像内容信息,将多个图像内容信息对应的编码数据组合,作为待编码图像编码后的图像数据。

本发明实施方式相对于现有技术而言,通过多个图像内容信息及图像内容信息对应的编码数据训练神经网络,基于所训练的神经网络分析编码图像,从而获取待编码图像的图像内容信息对应的编码数据,将获取的编码数据作为待编码图像编码后的图像数据。这样进行编码得到的编码后的图像数据与图像内容信息相对应,对图像内容信息并无压缩等导致图像内容信息丢失的操作,通过图像数据即可准确的了解图像中的图像内容信息,即完整的保存了图像的内容信息,有效的避免了编码造成的图像内容信息的损失。

本发明的第二实施方式涉及一种基于神经网络的图像编码方法。第二实施方式对第一实施方式进行改进,改进之处在于:在第二实施方式中,待编码图像包括n种类型的图像内容信息,训练的神经网络至少包括n个神经网络模型,具体流程图如图2所示。

步骤201,训练n个神经网络模型。具体地说,所述n个神经网络模型至少包括以下之一或其任意组合:场景识别模块,用于生成图像场景信息的编码数据;目标检测模块,用于生成图像中的目标对象信息的编码数据;行为识别模块,用于生成图像中的行为对象的行为信息的编码数据;图片像素判别模块,用于生成图像规格信息的编码数据;和自编码器模块,用于生成图像自编码信息的编码数据。通过不同类型的图像内容信息对不同类型的神经网络模型进行训练,比如,训练用于场景识别的神经网络模型时,使用表示场景信息的图像内容信息,及图像内容信息对应的编码数据。这样做以特定的数据训练特定类型的图像内容信息模型,可以提高模型输出的准确性。

步骤202,分析图像内容信息类型。具体地说,在输入待编码图像后,对待编码图像进行分析,得出上述神经网络模型识别类型的图像内容信息,将分析得到的图像内容信息按类型分类,将不同类型的信息输入不同神经网络模型,提高编码数据的转化效率,节省编码时间。

步骤203,将分析的图像内容信息输入相应类型的神经网络模型。

步骤204,获取图像内容信息对应的编码数据。

步骤205,将获取的编码数据作为待编码图像编码后的图像数据。

具体地说,当输入图像至神经网络后,神经网络包括的各类型对应的神经网络模型分别对输入的图像输出一串编码,将各模块输出的编码组合起来,即得到对输入图像的编码结果。

下面对各类型的神经网络模型的训练及输出编码数据进行具体的解释,以下模块代表神经网络模型。

场景识别模块,是一个经过训练的图像识别卷积神经网络,用于检测图像中出现的是何种场景。在训练场景识别模块时,构建场景识别目标库,目标库里包含各种不同的场景,每种场景对应有一个编码,编码范围从0001—9999。例如,体育场场景的编码为0001,游泳馆场景的编码为0002,森林场景的编码为0003,草原场景的编码为0004,ktv场景的编码为0052,健身房场景的编码为0053,等;构建目标库后,根据深度学习算法对场景识别模块进行训练。当输入训练图像至场景识别模块后,场景识别模块会输出多个结果,结果具体为训练图像中出现的场景和训练图像中出现的场景的概率,将概率最高的场景作为训练图像中出现的场景。在实际进行图像编码时例如,当输入一张足球比赛的图像至图像编码模型后,场景识别模块对足球比赛的图像中出现的场景进行计算,得到:体育场70%,游泳馆0.5%,森林1.0%,草原0.9%,ktv0.1%,健身房0.01%等,则将概率最高的体育场作为该足球比赛的图像中出现的场景;获取到体育场对应的编码为0001,加上场景符@,则得到场景识别模块输出的编码为@0001。

目标检测模块,是一个经过训练的目标检测卷积神经网络,用于检测图像中出现的各类目标物体。在训练目标检测模块时,构建目标检测目标库,目标库里包含各种已知目标,每种目标对应有一个编码,编码范围从0001—9999。例如,人的编码为0001,猫的编码为0002,汽车的编码为0003,飞机的编码为0004,足球的编码为0051等;构建目标库后,根据深度学习算法对目标检测模块进行训练。当输入训练图像至目标检测模块后,目标检测模块会输出训练图像中的目标和目标个数,将目标和目标个数作为训练图像中出现的各类目标物体。在实际进行图像编码时例如,当输入一张足球比赛的图像至图像编码模型后,目标检测模块对足球比赛的图像中出现的各类目标物体进行识别,得到图像中有3个人和1个足球,则获取到人对应的编码为0001,加上目标符&;人的数量为3个,加上目标个数符#;获取到足球对应的编码为0051,加上目标符&;足球的数量为1个,加上目标个数符#,则得到目标检测模块输出的编码为&0001#3&0051#1。

行为识别模块,是一个经过训练的图像识别卷积神经网络,用于检测图像中出现的动物或人物的行为。在训练行为识别模块时,构建行为识别目标库,目标库里包含各种不同的动物或人物的行为,每种行为对应有一个编码,编码范围从0001—9999。例如,聊天行为的编码为0001,打架行为的编码为0002,拥抱行为的编码为0003,运动行为的编码为0023,等;构建目标库后,根据深度学习算法对目标检测别模块进行训练。当输入训练图像至场景识别模块后,场景识别模块会输出多个结果,结果具体为训练图像中出现的动物或人物的行为和训练图像中出现的行为的概率,将概率最高的行为作为训练图像中出现的动物或人物的行为。在实际进行图像编码时例如,当输入一张足球比赛的图像至图像编码模型后,目标检测模块对足球比赛的图像中的可识别目标进行计算,得到足球比赛的图像中正在发生的行为为“运动”(即“运动”行为的概率是100%)则将“运动”作为该足球比赛的图像中出现的行为;获取到运动行为对应的编码为0023,加上场景符!,则得到目标检测模块输出的编码为!0023。

需要说明的是,上述场景识别模块、目标检测模块和行为识别模块都是在构建的目标库的基础上进行计算和输出,当输入的图像包含的场景、目标或行为等未在构建的目标库中对应有编码时,上述场景识别模块、目标检测模块或行为识别模块不会对上述场景、目标或行为等进行输出。

图片像素判别模块,属于现有技术,用于获取图像的宽高和平均像素值。当输入一张宽度为500,高度为300的图像至图像编码模型后,图片像素判别模块用宽度符*w和高度符*h对图像的宽高进行编码,同时对输入图像的所有像素求平均值为125.41,加上平均像素符$,则得到图片像素判别模块输出的编码为*w500*h300$125.41。

自编码器模块,是一个经过训练的图片编码神经网络,用于直接对输入进行编码,复现输入作为输出,输出用于表现对输入的复原能力,如果自编码器模块的编码效果好,则说明输出的损失小,质量好。例如,当输入一张图像至图片编码模型后,自编码器模块对输入图像进行编码,根据输入图像所包含的数据量的大小可选择输出5~20个数字串(如:0.2545145794,-2.5428478264,0.9854856879,……,-8.5242531578)加上自编码符%;如果输出的数字串为负数,则在自编码符%后加上负号符^;将输出的数字串依次排序好,得到自编码器模块输出的编码(如:%0.2545145794%^-2.5428478264%0.9854856879……%^8.5242531578)。

在实际应用中图像编码流程图如图3所示,将输入的待编码图像按照图像内容信息类型不同,分别将图片内容信息输入不同的识别模块,识别模块即神经网络模型将输入的信息转化为不同的编码数据输出,最后将所有模块的输出数据组合成为待编码图像编码后的图像数据。

在本实施方式中,将不同的图像内容信息均转化为编码数据,可以在编码后的图像数据中包含多个不同类型的图像内容信息,使编码后的图像数据中的内容更加丰富。另一方面,通过不同的模型转化不同类型的图像内容信息,对图像内容信息的识别更加准确,从而提高了编码的正确性。

本发明的第三实施方式涉及一种基于神经网络的图像编码方法。第三实施方式对第二实施方式进行改进,改进之处在于:在接收到检索指令时,根据检索指令对待编码图像编码后的图像数据进行检索。具体流程如图4所示。

步骤401,训练n个神经网络模型。

步骤402,分析图像内容信息类型。

步骤403,将分析的图像内容信息输入相应类型的神经网络模型。

步骤404,获取图像内容信息对应的编码数据。

步骤405,将获取的编码数据作为待编码图像编码后的图像数据。

步骤401至405与第二实施方式中的201至205一致,在此不再赘述。

步骤406,在接收到检索指令时,对待编码图像编码后的图像数据进行检索。具体地说,检索指令至少包括:图像内容信息检索。用户可以对图像内容信息进行检索,通过图像的特征,检索到相似的多个图像,从而方便用户获取所需的图像。例如,当用户想要检索体育场的图片时,通过场景信息代表体育场的编码@0001进行检索,检索结果为体育场的一系列相似图片,大大减少了用户对图像的检索时间,提高了检索效率。

在本实施方式中,对图像内容信息进行检索,并且检索出该图像内容信息相关的图片,从而方便用户挑选合适的图像。另一方面,通过图像内容信息检索,可以针对图像特征进行检索,从而降低了检索所需的时间,提高了检索效率。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第四实施方式涉及一种基于神经网络的图像编码系统,如图5所示,包括:训练模块51,图像内容信息分析模块52,获取模块53,图像编码模块54;训练模块51用于通过多个图像内容信息及图像内容信息对应的编码数据训练神经网络;图像内容信息分析模块52用于基于神经网络算法分析待编码图像;获取模块53用于根据分析模块的分析结果,获取待编码图像的图像内容信息对应的编码数据;图像编码模块54用于将获取的编码数据作为待编码图像编码后的图像数据。

本实施方式编码得到的编码后的图像数据与图像内容信息相对应,对图像内容信息并无压缩等导致图像内容信息丢失的操作,通过图像数据即可准确的了解图像中的图像内容信息,即完整的保存了图像的内容信息,有效的避免了编码造成的图像内容信息的损失。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第五实施方式涉及一种基于神经网络的图像编码系统。第五实施方式对第四实施方式进行改进,改进之处在于:在第五实施方式中,图像内容信息分析模块至少包括:场景信息模块、目标对象信息模块、行为信息模块、图像规格信息模块或图像自编码信息模块;场景信息模块用于识别待编码图像中的图像场景信息;目标对象信息模块用于识别待编码图像中的图像中的目标对象信息;行为信息模块用于识别待编码图像中的图像中的行为对象的行为信息;图像规格信息模块用于识别待编码图像中的图像规格信息;图像自编码信息模块用于识别待编码图像中的图像自编码信息。

在本实施方式中,将不同的图像内容信息均转化为编码数据,可以在编码后的图像数据中包含多个不同类型的图像内容信息,使编码后的图像数据中的内容更加丰富。另一方面,通过不同的模型转化不同类型的图像内容信息,对图像内容信息的识别更加准确,从而提高了编码的正确性。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本发明第六实施方式涉及一种终端,如图6所示,包括至少一个处理器601;以及,与至少一个处理器601通信连接的存储器602;其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行上述基于神经网络的图像编码方法。

其中,存储器602和处理器601采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器601和存储器602的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器601。

处理器601负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器602可以被用于存储处理器601在执行操作时所使用的数据。

本发明第七实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1