(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241101BHJP
G06F 16/58 20190101ALI20241101BHJP
【FI】
G06T7/00 350B
G06F16/58
(21)【出願番号】P 2022202512
(22)【出願日】2022-12-19
【審査請求日】2023-10-18
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】土井 賢治
【審査官】伊知地 和之
(56)【参考文献】
【文献】中国特許出願公開第115170825(CN,A)
【文献】中国特許出願公開第113239960(CN,A)
【文献】中国特許出願公開第111080605(CN,A)
【文献】からあげ,話題の画像生成AI「Stable Diffusion」で遊ぶ!,日経Linux,日本,日経BP,2022年12月08日,第25巻 第1号,pp.85~93
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
G06T 1/00 - 1/40
G06T 3/00 - 5/94
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
(57)【特許請求の範囲】
【請求項1】
所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像と、前記学習用画像における前記所定の対象の特徴を示すラベルとを取得する取得部と、
前記取得部により取得された前記学習用グレースケール画像と前記ラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を前記学習用画像に近づけるように変換する拡散モデルを学習する学習部と、
前記学習部により学習された前記拡散モデルにより生成された変換後画像を用いた画像検索サービスをユーザに提供する提供部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記取得部は、
前記学習用画像における前記所定の対象の色、形状、雰囲気の少なくとも1つを含む前記特徴を示す前記ラベルを取得する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、
前記学習用画像における前記所定の対象の色を示す前記ラベルを取得し、
前記学習部は、
前記一のノイズ画像を、前記ラベルが示す色の前記所定の対象を含む前記学習用画像に近づけるように変換する前記拡散モデルを学習する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記取得部は、
前記一のノイズ画像を取得し、
前記学習部は、
前記取得部により取得された前記一のノイズ画像を前記学習用画像に近づけるように変換する前記拡散モデルを学習する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記取得部は、
前記学習用画像にノイズを段階的に付与した複数の段階画像を取得し、
前記学習部は、
前記取得部により取得された前記複数の段階画像を用いて、前記拡散モデルを学習する
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記学習部は、
前記複数の段階画像のうち一の段階画像からノイズを1段階除去した画像である前記段階画像を生成するように、前記拡散モデルを学習する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記取得部は、
第1段階画像と、前記第1段階画像に1段階ノイズが付与された第2段階画像とを含む前記複数の段階画像を取得し、
前記学習部は、
前記第2段階画像からノイズを1段階除去した前記第1段階画像を生成するように、前記拡散モデルを学習する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項8】
前記取得部は、
前記第2段階画像に1段階ノイズが付与された第3段階画像を含む前記複数の段階画像を取得し、
前記学習部は、
前記第3段階画像からノイズを1段階除去した前記第2段階画像を生成するように、前記拡散モデルを学習する
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記提供部は、
前記変換後画像を用いた画像検索の結果を前記ユーザが利用する端末装置に送信する
ことを特徴とする請求項
1に記載の情報処理装置。
【請求項10】
前記提供部は、
前記変換後画像に類似する類似画像を前記ユーザが利用する端末装置に送信する
ことを特徴とする請求項
1に記載の情報処理装置。
【請求項11】
前記取得部は、
前記ユーザから変換対象となる対象画像を取得し、
前記提供部は、
前記対象画像のグレースケール画像と前記拡散モデルとを用いて生成された前記変換後画像を用いたサービスを前記ユーザに提供する
ことを特徴とする請求項
1に記載の情報処理装置。
【請求項12】
前記取得部は、
前記ユーザから特徴を指定する指定情報を取得し、
前記提供部は、
前記指定情報を用いて生成された前記変換後画像を用いたサービスを前記ユーザに提供する
ことを特徴とする請求項
1に記載の情報処理装置。
【請求項13】
前記学習部により学習された前記拡散モデルを用いて、変換後画像を生成する処理部、
をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項14】
コンピュータが実行する情報処理方法であって、
所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像と、前記学習用画像における前記所定の対象の特徴を示すラベルとを取得する取得工程と、
前記取得工程により取得された前記学習用グレースケール画像と前記ラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を前記学習用画像に近づけるように変換する拡散モデルを学習する学習工程と、
前記学習工程により学習された前記拡散モデルにより生成された変換後画像を用いた画像検索サービスをユーザに提供する提供工程と、
を含むことを特徴とする情報処理方法。
【請求項15】
所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像と、前記学習用画像における前記所定の対象の特徴を示すラベルとを取得する取得手順と、
前記取得手順により取得された前記学習用グレースケール画像と前記ラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を前記学習用画像に近づけるように変換する拡散モデルを学習する学習手順と、
前記学習手順により学習された前記拡散モデルにより生成された変換後画像を用いた画像検索サービスをユーザに提供する提供手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、画像の色に関する様々な種別の色属性情報を変換するための技術が提供されている。例えば、色変換前の画像と色変換後の画像の組を用いて色変換モデルを学習する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”, Jun-Yan Zhu, Taesung Park, Phillip Isola, and Alexei A. Efros<インターネット>https://junyanz.github.io/CycleGAN/(令和4年12月5日検索)
【文献】“Denoising Diffusion Probabilistic Models”, Jonathan Ho, Ajay Jain, and Pieter Abbeel,<インターネット>https://arxiv.org/pdf/2006.11239.pdf(令和4年12月5日検索)
【文献】“Palette: Image-to-Image Diffusion Models”, Chitwan Saharia, William Chan, Huiwen Chang, Chris A Lee, Jonathan Ho, Tim Salimans, David J Fleet, and Mohammad Norouzi,<インターネット>https://arxiv.org/pdf/2111.05826.pdf(令和4年12月5日検索)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術には、改善の余地がある。例えば、色変換前の画像と色変換後の画像の組が必要となり、色変換前の画像と色変換後の画像の組が無い場合、その組に対応する色変換を行った画像を生成することが難しい。そのため、適切な画像生成を可能にすることが望まれている。
【0006】
本願は、上記に鑑みてなされたものであって、適切な画像生成を可能にする情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る情報処理装置は、所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像と、前記学習用画像における前記所定の対象の特徴を示すラベルとを取得する取得部と、前記取得部により取得された前記学習用グレースケール画像と前記ラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を前記学習用画像に近づけるように変換する拡散モデルを学習する学習部と、を備えたことを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、適切な画像生成を可能にすることができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報処理の他の一例を示す図である。
【
図3】
図3は、実施形態に係る情報処理システムの構成例を示す図である。
【
図4】
図4は、実施形態に係る情報処理装置の構成例を示す図である。
【
図5】
図5は、実施形態に係るモデル情報記憶部の一例を示す図である。
【
図6】
図6は、実施形態に係る情報処理の一例を示すフローチャートである。
【
図7】
図7は、実施形態に係る情報処理の一例を示すフローチャートである。
【
図8】
図8は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
(実施形態)
〔1.情報処理〕
以下では、
図1を用いて、実施形態に係る情報処理の一例について説明する。
図1は、実施形態に係る情報処理の一例を示す図である。具体的には、
図1は、実施形態に係るモデルの学習処理及び、モデルを用いた画像の生成処理を含む情報処理の一例を示す。
図1では、情報処理装置100(
図3参照)がノイズ画像から画像を生成するための拡散モデルである拡散モデルM1(以下「モデルM1」ともいう)を学習(生成)し、生成したモデルM1を用いて画像を生成する場合を一例として説明する。なお、以下では、色等の特徴を変換する対象物を含むグレースケール画像を用いる場合を一例として説明するが、対象物を含む画像としてはグレースケール画像に限らず任意の画像が用いられてもよいが、この点については後述する。
【0012】
〔1-1.学習処理例〕
まず、
図1を用いて、モデルM1の学習処理の一例について説明する。まず、モデルM1の学習処理に用いるデータ(学習用データ)について説明する。
【0013】
図1では、情報処理装置100は、モデルM1の学習処理に用いるデータ(学習用データ)を取得する。例えば、情報処理装置100は、モデルM1の学習用データを学習用データ記憶部121(
図4参照)から取得する。なお、学習用データ記憶部121に学習用データが未登録の場合、情報処理装置100は、情報提供装置50(
図3参照)等の外部装置に学習用データの提供を要求し、外部装置から受信したデータを学習用データとして学習用データ記憶部121に登録してもよい。
【0014】
図1では、モデルM1の学習処理に用いるデータの一例として、所定の画像にノイズが段階的に付与した複数の段階画像を含む画像群IG1を示す。情報処理装置100は、
図1に示す画像群IG1等を含む学習用データを用いてモデルM1を学習する。
【0015】
画像群IG1は、所定の対象が撮像された画像(学習用画像)である画像P10を含む。画像P10は、所定の対象としてパーカーが撮像された画像である。画像P10は、ノイズの付与に関する段階が段階#0である、すなわちノイズが付与されていない画像である。なお、
図1では、図示の関係上、色(色彩)をハッチングで示すが、画像P10に含まれるパーカーの色は青色である。
【0016】
また、画像群IG1は、画像P10にノイズが付与された画像である画像P11を含む。画像P11は、画像P10にノイズが1段階付された画像である。画像P11は、ノイズの付与に関する段階が段階#1である、すなわちノイズが1段階付与された画像である。例えば、画像P11は、画像P10にノイズを付与するノイズ付与処理(
図1中の処理SN1)により生成される。
【0017】
また、画像群IG1は、画像P11にノイズが付与された画像である画像P12を含む。画像P12は、画像P11にノイズがさらに1段階付された画像である。画像P12は、ノイズの付与に関する段階が段階#2である、すなわちノイズが2段階付与された画像である。例えば、画像P12は、画像P11にノイズを付与するノイズ付与処理(
図1中の処理SN2)により生成される。
【0018】
また、画像群IG1は、画像P12にノイズが付与された画像である画像P13を含む。例えば、画像P12にノイズを付与するノイズ付与処理(
図1中の処理SN3)によりノイズが3段階付与された段階#3の画像(画像P13)が生成される。なお、ノイズ繰り返しとなるため途中の処理の説明は省略する。
【0019】
また、画像群IG1は、ノイズがK-3段階付与された画像P1K-3にノイズが付与された画像である画像P1K-2を含む。なお、Kは例えば30、1000等の任意の数(値)である。例えば、画像P1K-3にノイズを付与するノイズ付与処理(
図1中の処理SNK-2)によりノイズがK-2段階付与された段階#K-2の画像(画像P1K-2)が生成される。
【0020】
また、画像群IG1は、画像P1K-2にノイズが付与された画像である画像P1K-1を含む。画像P1K-1は、画像P1K-2にノイズがさらに1段階付された画像である。画像P1K-1は、ノイズの付与に関する段階が段階#K-1である、すなわちノイズがK-1段階付与された画像である。例えば、画像P1K-1は、画像P1K-2にノイズを付与するノイズ付与処理(
図1中の処理SNK-1)により生成される。
【0021】
また、画像群IG1は、ノイズ画像である画像P1Kを含む。例えば、画像P1Kは、画像P1K-1にノイズがさらに1段階付された画像である。画像P1Kは、ノイズの付与に関する段階が段階#Kである、すなわちノイズがK段階付与された画像である。例えば、画像P1Kは、画像P1K-1にノイズを付与するノイズ付与処理(
図1中の処理SNK)により生成される。
図1中の処理SN1~処理SNKは、拡散モデルにおける拡散過程(forward process)に対応する処理である。
【0022】
例えば、画像群IG1中の各画像は、データにガウシアンノイズを付与して、実データから徐々に完全なガウシアンノイズに遷移させる処理(ノイズ付与処理)により生成されてもよい。例えば、Kが1000の場合、1000回のノイズ付与処理後に完全なノイズになるようにデータとノイズの割合を変えながら混ぜ合わせることにより、画像群IG1中の各画像が生成される。なお、Kが1000の場合、すなわちノイズ付与処理の回数が1000回である場合は一例に過ぎず、ノイズ付与処理の回数は32回や1回等、1000回よりも少ない回数であってもよいし、1000回よりも多い回数であってもよい。また、画像群IG1中の各画像は、情報処理装置100が生成してもよいし、情報提供装置50等の外部装置が生成してもよい。
【0023】
このように、
図1に示す画像群IG1は、画像P10、P11、P12、…P1K-2、P1K-1、P1K等の複数の画像を含む。以下、上記した画像群IG1を用いて情報処理装置100がモデルM1を学習する場合を一例として説明する。なお、上記は一例に過ぎず、画像群IG1に含まれる画像は任意の画像であってもよい。例えば、画像P1Kは、いわゆるホワイトノイズ等のノイズ画像であってもよい。
【0024】
ここから、学習処理例の詳細について説明する。
図1では、情報処理装置100は、画像群IG1等を用いてモデルM1を学習する学習処理を実行する(ステップS1)。情報処理装置100は、ノイズを含む画像(ノイズ画像)を入力とし、一つ手前の過程、すなわちノイズ画像からノイズを1段階除去した画像を出力(予測)するようにモデルM1を学習する。例えば、情報処理装置100は、ノイズ画像、ノイズ画像に対応する元の画像(ノイズが付与されていない状態の画像)をグレースケール化したグレースケール画像、及び元の画像に含まれる対象の色等の特徴を示すラベルを入力とするモデルM1を学習する。
【0025】
このように、情報処理装置100は、一の段階のノイズ画像からノイズを1段階除去した画像を生成するように、モデルM1を学習する。
図1では、情報処理装置100は、画像P10をグレースケール化したグレースケール画像(「学習用グレースケール画像」ともいう)と、画像P10中のパーカーの色が青であることを示すラベル(「学習用ラベル」ともいう)とを用いて、モデルM1を学習する。このように、情報処理装置100は、生成する画像に含ませる対象を示す情報(画像)、及び対象の特徴を示すラベルも入力として学習することで、条件付きの拡散モデルとしてモデルM1を学習することができる。
【0026】
例えば、情報処理装置100は、画像P1K、学習用グレースケール画像(例えばグレースケール画像GS1)、及び学習用ラベルを入力として、画像P1K-1を出力するようにモデルM1を学習する学習処理(
図1中の処理SR1)を実行する。このように、情報処理装置100は、段階#Kのノイズ画像である画像P1Kから、一つ手前の過程の段階#K-1のノイズ画像である画像P1K-1を生成するようにモデルM1を学習する。
【0027】
また、情報処理装置100は、段階#K-1のノイズ画像である画像P1K-1、学習用グレースケール画像、及び学習用ラベルを入力として、段階#K-2のノイズ画像である画像P1K-2を出力するようにモデルM1を学習する学習処理(
図1中の処理SR2)を実行する。同様に、情報処理装置100は、段階#K-2のノイズ画像である画像P1K-2、学習用グレースケール画像、及び学習用ラベルを入力として、段階#K-3のノイズ画像である画像P1K-3を出力するようにモデルM1を学習する学習処理(
図1中の処理SR3)を実行する。なお、
図1中の処理SR3から処理SRK-2の間の処理は、上述した処理と同様に、ノイズ画像を入力として、そのノイズ画像のノイズ付与の1段階前の画像の出力するように学習するため、詳細な説明は省略する。
【0028】
情報処理装置100は、段階#3のノイズ画像である画像P13、学習用グレースケール画像、及び学習用ラベルを入力として、段階#2のノイズ画像である画像P12を出力するようにモデルM1を学習する学習処理(
図1中の処理SRK-2)を実行する。情報処理装置100は、段階#2のノイズ画像である画像P12、学習用グレースケール画像、及び学習用ラベルを入力として、段階#1のノイズ画像である画像P11を出力するようにモデルM1を学習する学習処理(
図1中の処理SRK-1)を実行する。
【0029】
そして、情報処理装置100は、段階#1のノイズ画像である画像P11、学習用グレースケール画像、及び学習用ラベルを入力として、段階#0、すなわちノイズが付与されていない画像である画像P10を出力するようにモデルM1を学習する学習処理(
図1中の処理SRK)を実行する。
図1中の処理SR1~処理SRKは、拡散モデルにおける生成過程(reverse process)に対応する処理である。
図1では、情報処理装置100は、画像P10、P11、P12、…P1K-2、P1K-1、P1K等を含む画像群IG1を用いてモデルM1を学習する。
【0030】
このように、情報処理装置100は、ノイズ画像を入力とし、徐々にノイズを除去していくことで、データを生成するモデルであるモデルM1を学習する。
図1では、情報処理装置100は、ノイズ画像、グレースケール画像、及びラベルを入力とし、徐々にノイズ画像からノイズを除去していくことで、グレースケール画像に含まれる対象物にラベルが示す特徴が反映されたデータ(「変換後画像」ともいう)を生成するモデルM1を学習する。
【0031】
図1では、情報処理装置100は、徐々にノイズ画像からノイズを除去していくことで、グレースケール画像に含まれる対象物であるパーカーにラベルが示す色「青」が着色されるように変換後画像を生成するモデルM1を学習する。このように、情報処理装置100は、グレースケール画像とラベルとに基づいて、ノイズ画像を学習用画像に近づけるように変換するモデルM1を学習する。
【0032】
なお、
図1に示す画像群IG1を用いた学習処理はモデルM1の学習の一部であり、情報処理装置100は、画像群IG1以外にも様々な画像群を含む学習用データを用いてモデルM1を学習する。例えば、情報処理装置100は、対象物はパーカーに限らず、靴、鞄、帽子等の様々な取引対象が撮像された学習用画像を対象とする画像群を用いてモデルM1を学習する。例えば、情報処理装置100は、色は青に限らず、赤、黄色、緑、紫等の様々な色の学習用画像を対象とする画像群を用いてモデルM1を学習する。また、上述した処理は一例に過ぎず、情報処理装置100は、非特許文献2、3等に開示される拡散モデルに関する学習手法に基づいてモデルM1を学習してもよい。
【0033】
このように、情報処理装置100は、所定の対象を含む学習用画像のグレースケール画像と、所定の対象の特徴を示すラベルに基づいて、ノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。これにより、情報処理装置100は、画像中の所定の対象の特徴を変換するモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0034】
上述した例では、情報処理装置100は、拡散モデルにグレースケール画像とともに、元の画像に含まれる商品等の対象の色のドメイン(赤、青等)をラベルとして入力して、拡散モデルを学習する。例えば、画像収集時に色別に画像を収集している場合、ラベルも既知であり、容易に学習用データを収集することができるため、情報処理装置100は、容易に自己教師あり学習でモデルを学習することができる。
【0035】
〔1-2.生成処理例〕
次に、モデルM1を用いた画像の生成処理の一例を説明する。なお、
図1では、説明のために変換後画像を生成する対象となる画像(「対象画像」ともいう)が画像P10である場合を一例として説明するが、対象画像は、画像P10に限らず、任意の画像であってもよい。例えば、情報処理装置100は、画像P10を対象画像とする指定をユーザから受け付ける。
【0036】
また、
図1では、変換対象とする特徴(「対象特徴」ともいう)が色「緑」であることを示すラベルLB1が用いられる場合を示すが、対象特徴は、緑に限らず、赤、茶色等の任意の色であってもよい。例えば、情報処理装置100は、ラベルLB1をユーザから受け付ける。
【0037】
まず、情報処理装置100は、対象画像をグレースケール化する処理により対象画像のグレースケールを生成する(ステップS11)。情報処理装置100は、画像のグレースケール化に関する種々の技術を適宜用いて、画像のグレースケール化を実行する。
図1では、情報処理装置100は、画像P10をグレースケール化する処理により画像P10のグレースケール画像GS1を生成する。
【0038】
そして、情報処理装置100は、ノイズ画像、グレースケール画像、及びラベルを入力として、変換後画像を生成する生成処理を実行する(ステップS12)。例えば、ノイズ画像NZ1は、画像P1Kと同じノイズ画像であってもよいし、異なるノイズ画像であってもよい。
図1では、情報処理装置100は、ノイズ画像NZ1、グレースケール画像GS1、及びラベルLB1を最初のモデルM1への入力情報IN1として、モデルM1を用いた画像の生成を繰り返すことにより、画像P20を生成する。なお、
図1では、図示の関係上、色(色彩)をハッチングで示すが、画像P20に含まれるパーカーの色は緑色である。
【0039】
例えば、情報処理装置100は、モデルM1への入力をK回繰り返すことにより、画像P20を生成する。例えば、Kが1000である場合、情報処理装置100は、ノイズ画像NZ1、グレースケール画像GS1、ラベルLB1が入力されたモデルM1が出力した画像を入力として、モデルM1への入力を999回繰り返す。
【0040】
例えば、情報処理装置100は、最初(1回目)の繰り返し処理では、ノイズ画像NZ1、グレースケール画像GS1、及びラベルLB1をモデルM1へ入力し、モデルM1から画像#1を出力させる。そして、情報処理装置100は、2回目の繰り返し処理では、画像#1、グレースケール画像GS1、及びラベルLB1をモデルM1へ入力し、モデルM1から画像#2を出力させる。情報処理装置100は、3回目の繰り返し処理では、画像#2、グレースケール画像GS1、及びラベルLB1をモデルM1へ入力し、モデルM1から画像#3を出力させる。
【0041】
情報処理装置100は、4~K-1回目の繰り返し処理でも同様に、画像#3~#K-2の各々、グレースケール画像GS1、及びラベルLB1をモデルM1へ入力し、モデルM1から画像#4~#K-1の各々を出力させる。そして、情報処理装置100は、K回目の繰り返し処理では、画像#K-1、グレースケール画像GS1、及びラベルLB1をモデルM1へ入力し、モデルM1から画像P20を出力させる。
【0042】
これにより、情報処理装置100は、徐々にノイズ画像からノイズを除去していくことで、グレースケール画像GS1に含まれる対象物に、ラベルLB1が示す特徴が反映された画像P20を生成する。
図1では、情報処理装置100は、モデルM1を用いて徐々にノイズ画像からノイズを除去していくことで、グレースケール画像GS1に含まれる対象物であるパーカーに、ラベルLB1が示す色「緑」が着色された変換後画像である画像P20を生成する。
【0043】
〔1-3.平坦化〕
上述した処理により所望の対象の所望の特徴を反映した画像を生成することができるが、さらに改善の余地がある。例えば、拡散モデル学習時に入力画像(学習用画像)をグレースケール変換のみ行った画像(グレースケール画像)を用いて学習した場合、色等の特徴を変換した場合、適切に特徴の変換が行われない場合がある。
【0044】
例えば、学習用画像がグレースケール化されたグレースケール画像の各画素の画素値の分布に偏りがある場合等においては、変換後画像を適切に生成する拡散モデルを学習することが難しい場合がある。例えば、グレースケール画像の各画素の複数種別の色属性情報のうち明度(例えば白から黒までの階調)に対応する画素値(例えば0から255までの値)の分布に偏りがある場合等においては、変換後画像を適切に生成する拡散モデルを学習することが難しい場合がある。
【0045】
そこで、情報処理装置100は、学習用画像における所定の種別の色属性情報の分布を平坦化した画像(「平坦化後画像」ともいう)を生成し、生成した平坦化後画像を用いて、拡散モデルを学習する。この点について
図2を用いて一例を説明する。なお、
図1と同様の点については、同様の符号を付すこと等により適宜説明を省略する。
【0046】
例えば、情報処理装置100は、学習用画像における明度の分布を平坦化したグレースケール画像を平坦化後画像として生成し、明度の分布が平坦化したグレースケール画像(「平坦化後グレースケール画像」ともいう)を用いて、拡散モデルを学習する。なお、明度は、平坦化の対象とする色属性情報の一例に過ぎず、平坦化の対象とする色属性情報は明度に限られないが、この点については後述する。
【0047】
図2中のヒストグラムHG1は、平坦化処理を行っていない場合のグレースケール画像GS1での各画素の明度の分布を示すヒストグラムである。ヒストグラムHG1は、平坦化処理前のヒストグラムに対応する。
図2では白から黒への横方向のバー内のハッチングの濃淡で画素値の高低を示す。例えば、ヒストグラムHG1の白(右端)が、グレースケール画像において画素が取り得る画素値(例えば明度)の最小値(例えば0等)に対応し、黒(左端)が、グレースケール画像において画素が取り得る画素値(例えば255等)の最大値に対応する。また、ヒストグラムHG1の縦方向が各画素値を有する画素の数(個数)を示す。例えば、ヒストグラムHG1の少(下端)が、対応する画素値を有する画素の数が0であることを示し、ヒストグラムHG1の多(上端)に向かうにつれて対応する画素値を有する画素の数が多いことを示す。ヒストグラムHG1中の波形が各画素値を有する画素の数を示す。
図2では、グレースケール画像GS1に対応するヒストグラムHG1は、一部の画素値(白と黒の中間付近の値)を有する画素の数(出現頻度)が多く、分布に偏りがあるヒストグラムである。
【0048】
また、
図2中のヒストグラムHG2は、平坦化処理を行った場合のグレースケール画像GS2での各画素の明度の分布を示すヒストグラムである。ヒストグラムHG2は、平坦化処理後のヒストグラムに対応する。なお、ヒストグラムHG2においてヒストグラムHG1と同様の点については適宜説明を省略する。
図2では、グレースケール画像GS2に対応するヒストグラムHG2は、白から黒までの各画素値を有する画素の数の分布に偏りが無く、全体的に各画素値の個数が均一なヒストグラムである。
【0049】
ここでいう平坦化処理は、ヒストグラム平坦化の処理であり、所定の画素値のヒストグラムが全体的にたいら(均一)になるように濃度変換する処理である。例えば、平坦化処理は、画像中の各画素の複数種別の色属性情報のうち、所定の種別の色属性情報(所定の種別に対応する画素値等)のヒストグラムが全体的にたいらになるように濃度変換する処理である。ヒストグラム平坦化の処理については、種々の従来技術が採用可能であり詳細な説明は省略する。
【0050】
例えば、情報処理装置100は、
図1中の画像P10からグレースケール画像を生成する際に、グレースケール化する処理(グレースケール変換処理)に加えて、平坦化処理を行うことにより画像P10の平坦化後グレースケール画像であるグレースケール画像GS2を生成する。なお、情報処理装置100は、グレースケール画像GS1を対象として平坦化処理を行うことにより、平坦化後グレースケール画像であるグレースケール画像GS2を生成してもよい。
【0051】
情報処理装置100は、平坦化処理により生成した平坦化後グレースケール画像であるグレースケール画像GS2を用いて、拡散モデルを学習する。すなわち、情報処理装置100は、平坦化後グレースケール画像であるグレースケール画像GS2をモデルM1への入力として用いて、拡散モデルを学習する。
【0052】
この場合、情報処理装置100は、
図1に示す学習処理において、学習用グレースケール画像として平坦化後グレースケール画像を用いて、モデルM1を学習する。例えば、情報処理装置100は、
図1に示す学習処理において、グレースケール画像GS2を学習用グレースケール画像として、モデルM1を学習する。なお、平坦化後グレースケール画像を用いた学習処理は、モデルM1に入力するグレースケール画像が平坦化後グレースケール画像となる点以外は、
図1に示す学習処理と同様であるため、詳細な説明は省略する。
【0053】
このように、情報処理装置100は、各画素に複数種別の色属性情報が対応付けられた学習用画像から、所定の種別の色属性情報である明度の分布を平坦化した平坦化後画像を生成する。そして、情報処理装置100は、生成した平坦化後画像と、ラベルとに基づいて、ノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。これにより、情報処理装置100は、所定の種別の色属性情報に偏りがない平坦化後画像を用いて適切にモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0054】
例えば、拡散モデルを学習する際に指定された色ラベルごとに入力されるグレースケール画像のヒストグラムの組み合わせに偏りがあり、拡散モデルがこの偏りも含めて学習した場合、色変換時に、青い画像をグレー化したものと白のラベルの組み合わせを入力すると、学習時のデータ分布との差異が大きく、うまく変換できない場合がある。
【0055】
そこで、情報処理装置100は、モデルの学習時には、画像をグレースケール変換するだけでなく、ヒストグラム平坦化も合わせて実施した画像を入力画像とすることで、適切にモデルを学習することができる。例えば、情報処理装置100により生成される拡散モデルは、グレースケール画像を着色するだけでなく、平坦化されたヒストグラムを指定された色に応じたヒストグラムへと変換することも併せて学習するようになる。これにより、情報処理装置100は、着色時に元の画像とは異なる任意の色のラベルに差し替えた場合にもうまく着色が行われた変換後画像を生成することができる。
【0056】
なお、平坦化後グレースケール画像を用いる場合、モデルM1を用いた画像の生成処理時においては、情報処理装置100は、対象画像の平坦化後グレースケール画像を用いて、変換後画像を生成してもよい。この場合、情報処理装置100は、
図1に示す生成処理のステップS11において、グレースケール化する処理(グレースケール変換処理)に加えて、平坦化処理を行うにより画像P10の平坦化後グレースケール画像であるグレースケール画像GS2を生成する。そして、情報処理装置100は、平坦化後グレースケール画像を用いて、変換後画像を生成する。なお、平坦化後グレースケール画像を用いた生成処理は、モデルM1に入力するグレースケール画像が平坦化後グレースケール画像となる点以外は、
図1に示す生成処理と同様であるため、詳細な説明は省略する。
【0057】
〔1-4.その他(限定解除、サービス等)〕
なお、上述した処理は一例に過ぎず、情報処理装置100は、様々な情報を適宜用いて処理を行ってもよい。この点について以下例示を記載する。例えば、上述した例では、モデルM1へ入力する対象を含む画像(「対象撮像画像」ともいう)として、グレースケール画像が用いられる場合を示したが、対象撮像画像は、グレースケール画像に限らず、カラー画像等の任意の画像が用いられてもよい。
【0058】
また、上述した例では、色を変換対象とする場合を説明したが、情報処理装置100は、画像に含まれる対象の色に限らず、対象の形状、雰囲気等の任意の対象を変換対象としてもよい。例えば、情報処理装置100は、画像に含まれる対象の色、形状、雰囲気の少なくとも1つを変換対象とする。
【0059】
例えば、情報処理装置100は、画像に含まれる対象の形状を変換対象とする場合、学習する拡散モデルへ入力するラベルとして、対象の形状を示すラベル(「形状ラベル」ともいう)を用いる。例えば、学習処理時において、情報処理装置100は、画像に含まれる対象の形状が矩形である場合、その画像を用いた学習時のラベルとして、矩形を示す形状ラベルを用いる。
【0060】
また、例えば、生成処理時において、情報処理装置100は、対象画像に含まれる対象の形状を円形にしたい場合、対象画像とともに円形を示す形状ラベルを拡散モデルに入力することにより、形状が変換された変換後画像を生成する。なお、上記は一例に過ぎず、情報処理装置100は、変換対象に応じて適宜の情報を用いて拡散モデルを学習し、学習した拡散モデルを用いて変換後画像を生成する。
【0061】
例えば、上述した例では、複数種別の色属性情報のうち、明度を平坦化の対象とする場合を説明したが、情報処理装置100は、明度に限らず、画像に関する任意の対象を平坦化の対象としてもよい。例えば、情報処理装置100は、色相、彩度等を平坦化の対象としてもよい。
【0062】
また、情報処理装置100は、画像の色の表現形式に応じた色属性情報を平坦化の対象としてもよい。例えば、情報処理装置100は、画像の色の表現形式がRGB(赤、緑、青)である場合、画像の各画素に対応付けられたR(赤)に関する値、G(緑)に関する値、B(青)に関する値の少なくとも1つを平坦化の対象としてもよい。例えば、情報処理装置100は、G(緑)に関する値を平坦化の対象とする場合、画像におけるG(緑)に関する画素値のヒストグラムが全体的にたいらになるように濃度変換する処理を実行する。
【0063】
また、例えば、情報処理装置100は、画像の色の表現形式がCMYK(シアン、マゼンタ、イエロー、ブラック(キー・プレート))である場合、画像の各画素に対応付けられたC(シアン)に関する値、M(マゼンタ)に関する値、Y(イエロー)に関する値、K(ブラック)に関する値の少なくとも1つを平坦化の対象としてもよい。例えば、情報処理装置100は、K(ブラック)に関する値を平坦化の対象とする場合、画像におけるK(ブラック)に関する画素値のヒストグラムが全体的にたいらになるように濃度変換する処理を実行する。
【0064】
また、情報処理装置100は、生成した変換後画像を用いて、様々なサービスを提供してもよい。
図1では、情報処理装置100は、生成した変換後画像である画像P20を用いたサービスを、対象画像である画像P10を指定したユーザ(「指定元ユーザ」ともいう)に提供してもよい。情報処理装置100は、画像P20に類似する類似画像検索の検索結果を、指定元ユーザが利用する端末装置10に送信する。
【0065】
情報処理装置100は、指定元ユーザに検索サービスを提供してもよい。この場合、情報処理装置100は、画像P20を検索クエリとなる画像(「クエリ画像」ともいう)として受け付け、検索対象となる各種画像の中からクエリ画像(画像P20)と類似する画像を検索する検索処理を実行し、検索結果を提供する。
【0066】
例えば、情報処理装置100は、電子商店街(ECサイト等)において出品された商品等の取引対象を含む画像(取引対象画像)のインデックスを用いて、画像P20の類似画像の検索処理を実行し、画像P20の類似画像の検索結果を提供する。情報処理装置100は、画像P20の類似画像の検索結果に関する情報を指定元ユーザに提供する。情報処理装置100は、画像P20の類似画像の検索結果を指定元ユーザが利用する端末装置10に送信する。
【0067】
上述したように、情報処理装置100は、所定の対象が撮影された学習画像のグレースケール画像と、所定の対象の特徴を示すラベルとに従って、ノイズ画像を学習画像に近づけるように変換する拡散モデルを学習する。例えば、情報処理装置100は、学習画像にノイズを段階的に付与した複数の段階画像を生成し、段階画像からノイズを1段階除去した段階画像を生成するように、拡散モデルを学習する。また、例えば、情報処理装置100は、ユーザから画像を取得し、取得した画像をグレースケール化して、入力された特徴で所望する対象が撮影された画像を生成し、生成した画像を用いて、所定の対象と類似する商品をEC(電子商取引)サービス等で画像検索する。
【0068】
また、情報処理装置100は、所定の対象が撮影された学習画像であって各画素に複数種別の色属性情報(色彩情報)が対応付けられた学習画像から、所定種別の色彩情報が示す示唆画像であって、当該所定種別の色彩情報の分布を平坦化した平坦化画像(示唆画像)を生成する。例えば、情報処理装置100は、示唆画像と、所定の対象の特徴を示すラベルとに従って、ノイズ画像を学習画像に近づけるように変換する拡散モデルを学習する。例えば、情報処理装置100は、白飛びした画像の平坦化と、通常の画像の平坦化とを学習したチャンネル推定モデルを生成してもよい。この場合、情報処理装置100は、生成したチャンネル推定モデルで示唆画像を生成してもよい。
【0069】
上述したように、情報処理装置100は、画像をグレースケール化した画像に含まれる対象に所望の色付けするように学習する。例えば、情報処理装置100は、元の画像と元の画像にノイズを乗せたノイズ画像を準備して、ノイズ画像を元の画像に戻すように学習する。例えば、情報処理装置100は、段階的にいろいろなノイズ画像を作成して学習し、ノイズに対して何度もモデルがノイズ除去することで、元の画像を再現することができる。
【0070】
また、情報処理装置100は、拡散モデルの学習時に、元の画像を示す情報(各種のラベル、被写体の名称やどんなシーンであるか、被写体の色等)を入力して学習するようにする。情報処理装置100は、様々な画像を学習用画像として、ノイズ画像と、学習用画像のグレースケール画像と、ラベルとを入力して何度もノイズ除去することで、ラベルが示す特徴をグレースケール画像に反映した画像を生成するようなモデルを学習することが成できる。
【0071】
上述したように、情報処理装置100は、複数種別の色属性情報のうち所定の種別である1チャンネルを平坦化した平坦化画像と、学習用画像に対応するラベルとから、ノイズ画像を学習用画像に復元するようにモデルを学習する。例えば、情報処理装置100は、通常画像から白飛び画像を生成し、生成した白飛び画像を用いて学習を行ってもよい。
【0072】
また、情報処理装置100は、複数種別の色属性情報のうち所定の種別の色属性情報のヒストグラムの偏りに応じて、処理を切り替えてもよい。例えば、情報処理装置100は、所定の種別の色属性情報のヒストグラムに所定の基準以上の偏りがある場合、StarGAN(Generative Adversarial Network)等のGANモデルを用いて変換後画像を生成してもよい。また、情報処理装置100は、所定の種別の色属性情報のヒストグラムに所定の基準以上の偏りがない場合、拡散モデルを用いて変換後画像を生成してもよい。
【0073】
また、情報処理装置100は、画像中の一部の領域(範囲)のみの特徴を変換した変換後画像を生成してもよい。この場合、情報処理装置100は、画像中の一部の領域を指定する範囲指定情報も入力とするモデルを学習し、学習したモデルを用いて、一部の領域のみを変換の対象とした変換後画像を生成してもよい。例えば、情報処理装置100は、画像中の一部の領域以外をマスクするマスク情報を入力とするモデルを学習し、学習したモデルを用いて、一部の領域のみを変換の対象とした変換後画像を生成してもよい。また、上述したラベルは、変換対象とする特徴を示す情報であれば、文字情報に限らず任意の情報であってもよい。例えば、ラベルは、雰囲気を示す画像、ヒストグラム、他の画像等の任意の画像であってもよい。
【0074】
〔2.情報処理システムの構成〕
次に、
図3を用いて情報処理システム1の構成例について説明する。
図3は、実施形態に係る情報処理システムの構成例を示す図である。
図3に示すように、情報処理システム1は、情報処理装置100と、情報提供装置50と、端末装置10とが含まれる。情報処理装置100と、情報提供装置50と、端末装置10とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、
図3に示した情報処理システム1には、複数の情報処理装置100、複数の情報提供装置50、複数の端末装置10が含まれてもよい。
【0075】
情報処理装置100は、拡散モデル等のモデルを学習するコンピュータである。すなわち、情報処理装置100は、学習処理を行う学習装置である。情報処理装置100は、所定の対象が撮像された学習用画像がグレースケール化された学習用グレースケール画像と、学習用画像における所定の対象の特徴を示すラベルとに基づいて拡散モデルを学習する。例えば、情報処理装置100は、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。
【0076】
また、情報処理装置100は、各画素に複数種別の色属性情報が対応付けられた学習用画像から、所定の種別の色属性情報の分布を平坦化した平坦化後画像を生成する生成装置である。例えば、情報処理装置100は、平坦化後画像と、学習用画像における所定の対象の特徴を示すラベルとに基づいて、一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。
【0077】
情報処理装置100は、ユーザから変換対象となる対象画像の指定を受け付け、ユーザが指定した対象画像のグレースケール画像と拡散モデルとを用いて変換後画像を生成する。また、情報処理装置100は、ユーザから変換後の特徴を指定する指定情報を受け付け、ユーザが指定した特徴が反映された変換後画像を生成する。情報処理装置100は、生成した変換後画像を用いたサービスをユーザに提供する。情報処理装置100は、変換後画像に類似する類似画像検索の検索結果を、ユーザが利用する端末装置10に送信する。
【0078】
情報処理装置100は、端末装置10を利用するユーザに検索サービスを提供するコンピュータである。この場合、情報処理装置100は、検索サービスを提供する検索サーバとしての機能を有する。例えば、情報処理装置100は、変換後画像を検索クエリとなる画像(クエリ画像)として受け付けると、検索対象となる各種画像の中からクエリ画像(変換後画像)と類似する画像を検索する検索処理を実行し、検索結果を提供する。
【0079】
情報処理装置100は、端末装置10から変換対象となる対象画像及び特徴を指定する指定情報を受け付け、拡散モデルであるモデルM1を用いて、その対象画像に含まれる対象物に指定情報が示す特徴が反映された変換後画像を生成する。例えば、情報処理装置100は、ノイズ画像、対象画像及びユーザが指定した色を示す指定情報をモデルM1への入力として、ノイズを除去する処理を繰り返すことにより、指定情報が示す色に対象画像に含まれる対象物が着色された変換後画像を生成する。
【0080】
情報処理装置100は、変換後画像を基に検索処理を実行し、検索結果を提供する。例えば、情報処理装置100は、検索対象となる商品等の取引対象を含む画像(取引対象画像)のインデックスを用いて、検索処理を実行し、検索結果を提供してもよい。例えば、情報処理装置100は、電子商店街(ECサイト等)において出品された取引対象の各々について、取引対象を示す画像として登録された取引対象画像を用いて検索処理を実行する。
【0081】
例えば、情報処理装置100は、電子商店街において出品された取引対象の中から、取引対象画像がクエリ画像(変換後画像)と類似する取引対象を検索し、変換後画像がクエリ画像(変換後画像)と類似する取引対象の情報を、類似画像の検索結果として抽出する。なお、情報処理装置100は、類似画像の検索が可能であれば、任意の画像検索に関する技術を適宜用いて画像検索の処理を行えばよく、画像検索についての詳細な説明は省略する。
【0082】
情報処理装置100は、類似画像の検索結果に関する情報をユーザに提供する。情報処理装置100は、類似画像の検索結果をユーザが利用する端末装置10に送信する。例えば、情報処理装置100は、検索結果として抽出した取引対象の変換後画像や価格、取引対象を販売する電子商店街の店舗の情報等を提供する。
【0083】
このように、情報処理装置100は、クエリ画像となる変換後画像に、取引対象画像が類似する取引対象の情報を提供する。なお、情報処理装置100は、変換後画像と取引対象画像との類似度に応じたランキングを生成し、生成したランキングを検索結果として提供してもよい。この場合、情報処理装置100は、変換後画像と取引対象画像との類似度が高い方から順に高い順位を付与し、高い順位の取引対象から順に並べたランキングを示す一覧情報を生成し、生成した一覧情報を、類似画像の検索結果として、ユーザが利用する端末装置10に送信してもよい。
【0084】
なお、上記は一例に過ぎず、ユーザに検索サービスを提供する装置は、情報処理装置100に限らず、情報処理システム1に含まれる他の装置であってもよい。例えば、情報提供装置50がユーザに検索サービスを提供してもよいし、情報処理システム1にはユーザに検索サービスを提供する検索サーバが含まれてもよい。
【0085】
情報提供装置50は、モデルの学習に利用可能な情報(データ)を情報処理装置100へ提供するサーバ装置である。例えば、情報提供装置50は、モデルの学習への利用が許可されているデータを、学習用データとして情報処理装置100へ送信する。例えば、情報提供装置50は、インターネット上で公開データを公開し、情報処理装置100等の外部装置からの要求に応じて、要求先の外部装置へ要求されたデータを送信する。例えば、情報提供装置50は、情報処理装置100からデータを要求する要求情報を受信し、要求情報の受信に応じて、情報処理装置100へ要求情報に対応するデータを送信する。
【0086】
例えば、情報提供装置50は、一の画像に段階的にノイズを付与した画像群と、その一の画像に含まれる対象物の特徴を示す特徴情報とを対応付けた情報を学習用データとして、情報処理装置100へ送信する。例えば、情報提供装置50は、ECサイト等において取引される取引対象の取引対象画像に段階的にノイズが付与された複数の段階画像と、その取引対象の色等の特徴を示す特徴情報とを対応付けたデータを、学習用データとして情報処理装置100へ送信する。
【0087】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、端末装置10をユーザと表記する場合がある。すなわち、ユーザを端末装置10と読み替えることもできる。
【0088】
端末装置10は、ユーザによる操作を受け付ける。また、端末装置10は、ユーザの操作に応じて、情報処理装置100や情報提供装置50に種々の情報を送信する。例えば、端末装置10は、情報処理装置100や情報提供装置50に各種情報を要求する要求情報等を送信する。また、端末装置10は、情報処理装置100や情報提供装置50から種々の情報を受信する。
【0089】
端末装置10は、ユーザが指定した変換対象となる画像(対象画像)を情報処理装置100へ送信する。端末装置10は、ユーザが指定した特徴を示す情報(指定情報)を情報処理装置100へ送信する。
【0090】
端末装置10は、類似画像の検索結果を情報処理装置100から受信する。例えば、端末装置10は、検索結果として抽出した取引対象の変換後画像や価格、取引対象を販売する電子商店街の店舗の情報等を情報処理装置100から受信する。
【0091】
端末装置10は、クエリ画像となる変換後画像に、取引対象画像が類似する取引対象の情報を情報処理装置100から受信する。端末装置10は、変換後画像と取引対象画像との類似度に応じたランキングを情報処理装置100から受信する。端末装置10は、変換後画像と取引対象画像との類似度が高い方から順に高い順位を付与し、高い順位の取引対象から順に並べたランキングを示す一覧情報を、類似画像の検索結果として、情報処理装置100から受信する。
【0092】
〔3.情報処理装置の構成〕
次に、
図4を用いて、実施形態に係る情報処理装置100の構成について説明する。
図4は、実施形態に係る情報処理装置100の構成例を示す図である。
図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0093】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10や情報提供装置50との間で情報の送受信を行う。
【0094】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、
図4に示すように、学習用データ記憶部121と、モデル情報記憶部122とを有する。
【0095】
(学習用データ記憶部121)
実施形態に係る学習用データ記憶部121は、学習に用いるデータに関する各種情報(学習用データ)を記憶する。学習用データ記憶部121は、モデルの生成に用いる教師データを記憶する。学習用データ記憶部121は、入力に用いるデータやそのデータに対応する正解情報(正解画像)といった情報を含む学習用データ情報を記憶する。
【0096】
学習用データ記憶部121は、入力に用いるノイズ画像、グレースケール画像、及びラベルの組み合わせと、その入力に対応する画像データ(正解画像)とが対応付けられた学習用データを記憶する。
【0097】
なお、学習用データ記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、学習用データ記憶部121は、入力データの種別を示す情報を各入力データに対応付けて記憶する。例えば、学習用データ記憶部121は、平坦化される対象となる色属性の種別を示す情報を各データに対応付けて記憶する。
【0098】
(モデル情報記憶部122)
実施形態に係るモデル情報記憶部122は、モデルに関する情報を記憶する。例えば、モデル情報記憶部122は、学習処理により学習(生成)された学習済みモデル(モデル)の情報(モデルデータ)を記憶する。
図5は、実施形態に係るモデル情報記憶部の一例を示す図である。
図5に示した例では、モデル情報記憶部122は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。
【0099】
「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「モデルデータ」は、モデルのデータを示す。
図5では「モデルデータ」に「MDT1」といった概念的な情報が格納される例を示したが、実際には、モデルの構成(ネットワーク構成)の情報やパラメータに関する情報等、そのモデルを構成する種々の情報が含まれる。例えば、「モデルデータ」には、ネットワークの各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
【0100】
図5では、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「画像生成」であり、例えば、モデルM1は、対象物が撮像された画像中の対象物の色を変換したり、着色を行ったりするために用いられるモデルであることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。
【0101】
なお、モデル情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。なお、モデルM1等のモデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定されるものであってもよい。モデルM1等のモデルは、プログラムであってもよい。
【0102】
(制御部130)
図4の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(学習プログラムや生成プログラム等の情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0103】
図4に示すように、制御部130は、取得部131と、生成部132と、学習部133と、処理部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0104】
(取得部131)
取得部131は、各種情報を取得する。取得部131は、端末装置10や情報提供装置50等の外部の情報処理装置から各種情報を取得する。取得部131は、学習用データ記憶部121やモデル情報記憶部122等に示す各種情報を、外部の情報処理装置から受信してもよい。
【0105】
取得部131は、記憶部120から各種情報を取得する。取得部131は、学習用データ記憶部121やモデル情報記憶部122等から各種情報を取得する。取得部131は、外部装置から各種情報を受信する。
【0106】
取得部131は、ユーザが利用する端末装置10から各種情報を受信する。例えば、取得部131は、端末装置10から色変換の対象となる対象物を含むグレースケール画像を受信する。例えば、取得部131は、端末装置10からユーザが指定したグレースケール画像を受信する。例えば、取得部131は、端末装置10から端末装置10を利用するユーザが指定する特徴を示す特徴情報を受信する。
【0107】
取得部131は、情報提供装置50から各種情報を受信する。例えば、取得部131は、情報提供装置50から学習に用いる情報を受信する。例えば、取得部131は、情報提供装置50からモデルM1の学習に用いる学習用データを受信する。
【0108】
取得部131は、所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像を取得する。取得部131は、学習用画像における所定の対象の特徴を示すラベルを取得する。取得部131は、学習用画像における所定の対象の色、形状、雰囲気の少なくとも1つを含む特徴を示すラベルを取得する。取得部131は、学習用画像における所定の対象の色を示すラベルを取得する。
【0109】
取得部131は、一のノイズ画像を取得する。取得部131は、学習用画像にノイズを段階的に付与した複数の段階画像を取得する。取得部131は、第1段階画像と、第1段階画像に1段階ノイズが付与された第2段階画像とを含む複数の段階画像を取得する。取得部131は、第2段階画像に1段階ノイズが付与された第3段階画像を含む複数の段階画像を取得する。
【0110】
取得部131は、ユーザから変換対象となる対象画像を取得する。取得部131は、ユーザから特徴を指定する指定情報を取得する。
【0111】
(生成部132)
生成部132は、種々の情報を推定する生成処理を実行する。例えば、生成部132は、取得部131により取得された各種情報に基づいて、生成処理を実行する。生成部132は、記憶部120に記憶された各種情報に基づいて、生成処理を実行する。生成部132は、外部の情報処理装置から受信された各種情報に基づいて、生成処理を実行する。生成部132は、学習部133により学習されたモデルに基づいて、生成処理を実行する。生成部132は、処理部134により決定された情報に基づいて、生成処理を実行する。
【0112】
生成部132は、所定の対象が撮像された画像である学習用画像であって各画素に複数種別の色属性情報が対応付けられた学習用画像から、所定の種別の色属性情報の分布を平坦化した平坦化後画像を生成する。生成部132は、複数種別の色属性情報のうち明度の分布を平坦化したグレースケール画像を平坦化後画像として生成する。
【0113】
(学習部133)
学習部133は、各種情報を学習する。学習部133は、学習処理により各種モデルを生成する。例えば、学習部133は、学習用データ記憶部121等に記憶された情報に基づいて、学習処理を行う。学習部133は、学習用データ記憶部121等に記憶された情報に基づいて種々のモデルを生成する。例えば、学習部133は、学習用データ記憶部121に記憶された学習データを用いて、モデルM1を学習する。
【0114】
学習部133は、取得部131により取得された学習用グレースケール画像とラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。学習部133は、生成部132により生成された平坦化後画像と、学習用画像における所定の対象の特徴を示すラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。
【0115】
学習部133は、一のノイズ画像を、ラベルが示す色の所定の対象を含む学習用画像に近づけるように変換する拡散モデルを学習する。学習部133は、取得部131により取得された一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。
【0116】
学習部133は、取得部131により取得された複数の段階画像を用いて、拡散モデルを学習する。学習部133は、複数の段階画像のうち一の段階画像からノイズを1段階除去した画像である段階画像を生成するように、拡散モデルを学習する。学習部133は、第2段階画像からノイズを1段階除去した第1段階画像を生成するように、拡散モデルを学習する。学習部133は、第3段階画像からノイズを1段階除去した第2段階画像を生成するように、拡散モデルを学習する。
【0117】
例えば、学習部133は、取得部131により取得された各種情報に基づいて、学習処理を実行する。例えば、学習部133は、生成部132により生成された情報に基づいて、モデルを学習する。学習部133は、外部の情報処理装置からの情報や記憶部120に記憶された情報に基づいて、学習処理を実行する。学習部133は、モデル情報記憶部122に記憶された情報に基づいて、学習処理を実行する。学習部133は、学習により生成したモデルをモデル情報記憶部122に格納する。
【0118】
学習部133は、学習処理を行う。学習部133は、各種学習を行う。学習部133は、取得部131により取得された情報に基づいて、各種情報を学習する。学習部133は、モデルを学習(生成)する。学習部133は、モデル等の各種情報を学習する。学習部133は、学習によりモデルを生成する。学習部133は、種々の機械学習に関する技術を用いて、モデルを学習する。例えば、学習部133は、モデル(ネットワーク)のパラメータを学習する。学習部133は、種々の機械学習に関する技術を用いて、モデルを学習する。
【0119】
学習部133は、モデルM1等の各種の学習モデルを生成する。学習部133は、ネットワークのパラメータを学習する。例えば、学習部133は、モデルM1等の各種の学習モデルのネットワークのパラメータを学習する。学習部133は、モデル情報記憶部122に記憶された学習用データを用いて、学習処理を行うことにより、モデルM1等の各種の学習モデルを生成する。例えば、学習部133は、画像の生成に用いられるモデルを生成する。学習部133は、モデルM1等の各種の学習モデルのネットワークのパラメータを学習することにより、モデルM1等の各種の学習モデルを生成する。
【0120】
学習部133は、モデル情報記憶部122に記憶された学習用データ(教師データ)に基づいて、学習処理を行う。学習部133は、モデル情報記憶部122に記憶された学習用データを用いて、学習処理を行うことにより、モデルM1等の各種の学習モデルを生成する。
【0121】
例えば、学習部133は、モデルM1が出力する画像が、モデルM1に入力した入力情報に対応付けられた正解情報(望ましい生成結果を示す情報)に近づくように、バックプロパゲーション(誤差逆伝播法)等の手法により学習処理を行う。例えば、学習部133は、ノイズ画像を含む入力情報が入力されたモデルM1が出力する画像が、入力されたノイズ画像のノイズが1段階除去された画像(正解情報)に近づくように学習処理を行う。
【0122】
例えば、学習部133は、学習処理によりノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を調整する。このように、学習部133は、モデルM1における出力と、入力に対応する正解情報との誤差が少なくなるようにパラメータ(接続係数)を補正するバックプロパゲーション等の処理によりモデルM1を学習する。例えば、学習部133は、所定の損失(ロス)関数を最小化するようにバックプロパゲーション等の処理を行うことによりモデルM1を生成する。これにより、学習部133は、モデルM1のパラメータを学習する学習処理を行うことができる。
【0123】
なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。なお、各モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて行われてもよい。なお、上記モデルの生成に関する記載は例示であり、モデルの生成は、取得可能な情報等に応じて適宜選択された学習手法により行われてもよい。すなわち、学習部133は、学習用データに含まれる入力情報が入力された場合に、正解情報に対応する情報を出力するようにモデルM1を学習可能であれば、どのような手法によりモデルM1の生成を行ってもよい。
【0124】
上記のように、学習部133による学習の手法は特に限定されないが、例えば、データ(入力情報)とその正解情報(出力情報)とを紐づけた学習用データを用意し、その学習用データを多層ニューラルネットワークに基づいた計算モデルに入力して学習してもよい。また、例えばCNN、3D-CNN等のDNNに基づく手法が用いられてもよい。具体的には、学習部133による学習の手法は、U-netに基づく手法が用いられてもよい。学習部133は、音声等のような時系列データを対象とする場合、再帰型ニューラルネットワーク(RNN)やRNNを拡張したLSTM(Long Short-Term Memory units)に基づく手法を用いてもよい。
【0125】
(処理部134)
処理部134は、各種情報を処理する。処理部134は、記憶部120に記憶された情報に基づいて、情報処理を行う。処理部134は、推論処理を行う推論部として機能する。処理部134は、モデル情報記憶部122に記憶されたモデルを用いて、推論処理を行う。例えば、学習部133は、生成部132により生成された情報に基づいて、推論処理を行う。
【0126】
処理部134は、学習部133により学習されたモデルM1を用いて推論を行う。処理部134は、拡散モデルであるモデルM1を用いて推論を行う。処理部134は、ノイズ画像、グレースケール画像、及びラベルを入力情報としてモデルM1に入力することにより、グレースケール画像中の対象にラベルに対応する色が付された画像を生成する推論処理を行う。処理部134は、学習部133により学習された拡散モデルを用いて、変換後画像を生成する。
【0127】
(提供部135)
提供部135は、各種情報を提供する。例えば、提供部135は、端末装置10や情報提供装置50に各種情報を提供する。提供部135は、端末装置10や情報提供装置50に各種情報を送信する。提供部135は、取得部131により取得された各種情報に基づいて、種々の情報を提供する。提供部135は、生成部132により生成された各種情報に基づいて、種々の情報を提供する。
【0128】
提供部135は、学習部133により学習された各種情報に基づいて、種々の情報を提供する。提供部135は、学習部133により学習されたモデルに基づいて、種々の情報を提供する。提供部135は、処理部134により処理された各種情報に基づいて、種々の情報を提供する。例えば、提供部135は、情報を端末装置10に送信する。
【0129】
提供部135は、学習部133により学習された拡散モデルを用いたサービスを提供する。提供部135は、拡散モデルにより生成された変換後画像を用いたサービスをユーザに提供する。提供部135は、変換後画像を用いた画像検索サービスをユーザに提供する。
【0130】
提供部135は、変換後画像を用いた画像検索の結果をユーザが利用する端末装置10に送信する。提供部135は、変換後画像に類似する類似画像をユーザが利用する端末装置10に送信する。提供部135は、対象画像のグレースケール画像と拡散モデルとを用いて生成された変換後画像を用いたサービスをユーザに提供する。提供部135は、指定情報を用いて生成された変換後画像を用いたサービスをユーザに提供する。
【0131】
〔4.情報処理のフロー〕
次に、
図6及び
図7を用いて、情報処理装置100による情報処理のフローについて説明する。
図6及び
図7は、実施形態に係る情報処理の一例を示すフローチャートである。
【0132】
まず、
図6に示す処理例について説明する。
図6に示すように、情報処理装置100は、所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像と、学習用画像における所定の対象の特徴を示すラベルとを取得する(ステップS101)。
【0133】
情報処理装置100は、学習用グレースケール画像とラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する(ステップS102)。
【0134】
次に、
図7に示す処理例について説明する。
図7に示すように、情報処理装置100は、所定の対象が撮像された画像である学習用画像であって各画素に複数種別の色属性情報が対応付けられた学習用画像から、所定の種別の色属性情報の分布を平坦化した平坦化後画像を生成する(ステップS201)。
【0135】
情報処理装置100は、平坦化後画像と、学習用画像における所定の対象の特徴を示すラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する(ステップS202)。
【0136】
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、学習部133とを有する。取得部131は、所定の対象が撮像された画像である学習用画像がグレースケール化された学習用グレースケール画像と、学習用画像における所定の対象の特徴を示すラベルとを取得する。学習部133は、取得部131により取得された学習用グレースケール画像とラベルとに基づいて、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。
【0137】
このように、実施形態に係る情報処理装置100は、所定の対象が撮像された学習用画像がグレースケール化された学習用グレースケール画像と、学習用画像における所定の対象の特徴を示すラベルに基づいて、ノイズが含まれる画像である一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習することで、画像中の所定の対象の特徴を変換するモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0138】
また、実施形態に係る情報処理装置100において、取得部131は、学習用画像における所定の対象の色、形状、雰囲気の少なくとも1つを含む特徴を示すラベルを取得する。
【0139】
このように、実施形態に係る情報処理装置100は、学習用画像における所定の対象の色、形状、雰囲気の少なくとも1つを含む特徴を示すラベルを取得することで、画像中の所定の対象の色、形状、雰囲気等を変換するモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0140】
また、実施形態に係る情報処理装置100において、取得部131は、学習用画像における所定の対象の色を示すラベルを取得する。学習部133は、一のノイズ画像を、ラベルが示す色の所定の対象を含む学習用画像に近づけるように変換する拡散モデルを学習する。
【0141】
このように、実施形態に係る情報処理装置100は、学習用画像における所定の対象の色を示すラベルを取得することで、画像中の所定の対象の色を変換するモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0142】
また、実施形態に係る情報処理装置100において、取得部131は、一のノイズ画像を取得する。学習部133は、取得部131により取得された一のノイズ画像を学習用画像に近づけるように変換する拡散モデルを学習する。
【0143】
このように、実施形態に係る情報処理装置100は、一のノイズ画像を取得し、取得した一のノイズ画像を用いて拡散モデルを学習することで、適切にモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0144】
また、実施形態に係る情報処理装置100において、取得部131は、学習用画像にノイズを段階的に付与した複数の段階画像を取得する。学習部133は、取得部131により取得された複数の段階画像を用いて、拡散モデルを学習する。
【0145】
このように、実施形態に係る情報処理装置100は、学習用画像にノイズを段階的に付与した複数の段階画像を用いて拡散モデルを学習することで、適切にモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0146】
また、実施形態に係る情報処理装置100において、学習部133は、複数の段階画像のうち一の段階画像からノイズを1段階除去した画像である段階画像を生成するように、拡散モデルを学習する。
【0147】
このように、実施形態に係る情報処理装置100は、複数の段階画像のうち一の段階画像からノイズを1段階除去した画像である段階画像を生成するように、拡散モデルを学習することで、適切にモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0148】
また、実施形態に係る情報処理装置100において、取得部131は、第1段階画像と、第1段階画像に1段階ノイズが付与された第2段階画像とを含む複数の段階画像を取得する。学習部133は、第2段階画像からノイズを1段階除去した第1段階画像を生成するように、拡散モデルを学習する。
【0149】
このように、実施形態に係る情報処理装置100は、第1段階画像に1段階ノイズが付与された第2段階画像からノイズを1段階除去した第1段階画像を生成するように、拡散モデルを学習することで、適切にモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0150】
また、実施形態に係る情報処理装置100において、取得部131は、第2段階画像に1段階ノイズが付与された第3段階画像を含む複数の段階画像を取得する。学習部133は、第3段階画像からノイズを1段階除去した第2段階画像を生成するように、拡散モデルを学習する。
【0151】
このように、実施形態に係る情報処理装置100は、第2段階画像に1段階ノイズが付与された第3段階画像からノイズを1段階除去した第2段階画像を生成するように、拡散モデルを学習することで、適切にモデルを学習することができる。したがって、情報処理装置100は、適切な画像生成を可能にすることができる。
【0152】
また、実施形態に係る情報処理装置100は、提供部135を有する。提供部135は、学習部133により学習された拡散モデルを用いたサービスを提供する。
【0153】
このように、実施形態に係る情報処理装置100は、拡散モデルを用いたサービスを提供することにより、適切なサービス提供を行うことができる。
【0154】
また、実施形態に係る情報処理装置100において、提供部135は、拡散モデルにより生成された変換後画像を用いたサービスをユーザに提供する。
【0155】
このように、実施形態に係る情報処理装置100は、拡散モデルにより生成された変換後画像を用いたサービスをユーザに提供することにより、適切なサービスをユーザに提供することができる。
【0156】
また、実施形態に係る情報処理装置100において、提供部135は、変換後画像を用いた画像検索サービスをユーザに提供する。
【0157】
このように、実施形態に係る情報処理装置100は、変換後画像を用いた画像検索サービスをユーザに提供することにより、適切な検索サービスをユーザに提供することができる。
【0158】
また、実施形態に係る情報処理装置100において、提供部135は、変換後画像を用いた画像検索の結果をユーザが利用する端末装置10に送信する。
【0159】
このように、実施形態に係る情報処理装置100は、変換後画像を用いた画像検索の結果をユーザが利用する端末装置10に送信することにより、適切な検索結果をユーザに提供することができる。
【0160】
また、実施形態に係る情報処理装置100において、提供部135は、変換後画像に類似する類似画像をユーザが利用する端末装置10に送信する。
【0161】
このように、実施形態に係る情報処理装置100は、変換後画像に類似する類似画像をユーザが利用する端末装置10に送信することにより、適切な類似画像の検索結果をユーザに提供することができる。
【0162】
また、実施形態に係る情報処理装置100において、取得部131は、ユーザから変換対象となる対象画像を取得する。提供部135は、対象画像のグレースケール画像と拡散モデルとを用いて生成された変換後画像を用いたサービスをユーザに提供する。
【0163】
このように、実施形態に係る情報処理装置100は、ユーザから変換対象となる対象画像を取得し、取得した対象画像のグレースケール画像と拡散モデルとを用いて生成された変換後画像を用いたサービスをユーザに提供することにより、適切なサービスをユーザに提供することができる。
【0164】
また、実施形態に係る情報処理装置100において、取得部131は、ユーザから特徴を指定する指定情報を取得する。提供部135は、指定情報を用いて生成された変換後画像を用いたサービスをユーザに提供する。
【0165】
このように、実施形態に係る情報処理装置100は、ユーザから特徴を指定する指定情報を取得し、取得した指定情報を用いて生成された変換後画像を用いたサービスをユーザに提供することにより、適切なサービスをユーザに提供することができる。
【0166】
また、実施形態に係る情報処理装置100は、処理部134を有する。処理部134は、学習部133により学習された拡散モデルを用いて、変換後画像を生成する。
【0167】
このように、実施形態に係る情報処理装置100は、拡散モデルを用いて、変換後画像を生成することにより、適切な画像生成を行うことができる。
【0168】
〔6.ハードウェア構成〕
また、上述した実施形態に係る情報処理装置100や端末装置10は、例えば
図8に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置100を例に挙げて説明する。
図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0169】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0170】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0171】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0172】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0173】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0174】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0175】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0176】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0177】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0178】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0179】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0180】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0181】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0182】
1 情報処理システム
100 情報処理装置
121 学習用データ記憶部
122 モデル情報記憶部
130 制御部
131 取得部
132 生成部
133 学習部
134 処理部
135 提供部
10 端末装置
50 情報提供装置
N ネットワーク