JPWO2019229979A1 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JPWO2019229979A1
JPWO2019229979A1 JP2020522543A JP2020522543A JPWO2019229979A1 JP WO2019229979 A1 JPWO2019229979 A1 JP WO2019229979A1 JP 2020522543 A JP2020522543 A JP 2020522543A JP 2020522543 A JP2020522543 A JP 2020522543A JP WO2019229979 A1 JPWO2019229979 A1 JP WO2019229979A1
Authority
JP
Japan
Prior art keywords
distribution
partial
target object
size
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020522543A
Other languages
English (en)
Other versions
JP7006782B2 (ja
Inventor
博義 宮野
博義 宮野
哲明 鈴木
哲明 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019229979A1 publication Critical patent/JPWO2019229979A1/ja
Application granted granted Critical
Publication of JP7006782B2 publication Critical patent/JP7006782B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)

Abstract

情報処理装置(2000)は、画像データ(10)内の複数の部分領域(12)それぞれについて確度データを生成する。確度データは、画像データ(10)上の位置と大きさに対応づけて、その位置にあるその大きさの画像領域に対象物体が存在する確からしさを示すデータである。情報処理装置(2000)は、各部分領域(12)について生成された確度データの総和を算出することで、位置と大きさに対する対象物体の存在確度の分布(PHD: Probability Hypothesis Density)を算出する。情報処理装置(2000)は、この PHD から、それぞれが1つの対象物体に対応する部分分布を抽出する。情報処理装置(2000)は、抽出した部分分布ごとに、その部分分布の統計値に基づいて、その部分分布が表す対象物体の位置及び大きさを出力する。

Description

