本发明涉及图像处理技术领域,具体而言,涉及一种基于卷积的图像处理方法、装置、介质及电子设备。
背景技术:
随着图像处理技术的发展以及智能监控和移动设备的日益普及,目标检测越来越广泛地应用到例如人机交互、智能监控、安全检查、数字娱乐、数码相机等各个领域。所谓目标检测,就是在一图像中检测感兴趣的目标(例如,手势、人脸、汽车等)的技术方案,例如,人脸识别在日常生活中变得越来越流行。另外,这里所说的图像可以是照片、静态图片、视频图像等。
近来,采用卷积神经网络方法进行目标检测的技术方案可以对待检测图像的特征进行压缩。然而,目前卷积神经网络中卷积方法存在计算速度慢的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:
本发明实施例的目的在于提供一种基于卷积的图像处理方法、装置、介质及电子设备,进而至少在一定程度上克服相关技术中卷积方法存在计算速度慢的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种基于卷积的图像处理方法,包括:
获取待处理图像的特征矩阵和原始卷积核信息;
根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核;
利用分解后的卷积核对所述特征矩阵进行卷积计算,以完成对所述待处理图像进行压缩处理。
在本发明的一些实施例中,所述待处理图像的特征矩阵大小为h*w*c,所述原始卷积核信息包括:所述原始卷积核的大小为d*d*c,所述原始卷积核的个数为n;
根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核,包括:
将n个大小为d*d*c的原始卷积核分解为k个大小为1*d*c的第一卷积核和n个大小为d*1*k的第二卷积核,其中,h、w、d、c、n、k为正数。
在本发明的一些实施例中,利用分解后的卷积核对所述特征矩阵进行卷积计算,包括:
利用k个大小为1*d*c的第一卷积核对大小为h*w*c的待处理图像的特征矩阵进行第一卷积,获得大小为h*w*k的第一压缩特征矩阵;
利用n个大小为d*1*k的第二卷积核对大小为h*w*k的第一压缩特征矩阵进行第二卷积,获得大小为h*w*n的第二压缩特征矩阵。
在本发明的一些实施例中,在利用分解后的卷积核对所述特征矩阵进行卷积计算之前,还包括:
将n个大小为d*1*k的第二卷积核分解为n’个大小为d*1*k的第三卷积核和n个大小为1*1*n’的第四卷积核;
利用分解后的卷积核对所述特征矩阵进行卷积计算,包括:
利用k个大小为1*d*c的第一卷积核对大小为h*w*c的待处理图像的特征矩阵进行第一卷积,获得大小为h*w*k的第一压缩特征矩阵;
利用n’个大小为d*1*k的第三卷积核对大小为h*w*k的第一压缩特征矩阵进行第三卷积,获得大小为h*w*n’的第三压缩特征矩阵;
利用n个大小为1*1*n’的第四卷积核对大小为h*w*n’的第三压缩特征矩阵进行第四卷积,获得大小为h*w*n的第二压缩特征矩阵,其中,n’为正数。
在本发明的一些实施例中,在利用分解后的卷积核对所述特征矩阵进行卷积计算之前,还包括:
将k个大小为1*d*c的第一卷积核分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核;
利用分解后的卷积核对所述特征矩阵进行卷积计算,包括:
利用p个大小为1*d*c的第五卷积核对大小为h*w*c待处理图像的特征矩阵进行第五卷积,获得大小为h*w*p的第五压缩特征矩阵;
利用k个大小为1*1*p的第六卷积核对大小为h*w*p的第五压缩特征矩阵进行第六卷积,获得大小为h*w*k的第一压缩特征矩阵,其中,p为正数;
利用n个大小为d*1*k的第二卷积核对大小为h*w*k的第一压缩特征矩阵进行第二卷积,获得大小为h*w*n的第二压缩特征矩阵。
在本发明的一些实施例中,在利用分解后的卷积核对所述特征矩阵进行卷积计算之前,还包括:
将n个大小为d*1*k的第二卷积核分解为n’个大小为d*1*k的第三卷积核和n个大小为1*1*n’的第四卷积核,并将k个大小为1*d*c的第一卷积核分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核;
利用分解后的卷积核对所述特征矩阵进行卷积计算,包括:
利用p个大小为1*d*c的第五卷积核对大小为h*w*c待处理图像的特征矩阵进行第五卷积,获得大小为h*w*p的第五压缩特征矩阵;
利用k个大小为1*1*p的第六卷积核对大小为h*w*p的第五压缩特征矩阵进行第六卷积,获得大小为h*w*k的第一压缩特征矩阵;
利用n’个大小为d*1*k的第三卷积核对大小为h*w*k的第一压缩特征矩阵进行第三卷积,获得大小为h*w*n’的第三压缩特征矩阵;
利用n个大小为1*1*n’的第四卷积核对大小为h*w*n’的第三压缩特征矩阵进行第四卷积,获得大小为h*w*n的第二压缩特征矩阵,其中,p、n’为正数。
在本发明的一些实施例中,k、n’的取值均与对所述待处理图像的压缩率有关。
在本发明的一些实施例中,k、p的取值均与对所述待处理图像的压缩率有关。
根据本方式实例的第二方面,提供了一种基于卷积的图像处理装置,包括:
获取模块,用于获取待处理图像的特征矩阵和原始卷积核信息;
分解模块,用于根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核;
计算模块,用于利用分解后的卷积核对所述特征矩阵进行卷积计算,以完成对所述待处理图像进行压缩处理。
根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的基于卷积的图像处理方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的基于卷积的图像处理方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,通过获取待处理图像的特征矩阵和原始卷积核信息,并根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核,从而降低原始卷积核的秩,进一步地,利用分解后的卷积核对所述特征矩阵进行卷积计算。本发明实施例提供的技术方案减少了模块冗余,在满足识别效果的基础上,减少了识别时间提高了识别效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本发明的一实施例的一种基于卷积的图像处理方法的流程示意图;
图2示出了根据本发明的实施例的改进前的卷积处理图像的框架示意图;
图3示出了根据本发明的另一实施例的一种基于卷积的图像处理方法的流程示意图;
图4示出了基于图3所示实施例是我卷积处理图像的框架示意图;
图5示出了根据本发明的一实施例的一种分解原始卷积核的方法的流程示意图;
图6示出了利用图5所示方法得到的分解后的卷积核进行卷积计算的方法的流程示意图;
图7示出了基于图5所示实施例的卷积处理图像的框架示意图;
图8示出了根据本发明的一种人脸比对方法的流程示意图;
图9示出了根据本发明的另一实施例的一种分解原始卷积核的方法的流程示意图;
图10示出了利用图9所示方法得到的分解后的卷积核进行卷积计算的方法的流程示意图;
图11示出了根据本发明的再一实施例的一种分解原始卷积核的方法的流程示意图;
图12示出了利用图11所示方法得到的分解后的卷积核进行卷积计算的方法的流程示意图;
图13示出了根据本发明的实施例的一种基于卷积的图像处理装置的结构示意图;
图14示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
近年来,大数据和深度学习技术的飞速发展,使得基于深度学习的人脸识别技术已经超越了测试集上的人类识别能力。其中基于resnet、vgg、inception等深度学习网络训练出来的人脸识别模型都展现出来了很好的识别能力。但是,上鞋基于深度学习的人脸识别技术在实际应用中会存在的问题是:深度学习网络参数太多,每一次预测所需要的时间太长,特别是在计算能力较低的移动设备和智能监控设备上表现得更为明显。因此缩短网络预测所需时间就显得尤为重要。
现有的主流的人脸识别技术方案多是直接采用标准的深度学习网络模型来训练,如vgg、resnet、inception等。在这些经过验证的成熟的深度学习网络模型上训练能够获得较好的泛化能力和识别效果。然而,这些标准的深度学习网络模型的初衷在于提供精准的分类或识别效果,而并没有考虑模型的冗余,从而导致人脸识别模型在高识别率的同时,具有预测时间长效率低的缺陷。
从而,对于对识别精确度要求不高的情况下,例如,确定两张人脸照片是否同一人,使用vgg、resnet、inception等深度学习网络模型将会导致浪费人力物力资源且识别效率低的问题。
图1示出了根据本发明的实施例的一种基于卷积的图像处理方法的流程示意图,至少在一定程度上识别效率低的问题。参考图1,包括以下步骤:
步骤s101,获取待处理图像的特征矩阵和原始卷积核信息;
步骤s102,根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核;
步骤s103,利用分解后的卷积核对所述特征矩阵进行卷积计算,以完成对所述待处理图像进行压缩处理。
在图1所示实施例所提供的技术方案中,通过获取待处理图像的特征矩阵和原始卷积核信息,并根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核,从而降低原始卷积核的秩,进一步地,利用分解后的卷积核对所述特征矩阵进行卷积计算。本发明实施例提供的技术方案减少了压缩模块的冗余,在满足识别效果的基础上,减少了识别时间提高了识别效率。
图2示出了根据本发明的实施例的改进前的卷积处理图像的框架示意图。结合图2,以下对图1的各个步骤的具体实现方式进行详细阐述:
在示例性的实施例中,参考图2,在步骤s101中,待处理图像的特征矩阵21大小为h*w*c,所述原始卷积核信息包括:所述原始卷积核23的大小为d*d*c,所述原始卷积核的个数为n。并且,改进前的卷积处理图像过程为,n个大小为d*d*c的原始卷积核23与待处理图像的特征矩阵21进行卷积计算,得到大小为h*w*n的处理后特征矩阵22。
需要说明的是,待处理图像的特征矩阵21的长度为h,宽度为w,通道数为c,则待处理图像的特征矩阵21的大小表示为h*w*c。原始卷积核23的长度为d,宽度为d,通道数为c,则待原始卷积核23的大小表示为d*d*c。以下各个卷积核的大小与各个特征矩阵的大小均与此相类似,下文不再解释。
在示例性的实施例中,在步骤s102中,对图2中的原始大小为d*d*c的原始卷积核进行分解,分解后获得至少两种卷积核。从而到达降低原始卷积核的秩的目的。
在示例性的实施例中,在步骤s103中,利用分解后的卷积核对大小为h*w*c特征矩阵进行卷积计算,以完成对所述待处理图像的压缩处理。同时到达缩减处理时间并提高处理效率的技术效果。
图3示出了根据本发明的实施例的另一种基于卷积的图像处理方法的流程示意图,至少也在一定程度上识别效率低的问题。参考图3,包括以下步骤s301-步骤s304。图4示出了基于图3所示实施例是我卷积处理图像的框架示意图,以下结合图4对图3提供的实施例进行解释说明。
在示例性的实施例中,步骤s301的具体实现过程同步骤s101,在此不再赘述。
在示例性的实施例中,步骤s302是步骤s102的一种具体实现方式,参考图2和图4,将n个大小为d*d*c的原始卷积23分解为k个大小为1*d*c的第一卷积核44和n个大小为d*1*k的第二卷积核45,其中,h、w、d、c、n、k为正数。
在示例性的实施例中,步骤s303-步骤s304是步骤s103的一种具体实现方式。参考图3和图4:
在步骤s303中,利用k个大小为1*d*c的第一卷积核44对大小为h*w*c的待处理图像的特征矩阵41进行第一卷积,获得大小为h*w*k的第一压缩特征矩阵42;以及
在步骤s304中,利用n个大小为d*1*k的第二卷积核45对大小为h*w*k的第一压缩特征矩阵42进行第二卷积,获得大小为h*w*n的第二压缩特征矩阵43。
参考图2和图4可以发现,改进前的卷积处理图像后得到的特征矩阵22与经过图3提供的实施例提供的改进后的卷积处理图像后得到的第二压缩特征矩阵43的大小相同。
同时,在图2所示的改进前的卷积处理图像过程中,每个原始卷积核23的计算量为:d×d×c×h×w,总共的计算量为:w1=d×d×c×n×h×w。在图4所示的改进前的卷积处理图像过程中,第一卷积核44的计算量为:k×d×c×h×w。第二卷积核45的计算量为n×d×1×k×h×w。则图4所示的改进后的卷积处理图像过程中总的计算量w2=(k×d×c×h×w)+(n×d×1×k×h×w)=d×k×h×w×(c+n)。
进而,改进前后计算量比例
以vggnet-16网络第一层卷积层为例,即通道数c和原始卷积核的个数n的取值均为64,待处理图像的长度d取值为3。则
即当k的取值小于96时,改进前后计算量比值ratio1小于1,改进后计算量小于改进前的计算量。并且,可见k值越小则可获得可将模型压缩率越大。同时,k的取值既可以减小计算量,提高处理效率,又可以确保一定的精准的分类或识别效果,以达到不同的识别需求。具体的,k的取值可以通过以下过程确定。
将原始卷积核进行分解之后,通过
其中,
图5示出了根据本发明的一实施例的一种分解原始卷积核的方法的流程示意图,参考图5,包括步骤s501-步骤s502。图7示出了基于图5所示实施例的卷积处理图像的框架示意图,以下结合图7对图5提供的实施例进行解释说明。
在示例性的实施例中,步骤s501-步骤s502是步骤s102的另一种具体实现方式,参考图5和图7:
在步骤s501中,将n个大小为d*d*c的原始卷积分解为k个大小为1*d*c的第一卷积核和n个大小为d*1*k的第二卷积核;以及
在步骤s502中,将n个大小为d*1*k的第二卷积核分解为n’个大小为d*1*k的第三卷积核74和n个大小为1*1*n’的第四卷积核75。
参考图2和图7,将n个大小为d*d*c的原始卷积23分解为k个大小为1*d*c的第一卷积核44和n个大小为d*1*k的第二卷积核45,并进一步地,将n个大小为d*1*k的第二卷积核45分解为n’个大小为d*1*k的第三卷积核74和n个大小为1*1*n’的第四卷积核75。
同时,参考图4和图7,图7提供的卷积核的分解方法可以看作对图4中n个大小为d*1*k的第二卷积核45的分解。
图6示出了利用图5所示方法得到的分解后的卷积核进行卷积计算的方法的流程示意图,参考图6,包括步骤s601-步骤s603。
在示例性的实施例中,步骤s601-步骤s603是步骤s103的另一种具体实现方式,参考图6和图7:
在步骤s601中,利用k个大小为1*d*c的第一卷积核对大小为h*w*c的待处理图像的特征矩阵进行第一卷积,获得大小为h*w*k的第一压缩特征矩阵71;
在步骤s602中,利用n’个大小为d*1*k的第三卷积核74对大小为h*w*k的第一压缩特征矩阵71进行第三卷积,获得大小为h*w*n’的第三压缩特征矩阵72;以及
在步骤s603中,利用n个大小为1*1*n’的第四卷积核75对大小为h*w*n’的第三压缩特征矩阵72进行第四卷积,获得大小为h*w*n的第二压缩特征矩阵73。其中,n’为正数。
参考图4和图7可以发现,图4的卷积处理图像后得到的第二压缩特征矩阵43与经过图7提供的实施例提供的改进后的卷积处理图像后得到的第二压缩特征矩阵73的大小相同。
同时,在图4所示的第二卷积处理图像过程中,计算量为:w3=n×d×1×k×h×w。在图7所示的卷积处理图像过程中,第三卷积核74的计算量为:n’×d×1×k×h×w;第四卷积核75的计算量为n×1×1×n’×h×w。则图7所示的卷积处理图像过程中总的计算量w4=(n’×d×1×k×h×w)+(n×1×1×n’×h×w)=h×w×n’(dk+n)。
进而,图4所示的第二卷积处理图像过程,与图7所示的第三卷积过程和第四卷积过程之和,的计算量比例
仍以vggnet-16网络第一层卷积层为例,即原始卷积核的个数n的取值为64,待处理图像的长度d取值为3,且k的取值小于96;可见当n’取值较小时,比值ratio2小于1,即对n个大小为d*1*k的第二卷积核45进一步分解后进行图7所示的第三卷积过程和第四卷积过程的计算量,相对于图4所示的第二卷积过程减少了。并且,可见n’值越小则可获得可将模型压缩率越大。同时,n’的取值既可以减小计算量,提高处理效率,又可以确保一定的精准的分类或识别效果,以达到不同的识别需求。具体的,n’的取值可以通过以下过程确定。
将n个大小为d*1*k的第二卷积核45进行分解之后,通过
其中,r()表示非线性函数relu,yi表示图4所示的利用n个大小为d*1*k的第二卷积核45进行卷积得到的输出;m为秩为n的n×n矩阵,并可以分解为n×n’矩阵和n’×n矩阵;myi+b表示图7所示的利用。
在示例性的实施例中,图5至图7所示实施例提供的技术方案可以应用至人脸图像过程中。参考图8,在步骤s81和步骤s82中分别获取待比对的现场拍照图和证件照(例如省份证件等);在步骤s83中检测待比对图像中的人脸并将两图像中的人脸对齐;本实施例提供的方法适用在步骤s84中:对sphereface人脸识别模型中的每层通过本实施例提供的方法进行压缩并重新训练模型;用于步骤s85中:获得压缩后的sphereface人脸识别模型;进一步地,进行步骤s86中的相似度比对并返回比对结果。经步骤s84中对于卷积核的两次分解,达到在尽可能保留原模型的准确率的基础上缩短预测时间的技术效果。具体的,预测时间从184ms缩短到93毫秒。同时,人脸比对数据集lfw的准确率从99.37%下降到98.58%,并不影响对预测结果的得出。可见,相对于接近缩短一倍的时间,准确率只下降了不到1%,可以说极大的提升了人脸对比模型的效率。
图9示出了根据本发明的另一实施例的分解原始卷积核的方法的流程示意图,参考图9,包括步骤s901-步骤s902。
在示例性的实施例中,步骤s901-步骤s902是步骤s102的一种具体实现方式,参考图9:
在步骤s901中,将n个大小为d*d*c的原始卷积分解为k个大小为1*d*c的第一卷积核和n个大小为d*1*k的第二卷积核;以及
在步骤s902中,将k个大小为1*d*c的第一卷积核分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核。
参考图2和图4,将n个大小为d*d*c的原始卷积23分解为k个大小为1*d*c的第一卷积核44和n个大小为d*1*k的第二卷积核45,并进一步地,将k个大小为1*d*c的第一卷积核44分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核。
同时,参考图4,本实施例提供的卷积核的分解方法可以看作对图4中k个大小为1*d*c的第一卷积核44的分解。
图10示出了利用图9所示方法得到的分解后的卷积核进行卷积计算的方法的流程示意图,参考图10,包括步骤s1001-步骤s1003。
在示例性的实施例中,步骤s1001-步骤s1003是步骤s103的一种具体实现方式,参考图10:
在步骤s1001中,利用p个大小为1*d*c的第五卷积核对大小为h*w*c待处理图像的特征矩阵进行第五卷积,获得大小为h*w*p的第五压缩特征矩阵;
在步骤s1002中,利用k个大小为1*1*p的第六卷积核对大小为h*w*p的第五压缩特征矩阵进行第六卷积,获得大小为h*w*k的第一压缩特征矩阵;以及
在步骤s1003中,利用n个大小为d*1*k的第二卷积核对大小为h*w*k的第一压缩特征矩阵进行第二卷积,获得大小为h*w*n的第二压缩特征矩阵。其中,p为正数。
参考图4可以发现,图4的卷积处理图像后得到的第一压缩特征矩阵42,与经过本实施例步骤s1002得到的输出大小相同。
同时,在图4所示的第二卷积处理图像过程中,计算量为:w5=k×d×1×c×h×w。在步骤s1001-步骤s1002进行的卷积过程中,第五卷积计算量为:p×1×d×c×h×w;第六卷积的计算量为:k×1×1×p×h×w。则步骤s1001-步骤s1902总的计算量w6=(p×1×d×c×h×w)+(k×1×1×p×h×w)=h×w×p(dc+p)。
进而,图4所示的第二卷积处理图像过程,与步骤s1001-步骤s1002进行的卷积的第五卷积过程和第六卷积过程之和,的计算量比例
可见p值越小则可获得可将模型压缩率越大。同时,参照上述实施例中k、n’的取值过程可以确定本实施例中p的取值,在此不再赘述。
图11示出了根据本发明的再一实施例的分解原始卷积核的方法的流程示意图,参考图11,包括步骤s1101-步骤s1102。
在示例性的实施例中,步骤s1101-步骤s1102是步骤s102的再一种具体实现方式,参考图11:
在步骤s1101中,将n个大小为d*d*c的原始卷积分解为k个大小为1*d*c的第一卷积核和n个大小为d*1*k的第二卷积核;以及
在步骤s1102中,将k个大小为1*d*c的第一卷积核分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核。
参考图2和图4,将n个大小为d*d*c的原始卷积23分解为k个大小为1*d*c的第一卷积核44和n个大小为d*1*k的第二卷积核45,并进一步地,将k个大小为1*d*c的第一卷积核44分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核,以及将n个大小为d*1*k的第二卷积核45分解为n’个大小为d*1*k的第三卷积核74和n个大小为1*1*n’的第四卷积核75。
可见,本实施例为对原始卷积核进行分解后,对分解得到的两种卷积核均进行了进一步分解。从而,将步骤s902和步骤s502进行综合。
同时,参考图4,本实施例提供的卷积核的分解方法可以看作对图4中k个大小为1*d*c的第一卷积核44的分解,以及n个大小为d*1*k的第二卷积核45的分解。
图12示出了利用图11所示方法得到的分解后的卷积核进行卷积计算的方法的流程示意图,参考图12,包括步骤s1201-步骤s1204。
在示例性的实施例中,步骤s1201-步骤s1204是步骤s103的一种具体实现方式,参考图11:
在步骤s1201中,利用p个大小为1*d*c的第五卷积核对大小为h*w*c待处理图像的特征矩阵进行第五卷积,获得大小为h*w*p的第五压缩特征矩阵;
在步骤s1202中,利用k个大小为1*1*p的第六卷积核对大小为h*w*p的第五压缩特征矩阵进行第六卷积,获得大小为h*w*k的第一压缩特征矩阵;
在示例性的实施例中,步骤s1201-步骤s1202与步骤s1001和步骤s1002的具体实现过程相同,在此不再赘述。
在步骤s1203中,利用n’个大小为d*1*k的第三卷积核对大小为h*w*k的第一压缩特征矩阵进行第三卷积,获得大小为h*w*n’的第三压缩特征矩阵;
在步骤s1204中,利用n个大小为1*1*n’的第四卷积核对大小为h*w*n’的第三压缩特征矩阵进行第四卷积,获得大小为h*w*n的第二压缩特征矩阵。
在示例性的实施例中,步骤s1203-步骤s1204与步骤s602和步骤s603的具体实现过程相同,在此不再赘述。
以下介绍本发明的装置实施例,可以用于执行本发明上述的基于卷积的图像处理方法。
图13示出了根据本发明的实施例的一种基于卷积的图像处理装置的结构示意图,参考图13,基于卷积的图像处理装置1300包括:获取模块1301、分解模块1302和计算模块1303。
其中,获取模块1301用于获取待处理图像的特征矩阵和原始卷积核信息;分解模块1302用于根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核;计算模块1303用于利用分解后的卷积核对所述特征矩阵进行卷积计算,以完成对所述待处理图像进行压缩处理。
在示例性的实施例中,所述待处理图像的特征矩阵大小为h*w*c,所述原始卷积核信息包括:所述原始卷积核的大小为d*d*c,所述原始卷积核的个数为n;
分解模块1302具体用于:将n个大小为d*d*c的原始卷积核分解为k个大小为1*d*c的第一卷积核和n个大小为d*1*k的第二卷积核,其中,h、w、d、c、n、k为正数。
在示例性的实施例中,计算模块1303,包括:第一卷积单元和第二卷积单元。
其中,第一卷积单元用于:利用k个大小为1*d*c的第一卷积核对大小为h*w*c的待处理图像的特征矩阵进行第一卷积,获得大小为h*w*k的第一压缩特征矩阵;第二卷积单元用于:利用n个大小为d*1*k的第二卷积核对大小为h*w*k的第一压缩特征矩阵进行第二卷积,获得大小为h*w*n的第二压缩特征矩阵。
在示例性的实施例中,分解模块1302还用于:将n个大小为d*1*k的第二卷积核分解为n’个大小为d*1*k的第三卷积核和n个大小为1*1*n’的第四卷积核;
计算模块1303还包括:第三卷积单元和第四卷积单元。
其中,第一卷积单元用于:利用k个大小为1*d*c的第一卷积核对大小为h*w*c的待处理图像的特征矩阵进行第一卷积,获得大小为h*w*k的第一压缩特征矩阵;第三卷积单元用于:利用n’个大小为d*1*k的第三卷积核对大小为h*w*k的第一压缩特征矩阵进行第三卷积,获得大小为h*w*n’的第三压缩特征矩阵;第四卷积单元用于:利用n个大小为1*1*n’的第四卷积核对大小为h*w*n’的第三压缩特征矩阵进行第四卷积,获得大小为h*w*n的第二压缩特征矩阵,其中,n’为正数。
在示例性的实施例中,分解模块1302还用于:将k个大小为1*d*c的第一卷积核分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核;
计算模块1303还包括:第五卷积单元和第六卷积单元。
其中,第五卷积单元用于:利用p个大小为1*d*c的第五卷积核对大小为h*w*c待处理图像的特征矩阵进行第五卷积,获得大小为h*w*p的第五压缩特征矩阵;第六卷积单元用于利用k个大小为1*1*p的第六卷积核对大小为h*w*p的第五压缩特征矩阵进行第六卷积,获得大小为h*w*k的第一压缩特征矩阵,其中,p为正数;第二卷积单元用于利用n个大小为d*1*k的第二卷积核对大小为h*w*k的第一压缩特征矩阵进行第二卷积,获得大小为h*w*n的第二压缩特征矩阵。
在示例性的实施例中,分解模块1302还用于:将n个大小为d*1*k的第二卷积核分解为n’个大小为d*1*k的第三卷积核和n个大小为1*1*n’的第四卷积核,并将k个大小为1*d*c的第一卷积核分解为p个大小为1*d*c的第五卷积核和k个大小为1*1*p的第六卷积核;
计算模块1303还包括:第五卷积单元、第六卷积单元、第三卷积单元和第四卷积单元。
其中,第五卷积单元用于利用p个大小为1*d*c的第五卷积核对大小为h*w*c待处理图像的特征矩阵进行第五卷积,获得大小为h*w*p的第五压缩特征矩阵;第六卷积单元用于利用k个大小为1*1*p的第六卷积核对大小为h*w*p的第五压缩特征矩阵进行第六卷积,获得大小为h*w*k的第一压缩特征矩阵;第三卷积单元用于利用n’个大小为d*1*k的第三卷积核对大小为h*w*k的第一压缩特征矩阵进行第三卷积,获得大小为h*w*n’的第三压缩特征矩阵;第四卷积单元用于利用n个大小为1*1*n’的第四卷积核对大小为h*w*n’的第三压缩特征矩阵进行第四卷积,获得大小为h*w*n的第二压缩特征矩阵,其中,p、n’为正数。
在示例性的实施例中,k、n’的取值均与对所述待处理图像的压缩率有关。
在示例性的实施例中,k、p的取值均与对所述待处理图像的压缩率有关。
由于本发明的示例实施例的基于卷积的图像处理装置的各个功能模块与上述基于卷积的图像处理方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的基于卷积的图像处理方法的实施例。
下面参考图14,其示出了适于用来实现本发明实施例的电子设备的计算机系统1400的结构示意图。图14示出的电子设备的计算机系统1400仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括中央处理单元(cpu)1401,其可以根据存储在只读存储器(rom)1402中的程序或者从存储部分1408加载到随机访问存储器(ram)1403中的程序而执行各种适当的动作和处理。在ram1403中,还存储有系统操作所需的各种程序和数据。cpu1401、rom1402以及ram1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
以下部件连接至i/o接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至i/o接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(cpu)1401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的基于卷积的图像处理方法。
例如,所述的电子设备可以实现如图1中所示的:步骤s101,获取待处理图像的特征矩阵和原始卷积核信息;步骤s102,根据所述原始卷积核信息对所述原始卷积核进行分解获得至少两种卷积核;步骤s103,利用分解后的卷积核对所述特征矩阵进行卷积计算,以完成对所述待处理图像进行压缩处理。
又如,所述的电子设备可以实现如图3所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。