(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025024163
(43)【公開日】2025-02-19
(54)【発明の名称】画像編集方法、装置、電子機器及び記憶媒体
(51)【国際特許分類】
G06T 11/80 20060101AFI20250212BHJP
【FI】
G06T11/80 A
【審査請求】有
【請求項の数】19
【出願形態】OL
【外国語出願】
【公開請求】
(21)【出願番号】P 2024202319
(22)【出願日】2024-11-20
(31)【優先権主張番号】202410024309.8
(32)【優先日】2024-01-05
(33)【優先権主張国・地域又は機関】CN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PHOTOSHOP
2.UNIX
3.Linux
4.WINDOWS PHONE
5.ANDROID
6.ブルートゥース
7.JAVA
8.CORELDRAW
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】グオハオ リー
(72)【発明者】
【氏名】ジアチェン リウ
(72)【発明者】
【氏名】シンヤン シャオ
(57)【要約】 (修正有)
【課題】ユーザ操作の複雑さを顕著に低減させ、画像編集効率とユーザ体験を向上させるマルチラウンド対話式の画像編集方法及び装置、電子機器並びにコンピュータ可読記憶媒体及びコンピュータプログラム製品を提供する。
【解決手段】画像編集方法は、ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得することを含む。履歴対話情報は、履歴対話テキストと少なくとも一つの履歴画像とを含む。方法はまた、編集命令と履歴対話情報に基づき、少なくとも一つの履歴画像から編集すべきソース画像を確定することと、編集命令に基づき、ソース画像を編集して、ターゲット画像を生成することと、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
画像編集方法であって、
ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得することであって、前記履歴対話情報が履歴対話テキストと少なくとも一つの履歴画像とを含むことと、
前記編集命令と前記履歴対話情報に基づき、前記少なくとも一つの履歴画像から編集すべきソース画像を確定することと、
前記編集命令に基づき、前記ソース画像を編集して、ターゲット画像を生成することとを含む、画像編集方法。
【請求項2】
前記の、前記編集命令と前記履歴対話情報に基づき、前記少なくとも一つの履歴画像から編集すべきソース画像を確定することは、
予め設定されるプロンプトテンプレートを取得することであって、前記プロンプトテンプレートが、前記少なくとも一つの履歴画像から編集すべきソース画像を確定するように言語モデルをガイドするためのガイドテキストと充填すべきスロットとを含むことと、
前記編集命令と前記履歴対話情報とを前記スロットに充填して、入力情報を得ることと、
前記入力情報を前記言語モデルに入力して、前記言語モデルから出力される前記ソース画像を得ることとを含む、請求項1に記載の方法。
【請求項3】
前記の、前記編集命令に基づき、前記ソース画像を編集することは、
前記ソース画像のソース説明テキストを取得することと、
前記ソース説明テキストと前記編集命令に基づき、前記ターゲット画像のターゲット説明テキストを確定することと、
前記ターゲット説明テキストに基づき、前記ターゲット画像を生成することであって、前記ソース説明テキストが、前記の、前記ターゲット画像を生成するプロセスに対して制御を行うために用いられることとを含む、請求項1に記載の方法。
【請求項4】
前記の、前記ソース説明テキストと前記編集命令に基づき、前記ターゲット画像のターゲット説明テキストを確定することは、
前記編集命令に基づき、言語モデルを利用して前記ソース説明テキストを書き換えて、前記ターゲット説明テキストを得ることを含む、請求項3に記載の方法。
【請求項5】
前記の、前記ターゲット説明テキストに基づき、前記ターゲット画像を生成することは、
前記ソース説明テキストに基づき、テキストツーイメージ拡散モデルを利用して複数回の第1の反復を実行することによって第1の初期画像のノイズを除去し、前記複数回の第1の反復のうちの毎回の第1の反復でサンプリングされたランダム変数値を記録することと、
前記ターゲット説明テキストに基づき、前記テキストツーイメージ拡散モデルを利用して複数回の第2の反復を実行することによって第2の初期画像のノイズを除去して、前記ターゲット画像を生成することとを含み、
ここで、前記複数回の第2の反復のうちの毎回の第2の反復は、該当ラウンドの第1の反復でサンプリングされたランダム変数値を多重化する、請求項3に記載の方法。
【請求項6】
前記テキストツーイメージ拡散モデルは、テキストエンコーダとノイズ生成ネットワークとを含み、且つここで、前記複数回の第2の反復のうちの毎回の第2の反復は、
前記ターゲット説明テキストを前記テキストエンコーダに入力して、前記ターゲット説明テキストに対応するターゲットテキストベクトルを生成することと、
前記ターゲットテキストベクトルと該当ラウンドの第1の反復でサンプリングされたランダム変数値とを前記ノイズ生成ネットワークに入力して、現在画像の予測ノイズを得ることと、
前記現在画像から前記予測ノイズを除去して、今回の第2の反復の結果画像を得ることとを含み、
ここで、1回目の第2の反復における現在画像は、前記第2の初期画像であり、2回目及び後続の毎回の第2の反復における現在画像は、前回の第2の反復において生成された結果画像である、請求項5に記載の方法。
【請求項7】
前記第2の初期画像は、前記ソース画像に基づいて生成される、請求項5に記載の方法。
【請求項8】
前記第2の初期画像は、前記ソース画像にノイズを追加することによって得られる、請求項7に記載の方法。
【請求項9】
画像編集装置であって、
ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得するように構成される取得モジュールであって、前記履歴対話情報が履歴対話テキストと少なくとも一つの履歴画像とを含む取得モジュールと、
前記編集命令と前記履歴対話情報に基づき、前記少なくとも一つの履歴画像から編集すべきソース画像を確定するように構成される確定モジュールと、
前記編集命令に基づき、前記ソース画像を編集して、ターゲット画像を生成するように構成される編集モジュールとを含む、画像編集装置。
【請求項10】
前記確定モジュールは、
予め設定されるプロンプトテンプレートを取得するように構成される第1の取得ユニットであって、前記プロンプトテンプレートが、前記少なくとも一つの履歴画像から編集すべきソース画像を確定するように言語モデルをガイドするためのガイドテキストと充填すべきスロットとを含む第1の取得ユニットと、
前記編集命令と前記履歴対話情報とを前記スロットに充填して、入力情報を得るように構成される充填ユニットと、
前記入力情報を前記言語モデルに入力して、前記言語モデルから出力される前記ソース画像を得るように構成される入力ユニットとを含む、請求項9に記載の装置。
【請求項11】
前記編集モジュールは、
前記ソース画像のソース説明テキストを取得するように構成される第2の取得ユニットと、
前記ソース説明テキストと前記編集命令に基づき、前記ターゲット画像のターゲット説明テキストを確定するように構成される確定ユニットと、
前記ターゲット説明テキストに基づき、前記ターゲット画像を生成するように構成される生成ユニットであって、前記ソース説明テキストが、前記の、前記ターゲット画像を生成するプロセスに対して制御を行うために用いられる生成ユニットとを含む、請求項9に記載の装置。
【請求項12】
前記確定ユニットはさらに、
前記編集命令に基づき、言語モデルを利用して前記ソース説明テキストを書き換えて、前記ターゲット説明テキストを得るように構成される、請求項11に記載の装置。
【請求項13】
前記生成ユニットは、
前記ソース説明テキストに基づき、テキストツーイメージ拡散モデルを利用して複数回の第1の反復を実行することによって第1の初期画像のノイズを除去し、前記複数回の第1の反復のうちの毎回の第1の反復でサンプリングされたランダム変数値を記録するように構成されるシミュレートサブユニットと、
前記ターゲット説明テキストに基づき、前記テキストツーイメージ拡散モデルを利用して複数回の第2の反復を実行することによって第2の初期画像のノイズを除去して、前記ターゲット画像を生成するように構成される生成サブユニットとを含み、
ここで、前記複数回の第2の反復のうちの毎回の第2の反復は、該当ラウンドの第1の反復でサンプリングされたランダム変数値を多重化する、請求項11に記載の装置。
【請求項14】
前記テキストツーイメージ拡散モデルは、テキストエンコーダとノイズ生成ネットワークとを含み、且つここで、前記複数回の第2の反復のうちの毎回の第2の反復は、
前記ターゲット説明テキストを前記テキストエンコーダに入力して、前記ターゲット説明テキストに対応するターゲットテキストベクトルを生成することと、
前記ターゲットテキストベクトルと該当ラウンドの第1の反復でサンプリングされたランダム変数値とを前記ノイズ生成ネットワークに入力して、現在画像の予測ノイズを得ることと、
前記現在画像から前記予測ノイズを除去して、今回の第2の反復の結果画像を得ることとを含み、
ここで、1回目の第2の反復における現在画像は、前記第2の初期画像であり、2回目及び後続の毎回の第2の反復における現在画像は、前回の第2の反復において生成された結果画像である、請求項13に記載の装置。
【請求項15】
前記第2の初期画像は、前記ソース画像に基づいて生成される、請求項13に記載の装置。
【請求項16】
前記第2の初期画像は、前記ソース画像にノイズを追加することによって得られる、請求項15に記載の装置。
【請求項17】
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサに通信接続されるメモリとを含む電子機器であって、
前記メモリは、前記少なくとも一つのプロセッサによって実行可能な命令を記憶しており、前記命令が前記少なくとも一つのプロセッサによって実行されて、前記少なくとも一つのプロセッサに請求項1~8のいずれか一項に記載の方法を実行させることを可能にする、電子機器。
【請求項18】
コンピュータ命令が記憶されている非一時的コンピュータ可読記憶媒体であって、前記コンピュータ命令は、コンピュータに請求項1~8のいずれか一項に記載の方法を実行させるために用いられる、非一時的コンピュータ可読記憶媒体。
【請求項19】
コンピュータプログラム命令を含むコンピュータプログラム製品であって、前記コンピュータプログラム命令がプロセッサによって実行される時、請求項1~8のいずれか一項に記載の方法を実現する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、人工知能の技術分野に関し、特に自然言語処理、コンピュータビジョン、深層学習などの技術分野に関し、具体的に画像編集方法と装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
人工知能(Artificial Intelligence、AI)は、コンピュータに人間のいくつかの思惟過程及び知能的行動(例えば、学習、推理、思考、計画など)を模擬させるように研究する科目であり、ハードウェア面の技術もあれば、ソフトウェア面の技術もある。人工知能のハードウェア技術は、一般的にセンサ、人工知能専用チップ、クラウドコンピューティング、分散型ストレージ、ビッグデータ処理などの技術を含み、人工知能ソフトウェア技術は、主にコンピュータビジョン技術、音声認識技術、自然言語処理技術及び機械学習/深層学習、ビッグデータ処理技術、ナレッジグラフ技術などのいくつかの大きな方向を含む。
【0003】
大規模言語モデル(Large Language Model、LLM、大規模モデルとも呼ばれる)は、大量のテキストデータを使用してトレーニングされた深層学習モデルであり、それは自然言語テキストを生成するか又は自然言語テキストの意味を理解することができる。大規模言語モデルは、複数種の自然言語タスク、例えば対話、テキスト分類、テキスト生成などを処理することができ、人工知能への重要な経路の一つである。いくつかの大規模言語モデルは、マルチモーダルデータ処理能力をさらに有し、例えばテキスト、画像、ビデオなどのマルチモーダルデータを処理することができる。
【0004】
該部分で説明される方法は、必ずしも以前に想定された方法又は採用された方法ではない。特に断りのない限り、該部分に記載されているいずれの方法は、該部分に含まれるだけで従来技術であると考えられるべきではない。類似しているように、特に断りのない限り、この部分で言及している課題は、従来技術で公認されたものであると考えるべきではない。
【発明の概要】
【0005】
本開示は、画像編集方法と装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム製品を提供する。
【0006】
本開示の一態様によれば、画像編集方法を提供し、この方法は、ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得することであって、前記履歴対話情報が履歴対話テキストと少なくとも一つの履歴画像とを含むことと、前記編集命令と前記履歴対話情報に基づき、前記少なくとも一つの履歴画像から編集すべきソース画像を確定することと、前記編集命令に基づき、前記ソース画像を編集して、ターゲット画像を生成することとを含む。
【0007】
本開示の一態様によれば、画像編集装置を提供し、この装置は、ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得するように構成される取得モジュールであって、前記履歴対話情報が履歴対話テキストと少なくとも一つの履歴画像とを含む取得モジュールと、前記編集命令と前記履歴対話情報に基づき、前記少なくとも一つの履歴画像から編集すべきソース画像を確定するように構成される確定モジュールと、前記編集命令に基づき、前記ソース画像を編集して、ターゲット画像を生成するように構成される編集モジュールとを含む。
【0008】
本開示の一態様によれば、電子機器を提供し、この電子機器は、少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサに通信接続されるメモリとを含み、ここで、前記メモリは、前記少なくとも一つのプロセッサによって実行可能な命令を記憶しており、前記命令が前記少なくとも一つのプロセッサによって実行されて、前記少なくとも一つのプロセッサに上記方法を実行させることを可能にする。
【0009】
本開示の一態様によれば、コンピュータ命令が記憶されている非一時的コンピュータ可読記憶媒体を提供し、前記コンピュータ命令は、コンピュータに上記方法を実行させるために用いられる。
【0010】
本開示の一態様によれば、コンピュータプログラム命令を含むコンピュータプログラム製品を提供し、前記コンピュータプログラム命令がプロセッサによって実行される時、上記方法を実現する。
【0011】
本開示の一つ又は複数の実施例によれば、マルチラウンド対話式の画像編集を実現することができ、ユーザ操作の複雑さを顕著に低減させ、画像編集効率とユーザ体験を向上させる。
【0012】
理解すべきこととして、この部分に記述された内容は、本開示の実施例の要点又は重要な特徴を識別することを意図しておらず、本開示の範囲を限定するためのものでもない。本開示の他の特徴は、以下の明細書によって容易に理解されるであろう。
【図面の簡単な説明】
【0013】
図面は、実施例を例示的に示すとともに明細書の一部を構成し、明細書の文章による説明とともに、実施例の例示的な実施形態を説明するために用いられる。示される実施例は、例を示すためのものに過ぎず、特許請求の範囲を限定するものではない。すべての図面において、同一の符号は、類似しているが、必ずしも同じとは限らない要素を指す。
【
図1】本開示の実施例による、本明細書で説明される各方法を実施することができる例示的なシステムの概略図である。
【
図2】本開示の実施例による画像編集方法のフローチャートである。
【
図3】本開示の実施例によるテキストツーイメージ拡散モデルのt回目の反復の概略図である。
【
図4】本開示の実施例による画像編集プロセスの概略図である。
【
図5】本開示の実施例による画像編集の例の概略図である。
【
図6】本開示の実施例によるマルチラウンド対話式の画像編集効果の概略図である。
【
図7】本開示の実施例による画像編集装置の構造ブロック図である。
【
図8】本開示の実施例を実現するために使用できる例示的な電子機器の構造ブロック図である。
【発明を実施するための形態】
【0014】
以下、図面を結び付けながら本開示の例示的な実施例を説明し、理解を容易にするために、その中には本開示の実施例の様々な詳細が含まれているが、それらは単なる例示的なものと見なされるべきである。そのため、当業者であれば認識すべきこととして、本開示の範囲から逸脱することなく、本明細書で説明された実施例に対して様々な変更及び修正を行うことができる。同様に、明瞭と簡潔のために、以下の説明では公知の機能及び構造についての説明を省略している。
【0015】
本開示では、特に明記しない限り、様々な要素を説明するための「第1」、「第2」などの用語は、これらの要素の位置関係、タイミング関係、又は重要性関係を限定することを意図していない。このような用語は、一つの要素を別の要素から区別するためにのみ使用される。いくつかの例では、第1の要素と第2の要素は、該要素の同一の例を指してもよく、場合によっては、文脈の説明に基づいて、異なる例を指してもよい。
【0016】
本開示の様々な例の説明で使用される用語は、特定の例を説明することのみを目的としており、限定することを意図していない。文脈で別途に明確に示されていない限り、特に要素の数を限定しないなら、該要素は一つであってもよいし、複数であってもよい。なお、本開示で使用される用語「及び/又は」は、リストされたアイテムのいずれか一つ及び可能なすべての組み合わせをカバーする。「複数」は二つ以上を意味する。
【0017】
本開示の技術案において、関連するユーザ個人情報の取得、記憶と応用などは、すべて関連法律法規の規定に合致し、且つ公順良俗に違反しない。
【0018】
画像編集は、既存の画像に対して指定される変更、例えば輝度やコントラストの調整、画像における要素の追加、修正、削除などを行うことによって、新しい画像を得ることである。
【0019】
関連技術において、従来の画像編集ツール、例えばPhotoShop、CorelDRAWなどのグラフィックソフトウェアを用いて画像を編集することが多い。これらの画像編集ツールは、使用要求が高く、ユーザに対して特別なトレーニングを行う必要があるとともに、操作フローが複雑で煩多であるため、画像編集効率が低く、コストが高く、ユーザの需要を満たしにくい。
【0020】
人工知能技術の発展に伴い、生成式の画像編集技術、例えば画像インペインティング(inpainting)モデル、画像アウトペインティング(outpainting)モデルなどは、画像編集タスクにおいて巨大な潜在力を示している。従来の画像編集ツールに比べて、生成式の画像編集技術は既に画像編集効率を効果的に向上させたが、望ましい編集効果を得るために、ユーザは依然として煩雑で専門的な操作ステップを実行する必要がある。例えば、生成式の画像インペインティングモデルに対して、ユーザは、塗抹の方式で編集すべき画像エリアを指定してから、経験的で、細心に作成されたテキスト(prompt)を入力する必要があり、そして編集目的(例えば要素の追加、修正、削除など)によって使用方式が異なる。望ましい編集効果を得るために、ユーザは、関連するアルゴリズム原理、パラメータ設定などの専門知識を理解する必要がある。そのため、生成式の画像編集技術は、ユーザにとって使用難易度が依然として高く、画像編集効率が低く、ユーザの需要を満たしにくい。
【0021】
このことから分かるように、関連技術における画像編集方案は、汎用性がなく、ユーザへの使用要求が高く、操作フローが複雑で煩多であり、画像編集効率が低く、ユーザの需要を満たしにくい。
【0022】
上記問題に対して、本開示の実施例は、マルチラウンド対話式の画像編集方法を提供する。履歴対話情報を結び付けることによって、ユーザ現在の編集命令が指向する編集オブジェクト(即ち、ソース画像)を正確に理解し、さらにユーザの編集命令に基づき、ソース画像を編集し、ターゲット画像を生成する。本開示の実施例は、統一で、自然的なマルチラウンド対話の方式によってユーザの画像編集の需要を理解し満たし、ユーザ操作の複雑さを顕著に低減させ、画像編集効率とユーザ体験を向上させる。
【0023】
以下、図面を結び付けながら本開示の実施例について詳細に説明する。
【0024】
図1は、本開示の実施例によると、本明細書に記載された様々な方法及び装置を、その中で実施することができる例示的なシステム100の概略図を示す。
図1を参照すると、該システム100は、一つ又は複数のクライアント機器101、102、103、104、105と106、サーバ120、及び一つ又は複数のクライアント機器をサーバ120に結合する一つ又は複数の通信ネットワーク110を含む。クライアント機器101、102、103、104、105と106は、一つ又は複数のアプリケーションを実行するように構成されることが可能である。
【0025】
本開示の実施例において、クライアント機器101、102、103、104、105と106及びサーバ120は、画像編集方法又は画像編集方法の一つ又は複数のサービス又はソフトウェアアプリケーションを実行できるように運行することができる。
【0026】
いくつかの実施例では、サーバ120は、他のサービス又はソフトウェアアプリケーションをさらに提供することができ、これらのサービス又はソフトウェアアプリケーションは、非仮想環境と仮想環境を含んでもよい。いくつかの実施例では、これらのサービスは、webベースのサービス又はクラウドサービスとして提供することができ、例えば、ソフトウェアアズアサービス(SaaS)モデルでクライアント機器101、102、103、104、105及び/又は106のユーザに提供される。
【0027】
図1に示す構成では、サーバ120は、サーバ120によって実行される機能を実現する一つ又は複数のアセンブリを含んでもよい。これらのアセンブリは、一つ又は複数のプロセッサによって実行できるソフトウェアアセンブリ、ハードウェアアセンブリ、又はそれらの組み合わせを含んでもよい。クライアント機器101、102、103、104、105及び/又は106を操作するユーザは、一つ又は複数のクライアントアプリケーションを順次利用してサーバ120とのインタラクションを行うことで、これらのアセンブリにより提供されるサービスを利用することができる。理解すべきこととして、様々な異なるシステム構成が可能であり、システム100と異なっていてもよい。そのため、
図1は、本明細書に記載された様々な方法を実施するためのシステムの一例であり、そして制限することを意図していない。
【0028】
クライアント機器101、102、103、104、105及び/又は106は、クライアント機器とのインタラクションを行うことのできるインターフェースをクライアント機器のユーザに提供することができる。クライアント機器はさらに、該インターフェースを介してユーザに情報を出力してもよい。
図1では6つのクライアントデバイスしか図示されていないが、当業者であれば理解できるように、本開示はいかなる数のクライアントデバイスもサポートできる。
【0029】
クライアント機器101、102、103、104、105及び/又は106は、様々なタイプのコンピュータ機器、例えば、携帯型ハンドヘルドデバイス、汎用コンピュータ(例えば、パーソナルコンピュータやラップトップコンピュータ)、ワークステーションコンピュータ、ウェアラブルデバイス、スマートスクリーンデバイス、セルフサービス端末機器、サービスロボット、車載機器、ゲームシステム、シンクライアント、様々なメッセージ送受信機器、センサ、又は他の検知デバイスなどを含んでもよい。これらのコンピュータ機器は、MICROSOFT Windows、APPLE iOS、UNIX系オペレーティングシステム、Linux又はLinux系オペレーティングシステムなどのような各種のタイプ及びバージョンのソフトウェアアプリケーションとオペレーティングシステムを実行したり、MICROSOFT Windows Mobile OS、iOS、Windows Phone、Androidなどのような各種のモバイルオペレーティングシステムを含んだりすることができる。携帯用ハンドヘルドデバイスは、セルラー電話、スマートフォン、タブレットパソコン、パーソナルデジタルアシスタント(PDA)などを含んでもよい。ウェアラブルデバイスは、ヘッドマウント型ディスプレイ(例えばスマートグラス)と他のデバイスを含んでもよい。ゲームシステムは、様々なハンドヘルド型のゲームデバイス、インターネット対応のゲームデバイスなどを含んでもよい。クライアント機器は、Internetに関連する様々なアプリケーション、通信アプリケーション(例えば電子メールアプリケーション)、ショートメッセージサービス(SMS)アプリケーションのような各種の異なるアプリケーションを実行できるとともに、各種の通信プロトコルを使用することができる。
【0030】
ネットワーク110は、当業者に知られている任意のタイプのネットワークであってもよく、それは、データ通信をサポートするために、複数の利用可能なプロトコルのうちのいずれか一つ(TCP/IP、SNA、IPXなどを含むがこれらに限定されない)を使用してもよい。例として、一つ又は複数のネットワーク110は、ローカルエリアネットワーク(LAN)、イーサネットベースのネットワーク、トークンループ、ワイドエリアネットワーク(WAN)、インターネット、仮想ネットワーク、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、ブロックチェーンネットワーク、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(例えば、ブルートゥース、Wi-Fi)、及び/又はこれら及び/又はその他のネットワークの任意の組み合わせであってもよい。
【0031】
サーバ120は、一つ又は複数の汎用コンピュータ、専用サーバコンピュータ(例えば、PC(パーソナルコンピュータ)サーバ、UNIXサーバ、ミッドレンジサーバ)、ブレードサーバ、大型コンピュータ、サーバクラスタ、又はその他のいかなる適切な配置及び/又は組み合わせを含んでもよい。サーバ120は、仮想オペレーティングシステムを運行する一つ又は複数の仮想マシン、又は仮想化に関わる他のコンピューティングアーキテクチャ(例えば、サーバの仮想記憶デバイスを維持するために仮想化され得る論理記憶デバイスの一つ又は複数のフレキシブルプール)を含んでもよい。様々な実施例では、サーバ120は、以下に説明する機能を提供する一つ又は複数のサービス又はソフトウェアアプリケーションを実行することができる。
【0032】
サーバ120における計算ユニットは、上記任意のオペレーティングシステム及び商業で利用可能な任意のサーバオペレーティングシステムを含む一つ又は複数のオペレーティングシステムを運行することができる。サーバ120はさらに、HTTPサーバ、FTPサーバ、CGIサーバ、JAVAサーバ、データベースサーバなどを含む様々な追加のサーバアプリケーション及び/又は中間層アプリケーションのいずれか一つを運行することができる。
【0033】
いくつかの実施例では、サーバ120は、クライアント機器101、102、103、104、105及び/又は106のユーザから受信したデータフィード及び/又はイベント更新を分析と統合するために、一つ又は複数のアプリケーションを含んでもよい。サーバ120は、クライアント機器101、102、103、104、105及び/又は106の一つ又は複数の表示デバイスを介してデータフィード及び/又はリアルタイムイベントを表示するために、一つ又は複数のアプリケーションをさらに含んでもよい。
【0034】
いくつかの実施例では、サーバ120は、分散型システムのサーバであってもよいし、ブロックチェーンを組み込んだサーバであってもよい。サーバ120は、クラウドサーバであってもよいし、人工知能技術を備えたスマートクラウドコンピューティングサーバやスマートクラウドホストであってもよい。クラウドサーバは、クラウドコンピューティングサービス体系におけるホスト製品であり、それによって管理難易度が高く、業務拡張性が低いという、従来の物理的ホストと仮想専用サーバ(VPS、Virtual Private Server)サービスに存在する欠陥を解決する。
【0035】
システム100は、一つ又は複数のデータベース130をさらに含んでもよい。いくつかの実施例では、これらのデータベースは、データと他の情報を記憶するために用いられてもよい。例えば、データベース130のうちの一つ又は複数は、オーディオファイルとビデオファイルの情報を記憶するために用いられてもよい。データベース130は、さまざまな位置に配置されてもよい。例えば、サーバ120によって使用されるデータベースは、サーバ120のローカルにあってもよいし、又はサーバ120から離れてネットワーク又は専用の接続を介してサーバ120と通信してもよい。データベース130は、様々なタイプであってもよい。いくつかの実施例では、サーバ120によって使用されるデータベースは、例えば関係データベースであってもよい。これらのデータベースのうちの一つ又は複数は、命令に応答してデータベース及びデータベースからのデータを記憶、更新、検索することができる。
【0036】
いくつかの実施例では、データベース130のうちの一つ又は複数はさらに、アプリケーションによって使用されてアプリケーションのデータを記憶することができる。アプリケーションによって使用されるデータベースは、異なるタイプのデータベースであってもよく、例えばキー値リポジトリ、オブジェクトリポジトリ、又はファイルシステムによってサポートされる汎用リポジトリである。
【0037】
図1のシステム100は、本開示で説明した様々な方法と装置を応用できるように、様々な方式で構成され操作されてもよい。
【0038】
いくつかの実施例によれば、クライアント機器101~106は、本開示の実施例の画像編集方法を実行し、ユーザのために没入型画像編集サービスを提供することができる。具体的に、ユーザは、クライアント機器101~106を操作(例えば、マウス、キーボード、タッチスクリーンなどの入力機器を操作)してラウンドごとの対話の画像処理命令(即ち、query)を入力することによって、自分の画像創作又は画像編集の需要を伝えることができる。ユーザが画像創作の需要を伝える場合、クライアント機器101~106は、ユーザのために新規なターゲット画像を生成する。ユーザが画像編集の需要を伝える場合、クライアント機器101~106は、本開示の実施例の画像編集方法を実行することによって、生成済みの履歴画像又はユーザがアップロードした履歴画像から編集すべきソース画像を確定し、ソース画像を編集することによって、ターゲット画像を生成する。クライアント機器101~106はさらに、生成したターゲット画像を現在ラウンドの対話の返答データ(即ち、response)としてユーザに出力(例えば、ディスプレイを介して出力)する。いくつかの実施例によれば、現在ラウンドの対話の返答データは、ターゲット画像の解釈テキストをさらに含んでもよく、解釈テキストは、例えばターゲット画像の画面内容をディスクライブするための説明テキスト、システムによるターゲット画像生成のプロセスと論理をディスクライブするためのテキストなどであってもよい。
【0039】
いくつかの実施例によれば、サーバ120で本開示の実施例による画像編集方法を実行してもよい。具体的に、ユーザは、クライアント機器101~106を操作(例えば、マウス、キーボード、タッチスクリーンなどの入力機器を操作する)してラウンドごとの対話の画像処理命令を入力することによって、自分の画像創作又は画像編集の需要を伝えることができる。クライアント機器101~106は、ラウンドごとの対話のユーザの画像処理命令をサーバ120に送信する。ユーザの画像処理命令が画像編集の需要を伝える場合、サーバ120は、本開示の実施例の画像編集方法を実行することによって、現在の対話で生成済みの履歴画像又はユーザがアップロードした履歴画像から編集すべきソース画像を確定し、ソース画像を編集することによって、ターゲット画像を生成し、ターゲット画像を現在ラウンドの対話の返答データとしてクライアント機器101~106に出力する。クライアント機器101~106はさらに、返答データをユーザに出力(例えば、ディスプレイを介して出力する)する。いくつかの実施例によれば、現在ラウンドの対話の返答データは、ターゲット画像の解釈テキストをさらに含んでもよく、解釈テキストは、例えばターゲット画像の画面内容をディスクライブするための説明テキスト、システムによるターゲット画像生成のプロセスと論理をディスクライブするためのテキストなどであってもよい。
【0040】
図2は、本開示の実施例による画像編集方法200のフローチャートを示す。上述したように、方法200の実行主体は、例えば
図1に示すクライアント機器101~106のようなクライアント機器であってもよく、例えば
図1に示すサーバ120のようなサーバであってもよい。
【0041】
図2に示すように、方法200は、ステップS210~S230を含む。
【0042】
ステップS210において、ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得する。履歴対話情報は、履歴対話テキストと少なくとも一つの履歴画像とを含む。
【0043】
ステップS220において、編集命令と履歴対話情報に基づき、少なくとも一つの履歴画像から編集すべきソース画像を確定する。
【0044】
ステップS230において、編集命令に基づき、ソース画像を編集して、ターゲット画像を生成する。
【0045】
本開示の実施例によれば、マルチラウンド対話式の画像編集方法を提供する。履歴対話情報を結び付けることによって、ユーザ現在の編集命令が指向する編集オブジェクト(即ち、ソース画像)を正確に理解し、さらにユーザの編集命令に基づき、ソース画像を編集し、ターゲット画像を生成する。本開示の実施例は、統一で、自然的なマルチラウンド対話の方式によってユーザの画像編集の需要を理解し満たし、ユーザ操作の複雑さを顕著に低減させ、画像編集効率とユーザ体験を向上させる。
【0046】
方法200の各ステップについて、以下、詳細に説明する。
【0047】
ステップS210において、ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得する。
【0048】
本開示の実施例において、対話とは、ユーザが質問(query)を入力し、AI画像生成システムが返答(response)を出力するというインタラクションプロセスを指す。ユーザとAI画像生成システムとのインタラクション回数によって、対話をシングルラウンドの対話とマルチラウンドの対話に分けることができる。シングルラウンドの対話において、ユーザは、AI画像生成システムと一回だけインタラクションを行う。ユーザは、一つの質問を入力し、システムから出力される返答を得た後に、該対話が終了する。マルチラウンドの対話において、ユーザは、AI画像生成と複数回のインタラクションを行う。毎回のインタラクションは、対話の「1ラウンド」と呼ばれ、ユーザが入力した質問と、システムが該質問について出力した返答とを含む。
【0049】
本開示の実施例において、現在ラウンドの対話は、マルチラウンドの対話のうちの1ラウンド目以外の任意のラウンドであってもよく、例えば、2ラウンド目の対話、3ラウンド目の対話などであってもよい。
【0050】
履歴対話情報は、履歴対話テキストと少なくとも一つの履歴画像とを含む。履歴対話テキストは、履歴ラウンドの対話におけるユーザ入力テキストとシステム返答テキストとを含む。少なくとも一つの履歴画像は、履歴ラウンドの対話におけるユーザ入力画像とシステム返答画像とを含む。
【0051】
ユーザが現在ラウンドの対話において入力した編集命令は、ユーザ現在の画像編集の需要を伝えるために用いられる。編集命令は、直接又は間接的に履歴画像を援用してもよい。例えば、編集命令は、例えば「1番目の画像をよりハイテク感あるものに変えてください」、「図中の犬に帽子をかぶってください」、「類似するものをもう一組描き直してください」などであってもよい。
【0052】
いくつかの実施例によれば、ユーザが現在ラウンドの対話において入力したテキストを編集命令にしてもよい。
【0053】
別のいくつかの実施例によれば、ユーザが現在ラウンドの対話において入力した音声に対して音声認識を行って、結果テキストを取得し、該結果テキストを編集命令にしてもよい。
【0054】
説明すべきこととして、現在ラウンドの対話におけるユーザの入力データは、必ずしも常に画像編集の需要を伝えるとは限らず、他の需要、例えば画像創作の需要、雑談、AI画像生成システムの各機能の使用方法についての問い合わせなどを伝える可能性もある。理解できるように、ユーザの入力データが画像編集の需要を伝える場合にのみ、該入力データは、編集命令に属する。ユーザの入力データが画像編集でない需要を伝えば、該入力データは、編集命令に属さない。
【0055】
いくつかの実施例によれば、ユーザの現在ラウンドの対話の入力データに対して意図識別を行って、現在ユーザに画像編集の需要があるかを判断してもよく、即ち、現在の入力データが編集命令であるかを判断する。
【0056】
具体的に、現在ラウンドの対話におけるユーザの入力データと履歴ラウンドの対話における履歴対話情報を取得してもよい。入力データと履歴対話情報に基づき、現在ラウンドの対話におけるユーザの意図を識別する。該意図が画像編集意図であることに応答して、現在ラウンドの対話の入力データを編集命令にする。
【0057】
上記実施例によれば、ユーザの画像編集の需要を正確に識別し、不必要な画像編集処理を回避することによって、画像編集効率とユーザの画像編集体験を向上させることができる。
【0058】
いくつかの実施例によれば、予め設定される大規模言語モデルを利用してユーザ意図を識別してもよい。例えば、ユーザの現在ラウンドの対話の入力データと履歴対話情報とを予め設定されるプロンプト(prompt)テンプレートに充填して、大規模言語モデルの入力情報を取得してもよい。該入力情報を大規模言語モデルに入力して、大規模言語モデルから出力される意図識別結果を得る。
【0059】
ステップS220において、編集命令と履歴対話情報に基づき、少なくとも一つの履歴画像から編集すべきソース画像を確定する。
【0060】
マルチラウンドの対話において、ユーザが現在入力している編集命令は、一般的に履歴対話内容に関連し、その編集需要は、マルチラウンドの入力において徐々に明確になってくる可能性がある。そのため、履歴対話情報を結び付けてユーザ現在の編集命令が指向する編集オブジェクト(即ち、編集すべきソース画像)を正確に理解する必要がある。
【0061】
いくつかの実施例によれば、ステップS220において、予め設定される大規模言語モデルを利用してソース画像を確定してもよい。ステップS220は、ステップS221~S223を含んでもよい。
【0062】
ステップS221において、予め設定されるプロンプトテンプレート(promptテンプレート)を取得する。プロンプトテンプレートは、少なくとも一つの履歴画像から編集すべきソース画像を確定するように言語モデルをガイドするためのガイドテキストと充填すべきスロットとを含む。
【0063】
ステップS222において、編集命令と履歴対話情報とをスロットに充填して、入力情報を得る。
【0064】
ステップS223において、入力情報を言語モデルに入力して、言語モデルから出力されるソース画像を得る。具体的に、言語モデルは、ソース画像の識別子(ID)を出力することができる。
【0065】
上記実施例によれば、大規模言語モデルの言語理解能力を利用してユーザの画像編集の需要を正確に理解することによって、画像編集の正確性を確保することができる。
【0066】
いくつかの実施例によれば、プロンプトテンプレートは、例えば、「ユーザ現在の編集命令:{編集命令}\n履歴対話テキスト:{履歴対話テキスト}\n履歴画像:{履歴画像}\nユーザの編集すべき画像:{ソース画像}」となってもよい。上記プロンプトテンプレートにおいて、{編集命令}、{履歴対話テキスト}、{履歴画像}は、それぞれ編集命令、履歴対話テキスト、履歴画像を充填するためのスロットであり、{ソース画像}は、大規模言語モデルの出力結果である。
【0067】
いくつかの実施例によれば、ステップS221~S223を実行する前に、人手で「編集命令-履歴対話情報-ソース画像」という高品質な注釈データを作成し、注釈データを利用して事前トレーニングされた(pre-trained)大規模言語モデルを微調整(fine-tuning)することによって、大規模言語モデルのソース画像識別の正確性を向上させることができる。
【0068】
いくつかの実施例によれば、トレーニングされた画像言語モデルを利用してソース画像を確定してもよい。画像言語モデルは、テキストエンコーダと画像エンコーダとを含み、テキストエンコーダと画像エンコーダは、テキストと画像を同一の意味空間に符号化することができる。
【0069】
具体的に、ステップS220において、画像言語モデルにおけるテキストエンコーダを利用して編集命令を符号化して、編集命令のベクトル表現を取得してもよい。各履歴画像に対して、画像エンコーダを利用して該履歴画像を符号化して、履歴画像の初期ベクトル表現を得る。該履歴画像に解釈テキストが存在しなければ、初期ベクトル表現は、該履歴画像の最終的なベクトル表現となる。該履歴画像に解釈テキストが存在すれば、さらにテキストエンコーダを利用して該解釈テキストを符号化して、解釈テキストのベクトル表現を得、そして該履歴画像の初期ベクトル表現と解釈テキストのベクトル表現とを融合して(例えば、和を求め、平均値を求め、注意機構による融合などである)、該履歴画像の最終的なベクトル表現を得る。編集命令のベクトル表現と各履歴画像のベクトル表現との類似度(例えば、コサイン類似度)を算出し、類似度が最も大きい履歴画像を編集すべきソース画像として確定する。
【0070】
ステップS220で編集すべきソース画像を確定した後に、ステップS230を実行する。ステップS230において、編集命令に基づき、ソース画像を編集して、ターゲット画像を生成する。
【0071】
いくつかの実施例によれば、ステップS230は、ステップS231~S233を含んでもよい。
【0072】
ステップS231において、ソース画像のソース説明テキストを取得する。
【0073】
ステップS232において、ソース説明テキストと編集命令に基づき、ターゲット画像のターゲット説明テキストを確定する。
【0074】
ステップS233において、ターゲット説明テキストに基づき、ターゲット画像を生成する。ここで、ソース説明テキストは、ターゲット画像を生成する上記プロセスに対して制御を行うために用いられる。
【0075】
上記実施例によれば、ソース説明テキストを利用してターゲット画像の生成プロセスを制御することで、ターゲット画像とソース画像とができる限り似ているように保持する前提で、ユーザが期待する画像編集効果を実現することができる。
【0076】
いくつかの実施例によれば、各履歴画像の説明テキストを事前に記憶してもよい。それに応じて、ステップS231において、記憶した説明テキストから、ソース画像に対応する説明テキストを取得してソース説明テキストにしてもよい。
【0077】
いくつかの実施例によれば、ソース画像は、AI画像生成システムが履歴ラウンドの対話においてテキストツーイメージモデルを呼び出すことによって生成した画像であってもよく、即ち、指定される説明テキスト(promptテキスト)をテキストツーイメージモデルに入力することによって、テキストツーイメージモデルから出力されるソース画像を得る。この場合、ソース説明テキストは、テキストツーイメージモデルに入力される、ソース画像を生成するための説明テキストである。
【0078】
別のいくつかの実施例によれば、ソース画像は、ユーザが履歴ラウンドの対話において自発的にアップロードした画像であってもよい。この場合、ユーザが該画像をアップロードする時、大規模言語モデルを呼び出すことによって該画像の説明テキスト、即ちソース説明テキストを生成してもよい。
【0079】
いくつかの実施例によれば、ステップS232において、大規模言語モデルを利用してターゲット説明テキストを生成してもよい。具体的に、編集命令に基づき、言語モデルを利用してソース説明テキストを書き換えて、ターゲット説明テキストを取得してもよい。該実施例によれば、大規模言語モデルの言語理解能力とテキスト生成能力を利用してインテリジェントな書き換えを実現することができ、ユーザの画像編集の需要を深く理解することによって、画像編集効果を向上させる。
【0080】
いくつかの実施例によれば、予め設定される、ターゲット説明テキストを生成するように大規模言語モデルをガイドするためのプロンプトテンプレートを取得してもよい。該プロンプトテンプレートは、充填すべきスロットを含む。プロンプトテンプレートは、例えば、「ソース説明テキスト:{ソース説明テキスト}\n編集命令:{編集命令}\nターゲット説明テキスト:{ターゲット説明テキスト}」、「ソース説明テキスト:{ソース説明テキスト}\n編集命令:{編集命令}\n履歴対話テキスト:{履歴対話テキスト}\n履歴画像:{履歴画像}\nターゲット説明テキスト:{ターゲット説明テキスト}」などであってもよい。
【0081】
ソース説明テキストと編集命令とを該当するスロットに充填することによって(プロンプトテンプレートの需要によっては、履歴対話情報を合わせて充填する場合もある)、大規模言語モデルの入力情報を得る。さらに該入力情報を大規模言語モデルに入力して、大規模言語モデルから出力されるターゲット説明テキストを得る。
【0082】
いくつかの実施例によれば、ステップS233において、予め設定されるテキストツーイメージ拡散モデル(text-to-image diffusion model)を利用してターゲット画像を生成してもよい。テキストツーイメージ拡散モデルは、テキストエンコーダとノイズ生成ネットワークとを含む。該モデルは、テキスト入力を受信し、該テキスト条件に合う画像を生成する。
【0083】
テキストツーイメージ拡散モデルは、逆拡散プロセス(reverse diffusion)によって画像を生成し、逆拡散プロセスは、複数回の反復を含む。テキストツーイメージ拡散モデルは、複数回の反復によって、初期画像(純粋なノイズ画像であってもよい)のノイズを徐々に除去し、最終的に鮮明な結果画像を得る。逆拡散プロセスにおいて、与えられたテキストは、テキストエンコーダを介して高次元のテキスト特徴ベクトルに符号化され、該テキスト条件に合うノイズを生成するようにノイズ生成ネットワークをガイドするために用いられ、さらに初期画像から毎回の反復で生成されたノイズを順に引くことによって、該テキスト条件に合う画像を得る。逆拡散プロセスにおける毎回の反復は、いくつかのランダム変数の値(一般的にはランダムノイズである)に対してサンプリングを行う必要があるため、毎回の反復は、いずれも一定のランダム性を有する。
【0084】
いくつかの実施例によれば、ステップS233は、ステップS2331とS2332とを含んでもよい。
【0085】
ステップS2331において、ソース説明テキストに基づき、テキストツーイメージ拡散モデルを利用して複数回の第1の反復を実行することによって第1の初期画像のノイズを除去し、複数回の第1の反復のうちの毎回の第1の反復でサンプリングされたランダム変数値を記録する。
【0086】
ステップS2332において、ターゲット説明テキストに基づき、テキストツーイメージ拡散モデルを利用して複数回の第2の反復を実行することによって第2の初期画像のノイズを除去して、ターゲット画像を生成する。ここで、複数回の第2の反復のうちの毎回の第2の反復は、該当ラウンドの第1の反復でサンプリングされたランダム変数値を多重化する。
【0087】
上記実施例によれば、テキストツーイメージ拡散モデルを利用してソース画像の反復ごとのノーズ除去プロセス(逆拡散プロセス)をシミュレートし、ソース画像に潜んでいるランダム要因、即ち、ソース画像が該テキストツーイメージ拡散モデルによって生成される場合、毎回の反復においてどのようなランダム変数をサンプリングするかを推定する。これらのランダム変数には、ソース画像についての大量の情報が潜んでいる。
【0088】
ターゲット画像を生成するプロセスにおいて、ソース画像を生成した時にサンプリングされたランダム変数値を多重化することで、ターゲット画像にソース画像の内容の詳細を保持させることができる。それとともに、ターゲット説明テキストに基づいてターゲット画像を生成することで、ユーザが期待する編集効果を実現することができる。
【0089】
なお、上記実施例におけるテキストツーイメージ拡散モデルは、既存の任意のテキストツーイメージ拡散モデルであってもよい。上記実施例は、テキストツーイメージ拡散モデルの推論プロセスを制御するだけで、ターゲット画像とソース画像とができる限り似ているように保持する前提でユーザが期待する編集効果を実現することができる。大規模なトレーニングデータを別途作成してテキストツーイメージ拡散モデルをトレーニングする必要がなく、汎用的な画像編集能力を低コストで実現できるとともに、多種類のテキストツーイメージ拡散モデル間での可遷移性を備える。
【0090】
説明すべきこととして、上記実施例における用語「第1」、「第2」は、ソース説明テキストを条件とする画像生成プロセスと、ターゲット説明テキストを条件とする画像生成プロセスとを区別するために用いられる。「第1の反復」は、ソース説明テキストを条件とする画像生成プロセスにおける一回の反復を表し、「第2の反復」は、ターゲット説明テキストを条件とする画像生成プロセスにおける一回の反復を表す。
【0091】
いくつかの実施例によれば、テキストツーイメージ拡散モデルは、テキストエンコーダとノイズ生成ネットワークとを含む。
【0092】
いくつかの実施例によれば、ステップS2331において、第1の初期画像は、ランダムノイズ画像であってもよい。該画像は、予め設定されるノイズ分布(例えばガウス分布)においてランダムにサンプリングを行うことによって生成されてもよい。
【0093】
いくつかの実施例によれば、ステップS2331における毎回の第1の反復は、以下のステップS23311~S23314を含んでもよい。
【0094】
ステップS23311において、ソース説明テキストをテキストエンコーダに入力して、ソース説明テキストに対応するソーステキストベクトルを生成する。
【0095】
ステップS23312において、予め設定されるノイズ分布(例えばガウス分布)においてサンプリングを行うことによって、今回の第1の反復でサンプリングされたランダム変数値、即ち、初期サンプリングノイズを得る。サンプリングされたランダム変数値は、第1の初期画像とサイズが同じであるランダム変数画像であってもよい。
【0096】
ステップS23313において、ソーステキストベクトルとサンプリングされたランダム変数値とをノイズ生成ネットワークに入力して、現在画像の予測ノイズを得る。予測ノイズは、現在画像とサイズが同じであるノイズ画像であってもよい。
【0097】
ステップS23314において、現在画像から予測ノイズを除去して、今回の第1の反復の結果画像を得る。
【0098】
理解できるように、1回目の第1の反復における現在画像は、第1の初期画像であり、2回目及び後続の毎回の第1の反復における現在画像は、前回の第1の反復において生成された結果画像である。
【0099】
説明すべきこととして、ステップS2331(ステップS23311~S23314を含む)は、ソース画像の反復ごとのノイズ除去プロセスをシミュレートするために用いられるが、該ステップで最終的に生成された画像(即ち、最終回の第1の反復で生成された結果画像)は、必ずしもソース画像と同じであるとは限らない。
【0100】
いくつかの実施例によれば、ステップS2332において、第2の初期画像は、ソース画像に基づいて生成されてもよい。これにより第2の初期画像にソース画像の情報を含ませることができ、それによって、生成されるターゲット画像をできる限りソース画像と一致するように保持する。
【0101】
いくつかの実施例によれば、第2の初期画像は、ソース画像自体であってもよく、それによって第2の初期画像は、ソース画像のすべての情報を保留する。
【0102】
別のいくつかの実施例によれば、第2の初期画像は、ソース画像にノイズ(例えばガウス分布に適合するランダムノイズ)を追加することによって取得されてもよい。これによりターゲット画像とソース画像との全体的な視覚効果(色、構図、スタイルなどを含む)が似ているように保持するとともに、ターゲット画像の多様性と豊富さを向上させることができる。
【0103】
いくつかの実施例によれば、ステップS2332における毎回の第2の反復は、ステップS23321~S23323を含んでもよい。
【0104】
ステップS23321において、ターゲット説明テキストをテキストエンコーダに入力して、ターゲット説明テキストに対応するターゲットテキストベクトルを生成する。
【0105】
ステップS23322において、ターゲットテキストベクトルと該当ラウンドの第1の反復でサンプリングされたランダム変数値とをノイズ生成ネットワークに入力して、現在画像の予測ノイズを得る。
【0106】
ステップS23323において、現在画像から予測ノイズを除去して、今回の第2の反復の結果画像を得る。ここで、1回目の第2の反復における現在画像は、第2の初期画像であり、2回目及び後続の毎回の第2の反復における現在画像は、前回の第2の反復において生成された結果画像である。
【0107】
上記実施例によれば、ターゲット説明テキストを条件としてターゲット画像を生成するプロセスにおいて、ソース画像を生成した時にサンプリングされたランダム変数値を多重化することで、ターゲット画像とソース画像とができる限り似ているように保持する前提でユーザが期待する編集効果を実現することができる。
【0108】
図3は、本開示の実施例によるテキストツーイメージ拡散モデル300のt回目の反復の概略図を示す。テキストツーイメージ拡散モデル300は、テキストエンコーダ310とノイズ生成ネットワーク320とを含む。
図3の上半分は、ソース説明テキストt
1を条件とする逆拡散プロセスにおけるt回目の反復、即ちt回目の第1の反復を示しており、
図3の下半分は、ターゲット説明テキストを条件とする逆拡散プロセスにおけるt回目の反復、即ちt回目の第2の反復を示している。
【0109】
図3の上半分に示すように、ソース説明テキストt
1を条件とする逆拡散プロセスのt回目の反復において、ソース説明テキストt
1をテキストエンコーダ310に入力して、ソーステキストベクトルe
1を得る。予め設定されるノイズ分布(例えばガウス分布)においてサンプリングを行うことによって、今回の反復のサンプリングノイズy(t)を得る。ソーステキストベクトルe
1とサンプリングノイズy(t)とをノイズ生成ネットワーク320に入力して、今回の反復の予測ノイズz
1(t)を得る。現在画像c
1(t)と予測ノイズz
1(t)との減算を行って、結果画像r
1(t)を得る。理解できるように、今回の反復の結果画像r
1(t)は、次回の反復の現在画像c
1(t+1)になる。
【0110】
図3の下半分に示すように、ターゲット説明テキストt
2を条件とする逆拡散プロセスのt回目の反復において、ターゲット説明テキストt
2をテキストエンコーダ310に入力して、ターゲットテキストベクトルe
2を得る。ソース説明テキストt
1を条件とする逆拡散プロセスのt回目の反復におけるサンプリングノイズy(t)を多重化し、ターゲットテキストベクトルe
2とサンプリングノイズy(t)とをノイズ生成ネットワーク320に入力して、今回の反復の予測ノイズz
2(t)を得る。現在画像c
2(t)と予測ノイズz
2(t)との減算を行って、結果画像r
2(t)を得る。理解できるように、今回の反復の結果画像r
2(t)は、次回の反復の現在画像c
2(t+1)になる。T回の反復をすべて完了した後に、生成された結果画像は、ターゲット画像である。
【0111】
いくつかの実施例によれば、ステップS230において、トレーニングされた言語命令で駆動される画像編集モデルを利用して、ターゲット画像を生成してもよい。具体的に、編集命令とソース画像とを画像編集モデルに入力して、画像編集モデルから出力されるターゲット画像を得る。
【0112】
説明すべきこととして、上記実施例における画像編集モデルは、「編集命令-ソース画像-ターゲット画像」という大量のサンプルデータでトレーニングすることによって得られるものである。サンプルデータの注釈とモデルのトレーニングは、大量の人力と時間的コストを消費する必要があり、汎用性と可遷移性が低い。
【0113】
図4は、本開示の実施例による画像編集プロセスの概略図を示す。
図4に示す画像編集プロセスは、AI画像生成システムによって実現される。該AI画像生成システムは、文脈関連の意図理解モジュール410と、テキスト差異で駆動される画像編集モジュール420と、履歴文脈記録モジュール430とを含む。履歴文脈記録モジュール430は、ラウンドごとの対話が終了した時、本ラウンド対話の関連情報(対話テキスト、生成された画像、画像の説明などを含む)を履歴対話情報として記憶するために用いられる。
【0114】
図4に示すように、文脈関連の意図理解モジュール410は、現在ラウンドのユーザの対話入力(即ち、編集命令)を取得し、履歴文脈記録モジュール430から履歴対話情報を取得し、大規模言語モデルを呼び出すことによってユーザの画像編集意図を理解し、編集すべきソース画像の識別子(ID)とターゲット画像の説明(即ち、ターゲット説明テキスト)を確定する。ソース画像の識別子に基づき、履歴文脈記録モジュール430からソース画像とソース画像の説明(即ち、ソース説明テキスト)を取得する。
【0115】
テキスト差異で駆動される画像編集モジュール420は、ソース画像の説明、ターゲット画像の説明及びソース画像を入力として、ターゲット画像を生成してユーザに返す。テキスト差異で駆動される画像編集モジュール420は、テキストツーイメージ拡散モデルの推論プロセスを制御することによって、生成されたターゲット画像とソース画像とができる限り似ているように保持する前提でユーザが期待する編集効果を実現することができる。
【0116】
本ラウンドの対話が終了した後に、本ラウンドのユーザの対話のターゲット画像の説明と生成されたターゲット画像とを履歴文脈記録モジュール430に記憶して、後続のラウンドの対話に用いる。
【0117】
図5は、本開示の実施例による画像編集の例の概略図を示す。
図5に示すように、ユーザが現在ラウンドの対話において入力した編集命令テキストは、「オレンジをテニスボールで置き換えてください」となっている。意図理解モジュール510は、まず大規模言語モデルを呼び出すことによって、今回の対話で生成された履歴画像から編集すべき画像501(即ち、ソース画像)を確定し、編集すべき画像501に対応する元テキスト(即ち、ソース説明テキスト)「かごいっぱいのオレンジ」を取得する。
【0118】
意図理解モジュール510は、大規模言語モデル(即ち、大規模な言語モデル)を利用し、「オレンジをテニスボールで置き換えてください」という現在の編集命令テキストに基づき、元テキスト「かごいっぱいのオレンジ」に対して書き換えを行って、「かごいっぱいのテニスボール」というターゲットテキスト(即ち、ターゲット説明テキスト)を得る。
【0119】
編集すべき画像501と、元テキスト「かごいっぱいのオレンジ」と、ターゲットテキスト「かごいっぱいのテニスボール」とを、テキスト差異で駆動される画像編集モジュール520に入力して、結果画像(即ち、ターゲット画像)502を生成する。
【0120】
テキスト差異で駆動される画像編集モジュール520は、テキストツーイメージ拡散モデル521と拡散プロセス制御モジュール522とを含む。
【0121】
テキストツーイメージ拡散モデル521は、テキストエンコーダとノイズ生成ネットワークとを含む。該モデルは、テキスト入力を受信し、テキスト条件に合う画像を生成する。
【0122】
拡散プロセス制御モジュール522は、テキストツーイメージ拡散モデル521の逆拡散プロセスのランダム性を制御することによって、結果画像502と編集すべき画像501との相似性を最大限に保持するとともに、ユーザの編集需要を満たす。拡散プロセス制御モジュール522は、ランダム性推定サブモジュールとイメージツーイメージサブモジュールとを含んでもよい。
【0123】
ランダム性推定サブモジュールは、編集すべき画像に潜んでいるランダム要因を逆推定することを目的とする。言い換えれば、該編集すべき画像がテキストツーイメージ拡散モデル521によって生成される場合、逆拡散プロセスにおける毎回の反復は、どのようなランダム変数(ランダムノイズ)をサンプリングするかということである。これらのランダム変数には、編集すべき画像における大量の情報が潜んでいる。ランダム性推定サブモジュールは、ランダムノイズ画像を始点とし、元テキスト「かごいっぱいのオレンジ」を条件とし、編集すべき画像501の反復ごとのノイズ除去プロセスをシミュレートし、毎回の反復でサンプリングされたランダム変数値を記録する。
【0124】
イメージツーイメージサブモジュールは、編集すべき画像501に似ているとともに、ユーザの編集需要を満たす画像を生成することを目的とする。編集すべき画像の保持を実現するために、編集すべき画像501にノイズを追加することで逆拡散プロセスを初期化することによって、編集すべき画像501の色や構図などの全体的な視覚効果を保持する一方、結果画像502の逆拡散プロセスにおいてランダム性推定サブモジュールでサンプリングされたランダム変数値を多重化することによって、編集すべき画像501のより多くの内容詳細を保持する。ユーザの編集需要を満たし、ユーザが期待する編集効果を実現するために、テキスト条件をターゲットテキスト「かごいっぱいのテニスボール」に置き換える。
【0125】
別のいくつかの例において、ユーザが現在ラウンドの対話において入力した編集命令テキストは、「油絵風に変えてください」となっていてもよい。意図理解モジュール510とテキスト差異で駆動される画像編集モジュール520との該当処理によって、編集すべき画像501を確定し、それを油絵風に修正して、結果画像503を得ることができる。
【0126】
図6は、本開示の実施例によるマルチラウンド対話式の画像編集効果の概略図を示す。
図6において、UとAIは、対話の双方であり、ここでUは、ユーザを表し、AIは、AI画像生成システム(「AI描画アシスタント」と呼ばれてもよい)を表す。
【0127】
図6に示すように、1ラウンド目の対話において、ユーザは、「花の間にある1匹の猫を描いてください」という自然言語命令610を入力している。命令610は、ユーザの画像創作の需要を伝えている。AI画像生成システムは、命令610に応答して、ユーザのために新規な画像622、及び「あなたのために生成した作品です。ピクチャをクリックして拡大図をご覧ください~」という解釈テキストを生成し、画像622とその解釈テキストとの組み合わせをユーザ命令610の返答620にする。
【0128】
2ラウンド目の対話において、ユーザは、「猫を犬に置き換えてください」という自然言語命令630を入力している。命令630は、ユーザの画像編集の需要を伝えている。AI画像生成システムは、命令630に応答して、本開示の実施例の方法200を利用して、編集すべき画像が画像622であると確定し、画像622を編集して、画像642を生成する。さらに、大規模言語モデルを呼び出すことによって、「犬に置き換えられました。ピクチャをクリックして拡大図をご覧ください~」という画像642の解釈テキストを生成し、画像642とその解釈テキストとの組み合わせをユーザ命令630の返答640にしてもよい。
図6に示すように、新たに生成された画像642は、色、スタイル、要素(花、動物など)位置などの点で、元画像622と高度に一致するとともに、元画像622における猫が犬に置き換えられており、ユーザの編集需要を満たしている。
【0129】
3ラウンド目の対話において、ユーザは、「嬉しい表情を描いてください」という自然言語命令650を入力している。命令650は、ユーザの画像編集の需要を伝えている。AI画像生成システムは、命令650に応答して、本開示の実施例の方法200を利用して、編集すべき画像が画像642であると確定し、画像642を編集して、画像662を生成する。さらに、大規模言語モデルを呼び出すことによって、「編集後の作品です。ピクチャをクリックして拡大図をご覧ください~」という画像662の解釈テキストを生成し、画像662とその解釈テキストとの組み合わせをユーザ命令650の返答660にしてもよい。
図6に示すように、新たに生成された画像662は、色、スタイル、構図などの点で、元画像642と高度に一致するとともに、元画像642における犬を悲しい表情から嬉しい表情に修正しており、ユーザの編集需要を満たしている。
【0130】
4ラウンド目の対話において、ユーザは、「花を消してください」という自然言語命令670を入力している。命令670は、ユーザの画像編集の需要を伝えている。AI画像生成システムは、命令670に応答して、本開示の実施例の方法200を利用して、編集すべき画像が画像662であると確定し、画像662を編集して、画像682を生成する。さらに、大規模言語モデルを呼び出すことによって、「あなたのために生成した作品です。ピクチャをクリックして拡大図をご覧ください~」という画像682の解釈テキストを生成し、画像682とその解釈テキストとの組み合わせをユーザ命令670の返答680にしてもよい。
図6に示すように、新たに生成された画像682は、色、スタイル、構図などの点で、元画像662と高度に一致するとともに、元画像662におけ花が削除されており、ユーザの編集需要を満たしている。
【0131】
本開示の実施例によれば、画像編集装置をさらに提供する。
図7は、本開示の実施例による画像編集装置700の構造ブロック図を示す。
図7に示すように、装置700は、取得モジュール710と、確定モジュール720と、編集モジュール730とを含む。
【0132】
取得モジュール710は、ユーザが現在ラウンドの対話において入力した編集命令と履歴ラウンドの対話における履歴対話情報とを取得するように構成され、ここで、前記履歴対話情報が履歴対話テキストと少なくとも一つの履歴画像とを含む。
【0133】
確定モジュール720は、前記編集命令と前記履歴対話情報に基づき、前記少なくとも一つの履歴画像から編集すべきソース画像を確定するように構成される。
【0134】
編集モジュール730は、前記編集命令に基づき、前記ソース画像を編集して、ターゲット画像を生成するように構成される。
【0135】
本開示の実施例によれば、マルチラウンド対話式の画像編集装置を提供する。履歴対話情報を結び付けることによって、ユーザ現在の編集命令が指向する編集オブジェクト(即ち、ソース画像)を正確に理解し、さらにユーザの編集命令に基づき、ソース画像を編集し、ターゲット画像を生成する。本開示の実施例は、統一で、自然的なマルチラウンド対話の方式によってユーザの画像編集の需要を理解し満たし、ユーザ操作の複雑さを顕著に低減させ、画像編集効率とユーザ体験を向上させる。
【0136】
いくつかの実施例によれば、前記確定モジュールは、予め設定されるプロンプトテンプレートを取得するように構成される第1の取得ユニットであって、前記プロンプトテンプレートが、前記少なくとも一つの履歴画像から編集すべきソース画像を確定するように言語モデルをガイドするためのガイドテキストと充填すべきスロットとを含む第1の取得ユニットと、前記編集命令と前記履歴対話情報とを前記スロットに充填して、入力情報を得るように構成される充填ユニットと、及び前記入力情報を前記言語モデルに入力して、前記言語モデルから出力される前記ソース画像を得るように構成される入力ユニットとを含む。
【0137】
いくつかの実施例によれば、前記編集モジュールは、前記ソース画像のソース説明テキストを取得するように構成される第2の取得ユニットと、前記ソース説明テキストと前記編集命令に基づき、前記ターゲット画像のターゲット説明テキストを確定するように構成される確定ユニットと、前記ターゲット説明テキストに基づき、前記ターゲット画像を生成するように構成される生成ユニットであって、前記ソース説明テキストが、前記の、前記ターゲット画像を生成するプロセスに対して制御を行うために用いられる生成ユニットとを含む。
【0138】
いくつかの実施例によれば、前記確定ユニットはさらに、前記編集命令に基づき、言語モデルを利用して前記ソース説明テキストを書き換えて、前記ターゲット説明テキストを得るように構成される。
【0139】
いくつかの実施例によれば、前記生成ユニットは、前記ソース説明テキストに基づき、テキストツーイメージ拡散モデルを利用して複数回の第1の反復を実行することによって第1の初期画像のノイズを除去し、前記複数回の第1の反復のうちの毎回の第1の反復でサンプリングされたランダム変数値を記録するように構成されるシミュレートサブユニットと、前記ターゲット説明テキストに基づき、前記テキストツーイメージ拡散モデルを利用して複数回の第2の反復を実行することによって第2の初期画像のノイズを除去して、前記ターゲット画像を生成するように構成される生成サブユニットとを含み、ここで、前記複数回の第2の反復のうちの毎回の第2の反復は、該当ラウンドの第1の反復でサンプリングされたランダム変数値を多重化する。
【0140】
いくつかの実施例によれば、前記テキストツーイメージ拡散モデルは、テキストエンコーダとノイズ生成ネットワークとを含み、且つここで、前記複数回の第2の反復のうちの毎回の第2の反復は、前記ターゲット説明テキストを前記テキストエンコーダに入力して、前記ターゲット説明テキストに対応するターゲットテキストベクトルを生成することと、前記ターゲットテキストベクトルと該当ラウンドの第1の反復でサンプリングされたランダム変数値とを前記ノイズ生成ネットワークに入力して、現在画像の予測ノイズを得ることと、前記現在画像から前記予測ノイズを除去して、今回の第2の反復の結果画像を得ることとを含み、ここで、1回目の第2の反復における現在画像は、前記第2の初期画像であり、2回目及び後続の毎回の第2の反復における現在画像は、前回の第2の反復において生成された結果画像である。
【0141】
いくつかの実施例によれば、前記第2の初期画像は、前記ソース画像に基づいて生成される。
【0142】
いくつかの実施例によれば、前記第2の初期画像は、前記ソース画像にノイズを追加することによって得られる。
【0143】
理解すべきこととして、
図7に示す装置700の各モジュールとユニットは、
図2を参照して説明した方法200における各ステップに対応することができる。これにより、方法200に関して説明した上記操作、特徴及び利点は、同様に装置700及びそれに含まれるモジュールとユニットに適用可能である。簡潔のために、いくつかの操作、特徴及び利点はここでは説明を省略する。
【0144】
上記で特定のモジュールを参照して特定の機能を論述したが、注意すべきこととして、本明細書で論述した各モジュールの機能は、複数のモジュールに分けられてもよく、及び/又は複数のモジュールの少なくともいくつかの機能は、単一のモジュールに組み合わせられてもよい。
【0145】
さらに理解すべきこととして、本明細書は、ソフトウェアやハードウェア素子又はプログラムモジュールの一般的なコンテキストにおいて様々な技術を説明することができる。
図7に関して説明した各ユニットは、ハードウェア、又はソフトウェア及び/又はファームウェアを結合したハードウェアにおいて実現されてもよい。例えば、これらのユニットは、1つ又は複数のプロセッサにおいて実行され、コンピュータ可読記憶媒体に記憶されるように構成されたコンピュータプログラムコード/命令として実装することができる。選択的に、これらのユニットはハードウェアロジック/回路として実装することができる。例えば、いくつかの実施例では、モジュール710~730のうちの一つ又は複数は、一緒にシステム・オン・チップ(System on Chip、SoC)において実現されてもよい。SoCは、集積回路チップ(例えば、プロセッサ(例えば、中央処理ユニット(Central Processing Unit、CPU)、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)などを含む)、メモリ、1つ又は複数の通信インターフェース、及び/又は他の回路中の1つ又は複数のコンポーネント)を含んでもよく、オプションで受信したプログラムコードの実行、及び/又は埋め込みファームウェアを含み、それによって機能を実行することができる。
【0146】
本開示の実施例によれば、電子機器をさらに提供し、この電子機器は、少なくとも一つのプロセッサと、上記少なくとも一つのプロセッサに通信接続されるメモリとを含み、該メモリは、上記少なくとも一つのプロセッサによって実行可能な命令を記憶しており、該命令が上記少なくとも一つのプロセッサによって実行されて、上記少なくとも一つのプロセッサに本開示の実施例の画像編集方法を実行させることを可能にする。
【0147】
本開示の実施例によれば、コンピュータ命令が記憶されている非一時的コンピュータ可読記憶媒体をさらに提供し、該コンピュータ命令は、コンピュータに本開示の実施例の画像編集方法を実行させるために用いられる。
【0148】
本開示の実施例によれば、コンピュータプログラム命令を含むコンピュータプログラム製品をさらに提供し、該コンピュータプログラム命令がプロセッサによって実行される時、本開示の実施例の画像編集方法を実現する。
【0149】
図8を参照して、本開示のサーバ又はクライアントとして利用できる電子機器800の構造ブロック図について説明し、それは、本開示の各態様に応用できるハードウェア機器の一例である。電子機器は、様々な形式のデジタル電子型コンピュータ機器、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ステージ、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータを表す。電子機器はさらに、様々な形式の移動装置、例えば、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、ウェアラブルデバイス及び他の類似する計算装置を表してもよい。本明細書に示す部品、それらの接続関係及びそれらの機能は、例示的なものに過ぎず、本明細書において説明及び/又は請求した本開示の実現を制限することを意図しない。
【0150】
図8に示すように、電子機器800は、計算ユニット801を含み、それは、リードオンリーメモリ(ROM)802に記憶されているコンピュータプログラム、又は記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされるコンピュータプログラムに基づいて、種々の適切な動作と処理を実行することができる。RAM 803には、電子機器800の操作に必要な様々なプログラムとデータがさらに記憶されていてもよい。計算ユニット801、ROM 802及びRAM 803は、バス804を介して互いに繋がっている。入力/出力(I/O)インターフェース805も、バス804に接続される。
【0151】
電子機器800における複数の部材は、I/Oインターフェース805に接続され、入力ユニット806、出力ユニット807、記憶ユニット808及び通信ユニット809を含む。入力ユニット806は、電子機器800に情報を入力できる任意のタイプのデバイスであってもよく、入力ユニット806は、入力された数字又は文字情報を受信し、且つ電子機器のユーザ設定及び/又は機能制御に関するキー信号入力を生成することができるとともに、マウス、キーボード、タッチスクリーン、トラックボード、トラックボール、操作レバー、マイク及び/又はリモコンを含んでもよいが、これらに限定されない。出力ユニット807は、情報を提示できる任意のタイプのデバイスであってもよく、そしてディスプレイ、スピーカ、ビデオ/オーディオ出力端末、バイブレータ、及び/又はプリンタを含んでもよいが、これらに限定されない。記憶ユニット808は、磁気ディスク、光ディスクを含んでもよいが、これらに限定されない。通信ユニット809は、電子機器800が、例えばインターネットであるコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他の機器と情報/データを交換することを可能にするとともに、モデム、ネットワークカード、赤外線通信デバイス、無線通信送受信機、及び/又はチップセット、例えば、ブルートゥースデバイス、802.11デバイス、Wi-Fiデバイス、WiMAXデバイス、セルラー通信デバイス及び/又は類似物を含んでもよいが、これらに限定されない。
【0152】
計算ユニット801は、処理及び計算能力を有する様々な汎用及び/又は専用の処理アセンブリであってもよい。計算ユニット801のいくつかの例として、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを運行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット801は、前文で説明された各方法と処理、例えば方法200を実行する。例えば、いくつかの実施例では、方法200は、機械可読媒体、例えば、記憶ユニット808に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例では、コンピュータプログラムの一部の又は全部は、ROM 802及び/又は通信ユニット809を介して電子機器800にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM 803にロードされ、計算ユニット801によって実行される時、前文で説明された方法200の一つ又は複数のステップを実行することができる。任意選択的に、他の実施例では、計算ユニット801は、他の任意の適切な方式で(例えば、ファームウェアによって)方法200を実行するように構成されてもよい。
【0153】
本明細書で上述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、複雑なプログラマブル論理デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現されてもよい。これらの様々な実施形態は、以下を含んでもよい。一つ又は複数のコンピュータプログラムにおいて実施され、該一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈されてもよく、該プログラマブルプロセッサは、専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも一つの入力装置、少なくとも一つの出力装置からデータと命令を受信するとともに、データと命令を該記憶システム、該少なくとも一つの入力装置、該少なくとも一つの出力装置に送信してもよい。
【0154】
本開示の方法を実施するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせで書かれてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよく、それによりプログラムコードがプロセッサ又はコントローラによって実行される時、フローチャート及び/又はブロック図に規定される機能/操作が実施される。プログラムコードは、完全に機械で実行されてもよく、部分的に機械で実行されてもよく、独立したソフトウェアパッケージとして部分的に機械で実行され且つ部分的に遠隔機械で実行されてもよく、又は完全に遠隔機械又はサーバで実行されてもよい。
【0155】
本開示の文脈では、機械可読媒体は、有形の媒体であってもよく、それは、命令実行システム、装置又は機器によって使用されるか又は命令実行システム、装置又は機器と組み合わせて使用されるためのプログラムを含むか又は記憶してもよい。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子的、磁気的、光学的、電磁的、赤外線的、又は半導体的なシステム、装置又は機器、又は上記内容の任意の適切な組み合わせを含んでもよいが、それらに限らない。機械可読記憶媒体のより具体的な例は、一つ又は複数の線に基づく電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバー、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶デバイス、磁気記憶デバイス、又は上記内容の任意の適切な組み合わせを含む。
【0156】
ユーザとのインタラクションを提供するために、コンピュータにおいてここで説明したシステムと技術を実施してもよく、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)監視モニタ)、及びキーボードとポインティング装置(例えば、マウスやトラックボール)を有し、ユーザは、該キーボードと該ポインティング装置によって入力をコンピュータに提供してもよい。その他の種類の装置はさらに、ユーザとのインタラクティブを提供するためのものであってもよく、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、そして任意の形式(音声入力、ボイス入力、触覚入力を含む)でユーザからの入力を受信してもよい。
【0157】
ここで説明したシステム及び技術は、バックグラウンド部材を含む計算システム(例えば、データサーバ)や、ミドルウェア部材を含む計算システム(例えば、アプリケーションサーバ)や、フロントエンド部材を含む計算システム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、該グラフィカルユーザインタフェース又は該ウェブブラウザを通じて、ここで説明したシステム及び技術の実施形態とインタラクションできる)や、このようなバックグラウンド部材、ミドルウェア部材、又はフロントエンド部材の任意の組み合わせを含む計算システムにおいて実施されてもよい。システムの部材は、任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)により相互に接続されてもよい。通信ネットワークの例として、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネットとブロックチェーンネットワークを含む。
【0158】
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、一般的に互に遠く離れており、通常、通信ネットワークを介してインタラクションを行う。互にクライアント-サーバという関係を有するコンピュータプログラムを、該当するコンピュータにおいて運行することによって、クライアントとサーバの関係を生成する。サーバは、クラウドサーバであってもよく、分散型システムのサーバ、又はブロックチェーンを組み込んだサーバであってもよい。
【0159】
理解すべきこととして、以上に示す様々な形式のフローを使用して、ステップを改めて順位付け、追加又は削除してもよい。例えば、本開示に記載された各ステップは、並行して実行されてもよいし、順次又は異なる順番で実行されてもよいし、本開示に開示された技術案が所望する結果を実現できれば、本明細書では限定しない。
【0160】
図面を参照しながら本開示の実施例又は例について説明したが、理解すべきこととして、上記方法、システム及び機器は、単に例示的な実施例又は例に過ぎず、本開示の範囲は、これらの実施例又は例によって制限されるものではなく、授権後の特許請求の範囲及びその同等範囲のみによって限定される。実施例又は例における様々な要素は、省略されてもよく、又はそれらの同等要素によって代替されてもよい。なお、各ステップは、本開示で説明した順序と異なる順序で実行されてもよい。さらに、実施例又は例における様々な要素は、様々な方法で組み合わせられてもよい。要点として、技術の進化に伴い、ここで説明された多くの要素は、本開示の後に現れる同等の要素に置き換えられてもよい。
【外国語明細書】