本発明は画像から物体を検出する技術に関する。
画像データから物体を検出する技術が開発されている。例えば特許文献1は、ディープニューラルネットワークを利用して物体検出を行う技術を開示している。特許文献1のシステムは、畳み込みニューラルネットワークを利用して画像データの特徴マップを生成し、生成した特徴マップを region proposal network(RPN)と呼ばれるニューラルネットワークに入力することで、内部に物体が含まれる矩形領域の候補(region proposal)を多数出力する。さらにこのシステムは、box-classification layer という層でクラス分類を行うことで、候補の矩形領域に含まれる物体のクラスを推定する。また、このシステムは、box-regression convolutional layer という層で回帰を行うことで、候補の矩形領域の位置と大きさを調整する。
また、非特許文献1のシステムは、畳み込みニューラルネットワークを利用して複数の特徴マップを生成し、それぞれの特徴マップから多数の物体候補を出力する。前記それぞれの物体候補としては矩形座標と物体クラスの確からしさを含む。
特許文献1の手法も非特許文献1の手法も、上記出力には正解ではない多数の誤出力が含まれる。そのため、non-maximum surpressionと呼ばれる近接して重なりが大きい矩形候補を削減する処理を行うことで、多数の物体候補から最終的に出力する検出結果を得る。
米国特許出願公開第2017/0206431号明細書 Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott E. Reed, Cheng-Yang Fu and Alexander C. Berg, "Single Shot MultiBox Detector," ECCV 2016.
特許文献1や非特許文献1では、物体同士の重なりが大きい場合を誤検出として排除するため、逆に重なりが大きくなるケースが考慮されておらず、このようなケースでは重なっている複数の物体が1つの物体として誤って検出されてしまうと考えられる。
本願発明は上記の課題に鑑みてなされたものであり、画像データにおいて物体同士が重なっていても、各物体を区別して検出できる技術を提供することである。
本発明の情報処理装置は、1)画像データを取得し、その画像データに含まれる複数の部分領域それぞれについて、位置と大きさに対する対象物体の存在の確からしさを表す確度データを生成する生成部と、2)各部分領域について生成された確度データの総和を算出することで、位置と大きさに対する対象物体の存在の確からしさの分布を算出し、算出した分布から、それぞれが1つの対象物体に対応する1つ以上の部分分布を抽出する抽出部と、3)抽出した部分分布ごとに、その部分分布の統計値に基づいて、その部分分布に対応する対象物体の位置及び大きさを出力する出力部と、を有する。
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)画像データを取得し、その画像データに含まれる複数の部分領域それぞれについて、位置と大きさに対する対象物体の存在の確からしさを表す確度データを生成する生成ステップと、2)各部分領域について生成された確度データの総和を算出することで、位置と大きさに対する対象物体の存在の確からしさの分布を算出し、算出した分布から、それぞれが1つの対象物体に対応する1つ以上の部分分布を抽出する抽出ステップと、3)抽出した部分分布ごとに、その部分分布の統計値に基づいて、その部分分布に対応する対象物体の位置及び大きさを出力する出力ステップと、を有する。
本発明のプログラムは、コンピュータに、本発明の制御方法が有する各ステップを実行させる。
本発明によれば、画像データにおいて物体同士が重なっていても、各物体を区別して検出できる技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本実施形態の情報処理装置が行う処理を概念的に示す図である。 対象物体同士の重なりが大きい画像データを例示する図である。 実施形態1の情報処理装置の機能構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 スライディングウインドウを利用して部分領域を抽出する方法を例示する図である。 確度データの生成に用いるニューラルネットワークを例示する図である。 確からしさ Li に基づいて生成される確度データを概念的に示す図である。 確度データが示す正規分布のパラメータを出力するニューラルネットワークを例示する図である。 PHD の最大値を基準として部分分布を抽出する処理の流れを例示するフローチャートである。 部分分布に基づいて特定された対象物体の位置及び大きさを例示する図である。 ニューラルネットワークの学習を行う機能を有する情報処理装置を例示するブロック図である。 理想の PHD を例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、本実施形態の情報処理装置2000が行う処理を概念的に示す図である。情報処理装置2000は、画像データ10を取得し、画像データ10から対象物体を検出する。対象物体の検出とは、画像データ10の中から、対象物体が含まれる画像領域(例えば外接矩形)の位置と大きさを特定することを意味する。ここで、任意の物体が対象物体として扱われるようにしてもよいし、特定の種類の物体のみ(例えば人のみ)が対象物体として扱われるようにしてもよい。
情報処理装置2000は、以下で説明する方法によって物体の検出を行う。まず情報処理装置2000は、画像データ10内の複数の部分領域12それぞれについて確度データを表すパラメータを生成する。確度データは、画像データ10上の位置と大きさに対応づけて、その位置にあるその大きさの画像領域に対象物体が存在する確からしさの分布を示すデータである。具体的には、あらかじめ定められた積分が1となる確率密度関数f、生成されるパラメータをLとすると、確度データはL×fで表現される。
前記確率密度関数fとしては、例えば部分領域それぞれに応じて位置や分散の異なる正規分布を用いても良いし、あるいはまた、それぞれ特定の位置のみの存在を表現するためにδ関数を用いても良いし、他の確率密度関数を採用しても良い。ここで、δ関数とは特定の値のみ無限大となり、そのほかの値では0であり、かつ積分すると1となる関数を表す。
確度データL×fは、積分値が生成されたパラメータLの値に一致する。図1における確度データは、このような分布を示している。確度データのこれ以上の詳細については後述する。
情報処理装置2000は、各部分領域12について生成された確度データの総和を算出することで、位置と大きさに対する対象物体の存在確度の分布を算出する。この分布は、いわゆる Probability Hypothesis density(PHD)となる。PHD は積分した値が存在する物体の数に一致するという特徴を持つ分布関数である。情報処理装置2000は、この PHD から、それぞれが1つの対象物体に対応する部分的な分布(以下、部分分布)を抽出する。理想的には、前記部分分布の積分値が1になるように抽出し、それぞれが、1つの対象物体に対応する。
図1では、PHD から3つの部分分布が抽出されている。PHD の積分した値が3であり、それぞれの部分分布の積分が1になるように抽出される。なお、図1では3つの部分分布はそれぞれ重複がないように抽出されているが、それぞれの部分分布に重複があるよう抽出してもかまわない。例えば部分分布の形状として正規分布に限定すれば、それぞれの積分値は1になるが、部分分布の和と PHD との誤差が最小になるように部分分布を決定しても良い。あるいはそれぞれの部分分布として正規分布×重みに限定しても良い。前記限定の場合は積分値が重みに一致するので、部分分布の和と PHD との誤差と、重み値と1との誤差の総和を最小になるよう部分分布を決定しても良い。あるいは限定する分布形状として正規分布以外を採用しても良い。
情報処理装置2000は、抽出した部分分布ごとに、その部分分布の平均値などの統計値に基づいて、その部分分布が表す対象物体の位置及び大きさを出力する。対象物体の位置は、例えば対象物体を表す外接矩形の所定の位置(例えば左上端)の座標で表される。対象物体の大きさは、例えば対象物体を表す矩形領域の幅と高さで表すことができる。
なお、図1に示す各分布は、図示の都合上2次元(横軸:位置・大きさ×縦軸:角度)で描画されているが、実際には3次元以上の空間上の分布になる。例えば、画像領域の位置を座標で表し、画像領域の形状を矩形にしてその大きさを幅と高さで表すとする。この場合、図1に示す各分布は、5次元(X 座標、Y 座標、幅、高さ×確度)の空間上で表現される。
<作用効果>
本実施形態の情報処理装置2000によれば、前述したように、部分領域ごとに算出した確度データを積算することで PHD を算出し、そこから1つの対象物体を表す部分分布を抽出するという方法で、対象物体が検出される。この方法によれば、対象物体同士の重なりが大きい場合であっても、これらを高い精度で区別し、それぞれ別の対象物体として検出することができる。以下、その理由を、図2を参照して説明する。
図2は、対象物体同士の重なりが大きい画像データ10を例示する図である。画像データ10は、二人の人物がすれ違っている様子が撮像されたものである。画像データ10から正しく人物を検出すると、二人の人物が検出される。しかしながら既存の手法では、このように物体同士の重なりが大きい人物を区別して検出することが難しく、二人の人物をまとめて一人の人物として検出してしまう蓋然性が高い。
この点、本実施形態の情報処理装置2000は、部分領域12ごとに生成した確度データを積算して得られる PHD を生成する。この PHD は、任意の区間で積分した値がその区間の対象物体の数を表す。このように、情報処理装置2000では、各部分領域12から得られた情報を統合した情報である PHD の中に、対象物体の数に関する情報が含まれることになる。このように対象物体の数に関する情報を含む PHD の積分値を確認することで、対象物体同士の重なりが大きい画像データからも、各対象物体を精度良く検出することができる。
具体的には、PHD から積分値が1となる部分分布を抽出する。これにより、対象物体同士の重なりが大きかったとしても、それらの対象物体を切り離して、各対象物体に対応する画像領域の位置及び大きさの確率分布を得ることができる。例えば図2では、PHD から、斜線で塗られた部分分布とドット柄で塗られた部分分布が抽出されている。そして、抽出された部分分布ごとに対象物体の位置及び大きさを特定することで、各対象物体を検出することができる。
なお、図1や図2を参照した上述の説明は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の機能を限定するものではない。以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図3は、実施形態1の情報処理装置2000の機能構成を例示する図である。情報処理装置2000は、生成部2020、抽出部2040、及び出力部2060を有する。生成部2020は、画像データ10を取得し、その画像データ10に含まれる複数の部分領域12それぞれについて確度データを生成する。抽出部2040は、各部分領域12について生成された確度データの総和を算出することで PHD を算出する。抽出部2040は、算出した PHDから、それぞれが1つの対象物体に対応する1つ以上の部分分布を抽出する。出力部2060は、抽出した部分分布ごとに、その部分分布の統計値に基づいて、その部分分布が表す対象物体の位置及び大きさを出力する。
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図4は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)やサーバマシンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
ストレージデバイス1080は、情報処理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
<処理の流れ>
図5は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。生成部2020は、画像データ10を取得する(S102)。生成部2020は、画像データ10に含まれる複数の部分領域12ごとに確度データを生成する(S104)。抽出部2040は、各確度データが表す確度を積算して PHD を算出する(S106)。抽出部2040は、PHD から1つ以上の部分分布を抽出する(S108)。出力部2060は、各部分分布ごとに、部分分布に対応する対象物体の位置及び大きさを出力する(S110)。
情報処理装置2000が図5に示す一連の処理を実行する契機は任意である。例えば情報処理装置2000は、画像データ10が入力されたことに応じて上記一連の処理を実行する。その他にも例えば、情報処理装置2000は、ユーザからの所定の入力操作に応じて、上記一連の処理を実行してもよい。
<画像データ10の取得:S102>
生成部2020は画像データ10を取得する(S102)。画像データ10としては、任意の画像データを利用できる。例えば画像データ10は、カメラによって生成された撮像画像である。このカメラは、スチルカメラであってもよいしビデオカメラであってもよい。なお、「カメラによって生成された撮像画像」は、カメラによって生成された撮像画像そのものであってもよいし、カメラによって生成された撮像画像に何らかの加工が加えられたものであってもよい。
画像データ10として撮像画像を利用する場合、情報処理装置2000は、その画像データ10を生成するカメラの内部で実現されてもよい。例えば監視カメラの内部で情報処理装置2000を実現することにより、監視カメラによって生成される監視映像からリアルタイムで物体を検出することができる。このように内部に情報処理装置2000の機能を持たせるカメラとしては、例えば、インテリジェントカメラ、IP(Internet Protocol)カメラ、ネットワークカメラなどと呼ばれる種類のカメラを利用することができる。
生成部2020が画像データ10を取得する方法は任意である。例えば生成部2020は、画像データ10が記憶されている記憶装置から画像データ10を取得する。画像データ10が記憶されている記憶装置は、情報処理装置2000の内部に設けられていてもよいし、外部に設けられていてもよい。その他にも例えば、情報処理装置2000は、ユーザによる入力操作によって入力される画像データ10を取得する。その他にも例えば、生成部2020は、他の装置によって送信される画像データ10を受信することで、画像データ10を取得する。
<部分領域12について>
部分領域12は、画像データ10に含まれる部分的な画像領域である。部分領域12は、その位置及び大きさの少なくとも一方について、他の部分領域12と互いに異なる。
生成部2020は、画像データ10に含まれる各部分領域12を抽出し、抽出した部分領域12を解析することで、各部分領域12についての確度データを生成する。部分領域12は、例えばスライディングウインドウを利用して抽出することができる。図6は、スライディングウインドウを利用して部分領域12を抽出する方法を例示する図である。情報処理装置2000は、所定の大きさ(幅:Ws、高さ:Hs)のスライディングウインドウを所定のストライド d で移動させる。各位置のスライディングウインドウからは、大きさが異なる複数の画像領域を抽出され、それぞれが部分領域12として扱われる。こうすることで、位置と大きさが様々な部分領域12を抽出することができる。なお、このようにして抽出する部分領域12としては、例えば特許文献1に開示されている Anchor box を用いた手法を利用できる。
部分領域12は、画像データ10から直接抽出されるのではなく、画像データ10から生成した特徴マップから抽出されてもよい。この場合、後述するニューラルネットワーク20は、例えば、画像データ10から特徴マップを抽出する層(畳み込みニューラルネットワークにおける畳み込み層など)と、その層から出力される特徴マップから部分領域12を抽出して確度データを生成する層とで構成される。
ここで、部分領域12の形状は必ずしも矩形に限定されない。例えば、部分領域12の形状を正円にする場合、部分領域12は、中心座標と半径の長さで表すことができる。また、部分領域12を頂点の集合で表すようにすれば、任意の形状の多角形を部分領域12として扱うことができる。この場合、部分領域12の頂点の集合により、部分領域12の位置及び大きさの双方が定まる。
<確度データの生成:S104>
生成部2020は、画像データ10に含まれる複数の部分領域12ごとに確度データを表すパラメータを生成し、確度データを生成する(S104)。例えば確度データを表すパラメータは、ニューラルネットワークを利用して生成される。図7は、確度データを表すパラメータ生成に用いるニューラルネットワークを例示する図である。ニューラルネットワーク20は、画像データ10が入力されたことに応じ、画像データ10に含まれる各部分領域12について、その位置及び大きさの画像領域に対象物体が存在する確からしさ Li を出力する。Li は、i番目の部分領域12について出力される確からしさである。
例えば生成部2020は、確からしさ Li に基づいて定まる分布を確度データとして設定する。
図8は、確からしさ Li に基づいて生成される確度データを概念的に示す図である。図8の上段において、確度データは、確からしさ Li に基づいて生成される、分散が0の分布である。この分布は、δ関数を用い、Li×δ関数と表される。
一方、図8の下段における確度データは、分散が0ではない分布を表す。例えば、基準とする分布(以下、基準分布)として、正規分布などの所定のモデルに従った分布を予め定めておく。正規分布を利用する場合、例えば基準分布は、積分値が1であり、平均が部分領域12の位置及び大きさであり、分散が所定の値である分布とすることができる。分散に設定しておく値は任意である。
生成部2020は、基準分布に確からしさ Li を乗算することで、確度データを生成する。例えば図8の下段では、基準分布のモデルが正規分布である。そして、部分領域12の位置(xi, yi)と部分領域12の大きさ(wi, hi)に基づき、基準分布の平均が(xi, yi, wi, hi)となっている。また、基準分布の分散は vi である。このことから、基準分布は N((xi, yi, wi, hi), vi) である。さらに、ニューラルネットワーク20から出力された確度が Li である。そこで、生成部2020は、基準分布に Li を乗算することで、確度データが示す分布を生成している。得られた確度データの分布は積分値がLiになっている。
ここで、分布モデルに従った基準分布を予め定めておくのではなく、分布モデルのパラメータがニューラルネットワーク20から出力されるようにしてもよい。例えば正規分布を利用する場合、分布モデルのパラメータは、前述した平均と分散である。そこで、ニューラルネットワーク20が、部分領域12ごとに平均や分散を出力するようにする。
図9は、確度データが示す正規分布のパラメータを出力するニューラルネットワーク20を例示する図である。図9では、部分領域12ごとに「確からしさ Li、正規分布の平均を表す(xiu, yiu, wiu, hiu)、正規分布の分散 vi」が出力されている。そこで生成部2020は、部分領域12ごとに、ニューラルネットワーク20から出力された平均と分散で定まる正規分布に確からしさ Li を乗算することで、確度データが示す分布を生成する。
ここで、ニューラルネットワーク20から出力される位置(xi, yi)は、対応するi番目の部分領域12の元々の位置とは異なってもよい。同様に、ニューラルネットワーク20から出力される大きさ(wi, hi)も、対応するi番目の部分領域12の元々の大きさとは異なってもよい。これは、後述するように、理想の PHD を出力するようにニューラルネットワーク20を学習させることにより、ニューラルネットワーク20が部分領域12の中に対象物体が含まれる確度を高くするように部分領域12の位置及び大きさを調整して出力するようになるためである。
なお、ニューラルネットワーク20は必ずしも分布モデルのパラメータの全てを出力する必要はなく、その一部のみを出力してもよい。例えば、正規分布の平均がニューラルネットワーク20から出力され、分散については予め定めておいた値を利用する。
ニューラルネットワーク20が上述した動作を行うようにするためには、そのような動作が行われるようにニューラルネットワーク20を予め学習させておく必要がある。ニューラルネットワーク20の学習方法については後述する。なお、ニューラルネットワークの内部構造(層の数と順序、各層の種類、及び各層の結合関係など)は任意である。例えば、ニューラルネットワーク20の構造には、非特許文献1に記載されている region proposal network(RPN)と同じものを採用できる。あるいは非特許文献1に記載されているネットワークを利用しても良い。
なお、確度データの生成は必ずしもニューラルネットワークを用いて行われる必要はなく、画像データの中の複数の部分領域それぞれについて、その部分領域に対象の物体が含まれる確度を算出する既存の他の手法を利用することもできる。
<部分分布の抽出:S108>
抽出部2040は、PHD から1つ以上の部分分布を抽出する。部分分布は、その内部に1つの対象物体を含む部分領域について、その部分領域の位置及び大きさに対する対象物体の存在確率を表す確率分布である。部分分布は確率分布であり、その積分値は1である。
まず抽出部2040は、PHD に基づいて、画像データ10に含まれる対象物体の個数を算出する。具体的には、抽出部2040は、PHD の積分値を算出し、算出した積分値を、画像データ10に含まれる対象物体の個数とする。ただし、誤差等により、PHD の積分値が対象物体の数と完全には一致せず、自然数とならないことも考えられる。そこでこの場合、抽出部2040は、PHD の積分値の概算値(例えば1未満の値を切り捨てた値)を、対象物体の個数として扱う。
抽出部2040は、算出した個数の部分分布を PHD から抽出する。例えば抽出部2040は、PHD の最大値を基準として、PHD から部分分布を抽出していく。図10は、PHD の最大値を基準として部分分布を抽出する処理の流れを例示するフローチャートである。図10のフローチャートが示すループ処理は、カウンタ i が PHD の積分値 S 未満である間繰り返し実行される。カウンタ i は、最初に0に初期化され、ループ処理が実行されるごとに1ずつインクリメントされる。この場合、部分分布の個数は S 以下の最大の整数となる。
S202において、抽出部2040は、カウンタ i が S 未満であるか否かを判定する。 i が S 未満であれば、図10の処理はS204に進む。一方、i が S 以上であれば、図10の処理は終了する。
抽出部2040は、PHD の最大値に対応する位置及び大きさを特定する(S204)。抽出部2040は、その位置及び大きさを中心とし、積分値が1となる部分分布を、PHD から抽出する(PHD から取り除く)(S206)。S208はループ処理の終端であるため、処理はS202に戻る。
ここで、PHD から部分分布を抽出する方法には、図10に示した方法だけでなく、任意の空間クラスタリングの手法を利用できる。例えばそれぞれの出力結果を Li とし、あらかじめ設定された確率密度関数を fi とすると、PHDは出力結果の総和としてΣi(Li×fi)と書くことができる。すべての出力結果 fi が表す位置の距離を計算し、距離が小さいもの同士を足して総数を所定の数まで減らしていく階層的クラスタリングを採用しても良い。この時、なるべく Li は1に近くなるようにすることが望ましいことから、例えば出力 i と出力 i’を足す際に、「(1-Li)の2乗と(1-Li’)の2乗の平均」と「Li+Li’と1との差の2乗」とを比較して、前者のほうが小さい場合には足す処理を行わない、といった処理を行っても良い。あるいはさまざまなクラスタリング手法を実施して、その中から 1-Li の2乗の総和が最も小さくなるような結果を選択しても良い。
<結果の出力:S110>
出力部2060は、抽出した部分分布ごとに、その部分分布が表す対象物体の位置及び大きさを出力する(S110)。具体的には、出力部2060は、部分分布の統計値によって、対象物体の位置及び大きさを特定する。例えば出力部2060は、部分分布の平均を、対象物体の位置及び大きさとする。その他にも例えば、出力部2060は、部分分布の最大値に対応する位置及び大きさを、対象物体の位置及び大きさとしてもよい。そして、出力部2060は、特定した位置及び大きさを部分分布ごとに出力する。
図11は、部分分布に基づいて特定された対象物体の位置及び大きさを例示する図である。図11では、PHD から2つの部分分布 D1 と D2 が抽出されている。出力部2060は、部分分布 D1 に基づいて、対象物体の位置(x1, y1)と大きさ(w1, h1)を特定している。同様に、出力部2060は、部分分布 D2 に基づいて、対象物体の位置(x2, y2)と大きさ(w2, h2)を特定している。このことから、位置(x1, y1)にある幅 w1 かつ高さ h1 の画像領域と、位置(x2, y2)にある幅 w2 かつ高さ h2 の画像領域がそれぞれ、対象物体を表している。
ここで出力部2060が対象物体の位置及び大きさを出力する態様は様々である。例えば出力部2060は、「対象物体に割り当てた識別子、その対象物体の位置、その対象物体の大きさ」という組み合わせを対象物体ごとに示すデータ(例えばリスト)を、画像データ10に対応づけて記憶装置に記憶させる。なお、画像データから検出された物体に識別子を割り当てる方法は任意である。
その他にも例えば、出力部2060は、図11に示したように、特定された対象物体の位置及び大きさを表す表示(例えば枠)を画像データ10に重畳させて出力してもよい。この出力先は任意であり、例えば記憶装置やディスプレイ装置などとすることができる。
なお、出力部2060は、対象物体の個数をさらに出力してもよい。対象物体の個数の算出方法については、前述した通りである。
<ニューラルネットワーク20の学習>
前述したように、ニューラルネットワーク20は事前に学習させておく必要がある。ここで、ニューラルネットワーク20の学習は、情報処理装置2000によって行われてもよいし、情報処理装置2000以外の装置によって行われてもよい。ここでは、情報処理装置2000がニューラルネットワーク20の学習を行うと仮定して説明を行う。図12は、ニューラルネットワーク20の学習を行う機能を有する情報処理装置2000を例示するブロック図である。情報処理装置2000の学習は、学習部2080によって実行される。
学習部2080は、ニューラルネットワーク20の実際の出力に基づく PHD と理想の PHD との間の予測損失を算出する。理想のPHDは正解の物体を表す矩形の位置を中心としたあらかじめ分散を指定してある正規分布の和として表現すれば良い。あるいは分散を0にしたδ関数として扱っても良いし、他の関数を用いても良い。次に前記予測損失に基づいてニューラルネットワーク20の学習を行う。より具体的には、学習部2080は、算出した予測損失をニューラルネットワーク20の出力ノードから逆順に伝播させていく(バックプロパゲーションする)ことで、ニューラルネットワーク20のパラメータ(重みやバイアスの値)を更新することにより、ニューラルネットワーク20の学習を行う。ここで、予測損失に基づくバックプロパゲーションによってニューラルネットワークの学習を行う方法には、勾配降下法など、既存の種々の方法を利用できる。以下では、ニューラルネットワーク20の学習に利用する予測損失の定め方及びその算出方法を説明する。
学習部2080は、学習用の画像データ(以下、学習画像データ)をニューラルネットワーク20に入力することで得られる実際の出力を用いて、実際の出力に対応する PHD を算出する。さらに学習部2080は、実際の出力に対応する PHD と、学習画像データに基づいて予め定まる理想の PHD との間で、予測損失を算出する。例えば予測損失は、これらの間の二乗誤差を用いれば良い。あるいは積分値で除算すれば積分値が1の確率密度関数として扱えるため、確率密度関数の誤差として扱える任意の手法を用いても良い。例えば、理想の確率密度関数と実際の出力に対応する確率密度関数の積のマイナス値を損失としても良い。あるいは積分値の誤差を損失として扱っても良いし、前記いくつかの損失を組み合わせても良い。
より具体的な例としては、実際の出力に対応する PHD は、それぞれの出力結果を Li とし、あらかじめ設定された確率密度関数を fi とすると、Σi(Li×fi) と書くことができる。また、理想的な PHD としては、正解となるそれぞれの物体の矩形の位置を yj とし、PHD を計算するためのベースとなる分布を gj とすると、Σj(gj) と書くことができる。両者の誤差を小さくする手法として、あらかじめそれぞれの正解 j に対して近い出力 i を1つないし複数割り当てる。前記割り当てた数を Nj とすると、割り当てた i に対する Li と (1/Nj) との誤差、例えば (Li-1/Nj) の2乗を最小化しても良い。これは積分値が一致するように Li を学習する1つの手法である。
理想の PHD は、学習画像データにおいて対象物体が存在する各画像領域について、その画像領域の位置及び大きさの位置において確度が1であって分散が0の分布(δ関数)を示す。図13は理想の PHD を例示する図である。図13において、学習画像データ30には、2つの画像領域40−1と40−2に対象物体が含まれている。画像領域40−1の位置は(x1, y1)で、大きさは(w1, h1)である。そのため、理想の PHD は、(x1, y1, w1, h1)がピークとなるδ関数を示している。また、画像領域40−2の位置は(x2, y2)で、大きさは(w2, h2)である。そのため、理想の PHD は、(x2, y2, w2, h2)がピークとなるδ関数を示している。
学習画像データに対応する理想の PHD は、例えば、人手で予め生成しておき、学習画像データと対応づけて記憶装置に記憶させておく。学習部2080は、このように用意されている学習画像データと理想の PHD との組み合わせを1つ以上用いて、ニューラルネットワーク20の学習を行う。
[実施形態2]
実施形態2の情報処理装置2000は、複数種類の対象物体を区別して扱う。そのために、実施形態2の生成部2020は、それぞれ異なる種類の対象物体ごとに、確度データを生成する。そのため、1つの部分領域12について、対象物体の種類ごとに確度データが生成される。
また、実施形態2の抽出部2040は、PHD を対象物体の種類ごとに生成する。これは、確度データの積算を対象物体の種類ごとに行うことで実現する。そして抽出部2040は、各 PHD から部分分布を抽出する。
実施形態2の出力部2060は、各部分分布に対応する対象物体の位置及び大きさを出力する。ここで、各部分分布は、いずれかの種類の対象物体に対応する。そこで出力部2060は、部分分布に対応する対象物体の位置及び大きさを、その対象物体の種類と共に出力する。
ニューラルネットワーク20を利用して情報処理装置2000を実現する場合、例えば情報処理装置2000は、対象物体の種類ごとにニューラルネットワーク20を有する。各ニューラルネットワーク20は、対応する種類の対象物体を検出するように予め学習させておく。例えば、対象物体として人を扱うニューラルネットワーク20については、理想の PHD が、学習画像データにおいて人を表す画像領域の位置及び大きさに対して確度1を示し、その他の画像領域(物体が存在しないか、又は人以外の物体が存在する画像領域)の位置及び大きさに対して確度0を示すようにする。
このことから、学習画像データに対し、対象物体の種類ごとに理想の PHD が用意される。学習部2080は、或る種類の対象物体を検出するためのニューラルネットワーク20を、「学習画像データ、その種類の対象物体についての理想の PHD」との組み合わせを用いて学習させる。
<ハードウエア構成の例>
実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用効果>
本実施形態の情報処理装置2000によれば、対象物体をその種類ごとに検出することができる。よって、互いに異なる種類の対象物体の位置を、その種類も含めて把握することができるようになる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。

