发明内容
本公开的目的是提供一种应用广泛的训练图像修复模型的方法、图像修复方法、装置、介质及设备。
为了实现上述目的,根据本公开的第一方面,提供一种训练图像修复模型的方法,所述方法包括:
利用预设的掩膜图像对完整图像进行破损处理,生成破损图像;
将所述破损图像输入至图像修复模型,获得修复图像和缺失图像,所述缺失图像为所述破损图像的缺失部分的图像;
根据所述完整图像、所述修复图像、所述掩膜图像和所述缺失图像,确定所述图像修复模型的损失值;
在所述损失值大于预设阈值时,根据所述损失值更新所述图像修复模型。
根据本公开的第二方面,提供一种图像修复方法,所述方法包括:
接收待修复图像;
将所述待修复图像输入至图像修复模型,得到修复图像,其中,所述图像修复模型是通过上述第一方面所述方法进行训练得到的。
根据本公开的第三方面,提供一种训练图像修复模型的装置,所述装置包括:
生成模块,用于利用预设的掩膜图像对完整图像进行破损处理,生成破损图像;
修复模块,用于将所述破损图像输入至图像修复模型,获得修复图像和缺失图像,所述缺失图像为所述破损图像的缺失部分的图像;
确定模块,用于根据所述完整图像、所述修复图像、所述掩膜图像和所述缺失图像,确定所述图像修复模型的损失值;
更新模块,用于在所述损失值大于预设阈值时,根据所述损失值更新所述图像修复模型。
根据本公开的第四方面,提供一种图像修复装置,所述装置包括:
接收模块,用于接收待修复图像;
处理模块,用于将所述待修复图像输入至图像修复模型,得到修复图像,其中,所述图像修复模型是通过上述第一方面所述方法进行训练得到的。
根据本公开的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述方法的步骤。
根据本公开的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第二方面所述方法的步骤。
根据本公开的第七方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面所述方法的步骤。
根据本公开的第八方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第二方面所述方法的步骤。
在上述技术方案中,通过预设的掩膜图像对完整图像进行破损处理,以生成破损图像;并根据完整图像、修复图像、掩膜图像、缺失图像,确定图像修复模型的损失值,从而通过该损失值对图像修复模型进行训练。因此,通过上述技术方案,在对图像修复模型进行训练时,不仅通过完整图像进行监督训练,同时还通过缺失图像进行监督训练,使得在基于图像修复模型进行图像修复时,可以有效保证破损图像中的缺失部分的准确性,从而可以有效提高图像修复模型的精准度。更进一步地,还可以提高该图像修复模型的鲁棒性和可迁移性,并且有效提高基于该图像修复模型进行图像修复获得的修复图像的质量,提升用户使用体验。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1所示,为根据本公开的一种实施方式提供的训练图像修复模型的方法的流程图。如图1所示,所述方法包括:
在S11中,利用预设的掩膜图像对完整图像进行破损处理,生成破损图像。
其中,可以从数据库或者互联网上获取大量的完整图像。之后,利用预设的掩膜图像对完整图像进行破损处理,生成破损图像,同时可以存储该掩膜图像与破损图像之间的对应关系。其中,预设的掩膜图像可以是随机生成的各种噪声。
在S12中,将破损图像输入至图像修复模型,获得修复图像和缺失图像,所述缺失图像为所述破损图像的缺失部分的图像。
其中,所述图像修复模型可以通过任意结构的自编码全卷积网络实现。示例地,在该卷积网络中的最后一个特征层学习的是破损图像对应的缺失图像,其中,缺失图像与破损图像的大小相同。
可选地,所述修复图像通过如下方式获得:将所述破损图像与所述缺失图像叠加。
示例地,可以通过如下公式确定修复图像:
其中,表示所述修复图像的图像矩阵;
H(x)表示所述缺失图像的图像矩阵;
x表示所述破损图像的图像矩阵。
在该实施例中,当破损图像输入至图像修复模型中时,图像修复模型的最后一个特征层可以输出与输入的破损图像对应的缺失图像,并且两者大小相同。因此,可以将该破损图像和缺失图像进行叠加,从而获得修复图像。因此,通过上述技术方案,在对图像修复模型进行训练时,一方面可以学习训练破损图像对应的缺失图像,提高该图像修复模型的适用性和可迁移性,另一方面,又可以快速确定出修复图像。
在S13中,根据完整图像、修复图像、掩膜图像和缺失图像,确定图像修复模型的损失值。
其中,所述损失值的大小可以表征通过图像修复模型获得的修复图像的质量,当损失值越小时,表征修复图像的质量越高。因此,在确定图像修复模型的损失值时,与现有技术中只考虑完整图像与修复图像之间的损失相较,本公开中通过完整图像、修复图像、掩膜图像和缺失图像确定图像修复模型的损失值,使得图像修复模型通过多个图像进行监督训练,以拓宽图像修复模型的适用范围。
在S14中,在损失值大于预设阈值时,根据损失值更新图像修复模型。
其中,预设阈值可以表示该图像修复模型的图像修复损失的接受程度,示例地,该预设阈值可以为10-6。因此,当损失值大于该预设阈值10-6时,表示此时图像修复模型的损失值较大,即需要继续进行训练以获得更加准确的图像修复模型。需要进行说明的是,根据损失值更新图像修复模型的方法为现有技术,对此不再赘述。
在对破损图像进行修复时,主要目的是要还原破损图像中的缺失部分。在上述技术方案中,通过预设的掩膜图像对完整图像进行破损处理,以生成破损图像;并根据完整图像、修复图像、掩膜图像、缺失图像,确定图像修复模型的损失值,从而通过该损失值对图像修复模型进行训练。因此,通过上述技术方案,在对图像修复模型进行训练时,不仅通过完整图像进行监督训练,同时还通过缺失图像进行监督训练,使得在基于图像修复模型进行图像修复时,可以有效保证破损图像中的缺失部分的准确性,从而可以有效提高图像修复模型的精准度。更进一步地,还可以提高该图像修复模型的鲁棒性和可迁移性,并且有效提高基于该图像修复模型进行图像修复获得的修复图像的质量,提升用户使用体验。
可选地,在更新所述图像修复模型之后,返回所述利用预设的掩膜图像对完整图像进行破损处理,生成破损图像的步骤S11,直到更新后的所述图像修复模型的损失值小于或等于所述预设阈值为止。
其中,所述预设的掩膜图像、完整图像等可以为多个。在一实施例中,在返回步骤S11时,生成的新的破损图像可以是根据上一训练所用的掩膜图像对另一新的完整图像进行破损处理所得的。之后,通过该掩膜图像、新的完整图像、新的破损图像对该图像修复模型进行训练。其中,后续训练的步骤在上文已经详述,在此不再赘述。
在另一实施例中,在返回步骤S11时,生成的新的破损图像可以是根据另一新的掩膜图像对上一训练所用的完整图像进行破损处理所得的。之后,通过该完整图像、新的掩膜图像、新的破损图像对该图像修复模型进行训练。其中,后续训练的步骤在上文已经详述,在此不再赘述。
在另一实施例中,在返回步骤S11时,生成的新的破损图像可以是根据另一新的掩膜图像对另一新的完整图像进行破损处理所得的。之后,通过该新的完整图像、新的掩膜图像、新的破损图像对该图像修复模型进行训练。其中,后续训练的步骤在上文已经详述,在此不再赘述。
在上述技术方案中,通过循环执行上述步骤(S11-S14),从而实现对图像修复模型的训练。当更新后的图像修复模型的损失值小于或等于预设阈值时,表示图像修复模型的损失值已经满足图像修复损失的接受程度,即此时可以结束该图像修复模型的训练过程。之后,可以基于该图像修复模型对破损图像进行图像修复。因此,通过上述技术方案,可以快速且准确地对图像修复模型进行训练,从而降低图像修复模型的损失值,提高图像修复模型的精准度和训练效率,提升用户使用体验。
可选地,根据完整图像、修复图像、掩膜图像和缺失图像,确定图像修复模型的损失值的步骤S13的一种示例性实现方式如下,如图2所示,可以包括:
在S21中,根据完整图像和修复图像,确定第一损失值。
其中,所述第一损失值可以为所述完整图像的图像矩阵与所述修复图像的图像矩阵之间的欧氏距离。示例地,可以通过如下公式确定第一损失值:
其中,loss1表示所述第一损失值;
表示所述修复图像的图像矩阵;
Y表示所述完整图像的图像矩阵。
在S22中,根据缺失图像和掩膜图像,确定第二损失值。
其中,所述第二损失值可以为将所述缺失图像的图像矩阵中的元素与所述掩膜图像的图像矩阵中对应位置的元素相乘所得的矩阵的二范数。示例地,可以通过如下公式确定第二损失值:
loss2=||M(x)⊙H(x)||2;
其中,loss2表示所述第二损失值;
M(x)表示掩膜图像的图像矩阵;
H(x)表示缺失图像的图像矩阵。
在S23中,根据第一损失值和第二损失值,确定图像修复模型的损失值。
在一实施例中,可以将所述第一损失值和所述第二损失值的平均值确定为所述图像修复模型的损失值。
在另一实施例中,所述根据所述第一损失值和所述第二损失值,确定所述图像修复模型的损失值,可以包括:
通过如下公式确定所述图像修复模型的损失值:
loss=loss1+λloss2
其中,loss1表示所述第一损失值;
loss2表示所述第二损失值;
λ表示预设的权重系数,取值范围为[0,1],其中,λ可以通过经验或者试验确定。
在上述技术方案中,通过完整图像和修复图像确定第一损失值,可以得出通过图像修复模型获得的修复图像和完整图像之间的差异损失;通过缺失图像和掩膜图像确定第二损失值,可以得出通过图像修复模型获得的缺失图像和掩膜图像之间的差异损失。在通过上述公式确定图像修复模型的损失值时,将完整图像和修复图像之间的第一损失值作为主要损失值,使得通过该图像修复模型的获得的修复图像更加接近于完整图像。同时,还充分考虑了缺失图像和掩膜图像之间的第二损失值对最终修复结果的影响,使得该图像修复模型可以适用于更加复杂的破损图像的修复,同时使得通过图像修复模型的获得的修复图像更加精准。
因此,通过第一损失值和第二损失值确定出的损失值对图像修复模型进行监督训练时,可以充分对图像修复模型确定出的缺失图像和修复图像进行监督训练,从而有效提高图像修复模型的训练效率,降低图像修复模型的训练数量,提高图像修复模型的图像修复的精准度。
本公开还提供一种图像修复方法,如图3所示,所述方法包括:
在S31中,接收待修复图像;
在S32中,将待修复图像输入至图像修复模型,得到修复图像,其中,所述图像修复模型是通过上述的训练图像修复模型的方法进行训练得到的。
在该实施例中,图像修复模型在训练时,不仅对完整图像与修复图像之间的损失进行修正,还对破损图像中的缺失图像与对应的掩膜图像之间的损失进行修正,因此,在基于图像修复模型对待修复图像进行修复时,使得确定出的缺失图像更加贴合待修复图像中的破损部分,从而提高修复图像的质量。另外,也可以有效提高图像修复的效率,提升用户使用体验。
本公开还提供一种训练图像修复模型的装置。图4所示,为根据本公开的一种实施方式提供的训练图像修复模型的装置的框图,如图4所示,所述装置10包括:
生成模块100,用于利用预设的掩膜图像对完整图像进行破损处理,生成破损图像;
修复模块200,用于将所述破损图像输入至图像修复模型,获得修复图像和缺失图像,所述缺失图像为所述破损图像的缺失部分的图像;
确定模块300,用于根据所述完整图像、所述修复图像、所述掩膜图像和所述缺失图像,确定所述图像修复模型的损失值;
更新模块400,用于在所述损失值大于预设阈值时,根据所述损失值更新所述图像修复模型。
可选地,在所述更新模块400更新所述图像修复模型之后,触发所述生成模块100利用预设的掩膜图像对完整图像进行破损处理,生成破损图像,直到更新后的所述图像修复模型的损失值小于或等于所述预设阈值为止。
可选地,所述修复图像通过如下方式获得:将所述破损图像与所述缺失图像叠加。
可选地,如图5所示,所述确定模块300可以包括:
第一确定子模块301,用于根据所述完整图像和所述修复图像,确定第一损失值;
第二确定子模块302,用于根据所述缺失图像和所述掩膜图像,确定第二损失值;
第三确定子模块303,用于根据所述第一损失值和所述第二损失值,确定所述图像修复模型的损失值。
可选地,所述第一损失值为所述完整图像的图像矩阵与所述修复图像的图像矩阵之间的欧氏距离。
可选地,所述第二损失值为将所述缺失图像的图像矩阵中的元素与所述掩膜图像的图像矩阵中对应位置的元素相乘所得的矩阵的二范数。
可选地,所述第三确定子模块303通过如下公式确定所述图像修复模型的损失值:
loss=loss1+λloss2
其中,loss1表示所述第一损失值;
loss2表示所述第二损失值;
λ表示预设的权重系数。
本公开还提供一种图像修复装置,如图6所示,所述装置20包括:
接收模块500,用于接收待修复图像;
处理模块600,用于将所述待修复图像输入至图像修复模型,得到修复图像,其中,所述图像修复模型是通过上述训练图像修复模型的方法进行训练得到的。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的训练图像修复模型的方法或者图像修复方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的训练图像修复模型的方法或者图像修复方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的训练图像修复模型的方法或者图像修复方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的训练图像修复模型的方法或者图像修复方法。
图8是根据一示例性实施例示出的一种电子设备800的框图。例如,电子设备800可以被提供为一服务器。参照图8,电子设备800包括处理器822,其数量可以为一个或多个,以及存储器832,用于存储可由处理器822执行的计算机程序。存储器832中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器822可以被配置为执行该计算机程序,以执行上述的训练图像修复模型的方法或者图像修复方法。
另外,电子设备800还可以包括电源组件826和通信组件850,该电源组件826可以被配置为执行电子设备800的电源管理,该通信组件850可以被配置为实现电子设备800的通信,例如,有线或无线通信。此外,该电子设备800还可以包括输入/输出(I/O)接口858。电子设备800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的训练图像修复模型的方法或者图像修复方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器832,上述程序指令可由电子设备800的处理器822执行以完成上述的训练图像修复模型的方法或者图像修复方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。