本技术实施例涉及神经网络模型,尤其涉及一种图像生成方法及电子设备。
背景技术:
1、人工智能生成内容(ai generated content,aigc)技术可以用于生成文字、图像或视频。在绘画、设计及影视等领域内,采用aigc技术,可以基于用户输入的需求自动生成图像数据,减少人工生产成本。
2、现有技术中,采用aigc技术生成图像数据(也称ai绘画)需要耗费大量的时间,无法满足用户的高效率需求。
技术实现思路
1、本技术实施例提供一种图像生成方法及电子设备,电子设备并行运行控制网络中的控制模块和sd模型中u型网络的编码器,缩短了电子设备采用控制网络生成图像的耗时,提高电子设备生成图像的效率,满足用户的高效率需求。
2、为达到上述目的,本技术的实施例采用如下技术方案:
3、第一方面,本技术实施例提供了一种图像生成方法,该方法应用于电子设备,电子设备中配置有控制模块和稳定扩散sd模型,sd模型包括第一编码器和第一解码器。
4、图像生成方法包括:在第一时间区间,电子设备将待处理图像数据的第二特征向量作为输入,运行控制模块,得到待处理图像数据的第一特征图。在第二时间区间,电子设备将待处理图像数据对应的需求文本的第一特征向量作为输入,运行sd模型的第一编码器,得到需求文本的潜在编码。需求文本可以用于描述目标图像数据的内容需求和/或质量需求,第二时间区间和第一时间区间存在重叠的时间区间。这样,电子设备在重叠的时间区间内可以并行运行控制模块和第一编码器。然后,电子设备将潜在编码和第一特征图作为输入,运行sd模型的第一解码器,生成目标图像数据。例如,需求文本可以包括“一张学生毕业照”指示目标图像数据的内容,或者需求文本可以包括“一张清晰的学生毕业照”指示目标图像数据的内容和质量。
5、其中,待处理图像数据包括需经过控制模块和sd模型进行处理的图像数据,例如,待处理图像数据可以是电子设备中摄像头采集的初始图像数据,或者用户从电子设备的图库中选取的图像数据,还或者电子设备从第三方平台中获取(或接收)经授权的图像数据。第三方平台包括但不限于与电子设备通信连接的其他电子设备。
6、待处理图像数据与需求文本为一组输入数据,待处理图像数据和与待处理图像数据对应的需求文本均为电子设备执行图像数据生成方法的过程中使用的输入数据。电子设备中还包括文本编码器和/或变分自动vae编码器,电子设备将需求文本作为输入,运行文本编码器,可以得到需求文本的第一特征向量。电子设备将待处理图像数据作为输入,运行vae编码器,可以得到待处理图像数据的第二特征向量。
7、在一种可能的实现方式中,电子设备将需求文本的第一特征向量和待处理图像数据的第二特征向量一同作为输入,运行控制模块,得到待处理图像数据的第一特征图。这样,第一特征图中可以包括需求文本中携带的内容,使得第一特征图中携带的图像特征信息更加丰富。
8、采用上述方法,电子设备可以在一定的重叠时间区间内同时运行控制模块和第一编码器,这样,相比电子设备顺次运行控制模块和第一编码器,可以减少电子设备运行控制模块和第一编码器的过程的耗时,从而缩短了电子设备生成目标图像数据的耗时,提高目标图像数据的生成效率。
9、在第一方面的一种可能的实现方式中,sd模型包括u型网络和vae解码器,u型网络包括编码器和解码器。第一解码器包括第一子解码器和第二子解码器。第一编码器可以指示u型网络的编码器,第一子解码器可以指示sd模型中u型网络的解码器,第二子解码器可以指示sd模型中的vae解码器。
10、具体地,电子设备将潜在编码和第一特征图作为输入,运行第一子解码器,得到第二特征图。电子设备将第二特征图作为输入,运行第二子解码器,生成目标图像数据。
11、在第一方面的一种可能的实现方式中,电子设备将待处理图像数据对应的需求文本的第一特征向量作为输入,运行第一编码器,得到需求文本的潜在编码之后,方法还包括:电子设备获取标志位参数,标志位参数用于指示控制模块的运行状态。其中,运行状态包括运行结束和未运行结束。这样,电子设备可以在第一编码器结束之后,根据标志位参数确定出控制模块的运行状态。响应于标志位参数指示控制模块的运行状态为运行结束,电子设备可以将第一编码器输出的潜在编码以及控制模块输出的第一特征图作为输入数据,运行第一解码器,生成目标图像数据。
12、采用上述实现方式,电子设备可以在第一编码器结束之后获取标志位参数,如果标志位参数指示控制模块的运行状态为运行结束,电子设备可以运行第一解码器来对第一编码器输出的潜在编码和控制模块输出的第一特征图进行处理,得到第一解码器输出的目标图像数据。这样,电子设备仅可以在第一编码器和控制模块都运行结束后运行第一解码器,以使第一解码器可以正确接收潜在编码和第一特征图并进行处理,从而得到目标图像数据。
13、在一种可能的实现方式中,标志位参数可以存储在电子设备的内存中,这样电子设备可以在第一编码器结束之后,随时从内存中获取标志位参数。可以理解的是,在每次执行图像生成方法的流程之前,电子设备内存中存储的标志位参数为指示控制模块的运行状态为未运行结束,仅在控制模块运行结束后,标志位参数才会更新为指示控制模块的运行状态为运行结束,便于电子设备及时的、准确的确定控制模块的运行状态。
14、在第一方面的一种可能的实现方式中,电子设备可以周期性获取标志位参数,电子设备每次获取到标志位参数之后,方法还包括:响应于标志位参数指示控制模块的运行状态为未运行结束,则电子设备不运行第一解码器,这时候电子设备需要等待控制模块的运行结束。响应于标志位参数指示控制模块的运行状态为运行结束,电子设备将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据。
15、可以理解的是,电子设备在获取的标志位参数指示控制模块的运行状态为运行结束时,电子设备可以不再继续获取标志位参数。
16、具体地,一般情况下,sd模型中的第一编码器的运行耗时大于控制模块的运行耗时。因此, 电子设备在第一次获取标志位参数的时候,标志位参数已经指示控制模块的运行状态为运行结束,这种情况下,电子设备也可以不再继续获取标志位参数,电子设备可以将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据。
17、采用上述实现方式,电子设备周期性的获取标志参数,可以根据标志位参数确定控制模块的状态,及时在控制模块的运行状态更新为运行结束的时候运行第一解码器,对潜在编码和第一特征图进行处理,得到目标图像数据。而在控制模块的运行状态为未运行结束的时候,电子设备不运行第一解码器。这样,第一解码器可以在正确接收第一编码器输出的潜在编码和控制模块输出的第一特征图之后再运行。
18、在第一方面的一种可能的实现方式中,在第一时间区间之前,电子设备中标志位参数指示控制模块的运行状态为未运行结束。这样,在控制模块运行结束之前,标志位参数的指示信息可以准确指示控制模块还未运行结束,电子设备不会运行第一解码器。并且,在电子设备运行控制模块,得到待处理图像数据的第一特征图之后,电子设备可以确定控制模块运行结束。这时,电子设备可以将标志位参数更新为指示控制模块的运行状态为运行结束。
19、采用上述实现方式,电子设备中的标志位参数仅在控制模块运行结束之后才会更新为运行结束。这样,在第一编码器运行结束之后,电子设备仅在控制模块运行结束的时候才会运行第一解码器,避免因标志位参数指示错误导致电子设备中第一解码器无法准确接收到控制模块输出的第一特征图。也就是说,采用上述方式可以使第一解码器在正确接收到控制模块输出的第一特征图之后再运行。
20、在第一方面的一种可能的实现方式中,电子设备在运行第一解码器,生成目标图像数据之后,方法还包括:电子设备将标志位参数更新为指示控制模块的运行状态为未运行结束。
21、采用上述实现方式,电子设备可以目标图像数据生成之后,及时更新标志位参数,使标志位参数指示控制模块的运行状态为未运行结束。避免电子设备再次读取标志位参数的时候,如果控制模块未运行结束,电子设备读取到标志位参数指示控制模块的运行状态为运行结束的错误情况。
22、在第一方面的一种可能的实现方式中,在第一时间区间,电子设备将待处理图像数据的第二特征向量作为输入,运行控制模块,得到待处理图像数据的第一特征图之前,方法还包括:电子设备在前台运行电子设备中内的相机应用,电子设备的摄像头采集待处理图像数据。这样,在第一时间区间,电子设备可以将摄像头采集的待处理图像数据的第二特征向量作为输入,运行控制模块,得到待处理图像数据的第一特征图。在第二时间区间,电子设备将待处理图像数据对应的需求文本的第一特征向量作为输入,运行第一编码器,得到需求文本的潜在编码。电子设备将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据。然后,电子设备显示第一界面,第一界面包括拍摄预览区域,拍摄预览区域包括目标图像数据。
23、采用上述实现方式,电子设备在前台运行相机应用时,摄像头采集待处理图像。电子设备可以采用控制模块和sd模型对摄像头采集的待处理图像进行处理,生成与待处理图像数据和需求文本对应的目标图像数据,并通过第一界面显示。这样,电子设备可以通过并行运行控制模块和第一编码器,提高目标图像数据的生成效率,从而实时在相机应用的拍摄预览显示界面中显示目标图像数据,进而提高了电子设备拍摄的效率。
24、在第一方面的一种可能的实现方式中,电子设备包括多个目标文本以及与多个目标文本一一对应的多个目标特征向量。其中,多个目标文本可以和多个目标特征向量可以存储在电子设备的内存中。与每个目标文本对应的目标特征向量是电子设备运行文本编码器,分别对每个目标文本进行特征提取处理之后得到的特征向量。
25、在第二时间区间,电子设备将待处理图像数据对应的需求文本的第一特征向量作为输入,运行第一编码器,得到需求文本的潜在编码之前,方法还包括:电子设备接收到用户的设置操作,可以从多个目标文本中确定与用户的设置操作所匹配的需求文本,以及与该需求文本对应的第一特征向量。其中,用户的设置操作可以包括用户在电子设备中相机应用的显示界面通过点击、滑动、拖拽等方式设置的目标图像数据的内容需求和/或质量需求。或者,用户的设置操作还包括电子设备在前台运行相机应用之前,用户在电子设备的多个目标文本选项中选中的对目标图像数据的内容需求或质量需求的选项。
26、示例性的,多个目标文本包括“美颜”、“美白”、“瘦脸”、“祛斑”等文本,则电子设备中存储了 “美白”、“瘦脸”、“清晰、明亮”等文本,与“美白”对应的特征向量,与“瘦脸”对应的特征向量以及与“清晰明亮”对应的特征向量。如果电子设备接收到用户设置操作为在相机应用的显示界面点击选择“瘦脸”选项,则用户的需求为“瘦脸”,电子设备可以将目标文本中的“瘦脸”作为需求文本,将与“瘦脸”对应的特征向量作为第一特征向量。
27、采用上述实现方式,电子设备预先存储有多个目标文本和与多个目标文本一一对应的多个特征向量,电子设备在摄像头采集到图像数据后,可以直接根据用户设置操作确定出需求文本及对应的第一特征向量,而无需文本编码器对需求文本进行特征提取处理,缩短了目标图像数据的生成耗时,提高了电子设备生成目标图像数据的效率。
28、在一种可能的实现方式中,电子设备中多个目标文本还包括默认需求文本,与多个目标文本一一对应的多个目标特征向量也包括与默认需求文本对应的特征向量。在电子设备没有接收到用户的设置操作时,电子设备可以将多个目标文本中的默认需求文本作为需求文本,将默认需求文本对应的特征向量作为第一特征向量。
29、示例性的,默认需求文本为“清晰、明亮”,则在电子设备没有接收到用户的设置操作时,电子设备可以将“清晰、明亮”作为需求文本,将与“清晰、明亮”对应的特征向量作为第一特征向量。
30、采用上述实现方式,电子设备可以在没有接收到用户的设置操作时,直接获取默认需求文本以及与默认文本对应的第一特征向量,直接对摄像头采集的图像数据进行处理,得到目标图像数据,而无需重新获取需求文本,提高了目标图像数据的生成效率。
31、在一种可能的视线方式中,控制模块和sd模型的输入数据还包括迭代次数需求。电子设备可以存储多个迭代次数需求,与多个迭代次数需求一一对应的迭代次数需求的特征向量。电子设备接收到用户的设置操作时,也可以从多个迭代次数需求中确定与用户的设置操作所匹配的迭代次数需求,以及与该迭代次数需求对应的第三特征向量。电子设备可以将第三特征向量和第二特征向量作为输入,运行控制模块,得到第一特征图。电子设备可以将第三特征限量和第一特征向量作为输入,运行第一编码器,得到潜在编码。
32、在第一方面的一种可能的实现方式中,电子设备包括第一处理器、第二处理器及第三处理器,控制模块部署在第三处理器上,sd模型部署在第二处理器上。
33、在第一时间区间之前,方法还包括:第一处理器生成第一控制指令和第二控制指令,第一控制指令包括待处理图像数据对应的需求文本的第一特征向量,第二控制指令包括待处理图像数据的第二特征向量,第一处理器向第二处理器发送第一控制指令,向第三处理器发送第二控制指令。
34、在第一时间区间,电子设备将待处理图像数据的第二特征向量作为输入,运行控制模块,得到待处理图像数据的第一特征图,包括:在第一时间区间,第三处理器基于第二控制指令,将第二特征向量作为输入,运行控制模块,得到待处理图像数据的第一特征图。
35、在第二时间区间,电子设备将待处理图像数据对应的需求文本的第一特征向量作为输入,运行第一编码器,得到需求文本的潜在编码,包括:在第二时间区间,第二处理器基于第一控制指令,将第一特征向量作为输入,运行第一编码器,得到需求文本的潜在编码。
36、电子设备将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据,包括:第二处理器获取第一特征图,将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据。其中,第一处理器可以包括cpu。第二处理器可以包括gpu,第三处理器可以包括npu。或者,第二处理器可以包括npu,第三处理器可以包括gpu。
37、具体地,在第三处理器在控制模块运行结束之后,存储有第一特征图的情况下,第二处理器可以从第三处理器获取第一特征图。第三处理器在控制模块运行结束之后,也可以将第一特征图存储至内存中,这种情况下,第二处理器可以从内存中获取第一特征图。
38、采用上述实现方式,电子设备可以将控制模块和sd模型部署在不同的处理器上,通过第一处理器控制第二处理器和第三处理器的运行状态,可以实现第二处理器上sd模型中u型网络的编码器和第三处理器上控制模块的并行运行,减小电子设备生成目标图像数据的过程的耗时,提高电子设备生成目标图像数据的效率。
39、在第一方面的一种可能的实现方式中,在得到待处理图像数据的第一特征图之后,方法还包括:响应于控制模块运行结束,第一处理器将标志位参数更新为指示控制模块的运行状态为运行结束。
40、在得到需求文本的潜在编码之后,方法还包括:第二处理器获取标志位参数,标志位参数用于指示控制模块的运行状态,运行状态包括运行结束和未运行结束。
41、第二处理器获取第一特征图,将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据,包括:响应于标志位参数指示控制模块的运行状态为运行结束,第二处理器获取第一特征图,将潜在编码和第一特征图作为输入,运行第一解码器,生成目标图像数据。
42、在生成目标图像数据之后,方法还包括:第一处理器将标志位参数更新为指示控制模块的运行状态为未运行结束。
43、具体地,电子设备中第一处理器在控制模块运行结束时,及时将标志位参数更新为指示控制模块的运行状态为未运行结束。第二处理器在第一编码器运行结束之后,获取标志位参数,标志位参数可以指示控制模块的运行状态,如果标志位参数指示控制模块的运行状态为未运行结束,则第二处理器不运行第一解码器。如果标志位参数指示控制模块的运行状态为运行结束,则第二处理器运行第一解码器。在第二处理器生成目标图像数据之后,第一处理器可以将标志位参数更新为指示控制模块的运行状态为未运行结束。
44、采用上述实现方式,第二处理器在sd模型中u型网络的编码器运行结束时,及时获取标志位参数确定出控制模块的运行状态,在标志位参数指示控制模块的运行状态为运行结束时,第二处理器及时响应,运行第一解码器,对控制模块输出的第一特征图和u型网络的编码器输出的潜在编码进行处理,得到目标图像数据。第二处理器在标志位参数指示控制模块的运行状态为未运行结束时,不运行第一解码器。使第一解码器在正确接收控制模块运行结束输出的第一特征图,以及u型网络的编码器输出的潜在编码之后再运行。
45、第二方面,本技术实施例提供一种电子设备,电子设备包括存储器和一个或多个处理器,存储器与处理器耦合;存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行上述第一方面及其任一种可能的设计方式中的方法。
46、具体地,上述一个或多个处理器可以是第一处理器、第二处理器和第三处理器。
47、第三方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如上述第一方面及其任一种可能的设计方式中的方法。
48、第四方面,本技术实施例还提供了一种计算机程序产品,包括计算机指令,当计算机程序产品在电子设备上运行时,使得电子设备执行如上述第一方面及其任一种可能的设计方式中的方法。
49、可以理解地,上述提供的电子设备,计算机可读存储介质,计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
1.一种图像生成方法,其特征在于,应用于电子设备,所述电子设备中配置有控制模块和稳定扩散sd模型,所述sd模型包括第一编码器和第一解码器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述电子设备将待处理图像数据对应的需求文本的第一特征向量作为输入,运行所述第一编码器,得到所述需求文本的潜在编码之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述电子设备获取标志位参数,包括:
4.根据权利要求2所述的方法,其特征在于,在所述在第一时间区间之前,所述标志位参数指示所述控制模块的运行状态为未运行结束;
5.根据权利要求4所述的方法,其特征在于,在生成所述目标图像数据之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,在第一时间区间,所述电子设备将待处理图像数据的第二特征向量作为输入,运行所述控制模块,得到所述待处理图像数据的第一特征图之前,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述电子设备包括多个目标文本以及与所述多个目标文本一一对应的多个目标特征向量;
8.根据权利要求5所述的方法,其特征在于,所述电子设备包括第一处理器、第二处理器及第三处理器,所述sd模型部署在所述第二处理器上,所述控制模块部署在所述第三处理器上;
9.根据权利要求8所述的方法,其特征在于,在所述得到所述待处理图像数据的第一特征图之后,所述方法还包括:
10.一种电子设备,其特征在于,所述电子设备包括存储器和一个或多个处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
12.一种计算机程序产品,包括计算机指令,其特征在于,当计算机程序产品在电子设备上运行时,使得电子设备执行如权利要求1-9中任一项所述的方法。