Claims (13)

  1. 画像データを取得し、その画像データに含まれる複数の部分領域それぞれについて、位置と大きさに対する対象物体の存在の確からしさを表す確度データを生成する生成部と、
    各前記部分領域について生成された確度データの総和を算出することで、位置と大きさに対する前記対象物体の存在の確からしさの分布を算出し、前記算出した分布から、それぞれが1つの前記対象物体に対応する1つ以上の部分分布を抽出する抽出部と、
    前記抽出した部分分布ごとに、その部分分布の統計値に基づいて、その部分分布に対応する対象物体の位置及び大きさを出力する出力部と、を有する情報処理装置。
  2. 前記生成部は、画像データに含まれる複数の部分領域それぞれについて前記確度データを出力するニューラルネットワークを含み、そのニューラルネットワークに前記取得した画像データを入力することで、その画像データに含まれる複数の部分領域それぞれについて前記確度データを生成する、請求項1に記載の情報処理装置。
  3. 前記確度データは、部分領域の位置及び大きさに対してその位置及び大きさの部分領域に物体が存在する確からしさを示す分布を、所定のモデルに従った分布で表し、
    前記ニューラルネットワークは、前記部分領域ごとに、その部分領域に対象物体が存在する確からしさと前記所定のモデルのパラメータ値を出力する、請求項2に記載の情報処理装置。
  4. 前記抽出部は、
    前記確度データの総和で表される分布の積分値に基づいて、前記画像データに含まれる物体の個数を算出し、
    前記確度データの総和で表される分布から、前記個数の前記部分分布を抽出する、請求項1乃至3いずれか一項に記載の情報処理装置。
  5. 前記抽出部は、前記確度データの総和で表される分布から、それぞれ積分値が1である前記部分分布を抽出する、請求項1乃至4いずれか一項に記載の情報処理装置。
  6. 前記生成部は、それぞれ異なる種類の前記対象物体ごとに前記確度データを生成し、
    前記抽出部は、それぞれ異なる種類の前記対象物体ごとに、前記対象物体の存在の確からしさの分布の算出、及びその分布からの前記部分分布の抽出を行い、
    前記出力部は、各前記部分分布に対応する対象物体の位置及び大きさを、その部分分布に対応する前記対象物体の種類と共に出力する、請求項1乃至5いずれか一項に記載の情報処理装置。
  7. コンピュータによって実行される制御方法であって、
    画像データを取得し、その画像データに含まれる複数の部分領域それぞれについて、位置と大きさに対する対象物体の存在の確からしさを表す確度データを生成する生成ステップと、
    各前記部分領域について生成された確度データの総和を算出することで、位置と大きさに対する前記対象物体の存在の確からしさの分布を算出し、前記算出した分布から、それぞれが1つの前記対象物体に対応する1つ以上の部分分布を抽出する抽出ステップと、
    前記抽出した部分分布ごとに、その部分分布の統計値に基づいて、その部分分布に対応する対象物体の位置及び大きさを出力する出力ステップと、を有する制御方法。
  8. 前記生成ステップにおいて、画像データに含まれる複数の部分領域それぞれについて前記確度データを出力するニューラルネットワークを含み、そのニューラルネットワークに前記取得した画像データを入力することで、その画像データに含まれる複数の部分領域それぞれについて前記確度データを生成する、請求項7に記載の制御方法。
  9. 前記確度データは、部分領域の位置及び大きさに対してその位置及び大きさの部分領域に物体が存在する確からしさを示す分布を、所定のモデルに従った分布で表し、
    前記ニューラルネットワークは、前記部分領域ごとに、その部分領域に対象物体が存在する確からしさと前記所定のモデルのパラメータ値を出力する、請求項8に記載の制御方法。
  10. 前記抽出ステップにおいて、
    前記確度データの総和で表される分布の積分値に基づいて、前記画像データに含まれる物体の個数を算出し、
    前記確度データの総和で表される分布から、前記個数の前記部分分布を抽出する、請求項7乃至9いずれか一項に記載の制御方法。
  11. 前記抽出ステップにおいて、前記確度データの総和で表される分布から、それぞれ積分値が1である前記部分分布を抽出する、請求項7乃至10いずれか一項に記載の制御方法。
  12. 前記生成ステップにおいて、それぞれ異なる種類の前記対象物体ごとに前記確度データを生成し、
    前記抽出ステップにおいて、それぞれ異なる種類の前記対象物体ごとに、前記対象物体の存在の確からしさの分布の算出、及びその分布からの前記部分分布の抽出を行い、
    前記出力ステップは、各前記部分分布に対応する対象物体の位置及び大きさを、その部分分布に対応する前記対象物体の種類と共に出力する、請求項7乃至11いずれか一項に記載の制御方法。
  13. 請求項7乃至12いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2020522543A 2018-06-01 2018-06-01 情報処理装置、制御方法、及びプログラム Active JP7006782B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/021207 WO2019229979A1 (ja) 2018-06-01 2018-06-01 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019229979A1 true JPWO2019229979A1 (ja) 2021-05-13
