CN115994956A - 一种图像编解码的方法以及装置 - Google Patents
一种图像编解码的方法以及装置 Download PDFInfo
- Publication number
- CN115994956A CN115994956A CN202111222191.2A CN202111222191A CN115994956A CN 115994956 A CN115994956 A CN 115994956A CN 202111222191 A CN202111222191 A CN 202111222191A CN 115994956 A CN115994956 A CN 115994956A
- Authority
- CN
- China
- Prior art keywords
- feature map
- target area
- target
- information
- image
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种图像编解码的方法以及装置,涉及将图像压缩技术应用于执行计算机视觉任务的应用场景中。通过本申请提供的方案既能够节省解码端的算力,又保证后续对计算机视觉任务的预测精度。其中,该方法包括:获取待处理图像。对待处理图像进行特征提取,以获取特征图。根据特征图获取目标区域。对特征图和第一信息进行编码,以获取压缩码流,第一信息用于指示目标区域在特征图中的位置。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种图像编解码的方法以及装置。
背景技术
计算机视觉是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。常见的计算机视觉任务包括目标检测任务、分类任务、语义分割任务等。
图像压缩技术是图像存储、处理和传输的基础,是指用尽可能少的数据来进行图像的存储和传输。在一些场景中,图像压缩技术被应用于计算机视觉任务中。具体的,编码端对特征图进行编码处理后,获取压缩码流,解码端对压缩码流解码后获取特征图,并对特征图进行降维处理,比如对特征图进行下采样处理。解码端再基于下采样后的特征图执行指定的计算机视觉任务。
其中,解码端对特征图进行降维处理是为了节省解码端的算力,降低后续执行计算机视觉任务的复杂度。然而,对特征图进行降维处理后,导致特征图携带的信息有所损失,进而降低后续计算机视觉任务的预测精度。所以,如何能够既节省解码端的算力,又保证后续计算机视觉任务的预测精度是亟待解决的问题。
发明内容
本申请提供一种图像编解码的方法以及装置,涉及将图像压缩技术应用于计算机视觉任务的应用场景中。通过本申请提供的方案既能够节省解码端的算力,又保证后续计算机视觉任务的预测精度。
第一方面,本申请提供一种图像编码的方法,该方法应用于编码端,包括:获取待处理图像。本申请中所描述的图像也可以称为图片或者图像帧或者帧,视频可以看做由多帧图像帧组成的图像帧序列。对待处理图像进行特征提取,以获取特征图。本申请对采用何种特征提取方式,对待处理图像进行特征提取并不进行限定。任意一种可以对待处理图像进行特征提取的方式,本申请均可以采用。根据特征图获取目标区域,或者说,从特征图中获取目标区域。目标区域可以是不同的形状,比如目标区域可以是圆形或者矩形或者其他形状。对特征图和第一信息进行编码,以获取压缩码流,第一信息用于指示目标区域在特征图中的位置。第一信息在不同的实施方式中的表现形式可能不同。比如,在一种可能的实施方式中,目标区域是圆形,第一信息可以包括圆心的坐标以及半径的大小;再比如,在一种可能的实施方式中,目标区域是矩形,第一信息可以包括矩形的左下角的坐标以及矩形的尺寸(比如矩形的长为a,宽为b)。
根据第一方面提供的方案,编码端在特征图上确定目标区域,使得解码端可以依据目标区域执行图像处理任务。由于没有对特征图进行降维处理,保证了任务执行的精度或者准确率,在此基础上,解码端可以依据目标区域执行图像处理任务,不需要依赖完整的特征图执行图像处理任务,降低了对解码端算力的要求。
在第一方面的一种可能的实施方式中,第一信息还用于指示至少一个任务类型,每个任务类型与至少一个目标区域是关联的。具体的,每个任务与至少一个目标区域在特征图中的位置是关联的。在这种实施方式中,允许编码端和解码端同时处理多个任务,每个任务可以对应一个或者多个目标区域,任意两个任务可以采用相同或者不同的目标区域。具体的,任意两个任务可以采用完全相同的目标区域,或者任意两个任务可以采用完全不同的目标区域,或者任意两个任务可以采用不完全相同的目标区域。其中,两个完全相同的目标区域是指两个目标区域在特征图中的位置是相同的,即该两个目标区域是完全重叠的,也可以认为只有一个目标区域,这里为了便于区分每个任务关联的目标区域,才采用了两个相同的目标区域这一说法。如果任意两个任务没有采用完全相同的目标区域,可以通过第一消息指示不同的任务对应的目标区域。这种实施方式,允许编码端和解码端同时处理多个任务,在保证了任务执行的精度或者准确率,降低了对解码端算力的要求的基础上,还可以提升任务执行的效率。
在第一方面的一种可能的实施方式中,任意两个任务类型关联的至少一个目标区域在特征图中的位置是不同的。在一种可能的实施方式中,任意两个任务类型关联的至少一个目标区域在特征图中的位置也可以是相同的。
在第一方面的一种可能的实施方式中,特征图中包括目标组成元素,目标组成元素是对待处理图像的感兴趣区域ROI进行特征提取后获取的,根据特征图获取目标区域,包括:根据目标组成元素获取目标区域。在这种实施方式中,给出了一种具体的获取目标区域的方式,增加了方案的多样性。
在第一方面的一种可能的实施方式中,第一信息具体用于指示目标区域的索引,方法还包括:从特征图中获取多个候选区域,每个候选区域具有唯一的索引,多个候选区域包括目标区域,一个候选区域的索引用于指示一个候选区域在特征图中的位置。对特征图和第一信息进行编码,以获取压缩码流,包括:对特征图和目标区域的索引进行编码,以获取压缩码流。在这种实施方式中,给出了一种第一信息的具体表示方式,在这种实施方式中,第一信息不需要包括完整的目标区域在特征图中的位置信息,第一信息可以是索引的表现方式,降低了需要传输的数据量。
在第一方面的一种可能的实施方式中,特征图和目标区域具有相同的维度。在一种可能的实施方式中,特征图和目标区域也可以是不同的维度。比如,在一个可能的实施方式中,特征图的维度和目标区域的维度是相同的,均为W*H*M,其中,W代表长度,H代表宽度,M代表通道数目。再比如,在一个可能的实施方式中,特征图的维度和目标区域的维度是不相同的,特征图的维度为W*H*M,目标区域的维度为W*H。
第二方面,本申请提供一种图像解码的方法,方法应用于解码端,方法包括:获取压缩码流。对压缩码流进行解码,以获取特征图和第一信息,第一信息用于指示目标区域在特征图中的位置。解码端采用的解码方法与编码端采用的编码方法是相对应的,解码过程相当于编码过程的逆过程。根据第一信息从特征图中获取目标区域。将目标区域输入图像处理网络,以输出预测结果。
解码端并不是将完整的特征图作为图像处理网络的输入,以获取预测结果,而是将特征图的一部分作为图像处理网络的输入,具体的,将目标区域作为图像处理网络的输入,以获取预测结果。通过这样的方式,没有对特征图进行降维处理,通过在特征图上选取目标对象大概率存在的区域,作为目标区域,依据目标区域执行图像处理任务,在保证了任务执行的精度或者准确率的基础上,解码端不需要依赖完整的特征图执行图像处理任务,降低了对解码端算力的要求。
在第二方面的一种可能的实施方式中,第一信息还用于指示至少一个任务类型,每个任务类型与至少一个目标区域是关联的。或者说,每个任务类型与至少一个目标区域在特征图中的位置是关联的,根据第一信息从特征图中获取目标区域,包括:从第一信息中获取与第一任务类型关联的至少一个目标区域在特征图中的位置,第一任务类型是解码端当前执行的图像处理任务的类型。将目标区域输入执行图像处理任务的神经网络,以输出预测结果,包括:根据与第一任务类型关联的至少一个目标区域在特征图中的位置,从特征图中获取至少一个目标区域,并将获取到的至少一个把目标区域输入图像处理网络,以输出预测结果。
在第二方面的一种可能的实施方式中,任意两个任务类型关联的至少一个目标区域在特征图中的位置是不同的。
在第二方面的一种可能的实施方式中,根据第一信息从特征图中获取目标区域,包括:从特征图中获取多个候选区域,每个候选区域具有唯一的索引,一个候选区域的索引用于指示一个候选区域在特征图中的位置。根据第一信息携带的目标区域的索引,从多个候选区域中获取目标区域。
在第二方面的一种可能的实施方式中,特征图和目标区域具有相同的维度。
第三方面,本申请提供一种图像解码的方法,方法应用于解码端,方法包括:获取压缩码流。对压缩码流进行解码,以获取特征图。根据特征图获取目标区域。将目标区域输入图像处理网络,以输出预测结果。
在这种实施方式中,不同于第二方面需要编码端向解码端发送目标区域的相关信息,在第三方面,解码端可以独自完成获取目标区域的过程。解码端将目标区域作为图像处理网络的输入,以获取预测结果。通过这样的方式,没有对特征图进行降维处理,通过在特征图上选取目标对象大概率存在的区域,作为目标区域,依据目标区域执行图像处理任务,在保证了任务执行的精度或者准确率的基础上,解码端不需要依赖完整的特征图执行图像处理任务,降低了对解码端算力的要求。
在第三方面的一种可能的实施方式中,根据特征图获取目标区域,包括:获取特征图的热力图,热力图用于指示特征图中的每个组成元素的热力值,热力值和组成元素属于目标对象的概率正相关,目标对象是图像处理任务待识别的对象。获取热力图中的M个窗口的热力值,窗口的热力值是基于窗口内的全部组成元素的热力值获取的,M为正整数,热力值超过预设阈值的窗口为目标区域。
在第三方面的一种可能的实施方式中,M个窗口是以第一尺寸的窗口遍历热力图获取的。
在第三方面的一种可能的实施方式中,目标区域包括多个,基于目标区域识别目标对象,包括:基于每个目标区域识别目标对象,以获取多个识别结果。对多个识别结果进行融合处理,以获取目标对象最终的识别结果。
在第三方面的一种可能的实施方式中,根据特征图获取目标区域,包括:根据解码端预先存储的目标区域和特征图之间的位置关系,从特征图中获取目标区域。
第四方面,本申请实施例提供一种图像编码装置,所述装置包括用于执行上述第一方面以及第一方面中的任意一种实现方式中的方法的模块或单元。
第五方面,本申请实施例提供一种图像解码装置,该图像解码装置包括用于执行上述第二方面以及第人方面中的任意一种实现方式中的方法的模块或单元。或者,用于执行上述第三方面以及第三方面中的任意一种实现方式中的方法的模块或单元。
第六方面,本申请实施例提供一种图像编码装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面任一项所示的图像编码方法中与处理相关的功能。可选地,该数据处理装置可以是芯片。
第七方面,本申请实施例提供一种图像解码装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第二方面任一项所示的方法中与处理相关的功能或者用于执行上述第三方面任一项所示的方法中与处理相关的功能。
上述第六方面或第七方面中的处理器既可以是中央处理器(central processingunit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面至第三方面中任一可选实施方式中的方法。
第九方面,本申请实施例提供了一种包含计算机程序/指令的计算机程序产品,当其被处理器执行时,使得处理器执行上述第一方面至第三方面中的任一可选实施方式中的方法。
第十方面,本申请实施例提供了一种数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行如上述第一方面至第三方面中任一可选实施方式中与处理相关的功能。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面至第三方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
附图说明
图1为一种将图像压缩技术应用于计算机视觉任务的架构示意图;
图2为本申请实施例使用的一种系统架构的示意图;
图3为本申请实施例提供的一种编解码方法300的流程示意图;
图4为利用卷积神经网络对图像进行特征提取的示意图;
图5为本申请实施例提供的一种编解码方法500的流程示意图;
图6为本申请实施例提供的一种编解码方法600的流程示意图;
图7为本申请实施例提供的一种编解码方法的流程示意图;
图8为从特征图中获取目标区域的示意图;
图9为本申请实施例提供的一种编解码方法的流程示意图;
图10为本申请实施例提供的一种图像编码装置的架构示意图;
图11为本申请实施例提供的一种图像解码装置的架构示意图;
图12为本申请实施例提供的另一种图像编码装置的架构示意图;
图13为本申请实施例提供的另一种图像解码装置的架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更好的理解本申请实施例提供的方案,下面首先结合图1对将图像压缩技术应用于计算机视觉任务的一般框架进行介绍。
如图1所示,为一种将图像压缩技术应用于计算机视觉任务的架构示意图,该架构包括编码端和解码端。下面分别对编码端、解码端执行的相关步骤进行介绍。
通常编码过程包括帧内预测(intra prediction)或帧间预测(interprediction)、变换(transform)、量化(quantization)、熵编码(entropy encode)、环内滤波(in-loop filtering)或去块滤波(de-blocking filtering)等环节。将图像压缩技术应用于计算机视觉任务,是在上述编码过程中增加对图像进行特征提取,以获取特征图的流程。具体地,编码端获取待处理图像,并对该待处理图像进行特征提取,以获取特征图(feature map)。本申请实施例对特征提取的方式并不进行限定,任意一种能够获取待处理图像的特征图的方式,本申请实施例均可以采用。将特征图划分为多个特征块,对于每个待编码的特征块,进行帧内预测或者帧间预测,得到残差信息。并且在得到残差信息之后对残差信息进行变换量化,最终进行熵编码得到编码块(也称为码流)并输出编码块。此处待编码的特征块为由Q*P个像素点组成的阵列(Q和P均为正整数,且Q可以等于P,也可以不等于P),并且已知各个像素点的像素值。
解码过程则相当于编码过程的逆过程。比如,对于当前待解码的当前特征块,可以先利用熵解码反量化反变换得到残差信息,确定当前特征块的预测方式为帧内预测还是帧间预测。如果是帧内预测,则利用当前特征块所在的特征图的周围已重建区域内像素点的像素值按照所使用的帧内预测方法构建预测信息。如果是帧间预测,则需要确定运动信息,并使用运动信息在已重建的特征中确定参考块,并将参考块内像素点的像素值作为预测信息(此过程称为运动补偿(motion compensation,MC))。最后使用预测信息加上残差信息经过滤波操作便可以实现对当前特征块的重建,进而,根据全部重建后获取的特征块获取完整的特征图。解码端获取特征图后,需要对特征图进行降维处理,以获取降维处理后的特征图。将该降维处理后的特征图作为执行计算机视觉任务模型(以下简称为模型)的输入,使模型执行指定的计算机视觉任务,以获取针对待处理图像的预测结果。本申请实施例对指定的计算机视觉任务并不进行限定,比如可以执行目标检测任务、分类任务、语义分割任务等等。
解码端需要对获取的特征图进行降维处理,是为了降低模型的计算复杂度。如果解码端不对获取的特征图进行降维处理,将会导致模型需要处理的计算量过大,对解码端的算力要求过高。然而,对特征图进行降维处理将会导致特征图携带的信息损失,模型基于信息损失的特征图执行指定任务,会影响模型的预测精度,具体的,模型的预测精度将会大大降低。
为了解决上述问题,本申请实施例通过在特征图上选取目标对象大概率存在的区域,解码端获取了完整的特征图后,从完整的特征图中获取该目标对象大概率存在的区域,并基于这一区域的特征执行指定任务。其中,目标对象是模型执行指定任务待识别的对象。通过这样的方式,模型不需要针对完整的特征图执行指定任务,只需要基于特征图的一部分执行指定任务,降低模型的计算复杂度,同时,通过使模型基于目标对象大概率存在的区域执行指定任务,没有对特征图进行降维处理,避免了特征图携带信息的损失,还保证了模型预测的精度。
本申请实施例提供的方案可以应用于任何一种将图像压缩技术应用于计算机视觉任务的场景,示例性的,下面给出一种本申请实施例可能应用的系统架构。
如图2所示,该系统架构可以包括源设备和目的地设备,源设备产生经编码视频数据(也可以称为视频码流或者压缩码流),源设备也可被称为视频编码装置或者编码端。目的地设备可对由源设备所产生的经编码的视频数据进行解码,目的地设备也可被称为视频解码装置或者解码端。源设备、目的地设备或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。其中,处理器可以是中央处理器、网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)或现场可编程逻辑门阵列(field programmablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。存储器可包含但不限于随机存储存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、快闪存储器。源设备和目的地设备可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
源设备和目的地设备之间可通过链路进行通信连接,目的地设备可经由链路从源设备接收经编码视频数据。链路可包括能够将经编码视频数据从源设备移动到目的地设备的一或多个媒体或装置。在一个实例中,链路可包括使得源设备能够实时将经编码视频数据直接发射到目的地设备的一或多个通信媒体。在此实例中,源设备可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的地设备。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源设备到目的地设备的通信的其它设备。
下面结合图2分别对源设备和目的地设备进行解释说明。
(1)源设备
源设备包括编码器和特征提取模型,另外可选地,源设备还可以包括图像/视频获取装置、图片/视频存储装置、以及通信接口。具体实现形态中,所述编码器、特征提取器、图像/视频获取装置、图片/视频存储装置、以及通信接口可能是源设备中的硬件部件,也可能是源设备中的软件程序,分别描述如下:
图像/视频获取装置,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmentedreality,AR)图片)。图像/视频获取装置可以为用于捕获图片的相机或者用于存储图片的存储器,图像/视频获取装置还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部或外部)接口。当图像/视频获取装置为相机时,图像/视频获取装置可例如为本地的或集成在源设备中的集成相机;当所述图像/视频获取装置包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
其中,图片可以视为像素点(picture element)的二维阵列或矩阵。阵列中的像素点也可以称为采样点。阵列或图片在水平和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图片可以表示为或包含三个采样阵列。例如在RBG格式或颜色空间中,图片包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如对于YUV格式的图片,包括Y指示的亮度分量(有时也可以用L指示)以及U和V指示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图片中两者相同),而两个色度(chroma)分量U和V表示色度或颜色信息分量。相应地,YUV格式的图片包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色度采样阵列。RGB格式的图片可以转换或变换为YUV格式,反之亦然,该过程也称为色彩变换或转换。如果图片是黑白的,该图片可以只包括亮度采样阵列。
图片/视频存储装置可以用于存储图像/视频获取装置获取的图像或者视频,图像/视频获取装置可为本地的或例如集成在源设备中的集成存储器。
特征提取器,用于对图像/视频获取装置获取的图像/视频(以下统一称为图像)进行特征提取,以获取特征图。特征提取器还可以从图像存储装置中获取的图像进行特征提取,以获取特征图。在一个可能的实施方式中,特征提取器可以是卷积神经网络(convolutional neural networks,CNN),或者循环神经网络(recurrent neuralnetworks,RNN)。
编码器用于接收特征提取器输出的特征图,并对特征图进行编码处理,本申请实施例对采用何种方式进行编码并不进行限定,示例性的,可以参照上文关于编码过程的描述进行理解。
通信接口,可用于接收编码后的特征图,并可通过链路将编码后的特征图或者压缩码流传输至目的地设备或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于解码或存储的设备。通信接口可例如用于将编码后的特征图封装成合适的格式,例如数据包,以在链路上传输。
(2)目的地设备
目的地设备包括解码器和执行计算机视觉任务的模型,另外可选地,目的地设备还可以包括通信接口和显示设备。分别描述如下:
通信接口,可用于从源设备或任何其它源接收编码后的特征图,所述任何其它源例如为存储设备,存储设备例如为编码后的特征图存储设备。通信接口可以用于藉由源设备和目的地设备之间的链路或藉由任何类别的网络传输或接收编码后的特征图,链路例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口可以例如用于解封装通信接口所传输的数据包以获取编码后的特征图。
目的地设备的的通信接口和源设备的通信接口都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如编码后的特征图传输的数据传输有关的信息。
解码器,用于接收编码后的特征图或者压缩码流,并对该编码后的特征图进行解码处理。解码器的解码过程可以看做是编码器编码过程的逆过程。
目的地设备上部署的模型可以是任意一种执行计算机视觉任务的模型,本申请实施例对此并不进行限定。
显示设备,用于输出模型的预测结果或者用于与用户进行交互。显示设备34可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digitallight processor,DLP)或任何类别的其它显示器。
虽然,图2将源设备和目的地设备绘示为单独的设备,但设备实施例也可以同时包括源设备和目的地设备或同时包括两者的功能性,即源设备或对应的功能性以及目的地设备或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备或对应的功能性以及目的地设备或对应的功能性。
本领域技术人员基于描述明显可知,不同单元的功能性或图2所示的源设备和/或目的地设备的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备和目的地设备可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
基于上面图1和图2所描述的架构,下面对本申请实施例提供的方案进行具体的介绍,本申请实施例提供的方案可以一次处理一个计算机视觉任务(以下简称为任务),也可以同时处理多个任务,此外,本申请实施例提供的方案可以在编码端获取目标区域,也可以在解码端获取目标区域,目标区域是指特征图中大概率存在目标对象的区域,所以以下将针对这几种情况分别对本申请实施例提供的方案进行介绍。
一、编码端获取目标区域
在这种场景下,可以由编码端获取目标区域,编码端获取了目标区域后,可以通过多种方式使解码端获知该目标区域在特征图中的位置,以使解码端可以从完整的特征图中获取该目标区域,并基于该目标区域执行指定任务。此外,编码端和解码端可以一次只处理一个任务,也可以同时处理多个任务,下面针对这两种情况对本申请实施例提供的方案中编码端获取目标区域这一场景进行介绍。
1、一次处理一个任务
参阅图3,为本申请实施例提供的一种编解码方法300的流程示意图。
如图3所示,本申请实施例提供的一种编解码方法300,可以包括以下步骤:
301、编码端获取待处理图像。
获取待处理图像的过程可以参照上文图2中描述的图像/视频获取装置执行的过程进行理解,这里不再重复赘述。此外,本申请实施例中所描述的图像也可以称为图片或者图像帧或者帧,视频可以看做由多帧图像帧组成的图像帧序列,以下对此不再重复说明,均以图像一词为例对方案进行介绍。
302、编码端对待处理图像进行特征提取,以获取特征图。
本申请实施例对采用何种特征提取方式,对待处理图像进行特征提取并不进行限定。任意一种可以对待处理图像进行特征提取的方式,本申请实施例均可以采用。示例性的,下面给出一种利用卷积神经网络(convolutional neuralnetworks,CNN)进行特征提取的方式。
CNN通常可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层。可以利用CNN的卷积层/池化层220对待处理图像进行特征提取。
如图4所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。下面将以卷积层221为例,介绍一层卷积层的内部工作原理。卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息/特征。当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图4中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
在一个可能的实施方式中,编码端还可以对获取到的特征图进行量化处理,以进一步的降低计算量。需要说明的是,本申请实施例对采用何种方式对特征图进行量化处理并不进行限定,任意一种对特征图进行量化处理的方式,本申请实施例均可以采用。示例性的,可以对特征图的每个组成元素进行量化处理,将通过浮点数表示的组成元素,通过四舍五入的方式,转换为通过整数表示的的组成元素。没有经过量化处理的特征图可以是W*M*H的三维浮点数矩阵,对其进行量化处理后得到的量化后的特征图可以是W*M*H的三维整数矩阵。其中,W表示所述特征图的长度、M表示特征图的宽度,H表示特征图的通道数。
303、编码端从特征图中获取目标区域。
本申请实施例提供的方案编码端可以通过多种方式从特征图中获取目标区域,以下结合几种典型的实施方式进行解释说明:
1)、预先指定目标区域在特征图中的位置。
在一个可能的实施方式中,可以预先指定目标区域在特征图中的位置。比如,通常目标对象大概率位于图像的中央位置,所以在这种可能的实施方式中,可以设定目标区域在特征图中间的区域。此外,目标区域可以是不同的形状,比如目标区域可以是圆形或者矩形或者其他形状。为了便于通过简单的方式指示目标区域在特征图中的位置,可以将目标区域设计为简单的形状,比如目标区域为圆形时,可以通过圆心的坐标以及半径指示目标区域在特征图中的位置;再比如目标区域为矩形时,可以通过矩形其中一个角(比如左下角)的坐标以及矩阵的尺寸(比如指示矩形的长度a和宽度b)指示目标区域在特征图中的位置。需要说明的是,在本申请实施例中有时也将区域称为窗口,将目标区域称为最优窗口。
2)、通过预执行指定任务,以从多个候选区域中获取目标区域。
在一个可能的实施方式中,可以通过预执行指定任务,以从多个候选区域中获取目标区域。在这种实施方式中,可以预先从特征图中选取多个候选区域,将每个候选区域输入到指定的执行任务的神经网络中,以获取每个所述候选区域的置信度,置信度用于指示基于候选区域执行指定任务的预测准确率,置信度超过阈值的候选区域为目标区域。其中目标区域的数目可以一个或者多个。下面结合几个具体的指定任务,对这种实施方式进行举例说明:
(1)指定任务为目标识别任务。
假设从特征图中选取了候选区域w1,w2以及w3。需要说明的是,这里选取了3个候选区域仅为示例性的说明,并不代表对候选区域的数目的限定。将每个候选区域所在位置的部分特征图输入至执行目标识别任务的神经网络中,针对于每一个候选区域,可以分别获取一个识别率,假设分别为p1,p2以及p3。选取识别率最高的候选区域作为目标区域。
(2)指定任务为分类任务。
假设从特征图中选取了候选区域w1,w2以及w3。将每个候选区域所在位置的部分特征图输入至执行分类任务的神经网络中,针对于每一个候选区域,分别获取TOP-1accuracy的值,选取TOP-1accuracy最高的候选区域作为目标区域。其中,TOP-1accuracy表示神经网络预测的排名第一的类别与实际结果相符的准确率。当然还可以采用其他的衡量预测准确率的指标,比如针对于每一个候选区域,分别获取Top-5 Accuracy的值,选取TOP-5accuracy最高的候选区域作为目标区域。Top-5 Accuracy表示神经网络预测的排名前五的类别包含实际结果的准确率。
(3)指定任务为语义分割任务。
假设从特征图中选取了候选区域w1,w2以及w3。将每个候选区域所在位置的部分特征图输入至执行语义分割任务的神经网络中,针对于每一个候选区域,分别获取平均精度均值(mean average precision,mAP),选出mAP值最高的候选区域作为目标区域。
3)、预先构建多个候选区域,每个候选区域具有唯一的索引。
在一种可能的实施方式中,可以预先构建多个候选区域,即预先从特征图中选取多个候选区域,具体的,可以采用任意一种方式从特征图中选取多个候选区域。每个候选区域具有唯一的索引,解码端可以从多个候选区域中选择其中一个或者多个候选区域作为目标区域,并向解码端传输该目标区域的索引。解码端与编码端采用同样的方式从特征图中选取多个候选区域,当解码端获取了目标区域的索引后,可以根据该目标区域的索引从多个候选区域中确定出目标区域。示例性的,下面给出一种通过列表构建多个候选区域的方式。
表1:
索引 | 参考点坐标(比如左下角坐标) | 尺寸 |
0 | ||
1 | ||
2 | ||
…… |
参照表1,结合一个具体的例子进行说明。在这种实施方式中,可以给定一个或者多个候选区域在特征图中的位置信息。比如候选区域为矩形,通过一个参考点的坐标以及候选区域的尺寸来指示候选区域在特征图中的具体位置。每个候选区域都具有唯一的索引,比如该索引可以是大于或者等于0的整数。编码端和解码端均保存该列表,当编码端向解码端发送了具体的索引后,解码端可以通过查表的方式获取索引对应的区域在特征图中的位置。需要说明的是,在一些实施方式中,候选区域的索引以及候选区域在特征图中的位置之间的映射关系也可以不通过表格的方式进行表示,本申请实施例对此并不进行限定。
4)、根据感兴趣区域(region of interest,ROI)来获取目标区域。
在一种可能的实施方式中,特征图中包括目标组成元素,目标组成元素是对待处理图像的感兴趣区域ROI进行特征提取后获取的,根据目标组成元素获取目标区域。
在这种实施方式中,可以采用任意一种方式来获取待处理图像的感兴趣区域,比如可以通过运动检测方法确定待处理图像的感兴趣区域,或者通过神经网络的方法确定待处理图像的感兴趣区域,本申请实施例对此并不进行限定。将特征图中包括ROI的区域设置为目标区域。
此外,目标区域的维度可以和特征图的维度相同或者不同,比如,在一个可能的实施方式中,特征图的维度和目标区域的维度是相同的,均为三维的区域。在一个可能的实施方式中,特征图的维度和目标区域的维度是不相同的,特征图的维度为三维,目标区域的维度为二维。
304、编码端对特征图和第一信息进行编码,以获取压缩码流,第一信息用于指示目标区域在特征图中的位置。
基于304中采取了不同的方式获取目标区域,第一信息在不同的实施方式中的表现形式可能不同。比如,在一种可能的实施方式中,目标区域是圆形,第一信息可以包括圆心的坐标以及半径的大小;再比如,在一种可能的实施方式中,目标区域是矩形,第一信息可以包括矩形的左下角的坐标以及矩形的尺寸(比如矩形的长为a,宽为b)。再比如,基于预先侯建多个候选区域的方式获取的目标区域,第一信息还可以是目标区域的索引。步骤303中提到了目标区域的维度可以和特征图的维度相同或者不同,针对于这两种不同的情况,第一信息的表现方式可能存在差异。比如,对于目标区域的维度和特征图的维度相同这一情况,第一信息可以包括矩形的左下角的点在特征图的WxH的通道中的位置坐标(i,j)。对于目标区域的维度和特征图的维度不相同这一情况,第一信息可以包括矩形的左下角的点在特征图的W*H*M的通道中的位置坐标(i,j,r),其中,i,j,r均为正整数。需要说明的是,坐标系的原点可以预先设置,比如可以将矩形的左上角的点设置为坐标原点。
本申请实施例可以采用任意一种编码方式对特征图和第一信息进行编码,以获取压缩码流。比如,可以采用基于概率模型的熵编码方法对特征图和第一信息进行编码,再比如可以采用基于超先验(hyper prior)熵编码方法对特征图和第一信息进行编码,本申请实施例对此并不进行限定。
在一个可能的实施方式中,可以将特征图和第一信息保存在当前传输的压缩码流的序列头(sequence header)、图像头(picture header)、切片头(slice header)或补充增强信息(supplemental enhancement information,SEI)中的任意一个区域,本申请实施例对此并不进行限定。
以上结合步骤301至步骤304对本申请实施例提供的一种图像编码的方法进行了介绍,下面结合步骤305至步骤307对本申请实施例提供的一种图像解码的方法进行介绍。
继续参阅图3,本申请实施例提供的一种图像解码的方法,可以包括以下步骤:
305、解码端对获取到的压缩码流进行解码,以获取特征图和第一信息。
解码端采用的解码方法与编码端采用的编码方法是相对应的,解码过程相当于编码过程的逆过程。本申请实施例对采用何种编码方法,以及与该编码方法相对应的解码方法并不进行限定,这里不再展开介绍。
解码对对获取到的压缩码流进行解码后,获取特征图和第一信息。
306、解码端根据第一信息从特征图中获取目标区域。
由于在不同的实施方式中,编码端可以采用不同的方式获取目标区域,导致第一信息的表现形式可能不同,进而导致解码端根据第一信息从特征图中获取目标区域的方式可能存在差异。
在一种可能的实施方式中,第一信息指示了具体的目标区域在特征图中的位置,比如第一信息包括矩形的左下角的坐标以及矩形的尺寸(比如矩形的长为a,宽为b),则解码端可以直接根据第一信息从特征图中获取目标区域所在的位置。
在一种可能的实施方式中,第一信息指示了索引,则解码端可以根据该索引从多个候选区域中获取目标区域。具体的,在一种可能的实施方式中,解码端采用与编码端相同的方法从特征图中获取多个候选区域,每个候选区域具有唯一的索引,解码端根据第一信息指示的索引从多个候选区域中选取该索引对应的区域作为目标区域。在一种可能的实施方式中,解码端预先保存了和编码端相同的映射关系(比如列表,参照表1进行理解),当解码端从第一信息中获取了索引后,可以通过查找映射关系的方式,比如查表的方式获取索引对应的区域,进而获取该区域在特征图中的位置。
307、解码端将目标区域输入图像处理网络,以输出预测结果。
本申请实施例提供的方式,解码端并不是将完整的特征图作为图像处理网络的输入,以获取预测结果,而是将特征图的一部分作为图像处理网络的输入,具体的,将目标区域作为图像处理网络的输入,以获取预测结果。其中,图像处理网络可以是任意一种执行计算机视觉任务的网络,本申请实施例对此不再重复赘述。
在一个可能的实施方式中,若目标区域包括多个,可以将每个目标区域分别作为图像处理网络的输入,并对多个输出结果进行融合处理,将融合处理后的结果作为预测结果。
需要说明的是,本申请有时也将图像处理网络称为机器视觉任务模块,二者表示的意思相同,以下对此不再重复说明。
此外,需要说明的是,解码端将目标区域输入机器视觉任务模块,以使机器视觉任务模块可以针对目标区域进行处理,以获取针对目标区域的预测结果,其中预测结果包括但不限于是识别结果、分类结果、分割结果等任何一种执行计算机视觉任务后获取的图像处理的结果。
本申请实施例提供的方案,编码端获取目标区域,并向解码端传输目标区域在特征图中位置信息,使解码端可以从特征图中获取目标区域,并将目标区域作为图像处理网络的输入。通过这样的方式,无论是编码端还是解码端都没有对特征图进行降维处理,通过在特征图上选取目标对象大概率存在的区域,作为目标区域,依据目标区域执行图像处理任务,在保证了任务执行的精度或者准确率的基础上,解码端不需要依赖完整的特征图执行图像处理任务,降低了对解码端算力的要求。
需要说明的是,本申请实施例中描述的每个实施例还可以包括更多或者更少的步骤,比如,在一些可能的实施方式中,编码侧获取了特征图后,还可以对特征图进行量化处理,编码侧具体的将量化后的特征图和第一信息进行编码处理,以获取压缩码流。此外,本申请实施例中描述的每个实施例的各个步骤之间的顺序并不是固定的,在一些场景下,各个步骤可以同步执行,或者交换顺序,以下实施例对此不再重复说明。
2、一次处理多个任务
参阅图5,为本申请实施例提供的一种编解码方法500的流程示意图。
如图5所示,本申请实施例提供的一种编解码方法500,可以包括以下步骤:
401、编码端获取待处理图像。
编码端可以一次获取一个或者多个待处理图像。
获取待处理图像的过程可以参照上文图2中描述的图像/视频获取装置执行的过程进行理解,这里不再重复赘述。此外,本申请实施例中所描述的图像也可以称为图片或者图像帧或者帧,视频可以看做由多帧图像帧组成的图像帧序列,以下对此不再重复说明,均以图像一词为例对方案进行介绍。
402、编码端对待处理图像进行特征提取,以获取特征图。
步骤402可以参照图3对应的实施例中的步骤301和步骤302进行理解,这里不再重复赘述。
403、编码端从特征图中获取目标区域。
图5描述的实施方式中,一次处理多个任务,每个任务可以对应一个或者多个目标区域,任意两个任务可以采用相同或者不同的目标区域。具体的,任意两个任务可以采用完全相同的目标区域,或者任意两个任务可以采用完全不同的目标区域,或者任意两个任务可以采用不完全相同的目标区域。关于如何确定一个任务的一个或者多个目标区域已经在图3对应的实施例中进行了描述,这里不再重复赘述。图3所描述的获取目标区域的方式,图5对应的实施例均可以采用。
在一些实施方式中,如果任意两个任务没有采用完全相同的目标区域,可能需要区分不同的任务对应的目标区域。本申请实施例可以通过多种方式来指示不同的任务以及与任务对应的目标区域,比如在一个可能的实施方式中可以通过引入至少一个向量来指示。假设用task_type来指示一个任务以及与该任务对应的目标区域,task_type可以为一个二维向量,表示为(任务类别,目标区域)。其中任务类别可以有不同的表现方式,不同的取值或者不同的符号用于表示不同的任务类别。比如,在一个可能的实施方式中,通过window1表示目标识别任务,通过window2表示分类任务,通过window3表示语义分割任务。由于这三种任务比较常见,所以对每一种任务类型进行独立的表示,还可以通过window0表示除上述任务之外的其他任务。此外,图3对应的实施例中描述了通过第一信息指示目标区域在特征图中的位置,在图5对应的实施例中,可以将第一信息指示的位置信息赋值给task_type。比如,将目标区域的参考点的坐标以及目标区域的尺寸赋值给task_type中的目标区域。再比如,将目标区域的索引赋值给task_type中的目标区域,比如task_type可能是(window3,1)这种表现方式,其中window3用于指示任务的类型,1用于表示目标区域的索引。
404、编码端对特征图和第一信息进行编码,以获取压缩码流,第一信息用于指示目标区域在特征图中的位置,以及至少一个任务类型,以及与每个任务类型关联的至少一个目标区域在特征图中的位置。
在图5对应的实施例中,由于编码端和解码端可以同时处理多个任务,所以第一信息不止用于指示目标区域在特征图中的位置,还可以用于指示任务类型,以及与每个任务类型关联的至少一个目标区域在特征图中的位置。示例性的,第一信息可以包括多个步骤403中描述的task_type。
本申请实施例可以采用任意一种编码方式对特征图和第一信息进行编码,以获取压缩码流。具体的,可以参照图3对应的实施例中的步骤305进行理解,这里不再重复赘述。
以上结合步骤401至步骤404对本申请实施例提供的一种图像编码的方法进行了介绍,下面结合步骤405至步骤407对本申请实施例提供的一种图像解码的方法进行介绍。
继续参阅5,本申请实施例提供的一种图像解码的方法,可以包括以下步骤:
405、解码端对获取到的压缩码流进行解码,以获取特征图和第一信息。
解码端采用的解码方法与编码端采用的编码方法是相对应的,解码过程相当于编码过程的逆过程。本申请实施例对采用何种编码方法,以及与该编码方法相对应的解码方法并不进行限定,这里不再展开介绍。
解码对对获取到的压缩码流进行解码后,获取特征图和第一信息。
406、解码端根据第一信息从特征图中获取目标区域。
本申请实施例将解码端当前正在执行的任务称为目标任务,根据目标任务的类别信息从第一信息中获取与该目标任务关联的至少一个目标区域。举例说明,假设通过window1表示目标识别任务,通过window2表示分类任务,通过window3表示语义分割任务,通过window0表示除上述任务之外的其他任务。若解码端当前正在执行的任务为目标识别任务,则从第一信息中获取与window1关联的至少一个目标区域。具体的,假设第一信息的表现方式为步骤403中描述的二维向量task_type,则先根据window1从至少一个task_type中查找出包括window1的task_type,再根据包括window1的task_type中指示的目标区域的位置从特征图中获取目标区域。其中task_type中可能通过目标区域的位置信息来指示的目标区域的位置,还可能通过索引的方式来指示目标区域的位置。如果task_type通过目标区域的位置信息来指示的目标区域的位置,可以直接依据task_type中指出的目标区域的位置信息,比如指示的目标区域的参考点坐标以及目标区域的尺寸,从特征图中获取目标区域。如果task_type通过索引的方式来指示目标区域的位置,解码端采用与编码端相同的方法从特征图中获取多个候选区域,每个候选区域具有唯一的索引,解码端根据task_type中包括的索引从多个候选区域中确定该索引对应的候选区域为目标区域。
407、解码端将目标区域输入图像处理网络,以输出预测结果。
本申请实施例提供的方式,解码端并不是将完整的特征图作为图像处理网络的输入,以获取预测结果,而是将特征图的一部分作为图像处理网络的输入,具体的,将当前正在执行的任务对应的目标区域作为图像处理网络的输入,以获取当前正在执行的任务的预测结果。需要说明的,如果如果目标区域是二维的,当作为图像处理网络的输入时,该目标区域的维度和特征图的维度是相同的,以下对此不再重复赘述。
本申请实施例不仅具有图3所描述的实施例所具备的优点,通过图5所描述的实施例,允许解码端同时执行多个任务,还可以提升任务执行的效率。
上述结合图3以及和图5所描述的实施方式,均为编码端获取目标区域,在一些可能的实施方式中,也可以直接由解码端获取目标区域,下面结合一些具体的实施方式对此进行介绍。
二、解码端获取目标区域
参阅图6,为本申请实施例提供的一种编解码方法600的流程示意图。
如图6所示,本申请实施例提供的一种编解码方法600,可以包括以下步骤:
501、编码端获取待处理图像。
502、编码端对待处理图像进行特征提取,以获取特征图。
步骤501和步骤502可以参照图3对应的实施例中的步骤301和步骤302进行理解,这里不再重复赘述。
503、编码端对特征图进行编码,以获取压缩码流。
本申请实施例可以采用任意一种编码方式对特征图进行编码,以获取压缩码流。比如,可以采用基于概率模型的熵编码方法对特征图进行编码,再比如可以采用基于超先验熵编码方法对特征图进行编码,本申请实施例对此并不进行限定。
504、解码端对获取到的压缩码流进行解码,以获取特征图。
解码端采用的解码方法与编码端采用的编码方法是相对应的,解码过程相当于编码过程的逆过程。本申请实施例对采用何种编码方法,以及与该编码方法相对应的解码方法并不进行限定,这里不再展开介绍。
以上结合步骤501至步骤504对本申请实施例提供的一种图像编码的方法进行了介绍,下面结合步骤505、步骤506对本申请实施例提供的一种图像解码的方法进行介绍。
继续参阅6,本申请实施例提供的一种图像解码的方法,可以包括以下步骤:
505、解码端从特征图中获取目标区域。
本申请实施例提供的方案解码端可以通过多种方式从特征图中获取目标区域,以下结合几种典型的实施方式进行解释说明:
1)、预先指定目标区域在特征图中的位置。
在一个可能的实施方式中,可以预先指定目标区域在特征图中的位置。比如,通常目标对象大概率位于图像的中央位置,所以在这种可能的实施方式中,可以设定目标区域在特征图中间的区域。具体的这一实施方式,可以参照编码端描述的通过预先指定目标区域在特征图中的位置的方式进行理解,这里不再展开介绍。
2)、根据感兴趣区域(region of interest,ROI)来获取目标区域。
这一实施方式,可以参照编码端描述的通过ROI来获取目标区域的方式进行理解,这里不再展开介绍。
3)、根据热力图获取目标区域。
在这种实施方式中,首先,可以对解码后获取的特征图进行显著性检测,以获取特征图的热力图(hotmap)。其中,热力图用于指示特征图中的每个组成元素的热力值,热力值的高低和该组成元素属于目标对象的概率是正相关的。需要说明的是,本申请实施例可以采用任意一种方式获取特征图的热力图,本申请实施例对此并不进行限定。
然后,可以从该热力图中选取多个候选区域,并计算每个候选区域中包括的全部组成元素的热力值之和,作为候选区域的热力值。从该多个候选区域中选择候选区域的热力值超过阈值的候选区域作为目标区域,比如选择热力值最高的候选区域作为目标区域。
在一个可能的实施方式中,还可以预先设置候选区域的尺寸,比如假设候选区域的宽高分别为W_y2和H_y2。在热力图中从上到下、从左到右遍历,每次选取宽高为W_y2和H_y2的区域,计算该遍历区域的全部组成元素的热力值之和,将热力值超过阈值的一个或者多个遍历区域作为目标区域。
506、解码端将目标区域输入图像处理网络,以输出预测结果。
步骤506可以参照图3对应的实施例中的步骤307进行理解,这里不再重复赘述。
图6对应的实施例所带来的有益效果可以参照对3以及图5对应的实施例中描述的有益效果进行理解,这里不再重复赘述。
为了更好的理解本申请实施例提供的方案,下面再结合几个具体的实施方式对本申请实施例提供的方案进行介绍:
参阅图7,为本申请实施例提供的一种图像编解码的流程示意图。在这种实施方式中,由终端和云端共同执行本申请实施例提供的一种图像编解码的方法。
首先,对终端执行的相关步骤进行介绍:
第一步,编码端获取图像的特征图y。
将图像分别输入特征提取模块输出图像的特征图y。具体的,特征提取模块可以使用现有的神经网络来实现,其网络结构可以包括四个卷积层与三个GDN层穿插级联构成,每层卷积层的卷积核大小均为5x5,输出特征图通道数为M,且每层卷积层宽高均进行2倍下采样。对于输入3通道大小为16Wx16H的图像,输出的特征图y大小为MxWxH。
进一步地,特征量化模块对特征图y中的每个特征元素进行量化,将浮点数的特征值进行四舍五入得到整数特征值,得到量化后的特征图y1。其中,即特征图y为MxWxH的三维浮点数矩阵,经过特征量化模块得到的特征图y1为WxHxM的三维整数矩阵。
需要说明的是,本申请对具体的量化方法不做限定,还可以是,将浮点数的特征值进行截断得到整数特征值。或者还可以是根据预设的量化步长对量化操作得到量化后的特征值。
第二步,获取窗口信息及机器任务类别信息。
将y和/或y1输入源数据提取模块,输出窗口信息及机器任务类别信息。源数据提取模块对特征图y1进行源数据提取,得到窗口信息。
所述窗口信息包括:窗口的大小和窗口在特征图y1中的位置。如下图8所示为其中一个示例,窗口长为a,宽为b的区域,窗口的位置信息是指:窗口的左下角位置的特征元素在特征图y1的WxH的通道(channel)中的位置坐标(i,j)。
其中,机器任务类型信息包括:用task_type表示的机器任务类别与窗口信息的对应关系,task_type为一个二维向量,即(机器任务类别,窗口信息)。例如,识别任务对应window1,分类任务对应window2,语义分割任务对应window3,其他一般任务对应window0。
获取所述窗口信息和机器任务类别信息可使用以下方法之一:
方法一:针对一个特定的机器任务,将预设的不同窗口内对应的特征元素分别输入到机器视觉任务网络,根据机器视觉任务的输出效果,选出最优窗口信息。
如果是目标识别类的机器视觉任务,根据识别目标的位置和大小,预先设置窗口w1,w2,w3,将窗口w1,w2,w3对应的特征元素输入到目标识别网络,分别输出识别率p1,p2,p3,选出识别率最高的窗口作为最优窗口,赋值给向量task_type。
如果是分类任务,将预设窗口w1,w2,w3对应的特征元素输入到分类任务模块,分别输出TOP-1accuracy的值,选出TOP-1accuracy最高的窗口作为最优窗口,赋值给task_type。
如果是语义分割任务,将预设窗口w1,w2,w3对应的特征元素输入到语义分割任务模块,分别输出平均精度均值mAP,选出mAP值最高的窗口作为最优窗口,赋值给向量task_type。
其他一般任务,将最优窗口信息标识为window0。
方法二:每个机器任务,均构建一个窗口信息候选列表,针对该机器任务确定出一个最优的窗口信息,将最优窗口信息索引index和type_flag传输到解码端。构建窗口信息候选列表的方法:给定一个或者多个预设位置和预设大小的窗口信息,加入候选列表。
其中,type_flag用来标识不同的机器任务类别。Type_flag为第一值,表示识别任务,第二值表示分类任务,第三值表示语义分割任务,第四值表示其他一般任务。index用于指示最优窗口信息在候选列表中的索引,index为大于或者等于0的整数。
另外,对于方法一和方法二中获取最优窗口的方法还可以是:根据感兴趣区域(Region of Interest,ROI)来获取最优窗口。用户人眼直接给定一个感兴趣区域,或者通过运动检测确定感兴趣区域,或者通过神经网络的方法确定感兴趣区域。将包含ROI的窗口设置为最优窗口。
第三步,对量化后的特征图y1进行熵编码得到编码信息,将编码信息、窗口信息及机器类别信息并写入码流。
将y1输入概率估计模块,输出每个特征元素的概率分布,根据每个特征元素的概率分布对量化后的特征图y1中的每个特征元素进行熵编码,得到传输码流。将窗口信息及机器类别信息保存在序列头(sequence header)、图像头(picture header)、Slice(sliceheader)或SEI(suplemental enhancement information)中传送到云端。
对特征图y1中的每个特征元素进行熵编码时,可以使用以下方法之一进行处理,在此不做限定。
方法一:基于概率模型的熵编码方法:对特征图y1中的每个特征元素进行熵编码时,首先使用概率分布模型进行建模,然后将当前特征元素上下文信息输入概率估计网络得到模型参数,将模型参数代入概率分布模型中,得到当前特征元素的概率分布,根据概率分布进行熵编码。其中,概率分布模型可以是:单高斯模型(gaussian single model,GSM)、非对称高斯模型、混合高斯模型(gaussian mixture model,GMM)或者拉普拉斯分布模型(Laplace distribution)。其中,概率估计网络可以使用基于深度学习网络,例如循环神经网络(recurrent neural network,RNN)和卷积神经网络CNN等,在此不做限定。
方法二:超先验(hyper prior)熵编码方法:
特征图y经边信息提取模块模块,输出边信息z,对边信息z进行量化得到,将进行熵编码并写入码流,编码端执行熵解码操作得到解码后的,输入概率估计模块输出特征图y0每个特征元素的概率分布(将进行熵编码后再解码是为了保证编解码同步)。熵编码模块根据y1的每个特征元素的概率分布对特征图y1中的每个特征元素进行熵编码,得到压缩码流。其中,边信息也是一种特征信息,表示为一个三维特征图,其包含的特征元素个数比特征图y的特征元素个数少。
接下来,对云端执行的相关步骤进行介绍:
第一步,获取解码后的特征图y1。
对待解码特征图y1进行熵解码,得到解码后的特征图y1。
熵解码方法与编码端对应,对特征图y1中的每个特征元素进行熵编码时,可以使用以下方法之一进行处理,简单描述如下:
方法一:将当前特征元素上下文信息输入与编码端相同的概率估计网络得到模型参数,将模型参数代入概率分布模型中,得到当前特征元素的概率分布,根据概率分布进行熵解码得到特征元素的值。
第二步,获取窗口信息,并根据窗口信息获取所述窗口区域内的特征图y2。
第一步和第二步无先后关系。
从码流中解析得到窗口信息和机器任务类别信息。根据当前的机器任务类别及机器任务类别信息,匹配出当前机器任务所使用的窗口信息,并根据窗口信息在解码后的特征图y1中定位出子特征图y2。具体的:
对应于编码端方法一:从码流中解析得到task_type,得到最优窗口信息和机器任务类别信息。根据当前的机器任务类别及机器任务类别信息,匹配出当前机器任务所使用的窗口信息,并根据窗口信息在解码后的特征图y1中定位出子特征图y2。例如,如果是识别类任务,根据task_type索引出window1窗口信息,得到窗口的大小和该窗口在特征图y1中的位置,并获取对应窗口内的所有特征元素,得到子特征图y2。
对应于编码端方法二:解码端解析最优窗口信息索引index和type_flag,使用与编码端相同的方法构建窗口信息候选列表,根据index在候选列表中找到对应的最优窗口。Type_flag为第一值,表示识别任务,第二值表示分类任务,第三值表示语义分割任务,第四值表示其他一般任务。
第三步,将特征图y2输入机器视觉任务网络进行相应的机器视觉任务。
图7是针对多任务的实现方法,下面再对针对单一任务的实现方法的实施方式进行介绍。
首先,对终端执行的相关步骤进行介绍:
第一步,获取图像的特征图y(同图7对应的实施例中终端执行的第一步)。
第二步,获取窗口信息。
将y和/或y1输入源数据提取模块,输出窗口信息。源数据提取模块对特征图y1进行源数据提取,得到窗口信息。
所述窗口信息包括:窗口的大小和窗口在特征图y1中的位置。如下图8所示为其中一个示例,窗口长为a,宽为b的区域。窗口的位置信息是指:窗口的左下角位置的特征元素在特征图y1的WxH的通道(channel)中的位置坐标(i,j)。
获取所述窗口信息可使用以下方法之一:
方法一:针对一个特定的机器任务,将预设的不同窗口内对应的特征元素分别输入到机器视觉任务网络,根据机器视觉任务的输出效果,选出最优窗口信息。
如果是目标识别类的机器视觉任务,根据识别目标的位置和大小,预先设置窗口w1,w2,w3,将窗口w1,w2,w3对应的特征元素输入到目标识别网络,分别输出识别率p1,p2,p3,选出识别率最高的窗口作为最优窗口。
如果是分类任务,将预设窗口w1,w2,w3对应的特征元素输入到分类任务模块,分别输出TOP-1accuracy的值,选出TOP-1accuracy最高的窗口作为最优窗口。
如果是语义分割任务,将预设窗口w1,w2,w3对应的特征元素输入到语义分割任务模块,分别输出平均精度均值(Mean Average Precision,mAP),选出mAP值最高的窗口作为最优窗口。
其他一般任务,将最优窗口信息标识为window0。
方法二:针对当前机器任务,构建一个窗口信息候选列表,针对该机器任务确定出一个最优的窗口信息,将最优窗口信息索引index传输到解码端。构建窗口信息候选列表的方法:给定一个或者多个预设位置和预设大小的窗口信息,加入候选列表。index用于指示最优窗口信息在候选列表中的索引,index为大于或者等于0的整数。
方法三:根据感兴趣区域(Region of Interest,ROI)来获取最优窗口。用户人眼直接给定一个感兴趣区域,或者通过运动检测确定感兴趣区域,或者通过神经网络的方法确定感兴趣区域。将包含ROI的窗口设置为最优窗口。
第三步,对量化后的特征图y1进行熵编码得到编码信息,将编码信息、窗口信息写入码流。
接下来,对云端执行的相关步骤进行介绍:
第一步,获取解码后的特征图y1。
对待解码特征图y1进行熵解码,得到解码后的特征图y1。
第二步,获取窗口信息,并根据窗口信息获取所述窗口区域内的特征图y2。
第一步和第二步无先后关系。
从码流中解析得到窗口信息,并根据窗口信息在解码后的特征图y1中定位出子特征图y2。具体的:
对应于编码端方法一:直接从得到最优窗口信息,并根据窗口信息在解码后的特征图y1中定位出子特征图y2。
对应于编码端方法二:解码端解析最优窗口信息索引index,使用与编码端相同的方法构建窗口信息候选列表,根据index在候选列表中找到对应的最优窗口信息。
第三步,将特征图y2输入机器视觉任务网络进行相应的机器视觉任务。
参阅图9,为本申请实施例提供的一种图像编解码的流程示意图。在这种实施方式中,由终端和云端共同执行本申请实施例提供的一种图像编解码的方法。与图7描述的实施方式的不同在于,图9描述的实施方式源数据提取模块在云端完成,即云端(解码端)直接导出窗口信息和/或机器任务类别信息。
方法一:解码端直接根据不同的机器视觉任务给定一个预设大小和预设位置的窗口。
方法二:对熵解码后的特征图y1做显著性检测,确定出窗口信息和CV任务类别信息。
a)针对一个特定的机器任务,假设其子特征图(任务相关的特征图)y2的宽高分别为W_y2和H_y2,熵解码后的量化特征图y1的宽高分别为W_y1和H_y1,且y1的宽高要远大于y2的宽高。
b)输入特征图y1,采用自底向上的显著性区域检测方法,输出显著性热力图hotmap,其与y1同宽高。
c)在hotmap中从上到下、从左到右遍历,每次选取宽高为W_y2和H_y2的区域,计算该区域的热力图均值,存入到热力图区域列表中。根据热力图区域列表,获取区域热力图均值Top-K(至少一个)的区域作为机器视觉任务的候选区域。
下面结合图10至图13对本申请实施例的装置进行说明。应理解,下面描述的装置能够执行前述本申请实施例的方法,为了避免不必要的重复,下面在介绍本申请实施例的装置时适当省略重复的描述。本申请实施例中的图像编码装置和图像解码装置可以部署在终端设备上也可以部署在云端设备上。
图10是本申请实施例的图像编码装置的示意性框图。图10所示的图像编码装置700包括获取模块701和处理模块702。
获取模块701和处理模块702可以用于执行本申请实施例的图像编码方法,具体地,可以用于执行方法300、方法500以及方法600中编码端执行的相关步骤。
在一个可能的实施方式中,获取模块701,用于获取待处理图像。
处理模块702,用于:
对待处理图像进行特征提取,以获取特征图。
根据特征图获取目标区域。
对特征图和第一信息进行编码,以获取压缩码流,第一信息用于指示目标区域在特征图中的位置。
在一个可能的实施方式中,第一信息还用于指示至少一个任务类型,以及与每个任务类型关联的至少一个目标区域在特征图中的位置。
在一个可能的实施方式中,任意两个任务类型关联的至少一个目标区域在特征图中的位置是不同的。
在一个可能的实施方式中,特征图中包括目标组成元素,目标组成元素是对待处理图像的感兴趣区域ROI进行特征提取后获取的,处理模块702,具体用于:
根据目标组成元素获取目标区域。
在一个可能的实施方式中,第一信息具体用于指示目标区域的索引,处理模块702,还用于:
从特征图中获取多个候选区域,每个候选区域具有唯一的索引,多个候选区域包括目标区域,一个候选区域的索引用于指示一个候选区域在特征图中的位置。
处理模块702,具体用于:
对特征图和目标区域的索引进行编码,以获取压缩码流。
在一个可能的实施方式中,特征图和目标区域具有相同的维度。
图11是本申请实施例提供的图像解码装置800的示意性框图。图11所示的图像编码装置800包括获取模块801和处理模块802。
获取模块801和处理模块802可以用于执行本申请实施例的图像解码方法,具体地,可以用于执行方法300、方法500以及方法600中解码端执行的相关步骤。
在一个可能的实施方式中,获取模块801,用于获取压缩码流。
处理模块802,用于:
对压缩码流进行解码,以获取特征图和第一信息,第一信息用于指示目标区域在特征图中的位置。
根据第一信息从特征图中获取目标区域。
将目标区域输入图像处理网络,以输出预测结果。
在一个可能的实施方式中,第一信息还用于指示至少一个任务类型,以及与每个任务类型关联的至少一个目标区域在特征图中的位置,处理模块802,具体用于:
从第一信息中获取与第一任务类型关联的至少一个目标区域在特征图中的位置,第一任务类型是解码端当前执行的图像处理任务的类型。
根据与第一任务类型关联的至少一个目标区域在特征图中的位置,从特征图中获取至少一个目标区域,并将获取到的至少一个把目标区域输入图像处理网络,以输出预测结果。
在一个可能的实施方式中,任意两个任务类型关联的至少一个目标区域在特征图中的位置是不同的。
在一个可能的实施方式中,处理模块802,具体用于:
从特征图中获取多个候选区域,每个候选区域具有唯一的索引,一个候选区域的索引用于指示一个候选区域在特征图中的位置。
根据第一信息携带的目标区域的索引,从多个候选区域中获取目标区域。
在一个可能的实施方式中,特征图和目标区域具有相同的维度。
在一个可能的实施方式中,获取模块801,用于获取压缩码流。
处理模块802,用于:
对压缩码流进行解码,以获取特征图。
根据特征图获取目标区域。
将目标区域输入图像处理网络,以输出预测结果。
在一个可能的实施方式中,处理模块802,具体用于:
获取特征图的热力图,热力图用于指示特征图中的每个组成元素的热力值,热力值和组成元素属于目标对象的概率正相关,目标对象是图像处理任务待识别的对象。
获取热力图中的M个窗口的热力值,窗口的热力值是基于窗口内的全部组成元素的热力值获取的,M为正整数,热力值超过预设阈值的窗口为目标区域。
在一个可能的实施方式中,M个窗口是以第一尺寸的窗口遍历热力图获取的。
在一个可能的实施方式中,处理模块802,具体用于:
基于每个目标区域识别目标对象,以获取多个识别结果。
对多个识别结果进行融合处理,以获取目标对象最终的识别结果。
在一个可能的实施方式中,装置还包括存储模块(图中未示出),存储模块中预先存储了目标区域和特征图之间的位置关系,处理模块802,具体用于:
根据存储模块预先存储的目标区域和特征图之间的位置关系,从特征图中获取目标区域。
需要说明的是,上述700以及装置800以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。本申请实施例有时也将“模块”称为“单元”,二者表示相同的意思。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图12是本申请实施例提供图像编码装置的硬件结构示意图。图12所示的图像编码装置900(该装置900具体可以是一种计算机设备)包括存储器901、处理器902、通信接口903以及总线904。其中,存储器901、处理器902、通信接口903通过总线904实现彼此之间的通信连接。
存储器901可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器901可以存储程序,当存储器901中存储的程序被处理器902执行时,处理器902用于执行本申请实施例的神经网络模型的训练方法的各个步骤。具体地,处理器902可以执行上文中方法300,方法500以及方法600中编码端执行的相关步骤中与处理相关的步骤。
处理器902可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的图像编码的方法。
处理器902还可以是一种集成电路芯片,具有信号的处理能力,在实现过程中,本申请的图像编码的方法的各个步骤可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器902还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器901,处理器902读取存储器901中的信息,结合其硬件完成图10所示的图像编码装置中包括的模块所需执行的功能,或者,执行本申请方法实施例的方法300,方法500以及方法600中编码端执行的相关步骤。
通信接口903使用例如但不限于收发器一类的收发装置,来实现装置900与其他设备或通信网络之间的通信。例如,可以通过通信接口903获取待处理图像。
总线904可包括在装置900各个部件(例如,存储器901、处理器902、通信接口903)之间传送信息的通路。
图13是本申请实施例的图像解码装置的硬件结构示意图。图13所示的图像解码装置1000包括存储器1001、处理器1002、通信接口1003以及总线1004。其中,存储器1001、处理器1002、通信接口1003通过总线1004实现彼此之间的通信连接。
存储器1001可以是ROM,静态存储设备和RAM。存储器1001可以存储程序,当存储器1001中存储的程序被处理器1002执行时,处理器1002和通信接口1003用于执行本申请实施例的图像解码方法的各个步骤。具体地,处理器1002可以执行上文中方法300,方法500以及方法600中解码端执行的相关步骤中与处理相关的步骤。
处理器1002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像解码装置中的单元所需执行的功能,或者执行本申请方法实施例的图像解码方法。
处理器1002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的图像解码方法的各个步骤可以通过处理器1002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1001,处理器1002读取存储器1001中的信息,结合其硬件完成本申请实施例的图像解码装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像解码方法。
通信接口1003使用例如但不限于收发器一类的收发装置,来实现装置1000与其他设备或通信网络之间的通信。例如,可以通过通信接口1003获取待处理的数据。
总线1004可包括在装置1000各个部件(例如,存储器1001、处理器1002、通信接口1003)之间传送信息的通路。
应注意,尽管上述装置900和装置1000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置900和装置1000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置900和装置1000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置900和装置1000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图12和图13中所示的全部器件。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (39)
1.一种图像编码的方法,其特征在于,所述方法应用于编码端,所述方法包括:
获取待处理图像;
对所述待处理图像进行特征提取,以获取特征图;
根据所述特征图获取目标区域;
对所述特征图和第一信息进行编码,以获取压缩码流,所述第一信息用于指示所述目标区域在所述特征图中的位置。
2.根据权利要求1所述的方法,其特征在于,所述第一信息还用于指示至少一个任务类型,每个所述任务类型与至少一个所述目标区域是关联的。
3.根据权利要求2所述的方法,其特征在于,任意两个所述任务类型关联的所述至少一个所述目标区域是不同的。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述特征图中包括目标组成元素,所述目标组成元素是对所述待处理图像的感兴趣区域ROI进行特征提取后获取的,所述根据所述特征图获取目标区域,包括:
根据所述目标组成元素获取所述目标区域。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一信息具体用于指示所述目标区域的索引,所述方法还包括:
从所述特征图中获取多个候选区域,每个所述候选区域具有唯一的索引,所述多个候选区域包括所述目标区域,一个所述候选区域的索引用于指示一个所述候选区域在所述特征图中的位置;
所述对所述特征图和第一信息进行编码,以获取压缩码流,包括:
对所述特征图和所述目标区域的索引进行编码,以获取所述压缩码流。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述特征图和所述目标区域具有相同的维度。
7.一种图像解码的方法,其特征在于,所述方法应用于解码端,所述方法包括:
获取压缩码流;
对所述压缩码流进行解码,以获取特征图和第一信息,所述第一信息用于指示目标区域在所述特征图中的位置;
根据所述第一信息从所述特征图中获取所述目标区域;
将所述目标区域输入图像处理网络,以输出预测结果。
8.根据权利要求7所述的方法,其特征在于,所述第一信息还用于指示至少一个任务类型,每个所述任务类型与至少一个所述目标区域是关联的,所述根据所述第一信息从所述特征图中获取所述目标区域,包括:
根据所述第一信息,获取与第一任务类型关联的至少一个所述目标区域在所述特征图中的位置,所述第一任务类型是所述解码端当前执行的图像处理任务的类型;
所述将所述目标区域输图像处理网络,以输出预测结果,包括:
根据与所述第一任务类型关联的至少一个所述目标区域在所述特征图中的位置,从所述特征图中获取至少一个目标区域,并将获取到的所述至少一个把目标区域输入所述图像处理网络,以输出预测结果。
9.根据权利要求8所述的方法,其特征在于,任意两个所述任务类型关联的所述至少一个所述目标区域是不同的。
10.根据权利要求7至9所述的方法,其特征在于,所述根据所述第一信息从所述特征图中获取所述目标区域,包括:
从所述特征图中获取多个候选区域,每个所述候选区域具有唯一的索引,一个所述候选区域的索引用于指示一个所述候选区域在所述特征图中的位置;
根据所述第一信息携带的目标区域的索引,从所述多个候选区域中获取所述目标区域。
11.根据权利要求7至10任一项所述的方法,其特征在于,所述特征图和所述目标区域具有相同的维度。
12.一种图像解码的方法,其特征在于,所述方法应用于解码端,所述方法包括:
获取压缩码流;
对所述压缩码流进行解码,以获取特征图;
根据所述特征图获取目标区域;
将所述目标区域输入图像处理网络,以输出预测结果。
13.根据权利要求12所述的方法,其特征在于,所述根据所述特征图获取目标区域,包括:
获取所述特征图的热力图,所述热力图用于指示所述特征图中的每个组成元素的热力值,所述热力值和所述组成元素属于目标对象的概率正相关,所述目标对象是所述图像处理任务待识别的对象;
获取所述热力图中的M个窗口的热力值,所述窗口的热力值是基于所述窗口内的全部组成元素的热力值获取的,所述M为正整数,热力值超过预设阈值的窗口为所述目标区域。
14.根据权利要求13所述的方法,其特征在于,所述M个窗口是以第一尺寸的窗口遍历所述热力图获取的。
15.根据权利要求12至14任一项所述的方法,其特征在于,所述目标区域包括多个,所述基于所述目标区域识别所述目标对象,包括:
基于每个所述目标区域识别所述目标对象,以获取多个识别结果;
对所述多个识别结果进行融合处理,以获取所述目标对象最终的识别结果。
16.根据权利要求12所述的方法,其特征在于,所述根据所述特征图获取目标区域,包括:
根据所述解码端预先存储的所述目标区域和所述特征图之间的位置关系,从所述特征图中获取所述目标区域。
17.一种图像编码装置,其特征在于,包括:
获取模块,用于获取待处理图像;
处理模块,用于:
对所述待处理图像进行特征提取,以获取特征图;
根据所述特征图获取目标区域;
对所述特征图和第一信息进行编码,以获取压缩码流,所述第一信息用于指示所述目标区域在所述特征图中的位置。
18.根据权利要求17所述的装置,其特征在于,所述第一信息还用于指示至少一个任务类型,每个所述任务类型与至少一个所述目标区域是关联的。
19.根据权利要求18所述的装置,其特征在于,任意两个所述任务类型关联的所述至少一个所述目标区域是不同的。
20.根据权利要求17至19任一项所述的装置,其特征在于,所述特征图中包括目标组成元素,所述目标组成元素是对所述待处理图像的感兴趣区域ROI进行特征提取后获取的,所述处理模块,具体用于:
根据所述目标组成元素获取所述目标区域。
21.根据权利要求17至20任一项所述的装置,其特征在于,所述第一信息具体用于指示所述目标区域的索引,所述处理模块,还用于:
从所述特征图中获取多个候选区域,每个所述候选区域具有唯一的索引,所述多个候选区域包括所述目标区域,一个所述候选区域的索引用于指示一个所述候选区域在所述特征图中的位置;
所述处理模块,具体用于:
对所述特征图和所述目标区域的索引进行编码,以获取所述压缩码流。
22.根据权利要求17至21任一项所述的装置,其特征在于,所述特征图和所述目标区域具有相同的维度。
23.一种图像解码装置,其特征在于,包括:
获取模块,用于获取压缩码流;
处理模块,用于:
对所述压缩码流进行解码,以获取特征图和第一信息,所述第一信息用于指示目标区域在所述特征图中的位置;
根据所述第一信息从所述特征图中获取所述目标区域;
将所述目标区域输入图像处理网络,以输出预测结果。
24.根据权利要求23所述的装置,其特征在于,所述第一信息还用于指示至少一个任务类型,每个所述任务类型与至少一个所述目标区域是关联的,所述处理模块,具体用于:
根据所述第一信息,获取与第一任务类型关联的至少一个所述目标区域在所述特征图中的位置,所述第一任务类型是所述解码端当前执行的图像处理任务的类型;
根据与所述第一任务类型关联的至少一个所述目标区域在所述特征图中的位置,从所述特征图中获取至少一个目标区域,并将获取到的所述至少一个把目标区域输入所述图像处理网络,以输出预测结果。
25.根据权利要求24所述的装置,其特征在于,任意两个所述任务类型关联的所述至少一个所述目标区域是不同的。
26.根据权利要求23至25任一项所述的装置,其特征在于,所述处理模块,具体用于:
从所述特征图中获取多个候选区域,每个所述候选区域具有唯一的索引,一个所述候选区域的索引用于指示一个所述候选区域在所述特征图中的位置;
根据所述第一信息携带的目标区域的索引,从所述多个候选区域中获取所述目标区域。
27.根据权利要求23至26任一项所述的装置,其特征在于,所述特征图和所述目标区域具有相同的维度。
28.一种图像解码装置,其特征在于,包括:
获取模块,用于获取压缩码流;
处理模块,用于:
对所述压缩码流进行解码,以获取特征图;
根据所述特征图获取目标区域;
将所述目标区域输入图像处理网络,以输出预测结果。
29.根据权利要求28所述的装置,其特征在于,所述处理模块,具体用于:
获取所述特征图的热力图,所述热力图用于指示所述特征图中的每个组成元素的热力值,所述热力值和所述组成元素属于目标对象的概率正相关,所述目标对象是所述图像处理任务待识别的对象;
获取所述热力图中的M个窗口的热力值,所述窗口的热力值是基于所述窗口内的全部组成元素的热力值获取的,所述M为正整数,热力值超过预设阈值的窗口为所述目标区域。
30.根据权利要求29所述的装置,其特征在于,所述M个窗口是以第一尺寸的窗口遍历所述热力图获取的。
31.根据权利要求28至30任一项所述的装置,其特征在于,所述处理模块,具体用于:
基于每个所述目标区域识别所述目标对象,以获取多个识别结果;
对所述多个识别结果进行融合处理,以获取所述目标对象最终的识别结果。
32.根据权利要求28所述的装置,其特征在于,所述装置还包括存储模块,所述存储模块中预先存储了所述目标区域和所述特征图之间的位置关系,所述处理模块,具体用于:
根据所述存储模块预先存储的所述目标区域和所述特征图之间的位置关系,从所述特征图中获取所述目标区域。
33.一种图像编码装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至6中任一项所述的方法。
34.一种图像解码装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求7至11或者12至16中任一项所述的方法。
35.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至6或7至11或者12至16中任一项所述的方法。
36.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至6或7至11或者12至16中任一项所述的方法。
37.一种编码器,其特征在于,包括处理电路,用于执行权利要求1至6任一项所述的方法。
38.一种解码器,其特征在于,包括处理电路,用于执行权利要求7至11或者12至16中任一项所述的方法。
39.一种图像处理器,其特征在于,包括处理电路,用于执行根据权利要求1至6或7至11或者12至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111222191.2A CN115994956A (zh) | 2021-10-20 | 2021-10-20 | 一种图像编解码的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111222191.2A CN115994956A (zh) | 2021-10-20 | 2021-10-20 | 一种图像编解码的方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115994956A true CN115994956A (zh) | 2023-04-21 |
Family
ID=85989212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111222191.2A Pending CN115994956A (zh) | 2021-10-20 | 2021-10-20 | 一种图像编解码的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115994956A (zh) |
-
2021
- 2021-10-20 CN CN202111222191.2A patent/CN115994956A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003891B2 (en) | Image processing method and apparatus, and electronic device | |
EP3462415A1 (en) | Method and device for modifying attributes of points of a 3d scene | |
US20170118475A1 (en) | Method and Apparatus of Video Compression for Non-stitched Panoramic Contents | |
EP4020370A1 (en) | Image processing method and device | |
US11908241B2 (en) | Method for correction of the eyes image using machine learning and method for machine learning | |
CN116803079A (zh) | 视频和相关特征的可分级译码 | |
CN114339238A (zh) | 视频编码的方法、视频解码的方法及其装置 | |
US20230127009A1 (en) | Joint objects image signal processing in temporal domain | |
US9584806B2 (en) | Using depth information to assist motion compensation-based video coding | |
CN114339260A (zh) | 图像处理方法及装置 | |
WO2017180261A1 (en) | Systems and methods for recognizing an object in an image | |
CN114786040B (zh) | 数据通信方法、系统、电子设备和存储介质 | |
WO2021008524A1 (zh) | 图像编码方法、解码方法、装置和存储介质 | |
JP5950605B2 (ja) | 画像処理システム、及び、画像処理方法 | |
CN111246208B (zh) | 视频处理方法、装置及电子设备 | |
CN110741635A (zh) | 编码方法、解码方法、编码设备和解码设备 | |
CN114584776A (zh) | 帧内预测模式的译码方法和装置 | |
CN115994956A (zh) | 一种图像编解码的方法以及装置 | |
US20220094910A1 (en) | Systems and methods for predicting a coding block | |
CN114554205B (zh) | 一种图像编解码方法及装置 | |
EP4231644A1 (en) | Video frame compression method and apparatus, and video frame decompression method and apparatus | |
CN115294429A (zh) | 一种基于特征域网络训练方法和装置 | |
WO2024077797A1 (en) | Method and system for retargeting image | |
WO2024077799A1 (en) | Method and system for image data processing | |
CN113259663B (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 |