用于图像处理的神经网络模型训练方法及装置
技术领域
本公开涉及人工智能领域,更具体地涉及一种用于图像处理的神经网络模型训练方法、装置、设备及介质。
背景技术
移动互联网的蓬勃发展,使得在便携式设备上为用户提供多种类服务成为可能,图像处理等技术的应用平台从PC端逐渐扩展到移动端。充足的计算资源、时间资源和存储资源,是保证模型性能的关键。因此,部署在移动端的图像处理模型需具有占用空间小、准确率高以及实时性好的特点。
典型的深层卷积网络参数量十分庞大,对计算资源要求很高,并不适用于单个终端设备(如摄像头和手机等),例如AlexNet中全部模型参数的50%都集中在其第一个全连接层上,VGG的模型参数有90%都是全连接层的参数。伴随着移动互联网的发展,为了在便携式设备上使用神经网络,需要减小模型的计算量和参数量,以MobileNet系列为代表的轻量级神经网络应运而生。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:目前主流的图像分类模型难以实现移动端的图像处理的业务需求。一方面,诸如ResNet-50的卷积神经网络模型具有较高的准确率,但其往往需要较多的资源;另一方面,MobileNet-v2等轻量级神经网络的出现虽然大大降低了资源消耗,但其准确率却无法满足业务需求。因此,如何权衡模型性能(例如准确率)与资源占用(例如存储、计算或时间资源)亟待解决。
发明内容
有鉴于此,本公开提供了一种用于图像处理的神经网络模型训练方法、装置、设备及介质。
本公开的一个方面提供了一种用于图像处理的神经网络模型训练方法,包括:将待处理源图像进行数据增强,添加相同的透明色与不同样式的背景图,得到增强数据集;使用边缘检测算法提取增强数据集中的每个图像的捕捉对象的边缘位置;使用形态学处理方法计算边缘位置对应的边界区域信息,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息,形成训练数据集;将训练数据集输入到卷积神经网络模型中进行训练,得到图像分类模型。
根据本公开的实施例,数据增强包括仿射变换、颜色变换、高斯噪声或模糊处理中的至少一种。
根据本公开的实施例,仿射变换包括旋转变换、放缩变换、反射变换或剪切变换中的至少一种,放缩变换包括各向同性放缩变换或非各向同性放缩变换。
根据本公开的实施例,边缘检测算法包括基于训练好的整体嵌套边缘检测网络模型的边缘检测算法。
根据本公开的实施例,形态学处理方法包括腐蚀操作、膨胀操作或开闭运算。
根据本公开的实施例,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息的步骤之后,还包括:将每个图像的边界区域之外的背景区域设置为白色。
根据本公开的实施例,模型训练应用于云端数据中心,方法还包括:根据预设模型切割点,将图像分类模型切分为第一部分模型和第二部分模型;将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器。
根据本公开的实施例,将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器中的步骤之后,还包括:将第一部分模型和第二部分模型分别进行压缩编码。
根据本公开的实施例,卷积神经网络模型包括轻量级网络模型。
根据本公开的实施例,轻量级网络模型包括MobileNet-v2网络模型,MobileNet-v2网络模型包括输入层、多个特征提取层和全连接层。
根据本公开的实施例,输入层将训练数据集中的每个图像缩放到预设尺寸。
根据本公开的实施例,MobileNet-v2网络模型通过以下方式进行改进:采用预训练MobileNet-v2网络模型中的特征提取层参数作为图像分类模型的初始化参数,根据图像处理实际业务数据集对图像分类模型进行微调;以及在全连接层,将输出类别修改为预设图像种类数量,采用Xavier方法对全连接层的参数进行初始化。
根据本公开的实施例,MobileNet-v2网络模型采用训练后量化方式对权重进行量化。
根据本公开的实施例,训练后量化方式包括:在卷积神经网络模型训练完成后,将训练后的权重和激活函数均从32-bit浮点数量化为8-bit整数;或者将训练后的权重和激活函数均从32-bit浮点数量化为或16-bit浮点数。
本公开的另一个方面提供了一种用于图像处理的神经网络模型训练装置,包括:数据增强模块,用于将待处理源图像进行数据增强,添加相同的透明色与不同样式的背景图,得到增强数据集;边缘检测模块,用于使用边缘检测算法提取增强数据集中的每个图像的捕捉对象的边缘位置;形态学处理模块,用于使用形态学处理方法计算边缘位置对应的边界区域信息,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息,形成训练数据集;模型训练模块,用于将训练数据集输入到卷积神经网络模型中进行训练,得到图像分类模型。
根据本公开的实施例,模型训练模块还包括:模型切割单元,用于根据预设模型切割点,将图像分类模型切分为第一部分模型和第二部分模型,将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器;以及模型压缩单元,用于将第一部分模型和第二部分模型分别进行压缩编码。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述用于图像处理的神经网络模型训练方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现上述用于图像处理的神经网络模型训练方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现上述用于图像处理的神经网络模型训练方法。
与现有技术相比,本公开提供的用于图像处理的神经网络模型训练方法、装置、设备及介质,至少具有以下有益效果:
(1)对现有的卷积神经网络模型进行改进,在保证图像处理能力的同时节约模型所占用的计算、存储及无线资源,以便于在资源受限的条件下实现轻量级网络模型的实现高效部署;
(2)本公开通过数据增强、边缘检测和形态处理这种多层级的图像预处理,保证了图像分类模型的分类准确率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练方法及装置的系统架构;
图2示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练方法的流程图;
图3示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练方法的操作流程图;
图4示意性示出了根据本公开实施例的仿射变换的各种操作的结构图;
图5示意性示出了根据本公开实施例的形态学处理得到的边界区域信息的结构图;
图6示意性示出了根据本公开实施例的改进型Mobilenet-v2网络模型的结构图;
图7示意性示出了根据本公开另一实施例的用于图像处理的神经网络模型训练方法的流程图;
图8示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练装置的框图;
图9示意性示出了根据本公开另一实施例的模型训练模块的框图;以及
图10示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本公开提供了一种用于图像处理的神经网络模型训练方法,可以应用于人工智能技术领域。该方法包括:将待处理源图像进行数据增强,添加相同的透明色与不同样式的背景图,得到增强数据集;使用边缘检测算法提取增强数据集中的每个图像的捕捉对象的边缘位置;使用形态学处理方法计算边缘位置对应的边界区域信息,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息,形成训练数据集;将训练数据集输入到卷积神经网络模型中进行训练,得到图像分类模型。
图1示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练方法及装置的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构可以包括终端设备101、边缘服务器102和云端数据中心103。其中,终端设备101与边缘服务器102之间可以凭借通信链路相互通信,边缘服务器102与云端数据中心103之间也可以凭借通信链路相互通信。该通信链路可以包括各种连接类型,例如有线和/或无线通信链路等。
终端设备101可以是支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。特别地,终端设备101可以包括移动端设备,更具体地,该移动端设备可以包括移动物联网设备。移动物联网设备是基于移动手持设备的物联网终端,例如自动驾驶汽车、智能家居电器、智能门禁、视频终端设备等。
用户可以使用终端设备101通过通信链路与边缘服务器102交互,以接收或发送消息等。同理,边缘服务器102也可以通过通信链路与云端数据中心103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
云端数据中心103可以是数据中心、云计算中心或超算中心,具有强大计算与存储能力,可以提供各种管理或服务,例如对用户利用终端设备101所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)通过边缘服务器102反馈给终端设备101。
需要说明的是,本公开实施例所提供的用于图像处理的神经网络模型训练方法一般可以由云端数据中心103执行。相应地,本公开实施例所提供的用于图像处理的神经网络模型训练装置一般可以设置于云端数据中心103中。
具体地,本公开实施例涉及的图像处理可以包括移动端外币识别业务、移动端垃圾分类业务或数字识别业务。例如,移动端外币识别业务用于精准快速自动识别外币的币种、金额以及实时汇率;移动端垃圾分类业务可以为市民自动识别可回收垃圾、不可回收垃圾、厨余垃圾或有害垃圾;数字识别业务可以自动识别银行卡号或快递单号。
应该理解,图1中的终端设备、边缘服务器和云端数据中心的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、边缘服务器和云端数据中心。
图2示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练方法的流程图。图3示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练方法的操作流程图。
结合图3,对图2所示的方法做详细说明。本公开实施例中,用于图像处理的神经网络模型训练方法可以包括操作S201~S204。
在操作S201,将待处理源图像进行数据增强,添加相同的透明色与不同样式的背景图,得到增强数据集。
在操作S202,使用边缘检测算法提取增强数据集中的每个图像的捕捉对象的边缘位置。
在操作S203,使用形态学处理方法计算边缘位置对应的边界区域信息,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息,形成训练数据集。
在操作S204,将训练数据集输入到卷积神经网络模型中进行训练,得到图像分类模型。
通过本公开的实施例,通过数据增强、边缘检测和形态处理这种多层级的图像预处理,保证了图像分类模型的分类准确率。并且,本公开即可以减少卷积神经网络模型的计算资源与存储资源需求,又可以保证图像处理性能。
为防止欠拟合并模拟移动端用户的真实图像处理请求或搜索情况,本公开采用数据增强的方法来扩充数据集的规模。本公开实施例中,数据增强可以包括仿射变换、颜色变换、高斯噪声或模糊处理中的至少一种。在数据增强操作后,对扩充数据集统一添加相同的透明色与不同样式的背景图,以利于后续边缘位置提取。
具体地,仿射变换可以包括旋转变换、放缩变换、反射变换或剪切变换中的至少一种,放缩变换包括各向同性放缩变换或非各向同性放缩变换。仿射变换包括以上旋转变换、放缩变换、反射变换或剪切变换,以及这些变换任意次序次数的组合。
为了便于理解,设定输入图像矩阵用P表示、仿射变换矩阵用R表示、输出矩阵用Q表示,设旋转角度为θ,水平和竖直平移位移分别用tx和ty表示,放缩系数用s表示,仿射变换过程可以表征如下:
图4示意性示出了根据本公开实施例的仿射变换的各种操作的结构图。
如图4所示,平移变换和旋转变换为常规图像变换,放缩变换可进一步分为放缩变换包括各向同性放缩变换或非各向同性放缩变换,其中,每个坐标轴放缩系数相同即为各项同性放缩,其他放缩为非各向同性放缩。剪切变换是将所有点沿某一指定方向成比例地平移。
另外,颜色变换是指图像亮度、饱和度和对比度的变换,其实现原理是对输入图像的RGB三通道数据进行处理。高斯噪声是指在输入图像上随机叠加满足高斯分布的噪声数据。模糊处理是通过使用低通滤波器实现。
在对扩充数据集添加不同样式的背景图后,继续进行边缘检测,以计算出图像中有用内容的边缘坐标,即将待分类物体从不纯净的背景中抽离出来。
本公开实施例中,边缘检测算法包括基于训练好的整体嵌套边缘检测网络模型(Holistically-Nested Edge Detection,HED)的边缘检测算法。可以理解的是,经典的边缘检测算法可由OpenCV里面的cv2.Canny函数和cv2.findContours函数这种candy算子来实现,但是需要设定许多阈值参数,无法在真实的移动端图像处理场景下正常工作。本公开采用训练好的HED网络模型构建一个边缘检测器,可以在通用场景中正常工作。
通过本公开的实施例,针对图像处理领域中检测边缘和目标边界,利用训练好的HED网络模型,实现了基于整体图像进行端到端的训练和预测,同时完成多尺度的特征学习。
为了进一步精确增强数据集中的每个图像的捕捉对象的边界位置,使用形态学处理方法可以使捕捉对象的边缘轮廓更清晰。
本公开实施例中,形态学处理方法包括腐蚀操作、膨胀操作或开闭运算。
腐蚀操作是细化收缩输入图像中的目标对象,细化程序由结构元素控制。膨胀操作是将输入图像变粗或加长的操作,其加粗或加长程度由结构元素的集合控制。
开闭运算是腐蚀操作和膨胀操作的不同组合运算,包括开运算和闭运算。例如,开运算可以是先进行腐蚀操作,后进行膨胀操作,那么闭运算可以是先进行膨胀操作,后进行腐蚀操作。
图5示意性示出了根据本公开实施例的形态学处理得到的边界区域信息的结构图。
如图5所示,该图像中的捕捉对象例如可以为纸币,那么纸币所在的边界区域也即图中的白色部分。该边界区域清晰。由此可见,本公开的实施例通过数据增强、边缘检测和形态处理这种多层级的图像预处理,可在不纯净背景下精确定位到捕捉对象边框,保证了图像预处理质量。
进一步地,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息的步骤之后,还包括:将每个图像的边界区域之外的背景区域设置为白色。由此,将捕捉对象所在的边界区域之外设置统一背景,以方便规整统一输入至后续的卷积神经网络模型进行图像分类。
本公开实施例中,卷积神经网络模型包括轻量级网络模型。
可以理解的是,移动端的计算能力和存储空间往往是有限的,且时间消耗过将严重降低客户体验,因此直接在资源有限的移动端设备上部署卷积神经网络往往无法满足业务需求。本公开采用轻量级网络模型在云端进行模型训练,可以在保证图像处理能力的同时节约模型所占用的计算、存储及无线资源,以便于在资源受限的条件下实现轻量级网络模型的实现高效部署。
进一步地,为了更好地均衡模型占用资源和图像处理能力,该轻量级网络模型可以包括MobileNet-v2网络模型,MobileNet-v2网络模型包括输入层、多个特征提取层和全连接层。
其中,输入层将训练数据集中的每个图像缩放到预设尺寸。为适应MobileNet-v2网络模型的图像处理需求,该预设尺寸可以为224×224×3。
多个特征提取层包括卷积层、池化层、激活函数和批规范化等操作,用于完成原始数据到隐层特征空间的映射。全连接层起到分类器的作用,实现了特征提取层学到的“分布式特征表示”到样本标记空间的映射。实际使用时,全联接层可由卷积核为1×1的卷积操作实现。
本公开实施例中,MobileNet-v2网络模型通过以下方式进行改进:
采用预训练MobileNet-v2网络模型中的特征提取层参数作为图像分类模型的初始化参数,根据图像处理实际业务数据集对图像分类模型进行微调;以及
在全连接层,将输出类别修改为预设图像种类数量,采用Xavier方法对全连接层的参数进行初始化。
可以理解的是,Xavier方法可以尽可能使输入和输出服从相同的分布,目的是避免后续神经网络层的ReLu激活函数的输出值趋向于0。
图6示意性示出了根据本公开实施例的改进型Mobilenet-v2网络模型的结构图。
表1为根据本公开实施例的改进型Mobilenet-v2网络模型的结构表,结合表1和图6,该改进型Mobilenet-v2网络模型的主要特征点在于倒置残差Inverted Residual和线性瓶颈Linear Bottleneck。其中,倒置残差主要用来增加图像特征的提取以提高精度,而线性瓶颈主要用来避免非线性函数的信息丢失。
为了使RuLU激活函数在移动设备低精度的时候也能有很好的数值分辨率,对ReLU激活函数的激活范围加以限制,经实验表明ReLU的输出限制为6效果最好,这样限制后的函数重新命名为ReLU6。
在表1中,t是指在残差块中扩展的维度;c为输出的维数,也可用来判断卷积核的个数;s为卷积的步长,可用来判断下采样的倍数;n是当前行操作被重复应用n次。
表1
输入
运算器
t
c
n
s
224<sup>2</sup>×3
Conv2d
-
32
1
2
112<sup>2</sup>×32
Bottleneck
1
16
1
1
112<sup>2</sup>×16
Bottleneck
6
24
2
2
56<sup>2</sup>×24
Bottleneck
6
32
3
2
28<sup>2</sup>×32
Bottleneck
6
64
4
2
14<sup>2</sup>×64
Bottleneck
6
96
3
1
14<sup>2</sup>×96
Bottleneck
6
160
3
2
7<sup>2</sup>×160
Bottleneck
6
320
1
1
7<sup>2</sup>×320
Conv2d1×1
6
1280
1
1
7<sup>2</sup>×1280
Avgpool 7×7
-
-
1
-
1×1×1280
Conv2d 1×1
-
K
-
-
结合表1和图6,该改进型Mobilenet-v2网络模型的输出分类值K,也即预设图像种类数量。
网络量化指的是将其离散表示成低精度的数值点,通过减少表示每个权重所需的比特数来压缩原始网络。本公开实施例中,MobileNet-v2网络模型采用训练后量化方式对权重进行量化。
具体地,训练后量化方式包括:在卷积神经网络模型训练完成后,将训练后的权重和激活函数均从32-bit浮点数量化为8-bit整数;或者将训练后的权重和激活函数均从32-bit浮点数量化为或16-bit浮点数。
由于Mobilenet-v2网络模型中,权重参数和激活函数输出值默认是32bit的浮点数。本公开采用了训练后量化,即在训练过程中仍使用浮点数,训练完成后再针对权重进行量化,将权重和激活函数从32-bit浮点数量化为8-bit整数或16-bit浮点数。
通过本公开的实施例,图像分类模型以轻量级Mobilenet-v2网络模型为基础进行改进,并且在训练完成之后进行量化压缩以减少参数量和计算复杂度。
图7示意性示出了根据本公开另一实施例的用于图像处理的神经网络模型训练方法的流程图。
如图7所示,为简要起见,与前述图2所示的方法相同的特征不再赘述,以下仅描述其不同于前述实施例的特征,也即本公开另一实施例中,在前述图2所示的方法中还可以附加操作S710~S720。
在操作S710,根据预设模型切割点,将图像分类模型切分为第一部分模型和第二部分模型。
在操作S720,将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器。
进一步地,终端设备包括移动端设备,移动端设备包括移动物联网设备。
通过本公开的另一实施例,充分利用终端设备-边缘服务器-云端数据中心这三级层次网络架构中的可用资源,在保证服务质量的同时节约模型所占用的计算、存储及无线资源,从而在资源受限的条件下实现模型在移动端上的高效部署。
进一步地,本公开另一实施例中,将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器中的步骤之后,还可以包括:将第一部分模型和第二部分模型分别进行压缩编码。由此,经过压缩编码后将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器,进一步优化卷积神经网络模型。
基于上述用于图像处理的神经网络模型训练方法,本公开还提供了一种用于图像处理的神经网络模型训练装置。以下将结合图8和图9对该装置进行详细描述。
图8示意性示出了根据本公开实施例的用于图像处理的神经网络模型训练装置的框图。
如图8所示,用于图像处理的神经网络模型训练装置800可以包括数据增强模块810、边缘检测模块820、形态学处理模块830和模型训练模块840。
数据增强模块810,用于将待处理源图像进行数据增强,添加相同的透明色与不同样式的背景图,得到增强数据集。
边缘检测模块820,用于使用边缘检测算法提取增强数据集中的每个图像的捕捉对象的边缘位置。
形态学处理模块830,用于使用形态学处理方法计算边缘位置对应的边界区域信息,根据边界区域信息截取增强数据集中的每个图像的捕捉对象信息,形成训练数据集。
模型训练模块840,用于将训练数据集输入到卷积神经网络模型中进行训练,得到图像分类模型。
进一步地,本公开另一实施例中,该模型训练模块840可以包括模型切割单元910和模型压缩单元920。
模型切割单元910,用于根据预设模型切割点,将图像分类模型切分为第一部分模型和第二部分模型,将第一部分模型和第二部分模型分别部署于移动终端和边缘服务器。
模型压缩单元920,用于将第一部分模型和第二部分模型分别进行压缩编码。
需要说明的是,本公开的实施例中的装置部分与本公开的实施例中的方法部分是相对应的,用于图像处理的神经网络模型训练装置部分的描述具体参考用于图像处理的神经网络模型训练方法部分,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,数据增强模块810、边缘检测模块820、形态学处理模块830、模型训练模块840、模型切割单元910和模型压缩单元920中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,数据增强模块810、边缘检测模块820、形态学处理模块830、模型训练模块840、模型切割单元910和模型压缩单元920中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据增强模块810、边缘检测模块820、形态学处理模块830、模型训练模块840、模型切割单元910和模型压缩单元920中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的电子设备的框图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000包括处理器1010、计算机可读存储介质1020。该电子设备1000可以执行根据本公开实施例的用于图像处理的神经网络模型训练方法。
具体地,处理器1010例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1010还可以包括用于缓存用途的板载存储器。处理器1010可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质1020,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质1020可以包括计算机程序1021,该计算机程序1021可以包括代码/计算机可执行指令,其在由处理器1010执行时使得处理器1010执行根据本公开实施例的方法或其任何变形。
计算机程序1021可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1021中的代码可以包括一个或多个程序模块,例如包括1021A、模块1021B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1010执行时,使得处理器1010可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,数据增强模块810、边缘检测模块820、形态学处理模块830、模型训练模块840、模型切割单元910和模型压缩单元920中的至少一个可以实现为参考图10描述的计算机程序模块,其在被处理器1010执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的用于图像处理的神经网络模型训练方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的用于图像处理的神经网络模型训练方法。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算没备或服务器上执行。在涉及远程计算设备的情形中,远程计算没备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。