IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特開2023-73734物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム
<>
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図1
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図2
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図3
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図4
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図5
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図6
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図7
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図8
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図9
  • 特開-物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023073734
(43)【公開日】2023-05-26
(54)【発明の名称】物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230519BHJP
【FI】
G06T7/00 350B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021186377
(22)【出願日】2021-11-16
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】熊谷 香織
(72)【発明者】
【氏名】高木 基宏
(72)【発明者】
【氏名】近藤 重邦
(72)【発明者】
【氏名】青野 裕司
(72)【発明者】
【氏名】佐藤 禎哉
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA17
5L096FA69
5L096GA30
5L096HA11
5L096JA11
5L096JA22
5L096KA04
5L096KA15
(57)【要約】
【課題】画像から画像中の状況を理解するために重要な物体をより高精度に検出することを可能にする技術を提供する。
【解決手段】本発明の一態様に係る物体検出装置は、画像及び前記画像を説明するキャプションを取得する取得部と、前記画像の特徴を示す画像特徴を生成する画像特徴生成部と、前記キャプションの特徴を示す言語情報を生成する言語情報生成部と、前記画像特徴と前記言語情報とを含む融合情報を生成する融合情報生成部と、前記融合情報を機械学習により事前に生成される物体検出モデルに入力し、前記物体検出モデルから出力される、前記画像中の物体が存在する領域を示す物体位置推定結果及び前記物体が各クラスに属する確率を示す物体クラス推定結果を得る物体検出部と、前記物体位置推定結果及び前記物体クラス推定結果に基づく物体検出結果を出力する出力部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像及び前記画像を説明するキャプションを取得する取得部と、
前記画像の特徴を示す画像特徴を生成する画像特徴生成部と、
前記キャプションの特徴を示す言語情報を生成する言語情報生成部と、
前記画像特徴と前記言語情報とを含む融合情報を生成する融合情報生成部と、
前記融合情報を機械学習により事前に生成される物体検出モデルに入力し、前記物体検出モデルから出力される、前記画像中の物体が存在する領域を示す物体位置推定結果及び前記物体が各クラスに属する確率を示す物体クラス推定結果を得る物体検出部と、
前記物体位置推定結果及び前記物体クラス推定結果に基づく物体検出結果を出力する出力部と、
を備える物体検出装置。
【請求項2】
前記言語情報生成部は、所定のベクトル空間モデルを使用して前記キャプションに含まれる単語をベクトルに変換することにより、前記言語情報を得る、
請求項1に記載の物体検出装置。
【請求項3】
単語と単語重要度とを関連付けた単語重要度情報を使用して、前記キャプションから単語重要度が最も高い単語を含む少なくとも1つの単語を重要単語として抽出する重要単語抽出部をさらに備え、
前記言語情報生成部は、前記所定のベクトル空間モデルを使用して前記重要単語をベクトルに変換することにより、前記言語情報を得る、
請求項2に記載の物体検出装置。
【請求項4】
前記画像特徴生成部は、前記画像にc個のフィルタを適用してc個の特徴マップを生成し、前記画像特徴は前記c個の特徴マップに含まれる複数の画素値を含み、
前記融合情報生成部は、前記言語情報のc個の複製を生成し、前記c個の特徴マップに含まれる前記複数の画素値と前記言語情報の前記c個の複製とを含む前記融合情報を生成する、
請求項1乃至3のいずれか1項に記載の物体検出装置。
【請求項5】
各データが、第1の画像の特徴を示す画像特徴と、前記第1の画像を説明するキャプションと、前記第1の画像中に存在する物体の位置を示す正解物体位置情報と、前記第1の画像中に存在する前記物体のクラスを示す正解物体クラス情報と、を含む複数のデータを含む学習用データセットを使用して、第2の画像の特徴を示す画像特徴と前記第2の画像を説明するキャプションの特徴を示す言語情報とを含む融合情報を入力として受け取り、前記第2の画像中の物体が存在する領域を示す物体位置推定結果及び前記第2の画像中の前記物体が各クラスに属する確率を示す物体クラス推定結果を出力するように構成された物体検出モデルを学習する学習装置であって、
前記複数のデータのうちの第1のデータに含まれるキャプションの特徴を示す言語情報を生成する言語情報生成部と、
前記第1のデータに含まれる画像特徴と前記生成された言語情報とを含む融合情報を生成する融合情報生成部と、
前記生成された融合情報を前記物体検出モデルに入力し、前記物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を得る物体検出部と、
前記得られた物体位置推定結果及び前記得られた物体クラス推定結果並びに前記第1のデータに含まれる正解物体位置情報及び正解物体クラス情報に基づいて、前記物体検出モデルを更新する更新部と、
を備える学習装置。
【請求項6】
画像及び前記画像を説明するキャプションを取得することと、
前記画像の特徴を示す画像特徴を生成することと、
前記キャプションの特徴を示す言語情報を生成することと、
前記画像特徴と前記言語情報とを含む融合情報を生成することと、
前記融合情報を機械学習により事前に生成される物体検出モデルに入力し、前記物体検出モデルから出力される、前記画像中の物体が存在する領域を示す物体位置推定結果及び前記物体が各クラスに属する確率を示す物体クラス推定結果を得ることと、
前記物体位置推定結果及び前記物体クラス推定結果に基づく物体検出結果を出力することと、
を備える物体検出方法。
【請求項7】
各データが、第1の画像の特徴を示す画像特徴と、前記第1の画像を説明するキャプションと、前記第1の画像中に存在する物体の位置を示す正解物体位置情報と、前記第1の画像中に存在する前記物体のクラスを示す正解物体クラス情報と、を含む複数のデータを含む学習用データセットを使用して、第2の画像の特徴を示す画像特徴と前記第2の画像を説明するキャプションの特徴を示す言語情報とを含む融合情報を入力として受け取り、前記第2の画像中の物体が存在する領域を示す物体位置推定結果及び前記第2の画像中の前記物体が各クラスに属する確率を示す物体クラス推定結果を出力するように構成された物体検出モデルを学習する学習方法であって、
前記複数のデータのうちの第1のデータに含まれるキャプションの特徴を示す言語情報を生成することと、
前記第1のデータに含まれる画像特徴と前記生成された言語情報とを含む融合情報を生成することと、
前記生成された融合情報を前記物体検出モデルに入力し、前記物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を得ることと、
前記得られた物体位置推定結果及び前記得られた物体クラス推定結果並びに前記第1のデータに含まれる正解物体位置情報及び正解物体クラス情報に基づいて、前記物体検出モデルを更新することと、
を備える学習方法。
【請求項8】
請求項1乃至4のいずれか1項に記載の物体検出装置又は請求項5に記載の学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から物体を検出する技術に関する。
【背景技術】
【0002】
カメラにより捉えられた現在の状況を機械が理解するために、画像中に存在する物体の位置及びクラスを特定する物体検出技術が活用されている。例えば、工場内で人及び機械の検出を行うことで人が危険領域へ侵入しているか否かを判定することに物体検出技術を活用する事例や、駅のホームで人及び線路の検出を行うことでホームからの人の転落を検出することに物体検出技術を活用する事例などがある。
【0003】
近年、ニューラルネットワークを用いた物体検出技術が広く研究されている。例えば、非特許文献1には、画像から物体の候補領域を推定し、物体の候補領域から抽出した特徴量から物体の位置及びクラスを推定する技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Shaoqing Ren, Kaiming He, Ross Girshick and Jian Sun, “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”, in proc. of NIPS2015.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示される技術などの従来技術においては、状況を理解するために認識が必要な物体を正確に検出できない事態が頻出する。例えば、図9に示すように、人がテニスの試合をしていることを理解するために重要ではない背景の人を過検出することがある。また、図10に示すように、人がスマートフォンを見ていることを理解するために重要なスマートフォンを検出もれしてしまうことがある。このように、従来技術においては、状況を理解するために重要ではない物体を過検出したり、重要な物体を検出もれする場合が多く発生する。
【0006】
本発明は、画像から画像中の状況を理解するために重要な物体をより高精度に検出することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係る物体検出装置は、画像及び前記画像を説明するキャプションを取得する取得部と、前記画像の特徴を示す画像特徴を生成する画像特徴生成部と、前記キャプションの特徴を示す言語情報を生成する言語情報生成部と、前記画像特徴と前記言語情報とを含む融合情報を生成する融合情報生成部と、前記融合情報を機械学習により事前に生成される物体検出モデルに入力し、前記物体検出モデルから出力される、前記画像中の物体が存在する領域を示す物体位置推定結果及び前記物体が各クラスに属する確率を示す物体クラス推定結果を得る物体検出部と、前記物体位置推定結果及び前記物体クラス推定結果に基づく物体検出結果を出力する出力部と、を備える。
【発明の効果】
【0008】
本発明によれば、画像から画像中の状況を理解するために重要な物体をより高精度に検出することを可能にする技術が提供される。
【図面の簡単な説明】
【0009】
図1図1は、第1の実施形態に係る物体検出装置を示す機能ブロック図である。
図2図2は、第1の実施形態に係る物体検出モデルの構成を示すブロック図である。
図3図3は、第1の実施形態に係る物体検出装置のハードウェア構成を示すブロック図である。
図4図4は、第1の実施形態に係る学習方法を示すフローチャートである。
図5図5は、第1の実施形態に係る物体検出方法を示すフローチャートである。
図6図6は、第2の実施形態に係る物体検出装置を示す機能ブロック図である。
図7図7は、第2の実施形態に係る学習方法を示すフローチャートである。
図8図8は、第2の実施形態に係る物体検出方法を示すフローチャートである。
図9図9は、従来技術に係る物体検出技術において発生する過検出を説明する図である。
図10図10は、従来技術に係る物体検出技術において発生する検出漏れを説明する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。
【0011】
<第1の実施形態>
[構成]
図1は、本発明の第1の実施形態に係る物体検出装置100を概略的に示している。図1に示すように、物体検出装置100は画像処理部110及び物体検出モデル生成部120を備える。物体検出モデル生成部120は、画像から物体を検出する物体検出モデルを機械学習手法により生成する。物体検出モデルはニューラルネットワークアーキテクチャで実装される。画像処理部110は、物体検出モデル生成部120により事前に生成された物体検出モデルを使用して、物体検出装置100に入力された画像から物体を検出する。
【0012】
画像処理部110は、取得部111、画像特徴生成部112、言語情報生成部113、融合情報生成部114、物体検出部115、出力部116、及びモデル記憶部117を備える。
【0013】
モデル記憶部117は、物体検出モデル生成部120により生成された物体検出モデルを記憶する。物体検出モデルは、画像と画像を説明するキャプションとから生成される情報(後述する融合情報)を入力として受け取り、物体位置推定結果及び物体クラス推定結果を出力するように構成されたニューラルネットワークである。
【0014】
キャプションは画像中の状況(コンテクスト)を説明する文である。例えば、女性がスマートフォンを見ている状況が写った画像については、キャプションは“The woman is watching the phone.”又は“The person grabs the smart phone.”という文であってよい。キャプションは人手で作成される。キャプションは、英語で記述された文に限らず、日本語などの他の言語で記述された文であってよい。
【0015】
物体位置推定結果は画像中の各物体が存在する領域を示す。例えば、物体が存在する領域の最左上の座標を(x′,y′)、領域の幅をw′、領域の高さをh′とするとき、物体位置推定結果は各物体について4つの値x′、y′、w′、h′の組み合わせを含む。 物体クラス推定結果は画像中の各物体が個々のクラスに属する確率(確からしさ)を示す。本実施形態では、物体クラス推定結果はテンソルである。ここで、テンソルはベクトルや行列などの多次元配列で表現されるデータを指す。例えば、“phone”、“woman”、“person”という3つのクラスが想定され、画像から10個の物体が検出された場合、物体クラス推定結果はサイズが10×3のテンソルである。テンソルの各要素は、ある物体があるクラスに属する確率である。例えば、物体クラス推定結果は、第1の物体のクラスが“phone”である確率、第1の物体のクラスが“woman”である確率、第1の物体のクラスが“person”である確率、第2の物体のクラスが“phone”である確率、第2の物体のクラスが“woman”である確率、第2の物体のクラスが“person”である確率、・・・、第10の物体のクラスが“phone”である確率、第10の物体のクラスが“woman”である確率、及び第10の物体のクラスが“person”である確率を含む。
【0016】
取得部111は、処理対象となる画像及び処理対象となる画像を説明するキャプションを取得する。以降では、処理対象となる画像を入力画像と称することもある。
【0017】
画像特徴生成部112は、取得部111により取得された入力画像から画像特徴を生成する。画像特徴は入力画像の特徴を示し得る。画像特徴は、入力画像から生成される値を含む情報であれば、いかなる情報であってもよい。例えば、画像特徴は入力画像に含まれる画素値に依存する複数の数値を含む。本実施形態では、画像特徴はテンソルである。
【0018】
例えば、画像特徴生成部112は入力画像にc個のフィルタを適用してc枚の特徴マップを生成する。ここで、cはチャネル数と呼ばれる。cは2以上の整数であり得る。各特徴マップはw×h個の画素を有する。言い換えると、各特徴マップはサイズがw×hの画像である。wは特徴マップの幅(X軸方向の画素数)であり、hは特徴マップの高さ(Y軸方向の画素数)である。典型的には、特徴マップのサイズは入力画像のサイズよりも小さい。画像特徴はc枚の特徴マップを含む。この場合、画像特徴はサイズがw×h×cのテンソルである。言い換えると、画像特徴はw×h×c個の数値を要素として含むテンソルである。フィルタとしては、例えば、Karen Simonyan and Andrew Zisserman, “Very Deep Convolutional Networks for Large-Scale Image Recognition”, in Proc. of ICLR2015で提案されるVGG(Visual Geometry Group)ネットワークに含まれる畳み込みフィルタを使用することができる。
【0019】
なお、画像特徴生成部112は、c枚の特徴マップのそれぞれに対してプーリング(例えば平均プーリング又は最大プーリング)を行い、それによりサイズが縮小されたc枚の特徴マップを画像特徴として得てもよい。
【0020】
言語情報生成部113は、取得部111により取得されたキャプションから言語情報を生成する。言語情報はキャプションの特徴を示し得る。言語情報は、キャプションから生成される値を含む情報であれば、いかなる情報であってもよい。例えば、言語情報はキャプションに含まれる単語に依存する複数の数値を含む。本実施形態では、言語情報はベクトルである。ここで、ベクトルは1次元配列で表現されるデータを指す。
【0021】
例えば、言語情報生成部113は、キャプションを形態素解析することでキャプションを複数の単語に分割し、ベクトル空間モデルを使用して個々の単語を単語ベクトルに変換し、単語ベクトルを平均又は連結したベクトルを言語情報として得る。言語情報生成部113は、キャプションを形態素解析することで得られた単語の中から所定の品詞の単語を抽出してよい。所定の品詞は少なくとも1つの品詞を含む。一例では、所定の品詞は名詞であってよい。キャプションから1つの単語が抽出される場合には、言語情報生成部113は、その単語を変換した単語ベクトルを言語情報として得る。ベクトル空間モデルとしては、例えば、Tomas Mikorov, Kai Chen, G.s. Corrado, Jeffrey Dean, “Efficient Estimation of Word Representations in Vector Space”, In Proc of workshop at ICLR2013で提案され、word2vecとも称されるモデルを使用することができる。
【0022】
融合情報生成部114は、画像特徴生成部112により生成された画像特徴及び言語情報生成部113により生成された言語情報を融合し、画像特徴と言語情報とを含む融合情報を生成する。本実施形態では、融合情報はテンソルである。例えば、融合情報生成部114は、言語情報であるベクトルをw×h個複製し、w×h個の複製を結合したテンソルを生成し、生成したテンソルと画像特徴のテンソルをチャネル方向に重畳することにより、融合情報を得る。融合情報はサイズがw×h×(c+v)のテンソルである。ここで、vは言語情報であるベクトルの長さ(要素数)である。
【0023】
物体検出部115は、モデル記憶部117に記憶されている物体検出モデルを使用して、融合情報生成部114により生成された融合情報に基づいて、入力画像に関する物体位置推定結果及び物体クラス推定結果を得る。具体的には、物体検出部115は、物体検出モデルに融合情報を入力し、物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を入力画像に関する物体位置推定結果及び物体クラス推定結果として得る。入力画像に関する物体位置推定結果は入力画像中の各物体が存在する領域を示し、入力画像に関する物体クラス推定結果は入力画像中の各物体が複数のクラスのそれぞれに属する確率を示す。
【0024】
出力部116は、物体検出部115により得られた入力画像に関する物体位置推定結果及び物体クラス推定結果から物体検出結果を生成し、物体検出結果を出力する。出力部116は物体検出結果を表示装置に表示してよい。代替として、出力部116は物体検出結果をサーバなどの他の装置に送信してもよい。物体検出結果は、入力画像に関する物体位置推定結果及び物体クラス推定結果に基づく情報であれば、いかなる情報であってもよい。一例では、物体検出結果は、入力画像上に各物体を囲む矩形枠と各物体のクラス名とを重畳した可視化画像であってよい。矩形枠を配置する位置は物体位置推定結果に基づいて決定される。クラス名は矩形枠の付近に(例えば左上に)配置される。クラス名は、物体クラス推定結果において各物体に関する確率が最大値となるインデックスに相当する。他の例では、物体検出結果は、物体位置推定結果とクラス名とを含むテキストデータであってもよい。
【0025】
物体検出モデル生成部120は、選択部121、言語情報生成部122、融合情報生成部123、物体検出部124、更新部125、出力部126、学習データ記憶部127、及びモデル記憶部128を備える。
【0026】
学習データ記憶部127は、物体検出モデルを学習するために使用する学習データである学習用データセットを記憶する。学習用データセットは、学習用の画像である複数の参照画像のそれぞれに関する複数のデータ(サンプル)を含む。各参照画像に関するデータは、参照画像から生成される画像特徴と、参照画像を説明するキャプションと、参照画像中に存在する各物体の位置を示す正解物体位置情報と、参照画像中に存在する各物体のクラスを示す正解物体クラス情報と、を含む。参照画像中に存在する物体は参照画像から検出されるべき物体を指す。具体的には、参照画像中に存在する物体は参照画像中の状況を理解するために重要な物体を指す。
【0027】
画像特徴は、画像特徴生成部112に関連して説明したものと同じ処理を参照画像に対して行うことにより生成される。画像特徴は、サイズがw×hであるc枚の特徴マップに含まれるw×h×c個の画素値を要素として含むテンソルである。キャプションは人手で作成される。正解物体位置情報は、参照画像中に存在する各物体の位置を示す情報であれば、いかなる情報であってもよい。例えば、物体が存在する領域の最左上の座標を(x′,y′)、領域の幅をw′、領域の高さをh′とするとき、正解物体位置情報は各物体について4つの値x′、y′、w′、h′の組み合わせを含む。正解物体クラス情報は、画像中に存在する各物体のクラスを示す情報であれば、いかなる情報であってもよい。例えば、“phone”、“woman”、“person”という3つのクラスが想定され、10個の物体が画像中に存在する場合、物体クラス推定結果はサイズが10×3のテンソルである。テンソルでは、物体の正解クラスに対応するインデックスの要素だけが1で、それ以外の要素は0である。例えば、第1の物体の正解クラスが“phone”であり、第2の物体の正解クラスが“woman”である場合、第1の物体について、クラス“phone”に対応する要素が1であり、クラス“woman”に対応する要素が0であり、クラス“person”に対応する要素が0であり、第2の物体について、クラス“phone”に対応する要素が0であり、クラス“woman”に対応する要素が1であり、クラス“person”に対応する要素が0である。
【0028】
モデル記憶部128は物体検出モデルを記憶する。物体検出モデルは、上述したように、画像の特徴を示す画像特徴と画像を説明するキャプションの特徴を示す言語情報とを含む融合情報を入力として受け取り、物体位置推定結果及び物体クラス推定結果を出力するように構成されたニューラルネットワークである。物体検出モデルは複数のパラメータを含む。
【0029】
学習処理は、データセットから少なくとも1枚の参照画像に関するデータを選択することと、選択されたデータを使用して物体検出モデルを更新することと、を含む学習ルーチンを繰り返す。選択部121は、例えばランダムに、データセットから各学習ルーチンで使用するデータを選択する。データセットに含まれるサンプル(データ)に番号が紐づけられている場合には、選択部121は、番号順に、データセットから各学習ルーチンで使用するサンプルを選択してもよい。選択部121により選択されたデータを対象データと称する。選択部121は、対象データに含まれるキャプションを言語情報生成部122に渡し、対象データに含まれる画像特徴を融合情報生成部123に渡し、対象データに含まれる正解物体位置情報及び正解物体クラス情報を更新部125に渡す。
【0030】
言語情報生成部122、融合情報生成部123、及び物体検出部124はそれぞれ、言語情報生成部113、融合情報生成部114、及び物体検出部115に関連して説明したものと同じ処理を行う。このため、言語情報生成部122、融合情報生成部123、及び物体検出部124についての詳細な説明は省略する。
【0031】
言語情報生成部122は、対象データに含まれるキャプションから言語情報を生成する。言語情報はキャプションに含まれる単語に依存する複数の数値を要素として含むベクトルである。例えば、言語情報生成部122は、word2vecなどの所定のベクトル空間モデルを使用してキャプションに含まれる個々の単語を単語ベクトルに変換し、単語ベクトルを平均又は連結したベクトルを言語情報として得る。
【0032】
融合情報生成部123は、対象データに含まれる画像特徴及び言語情報生成部122により生成された言語情報を融合して融合情報を生成する。融合情報は、画像特徴であるテンソルと言語情報であるベクトルを融合してなるテンソルである。例えば、融合情報生成部114は、言語情報であるベクトルをw×h個複製し、w×h個の複製を結合したテンソルを生成し、生成したテンソルと画像特徴のテンソルをチャネル方向に重畳することにより、融合情報を得る。
【0033】
物体検出部124は、モデル記憶部128から物体検出モデルを受け取り、物体検出モデルに融合情報生成部123により生成された融合情報を入力し、物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を得る。
【0034】
更新部125は、物体検出部124により得られた物体位置推定結果及び物体クラス推定結果並びに対象データに含まれる正解物体位置情報及び正解物体クラス情報に基づいて物体検出モデルを更新する。具体的には、更新部125は、次に説明する2つの制約を満たすように、物体検出モデルを構成するパラメータを更新する。
【0035】
第1の制約は、物体位置推定結果が正解物体位置情報に近づく又は合致することである。学習方法は、第1の制約を満たすように設定された学習方法であれば、いかなる学習方法であってもよい。例えば、第1の制約は、物体位置推定結果と正解物体位置情報とのL1距離(マンハッタン距離)が小さくなることである。物体位置推定結果を(x,y,w,h)、正解物体位置情報を(x,y,w,h)とすると、物体位置推定結果と正解物体位置情報とのL1距離dは下記式(1)の通りである。
【数1】
【0036】
第2の制約は、物体クラス推定結果が正解物体クラス情報に近づく又は合致することである。学習方法は、第2の制約を満たすように設定された学習方法であれば、いかなる学習方法であってもよい。例えば、第2の制約は、物体クラス推定結果と正解物体クラス情報とのクロスエントロピー誤差が小さくなることである。物体クラス推定結果と正解物体クラス情報とのクロスエントロピー誤差Eは下記式(2)の通りである。
【数2】
ここで、kはクラスに対応するインデックスであり、yは物体クラス推定結果に含まれるインデックスkで特定される要素の値であり、yは正解物体クラス情報に含まれるインデックスkで特定される要素の値である。
【0037】
このように、更新部125は、例えば、物体位置推定結果と正解物体位置情報とのL1距離が小さくなるように、且つ、物体クラス推定結果と正解物体クラス情報とのクロスエントロピー誤差が小さくなるように、物体検出モデルのパラメータを更新する。
【0038】
学習処理は所定の条件が満たされるまで繰り返される。例えば、物体位置推定結果と正解物体位置情報とのL1距離が所定の第1閾値を下回り、且つ、物体クラス推定結果と正解物体クラス情報とのクロスエントロピー誤差が所定の第2閾値を下回ると、学習処理が終了する。代替として又は追加として、繰り返し回数が所定の回数に達したときに学習処理が終了するようにしてもよい。
【0039】
出力部126は、学習済みの物体検出モデルを画像処理部110に出力する。学習済みの物体検出モデルは、画像処理部110のモデル記憶部117に格納される。
【0040】
図1では画像処理部110及び物体検出モデル生成部120が同じ装置に存在するものとして示されるが、物体検出モデル生成部120は物体検出装置100とは別の装置に存在してもよい。この場合、物体検出モデル生成部120を備える学習装置により生成された物体検出モデルは、データ通信又はコンピュータで読み取り可能な記録媒体を介して物体検出装置100に提供されてよい。
【0041】
図2は、物体検出モデルの構成例を概略的に示している。図2に示す例では、物体検出モデルは、メインニューラルネットワーク201、物体位置推定ニューラルネットワーク202、及び物体クラス分類ニューラルネットワーク203を備える。
【0042】
メインニューラルネットワーク201は、物体検出モデルの入力層である、融合情報が入力される入力層を備える。上述したように、融合情報は画像特徴及び言語情報を融合した情報である。メインニューラルネットワーク201の出力は物体位置推定ニューラルネットワーク202及び物体クラス分類ニューラルネットワーク203に与えられる。
【0043】
物体位置推定ニューラルネットワーク202は、物体検出モデルの出力層の一部分である、物体位置推定結果を出力する出力層を備える。物体位置推定ニューラルネットワーク202は、メインニューラルネットワーク201の出力を入力として受け取り、物体位置推定結果を出力する。物体クラス分類ニューラルネットワーク203は、物体検出モデルの出力層の残り部分である、物体クラス推定結果を出力する出力層を備える。物体クラス分類ニューラルネットワーク203は、メインニューラルネットワーク201の出力を入力として受け取り、物体クラス推定結果を出力する。
【0044】
学習処理では、更新部125は、物体位置推定ニューラルネットワーク202から出力される物体位置推定結果が正解物体位置情報に近づくように、メインニューラルネットワーク201のパラメータ及び物体位置推定ニューラルネットワーク202のパラメータを更新し、更新部125は、物体クラス分類ニューラルネットワーク203から出力される物体クラス推定結果が正解物体クラス情報に近づくように、メインニューラルネットワーク201のパラメータ及び物体クラス分類ニューラルネットワーク203のパラメータを更新する。
【0045】
図3は、物体検出装置100のハードウェア構成例を概略的に示している。図3に示すように、物体検出装置100は、ハードウェア構成要素として、プロセッサ301、RAM(Random Access Memory)302、プログラムメモリ303、ストレージデバイス304、及び入出力インタフェース305を備える。プロセッサ301は、RAM302、プログラムメモリ303、ストレージデバイス304、及び入出力インタフェース305と通信可能に接続される。
【0046】
プロセッサ301はCPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの汎用回路を含む。RAM302はSDRAM(Synchronous Dynamic Random Access Memory)などの揮発性メモリを含む。RAM302はワーキングメモリとしてプロセッサ301により使用される。プログラムメモリ303は、物体検出プログラムや学習プログラムを含む、プロセッサ301により実行されるプログラムを記憶する。各プログラムは複数のコンピュータ実行可能命令を含む。プログラムメモリ303として、例えば、ROM(Read Only Memory)又はストレージデバイス304の一部領域が使用されてよい。
【0047】
プロセッサ301は、プログラムメモリ303に記憶されているプログラムをRAM302に展開し、プログラムを実行する。物体検出プログラムは、プロセッサ301により実行されると、画像処理部110に関して説明される一連の処理をプロセッサ301に行わせる。言い換えると、プロセッサ301は、物体検出プログラムに従って、取得部111、画像特徴生成部112、言語情報生成部113、融合情報生成部114、物体検出部115、及び出力部116として機能する。学習プログラムは、プロセッサ301により実行されると、物体検出モデル生成部120に関して説明される一連の処理をプロセッサ301に行わせる。言い換えると、プロセッサ301は、学習プログラムに従って、選択部121、言語情報生成部122、融合情報生成部123、物体検出部124、更新部125、及び出力部126として機能する。
【0048】
プログラムは、コンピュータで読み取り可能な記録媒体に記憶された状態で物体検出装置100に提供されてよい。この場合、物体検出装置100は、記録媒体からデータを読み出すドライブを備え、記録媒体からプログラムを取得する。記録媒体の例は、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD-ROM、DVD-Rなど)、光磁気ディスク(MOなど)、及び半導体メモリを含む。また、プログラムはネットワークを通じて配布するようにしてもよい。具体的には、プログラムをネットワーク上のサーバに格納し、物体検出装置100がサーバからプログラムをダウンロードするようにしてもよい。
【0049】
ストレージデバイス304は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)などの不揮発性メモリを含む。ストレージデバイス304は、学習データや物体検出モデルなどのデータを記憶する。ストレージデバイス304は、モデル記憶部117、学習データ記憶部127、及びモデル記憶部128として機能する。
【0050】
入出力インタフェース305は、外部装置と通信するためのインタフェースである。入出力インタフェース305は無線モジュールを備えてよい。外部装置の例は、表示装置、キーボード、マウス、ルータなどを含む。プロセッサ301は入出力インタフェース305を介して表示装置に物体検出結果を含む画像データを送信してもよい。プロセッサ301は、入出力インタフェース305及びルータを介してサーバなどの他のコンピュータに物体検出結果を送信してもよい。
【0051】
[動作]
図4は、物体検出装置100の物体検出モデル生成部120により実行される学習方法を概略的に示している。
【0052】
図4のステップS401において、選択部121は、学習用データセットから任意の1枚の参照画像に関するデータを対象データとして選択する。ここでは、説明を簡単にするために、1枚の参照画像に関するデータを選択するものとしているが、複数の参照画像に関するデータを選択するようにしてもよい。
【0053】
ステップS402において、言語情報生成部122は、対象データに含まれるキャプションの特徴を示す言語情報を生成する。例えば、言語情報生成部122は、キャプションから単語を抽出し、word2vecを使用して単語を単語ベクトルに変換し、単語ベクトルを平均することにより、長さがvのベクトルである言語情報を得る。
【0054】
ステップS403において、融合情報生成部123は、対象データに含まれる画像特徴及び言語情報生成部122により生成された言語情報を融合して融合情報を生成する。例えば、画像特徴はサイズがw×hのc枚の画像に基づくテンソルであり、融合情報生成部123は、言語情報であるベクトルのw×h個の複製を生成し、これら複製を結合したテンソルを生成し、生成したテンソルと画像特徴であるテンソルをチャネル方向に重畳することにより、融合情報を得る。
【0055】
ステップS404において、物体検出部124は、モデル記憶部128に記憶されている物体検出モデルを使用して、融合情報生成部123により生成された融合情報に基づいて、対象データに対応する参照画像に関する物体位置推定結果及び物体クラス推定結果を生成する。例えば、物体検出部124は、物体検出モデルに融合情報を入力し、物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を対象データに対応する参照画像に関する物体位置推定結果及び物体クラス推定結果として得る。
【0056】
ステップS405において、更新部125は、物体検出部124により得られた物体位置推定結果及び物体クラス推定結果並びに対象データに含まれる正解物体位置情報及び正解物体クラス情報に基づいて物体検出モデルを更新する。例えば、更新部125は、物体位置推定結果と正解物体位置情報との比較及び物体クラス推定結果と正解物体クラス情報との比較に基づいて物体検出モデルのパラメータを更新する。例えば、更新部125は、物体位置推定結果と正解物体位置情報とのL1距離が小さくなるように、且つ、物体クラス推定結果と正解物体クラス情報とのクロスエントロピー誤差が小さくなるように、物体検出モデルのパラメータを更新する。
【0057】
ステップS406において、学習終了条件が満たされるか否かが判定される。例えば、ステップS405で算出されたL1距離が所定の第1閾値を下回る、且つ、ステップS405で算出されたクロスエントロピー誤差が所定の第2の閾値を下回る場合に、学習終了条件が満たされたと判定され、そうでなければ、学習終了条件が満たされていないと判定される。学習終了条件が満たされていない場合(ステップS406;No)、処理はステップS401に戻り、ステップS401~S405に示す処理が繰り返される。
【0058】
学習終了条件が満たされる場合(ステップS406;Yes)、処理は終了となる。出力部116は、モデル記憶部128から学習済みの物体検出モデルを読み出し、学習済みの物体検出モデルを画像処理部110に出力する。
【0059】
図5は、物体検出装置100の画像処理部110により実行される物体検出方法を概略的に示している。図5に示すフローでは、図4を参照して説明した学習方法により生成された物体検出モデルが使用される。
【0060】
ステップS501において、取得部111は入力画像及び入力画像を説明するキャプションを取得する。
【0061】
ステップS502において、画像特徴生成部112は入力画像の特徴を示す画像特徴を生成する。例えば、画像特徴生成部112は入力画像にc個のフィルタを適用して各々サイズがw×hであるc枚の特徴マップを生成し、画像特徴はc枚の特徴マップに含まれるw×h×c個の画素値を要素として有するテンソルである。
【0062】
ステップS503において、言語情報生成部113はキャプションの特徴を示す言語情報を生成する。例えば、言語情報生成部113は、キャプションから単語を抽出し、word2vecを使用して単語を単語ベクトルに変換し、単語ベクトルを平均し、それにより長さがvのベクトルを言語情報として得る。
【0063】
ステップS504において、融合情報生成部114は画像特徴及び言語情報を融合して融合情報を生成する。例えば、融合情報生成部114は、言語情報であるベクトルのw×h個の複製を生成し、w×h個の複製を結合したテンソルを生成し、生成したテンソルと画像特徴であるテンソルをチャネル方向に重畳し、それによりサイズがw×h×(c+v)のテンソルを融合情報として得る。
【0064】
ステップS505において、物体検出部115は物体検出モデルを使用して融合情報に基づいて入力画像に関する物体位置推定結果及び物体クラス推定結果を生成する。例えば、物体検出部115は、物体検出モデルに融合情報を入力し、物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を入力画像に関する物体位置推定結果及び物体クラス推定結果として得る。
【0065】
ステップS506において、出力部116は入力画像に関する物体位置推定結果及び物体クラス推定結果に基づく物体検出結果を出力する。
【0066】
[効果]
本実施形態に係る物体検出モデルは、画像の特徴を示す画像特徴とともに、画像を説明するキャプションの特徴を示す言語情報を入力として受け取るように構成されるニューラルネットワークである。物体検出モデルに対する教師あり学習により、言語情報から画像中の状況を理解するために重要な物体を類推する能力が暗に獲得される。これにより、本実施形態に係る物体検出モデルは、画像中の状況を理解するために重要な物体をより高精度に検出することを可能にする。具体的には、画像に写る状況との関連性が高い物体をより確実に検出すること、及び画像に写る状況との関連性が低い物体の検出を抑制することが可能になる。すなわち、検出もれ及び過検出を防止することが可能になる。
【0067】
物体検出モデル生成部120は、各データが、参照画像から生成される画像特徴と、参照画像を説明するキャプションと、参照画像中に存在する物体の位置を示す正解物体位置情報と、参照画像中に存在する物体のクラスを示す正解物体クラス情報と、を含む複数のデータを含む学習用データセットを使用して、物体検出モデルを学習する。具体的には、物体検出モデル生成部120は、参照画像の特徴を示す画像特徴と参照画像を説明するキャプションの特徴を示す言語情報とを含む融合情報を生成し、融合情報を物体検出モデルに入力し、物体検出モデルから出力される物体位置推定結果及び物体クラス推定結果を得て、物体位置推定結果及び得られた物体クラス推定結果並びに正解物体位置情報及び正解物体クラス情報に基づいて物体検出モデルを更新する。当該構成によれば、言語情報から類推される重要な物体を高精度に検出するニューラルネットワークを学習することが可能となる。このようにして学習された物体検出モデルは、画像から画像中の状況を理解するために重要な物体をより高精度に検出することを可能にする。
【0068】
画像処理部110は、入力画像の特徴を示す画像特徴と入力画像を説明するキャプションの特徴を示す言語情報とを含む融合情報を生成し、融合情報を物体検出モデル生成部120により生成された物体検出モデルに入力し、物体検出モデルから出力される位置推定結果及び物体クラス推定結果を得て、物体位置推定結果及び物体クラス推定結果に基づく物体検出結果を出力する。当該構成によれば、入力画像から入力画像中の状況を理解するために重要な物体をより高精度に検出することができる。
【0069】
画像処理部110は、word2vecなどの所定のベクトル空間モデルを使用してキャプションに含まれる単語をベクトルに変換することにより、言語情報を得てよい。当該構成によれば、キャプション(文)から、キャプションの特徴を示す、物体検出モデルに入力可能な形式の情報(数値)を得ることができる。
【0070】
画像処理部110は、入力画像にc個のフィルタを適用してc個の特徴マップを画像特徴として生成し、言語情報のc個の複製を生成し、c個の特徴マップと言語情報のc個の複製とを含む融合情報を生成する。当該構成によれば、各チャネル(各特徴マップ)に言語情報が付与され、チャネルごとに言語情報が考慮される。それにより、入力画像から入力画像中の状況を理解するために重要な物体をさらに高い精度で検出することができる。
【0071】
<第2の実施形態>
[構成]
図6は、本発明の第2の実施形態に係る物体検出装置600を概略的に示している。図6において、図1に示した部分と同様の部分に同様の符号を付して、それらについての詳細な説明は省略する。
【0072】
図6に示すように、物体検出装置600は画像処理部610及び物体検出モデル生成部620を備える。物体検出モデル生成部620は、画像から物体を検出する物体検出モデルを機械学習手法により生成する。物体検出モデルはニューラルネットワークアーキテクチャで実装される。画像処理部610は、物体検出モデル生成部620により生成された物体検出モデルを使用して、物体検出装置600に入力された画像から物体を検出する。
【0073】
物体検出モデル生成部620は、単語重要度マップ生成部621、選択部121、重要単語抽出部623、言語情報生成部624、融合情報生成部123、物体検出部124、更新部125、出力部126、学習データ記憶部127、単語重要度マップ記憶部622、及びモデル記憶部128を備える。
【0074】
単語重要度マップ生成部621は、学習データ記憶部127に記憶されている学習用データセットに含まれるキャプションから、単語と単語重要度とを関連付けた単語重要度情報としての単語重要度マップを生成する。例えば、単語重要度マップ生成部621は、学習データ記憶部127から学習用データセットに含まれる全キャプションを受け取り、受け取った全キャプションから単語ごとに単語重要度を算出し、単語ごとの単語重要度を示す情報を単語重要度マップとして生成する。学習用データセットに含まれる全キャプションは、全ての参照画像のそれぞれに関するキャプションの集合である。単語重要度は、単語の重要度を示すスコア(値)であれば、いかなるスコアであってもよい。本実施形態では、重要度が高いほどスコアが高くなるように、単語重要度を規定する。例えば、単語重要度として、全キャプション中での希少度合いを示すidfスコアを使用してもよい。idfスコアは下記式(3)で算出されるスコアである。
【数3】
ここで、df(t)は単語tが出現するキャプションの数であり、Nはキャプションの総数である。
【0075】
なお、単語重要度は事前に人手で設定されてもよい。例えば、動詞の単語重要度は0.5、固有名詞の単語重要度は0.9、一般名詞の単語重要度は0.7のように、単語重要度を設定してよい。
【0076】
単語重要度マップ生成部621は、単語重要度マップを単語重要度マップ記憶部622に記憶させるとともに、単語重要度マップを画像処理部610に渡す。
【0077】
選択部121は、学習用データセットからデータを対象データとしてランダムに選択する。選択部121は、対象データに含まれるキャプションを重要単語抽出部623に渡し、対象データに含まれる画像特徴を融合情報生成部123に渡し、対象データに含まれる正解物体位置情報及び正解物体クラス情報を更新部125に渡す。
【0078】
重要単語抽出部623は、単語重要度マップ記憶部622に記憶されている単語重要度マップに基づいて、対象データに含まれるキャプションから重要単語を抽出する。例えば、重要単語抽出部623は、キャプションから単語を抽出し、単語重要度マップを参照して単語それぞれの単語重要度を特定する。重要単語抽出部623は、単語ごとの単語重要度を所定の基準に適用することにより、単語の中から少なくとも1つの単語を重要単語として選択する。一例では、重要単語抽出部623は単語重要度上位2単語(単語重要度が最も高い単語及び単語重要度が2番目に高い単語)を重要単語として選択してよい。他の例では、重要単語抽出部623は、単語重要度が閾値(例えば0.5)を超える単語を重要単語として選択してよい。単語重要度が閾値を超える単語がない場合には、重要単語抽出部623は単語重要度が最も高い単語を重要単語として選択してよい。いずれの例でも、キャプションから抽出される少なくとも1つの重要単語は単語重要度が最も高い単語を含む。
【0079】
言語情報生成部624は、重要単語抽出部623により抽出された重要単語から言語情報を生成する。言語情報はキャプションの特徴を示し得る。言語情報は、重要単語から生成される値を含む情報であれば、いかなる情報であってもよい。例えば、言語情報は重要単語に依存する複数の数値を含む。本実施形態では、言語情報はベクトルである。例えば、言語情報生成部624は、word2vecなどのベクトル空間モデルを使用して個々の重要単語を単語ベクトルに変換し、単語ベクトルを平均又は連結したベクトルを言語情報として得る。キャプションから1つの重要単語が抽出される場合には、言語情報生成部624は、その重要単語を変換した単語ベクトルを言語情報として得る。
【0080】
融合情報生成部123は、対象データに含まれる画像特徴及び言語情報生成部624により生成された言語情報を融合して融合情報を生成する。物体検出部124は、モデル記憶部128に記憶されている物体検出モデルを使用して、融合情報生成部123に基づいて対象データに対応する参照画像に関する物体位置推定結果及び物体クラス推定結果を生成する。更新部125は、物体検出部124により得られた物体位置推定結果及び物体クラス推定結果並びに対象データに含まれる正解物体位置情報及び正解物体クラス情報に基づいて物体検出モデルを更新する。出力部126は、学習済みの物体検出モデルを画像処理部610に出力する。
【0081】
画像処理部610は、取得部111、画像特徴生成部112、重要単語抽出部611、言語情報生成部612、融合情報生成部114、物体検出部115、出力部116、単語重要度マップ記憶部613、及びモデル記憶部117を備える。
【0082】
単語重要度マップ記憶部613は、物体検出モデル生成部620により生成された単語重要度マップを記憶する。モデル記憶部117は、物体検出モデル生成部620により生成された物体検出モデルを記憶する。
【0083】
取得部111は入力画像及び当該入力画像を説明するキャプションを取得する。画像特徴生成部112は入力画像から画像特徴を生成する。
【0084】
重要単語抽出部611及び言語情報生成部612は重要単語抽出部623及び言語情報生成部624に関連して説明したものと同じ処理を行う。このため、重要単語抽出部611及び言語情報生成部612についての詳細な説明は省略する。重要単語抽出部611は、単語重要度マップ記憶部613に記憶されている単語重要度マップを使用して、取得部111により取得されたキャプションから重要単語を抽出する。言語情報生成部612は、重要単語抽出部611により抽出された重要単語から言語情報を生成する。
【0085】
融合情報生成部114は、画像特徴生成部112により生成された画像特徴及び言語情報生成部612により生成された言語情報を融合して融合情報を生成する。融合情報は画像特徴と言語情報とを含む。本実施形態では、融合情報はテンソルである。例えば、融合情報生成部114は、言語情報であるベクトルをw×h個複製し、w×h個の複製を結合したテンソルを生成し、生成したテンソルと画像特徴のテンソルをチャネル方向に重畳することにより、融合情報を得る。融合情報はサイズがw×h×(c+v)のテンソルである。ここで、vは言語情報であるベクトルの長さである。
【0086】
物体検出部115は、モデル記憶部117に記憶されている物体検出モデルを使用して、融合情報生成部114により生成された融合情報に基づいて、入力画像に関する物体位置推定結果及び物体クラス推定結果を得る。出力部116は、物体検出部115により得られた入力画像に関する物体位置推定結果及び物体クラス推定結果に基づく物体検出結果を出力する。
【0087】
物体検出装置600は、図3に示したものと同じハードウェア構成を有することができる。具体的には、物体検出装置600は、ハードウェア構成要素として、プロセッサ301、RAM302、プログラムメモリ303、ストレージデバイス304、及び入出力インタフェース305を備える。
【0088】
プログラムメモリ303は物体検出プログラムや学習プログラムを含むプログラムを記憶する。プロセッサ301は、プログラムメモリ303に記憶されているプログラムをRAM302に展開し、プログラムを実行する。物体検出プログラムは、プロセッサ301により実行されると、画像処理部610に関して説明される一連の処理をプロセッサ301に行わせる。言い換えると、プロセッサ301は、物体検出プログラムに従って、取得部111、画像特徴生成部112、重要単語抽出部611、言語情報生成部612、融合情報生成部114、物体検出部115、及び出力部116として機能する。学習プログラムは、プロセッサ301により実行されると、物体検出モデル生成部620に関して説明される一連の処理をプロセッサ301に行わせる。言い換えると、プロセッサ301は、学習プログラムに従って、単語重要度マップ生成部621、選択部121、重要単語抽出部623、言語情報生成部624、融合情報生成部123、物体検出部124、更新部125、及び出力部126として機能する。ストレージデバイス304は、単語重要度マップ記憶部613、モデル記憶部117、学習データ記憶部127、単語重要度マップ記憶部622、及びモデル記憶部128として機能する。
【0089】
[動作]
図7は、物体検出装置600の物体検出モデル生成部620により実行される学習方法を概略的に示している。図7に示すステップS702、S705~S708の処理はそれぞれ図4に示したステップS401、S403~S406の処理と同じであるので、ステップS702、S705~S708の処理についての詳細な説明は省略する。
【0090】
図7のステップS701において、単語重要度マップ生成部621は、単語と単語重要度とを関連付けた単語重要度マップを生成する。例えば、単語重要度マップ生成部621は、学習データ記憶部127に記憶されている学習用データセットに含まれる全キャプションに含まれる個々の単語について単語重要度(例えばidfスコア)を算出し、単語ごとの単語重要度を示す情報を単語重要度マップとして生成する。
【0091】
ステップS702において、選択部121は、学習用データセットから少なくとも1つの参照画像に関するデータを対象データとして選択する。ここでは、説明を簡単にするために、1つの参照画像に関するデータを選択するものとする。
【0092】
ステップS703において、重要単語抽出部623は、対象データに含まれるキャプションから重要単語を抽出する。例えば、重要単語抽出部623は、キャプションから単語を抽出し、単語重要度マップを参照して個々の単語について単語重要度を特定する。例えば、重要単語抽出部623は、単語の中から単語重要度が所定の閾値を超える単語を重要単語として選択する。ここでは、複数の重要単語が抽出されたものとする。
【0093】
ステップS704において、言語情報生成部624は重要単語から言語情報を生成する。例えば、言語情報生成部624は、word2vecを使用して重要単語を単語ベクトルに変換し、単語ベクトルを平均することにより、言語情報を得る。
【0094】
ステップS705において、融合情報生成部123は、対象データに含まれる画像特徴と言語情報生成部624により生成された言語情報とを含む融合情報を生成する。
【0095】
ステップS706において、物体検出部124は、モデル記憶部128に記憶されている物体検出モデルを使用して、融合情報生成部123により生成された融合情報に基づいて、参照画像に関する物体位置推定結果及び物体クラス推定結果を生成する。
【0096】
ステップS707において、更新部125は、物体検出部124により得られた物体位置推定結果及び物体クラス推定結果並びに対象データに含まれる正解物体位置情報及び正解物体クラス情報に基づいて物体検出モデルを更新する。
【0097】
ステップS708において、学習終了条件が満たされるか否かが判定される。学習終了条件が満たされていない場合(ステップS708;No)、処理はステップS702に戻り、ステップS702~S707に示す処理が繰り返される。
【0098】
学習終了条件が満たされる場合(ステップS708;Yes)、処理は終了となる。出力部116は、モデル記憶部128から学習済みの物体検出モデルを読み出し、学習済みの物体検出モデルを画像処理部610に出力する。
【0099】
図8は、物体検出装置600の画像処理部610により実行される物体検出方法を概略的に示している。図8に示すステップS801、S802、S805~S807の処理はそれぞれ図5に示したステップS501、S502、S504~S506の処理と同じであるので、ステップS801、S802、S805~S807の処理についての詳細な説明は省略する。
【0100】
ステップS801において、取得部111は入力画像及び入力画像を説明するキャプションを取得する。ステップS802において、画像特徴生成部112は入力画像から画像特徴を生成する。
【0101】
ステップS803において、重要単語抽出部611はキャプションから重要単語を抽出する。例えば、重要単語抽出部611は、キャプションから単語を抽出し、単語重要度マップを参照して個々の単語について単語重要度を特定する。例えば、重要単語抽出部611は、単語の中から単語重要度が所定の閾値を超える単語を重要単語として選択する。ここでは、複数の重要単語が抽出されたものとする。
【0102】
ステップS804において、言語情報生成部612は重要単語から言語情報を生成する。例えば、言語情報生成部612は、word2vecを使用して重要単語を単語ベクトルに変換し、単語ベクトルを平均することにより、言語情報を得る。
【0103】
ステップS805において、融合情報生成部114は画像特徴と言語情報とを含む融合情報を生成する。ステップS806において、物体検出部115は物体検出モデルを使用して融合情報に基づいて入力画像に関する物体位置推定結果及び物体クラス推定結果を生成する。ステップS807において、出力部116は入力画像に関する物体位置推定結果及び物体クラス推定結果に基づく物体検出結果を出力する。
【0104】
[効果]
物体検出装置600は、第1の実施形態に係る物体検出装置100と同様の効果を得ることができる。物体検出装置600は、画像を説明するキャプションから重要な単語を抽出し、重要な単語から言語特徴を生成する。当該構成によれば、画像中の状況をより的確に反映した言語特徴が生成される。それにより、画像から画像中の状況を理解するために重要な物体をさらに高精度に検出することが可能になる。
【0105】
<変形例>
上述した各実施形態では、学習用データセットが参照画像から生成された画像特徴を含む。学習用データセットが画像特徴に代えて参照画像を含み、物体検出モデル生成部が参照画像から画像特徴を生成する画像特徴生成部を備えるようにしてもよい。
【0106】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。さらに、上記実施形態には種々の発明が含まれており、開示される複数の構成要素から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要素からいくつかの構成要素が削除されても、課題が解決でき、効果が得られる場合には、この構成要素が削除された構成が発明として抽出され得る。
【符号の説明】
【0107】
100…物体検出装置
110…画像処理部
111…取得部
112…画像特徴生成部
113…言語情報生成部
114…融合情報生成部
115…物体検出部
116…出力部
117…モデル記憶部
120…物体検出モデル生成部
121…選択部
122…言語情報生成部
123…融合情報生成部
124…物体検出部
125…更新部
126…出力部
127…学習データ記憶部
128…モデル記憶部
201…メインニューラルネットワーク
202…物体位置推定ニューラルネットワーク
203…物体クラス分類ニューラルネットワーク
301…プロセッサ
302…RAM
303…プログラムメモリ
304…ストレージデバイス
305…入出力インタフェース
600…物体検出装置
610…画像処理部
611…重要単語抽出部
612…言語情報生成部
613…単語重要度マップ記憶部
620…物体検出モデル生成部
621…単語重要度マップ生成部
622…単語重要度マップ記憶部
623…重要単語抽出部
624…言語情報生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10