所屬的技術人員能夠理解,本技術的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產品。因此,本技術的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。與上述方法實施例基于同一發(fā)明構思,本技術實施例中還提供了一種電子設備。在一種實施例中,該電子設備可以是服務器,如圖1所示的服務器120。在該實施例中,電子設備的結構可以如圖16所示,包括存儲器1601,通訊模塊1603以及一個或多個處理器1602。存儲器1601,用于存儲處理器1602執(zhí)行的計算機程序。存儲器1601可主要包括存儲程序區(qū)和存儲數(shù)據區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng),以及運行即時通訊功能所需的程序等;存儲數(shù)據區(qū)可存儲各種即時通訊信息和操作指令集等。存儲器1601可以是易失性存儲器(volatile?memory),例如隨機存取存儲器(random-access?memory,ram);存儲器1601也可以是非易失性存儲器(non-volatilememory),例如只讀存儲器,快閃存儲器(flash?memory),硬盤(hard?disk?drive,hdd)或固態(tài)硬盤(solid-state?drive,ssd);或者存儲器1601是能夠用于攜帶或存儲具有指令或數(shù)據結構形式的預期的計算機程序并能夠由計算機存取的任何其他介質,但不限于此。存儲器1601可以是上述存儲器的組合。處理器1602,可以包括一個或多個中央處理單元(central?processing?unit,cpu)或者為數(shù)字處理單元等等。處理器1602,用于調用存儲器1601中存儲的計算機程序時實現(xiàn)上述圖像生成方法。通訊模塊1603用于與終端設備和其他服務器進行通信。本技術實施例中不限定上述存儲器1601、通訊模塊1603和處理器1602之間的具體連接介質。本技術實施例在圖16中以存儲器1601和處理器1602之間通過總線1604連接,總線1604在圖16中以粗線描述,其它部件之間的連接方式,僅是進行示意性說明,并不引以為限。總線1604可以分為地址總線、數(shù)據總線、控制總線等。為便于描述,圖16中僅用一條粗線描述,但并不描述僅有一根總線或一種類型的總線。存儲器1601中存儲有計算機存儲介質,計算機存儲介質中存儲有計算機可執(zhí)行指令,計算機可執(zhí)行指令用于實現(xiàn)本技術實施例的圖像生成方法。處理器1602用于執(zhí)行上述的圖像生成方法,如圖2所示。在另一種實施例中,電子設備也可以是其他電子設備,如圖1所示的終端設備110。在該實施例中,電子設備的結構可以如圖17所示,包括:通信組件1710、存儲器1720、顯示單元1730、攝像頭1740、傳感器1750、音頻電路1760、藍牙模塊1770、處理器1780等部件。通信組件1710用于與服務器進行通信。在一些實施例中,可以包括電路無線保真(wireless?fidelity,wifi)模塊,wifi模塊屬于短距離無線傳輸技術,電子設備通過wifi模塊可以幫助用戶收發(fā)信息。存儲器1720可用于存儲軟件程序及數(shù)據。處理器1780通過運行存儲在存儲器1720的軟件程序或數(shù)據,從而執(zhí)行終端設備110的各種功能以及數(shù)據處理。存儲器1720可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。存儲器1720存儲有使得終端設備110能運行的操作系統(tǒng)。本技術中存儲器1720可以存儲操作系統(tǒng)及各種應用程序,還可以存儲執(zhí)行本技術實施例圖像生成方法的計算機程序。顯示單元1730還可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端設備110的各種菜單的圖形用戶界面(graphical?user?interface,gui)。具體地,顯示單元1730可以包括設置在終端設備110正面的顯示屏1732。其中,顯示屏1732可以采用液晶顯示器、發(fā)光二極管等形式來配置。顯示單元1730可以用于顯示本技術實施例中的圖像生產平臺的設置界面或是其他用戶界面等。顯示單元1730還可用于接收輸入的數(shù)字或字符信息,產生與終端設備110的用戶設置以及功能控制有關的信號輸入,具體地,顯示單元1730可以包括設置在終端設備110正面的觸控屏1731,可收集用戶在其上或附近的觸摸操作,例如點擊按鈕,拖動滾動框等。其中,觸控屏1731可以覆蓋在顯示屏1732之上,也可以將觸控屏1731與顯示屏1732集成而實現(xiàn)終端設備110的輸入和輸出功能,集成后可以簡稱觸摸顯示屏。本技術中顯示單元1730可以顯示應用程序以及對應的操作步驟。攝像頭1740可用于捕獲靜態(tài)圖像,用戶可以將攝像頭1740拍攝的圖像通過應用發(fā)布。攝像頭1740可以是一個,也可以是多個。物體通過鏡頭生成光學圖像投射到感光元件。感光元件可以是電荷耦合器件(charge?coupled?device,ccd)或互補金屬氧化物半導體(complementary?metal-oxide-semiconductor,cmos)光電晶體管。感光元件把光信號轉換成電信號,之后將電信號傳遞給處理器1780轉換成數(shù)字圖像信號。終端設備還可以包括至少一種傳感器1750,比如加速度傳感器1751、距離傳感器1752、指紋傳感器1753、溫度傳感器1754。終端設備還可配置有陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器、光傳感器、運動傳感器等其他傳感器。音頻電路1760、揚聲器1761、傳聲器1762可提供用戶與終端設備110之間的音頻接口。音頻電路1760可將接收到的音頻數(shù)據轉換后的電信號,傳輸?shù)綋P聲器1761,由揚聲器1761轉換為聲音信號輸出。終端設備110還可配置音量按鈕,用于調節(jié)聲音信號的音量。另一方面,傳聲器1762將收集的聲音信號轉換為電信號,由音頻電路1760接收后轉換為音頻數(shù)據,再將音頻數(shù)據輸出至通信組件1710以發(fā)送給比如另一終端設備110,或者將音頻數(shù)據輸出至存儲器1720以便進一步處理。藍牙模塊1770用于通過藍牙協(xié)議來與其他具有藍牙模塊的藍牙設備進行信息交互。例如,終端設備可以通過藍牙模塊1770與同樣具備藍牙模塊的可穿戴電子設備(例如智能手表)建立藍牙連接,從而進行數(shù)據交互。處理器1780是終端設備的控制中心,利用各種接口和線路連接整個終端的各個部分,通過運行或執(zhí)行存儲在存儲器1720內的軟件程序,以及調用存儲在存儲器1720內的數(shù)據,執(zhí)行終端設備的各種功能和處理數(shù)據。在一些實施例中,處理器1780可包括一個或多個處理單元;處理器1780還可以集成應用處理器和基帶處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,基帶處理器主要處理無線通信。可以理解的是,上述基帶處理器也可以不集成到處理器1780中。本技術中處理器1780可以運行操作系統(tǒng)、應用程序、用戶界面顯示及觸控響應,以及本技術實施例的圖像生成方法。另外,處理器1780與顯示單元1730耦接。在一些可能的實施方式中,本技術提供的圖像生成方法的各個方面還可以實現(xiàn)為一種程序產品的形式,其包括計算機程序,當程序產品在電子設備上運行時,計算機程序用于使電子設備執(zhí)行本說明書上述描述的根據本技術各種示例性實施方式的圖像生成方法中的步驟,例如,電子設備可以執(zhí)行如圖2中所示的步驟。程序產品可以采用一個或多個可讀介質的任意組合??勺x介質可以是可讀信號介質或者可讀存儲介質。可讀存儲介質例如可以是但不限于電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。本技術的實施方式的程序產品可以采用便攜式緊湊盤只讀存儲器(cd-rom)并包括計算機程序,并可以在電子設備上運行。然而,本技術的程序產品不限于此,在本文件中,可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被命令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用??勺x信號介質可以包括在基帶中或者作為載波一部分傳播的數(shù)據信號,其中承載了可讀計算機程序。這種傳播的數(shù)據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合??勺x信號介質還可以是可讀存儲介質以外的任何可讀介質,該可讀介質可以發(fā)送、傳播或者傳輸用于由命令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序??勺x介質上包含的計算機程序可以用任何適當?shù)慕橘|傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設計語言的任意組合來編寫用于執(zhí)行本技術操作的計算機程序,程序設計語言包括面向對象的程序設計語言—諸如java、c++等,還包括常規(guī)的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。計算機程序可以完全地在用戶電子設備上執(zhí)行、部分地在用戶電子設備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶電子設備上部分在遠程電子設備上執(zhí)行、或者完全在遠程電子設備或服務器上執(zhí)行。在涉及遠程電子設備的情形中,遠程電子設備可以通過任意種類的網絡包括局域網(lan)或廣域網(wan)連接到用戶電子設備,或者,可以連接到外部電子設備(例如利用因特網服務提供商來通過因特網連接)。應當注意,盡管在上文詳細描述中提及了裝置的若干單元或子單元,但是這種劃分僅僅是示例性的并非強制性的。實際上,根據本技術的實施方式,上文描述的兩個或更多單元的特征和功能可以在一個單元中具體化。反之,上文描述的一個單元的特征和功能可以進一步劃分為由多個單元來具體化。此外,盡管在附圖中以特定順序描述了本技術方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)預期的結果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或將一個步驟分解為多個步驟執(zhí)行。本領域內的技術人員應明白,本技術的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本技術可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本技術可采用在一個或多個其中包含有計算機可用計算機程序的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。本技術是參照根據本技術實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序命令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序命令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數(shù)據處理設備的處理器執(zhí)行的命令產生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序命令也可存儲在能引導計算機或其他可編程數(shù)據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的命令產生包括命令裝置的制造品,該命令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序命令也可裝載到計算機或其他可編程數(shù)據處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的命令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本技術的優(yōu)選實施例,但本領域內的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本技術范圍的所有變更和修改。顯然,本領域的技術人員可以對本技術進行各種改動和變型而不脫離本技術的精神和范圍。這樣,倘若本技術的這些修改和變型屬于本技術權利要求及其等同技術的范圍之內,則本技術也意圖包含這些改動和變型在內。
背景技術:
1、低秩自適應(low-rank?adaptation,lora)是研究人員為解決大語言模型微調而開發(fā)的一項技術。通過該技術可以實現(xiàn)對圖像生成模型的精細控制,可以輕松畫出特定的人物,物品,特殊的筆觸和特殊的畫風或風格,等等。
2、相關技術中的條件圖像生成任務,一般通過單一的lora無法滿足需求,比如想生成一個穿紅裙子的a動漫風格的小熊貓圖像時,就需要組合3個lora,分別為:小熊貓人物lora,衣服lora,和a動漫風格lora。
3、在需要通過多個lora生成條件圖像時,相關技術只是將多個lora進行簡單融合,但該方式下,多個lora之間會產生沖突,比如小熊貓人物lora更側重二次元,服裝lora更側重寫實風格,lora沖突會導致生成不理想的結果。因而,如何準確的生成符合預期的條件圖像是亟待解決的。
技術實現(xiàn)思路
1、本技術實施例提供一種圖像生成方法、裝置、電子設備和存儲介質,用以提高生成條件圖像的準確度。
2、本技術實施例提供的一種圖像生成方法,包括:
3、獲取參考圖像,以及所述參考圖像中各參考對象各自的控制信息,所述控制信息表示:相應參考對象在至少一個指定調整維度下的調整條件;
4、針對所述各參考對象,分別執(zhí)行以下操作:基于一個參考對象關聯(lián)的控制信息,獲得一個低秩自適應權重集;所述低秩自適應權重集包括:預訓練的圖像生成模型包含的各去噪網絡層各自的低秩自適應權重,其中,每個去噪網絡層關聯(lián)至少一個調整維度;
5、基于獲得的各低秩自適應權重集,調整所述預訓練的圖像生成模型中各去噪網絡層的網絡參數(shù),獲得已訓練的圖像生成模型;
6、將所述參考圖像和獲得的各控制信息輸入所述已訓練的圖像生成模型,獲得結合所述各參考對象各自的掩碼區(qū)域,對所述參考圖像進行調整生成的條件圖像;每個掩碼區(qū)域是根據相應參考對象在所述參考圖像中的位置信息確定的。
7、本技術實施例提供的一種圖像生成裝置,包括:
8、數(shù)據獲取單元,用于獲取參考圖像,以及所述參考圖像中各參考對象各自的控制信息,所述控制信息表示:相應參考對象在至少一個指定調整維度下的調整條件;
9、權重預測單元,用于針對所述各參考對象,分別執(zhí)行以下操作:基于一個參考對象關聯(lián)的控制信息,獲得一個低秩自適應權重集;所述低秩自適應權重集包括:預訓練的圖像生成模型包含的各去噪網絡層各自的低秩自適應權重,其中,每個去噪網絡層關聯(lián)至少一個調整維度;
10、模型調整單元,用于基于獲得的各低秩自適應權重集,調整所述預訓練的圖像生成模型中各去噪網絡層的網絡參數(shù),獲得已訓練的圖像生成模型;
11、圖像生成單元,用于將所述參考圖像和獲得的各控制信息輸入所述已訓練的圖像生成模型,獲得結合所述各參考對象各自的掩碼區(qū)域,對所述參考圖像進行調整生成的條件圖像;每個掩碼區(qū)域是根據相應參考對象在所述參考圖像中的位置信息確定的。
12、可選的,所述模型調整單元具體用于:
13、對于每個去噪網絡層,分別執(zhí)行以下操作:
14、將所述各參考對象各自針對一個去噪網絡層的低秩自適應權重進行加權求和,獲得所述一個去噪網絡層的綜合低秩自適應權重;
15、基于所述一個去噪網絡層的綜合低秩自適應權重,調整預訓練的圖像生成模型中所述一個去噪網絡層的權重矩陣,獲得相應的調整后權重矩陣;
16、根據所述預訓練的圖像生成模型中各去噪網絡層各自的調整后權重矩陣,確定所述已訓練的圖像生成模型。
17、可選的,所述模型調整單元還用于:
18、在所述基于獲得的各低秩自適應權重集,調整所述預訓練的圖像生成模型中各去噪網絡層的網絡參數(shù),獲得已訓練的圖像生成模型之前,獲取針對所述各參考對象分別設置的初始權重,每個初始權重與相應參考對象和預期調整結果的相似度呈正相關;
19、所述模型調整單元具體用于:
20、基于所述各參考對象各自的初始權重,對所述一個去噪網絡層的低秩自適應權重進行加權求和,獲得所述一個去噪網絡層的綜合低秩自適應權重。
21、可選的,所述模型調整單元具體用于:
22、對于每個去噪網絡層,分別執(zhí)行以下操作:分別根據所述各參考對象各自針對一個去噪網絡層的低秩自適應權重,調整預訓練的圖像生成模型中所述一個去噪網絡層對應的權重矩陣,獲得相應的調整后權重矩陣;
23、根據所述預訓練的圖像生成模型中各去噪網絡層各自的調整后權重矩陣,確定所述已訓練的圖像生成模型。
24、可選的,所述權重預測單元具體用于:
25、將所述一個參考對象關聯(lián)的控制信息,輸入已訓練的權重預測模型,獲得所述已訓練的權重預測模型輸出的低秩自適應權重集;
26、其中,所述已訓練的權重預測模型是通過強化學習訓練得到的。
27、可選的,所述裝置還用于:
28、模型訓練單元,用于通過如下方式訓練得到所述已訓練的權重預測模型:
29、獲取訓練樣本集,所述訓練樣本集中的每個訓練樣本包括:候選狀態(tài),以及所述候選狀態(tài)下各候選調整行為各自對應的長期回報真實值;所述候選狀態(tài)表示:所述預訓練的圖像生成模型中各去噪網絡層各自的候選低秩自適應權重;每個候選調整行為表示:對所述候選低秩自適應權重進行調整時的一個調整量;
30、基于所述訓練樣本集,對待訓練的權重預測模型執(zhí)行循環(huán)迭代訓練,獲得所述已訓練的權重預測模型,其中,每次迭代訓練執(zhí)行以下過程:
31、從所述訓練樣本集中選取訓練樣本,并將所述訓練樣本中的候選狀態(tài)輸入所述待訓練的權重預測模型,獲得所述候選狀態(tài)下每個調整行為各自對應的長期回報估計值;
32、基于獲得的各長期回報估計值與相應長期回報真實值之間的差異,對所述待訓練的權重預測模型進行參數(shù)調整。
33、可選的,所述模型訓練單元具體用于:
34、基于樣本圖像集迭代執(zhí)行以下學習過程,直至記憶池中的數(shù)據量達到預設觀察值后,從所述記憶池中隨機選取部分數(shù)據構建所述訓練樣本集;其中,每次學習過程執(zhí)行以下操作:
35、從樣本圖像集中選取一個樣本圖像,并根據所述樣本圖像的樣本調整維度設置初始狀態(tài),所述初始狀態(tài)表示:所述預訓練的圖像生成模型中各去噪網絡層各自的初始低秩自適應權重;
36、根據所述初始狀態(tài)選擇初始調整行為,所述初始調整行為表示:對所述初始低秩自適應權重進行調整時的調整量;
37、對所述預訓練的圖像生成模型執(zhí)行所述初始調整行為后,獲得獎勵值及執(zhí)行所述初始調整行為后的候選狀態(tài);所述獎勵值表示:基于調整前后的圖像生成模型所生成的圖像的質量變化;
38、將本次的初始狀態(tài)、初始調整行為、獎勵值及候選狀態(tài),保存至記憶池中。
39、可選的,所述模型訓練單元還用于:
40、在每次學習過程中,若所述獎勵值滿足預設閾值條件,則結束本次學習過程;
41、若所述獎勵值不滿足預設閾值條件,則將所述候選狀態(tài)作為初始狀態(tài),并返回至根據所述初始狀態(tài)選擇初始調整行為的步驟。
42、可選的,所述去噪網絡層為所述圖像生成模型中的去噪網絡所包含的交叉注意力層;所述交叉注意力層用于建??刂菩畔⑴c圖像之間的聯(lián)系。
43、可選的,所述圖像生成單元具體用于:
44、將所述參考圖像輸入所述已訓練的圖像生成模型,基于所述已訓練的圖像生成模型中的編碼層,對所述參考圖像進行編碼,獲得編碼圖像;
45、在所述編碼圖像中隨機添加噪聲,獲得噪聲圖像;
46、將所述控制信息經過所述已訓練的圖像生成模型中的條件網絡進行編碼,獲得條件編碼特征;
47、將所述條件編碼特征和所述噪聲圖像輸入所述已訓練的圖像生成模型中的去噪網絡,結合所述掩碼區(qū)域進行迭代去噪處理,獲得去噪圖像;
48、基于所述已訓練的圖像生成模型中的解碼層,對所述去噪圖像進行解碼處理,獲得所述條件圖像。
49、本技術實施例提供的一種電子設備,包括處理器和存儲器,其中,所述存儲器存儲有計算機程序,當所述計算機程序被所述處理器執(zhí)行時,使得所述處理器執(zhí)行上述任意一種圖像生成方法的步驟。
50、本技術實施例提供一種計算機可讀存儲介質,其包括計算機程序,當所述計算機程序在電子設備上運行時,所述計算機程序用于使所述電子設備執(zhí)行上述任意一種圖像生成方法的步驟。
51、本技術實施例提供一種計算機程序產品,所述計算機程序產品包括計算機程序,所述計算機程序存儲在計算機可讀存儲介質中;當電子設備的處理器從計算機可讀存儲介質讀取所述計算機程序時,所述處理器執(zhí)行所述計算機程序,使得所述電子設備執(zhí)行上述任意一種圖像生成方法的步驟。
52、本技術有益效果如下:
53、本技術實施例提供了一種圖像生成方法、裝置、電子設備和存儲介質。本技術考慮到了預訓練的圖像生成模型包含的各去噪網絡層與圖像的調整維度之間的聯(lián)系,提出了控制lora對預訓練的圖像生成模型中各去噪網絡層的控制權重的思想,也即,本技術中并非將多個lora進行簡單融合,而是通過lora權重(即低秩自適應權重)的分層設置,控制不同的去噪網絡層,實現(xiàn)對圖像不同維度的控制。具體的,本技術在獲取參考圖像和參考圖像中各參考對象各自的控制信息后,考慮到這些控制信息各自都對應至少一個指定調整維度,因而,基于這些控制信息可確定出針對預訓練的圖像生成模型的低秩自適應權重集,該權重集中包括預訓練的圖像生成模型包含的各去噪網絡層各自的低秩自適應權重,以分層鎖定lora權重,規(guī)避lora間的沖突,在此基礎上獲得的已訓練的圖像生成模型,可實現(xiàn)對圖像不同維度的控制。此外,本技術基于生成的已訓練的圖像生成模型生成條件圖像時,還進一步引入了與參考對象相關的掩碼區(qū)域這一特征,通過掩碼區(qū)域確定lora的作用范圍,在lora分層的基礎上,進一步實現(xiàn)了lora分區(qū)域控制的效果,避免了lora間的沖突,提高了所生成的條件圖像的準確度。
54、本技術的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本技術而了解。本技術的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現(xiàn)和獲得。