本发明涉及图像处理技术领域,特别是涉及一种照片上传方法及装置、存储介质及电子设备。
背景技术:
随着科学技术的发展,用户可以通过手机等移动终端办理日常生活中许多常见业务,例如可以通过手机银行办理银行业务等等,给人们的生活带来了较大的便利。
用户在通过移动终端办理业务的过程中,业务系统为了对用户进行身份认证或是应业务内容要求,常常需要用户上传相应类型的照片,例如证件照片、证明文件照片或是个人照片等等。
为了准确识别用户上传的照片中的信息,业务系统大多对用户上传的照片具有清晰度的要求,当用户上传的照片不符合清晰度要求时,则会提示用户重新上传。而在现实生活中,用户在上传照片时,通常是实时触发移动终端的相机进行照片的拍摄并将拍摄的照片上传。而拍摄时触动拍摄按键的动作常常会使移动终端产生抖动,使照片清晰度较低。因此,用户通常难以在单次拍摄的情况下就得到清晰度较高的照片,故用户在上传照片过程中,通常需要进行多次拍摄,过程较为繁琐,用户体验较差。
技术实现要素:
有鉴于此,本发明实施例提供了一种照片上传方法,以解决用户在上传你照片过程中需多次拍摄,过程较为繁琐,用户体验较差的问题。
本发明实施例还提供了一种照片上传装置,用以保证上述方法实际中的实现及应用。
为实现上述目的,本发明实施例提供如下技术方案:
一种照片上传方法,包括:
当监测到终端接收到用户发送的相机启动指令时,触发所述终端在目标时间段内依据预设的拍摄周期进行自动拍摄,所述目标时间段为所述终端接收到所述用户发送的相机启动指令至所述终端接收到所述用户发送的拍摄指令之间的时间段;
当接收到用户上传的第一照片时,获取第二照片;所述第一照片为所述终端接收到所述用户发送的拍摄指令时所拍摄的照片,所述第二照片为所述终端在所述目标时间段内自动拍摄的最后一张照片;
获取所述第二照片中每个像素点的像素点信息,依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像;
在所述第一照片中识别第二目标图像,所述第二目标图像与所述第一目标图像表征相同的图像目标;
依据所述第一目标图像及所述第二目标图像,确定模糊图像长度;
确定第一时间间隔,所述第一时间间隔为所述终端拍摄所述第二照片时至拍摄所述第一照片时的时间间隔;
依据所述模糊图像长度以及所述第一时间间隔,确定所述第一照片的抖动参数;
基于所述抖动参数以及已训练的反向传播神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片,并以所述第三照片替代所述用户上传的所述第一照片。
上述的方法,可选的,所述依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像,包括:
依据各个所述像素点的像素点信息中的颜色值及位置坐标,在所述第二照片中确定至少一个待选择图像,每个所述待选择图像由多个相邻的像素点组成;
依据每个所述待选择图像中每个像素点的像素点信息,确定该待选择图像的图像特征参数集合;所述图像特征参数集合中包括所述待选择图像的饱和度、明度或色相中的至少一个特征参数;
基于每个所述待选择图像的图像特征参数集合以及预设的选取规则,在各个所述待选择图像中选取目标图像,将所述目标图像作为第一目标图像。
上述的方法,可选的,所述在所述第一照片中识别第二目标图像,包括:
依据所述第一目标图像中每个像素点的像素点信息中的位置坐标,在所述第一照片中,确定目标区域;
获取所述目标区域的每个像素点的像素点信息,将所述目标区域的各个像素点的像素点信息与所述第一目标图像的各个像素点的像素点信息进行比对,识别所述目标区域中与第一目标图像的各个像素点相匹配的各个目标像素点,将所有所述目标像素点组成的图像作为所述第一照片中的第二目标图像。
上述的方法,可选的,所述依据所述第一目标图像及所述第二目标图像,确定模糊图像长度,包括:
确定所述第一目标图像的第一图像位置以及所述第二目标图像的第二图像位置,依据所述第一图像位置及第二图像位置,确定图像移动方向;
确定第一长度以及第二长度,所述第一长度为所述第一目标图像在所述图像移动方向上的图像长度,所述第二长度为所述第二目标图像在所述图像移动方向上的图像长度;
计算所述第一长度与所述第二长度的差值,将所述差值的绝对值作为模糊图像长度。
上述的方法,可选的,所述依据所述模糊长度以及所述第一时间间隔,确定所述第一照片的抖动参数,包括:
计算所述模糊图像长度与所述第一时间间隔的比值,将所述比值作为所述第一照片的抖动参数。
上述的方法,可选的,所述反向传播神经网络模型的训练过程,包括:
将预设的样本数据中的训练输入矩阵输入所述反向传播神经网络模型的输入层,并从所述反向传播神经网络模型的输出层获取实际输出矩阵;
依据所述实际输出矩阵及所述样本数据中的期望输出矩阵,依次计算所述反向传播神经网络模型的输出层误差、隐含层误差以及输入层误差;所述训练输入矩阵为依据目标抖动参数以及目标拍摄对象的手动拍摄照片所构建的输入矩阵,所述期望输出矩阵为依据所述目标拍摄对象的高清拍摄照片所构建的输出矩阵,所述目标抖动参数为所述手动拍摄照片的抖动参数;
依据所述输入层误差、隐含层误差以及输入层误差,更新所述反向传播神经网络模型的输入连接权值、输出连接权值、隐含层阈值以及输出层阈值。
上述的方法,可选的,所述基于所述抖动参数以及已训练的反向传播神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片,包括:
依据所述第一照片及其抖动参数,构建输入矩阵;
将所述输入矩阵输入所述反向传播神经网络模型的输入层,并从所述反向传播神经网络模型的输出层获取所述输入矩阵对应的输出矩阵;
依据所述输出矩阵生成所述第三照片。
一种照片上传装置,包括:
触发单元,用于当监测到终端接收到用户发送的相机启动指令时,触发所述终端在目标时间段内依据预设的拍摄周期进行自动拍摄,所述目标时间段为所述终端接收到所述用户发送的相机启动指令至所述终端接收到所述用户发送的拍摄指令之间的时间段;
第一获取单元,用于当接收到用户上传的第一照片时,获取第二照片;所述第一照片为所述终端接收到所述用户发送的拍摄指令时所拍摄的照片,所述第二照片为所述终端在所述目标时间段内自动拍摄的最后一张照片;
第二获取单元,用于获取所述第二照片中每个像素点的像素点信息,依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像;
识别单元,用于在所述第一照片中识别第二目标图像,所述第二目标图像与所述第一目标图像表征相同的图像目标;
第一确定单元,用于依据所述第一目标图像及所述第二目标图像,确定模糊图像长度;
第二确定单元,用于确定第一时间间隔,所述第一时间间隔为所述终端拍摄所述第二照片时至拍摄所述第一照片时的时间间隔;
第三确定单元,用于依据所述模糊图像长度以及所述第一时间间隔,确定所述第一照片的抖动参数;
第三获取单元,用于基于所述抖动参数以及已训练的反向传播神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片,并以所述第三照片替代所述用户上传的所述第一照片。
上述的装置,可选的,所述第二获取单元,包括:
第一确定子单元,用于依据各个所述像素点的像素点信息中的颜色值及位置坐标,在所述第二照片中确定至少一个待选择图像,每个所述待选择图像由多个相邻的像素点组成;
第二确定子单元,用于依据每个所述待选择图像中每个像素点的像素点信息,确定该待选择图像的图像特征参数集合;所述图像特征参数集合中包括所述待选择图像的饱和度、明度或色相中的至少一个特征参数;
选取子单元,用于基于每个所述待选择图像的图像特征参数集合以及预设的选取规则,在各个所述待选择图像中选取目标图像,将所述目标图像作为第一目标图像。
上述的装置,可选的,所述识别单元,包括:
第三确定子单元,用于依据所述第一目标图像中每个像素点的像素点信息中的位置坐标,在所述第一照片中,确定目标区域;
识别子单元,用于获取所述目标区域的每个像素点的像素点信息,将所述目标区域的各个像素点的像素点信息与所述第一目标图像的各个像素点的像素点信息进行比对,识别所述目标区域中与第一目标图像的各个像素点相匹配的各个目标像素点,将所有所述目标像素点组成的图像作为所述第一照片中的第二目标图像。
上述的装置,可选的,所述第一确定单元,包括:
第四确定子单元,用于确定所述第一目标图像的第一图像位置以及所述第二目标图像的第二图像位置,依据所述第一图像位置及第二图像位置,确定图像移动方向;
第五确定子单元,用于确定第一长度以及第二长度,所述第一长度为所述第一目标图像在所述图像移动方向上的图像长度,所述第二长度为所述第二目标图像在所述图像移动方向上的图像长度;
第一计算子单元,用于计算所述第一长度与所述第二长度的差值,将所述差值的绝对值作为模糊图像长度。
上述的装置,可选的,所述第三确定单元,包括:
第二计算子单元,用于计算所述模糊图像长度与所述第一时间间隔的比值,将所述比值作为所述第一照片的抖动参数。
上述的装置,可选的,还包括:
输入单元,用于将预设的样本数据中的训练输入矩阵输入所述反向传播神经网络模型的输入层,并从所述反向传播神经网络模型的输出层获取实际输出矩阵;
计算单元,用于依据所述实际输出矩阵及所述样本数据中的期望输出矩阵,依次计算所述反向传播神经网络模型的输出层误差、隐含层误差以及输入层误差;所述训练输入矩阵为依据目标抖动参数以及目标拍摄对象的手动拍摄照片所构建的输入矩阵,所述期望输出矩阵为依据所述目标拍摄对象的高清拍摄照片所构建的输出矩阵,所述目标抖动参数为所述手动拍摄照片的抖动参数;
更新单元,用于依据所述输入层误差、隐含层误差以及输入层误差,更新所述反向传播神经网络模型的输入连接权值、输出连接权值、隐含层阈值以及输出层阈值。
上述的装置,可选的,所述第三获取单元,包括:
构建子单元,用于依据所述第一照片及其抖动参数,构建输入矩阵;
获取子单元,用于将所述输入矩阵输入所述反向传播神经网络模型的输入层,并从所述反向传播神经网络模型的输出层获取所述输入矩阵对应的输出矩阵;
生成子单元,用于依据所述输出矩阵生成所述第三照片。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的照片上传方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的照片上传方法。
基于上述本发明实施例提供的一种照片上传方法,通过在监测到终端接收到用户发送的相机启动指令时,触发终端进行自动拍摄。当接收到用户上传的、用户拍摄的第一照片时,获取终端自动拍摄的第二照片。在第二照片中选取第一目标图像,并在第一照片中识别与所述第一目标图像表征相同图像目标的第二目标图像。根据第一目标图像以及第二目标图像确定模糊图像长度,依据该模糊图像长度以及终端拍摄所述第二照片时至拍摄所述第一照片时的时间间隔,确定第一照片的抖动参数。基于该抖动参数以及已训练的反向传播神经网络模型对第一照片进行高清修复,以修复后的照片替代用户上传的第一照片。应用本发明实施例提供的方法,当用户拍摄照片并上传后,可以根据终端自动拍摄的照片确定用户所上传的照片的抖动参数,并基于已训练的反向传播神经网络模型对用户上传的照片进行高清修复,以高清修复后的照片替代用户上传的照片,可以对修复后的照片进行信息识别,提高信息识别的成功率,避免因用户上传的照片的清晰度较低而导致的信息识别失败,使得用户需重新拍摄上传,故减少了用户在上传照片过程中的拍摄次数,照片上传过程较为便捷,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种照片上传方法的方法流程图;
图2为本发明实施例提供的一种照片上传方法的又一方法流程图;
图3为本发明实施例提供的一种照片上传装置的结构示意图;
图4为本发明实施例提供的一种照片上传装置的又一结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,用户在通过手机等移动终端办理业务而需上传照片时,常常因拍摄上传的照片的清晰度较低,需进行多次拍摄,过程较为繁琐,导致用户的使用体验较差。
因此,本发明实施例提供了一种照片上传方法,可以对用户上传的照片进行高清修复,以修复后的照片替代用户上传的照片,可以修复后的照片进行信息识别,提高信息识别的成功率,以避免用户需重新进行拍摄,减少用户在上传照片过程中的拍摄次数,提升用户体验。
本发明实施例提供了一种照片上传方法,所述方法可应用于终端的应用系统,其执行主体可以为应用系统的服务器,所述终端可以为手机、平板电脑等等带有相机的移动终端。所述方法的方法流程图如图1所示,包括:
s101:当监测到终端接收到用户发送的相机启动指令时,触发所述终端在目标时间段内依据预设的拍摄周期进行自动拍摄,所述目标时间段为所述终端接收到所述用户发送的相机启动指令至所述终端接收到所述用户发送的拍摄指令之间的时间段;
本发明实施例提供的方法中,用户可以通过手机等终端的应用软件办理相应的业务,例如通过手机银行办理各项银行业务。在用户办理业务的过程中,应业务需求需要上传相应的照片,如通过手机银行办理业务时,需上传身份证件以进行身份认证,在用户通过手机上传照片的过程中,手机银行的服务器可以监测手机是否接收到用户发送的相机启动指令,该相机启动指令可以为用户触发手机银行的证件上传界面中的相机标识所发送的相机启动指令,当手机接收到该相机启动指令时,则会启动手机的相机,即启动手机摄像头。
当服务器监测到终端接收到用户发送的相机启动指令后,则触发终端在启动相机后,依据预设的拍摄周期进行自动拍摄,直至终端接收到用户发送的拍摄指令,即用户通过终端上的拍摄键或终端界面上的拍摄标识触发相机拍摄照片。该预设的拍摄周期可以为时间周期,例如拍摄周期可以为0.01s,故终端在相机启动后每隔0.01s都通过相机自动拍摄一张照片。
s102:当接收到所述用户上传的第一照片时,获取第二照片;所述第一照片为所述终端接收到所述用户发送的拍摄指令时所拍摄的照片,所述第二照片为所述终端在所述目标时间段内自动拍摄的最后一张照片;
本发明实施例提供的方法中,用户通过终端拍摄照片后,可以通过终端将该照片上传至服务器。当服务器接收到用户上传的第一照片后,可以获取终端在目标时间段内自动拍摄的各个照片中最后拍摄的一张照片,即终端在响应用户发送的拍摄指令而进行拍摄之前,最后拍摄的照片。服务器获取第二照片的途径,可以通过向终端发送照片获取指令获取,也可以由终端主动发送。终端可以在上传用户拍摄的照片时,将目标时间段内自动拍摄的所有照片一同发送给服务器,服务器在终端自动拍摄的所有照片中选取拍摄时间最晚的照片作为第二照片。终端也可以自行确定最后一张自动拍摄的照片,将该照片发送给服务器。
s103:获取所述第二照片中每个像素点的像素点信息,依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像;
本发明实施例提供方法中,可以解析所述第二照片,获取第二照片中每个像素点的像素点信息,每个像素点的像素点信息包括像素点的位置坐标等位置信息以及该像素点的颜色值、亮度及明度等等色彩特征信息,该颜色值可以为rgb颜色值,也可以为其他色彩模式的颜色值。服务器可以根据预先设置的图像选取策略对第二照片进行图像识别,在第二照片中选取第一目标图像,该第一目标图像可以为第二照片中明显的一个参照点。
s104:在所述第一照片中识别第二目标图像,所述第二目标图像与所述第一目标图像表征相同的图像目标;
本发明实施例提供的方法中,当在第二照片中选取第一目标图像后,可以根据第一目标图像对第一照片进行图像识别,在第一照片中识别与第一目标图像表征相同图像目标的第二目标图像。例如第二照片中存在一个红色的正方形,选取了这个红色正方形的图像作为第一目标图像。则在第一照片中识别出表征这个红色正方形的图像,将其作为第二目标图像。需要说明的是,第一目标图像与第二目标图像并非指的是像素构成完全相同的图像,而是表征相同图像目标的图像。
s105:依据所述第一目标图像及所述第二目标图像,确定模糊图像长度;
本发明实施例提供的方法中,可以根据第一目标图像以及第二目标图像的差异确定图像中模糊图像的长度。本发明实施例提供的方法中,第一目标图像为终端自动拍摄的最后一张照片中的图像,而第二目标图像为用户拍摄的照片中的图像,故第一目标图像与第二目标图像的成像时间相距较短,这两个图像的图像差异,可以表征用户在拍摄照片时终端的抖动幅度。
s106:确定第一时间间隔,所述第一时间间隔为所述终端拍摄所述第二照片时至拍摄所述第一照片时的时间间隔;
本发明实施例提供的方法中,服务器可以读取第二照片的照片信息中拍摄时间以及第一照片的照片信息中的拍摄时间,根据这两个拍摄时间确定第一时间间隔。也可以触发终端调用计时器进行计时,在终端自动拍摄照片时开始计时,在每一次自动拍摄照片时均触发计时器重新开始计时,直到响应用户的拍摄指令拍摄照片时停止计时。服务器可以获取终端的计时器所记录时长,以确定第一时间间隔。在终端自动拍摄的拍摄周期较短的情况下,即终端最后进行自动拍摄的时间几乎与终端响应用户拍摄指令的时间重合的情况下,也可以依据相机的快门速度,确定第一时间间隔。
s107:依据所述模糊图像长度以及所述第一时间间隔,确定所述第一照片的抖动参数;
本发明实施例提供的方法中,服务器确定模糊图像长度以及第一时间间隔后,可以确定第一照片的抖动参数,该抖动参数为表征终端在拍摄该第一照片时的抖动状态的参数。
s108:基于所述抖动参数以及已训练的反向传播神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片,并以所述第三照片替代所述用户上传的所述第一照片。
本发明实施例提供的方法中,服务器中可以预先设置一个经过训练的反向传播(backpropagation,bp)神经网络模型,以修复照片中的模糊像素,对照片进行高清修复。该bp神经网络模型可以基于表征不同抖动状况的抖动参数的手动拍摄照片以及稳定拍摄的高清照片,进行训练,使得bp神经网络模型可以根据输入的抖动参数,按照预先学习的修复规律,修复输入的图像中的每个像素点。服务器可以根据该抖动参数以及第一照片,构建bp神经网络模型的输入矩阵,以使用bp神经网络模型对第一照片进行高清修复,获得经高清修复后的第三照片,以第三照片替代用户照片的第一照片,在后续的信息识别过程中,对第三照片进行识别,以替代对用户上传内的第一照片进行识别。
基于本发明实施例提供的方法,当接收到用户上传的第一照片时,可以根据终端在用户拍摄第一照片过程中自动拍摄的第二照片,可以通过在第一照片及第二照片中分别确定表征相同图像目标的目标图像,通过两个目标图像的比对以确定模糊图像长度,并依据模糊图像长度以及两张照片的拍摄时间间隔,确定表征终端在拍摄第一照片时的抖动状态的抖动参数。可以依据该抖动参数以及已训练的bp神经网络模型修复用户上传的第一照片,以修复后的第三照片替代用户上传的第一照片,第三照片与第一照片表征的是相同的拍摄目标,服务器可以对第三照片进行识别以提取第三照片对应的拍摄目标的信息。服务器识别的是对第一照片进行高清修复后的照片,其清晰度高于第一照片,可以提高对拍摄目标信息识别的成功率,以避免用户上传的照片清晰度较低而导致信息识别失败,使得用户需重新上传照片。由此,减少用户在上传照片过程中的拍摄次数,使得用户的上传过程较为便捷,提升用户的使用体验。
进一步的,本发明实施例提供了另一种照片上传方法,在图1所示方法的基础上,本发明实施例提供的方法中,步骤s103中所述依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像,包括:
依据各个所述像素点的像素点信息中的颜色值及位置坐标,在所述第二照片中确定至少一个待选择图像,每个所述待选择图像由多个相邻的像素点组成;
本发明实施例提供的方法中,可以根据第二照片中各个像素点的像素点信息对第二照片进行图像识别,识别第二照片表征拍摄对象中各个特征点的图像,将各个特征点的图像作为各个待选择图像。例如第二照片拍摄的对象为身份证正面,即第二照片中包含身份证正面图像,故可以将身份证正面图像中的每个文字的相连笔画部分的图像,即由各个相连的黑色像素点组成的图像,作为待选择图像,身份证正面图像中国徽上表征每个五角星的图像,也可以作为待选择图像。待选择图像可以是由相邻的多个相同颜色的像素点组成的图像,也可以是表征拍摄对象中特定物体的图像,例如若是照片的拍摄对象为身份证反面照片,待选择的图像可以是身份证照片中人物的黑眼球的图像。
依据每个所述待选择图像中每个像素点的像素点信息,确定该待选择图像的图像特征参数集合;所述图像特征参数集合中包括所述待选择图像的饱和度、明度或色相中的至少一个特征参数;
本发明实施例提供的方法中,可以从每个待选择图像的每个像素点的像素点信息中,获取各个像素点的色彩特征参数,该色彩特征参数可以为该像素点的饱和度、明度或色相。可以基于该待选择图像中各个像素点的色彩特征参数,确定该待选择图像的特征参数,例如可以计算该待选择图像所有像素点的饱和度的平均值,以该平均值表征该待选择图像的饱和度。其特征参数可以为饱和度、明度或者色相,还可以为表征待选择图像与其相邻图像的色彩差异的参数,或是其他表征色彩特征的参数。
需要说明的是,图像特征参数集合中的特征参数的类型,可以根据选取目标图像所参考的图像特征所确定,特征参数类型的差异,不影响本发明实施例提供的方法实现功能。
基于每个所述待选择图像的图像特征参数集合以及预设的选取规则,在各个所述待选择图像中选取目标图像,将所述目标图像作为第一目标图像。
本发明实施例提供的方法中,可以预先设置目标图像的选取规则,例如可以结合待选择图像的图像特征参数集合中的各个特征参数,如饱和度、明度以及色相,依据预设的标准对该待选择图像进行评价,将评价最优的待选择图像确定为目标图像。例如可以预设各个饱和度范围对应的评价分数,各个明度范围对应的评价分数,各个色相范围对应的评价分数,可以依据经验确定色彩体现较为明显的参数范围对应较高的评价分数。可以根据待选择图像的各个特征参数对应参数范围,确定各个特征参数对应的评价分数,可以计算各个特征参数对应的评价分数的平均值,由各个评价分数的平均值表征该待选择图像的综合评价分数,将各个待选择图像的综合评价分数进行比较,将综合评价分数最高的待选择图像作为目标图像。
基于本发明实施提供的方法,可以在第二照片中识别多个可选择的待选择图像,根据各个待选择图像的图像特征在各个待选择图像中选择目标图像,作为第一目标图像。有利于在第二照片中选取图像特征明显的第一目标图像,图像特征明显的目标在终端抖动的情况下,抖动状态的体现较为明显,以便于后续确定模糊图像长度。
关于本发明实施例中,步骤s103中所述依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像的过程,在具体实现过程中,也可以预先构建图像识别模型,借鉴摄影师的经验,在每个训练照片中选取目标图像,以每个训练照片的各个像素点信息及其对应的目标图像的像素点信息作为训练样本,对该图像识别模型进行训练。将第二照片输入该图像识别模型,使图像识别模型根据第二照片中的各个像素点的像素点信息,按照预先训练所学习的选取规则,在第二照片中识别出第一目标图像。
进一步的,在图1所示方法的基础上,本发明实施例提供了又一种照片上传方法,本发明实施例提供的方法中,步骤104中所述在所述第一照片中识别第二目标图像,包括:
依据所述第一目标图像中每个像素点的像素点信息中的位置坐标,在所述第一照片中,确定目标区域;
本发明实施例提供的方法中,可以在第一照片中根据第一目标图像的各个位置坐标确定第一目标图像在第一照片中的原图像区域,在第一照片中依据预设的比例放大该原图像区域,将放大后的区域作为目标区域。例如第一目标图像的各个像素点的位置坐标,确定该第一目标图像的图像范围为,横坐标范围为[40,60],纵坐标范围为[40,60],则将第一照片中的横坐标范围为[40,60],纵坐标范围为[40,60]的区域确定为第一目标图像的原图像区域,预设的比例为1:2,即将该区域的横坐标范围及纵坐标范围放大至原来的两倍,即放大后的横坐标范围为[30,70],放大后的纵坐标范围为[30,70],将横坐标范围为[30,70]以及纵坐标范围为[30,70]的区域作为目标区域。
需要说明的是,本发明实施例中所提及的具体坐标参数、放大比例以及确定目标区域的过程,仅为更好地说明本发明实施例提供的方法所提供的一个实施例,并非对具体实现过程中的具体坐标参数或参数量级、放大比例以及确定目标区域的方式的限定。
获取所述目标区域的每个像素点的像素点信息,将所述目标区域的各个像素点的像素点信息与所述第一目标图像的各个像素点的像素点信息进行比对,识别所述目标区域中与第一目标图像的各个像素点相匹配的各个目标像素点,将所有所述目标像素点组成的图像作为所述第一照片中的第二目标图像。
本发明实施例提供的方法中,可以根据各个像素点的像素点信息,在目标区域内识别与第一目标图像表征相同图像目标的第二目标图像。
基于本发明实施例提供的方法,可以根据第一目标图像的位置,在第一目标图像中确定第二目标图像所在区域范围的目标区域后,在目标区域内识别第二目标图像,可以避免第二照片中存在与第一目标图像的图像特征相同或相似的其他图像时,对图像识别造成干扰,可以提高第二目标图像识别的准确性。另一方面,本发明实施例提供的方法仅在目标区域内进行图像识别,提高了图像识别的效率。
为了更好地说明本发明实施例提供的方法,结合图2所示流程图,本发明实施例提供了又一种照片上传方法,在图1所示方法的基础上,本发明实施例提供的方法中,步骤s105中所述依据所述第一目标图像及所述第二目标图像,确定模糊图像长度的过程,包括:
s201:确定所述第一目标图像的第一图像位置以及所述第二目标图像的第二图像位置,依据所述第一图像位置及第二图像位置,确定图像移动方向;
本发明实施例提供的方法中,可以根据第一目标图像的图像位置以及第二目标图像的图像位置,确定终端拍摄第一照片过程中的图像移动方向。图像的图像位置可以根据该图像的各个像素点的位置坐标所确定坐标范围表征。例如第一图像位置为横坐标范围为[10,20],纵坐标范围为[15,20]的位置,第二目标图像位置的横坐标范围为[10,20],纵坐标范围为[10,20],故图像位置产生变动的仅为纵坐标方向,则确定图像移动方向为竖直向下的方向。
s202:确定第一长度以及第二长度,所述第一长度为所述第一目标图像在所述图像移动方向上的图像长度,所述第二长度为所述第二目标图像在所述图像移动方向上的图像长度;
本发明实施例提供的方法中,可以根据第一目标图像的图像位置,确定第一目标图像在图像移动方向上的坐标差值,并根据该坐标差值以及图像中单位坐标的长度,确定第一目标图像在图像移动方向上的图像长度,同理,可以确定第二目标图像在图像移动方向上的图像长度。如在步骤201中所举例说明的参数背景下,第一目标图像的纵坐标范围为[15,20],横坐标范围为[10,20],图像移动方向为竖直向下的方向,即纵坐标方向,即该方向的坐标差值为5。第二目标图像的纵坐标范围为[10,20],则其在该方向的坐标差值为10。
s203:计算所述第一长度与所述第二长度的差值,将所述差值的绝对值作为模糊图像长度。
本发明实施例提供的方法中,可以以第一长度与第二长度的差值的绝对值作为模糊图像长度。例如步骤s202所提及的参数背景下,模糊图像长度即为5个单位坐标的长度,此处5个单位坐标由第一目标图像的坐标差值5与第二目标图像的坐标差值10的差值取绝对值计算得到,而非由第一目标图像的坐标差值确定。
进一步的,本发明实施例提供的方法中,图1所示方法中,步骤s107中所述依据所述模糊长度以及所述第一时间间隔,确定所述第一照片的抖动参数,包括:
计算所述模糊图像长度与所述第一时间间隔的比值,将所述比值作为所述第一照片的抖动参数。
基于本发明实施例提供的方法,可以通过模糊图像长度与第一时间间隔的比值作为第一照片的抖动参数,抖动参数的确定过程较为简单。
为了更好地说明本发明实施例提供的方法,在图1所示方法的基础上,本发明实施例提供了又一种照片上传方法,本发明实施例提供的方法中,步骤s108中所提及的bp神经网络模型的训练过程,包括:
将预设的样本数据中的训练输入矩阵输入bp神经网络模型的输入层,并从所述bp神经网络模型的输出层获取实际输出矩阵;
依据所述实际输出矩阵及所述样本数据中的期望输出矩阵,依次计算所述bp神经网络模型的输出层误差、隐含层误差以及输入层误差;所述训练输入矩阵为依据目标抖动参数以及目标拍摄对象的手动拍摄照片所构建的输入矩阵,所述期望输出矩阵为依据所述目标拍摄对象的高清拍摄照片所构建的输出矩阵,所述目标抖动参数为所述手动拍摄照片的抖动参数;
依据所述输入层误差、隐含层误差以及输入层误差,更新所述bp神经网络模型的输入连接权值、输出连接权值、隐含层阈值以及输出层阈值。
本发明实施例提供的方法中,可以预先通过拍摄实验,确定样本数据。拍摄实验可以通过将终端固定进行定时拍摄,得到对目标拍摄对象的高清拍摄照片,然后通过在相同的位置,由工作人员手持终端,手动触发对目标拍摄对象进行拍摄,得到目标拍摄对象的手动拍摄照片,可以根据手动拍摄照片与其对应的高清拍摄照片进行比对识别,确定手动拍摄照片中的模糊图像长度,可以获取终端拍摄手动拍摄照片时的快门速度,依据模糊图像长度以及快门速度确定手动拍摄照片的抖动参数。可以根据手动拍摄照片的抖动参数依据该照片的像素点矩阵,构建相应的训练输入矩阵,根据高清拍摄照片的像素点矩阵构建期望输出矩阵,由此确定样本数据。
根据实际需求,确定bp神经网络模型的结构,通常采用一个隐含层即可,隐含层的节点个数可以采用试凑法确定,而输入层与输出层的节点个数可以根据实际的参数个数确定。根据确定的结构建立一个bp神经网络模型,然后通过样本数据对该bp神经网络模型进行训练,通过信号的正向传播以及误差的反向传播,更新各个训练参数。当模型精度达到预设阈值,可以结束训练。
基于本发明实施例提供的方法,可以利用目标拍摄对象的高清照片以及手动拍摄照片对bp神经网络模型进行训练,使其通过自主学习可以实现对照片的高清修复。通过不断的训练,可以不断修正bp神经网络模型的各项参数,实现更好地修复效果。
进一步的,本发明实施例中的bp神经网络模型,可以引入遗传算法进行优化,主要是通过遗传算法优化bp神经网络模型的各个连接权值的初始值以及各个阈值的初始值,其主要思想是用个体表征前述各个初始值,通过选择、交叉、变异操作寻找最优个体,即最优的各个初始值。
基于本发明实施例提供的方法,可以通过遗传算法优化bp神经网络模型,提高bp神经网络模型的稳定性。
进一步的,本发明实施例提供了又一种照片上传方法,在上述实施例的基础上,本发明实施例提供的方法中,步骤s108中所述基于所述抖动参数以及已训练的bp神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片的过程,包括:
依据所述第一照片及其抖动参数,构建输入矩阵;
将所述输入矩阵输入所述bp神经网络模型的输入层,并从所述bp神经网络模型的输出层获取所述输入矩阵对应的输出矩阵;
依据所述输出矩阵生成所述第三照片。
本发明实施例提供的方法中,可以解析第一照片,以获得第一照片的像素点矩阵,可以根据第一照片的像素点矩阵以及经确定的第一照片的抖动参数,构建bp神经网络模型的输入矩阵,将该输入矩阵加载至bp神经网络模型的输入层的各个节点,当bp神经网络模型运行并输出后,从其输出层的各个节点中获取对应的输出矩阵。可以根据该输出矩阵中表征的像素点集合,生成所述第一照片对应的第三照片。
基于本发明实施例提供的方法,可以通过第一照片与抖动参数构建输入矩阵,由bp神经网络模型输出的与该输入矩阵对应的输出矩阵生成第三照片,由bp神经网络模型完成对第一照片的修复,可以通过训练对bp神经网络模型不断进行优化,提升照片修复的精确度。
与图1所示的照片上传方法相对应,本发明实施例还提供了一种照片上传装置,用于对图1中所示方法的具体实现,其结构示意图如图3所示,包括:
触发单元301,用于当监测到终端接收到用户发送的相机启动指令时,触发所述终端在目标时间段内依据预设的拍摄周期进行自动拍摄,所述目标时间段为所述终端接收到所述用户发送的相机启动指令至所述终端接收到所述用户发送的拍摄指令之间的时间段;
第一获取单元302,用于当接收到用户上传的第一照片时,获取第二照片;所述第一照片为所述终端接收到所述用户发送的拍摄指令时所拍摄的照片,所述第二照片为所述终端在所述目标时间段内自动拍摄的最后一张照片;
第二获取单元303,用于获取所述第二照片中每个像素点的像素点信息,依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像;
识别单元304,用于在所述第一照片中识别第二目标图像,所述第二目标图像与所述第一目标图像表征相同的图像目标;
第一确定单元305,用于依据所述第一目标图像及所述第二目标图像,确定模糊图像长度;
第二确定单元306,用于确定第一时间间隔,所述第一时间间隔为所述终端拍摄所述第二照片时至拍摄所述第一照片时的时间间隔;
第三确定单元307,用于依据所述模糊图像长度以及所述第一时间间隔,确定所述第一照片的抖动参数;
第三获取单元308,用于基于所述抖动参数以及已训练的反向传播神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片,并以所述第三照片替代所述用户上传的所述第一照片。
基于本发明实施例提供的装置,当接收到用户上传的第一照片时,可以根据终端在用户拍摄第一照片过程中自动拍摄的第二照片,可以通过在第一照片及第二照片中分别确定表征相同图像目标的目标图像,通过两个目标图像的比对以确定模糊图像长度,并依据模糊图像长度以及两张照片的拍摄时间间隔,确定表征终端在拍摄第一照片时的抖动状态的抖动参数。可以依据该抖动参数以及已训练的bp神经网络模型修复用户上传的第一照片,以修复后的第三照片替代用户上传的第一照片,第三照片与第一照片表征的是相同的拍摄目标,服务器可以对第三照片进行识别以提取第三照片对应的拍摄目标的信息。服务器识别的是对第一照片进行高清修复后的照片,其清晰度高于第一照片,可以提高对拍摄目标信息识别的成功率,以避免用户上传的照片清晰度较低而导致信息识别失败,使得用户需重新上传照片。由此,减少用户在上传照片过程中的拍摄次数,使得用户的上传过程较为便捷,提升用户的使用体验。
进一步的,本发明实施例提供了又一种照片上传装置,在图3所示装置的基础上,本发明实施例提供的装置中,所述第二获取单元303,包括:
第一确定子单元,用于依据各个所述像素点的像素点信息中的颜色值及位置坐标,在所述第二照片中确定至少一个待选择图像,每个所述待选择图像由多个相邻的像素点组成;
第二确定子单元,用于依据每个所述待选择图像中每个像素点的像素点信息,确定该待选择图像的图像特征参数集合;所述图像特征参数集合中包括所述待选择图像的饱和度、明度或色相中的至少一个特征参数;
选取子单元,用于基于每个所述待选择图像的图像特征参数集合以及预设的选取规则,在各个所述待选择图像中选取目标图像,将所述目标图像作为第一目标图像。
进一步的,在图3所示装置的基础上,本发明实施例提供了另一种照片上传装置,本发明实施例提供的装置中,所述识别单元304,包括:
第三确定子单元,用于依据所述第一目标图像中每个像素点的像素点信息中的位置坐标,在所述第一照片中,确定目标区域;
识别子单元,用于获取所述目标区域的每个像素点的像素点信息,将所述目标区域的各个像素点的像素点信息与所述第一目标图像的各个像素点的像素点信息进行比对,识别所述目标区域中与第一目标图像的各个像素点相匹配的各个目标像素点,将所有所述目标像素点组成的图像作为所述第一照片中的第二目标图像。
为了更好地说明本发明实施例提供的装置,本发明实施例提供了又一种照片上传装置,其结构示意图如图4所示,在图3所示装置的基础上,本发明实施例提供的装置中,所述第一确定单元305,包括:
第四确定子单元309,用于确定所述第一目标图像的第一图像位置以及所述第二目标图像的第二图像位置,依据所述第一图像位置及第二图像位置,确定图像移动方向;
第五确定子单元310,用于确定第一长度以及第二长度,所述第一长度为所述第一目标图像在所述图像移动方向上的图像长度,所述第二长度为所述第二目标图像在所述图像移动方向上的图像长度;
第一计算子单元311,用于计算所述第一长度与所述第二长度的差值,将所述差值的绝对值作为模糊图像长度。
进一步的,本发明实施例提供了另一种照片上传装置,在图3所示装置的基础上,本发明实施例提供的装置中,所述第三确定单元307,包括:
第二计算子单元,用于计算所述模糊图像长度与所述第一时间间隔的比值,将所述比值作为所述第一照片的抖动参数。
进一步的,在图3所示装置的基础上,本发明实施例提供的装置中,还包括:
输入单元,用于将预设的样本数据中的训练输入矩阵输入所述反向传播神经网络模型的输入层,并从所述反向传播神经网络模型的输出层获取实际输出矩阵;
计算单元,用于依据所述实际输出矩阵及所述样本数据中的期望输出矩阵,依次计算所述反向传播神经网络模型的输出层误差、隐含层误差以及输入层误差;所述训练输入矩阵为依据目标抖动参数以及目标拍摄对象的手动拍摄照片所构建的输入矩阵,所述期望输出矩阵为依据所述目标拍摄对象的高清拍摄照片所构建的输出矩阵,所述目标抖动参数为所述手动拍摄照片的抖动参数;
更新单元,用于依据所述输入层误差、隐含层误差以及输入层误差,更新所述反向传播神经网络模型的输入连接权值、输出连接权值、隐含层阈值以及输出层阈值。
进一步的,在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第三获取单元308,包括:
构建子单元,用于依据所述第一照片及其抖动参数,构建输入矩阵;
获取子单元,用于将所述输入矩阵输入所述反向传播神经网络模型的输入层,并从所述反向传播神经网络模型的输出层获取所述输入矩阵对应的输出矩阵;
生成子单元,用于依据所述输出矩阵生成所述第三照片。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述照片上传方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
当监测到终端接收到用户发送的相机启动指令时,触发所述终端在目标时间段内依据预设的拍摄周期进行自动拍摄,所述目标时间段为所述终端接收到所述用户发送的相机启动指令至所述终端接收到所述用户发送的拍摄指令之间的时间段;
当接收到用户上传的第一照片时,获取第二照片;所述第一照片为所述终端接收到所述用户发送的拍摄指令时所拍摄的照片,所述第二照片为所述终端在所述目标时间段内自动拍摄的最后一张照片;
获取所述第二照片中每个像素点的像素点信息,依据各个所述像素点的像素点信息以及预设的图像选取策略,在所述第二照片中选取第一目标图像;
在所述第一照片中识别第二目标图像,所述第二目标图像与所述第一目标图像表征相同的图像目标;
依据所述第一目标图像及所述第二目标图像,确定模糊图像长度;
确定第一时间间隔,所述第一时间间隔为所述终端拍摄所述第二照片时至拍摄所述第一照片时的时间间隔;
依据所述模糊图像长度以及所述第一时间间隔,确定所述第一照片的抖动参数;
基于所述抖动参数以及已训练的反向传播神经网络模型对所述第一照片进行高清修复,获取修复后的第三照片,并以所述第三照片替代所述用户上传的所述第一照片。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。