(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231204BHJP
G06V 10/82 20220101ALI20231204BHJP
【FI】
G06T7/00 350C
G06V10/82
(21)【出願番号】P 2022557886
(86)(22)【出願日】2021-09-30
(86)【国際出願番号】 JP2021036195
(87)【国際公開番号】W WO2023053364
(87)【国際公開日】2023-04-06
【審査請求日】2022-09-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】ロイ ヒヤ
(72)【発明者】
【氏名】中澤 満
(72)【発明者】
【氏名】シュテンガー ビヨン
【審査官】伊知地 和之
(56)【参考文献】
【文献】米国特許出願公開第2009/0208118(US,A1)
【文献】米国特許出願公開第2019/0057515(US,A1)
【文献】特表2020-516427(JP,A)
【文献】特開2021-081793(JP,A)
【文献】特開2000-075889(JP,A)
【文献】特開2019-032773(JP,A)
【文献】特開2021-103347(JP,A)
【文献】特表2021-516646(JP,A)
【文献】特開2020-149641(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
それぞれが、入力画像(画像特徴を除く)を入力とし、中間ヒートマップを出力とする複数の機械学習モデルと、
前記入力画像とは独立に与えられる前記入力画像の属性に応じて、前記中間ヒートマップに基づいてヒートマップを生成する生成部と、
前記ヒートマップに基づいて、前記入力画像の一部分である主要部分を切り出す切り出し部と、
を有
し、
前記生成部は、複数の前記中間ヒートマップのそれぞれに重みを付け合成してヒートマップを生成し、
前記生成部は、前記属性に基づいて、少なくとも一部の前記重みを決定する、
情報処理装置。
【請求項2】
前記属性に基づいて、前記複数の機械学習モデルの中から少なくとも一の機械学習モデルを、前記入力画像の入力対象として選択する機械学習モデル選択部を有する、
請求項1に記載の情報処理装置。
【請求項3】
前記属性に基づいて、前記複数の機械学習モデル
から出力された複数の前記中間ヒートマップの中から少なくとも一の中間ヒートマップを選択する中間ヒートマップ選択部を有する、
請求項1に記載の情報処理装置。
【請求項4】
それぞれが、入力画像(画像特徴を除く)を入力とし、中間ヒートマップを出力とする複数の機械学習モデルを用いて入力画像(画像特徴を除く)の入力に対して1又は複数の中間ヒートマップを出力する中間ヒートマップ出力ステップと、
前記入力画像とは独立に与えられる前記入力画像の属性に応じて、前記中間ヒートマップに基づいてヒートマップを生成する生成ステップ
であって、複数の前記中間ヒートマップのそれぞれに重みを付け合成してヒートマップを生成し、前記属性に基づいて、少なくとも一部の前記重みを決定する、生成ステップと、
前記ヒートマップに基づいて、前記入力画像の一部分である主要部分を切り出す切り出しステップと、
をコンピュータに実行させる情報処理方法。
【請求項5】
コンピュータを、
それぞれが、入力画像(画像特徴を除く)を入力とし、中間ヒートマップを出力とする複数の機械学習モデルを用いて、入力画像(画像特徴を除く)の入力に対して1又は複数の中間ヒートマップを出力する出力部と、
前記入力画像とは独立に与えられる前記入力画像の属性に応じて、前記中間ヒートマップに基づいてヒートマップを生成する生成部と、
前記ヒートマップに基づいて、前記入力画像の一部分である主要部分を切り出す切り出し部と、
として機能させ
、
前記生成部は、複数の前記中間ヒートマップのそれぞれに重みを付け合成してヒートマップを生成し、
前記生成部は、前記属性に基づいて、少なくとも一部の前記重みを決定する、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
非特許文献1には、いわゆるイメージクロッピング、すなわち、画像中の要部を抜き出す画像処理技術であって、畳み込みニューラルネットワークにおけるアテンションマップを活用して美的評価値(aesthetic value)を求め、かかる美的評価値に基づいて抜き出すべき要部の枠を求めるものが記載されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Wenguan Wang、Jianbing Shen、”Deep Cropping via Attention Box Prediction and Aesthetics Assessment”、[online]、ICCV-2017、[令和3年8月13日検索]、インターネット<URL: https://openaccess.thecvf.com/content_ICCV_2017/papers/Wang_Deep_Cropping_via_ICCV_2017_paper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に示されているものを含め、これまで知られているイメージクロッピングの技術では、単一の評価基準(非特許文献1では美的評価値)により画像中の要部の位置を決定している。
【0005】
しかしながら、画像の要部は、本来、その画像が用いられる目的に応じて異なるものである。例えば、同じ情景を写した写真画像であっても、かかる写真画像が風景画として用いられるならば、画像中の背景に映る事物に要部が存在するであろうし、かかる写真画像が人物画として用いられるならば、画像中の手前に映りこむ人物像に要部が存在することになる。同様に、同じ人物を映した写真画像であっても、かかる写真画像が人物の特定に用いられるならば、人物の顔部分に要部が存在するであろうし、かかる写真画像がファッションの紹介に用いられるならば、画像中の人物の服飾に要部が存在することになるはずである。
【0006】
しかしながら、画像の目的に応じて適切にイメージクロッピングを行う技術は、これまで知られていない。
【0007】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、画像の目的に応じて適切にイメージクロッピングを行うことである。
【課題を解決するための手段】
【0008】
上記課題を解決すべく本出願において開示される発明は種々の側面を有しており、それら側面の代表的なものの概要は以下のとおりである。
【0009】
(1)それぞれが、入力画像(画像特徴を除く)を入力とし、中間ヒートマップを出力とする複数の機械学習モデルと、前記入力画像とは独立に与えられる前記入力画像の属性に応じて、前記中間ヒートマップに基づいてヒートマップを生成する生成部と、前記ヒートマップに基づいて、前記入力画像の一部分である主要部分を切り出す切り出し部と、を有し、前記生成部は、複数の前記中間ヒートマップのそれぞれに重みを付け合成してヒートマップを生成し、前記生成部は、前記属性に基づいて、少なくとも一部の前記重みを決定する、情報処理装置。
【0010】
(2)(1)において、前記属性に基づいて、前記複数の機械学習モデルの中から少なくとも一の機械学習モデルを、前記入力画像の入力対象として選択する機械学習モデル選択部を有する、情報処理装置。
【0011】
(3)(1)において、前記属性に基づいて、前記複数の機械学習モデルから出力された複数の前記中間ヒートマップの中から少なくとも一の中間ヒートマップを選択する中間ヒートマップ選択部を有する、情報処理装置。
【0015】
(4)それぞれが、入力画像(画像特徴を除く)を入力とし、中間ヒートマップを出力とする複数の機械学習モデルを用いて入力画像(画像特徴を除く)の入力に対して1又は複数の中間ヒートマップを出力する中間ヒートマップ出力ステップと、前記入力画像とは独立に与えられる前記入力画像の属性に応じて、前記中間ヒートマップに基づいてヒートマップを生成する生成ステップであって、複数の前記中間ヒートマップのそれぞれに重みを付け合成してヒートマップを生成し、前記属性に基づいて、少なくとも一部の前記重みを決定する、生成ステップと、前記ヒートマップに基づいて、前記入力画像の一部分である主要部分を切り出す切り出しステップと、をコンピュータに実行させる、情報処理方法。
【0016】
(5)コンピュータを、それぞれが、入力画像(画像特徴を除く)を入力とし、中間ヒートマップを出力とする複数の機械学習モデルを用いて、入力画像(画像特徴を除く)の入力に対して1又は複数の中間ヒートマップを出力する出力部と、前記入力画像とは独立に与えられる前記入力画像の属性に応じて、前記中間ヒートマップに基づいてヒートマップを生成する生成部と、前記ヒートマップに基づいて、前記入力画像の一部分である主要部分を切り出す切り出し部と、として機能させ、前記生成部は、複数の前記中間ヒートマップのそれぞれに重みを付け合成してヒートマップを生成し、前記生成部は、前記属性に基づいて、少なくとも一部の前記重みを決定する、情報処理プログラム。
【図面の簡単な説明】
【0017】
【
図1】本発明の好適な種々の実施形態において共通に観念される、情報処理装置の機能的な観念図である。
【
図3】入力画像における、種々の「要部」の例である。
【
図4】CTR予測を示す中間ヒートマップの例である。
【
図5】美的評価値を示す中間ヒートマップの例である。
【
図10】切り出し部で実行される処理の一例を説明する図である。
【
図12】切り出し部で実行される処理フローを示す図である。
【
図13】一般的なコンピュータの代表的な物理構成を示す構成図である。
【
図14】本発明の第1の実施形態に係る情報処理装置の機能上の構成を示す図である。
【
図15】本発明の第2の実施形態に係る情報処理装置の機能上の構成を示す図である。
【
図16】本発明の第3の実施形態に係る情報処理装置の機能上の構成を示す図である。
【
図17】本発明に係る情報処理装置で実行される共通の処理フローを示す図である。
【発明を実施するための形態】
【0018】
図1は、本発明の好適な種々の実施形態において共通に観念される、情報処理装置100の機能的な観念図である。情報処理装置100は、同図に示された機能を適切な物理的手段、例えば、適切なコンピュータプログラムを実行するコンピュータ、によって実現することによって実現される。
【0019】
情報処理装置100は、機械学習モデル群10、出力部12、生成部20、切り出し部30を備える一種の画像処理装置である。より具体的には、機械学習モデル群10には、学習済みの複数の機械学習モデル11が含まれており、それぞれ、入力画像の入力に基づいて中間ヒートマップを出力することができる。出力部12は、少なくとも一の機械学習モデル11に入力画像を入力することで同数の中間ヒートマップを得る。複数の機械学習モデル11の全てに入力画像を入力するか否かは、実施の態様に依存するが、複数の機械学習モデル11に入力画像を入力すると、同数の中間ヒートマップが得られることになる。
【0020】
得られた少なくとも一の中間ヒートマップに基づいて、生成部20はヒートマップを生成する。通常は、生成部20は、複数の中間ヒートマップを所定の手法により合成してヒートマップを得、この際に、直接的又は間接的に入力画像の属性を利用する。すなわち、生成部20は、入力画像の属性に基づいて、中間ヒートマップに基づいてヒートマップを生成する。
【0021】
情報処理装置100は、生成部20により出力されるヒートマップを最終生成物としてもよく、この場合には情報処理装置100は、例えば、機械学習モデル群10と生成部20の2つの構成を少なくとも備えることとなるが、ここでは、さらに、切り出し部30を備えるものとして説明する。切り出し部30は、生成部20によって得られたヒートマップに基づいて、入力画像の一部分である主要部分を切り出す。すなわち、情報処理装置100が切り出し部30まで備える場合には、情報処理装置100は、入力画像の主要部を、入力画像の属性に基づいて切り出す装置である、ということができる。
【0022】
ここで、上述の情報処理装置100の技術上及び実用上の意義、及び、本明細書において用いられる用語の意味について併せて説明する。
【0023】
図2は入力画像の例である。同図に示したものは、人物の写真であるが、被写体がどのようなものであるかは特に限定されるものではなく、また、入力画像が実写によるものであるかそれ以外のもの(イラストレーションなど)であるかも問わない。また、入力画像のフォーマットも特に限定されるものではなく、ラスタ画像、ベクトル画像の別や解像度、フォーマットも任意であるが、少なくとも、入力画像が機械学習モデル群10に入力される際には、入力画像は電子データとして用意されることになる。
【0024】
さて、ここで情報処理装置100が目指すものは、
図2に示したような入力画像の要部を切り出すか、若しくは要部を示すことのできるヒートマップを得ることである。ところが、例に示した単純な入力画像に対しても、その「要部」を一律に定めることは実はできない。
【0025】
というのも、ある入力画像の「要部」は、その入力画像をどのように用いるかにより異なり得るからである。具体例で示すと、
図3に示す
図2と同じ入力画像に対して、「要部」として、人物像が要求されているならば、不要な余白が除去された、図中破線Aで示される枠内の領域が妥当と考えられる。しかしながら、「要部」として、服飾(あるいはファッション)が要求されているならば、「要部」は図中一点鎖線Bで示される枠内の領域が妥当であろうし、「要部」として鞄が要求されているならば、図中二点鎖線Cで示される枠内の領域が妥当となるであろう。
【0026】
したがって、入力画像の「要部」は、その入力画像をどのように用いるかを示す情報に基づいて定められなければならず、かかる情報は入力画像とは別に、何らかの手法により与えられる。かかる情報を、以降、入力画像の「属性」と称する。
図3に即して挙げるならば、「人物像」、「服飾」、「鞄」はいずれも属性の具体例である。入力画像の属性は、入力画像と対応する何らかのテキストデータなどの構造データに基づき与えられてよい
。
【0027】
画像解析の技術分野において、適切な学習データを用意することにより、画像を構成する画素単位で重要性の評価を数値的にしめす評価画像を作成できることはすでに知られている。本明細書では、かかる評価画像を以降、「ヒートマップ」と称する。ヒートマップの解像度は必ずしも入力画像と一致している必要はなく、個々の評価値は、3×3や、5×5など、複数画素ごとに示されるものであっても構わない。
【0028】
しかしながら、かかるヒートマップがどのような観点(すなわち、属性)に基づいて生成されるかは、用意された機械学習の学習データに依存するため、種々の属性に応じて、互いに異なるヒートマップを出力し分ける機械学習モデルを用意することは通常できない。入力画像に加え、属性をも入力としてヒートマップを出力する機械学習モデルを観念することもできるが、そのような機械学習モデルを訓練するための学習データを用意するのは容易ではない。そこで、情報処理装置100では、機械学習モデル群10として、比較的実現の容易な学習済みの機械学習モデル11を複数用意している。
【0029】
ここで、機械学習モデル11は、入力画像の属性に応じて異なり得る、最終的に必要となるヒートマップではなく、機械学習モデル11毎に定められた、特定の観点におけるヒートマップを出力するものである。以降、本明細書では、入力画像の属性に即した、最終的に得られるヒートマップを単にヒートマップと称し、個別の機械学習モデル11により得られる、単観点によるヒートマップを中間ヒートマップと称し、両者を区別することとする。中間ヒートマップは、例えば、個別の機械学習モデルに含まれるAttentionモデルを用いて生成されるAttentionマップやAttention画像などの出力に相当する。このとき、機械学習モデルは、その機械学習モデルに含まれるCNN(畳み込みニューラルネットワーク)などの特徴抽出器により出力された特徴量マップに基づき、Attentionモデルを用いて、AttentionマップやAttention画像などの出力を中間ヒートマップとして生成する。なお、ここでのAttentionマップとは、Attentionモデルに基づいて生成されるマップであってよく、Attentionモデルに基づかずに生成されるマップであってよもよい。例えば、CTR予測や美的評価値予測における中間ヒートマップとしてのAttentionマップは、Attentionモデルに基づいて生成されるAttentionマップに相当する。
【0030】
図4~
図7は、
図2に例示的に示した入力画像に対する、中間ヒートマップの例である。
【0031】
図4の中間ヒートマップは、CTR(クリックスルーレート)予測である。中間ヒートマップとして、CTR予測を出力する機械学習モデル11は、例えば、CNNとして知られる機械学習のアーキテクチャを用い、学習データとして、CTRに相当するスコアがアノテーションされた画像を用いて学習させることで得ることができる。かかる学習データは、例えばEC(電子商取引)サイト上に表示させる画像に対するユーザ操作をトラッキングすることにより入手可能である。
【0032】
図5の中間ヒートマップは、美的評価値である。中間ヒートマップとして、美的評価値を出力する機械学習モデル11を得るための学習データは、研究用或いは実用用として無償或いは有償でインターネット上に公開されているものが既に存在しているため、かかる学習データを用いて例えばCNNなどの機械学習モデル11を訓練することにより得ることができる。一般に、かかる学習データにおいては、美的評価値として、特に用途などを限定することなく、画像において観者の注意をひきやすい部分に高い評価をつけ、あまり注意をひかない部分には低い評価をつけるなどして画像に対するアノテーションを行うことで学習データを作成するものとなっている。なお、ここでの美的評価値とは審美性スコアと換言することができる。
【0033】
図6の中間ヒートマップは、服飾を示している。すなわち、画像中、「服飾」に該当する部分を示す画像であり、入力画像中、人物が着用している服が写っている領域を示している。かかる中間ヒートマップを出力する機械学習モデル11を得るには、専用の学習データを逐一作成してもよいが、より簡便には、例えば、画像のセグメンテーション技術を用い、任意の画像に対し、領域の抽出とラベリングを行って、「服」のラベル付けがなされた領域のデータを学習データとして用い、機械学習モデル11を訓練すればよい。そのような画像のセグメンテーション技術としては、R-CNN、あるいは、Faster R-CNNとして知られているものが著名であり、これらを用いることができる。あるいは、R-CNNやFaster R-CNNを直接、機械学習モデル11として用い、「服」のラベル付けがなされた領域のデータのみを取り出して中間ヒートマップとして用いてもよい。
【0034】
図7の中間ヒートマップは、鞄を示しており、その意味は、入力画像中、鞄が写っている領域を示すものである。かかる中間ヒートマップを出力する機械学習モデル11を得るには、
図6において服飾について説明したと同様のことを鞄について行えばよい。
【0035】
同様にして、任意の必要な数の種類の機械学習モデル11を用意し、必要な数の種類の中間ヒートマップを得られるようにしておく。なお、
図4~
図7に示した中間ヒートマップの例では、図示の都合上、これら中間ヒートマップが二値画像であるかのように示しているが、これに限定するものではなく、任意のビット数のグレースケール画像であってよい。
【0036】
また、機械学習モデル11は、上の例示ではCNNを用いるものとして説明したが、機械学習モデルのアーキテクチャはこれに限られない。CNNのようなDNN(ディープニューラルネットワーク)だけでなく、他の機械学習手法を用いるものであっても差し支えないし、得ようとする中間ヒートマップ毎、すなわち、機械学習モデル11毎にそのアーキテクチャは異なっていてもよい。また、入力画像のフォーマットは、入力しようとする機械学習モデル11に応じて変換される。例えば、所定のサイズ、所定の解像度のラスタ画像に変換されるなどである。
【0037】
得られた複数の中間ヒートマップは、生成部20へと受け渡され、生成部20では、直接的または間接的に属性に基づいて、複数の中間ヒートマップからヒートマップを作成する。ここで、直接的に属性に基づくとは、例えば、複数の中間マップからヒートマップを例えば合成により作成する際に、合成に使用する中間ヒートマップを属性に応じて選択したり、合成の差異の重みづけを属性に応じて異ならせたりするなど、生成部20に受け渡された複数の中間ヒートマップからヒートマップを作成する際に、何らかの形で属性を用いることを指す。これに対し、間接的に属性に基づくとは、そもそも、生成部20に受け渡すために作成する中間ヒートマップが、属性に応じて選択されるなど、あらかじめ何らかの形で属性を用いて用意された複数の中間マップが生成部20に受け渡され、ヒートマップの作製に用いられることを指す。
【0038】
図8及び
図9は、生成部20により生成されたヒートマップの例である。
図8に示したヒートマップは、属性として服飾を指定したもの、
図9に示したヒートマップは、属性として鞄を指定したものであり、いずれも同じ
図2に示した入力画像に基づいて生成されたものであり、指定された属性が異なると、全く異なるヒートマップが生成されていることがわかる。一方で、例えば、
図8に示したヒートマップと、
図6に示した服飾を示す中間ヒートマップとを比較すると、両者は同一でなく、
図6の中間ヒートマップでは服飾のみを示す領域が示されているのに対し、
図8に示すヒートマップでは、服飾部分を中心としつつ、その周囲の適度な領域をも含む領域が示され、入力画像を服飾を示す画像として用いるにあたり、その要部を示す領域として妥当な領域が選択されていることがわかる。
図9に示したヒートマップにおいても同様に妥当と考えられる領域が適切に選択されていることがわかる。
【0039】
切り出し部30は、生成部20により生成されたヒートマップに基づいて、入力画像の一部分である主要部分を切り出す。ここで、「切り出す」という用語の意味としては、入力画像の一部分である主要部分の位置及び形状を特定することを指しており、入力画像の画像データそのものから主要部分以外の部分を削除することは必ずしも要さない。なぜなら、入力画像の画像データ全てが保存されていたとしても、主要部分の位置及び形状が特定されていれば、画像を表示する際に、主要部分のみを表示するようにすることができるからである。本明細書に示す例では、主要部分の形状は矩形であるが、楕円や星型その他不定形状など、主要部分の形状は任意のものであって差し支えない。
【0040】
図10は、切り出し部30で実行される処理の一例を説明する図である。ここで説明する手法としては、スライディングウィンドウと呼称される方法を用いている。まず、切り出し部30は、ヒートマップに対し、大きさと形状の異なる種々の切り出し窓Wを設定する。例えば、
図10に示すW
Al、W
Bm、W
Cnはいずれも切り出し窓Wの一部である。ここで、Wの後の一文字目の添え字(A、B、C・・・)は切り出し窓Wのサイズ及び形状を示し、二文字目の添え字(l,m,n・・・)は切り出し窓Wのヒートマップ上の位置を示している。
【0041】
すなわち、あるサイズ及び形状の切り出し窓、例えばWAが、ヒートマップ上の全ての領域を覆うように、位置をずらしながらWA1・・・WAlのl個設定される。同様に、WBはm個、WCはn個設定される。ここでは説明のため、切り出し窓Wのサイズ及び形状として、WA~WCの3種のみを示したが、より多数の種々のサイズ及び形状の切り出し窓についても同様に設定する。
【0042】
このようにして設定された切り出し窓Wのうち、次の条件を満足するものを候補窓Wcandとして抽出する。
【0043】
【0044】
ここで、xはヒートマップに含まれる画素、P(x)は画素xにおけるヒートマップの値、λは0<λ<1である任意の閾値である。すなわち、上の数1は結局、ヒートマップ全ての画素xについての値の総計に対して、切り出し窓Wに含まれる画素xについての値の総計の割合がλより大きくなるWを候補窓Wcandとして抽出することをいうものである。なお、ラムダの値は任意の固定値、例えば0.7などとして与えてもよいし、全ての切り出し窓Wのうち上位の任意割合、例えば5%が候補窓Wcandとして抽出されるように設定してもよい。
【0045】
その後、候補窓Wcandの中から、要部Woptとして適したものを選び出す。一例として、次の数2に示される方法を用いてよい。
【0046】
【0047】
ここで、|W|は切り出し窓Wに含まれる画素数を示しているから、数2は結局、候補窓W
candに含まれる切り出し窓Wのうち、最もサイズの小さいものを選択することをいうものである。このようにして、最終的には、例えば、
図11に示されるように、要部W
optが得られ、入力画像に対して、この要部W
optを外枠とするトリミングを施すことで、入力画像から重要と考えられる部分のみを抜き出した画像が得られることになる。
【0048】
なお、W
candに含まれる切り出し窓Wから要部W
optとして適したものを選び出す方法は上述のものに限定されない。例えば、
図5に関して説明した美的評価値を出力する機械学習モデル11を用いて、W
candに含まれる切り出し窓Wのうち、最も高い美的評価値を含むものを、次の数3のようにして選択してもよい。
【0049】
【0050】
ここで、Q(W)は、美的評価値についての中間マップにおける美的評価値を示す。すなわち、数3は、Wcandに含まれる切り出し窓Wにおいて、美的評価値が最も大きいものを選び出すことをいうものである。なお、本実施形態では、切り出し窓Wについての1又は複数のスコアの総計に基づく何らかのスコアを数3における美的評価値として扱ってよい。
【0051】
図12は、以上説明した例における、切り出し部30で実行される処理フローを示す図である。切り出し部30は、処理を開始すると、すでに説明したように種々の大きさと形状および位置の切り出し窓WをステップS01にて設定し、ステップS02で数1に示した方法又は類似するその他の方法により候補窓W
candを抽出する。その後ステップS03にて、数2又は数3に示した方法或いはその他の方法により、要部W
optとして適したものを選定する。選定された要部W
optが示す枠の大きさと形状および位置が、入力画像を切り出すべき領域を示していることになる。
【0052】
あるいは、切り出し部30では、別の処理を実行することにより要部Woptを求めてもよい。その一例としては、機械学習モデル、好適には学習済みのR-CNNを用いて、ヒートマップから直接要部Woptの大きさと形状および位置を出力させるようにしてもよい。機械学習モデルを得るためには、種々のヒートマップの例と、対応する要部Woptを示す学習データを用いて訓練すればよい。かかる学習データを得るために、上の切り出し部30で行われる処理として説明したスライディングウィンドウと呼称される方法を用いてもよい。
【0053】
以上説明した情報処理装置100は、物理的には、一般的なコンピュータを用いて実現して良い。
図13はそのような一般的なコンピュータ1の代表的な物理構成を示す構成図である。
【0054】
コンピュータ1は、CPU(Central Processing Unit)1a、RAM(Random Access Memory)1b、外部記憶装置1c、GC(Graphics Controller)1d、入力デバイス1e及びI/O(Inpur/Output)1fがデータバス1gにより相互に電気信号のやり取りができるよう接続されている。ここで、外部記憶装置1cはHDD(Hard Disk Drive)やSSD(Solid State Drive)などの静的に情報を記録できる装置である。またGC1dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイなどの、使用者が視覚的に画像を認識するモニタ1hに出力され、画像として表示される。入力デバイス1eはキーボードやマウス、タッチパネルなどの、ユーザが情報を入力するための機器であり、I/O1fはコンピュータ1が外部の機器と情報をやり取りするためのインタフェースである。CPU1aはコンピュータ1が必要とする情報処理の負荷に応じて、複数用意されて並列演算がなされるように構成されていてもよい。
【0055】
コンピュータ1を情報処理装置100として機能させるための命令列を含むアプリケーションプログラムは、外部記憶装置1cにインストールされ、必要に応じてRAM1bに読みだされてCPU1aにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリなどの適宜のコンピュータ可読情報記録媒体に記録されて提供されても、インターネットなどの情報通信回線を介して提供されてもよい。また、情報処理装置100を使用者が使用するためのインタフェースは、コンピュータ1自身にかかるインタフェースが実装され、使用者が直接コンピュータ1を操作するものであってもよいし、他のコンピュータ上でwebブラウザのような汎用のソフトウェアを用い、I/O1fを介してコンピュータ1から機能が提供される、いわゆるクラウドコンピューティングの方法によってもよく、さらに、コンピュータ1が他のコンピュータに対してAPI(アプリケーションプログラミングインタフェース)を利用可能に提供することにより、他のコンピュータからの求めに応じてコンピュータ1が情報処理装置100として動作するものであってもよい。
【0056】
以上が、以下に説明する種々の実施形態において共通に観念される、情報処理装置100の全体的な説明である。続いて、情報処理装置100のより具体的な実施形態について個別に説明する。
【0057】
図14は、本発明の第1の実施形態に係る情報処理装置200の機能上の構成を示す図である。第1の実施形態は、生成部220において、入力画像の属性に間接的に基づいてヒートマップが生成される例である。
【0058】
情報処理装置200では、機械学習モデル群210に含まれる少なくとも複数の機械学習モデル211、
図14の例では機械学習モデル211c及び211dが、入力画像の属性に基づいて選択される構成となっている。すなわち、服飾の中間ヒートマップを出力する機械学習モデル211cと、鞄の中間ヒートマップを出力する機械学習モデル211dとは、属性に応じて入力画像の入力の有無が切り替えられる。
【0059】
図14では、属性として「服飾」が与えられているため、機械学習モデル211cが選択され、服飾についての中間ヒートマップが出力される一方、機械学習モデル211dは選択されず、鞄についての中間ヒートマップは生成されない。かかる選択は、
図14に模式的にスイッチで示された機械学習モデル選択部212によって行われる。機械学習モデル選択部212は、複数の機械学習モデル、ここでは機械学習モデル211c及び機械学習モデル211dの中から少なくとも一の機械学習モデルを、入力画像の入力対象として選択している。なお、同図においては、破線により、機械学習モデル211dが選択されなかったことを示している。
【0060】
一方で、機械学習モデル211a及び211bは属性如何によって選択はされず、常に中間ヒートマップを出力するものとして構成されている。
【0061】
かかる構成は、情報処理装置200の具体的目的などに応じて調整すればよい。例えば、属性に基づいて選択されることなく常に使用される機械学習モデルは存在してもしなくともよいし、属性に基づいて選択される機械学習モデルの数にも制限はない。また、特定の属性に対して、複数の機械学習モデルを選択するようにしてもよいし、属性ごとに選択される機械学習モデルの数が異なっていても構わない。本実施形態では、一実施例として、CTR及び美的評価値についての中間ヒートマップを出力する機械学習モデルを、属性によっては選択されないものとして取り扱い、服飾及び鞄についての中間ヒートマップを出力する機械学習モデルを、属性によって選択されるものとして取り扱っている。
【0062】
得られた中間ヒートマップは、入力画像が入力された機械学習モデル211a~cと同数となる。これを生成部220において合成し、最終的なヒートマップを得る。この合成の方法は特に限定するものではないが、一例として、それぞれの中間ヒートマップに適宜の重みを乗じて加算する方法が挙げられる。すなわち、最終的に得られるヒートマップH0は、次の数4に示される方法により得られることになる。
【0063】
【0064】
ここで、Hkはk番目の中間ヒートマップ、wkはそれぞれの中間ヒートマップに対する重み係数である。wkは後述する第3の実施形態のように動的に定めてもよいが、あらかじめ固定値として与えておいてよい。例えば、CTR及び美的評価値についての中間ヒートマップに対しては0.3、服飾及び鞄についての中間ヒートマップに対しては0.4のように定めてよい。
【0065】
このようにして得られたヒートマップに基づいて、切り出し部230は、入力画像の一部分である主要部分を切り出す。この切り出しの処理については、各実施形態に共通のものとしてすでに説明した通りのものであってよい。
【0066】
図15は、本発明の第2の実施形態に係る情報処理装置300の機能上の構成を示す図である。第2の実施形態は、生成部320において、入力画像の属性に直接的に基づいてヒートマップが生成される例の一つとなっている。
【0067】
情報処理装置300では、複数の中間ヒートマップの中から少なくとも一の中間ヒートマップが選択される構成となっている。すなわち、服飾の中間ヒートマップと、鞄の中間ヒートマップのいずれかが、
図15に模式的にスイッチで示された中間ヒートマップ選択部321によって選択される。かかる選択は属性に基づいて行われ、選択されなかった中間ヒートマップは、生成部320において使用されない。
【0068】
図15では、属性として「服飾」が与えられているため、服飾の中間ヒートマップが選択され、服飾についての中間ヒートマップが最終的に得られるヒートマップの合成に用いられる一方、鞄についての中間ヒートマップは選択されず、かかる合成には用いられない。なお、同図においては、破線により、鞄についての中間ヒートマップが選択されなかったことを示している。
【0069】
一方で、CTR及び美的評価値についての中間ヒートマップは属性如何による選択はされず、常に最終的に得られるヒートマップの合成に用いられるものとして構成されている。
【0070】
かかる構成もまた、情報処理装置300の具体的目的などに応じて調整すればよい。例えば、属性に基づいて選択されることなく常に使用される中間ヒートマップは存在してもしなくともよいし、属性に基づいて選択される中間ヒートマップの数にも制限はない。また、特定の属性に対して、複数の中間ヒートマップを選択するようにしてもよいし、属性ごとに選択される中間ヒートマップの数が異なっていても構わない。
【0071】
選択された中間ヒートマップを含む、ヒートマップの合成に用いられる中間ヒートマップは、入力画像が入力された機械学習モデル311a~d以下の数となる。これを生成部320において合成し、最終的なヒートマップを得る。この合成の方法は先の実施形態のものと同様であってよい。また、このようにして得られたヒートマップに基づいて、切り出し部330によって、入力画像の一部分である主要部分を切り出すとよい。
【0072】
図16は、本発明の第3の実施形態に係る情報処理装置400の機能上の構成を示す図である。第3の実施形態は、生成部420において、入力画像の属性に直接的に基づいてヒートマップが生成されるもう一つの例となっている。
【0073】
情報処理装置400では、複数の中間ヒートマップを生成部420で合成してヒートマップを生成する際に、入力画像の属性に基づく重みを用いる構成となっている。すなわち、入力画像は、原則として、機械学習モデル群410に用意された複数の機械学習モデル411a~411dに入力され、複数の機械学習モデル411a~411dと同数の中間ヒートマップが得られるが、これら中間ヒートマップを合成する際の重みが、属性に応じて異なるものとされるのである。
【0074】
すなわち、情報処理装置400では、生成部420は、属性に基づいて重みの少なくとも一部を生成している。具体的には、属性が「服飾」であれば、CTR、美的評価値、服飾、鞄についての中間ヒートマップにそれぞれ対応する重みを0.3,0.3,0.3,0.1のように割り振り、属性が「鞄」であれば、同様に、重みを0.3,0.3,0.1,0.3のように割り振るなどである。ここで、属性の項目は必ずしも特定の機械学習モデルに対応するものでなくてもよい。例えば、属性として「ファッションアイテム」を設け、対応する重みを0.3,0.3,0.2,0.2のように割り振ることも可能である。
【0075】
また、上の説明では、CTR及び美的評価値に対応する中間ヒートマップに対する重みは常に変わらず0.3を割り当てていたが、このように属性に依存せず重みを固定値とする中間ヒートマップに対しては、重みをあらかじめ定数として与えておいてよい。
【0076】
機械学習モデル群410及び切り出し部430については、先の実施形態においてすでに説明したものと同様のものを用いてよい。
【0077】
なお、第3の実施形態に係る情報処理装置400において、第1の実施形態に係る情報処理装置200に関して
図14で説明したように、機械学習モデル選択部212を設けて、属性に基づいて、入力画像の入力対象として用いられる少なくとも一の機械学習モデルを選択するようにしてもよい。あるいは、第2の実施形態に係る情報処理装置300に関して
図15で説明したように、中間ヒートマップ選択部321を設けて、属性に基づいて、少なくとも一の中間ヒートマップを選択して生成部420で用いるようにしてもよいし、その両方の構成を備えるものとすることもできる。
【0078】
図17は、本発明の各実施形態に係る情報処理装置100~400で実行される情報処理方法の共通の処理フローを示す図である。
【0079】
かかる情報処理方法においては、まず、ステップS11において、入力画像の入力に対して1又は複数の中間ヒートマップを出力する。かかるステップは、各実施形態に共通のものとして
図1に示された機械学習モデル群10により行われるものであり、すでに説明したとおりである。また、各実施形態においては、
図14に示された機械学習モデル群210、
図15に示された機械学習モデル群310及び
図16に示された機械学習モデル群410により実行される処理が該当する。
【0080】
続いて、ステップS12において、入力画像の属性と中間ヒートマップに基づいてヒートマップを生成する。かかるステップは、各実施形態に共通のものとして
図1に示された生成部20により行われるものとして、すでに説明したとおりである。各実施形態においては、
図14に示された生成部220、
図15に示された生成部320及び
図16に示された生成部420により実行される処理が該当する。また、ヒートマップの生成が入力画像の属性に基づいている点に関しては、第1の実施形態においては
図14に示した機械学習モデル選択部212による機械学習モデルの選択により、また、第2の実施形態においては
図15に示した中間ヒートマップ選択部による中間ヒートマップの選択により、さらに、第3の実施形態においては
図16に示した生成部420による重みの決定により、実現されている。
【0081】
最後に、ステップS13において、ヒートマップに基づいて、入力画像の一部分である主要部分を切り出す。かかるステップは、各実施形態に共通のものとして
図1に示された切り出し部30により行われるものとして、すでに説明したとおりであり、各実施形態における切り出し部230、330及び430において実行される処理は同様のものである。