JP7006782B2 JP7006782B2 (ja) 2022-01-24

Family

ID=68696866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020522543A Active JP7006782B2 (ja) 2018-06-01 2018-06-01 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (2) US20210209396A1 (ja)
JP (1) JP7006782B2 (ja)
WO (1) WO2019229979A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020240809A1 (ja) * 2019-05-31 2020-12-03 楽天株式会社 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
JP7490359B2 (ja) * 2019-12-24 2024-05-27 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2024024048A1 (ja) * 2022-07-28 2024-02-01 日本電信電話株式会社 物体検出装置、物体検出方法、及び物体検出プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012159958A (ja) * 2011-01-31 2012-08-23 Secom Co Ltd 移動物体追跡装置
JP2013077202A (ja) * 2011-09-30 2013-04-25 Secom Co Ltd 移動物体追跡装置
WO2015008432A1 (ja) * 2013-07-17 2015-01-22 日本電気株式会社 物体追跡装置、物体追跡方法および物体追跡プログラム
WO2016114134A1 (ja) * 2015-01-14 2016-07-21 日本電気株式会社 移動状況推定装置、移動状況推定方法およびプログラム記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051711A (ko) * 2013-11-05 2015-05-13 한국전자통신연구원 유해 콘텐츠 영상 차단을 위한 피부 영역 추출 장치 및 방법
JP2016162072A (ja) * 2015-02-27 2016-09-05 株式会社東芝 特徴量抽出装置
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012159958A (ja) * 2011-01-31 2012-08-23 Secom Co Ltd 移動物体追跡装置
JP2013077202A (ja) * 2011-09-30 2013-04-25 Secom Co Ltd 移動物体追跡装置
WO2015008432A1 (ja) * 2013-07-17 2015-01-22 日本電気株式会社 物体追跡装置、物体追跡方法および物体追跡プログラム
WO2016114134A1 (ja) * 2015-01-14 2016-07-21 日本電気株式会社 移動状況推定装置、移動状況推定方法およびプログラム記録媒体

