发明内容
针对现有技术中存在的技术问题,本发明的目的是:提供一种基于深度学习的图片自动调整对齐的方法及装置,其替代传统的调节方法,能够快速、客观、准确、清晰地获得调整后的图像。
为了达到上述目的,本发明采用如下技术方案:
一种基于深度学习的图片自动调整对齐的方法及设备,包括以下步骤:
1)模型的建立包括以下步骤:采用卷积神经网络对图像进行学习,在训练阶段,首先转换现有的所需调整对齐的图片和模板图片为灰度图并标注标签信息,形成的训练数据集中的标签集;然后将训练数据集输入U-net网络中,采用随机梯度下降法更新网络的参数,迭代多次,得到U-net网络模型;
2)对船上拍摄获取的初图片和模板图进行变换,均得到变换后的灰度图;
3)将变换后的灰度图均输入模型,模型将初图片的灰度图输出分割为初图片背景S1和与非背景部分的二值图像,模板图的灰度图输出分割为背景S2和非背景部分的二值图像;
4)计算初图片背景S1和模板背景S2的质心点z1和z2;
5)比较质心点z1和z2在图片中的相对位置,得到偏移量,然后根据该偏移量用计算机调整得到自适应调整后的准确图片。
进一步,步骤4)中,质心以及相对位置,已知初图片背景S1与模板背景S2的面积图,则求质心点是通过使用连通域的方法计算不规则多边形范围矩形bounds的中心点,方法如下:
1)用连通域的方法获取背景分区(如果背景被目标物分开则会有多个背景),连通域标记会有从1到n个(n≥1);
2)任意选用一个连通域标记的背景S1’和S2’,分别将S1’,S2’区域内的横坐标与纵坐标求和在求平均,即为区域中心坐标的横坐标x和纵坐标y(如公式1-1和公式1-2所示);
(k代表着所用连通域标记的目标背景所含的像素点个数)
以不规则多边形范围矩形bounds的中心点作为质心点z1(x1’,y1’)和z2(x2’,y2'),相对位置就比较质心点z1与z2的x,y的差即可得到应该调整的距离x1和y1。
进一步,步骤5)中,通过步骤4)中的方法得到相对位置x1和y1,通过计算机计算得到调整x1和y1后的像,其中x1若为正,则根据图像的x横坐标像素点坐标增大的方向移动图片,反之,则根据图像的x横坐标像素点坐标减小的方向移动图片;y的移动方式同理。
进一步,所述卷积神经网络结构为:U-Net输入256×256×1的图像,卷积核的大小为3×3,池化采用的是最大池化,窗口大小为2×2,本网络结构图中所有卷积核的步长为1,池化的步长为2,所有的卷积层和全连接层之后连接的是激励层,激活函数是relu。
进一步,所述U-Net的任务是背景分类,背景点位置回归;对于背景分类任务,损失函数采用交叉熵损失函数。
进一步,所述U-Net的关键点位置回归任务采用平滑的L1损失函数,因此整个网络的损失函数为两种损失函数的加权之和。
进一步,包括处理器、存储器以及存储在该存储器中并可在所述处理器上运行的计算机程序,该处理器执行所述计算机程序,所述计算机程序:运行软件python使用搭建U-net神经网络代码进行深度学习的网络训练得到模型,使用代码输入图片到U-net网络模型中,运行软件matlab进行连通域,找不规则图像的中心,移动图像代码。
进一步,所述计算机程序被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,所述一个或多个模块为完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序的执行过程
总的说来,本发明具有如下优点:
本发明所述一种基于深度学习的图片自动调整对齐的方法,本发明的图像位置自适应调整模型通过深度学习可以分割出各种位置下图片的背景与非背景然后利用图片背景与模板背景两质心的相对位置找到应纠正的距离,最终通过计算机调整得到调整后清晰的图像,本发明通过运用深度学习技术,经过图像训练后能快速、精准地识别图像的背景,所得结果快速、客观、准确、稳定。
具体实施方式
下面来对本发明做进一步详细的说明。
如图1所示,一种基于深度学习的图片自动调整对齐的方法主要包括如下步骤:
101、输入初次拍摄的初图片以及模板图,对初图片和模板图进行变换,得到变换后的灰度图;
102、将变换后的灰度图输入U-net网络模型,模型输出分割拍摄图片的初图片背景S1和模板图片的模板背景S2的二值图像;
103、计算初图片背景S1和模板背景S2的质心,对应z1和z2;
104、比较z1和z2在图像中的相对位置,得到偏移量,然后根据该偏移量用计算机调整得到自适应调整后的准确图像。
为此,在本实施例中,本方法采用深度学习来对图像位置自适应调整,在训练阶段,首先转换现有的所需调整对齐的图片和模板图片为灰度图并标注标签信息,形成的训练数据集中的标签集;然后将训练数据集输入U-net网络中,采用随机梯度下降法更新网络的参数,迭代多次,来得到U-net网络模型。
本实施方法中,由于在科考船所拍摄的图片其背景十分相似,关键点选为图像中的背景作为特征点。用于深度学习的卷积神经网络结构如大致如图2所示,U-Net输入256×256×1的图像,1表示图像的灰色通道,卷积核的大小为3×3,池化采用的是最大池化,窗口大小为2×2,本网络结构图中所有卷积核的步长为1,池化的步长为2,所有的卷积层和全连接层之后连接的是激励层,激活函数是relu。该U-Net的任务是背景分类,背景点位置回归;对于背景分类任务,损失函数采用交叉熵损失函数,为了降低对异常样本的敏感性并且防止梯度爆炸,关键点位置回归任务采用平滑的L1损失函数,因此整个网络的损失函数为两种损失函数的加权之和。
U-net输入两种数据,第一种是图像灰度图数据图,第二种是图像的背景标签图。因为考虑数据量比较大,因此使用卷积层来缩减数据,只用Dense层来集中神经元,能满足训练质量的同时也保证网络足够复杂,让训练更加快速,防止欠拟合。
(1)数据集准备
准备一定数量需调整的拍摄得到的初图片,可以是不同位置和光线亮度的,然后对其进行灰度图变换,当不同的数据集越多的时候,深度学习训练得到的模型泛化能力就越强。
(2)训练与预测
网络框架使用U-net网络,设定好训练的参数后,进行批次数为100(因数据不同需要训练的次数会有所波动,若因批次数过多导致过拟合则减少训练批次数,因批次数过少导致欠拟合则增加批次数)的训练,将会得到U-net网络模型(文件格式为h5df,读取模型后输入所拍摄的初图片和模板图的灰度图,会得到模型预测之后的初图片的背景S1以及模板的S2),之后可以直接用来预测任何一张初图片(输入所拍摄的图片的灰度图)以及模板图的灰度图,预测之后会得到初图片的初图片背景S1以及模板图的背景图S2(用网络把图像中的背景区域分割出来是“背景部分”网络将把他们标记为1,否则为0),训练的时候输入灰度图和标签信息,预测的时候只需要输入灰度图。
(3)质心以及相对位置
现在已知初图片背景S1与S2的面积图,则求质心点是通过使用连通域的方法计算不规则多边形范围矩形bounds的中心点,方法如下:
用连通域的方法获取背景分区(如果背景被目标物分开则会有多个背景),连通域标记会有从1到n个(n≥1)。
任意选用一个连通域标记的背景S1’和S2’,分别将S1’,S2’区域内的横坐标与纵坐标求和在求平均,即为区域中心坐标的横坐标x和纵坐标y(如公式1-1和公式1-2所示),效果图如图3所示。
(k代表着所用连通域标记的目标背景所含的像素点个数)
以不规则多边形范围矩形bounds的中心点作为质心点z1(x1’,y1’)和z2(x2’,y2'),相对位置就比较z1与z2的x,y的差即可得到应该调整的距离x1和y1。
(4)获取调整后的像
通过步骤3中的方法得到相对位置x1和y1,通过计算机计算得到调整x1和y1后的像(x1若为正,则根据图像的x横坐标像素点坐标增大的方向移动图片,反之,则根据图像的x横坐标像素点坐标减小的方向移动图片;y的移动方式同理)
由此可知,相比于用传统的方法调整对齐,深度学习的方法的速度受图像大小的影响大大减少了,从而能很快速且精准的调整对齐,所得到的图像更加准确。
本发明所示的图像位置自适应对齐系统以解决图像纠正偏移对齐方法存在问题为导向,提出了基于深度学习的图像自适应调整对齐方法,向从样本训练后的神经网络模型输入所拍摄的图片的灰度图以及模板的灰度图后模型可以自动分割出背景S1与S2,用连通域等后处理计算得到背景的质心z1和z2的相对位置(即两坐标点的差,步骤(3)中所谓的x1,y1),通过计算机根据这x1和x2移动图像最终得到清晰的图片,从而实现自动对齐。并且相比于传统的算法直接调节用神经网络的模型来自动调节更加精准与正确,同时速度更快。对于传统算法调节的情况可能会出现不准确,费大量时间等问题,而是用深度学习的方法对处理上述问题具有重大意义。
参阅图4所示,本发明包括处理器1、存储器2以及存储在该存储器2中并可在所述处理器1上运行的计算机程序3,例如自适应调整对齐程序。该处理器1执行所述计算机程序3(计算机程序:运行软件python使用搭建Unet神经网络代码进行深度学习的网络训练得到模型,使用代码输入图片到网络模型中,运行软件matlab进行连通域,找不规则图像的中心,移动图像等代码)时实现上述步骤,例如图1所示的步骤。
示例性的,所述计算机程序3可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器2中(存储器也叫做硬盘,用来储存上述代码文件,以及储存运行上述程序的程序(python、matlab)以及相应环境(如python要用环境TensorFlow、Keras环境等等)如甚至是储存启动电脑的Windows系统文件、硬件驱动(训练所用GPU显卡,CPU处理器等等)),并由所述处理器1执行,以完成本发明。所述一个或多个模块/单元可以是、能够完成特定功能的一系列计算机程序指令段(指令简单来讲就是我们所输入的代码),该指令段用于描述所述计算机程序3在所述自适应调整对齐装置中的执行过程。
所述图片自适应调整对齐装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述自适应调整对齐装置可包括,但不仅限于,处理器1、存储器2。本领域技术人员可以理解,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述自适应调整对齐装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器2可以是所述自适应调整对齐装置的内部存储元,例如自适应调整对齐装置的硬盘或内存。所述存储器2也可以是所述自适应调整对齐装置的外部存储设备,例如所述自适应调整对齐装置上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器2还可以既包括所述动自适应调整对齐装置的内部存储单元也包括外部存储设备。所述存储器2用于存储所述计算机程序以及所述自适应调整对齐装置所需的其他程序和数据。所述存储器2还可以用于暂时地存储已经输出或者将要输出的数据。
计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤。
所示计算机可读介质可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理再以电子方式获得所述程序,然后将其存储在计算机存储器中。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。