本發明涉及圖像生成領域,尤其涉及一種基于擴散模型的圖像生成方法、設備及存儲介質。
背景技術:
1、基于擴散模型的人工智能方法,是通過對一張隨機高斯分布的噪聲圖像進行迭代去噪,并且在這一過程中,會嵌入文本提示詞或圖像提示詞以指導去噪的過程,控制去噪的方向以生成所需要的圖像。雖然通過輸入簡單的指令,擴散模型即可生成相對較高質量的圖像,但生成結果仍然是不可控的。特別是在復雜或細節豐富的場景中,生成質量會有比較大的波動。而如果想要精細控制模型的生成結果,往往需要更長更復雜的提示詞文本,而現有的擴散模型無法處理過長的提示詞文本,這也導致它很難做到高度定制化。
2、此外,在生成圖像時,尤其是當生成多個圖像時,可能會遇到一致性問題,即不同生成的圖像可能在風格、細節或主題上不完全一致。即使面對相同的一組提示詞,模型每次生成時側重的地方是隨機的,生成圖像上的重點內容無法控制,這也就導致難以做到多張圖像的上下文的一致性,無法實現在特定背景下生成連貫場景的圖像。因此,針對當前擴散模型生成的圖像不可控難以定制化的技術問題,需要一種技術解決當前的問題。
技術實現思路
1、本發明的主要目的在于解決當前擴散模型生成的圖像不可控難以定制化的技術問題。
2、本發明第一方面提供了一種基于擴散模型的圖像生成方法,所述基于擴散模型的圖像生成方法包括:
3、接收用戶輸入的提示詞集以及所述提示詞集中每個提示詞對應的權重;
4、對所述提示詞集進行轉換處理,得到token數據;
5、基于所述token數據的長度,對所述token數據進行矩陣化處理,得到張量矩陣;
6、根據每個提示詞對應的權重,對所述張量矩陣中提示詞對應的數值進行線性縮放處理,得到張量縮放矩陣;
7、將所述張量縮放矩陣輸入預置擴散模型中,得到目標圖像。
8、可選的,在本發明第一方面的第一種實現方式中,所述基于所述token數據的長度,對所述token數據進行矩陣化處理,得到張量矩陣包括:
9、判斷所述token數據是否未超過預置第一長度閾值;
10、當未超過預置第一長度閾值時,則對所述token數據進行編碼矩陣化處理,得到張量矩陣;
11、當超過預置第一長度閾值時,則對所述token數據進行拆分處理,得到第一拆分token和第二拆分token;
12、判斷所述第一拆分token的長度和所述第二拆分token的長度是否均未超過預置第二長度閾值;
13、當均未超過預置第二長度閾值時,則對所述第一拆分token進行編碼矩陣化處理,得到第一子矩陣,并對所述第二拆分token進行編碼矩陣化處理,得到第二子矩陣;
14、將所述第一子矩陣和所述第二子矩陣進行對齊拼接,生成張量矩陣。
15、可選的,在本發明第一方面的第二種實現方式中,在所述判斷所述第一token子數據的長度和所述第二token子數據的長度是否均未超過預置第二長度閾值之后,還包括:
16、當不是均未超過第二長度閾值時,則對所述token數據進行切換組合拆分處理,得到第一重組token和第二重組token;
17、判斷所述第一重組token的長度和所述第二重組token的長度是否均未超過預置第二長度閾值;
18、當第一重組token的長度和第二重組token的長度均未超過預置第二長度閾值時,則對所述第一重組token進行編碼矩陣化處理,得到第一重組子矩陣,并對所述第二重組token進行編碼矩陣化處理,得到第二重組子矩陣;
19、將所述第一重組子矩陣和所述第二重組子矩陣進行對齊拼接,生成張量矩陣。
20、可選的,在本發明第一方面的第三種實現方式中,在所述判斷所述第一重組token的長度和所述第二重組token的長度是否均未超過預置第二長度閾值之后,還包括:
21、當第一重組token的長度和第二重組token的長度不是均未超過預置第二長度閾值時,則對所述token數據進行三段編碼拆分處理,得到第一單設token、第二單設token、第三單設token;
22、判斷所述第一單設token的長度、所述第二單設token的長度、所述第三單設token的長度是否均未超過預置第三長度閾值;
23、當均未超過預置第三長度閾值時,則對所述第一單設token進行編碼矩陣化處理,得到第一單設子矩陣,并對所述第二單設token進行編碼矩陣化處理,得到第二單設子矩陣,并對所述第三單設token進行編碼矩陣化處理,得到第三單設子矩陣;
24、將所述第一單設子矩陣、所述第二單設子矩陣、所述第三單設子矩陣進行對齊拼接,生成張量矩陣。
25、可選的,在本發明第一方面的第四種實現方式中,在所述判斷所述第一單設token的長度、所述第二單設token的長度、所述第三單設token的長度是否均未超過預置第三長度閾值之后,還包括:
26、當不是均未超過預置第三長度閾值時,則發送提示詞異常通知信息至預置管理端口。
27、可選的,在本發明第一方面的第五種實現方式中,所述提示詞集包括:目標提示詞,所述對所述token數據進行編碼矩陣化處理,得到張量矩陣包括:
28、判斷所述目標提示詞是否設置為優先的提示詞;
29、當設置為優先的提示詞時,則將所述目標提示詞對應的token數據作為首矩陣,對所述token數據進行編碼矩陣化處理,得到張量矩陣。
30、可選的,在本發明第一方面的第六種實現方式中,所述對所述token數據進行拆分處理,得到第一拆分token和第二拆分token包括:
31、當目標提示詞設置為優先的提示詞時,則將所述目標提示詞對應的token數據調整為首位數據,對所述token數據進行拆分處理,第一拆分token和第二拆分token。
32、當目標提示詞未設置為優先的提示詞時,則將所述目標提示詞對應的token數據進行獨立拆分處理,得到第一拆分token和第二拆分toke。
33、可選的,在本發明第一方面的第七種實現方式中,所述提示詞集包括:目標提示詞,所述基于所述token數據的長度,對所述token數據進行矩陣化處理,得到張量矩陣包括:
34、判斷所述目標提示詞是否設置為優先的提示詞;
35、當設置為優先的提示詞時,則將所述目標提示詞對應的token數據作為首矩陣,基于所述token數據的長度,對所述token數據進行矩陣化處理,得到張量矩陣。
36、本發明第二方面提供了一種基于擴散模型的圖像生成設備,包括:存儲器和至少一個處理器,所述存儲器中存儲有指令,所述存儲器和所述至少一個處理器通過線路互連;所述至少一個處理器調用所述存儲器中的所述指令,以使得所述基于擴散模型的圖像生成設備執行上述的基于擴散模型的圖像生成方法。
37、本發明的第三方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,當其在計算機上運行時,使得計算機執行上述的基于擴散模型的圖像生成方法。
38、在本發明實施例中,通過在對提示詞編碼的過程中,引入權重處理對編碼的高維張量矩陣作縮放,放大或縮放部分提示詞的重要性,使用戶能夠控制某些事物在生成圖像上出現或不出現。圖像生成結果更可控,實現圖與圖直接的上下文關聯性,使得生成圖像的類場景之間的連貫性,解決了當前擴散模型生成的圖像不可控難以定制化的技術問題。