Also Published As

Publication number Publication date
US20230368033A1 (en) 2023-11-16
JP7006782B2 (ja) 2022-01-24
WO2019229979A1 (ja) 2019-12-05
US20210209396A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
US10762376B2 (en) Method and apparatus for detecting text
US10755120B2 (en) End-to-end lightweight method and apparatus for license plate recognition
US10977523B2 (en) Methods and apparatuses for identifying object category, and electronic devices
CN108038880B (zh) 用于处理图像的方法和装置
CN109343920B (zh) 一种图像处理方法及其装置、设备和存储介质
US10410354B1 (en) Method and apparatus for multi-model primitive fitting based on deep geometric boundary and instance aware segmentation
US11288548B2 (en) Target detection method and apparatus, and computer device
US20230368033A1 (en) Information processing device, control method, and program
JP5227629B2 (ja) オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム
JP6872044B2 (ja) 対象物の外接枠を決定するための方法、装置、媒体及び機器
CN110443258B (zh) 文字检测方法、装置、电子设备及存储介质
US11176425B2 (en) Joint detection and description systems and methods
CN109389105B (zh) 一种基于多任务的虹膜检测和视角分类方法
CN114677565B (zh) 特征提取网络的训练方法和图像处理方法、装置
KR20180107988A (ko) 객체 탐지 장치 및 방법
CN114187483A (zh) 生成对抗样本的方法、检测器的训练方法及相关设备
CN111353325A (zh) 关键点检测模型训练方法及装置
WO2023167817A1 (en) Systems and methods of uncertainty-aware self-supervised-learning for malware and threat detection
CN113658195B (zh) 图像分割方法、装置及电子设备
CN113139540B (zh) 背板检测方法及设备
CN115471863A (zh) 三维姿态的获取方法、模型训练方法和相关设备
EP3076370A1 (en) Method and system for selecting optimum values for parameter set for disparity calculation
JP7369247B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN116740721B (zh) 手指查句方法、装置、电子设备及计算机存储介质
US20240028784A1 (en) Segmenting a building scene

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220