JP7239002B2 - 物体数推定装置、制御方法、及びプログラム - Google Patents

物体数推定装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP7239002B2
JP7239002B2 JP2021541930A JP2021541930A JP7239002B2 JP 7239002 B2 JP7239002 B2 JP 7239002B2 JP 2021541930 A JP2021541930 A JP 2021541930A JP 2021541930 A JP2021541930 A JP 2021541930A JP 7239002 B2 JP7239002 B2 JP 7239002B2
Authority
JP
Japan
Prior art keywords
estimation
network
objects
target
size
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.)
Active
Application number
JP2021541930A
Other languages
English (en)
Other versions
JPWO2021038840A5 (ja
JPWO2021038840A1 (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 JPWO2021038840A1 publication Critical patent/JPWO2021038840A1/ja
Publication of JPWO2021038840A5 publication Critical patent/JPWO2021038840A5/ja
Application granted granted Critical
Publication of JP7239002B2 publication Critical patent/JP7239002B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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/045Combinations of networks
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image

Landscapes

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

Description

本発明は、画像に含まれる物体の数を推定する技術に関する。
画像に含まれる物体の数を推定する技術が開発されている。例えば特許文献1には、入力画像に対して予め設定された部分領域に基づいて、入力画像から部分画像を抽出し、学習済みの推定器に抽出された部分画像を入力することで、部分領域毎の人数を推定する技術が開示されている。ここで、この発明では、入力である部分画像のサイズ(部分領域のサイズ)と計数の対象になる物体のサイズとが一定の関係(一定の比率)であることを前提としている。
国際公開第2014/207991号
特許文献1の発明には、前述した部分領域の設定に要する労力が大きいという問題がある。入力画像の任意の位置における画像上の頭部サイズ(見え方)を確認しながら、その頭部サイズに対応する部分領域のサイズを求めて、入力画像の任意の位置に部分領域を設定していく必要があるためである。
なお、部分領域を設定するその他の方法として、カメラの姿勢を示すカメラパラメータを用いる方法がある。具体的には、カメラパラメータを推定し、推定されたカメラパラメータを用いて、入力画像の任意の位置における頭部サイズを計算し、任意の位置における部分領域のサイズを自動で計算し設定していくという方法である。しかし、この方法では、正確なカメラパラメータの推定に要する労力が大きいため、結果として、やはり部分領域の設定に要する全体の労力は大きくなる。
本願発明は上述した課題に鑑みてなされたものであり、その目的の一つは、少ない労力で画像に含まれる物体の数を推定する技術を提供することである。
本発明の物体数推定装置は、1)対象画像に対して畳み込み処理を行うことで第1特徴マップ及び第2特徴マップを生成する特徴抽出ネットワークと、2)第1特徴マップのセルごとに、そのセルに対応する対象画像の画像領域である第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を推定する第1計数ネットワークと、3)第2特徴マップのセルごとに、そのセルに対応する対象画像の画像領域である第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を推定する第2計数ネットワークと、を有する。
第1特徴マップのサイズは第2特徴マップのサイズよりも大きい。第1所定範囲に含まれるサイズは、第2所定範囲に含まれるサイズよりも小さい。
本発明の制御方法はコンピュータによって実行される。このコンピュータは、1)対象画像に対して畳み込み処理を行うことで第1特徴マップ及び第2特徴マップを生成する特徴抽出ネットワークと、2)第1特徴マップのセルごとに、そのセルに対応する対象画像の画像領域である第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を推定する第1計数ネットワークと、3)第2特徴マップのセルごとに、そのセルに対応する対象画像の画像領域である第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を推定する第2計数ネットワークと、を有する。
当該制御方法は、1)特徴抽出ネットワークが、対象画像から第1特徴マップと第2特徴マップを生成し、2)第1計数ネットワークが、第1特徴マップを用いて、第1推定領域ごとに、第1所定範囲内のサイズを持つ対象物体の数を推定し、3)第2計数ネットワークが、第2特徴マップを用いて、第2推定領域ごとに、第2所定範囲内のサイズを持つ対象物体の数を推定する。
第1特徴マップのサイズは第2特徴マップのサイズよりも大きい。第1所定範囲に含まれるサイズは、第2所定範囲に含まれるサイズよりも小さい。
本発明のプログラムは、コンピュータに、本発明の制御方法を実行させる。
本発明によれば、少ない労力で画像に含まれる物体の数を推定する技術が提供される。
発明の実施形態の物体数推定装置が行う処理を概念的に示す図である。 特徴マップと入力画像(対象画像)の対応関係を例示する図である。 実施形態1の物体数推定装置の機能構成を例示するブロック図である。 物体数推定装置を実現するための計算機を例示する図である。 実施形態1の物体数推定装置によって実行される処理の流れを例示するフローチャートである。 特徴抽出ネットワークと計数ネットワークをn個ずつ備える物体数推定装置を例示する図である。 実施形態2の物体数推定装置の機能構成を例示するブロック図である。 第1計数ネットワークの出力と第1存在推定ネットワークの出力に基づいて、第1所定範囲内のサイズを持つ対象物体の数を算出する方法を例示する図である。 実施形態3の物体数推定装置2000の機能構成を例示するブロック図である。 実施形態4の物体数推定装置の機能構成を例示するブロック図である。 実施形態4の物体数推定装置によって実行される処理の流れを例示するフローチャートである。 学習データ生成部を有する物体数推定装置の機能構成を例示するブロック図である。 実施形態5の物体数推定装置の機能構成を例示するブロック図である。 実施形態6の物体数推定装置の機能構成を例示するブロック図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、本実施形態の物体数推定装置2000が行う処理を概念的に示す図である。物体数推定装置2000は、画像を取得し、取得した画像に含まれる所定の種類の物体の数を推定する。以下、推定の対象となる画像のことを、対象画像10と呼ぶ。また、推定の対象となる所定の種類の物体を、対象物体と呼ぶ。なお、図1において、対象画像10は、チャネル方向を省略して記載されている。例えば対象画像10としてカラー画像を利用する場合、対象画像10を受け付ける入力のチャネル数は2以上(例えばRGB画像なら3)に設定されうる。
上記所定の種類としては、人、車、木、動物、又は傘などといった様々な種類を採用できる。すなわち、物体数推定装置2000は、対象画像10に含まれる人の数や車の数などを推定する。また、所定の種類は、物体の一部(例えば、頭部、手、又は足などといった人の体の一部)であってもよい。例えば対象物体が「人の頭部」である場合、物体数推定装置2000は、対象画像10に含まれる人の頭部の数を推定する。なお、以降の説明では、特に断らない限り、人の頭部を対象物体として扱う。
物体数推定装置2000は、第1特徴抽出ネットワーク2042、第1計数ネットワーク2044、第2特徴抽出ネットワーク2062、及び第2計数ネットワーク2064を有する。第1特徴抽出ネットワーク2042は、対象画像10に対して畳み込み処理を行うことで、第1特徴マップ20を生成する。第1計数ネットワーク2044には、第1特徴マップ20が入力される。そして、第1計数ネットワーク2044は、第1特徴マップ20に対して処理(例えば畳み込み処理)を行うことで、第1特徴マップ20の各セル(要素)に対応する対象画像10の画像領域(以下、第1推定領域)ごとに、第1所定範囲内のサイズを持つ対象物体の数を推定する。例えば第1特徴抽出ネットワーク2042と第1計数ネットワーク2044はいずれも、畳み込みニューラルネットワークで実現される。なお、図1において、第1特徴マップ20と後述する第2特徴マップ30は、チャネル方向を省略して記載されている。特徴マップについてのチャネル数は、1以上の任意の数に設定しうる。
第2特徴抽出ネットワーク2062は、第1特徴抽出ネットワーク2042によって生成された第1特徴マップ20を取得し、第1特徴マップ20に対して畳み込み処理を行うことで、第2特徴マップ30を生成する。すなわち、第2特徴マップ30は、第1特徴マップ20に対してさらに畳み込み処理を行うことで生成される特徴マップである。畳み込み処理により、第2特徴マップ30のサイズは、第1特徴マップ20のサイズよりも小さくなる。例えば第2特徴抽出ネットワーク2062は、畳み込みニューラルネットワークで実現される。
なお、第1特徴抽出ネットワーク2042と第2特徴抽出ネットワーク2062によって一つの大きなネットワークが構成されていると捉えることもできる。すなわち、対象画像10を入力することで第2特徴マップ30が出力されるネットワークの前半部分が第1特徴抽出ネットワーク2042であり、後半部分が第2特徴抽出ネットワーク2062である。
第2計数ネットワーク2064には、第2特徴マップ30が入力される。そして、第2計数ネットワーク2064は、第2特徴マップ30に対して処理(例えば畳み込み処理)を行うことで、第2特徴マップ30の各セル(要素)に対応する対象画像10の画像領域(以下、第2推定領域)ごとに、第2所定範囲内のサイズを持つ対象物体の数を推定する。例えば第2計数ネットワーク2064は、畳み込みニューラルネットワークで実現される。
ここで、第1所定範囲と第2所定範囲は、重複しないように定められている。より具体的には、第1所定範囲に含まれるサイズが、第2所定範囲に含まれるサイズよりも小さくなるように、第1所定範囲と第2所定範囲が定められている。よって、第1計数ネットワーク2044によって計数される対象物体は、第2計数ネットワーク2064では計数されない。同様に、第2計数ネットワーク2064によって計数される対象物体は、第1特徴抽出ネットワーク2042では計数されない。
ここで、各ネットワークは、その機能を実現できるように予め学習されている。本実施形態の物体数推定装置2000が有する各ネットワークの学習方法については、実施形態4で説明する。
なお、学習を行う機能は、物体数推定装置2000に設けられていてもよいし、物体数推定装置2000以外の装置に設けられていてもよい。後者の場合、物体数推定装置2000は、他の装置によって事前の学習が行われたネットワークを取得し、取得したネットワークを利用する。なお、ここでいう「ネットワークの取得」とは、ネットワークそのもの(学習されたパラメータが設定されたネットワークのプログラム)を取得する処理であってもよいし、学習の結果得られたネットワークの各パラメータを取得し、そのパラメータを物体数推定装置2000の内部に用意されているネットワークのプログラムに設定する処理であってもよい。
<代表的な作用効果>
入力画像から抽出した特徴マップを利用して物体の計数を行う際、サイズがより小さい特徴マップのセル(要素)ほど、そのセルに対応する入力画像上の領域が大きくなる。そのため、サイズが小さい特徴マップのセルは、入力画像の大まかな特徴を捉えている。このことから、サイズが大きい物体の検出には、サイズが小さい特徴マップが適していると言える。逆に、サイズが大きい特徴マップのセルは、入力画像の細かな特徴を捉えている。そのため、サイズが小さい物体の検出には、サイズが大きい特徴マップが適していると言える。
図2は、特徴マップと入力画像(対象画像10)の対応関係を例示する図である。前述した様に、第2特徴マップ30は、第1特徴マップ20よりもサイズが小さい。そのため、第2特徴マップ30のセルに対応する対象画像10上の画像領域(第2推定領域)は、第1特徴マップ20のセルに対応する対象画像10上の画像領域(第1推定領域)よりも大きい。そのため、第2特徴マップ30は、第1特徴マップ20と比較し、対象画像10について比較的大まかな特徴を捉えている。よって、第2特徴マップ30はサイズが比較的大きい対象物体の計数に適しており、第1特徴マップ20はサイズが比較的小さい対象物体の計数に適している。
そこで物体数推定装置2000は、サイズが大きい第1特徴マップ20を利用して比較的サイズが小さい対象物体の計数を行う一方で、サイズが小さい第2特徴マップ30を利用して比較的サイズが大きい対象物体の計数を行う。このようにすることで、対象画像10のどの位置のどの程度のサイズの対象物体が含まれるかといった事前知識(特許文献1における部分領域の設定)を要することなく、様々なサイズの対象物体を精度良く検出して計数することができる。よって、事前の設定に要する労力が少なく、なおかつ精度の高い計数を実現している。
また、物体数推定装置2000では、対象画像10に対して畳み込み処理を行うことで第1特徴マップ20が生成され、第1特徴マップ20に対して畳み込み処理を行うことで第2特徴マップ30が生成される。このように、第1特徴マップ20から第2特徴マップ30を生成することにより、第1特徴マップ20と第2特徴マップ30とで、対象画像10から抽出される特徴が共有化される。このように共有化された特徴を用いて学習することで、推定精度が向上する。
ここで、物体数推定装置2000は、様々な用途に利用することができる。例えば、カメラ・蓄積映像から物体数の推定を必要とする監視分野での不審者認識・不審物の置き去り認識・ゲートの共連れ認識、異常状態認識、異常行動認識を行う装置・機能と いった用途に利用できる。また、マーケティング分野での動線解析、行動解析を行う装置・機能といった用途に利用できる。さらに、カメラ・蓄積映像からの物体数の推定結果とその位置(2D、3D)を入力とする入力インタフェースといった用途に適用できる。この他、物体数の推定結果とその位置(2D、3D)をトリガ・キーとするビデオ/映像検索装置・機能といった用途に利用できる。
なお、図1を参照した上述の説明は、物体数推定装置2000の理解を容易にするための例示であり、物体数推定装置2000の機能を限定するものではない。以下、本実施形態の物体数推定装置2000についてさらに詳細に説明する。
<物体数推定装置2000の機能構成の例>
図3は、実施形態1の物体数推定装置2000の機能構成を例示するブロック図である。物体数推定装置2000は、第1特徴抽出ネットワーク2042、第1計数ネットワーク2044、第2特徴抽出ネットワーク2062、及び第2計数ネットワーク2064を有する。第1特徴抽出ネットワーク2042は、対象画像10に対して畳み込み処理を行うことで、第1特徴マップ20を生成する。第1計数ネットワーク2044は、第1特徴マップ20のセルごとに、そのセルに対応する対象画像10の画像領域(第1推定領域)について、第1所定範囲内のサイズを持つ対象物体の数を推定する。
第2特徴抽出ネットワーク2062は、第1特徴マップ20に対して畳み込み処理を行うことで第2特徴マップ30を生成する。第2計数ネットワーク2064は、第2特徴マップ30のセルごとに、そのセルに対応する対象画像10の画像領域(第2推定領域)について、第2所定範囲内のサイズを持つ対象物体の数を推定する。
<物体数推定装置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に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
ストレージデバイス1080は、対象画像10をさらに記憶していてもよい。ただし、対象画像10は、計算機1000が取得可能な情報であればよく、ストレージデバイス1080に記憶されていなければならないものではない。例えば対象画像10は、ネットワークインタフェース1120を介して計算機1000と接続されている記憶装置(NAS(Network Attached Storage)など)に記憶させておくことができる。
<処理の流れ>
図5は、実施形態1の物体数推定装置2000によって実行される処理の流れを例示するフローチャートである。物体数推定装置2000は、対象画像10を取得し、対象画像10を第1特徴抽出ネットワーク2042に入力する(S102)。第1特徴抽出ネットワーク2042は、対象画像10から第1特徴マップ20を生成する(S104)。第1計数ネットワーク2044は、第1特徴マップ20を用いて、各推定領域について、第1所定範囲内のサイズを持つ対象物体の数を出力する(S106)。
第2特徴抽出ネットワーク2062は、第1特徴マップ20を用いて第2特徴マップ30を生成する(S108)。第2計数ネットワーク2064は、第2特徴マップ30を用いて、各推定領域について、第2所定範囲内のサイズを持つ対象物体の数を出力する(S110)。
ここで、図5において、S106は、S108及びS110と平行して実行されている。しかしながら、S106、S108及びS110は、逐次的に実行されてもよい。その順序は、S110がS108の後である点を除き、任意の順序とすることができる。
<対象画像10の取得:S102>
物体数推定装置2000は、対象画像10を取得し、第1特徴抽出ネットワーク2042に入力する(S102)。ここで、物体数推定装置2000が対象画像10を取得する方法は任意である。例えば物体数推定装置2000は、他の装置(例えば、対象画像10を生成するカメラ)から出力される画像を対象画像10として取得したり、物体数推定装置2000からアクセス可能な記憶装置に格納されている画像を対象画像10として取得したりする。
ここで、対象画像10として扱うことが可能な画像が複数存在するとする。この場合、物体数推定装置2000は、ユーザによって指定された特定の画像を対象画像10として取得してもよいし、対象画像10として取得する画像を所定のルールに従って決めてもよい。後者の場合、例えば物体数推定装置2000は、記憶装置に格納されている複数の画像を、その生成時点が早いものから順次取得していく。
<第1特徴マップ20の生成:S104>
第1特徴抽出ネットワーク2042は、対象画像10から第1特徴マップ20を生成する(S104)。第1特徴抽出ネットワーク2042は、対象画像10が入力されたことに応じて第1特徴マップ20を出力するように、予め学習されている。そのため、物体数推定装置2000は、対象画像10を第1特徴抽出ネットワーク2042に入力することで、第1特徴マップ20を得ることができる。
<第1所定範囲内のサイズを持つ物体の数の推定:S106>
第1計数ネットワーク2044は、第1特徴マップ20が入力されたことに応じ、各第1推定領域(入力された第1特徴マップ20の各セルに対応する対象画像10上の画像領域)について、第1所定範囲内のサイズを持つ対象物体の数を推定する(S106)。第1計数ネットワーク2044は、第1特徴マップ20が入力されたことに応じて、各第1推定領域について第1所定範囲内のサイズを持つ対象物体の数を出力するように、予め学習されている。
<第2特徴マップ30の生成:S108>
第2特徴抽出ネットワーク2062は、第1特徴マップ20が入力されたことに応じて、第2特徴マップ30を生成する(S108)。第2特徴抽出ネットワーク2062は、第1特徴マップ20が入力されたことに応じて第2特徴マップ30を出力するように、予め学習されている。
<第2所定範囲内のサイズを持つ物体の数の推定:S110>
第2計数ネットワーク2064は、第2特徴マップ30が入力されたことに応じ、各第2推定領域(入力された第2特徴マップ30の各セルに対応する対象画像10上の画像領域)について、第2所定範囲内のサイズを持つ対象物体の数を推定する(S110)。ここで、第2計数ネットワーク2064は、第2特徴マップ30が入力されたことに応じ、各第2推定領域について第2所定範囲内のサイズを持つ対象物体の数を出力するように、予め学習されている。
<情報の出力>
物体数推定装置2000は、第1計数ネットワーク2044や第2計数ネットワーク2064から得られた情報を出力する。物体数推定装置2000は、第1計数ネットワーク2044から出力された情報(第1推定領域ごとに対象物体の数を示す情報)をそのまま出力してもよいし、対象画像10全体について、第1所定範囲内のサイズを持つ対象物体の数を算出して出力してもよい。後者の値は、各第1推定領域について第1計数ネットワーク2044から出力された対象物体の数を積算することで算出ができる。
同様に、物体数推定装置2000は、第2計数ネットワーク2064から出力された情報(第2推定領域ごとに対象物体の数を示す情報)をそのまま出力してもよいし、対象画像10全体について、第2所定範囲内のサイズを持つ対象物体の数を算出して出力してもよい。後者の値は、各第2推定領域について第2計数ネットワーク2064から出力された対象物体の数を積算することで算出ができる。
また、物体数推定装置2000は、第1計数ネットワーク2044と第2計数ネットワーク2064から出力された情報を利用して、対象画像10全体に含まれる対象物体の数を算出してもよい。これは、第1所定範囲内のサイズを持つ対象物体の数と、第2所定範囲内のサイズを持つ対象物体の数とを、対象画像10全体にわたって積算することで算出することができる。
なお、情報の出力方法は任意である。例えば物体数推定装置2000は、前述した種々の情報を、物体数推定装置2000から制御可能なディスプレイ装置に表示させたり、物体数推定装置2000からアクセス可能な記憶装置に格納したり、物体数推定装置2000からアクセス可能な他の装置に送信したりする。
<ネットワークの拡張について>
ここまでは、説明を容易にするため、物体数推定装置2000に含まれる特徴抽出ネットワークと計数ネットワークの数をそれぞれ2つとしていた。しかしながら、物体数推定装置2000は、これらのネットワークをそれぞれ3つ以上有していてもよい。具体的には、第1特徴抽出ネットワークから第n特徴抽出ネットワーク(nは3以上の整数)というn個の特徴抽出ネットワークと、第1計数ネットワークから第n計数ネットワークというn個の計数ネットワークを物体数推定装置2000に設ける。
図6は、特徴抽出ネットワークと計数ネットワークをn個ずつ備える物体数推定装置2000を例示する図である。第i特徴抽出ネットワークは、第(i-1)特徴マップに対して畳み込み処理を行うことで、第i特徴マップを生成する(iは1以上n以下の整数)。例えば第3特徴抽出ネットワークは、第2特徴マップ30に対して畳み込み処理を行うことで、第3特徴マップを生成する。また、第4特徴抽出ネットワークは、第3特徴マップに対して畳み込み処理を行うことで、第4特徴マップを生成する。図6において点線の枠で示すように、第1特徴抽出ネットワークから第n特徴抽出ネットワークを順に連結したものは、1つの大きな特徴抽出ネットワークとして捉えることができる。
第1特徴マップから第n特徴マップはそれぞれ、第1計数ネットワークから第n計数ネットワークへ入力される。第i計数ネットワークは、第i特徴マップが入力されたことに応じ、対象画像10に含まれる第i推定領域(第i特徴マップの各セルに対応する対象画像10上の画像領域)について、サイズが第i所定範囲内の対象物体の数を出力するように構成されている。なお、第1特徴マップ~第n特徴マップのサイズは、「第1特徴マップ>第2特徴マップ>・・・>第n特徴マップ」という関係を満たす。
物体数推定装置2000が各計数ネットワークの出力に基づいて出力する情報は、前述した第1計数ネットワーク2044や第2計数ネットワーク2064の出力に基づいて出力する情報と同様である。
<変形例1>
各ネットワークは、属性の異なる対象物体の数を計数するように構成されてもよい。例えば、対象物体が人であり、属性として年齢層を用いるとする。また、年齢層の属性値として、子供と大人の2つを用いるとする。この場合、第1計数ネットワーク2044は、子供の人数と大人の人数をそれぞれ推定する。具体的には、第1特徴マップ20から子供の人数を計数するように学習された第1計数ネットワーク2044と第2特徴マップ30から子供の人数を計数するように学習された第2計数ネットワーク2064のセット、及び第1特徴マップ20から大人の人数を計数するように学習された第1計数ネットワーク2044と第2特徴マップ30から大人の人数を計数するように学習された第2計数ネットワーク2064のセットが設けられる。
ただし、それぞれ異なる属性を持つ対象物体の数を計数するネットワークは、1つのネットワークで構成されてもよい。この場合、第1計数ネットワーク2044と第2計数ネットワーク2064のいずれについても、属性というチャネル方向に属性ごとの数という出力が設けられることになる。例えば大人の人数と子供の人数を計数するとする。この場合、第1計数ネットワーク2044において、大人の人数の出力と子供の人数の出力がチャネル方向に設けられる。第2計数ネットワーク2064についても同様である。
ここで、属性としては、様々なものを採用することができる。例えば、属性としては、向き、年齢、性別、及び所属(サラリーマン、学生、又は家族など)などの物体に関する属性を利用できる。その他にも例えば、属性としては、行列状態、滞留状態、及びパニック状態など、物体が構成している構造の属性を利用してもよい。
変形例1の物体数推定装置2000によれば、第1推定領域ごとかつ属性ごとに、第1所定範囲内のサイズを持つ対象物体の数を得ることができる。同様に、第2推定領域ごとかつ属性ごとに、第2所定範囲内のサイズを持つ対象物体の数を得ることができる。
なお、上記では、属性の異なる対象物体の数を計数するように構成したが、対象物体の数を出力し、追加で、属性の異なる対象物体の数の割合を算出するように構成してもよい。
<変形例2>
第2特徴抽出ネットワーク2062は、第1特徴マップ20ではなく、対象画像10を取得するように構成されてもよい。この場合、第2特徴抽出ネットワーク2062は、対象画像10に対して畳み込み処理を行うことで、第2特徴マップ30を生成する。この場合、第2特徴マップ30は、第1特徴マップ20よりもサイズが小さくなるように生成される。例えば、第2特徴抽出ネットワーク2062が有する畳み込み層の数を、第1特徴抽出ネットワーク2042が有する畳み込み層の数よりも多くする。後述する実施形態についても同様とすることができる。
[実施形態2]
図7は、実施形態2の物体数推定装置2000の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態2の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様の機能を有する。
実施形態2の物体数推定装置2000は、第1存在推定ネットワーク2046と第2存在推定ネットワーク2066をさらに有する。例えばこれらはいずれも、畳み込みニューラルネットワーク等のニューラルネットワークで実現される。
第1存在推定ネットワーク2046は、第1特徴マップ20を取得し、第1特徴マップ20を用いて、対象画像10の各第1推定領域(第1特徴マップ20の各セルに対応する対象画像10上の画像領域)について、第1所定範囲内のサイズを持つ対象物体の存否に関する値(以下、第1存在ラベル)を出力する。例えば第1存在ラベルは、対応する第1推定領域に第1所定範囲内のサイズを持つ対象物体が存在すれば1を示し、対応する第1推定領域に第1所定範囲内のサイズを持つ対象物体が存在しなければ0を示す。その他にも例えば、第1存在ラベルは、対応する第1推定領域について、第1所定範囲内のサイズを持つ対象物体の存在確率を示してもよい。
なお、第1計数ネットワーク2044と第1存在推定ネットワーク2046は、1つのネットワークで実現されてもよい。例えば、第1計数ネットワーク2044に対し、第1存在ラベルを推定する出力を追加する(例えば、チャネル方向に出力を追加する)。こうすることで、第1特徴マップ20を第1計数ネットワーク2044に入力することに応じ、第1計数ネットワーク2044から、第1所定範囲内のサイズを持つ対象物体の数と第1存在ラベルのそれぞれが出力されるようになる。
同様に、第2存在推定ネットワーク2066は、第2特徴マップ30を取得し、第2特徴マップ30を用いて、第2特徴マップ30の各第2推定領域(第2特徴マップ30の各セルに対応する対象画像10上の画像領域)について、第2所定範囲内のサイズを持つ対象物体の存否に関する値(以下、第2存在ラベル)を出力する。第2存在ラベルが示す値の意味は、第1存在ラベルが示す値の意味と同様である。なお、第2計数ネットワーク2064と第2存在推定ネットワーク2066についても、1つのネットワークで実現されるようにしてもよい。
例えば物体数推定装置2000は、第1計数ネットワーク2044及び第1存在推定ネットワーク2046の出力に基づき、各第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を算出する。例えば、第1存在ラベルが対象物体の存否を表しているとする。この場合、物体数推定装置2000は、各第1推定領域について、「1)第1存在ラベルによって対象物体が存在することが示されている場合、第1計数ネットワーク2044によって出力された物体数をそのまま用い、2)第1存在ラベルによって対象物体が存在しないことが示されている場合、対象物体の数を0とする」という処理を行う。言い換えれば、或る第1推定領域について、第1計数ネットワーク2044から出力された対象物体の数が0より大きかったとしても、対象物体が存在しないことが第1存在ラベルによって表されている場合(第1存在ラベル=0の場合)には、物体数推定装置2000から出力される対象物体の数には反映されない。これは、第1計数ネットワーク2044の出力と第1存在推定ネットワーク2046の出力をそれぞれ行列として捉えた場合、これらの行列について要素ごとの積を算出することに相当する。
その他にも例えば、第1存在ラベルが対象物体の存在確率を表しているとする。この場合、物体数推定装置2000は、各第1推定領域について、「1)第1存在ラベルによって閾値以上の存在確率が示されている場合、第1計数ネットワーク2044によって出力された物体数をそのまま用い、2)第1存在ラベルによって閾値未満の存在確率が示されている場合、対象物体の数を0とする」という処理を行う。言い換えれば、或る第1推定領域について、第1計数ネットワーク2044から出力された対象物体の数が0より大きかったとしても、対象物体の存在確率が閾値未満であることが第1存在ラベルによって表されている場合(第1存在ラベル<閾値)には、物体数推定装置2000から出力される対象物体の数には反映されない。これは、第1計数ネットワーク2044の出力と第1存在推定ネットワーク2046の出力をそれぞれ行列として捉えた場合、第1存在推定ネットワーク2046から出力された行列の各要素を2値化した後に、前述した要素ごとの積を算出することに相当する。
図8は、第1計数ネットワーク2044の出力と第1存在推定ネットワーク2046の出力に基づいて、第1所定範囲内のサイズを持つ対象物体の数を算出する方法を例示する図である。マップ50は、各第1推定領域について第1計数ネットワーク2044が出力した値(第1所定範囲内のサイズを持つ対象物体の数)を示している。一方、マップ60は、各第1推定領域について第1存在推定ネットワーク2046が出力した値(第1所定範囲内のサイズを持つ対象物体の存否)を示している。
第1存在ラベルが物体の存否を表す場合、物体数推定装置2000は、マップ50とマップ60について要素ごとの積を算出することでマップ70を生成し、生成されたマップ70を、第1所定範囲内のサイズを持つ対象物体の数を第1推定領域ごとに示す情報として扱う。第1存在ラベルが物体の存在確率を表す場合、物体数推定装置2000は、マップ60の各要素を閾値に基づいて2値化した後に、マップ70を生成する。
なお、第1計数ネットワーク2044から得られる情報(例えば前述したマップ50)と、第1存在推定ネットワーク2046から得られる情報(例えば前述したマップ60)とは、個別に出力されてもよい。
物体数推定装置2000は、第2計数ネットワーク2064の出力と第2存在推定ネットワーク2066の出力を用いて同様の処理を行うことにより、各第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を算出する。ただし、第2計数ネットワーク2064から得られる情報と第2存在推定ネットワーク2066から得られる情報も、個別に出力されるようにしてもよい。
本実施形態の物体数推定装置2000によれば、特徴マップの各セルに対応する推定領域について対象物体を計数する計数ネットワークに加え、特徴マップの各セルに対応する推定領域について対象物体の存在を推定する存在推定ネットワークが設けられる。ここで、計数ネットワークと存在推定ネットワークは、共通の特徴抽出ネットワークからの出力を利用する。そのため、後述するように、計数ネットワークの学習と存在推定ネットワークの学習は、互いの精度を高め合いながら行われる。そのため、計数ネットワークと存在推定ネットワークの双方を用いることにより、計数ネットワークのみを利用するケースと比較し、対象物体の数を精度よく推定することができる。また、存在推定ネットワークについても、計数ネットワークと共に利用することで、単体で設ける場合と比較し、対象物体の存否に関する値の推定精度を向上させることができる。
さらに前述したように、物体数推定装置2000は、計数ネットワークと存在推定ネットワークの出力結果の双方を用いて、対象物体の数を算出してもよい。このように、計数ネットワークと存在推定ネットワークの双方を用いることにより、計数ネットワークのみを利用するケースと比較し、対象物体の数をより高い精度で推定することができる。
なお、第1存在推定ネットワーク2046は、第1特徴マップ20が入力されたことに応じて、各第1推定領域についての第1存在ラベルを出力するように、予め学習されている。同様に、第2存在推定ネットワーク2066は、第2特徴マップ30が入力されたことに応じて、各第2推定領域についての第2存在ラベルを出力するように、予め学習されている。第1存在推定ネットワーク2046と第2存在推定ネットワーク2066の具体的な学習方法については、後述の実施形態で説明する。
なお、実施形態1で説明したように、物体数推定装置2000は、各ネットワークを3つ以上有してもよい。例えば、物体数推定装置2000は、第1存在推定ネットワークから第n存在推定ネットワークというn個の存在推定ネットワークを有してもよい。
<ハードウエア構成の例>
実施形態2の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様に、その構成が図4で例示される種々の計算機で実現することができる。ただし、実施形態2の物体数推定装置2000を実現する計算機1000に含まれるストレージデバイス1080には、実施形態2の物体数推定装置2000の各機能構成部を実現するプログラムモジュールが記憶されている。
<変形例>
実施形態1の変形例として説明したように、実施形態2の物体数推定装置2000は、属性の異なる対象物体の数をそれぞれ計数するように構成されてもよい。このケースにおいて、第1計数ネットワーク2044は、各第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を属性ごとに推定する。すなわち、図8で説明したマップ50が属性ごとに生成される。そこで例えば、物体数推定装置2000は、属性ごとに生成されたマップ50それぞれに対して、各第1推定領域についての第1存在ラベルを示すマップを適用することで、第1所定範囲内のサイズを持つ対象物体の数を属性ごとに計数する。すなわち、属性ごとのマップ50に対して共通のマップ60が適用されることにより、図8におけるマップ70が属性ごとに生成される。第2所定範囲内のサイズを持つ対象物体の数についても同様である。
ここで、属性ごとに対象物体を計数する計数ネットワークと、存在推定ネットワークとは、1つのネットワークで構成されてもよい。具体的には、第1計数ネットワーク2044に対し、第1所定範囲内のサイズを持つ対象物体の数を推定する出力を属性ごとに設け、なおかつ、第1存在ラベルを推定する出力を設ける(つまり、出力はネットワークとしてチャネル方向に拡張される)。第2計数ネットワーク2064についても同様である。
物体数推定装置2000は、存在ラベルを属性ごとに推定するように構成されてもよい。すなわち、図8におけるマップ50だけでなく、図8におけるマップ60についても、属性ごとに生成されるようにする。そして物体数推定装置2000は、属性ごとに、その属性についての第1計数ネットワーク2044の出力と、その属性についての第1存在推定ネットワーク2046の出力とを用いて、第1所定範囲内のサイズを持つ対象物体の数を推定する。すなわち、図8の例で言えば、属性ごとに、「その属性についてのマップ50と、その属性についてのマップ60から、その属性についてのマップ70を生成する」という処理が行われるようにする。
第1存在ラベルを属性ごとに推定するように物体数推定装置2000を構成する方法は様々である。例えば、第1存在推定ネットワーク2046が属性ごとに設けられる。その他にも例えば、第1存在推定ネットワーク2046の出力を属性というチャネル方向に複数設けることで、属性ごとの第1存在ラベルが1つの第1存在推定ネットワーク2046から出力されるようにしてもよい。その他にも例えば、第1計数ネットワーク2044において、第1所定範囲内のサイズを持つ対象物体の数を推定する出力と第1存在ラベルを推定する出力をそれぞれ、属性というチャネル方向に複数設けてもよい。この場合、1つのネットワークから、第1所定範囲内のサイズを持つ対象物体の数と第1存在ラベルが属性ごとに出力される。第2存在ラベルを属性ごとに推定するようにする方法についても同様である。
なお、属性としては、実施形態1で説明した様々なものを採用することができる。
[実施形態3]
図9は、実施形態3の物体数推定装置2000の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態3の物体数推定装置2000は、実施形態1又は2の物体数推定装置2000と同様の機能を有する。
実施形態3の物体数推定装置2000は、第1属性推定ネットワーク2048と第2属性推定ネットワーク2068をさらに有する。例えばこれらはいずれも、畳み込みニューラルネットワーク等のニューラルネットワークで実現される。
第1属性推定ネットワーク2048は、第1特徴マップ20を取得し、第1特徴マップ20を用いて、対象画像10の各第1推定領域(第1特徴マップ20の各セルに対応する対象画像10上の画像領域)について、第1所定範囲内のサイズを持つ対象物体の属性に関する情報(以下、第1属性情報)を出力する。ここで、対象物体の属性としては、前述した種々のものを採用できる。
例えば、第1属性情報としては、対応する第1推定領域について第1所定範囲のサイズを持つ対象物体の属性を統合できる任意の情報(統計値など)とすることができる。例えば、第1属性情報は、対応する第1推定領域において第1所定範囲内のサイズを持つ各対象物体の属性のうち、最も支配的な属性のクラス値(識別子)を表す。最も支配的な属性とは、例えば、その属性を持つ対象物体の数が最も多い属性や、その属性を持つ対象物体によって占められる領域の面積が最大の属性などである。
この場合、第1属性推定ネットワーク2048は、クラス分類を行うネットワークとして構成される。すなわち、第1属性推定ネットワーク2048は、各第1推定領域について、その第1推定領域の属性を表すクラス値を出力する。
第1属性情報のその他の例としては、対応する第1推定領域において第1所定範囲内のサイズを持つ各対象物体の属性の重み付き平均などを扱うことができる。重みには、対象物体の数や面積を利用することができる。この場合、第1属性推定ネットワーク2048は回帰ネットワークとして実現される。
第2属性推定ネットワーク2068は、第2特徴マップ30を取得し、第2特徴マップ30を用いて、対象画像10の各第2推定領域(第2特徴マップ30の各セルに対応する対象画像10上の画像領域)について、第2所定範囲内のサイズを持つ対象物体の属性に関する情報(以下、第2属性情報)を出力する。第2属性情報が示す情報の種類は、第1属性情報が示す情報の種類と同様である。
実施形態3の物体数推定装置2000は、実施形態1や実施形態2で説明した情報に加え、第1属性推定ネットワーク2048から得られた属性に関する情報を出力する。例えば第1属性推定ネットワーク2048は、各第1推定領域について得られた第1属性情報を出力する。その他にも例えば、第1属性推定ネットワーク2048は、第1属性情報を適宜加工した情報(例えば、対象画像10全体に含まれる属性のヒストグラムなど)を出力してもよい。第2属性推定ネットワーク2068から得られる属性に関する情報についても同様である。
本実施形態の物体数推定装置2000によれば、特徴マップの各セルに対応する推定領域について対象物体を計数する計数ネットワークに加え、特徴マップの各セルに対応する推定領域について対象物体の属性を推定する属性推定ネットワークが設けられる。ここで、計数ネットワークと属性推定ネットワークは、共通の特徴抽出ネットワークからの出力を利用する。そのため、後述するように、計数ネットワークの学習と属性推定ネットワークの学習は、互いの精度を高め合いながら行われる。そのため、計数ネットワークと属性推定ネットワークの双方を用いることにより、計数ネットワークのみを利用するケースと比較し、対象物体の数を精度よく推定することができる。また、属性ネットワークについても、計数ネットワークと共に利用することで、属性の推定の精度が向上する。
なお、第1属性推定ネットワーク2048は、第1特徴マップ20が入力されたことに応じて、各第1推定領域についての第1属性情報を出力するように、予め学習されている。同様に、第2属性推定ネットワーク2068は、第2特徴マップ30が入力されたことに応じて、各第2推定領域についての第2属性情報を出力するように、予め学習されている。第1属性推定ネットワーク2048と第2属性推定ネットワーク2068の具体的な学習方法については、後述の実施形態で説明する。
なお、実施形態1で説明したように、物体数推定装置2000は、各ネットワークを3つ以上有してもよい。例えば、物体数推定装置2000は、第1存在推定ネットワークから第n存在推定ネットワークというn個の存在推定ネットワークを有してもよい。
ここで、計数ネットワークと属性推定ネットワークは、1つのネットワークで実現されてもよい。例えば、第1計数ネットワーク2044に対し、対象物体の属性を推定する出力をチャネル方向に追加する。こうすることで、第1特徴マップ20が第1計数ネットワーク2044に入力されたことに応じ、第1計数ネットワーク2044から、第1所定範囲内のサイズを持つ対象物体の数と、第1所定範囲内のサイズを持つ対象物体の属性の双方が出力されるようになる。第2計数ネットワーク2064についても同様にすることができる。
<ハードウエア構成の例>
実施形態3の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様に、その構成が図4で例示される種々の計算機で実現することができる。ただし、実施形態3の物体数推定装置2000を実現する計算機1000に含まれるストレージデバイス1080には、実施形態3の物体数推定装置2000の各機能構成部を実現するプログラムモジュールが記憶されている。
<変形例>
実施形態3の物体数推定装置2000は、実施形態2で説明した第1存在推定ネットワーク2046及び第2存在推定ネットワーク2066をさらに有してもよい。第2計数ネットワーク2064と第2存在推定ネットワーク2066の動作については、実施形態2で説明した通りである。
ここで、存在推定ネットワークと属性推定ネットワークも、共通の特徴抽出ネットワークを利用する。そのため、存在推定ネットワークと属性推定ネットワークの学習も、互いの精度を高め合いながら行われる。よって、存在推定ネットワークをさらに設けることにより、対象物体の数や属性の推定の精度をさらに向上させることができる。
計数ネットワーク、存在推定ネットワーク、及び属性推定ネットワークは、1つのネットワークで実現されてもよい。例えば、第1計数ネットワーク2044に対して、第1存在ラベルを推定する出力と、第1属性情報を推定する出力とを追加する。こうすることで、第1計数ネットワーク2044に対して第1特徴マップ20が入力されることに応じ、第1計数ネットワーク2044から、第1所定範囲内のサイズを持つ対象物体の数、第1存在ラベル、及び第1属性情報がそれぞれチャネル方向に出力されるようになる。第2計数ネットワーク2064についても同様とすることができる。
また、実施形態3の物体数推定装置2000は、第1計数ネットワーク2044及び第2計数ネットワーク2064を持たずに、第1存在推定ネットワーク2046及び第2存在推定ネットワーク2066を持つように構成されてもよい。この場合、対象物体の計数は行われず、対象物体の存否や存在確率の推定、及び対象物体の属性の推定が行われる。
このように計数ネットワークを設けないケースであっても、前述したように、存在推定ネットワークと属性推定ネットワークの学習は、互いの精度を高め合いながら行われる。そのため、これらのネットワークを個々に独立で設ける場合と比較し、対象物体の存否や存在確率、及び属性の推定の精度を向上させることができる。
なお、存在推定ネットワークと属性推定ネットワークは、1つのネットワークで構成されてもよい。例えば、第1存在推定ネットワーク2046に対し、第1属性情報を推定する出力を追加する。こうすることで、第1存在推定ネットワーク2046に対して第1特徴マップ20を入力することに応じ、第1存在推定ネットワーク2046から、第1存在ラベルと、第1属性情報とがそれぞれチャネル方向に出力される。第2存在推定ネットワーク2066についても同様とすることができる。
[実施形態4]
図10は、実施形態4の物体数推定装置2000の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態4の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様の機能を有する。
実施形態4の物体数推定装置2000は、学習部2100を有する。実施形態4の学習部2100は、学習データを利用して、実施形態1の物体数推定装置2000が有する各ネットワークの学習を行う。なお、実施形態2の物体数推定装置2000が追加で備える第1存在推定ネットワーク2046と第2存在推定ネットワーク2066について学習を行う物体数推定装置2000については、実施形態5として後述する。また、実施形態3の物体数推定装置2000が追加で有する第1属性推定ネットワーク2048と第2属性推定ネットワーク2068について学習を行う物体数推定装置2000については、実施形態6として後述する。
実施形態4の物体数推定装置2000において、物体数推定装置2000は、学習データを取得する。そして、学習部2100が、学習データを利用して、各ネットワークの学習を行う。学習データは、学習画像、第1正解物体数マップ、及び第2正解物体数マップを含む。学習画像は、学習に利用する入力画像であり、対象画像10と同様に、対象物体を含む画像である。
第1正解物体数マップは、第1計数ネットワーク2044の学習に利用する学習データ(教師データ)である。例えば第1正解物体数マップは、学習画像に含まれる各第1推定領域(第1特徴マップ20の各セルに対応する画像領域)について、第1所定範囲内のサイズを持つ対象物体の数を示す。同様に、第2正解物体数マップは、第2計数ネットワーク2064の学習に利用する学習データである。例えば第2正解物体数マップは、学習画像に含まれる各第2推定領域(第2特徴マップ30の各セルに対応する画像領域)について、第2所定範囲内のサイズを持つ対象物体の数を示す。
このような学習データである推定領域内の画像と対象物体の数は、特徴マップに対応する推定領域における対象物体の配置パターンを表している。このように、対象物体の形状そのものを学習させるデータではなく、推定領域内の対象物体の配置パターンを学習させるデータを利用することで、対象物体同士の重なりをそのまま学習でき、重なりにロバストになるようにネットワークを学習することができる。
学習部2100は、学習画像を第1特徴抽出ネットワーク2042に入力する。これに応じ、第1特徴抽出ネットワーク2042により、学習画像について第1特徴マップ20が生成される。そして、第1計数ネットワーク2044により、その第1特徴マップ20に対応する各第1推定領域(第1特徴マップ20のセルに対応する学習画像上の画像領域)について、第1所定範囲内のサイズを持つ対象物体の数が出力される。
また、第1特徴抽出ネットワーク2042から第2特徴抽出ネットワーク2062に対して第1特徴マップ20が入力されることに応じ、第2特徴抽出ネットワーク2062によって、第2特徴マップ30が生成される。また、第2計数ネットワーク2064により、その第2特徴マップ30に対応する各第2推定領域(第2特徴マップ30のセルに対応する学習画像上の画像領域)について、第2所定範囲内のサイズを持つ対象物体の数が出力される。
例えば学習部2100は、第1計数ネットワーク2044が各第1推定領域について出力した対象物体の数、第2計数ネットワーク2064が各第2推定領域について出力した対象物体の数、第1正解物体数マップ、及び第2正解物体数マップを用いて、ネットワークの出力と正解値との誤差を表す損失を算出し、その損失を小さくするようにネットワークの学習を行う。ここでいう学習とは、ネットワークの各パラメータを更新することを意味する。ネットワークの学習には、バックプロパゲーション等の既存の技術を利用することができる。なお、損失の算出式(すなわち、損失関数)は、学習部2100に予め設定されていてもよいし、学習部2100からアクセス可能な記憶装置に記憶させておいてもよい。
ここで、第1所定範囲内のサイズを持つ対象物体の計数に利用されるネットワーク(第1特徴抽出ネットワーク2042及び第1計数ネットワーク2044)と、第2所定範囲内のサイズを持つ対象物体の計数に利用されるネットワーク(第1特徴抽出ネットワーク2042、第2特徴抽出ネットワーク2062、及び第2計数ネットワーク2064)には、第1特徴抽出ネットワーク2042が共通で含まれる。そのため、第1特徴抽出ネットワーク2042のパラメータは、第1計数ネットワーク2044の出力から逆伝播された情報と第2計数ネットワーク2064の出力から逆伝播された情報の双方の影響を受けて更新されていく。このことから、第1所定範囲内のサイズを持つ対象物体の計数に利用されるネットワークと、第2所定範囲内のサイズを持つ対象物体の計数に利用されるネットワークとは、互いにその精度を高め合うように学習されるため、計数の精度の向上、及び学習速度の向上を実現することができる。
ここで、学習部2100は、複数の学習データそれぞれを利用して各ネットワークの学習を繰り返し行う。例えば学習部2100は、前述した損失の大きさが所定の閾値以下となるまで、各ネットワークの学習を繰り返し行う。ただし、学習を終了する条件には、ここで説明した条件以外にも、誤差が収束したことが分かる任意の条件を利用することができる。
なお、学習画像において、対象物体の数が少なかったり、対象物体の配置の偏りが大きかったりすると、特徴マップにおいて、対応する推定領域に含まれる対象物体の数が0個であるセルが多く発生する。一般的には、特徴マップのセルの数は対象物体の数に対して多いので頻繁に発生する可能性がある。このように学習データに偏りが生じると、正しく学習が進まない可能性がある。そこで、学習部2100は、上述した誤差を最小化する学習において、特徴マップに含まれる全てのセルの誤差を用いるのではなく、選択した一部のセルにおける誤差を最小化するように学習を行ってもよい。この際、正解物体数マップにおいて、対応する推定領域内の対象物体の数が0個のセルとそれ以外のセルの数とが所定の比率になるように、セルを選択することが好適である。なお、ここでいう所定の比率は、1:1でもよい。この場合、対象物体の数が0個のセルとそれ以外のセルとが同数ずつ選択される。
ここで、前述した様に、物体数推定装置2000は、特徴抽出ネットワークや計数ネットワークを3つ以上有してもよい。この場合も、前述した方法と同様の方法で学習を実現できる。例えば、特徴抽出ネットワークと計数ネットワークをそれぞれn個設けるとする。この場合、学習データは、第1正解物体数マップから第n正解物体数マップというn個の正解物体数マップを含む。
学習部2100は、各計数ネットワークの出力と各正解物体数マップとを用いて、ネットワークの出力と正解値との誤差を表す損失を算出し、その損失に基づいて各ネットワークを学習していく。ここで、第i特徴抽出ネットワークは、第i計数ネットワークから逆伝播された情報と、第(i+1)特徴抽出ネットワークから逆伝播された情報(すなわち、第(i+1)計数ネットワークから第n計数ネットワークそれぞれの出力から逆伝播された情報)の両方の影響を受けて、そのパラメータが更新されていく。このような構成により、計数の精度の向上及びネットワークの学習速度の向上を実現することができる。
<学習データの生成方法>
ここでは、学習データの生成方法を例示する。以下の例では、学習データの生成の一部が物体数推定装置2000によって行われる。学習データの生成を行う機能構成部を、学習データ生成部2120と呼ぶ。図12は、学習データ生成部2120を有する物体数推定装置2000の機能構成を例示するブロック図である。
例えば、学習データ生成部2120は、学習データの生成に利用するデータ(学習データ生成用データ)として、学習画像と物体情報とのペアを取得する。物体情報は、学習画像に含まれる対象物体ごとに、その対象物体の位置とサイズを特定可能な情報である。例えば、物体情報は、対象物体ごとに、その対象物体を表す学習画像上の画像領域を示す。ここで、対象物体を表す画像領域をその対象物体の外接矩形で表すとする。この場合、例えば物体情報は、対象物体ごとに、その対象物体の外接矩形の左上隅及び右下隅の座標を示す。
学習データ生成部2120は、物体情報を用いて、第1正解物体数マップ及び第2正解物体数マップを生成する。第1正解物体数マップを生成するために、学習データ生成部2120は、物体情報が示す対象物体から、サイズが第1所定範囲内の対象物体を特定する。なお、物体情報には、対象物体ごとにその対象物体を表す画像領域を特定する情報が含まれるため、この情報を用いて各対象物体のサイズを把握することができる。
さらに、学習データ生成部2120は、特定した各対象物体について、その対象物体が属する第1推定領域を特定する。この特定結果に基づき、学習データ生成部2120は、各第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を計数する。これにより、第1所定範囲内のサイズを持つ対象物体の数を第1推定領域ごとに示す情報、すなわち第1正解物体数マップが生成される。
ここで、対象物体を表す画像領域は、複数の第1推定領域にまたがって位置しうる。この場合、重複した計数を避けるため、例えば学習データ生成部2120は、対象物体が属する第1推定領域として、これら複数の第1推定領域のいずれか1つを特定する。そこで例えば、学習データ生成部2120は、対象物体を表す画像領域のうち、所定割合以上の画像領域が属している第1推定領域を、その対象物体が属する第1推定領域として特定する。その他にも例えば、学習データ生成部2120は、或る対象物体を表す画像領域を含む複数の第1推定領域のうち、その対象物体を表す画像領域を最も多く含んでいる第1推定領域を、その対象物体が属する第1推定領域として特定する。例えば、或る対象物体を表す画像領域が3つの第1推定領域にまたがって位置しており、それぞれにその対象物体を表す画像領域の 2/3, 1/6, 1/6 が含まれているとする。この場合、対象物体を表す画像領域の 2/3 を含んでいる第1推定領域が、その対象物体を表す第1推定領域として特定される。
ただし、学習データ生成部2120は、1つの対象物体が含まれる第1推定領域として、複数の第1推定領域を特定してもよい。ただしこの場合、例えば、学習データ生成部2120は、各第1推定領域に含まれる対象物体の数として、その推定領域に含まれる、その対象物体を表す画像領域の割合を用いる。例えば、或る対象物体が2つの推定領域にまたがって位置しており、それぞれにその対象物体を表す画像領域の 2/3 と 1/3 が含まれているとする。この場合、学習データ生成部2120は、前者の推定領域に含まれる対象物体の数に 2/3 を加算し、後者の推定領域に含まれる対象物体の数に 1/3 を加算するという方法で、対象物体の計数を行う。こうすることで、複数の推定領域に対象物体が属することを可能にしつつ、その対象物体は全体で1個の物として計数されるため、重複した計数は避けることができる。
ここで説明した対象物体の重複した計数を避けるための処理は、後述する、第2所定範囲内のサイズを持つ対象物体が属する第2推定領域を特定する処理においても同様に適用できる。
第2正解物体数マップについても、同様に生成することができる。すなわち、学習データ生成部2120は、物体情報が示す対象物体から、サイズが第2所定範囲内の対象物体を特定する。さらに、学習データ生成部2120は、特定した各対象物体について、その対象物体が属する第2推定領域を特定する。この特定結果に基づき、学習データ生成部2120は、各第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を計数する。これにより、第2所定範囲内のサイズを持つ対象物体の数を第2推定領域ごとに示す情報、すなわち第2正解物体数マップが生成される。
ここで、第1所定範囲と第2所定範囲は、例えば、対応する推定領域の画像上のサイズに基づいて定められる。例えば、推定領域のサイズと、その推定領域に対応する特徴マップを利用して計数すべき対象物体の基準サイズとの比率を、予め定めておく。この場合、第1特徴マップ20を利用して計数すべき対象物体の基準サイズ(以下、第1基準サイズ)は、上記比率と第1推定領域のサイズによって算出できる。そして、第1所定範囲は、例えば、算出した第1基準サイズに対する所定の比率の範囲として定められる。例えば、第1所定範囲は、第1基準サイズ T1 及び定数 a と b(0<a<b)を用いて、「a*T1<k≦b*T1」と定めることができる。k は対象物体のサイズを表す。同様に、第2所定範囲についても、第2基準サイズ T2 及び定数 c と d(0<c<d)を用いて、「c*T2<k≦d*T2」と定めることができる。
ここで、第1所定範囲を定めるための定数と、第2所定範囲を定めるための定数とは、互いに等しくてもよいし、異なっていてもよい。前者は、a=c かつ b=d であることを意味する。また、第1所定範囲と第2所定範囲の間に隙間がないように、「b*T1=c*T2」が満たされるようにすることが好適である。
第1正解物体数マップと第2正解物体数マップの生成方法は上述した方法に限定されない。例えば、学習データの生成を行う作業者が目視で対象物体を計数することで、第1正解物体数マップと第2正解物体数マップを生成してもよい。
なお、物体数推定装置2000以外の装置によって学習データが生成される場合、物体数推定装置2000は、物体数推定装置2000の外部から学習データを取得する。例えば学習データは、物体数推定装置2000からアクセス可能な記憶装置に予め格納されている。一方、物体数推定装置2000によって学習データが生成される場合、物体数推定装置2000は、学習データ生成部2120によって生成された学習データを取得する。
<ハードウエア構成の例>
実施形態4の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様に、その構成が図4で例示される種々の計算機で実現することができる。ただし、実施形態4の物体数推定装置2000を実現する計算機1000に含まれるストレージデバイス1080には、実施形態4の物体数推定装置2000の各機能構成部を実現するプログラムモジュールが記憶されている。
<処理の流れ>
図11は、実施形態4の物体数推定装置2000によって実行される処理の流れを例示するフローチャートである。ここで、図12に示す処理は、1つの学習データを利用して学習を行う処理である。複数の学習データによる学習は、図12に示す処理を繰り返し実行することによって実現される。
学習部2100は、学習データを取得する(S302)。学習部2100は、学習画像を第1特徴抽出ネットワーク2042に入力する(S304)。学習部2100は、各計数ネットワークからの出力と正解値との誤差を表す損失を算出し、その損失を小さくするように各ネットワークの学習を行う(S306)。
<変形例>
実施形態1の変形例でも述べたように、各ネットワークは、属性の異なる対象物体の数をそれぞれ計数するように構成されてもよい。この場合、学習データ生成用データの物体情報には、各対象物体について、その位置とサイズに加え、その対象物体の属性が示されている。学習部2100は、学習データを各属性ついて用意し学習する。
例えば、対象物体が人であり、属性として年齢層を用いるとする。また、年齢層の属性値として、子供と大人の2つを用いるとする。この場合、第1所定範囲内のサイズを持つ子供の人数を各第1推定領域について示す第1正解物体数マップと、第1所定範囲内のサイズを持つ大人の人数を各第1推定領域について示す第1正解物体数マップとが用意される。第2正解物体数マップについても同様である。
各ネットワークの学習を行うために、学習部2100は、学習画像を、第1特徴抽出ネットワーク2042に入力する。これに応じ、第1計数ネットワーク2044からは、第1所定範囲内のサイズを持つ対象物体の数が属性ごとに出力される。同様に、第2計数ネットワーク2064からは、第2所定範囲内のサイズを持つ対象物体の数が属性ごとに出力される。学習部2100は、これらの出力と正解値(属性ごとの第1正解物体数マップ及び属性ごとの第2正解物体数マップ)との誤差を表す損失を算出し、その損失を小さくするように各ネットワークのパラメータを更新する。
[実施形態5]
図13は、実施形態5の物体数推定装置2000の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態5の物体数推定装置2000は、実施形態4の物体数推定装置2000と同様の機能を有する。
実施形態5の物体数推定装置2000は、実施形態4の物体数推定装置2000と同様に、各ネットワークの学習を行う。ただし、前述したように、実施形態5の物体数推定装置2000は、実施形態2の物体数推定装置2000が有する第1存在推定ネットワーク2046及び第2存在推定ネットワーク2066の学習を行う。すなわち、実施形態5の学習部2100は、第1存在推定ネットワーク2046と第2存在推定ネットワーク2066の学習を行う機能をさらに有する。
実施形態5の物体数推定装置2000が取得する学習データは、第1正解存在ラベルマップ及び第2正解存在ラベルマップをさらに含む。第1正解存在ラベルマップは、第1存在推定ネットワーク2046の学習に利用される学習データ(教師データ)である。具体的には、第1正解存在ラベルマップは、学習画像に含まれる各第1推定領域について、第1所定範囲内のサイズを持つ対象物体の存否を表すラベル(すなわち、正解の第1存在ラベル)を示す。例えば第1正解存在ラベルマップは、第1所定範囲内のサイズを持つ対象物体が1つ以上存在する第1推定領域について1を示し、第1所定範囲内のサイズを持つ対象物体が1つも存在しない第1推定領域について0を示す。
一方、第2正解存在ラベルマップは、第2存在推定ネットワーク2066の学習に利用される学習データである。具体的には、第2正解存在ラベルマップは、学習画像に含まれる各第2推定領域について、第2所定範囲内のサイズを持つ対象物体の存否を表すラベル(すなわち、正解の第2存在ラベル)を示す。例えば第2正解存在ラベルマップは、第2所定範囲内のサイズを持つ対象物体が1つ以上存在する第2推定領域について1を示し、第2所定範囲内のサイズを持つ対象物体が1つも存在しない第2推定領域について0を示す。
各ネットワークの学習を行うために、学習部2100は、学習画像を第1特徴抽出ネットワーク2042に入力する。学習部2100は、第1計数ネットワーク2044、第2計数ネットワーク2064、第1存在推定ネットワーク2046、及び第2存在推定ネットワーク2066それぞれからの出力と、正解値(第1正解物体数マップ、第2正解物体数マップ、第1正解存在ラベルマップ、及び第2正解存在ラベルマップ)との誤差を表す損失を算出し、算出した損失を小さくするように各ネットワークのパラメータを更新する。ここで、第1正解存在ラベルマップが示す対象物体の存在確率は、対象物体が存在することが示されている第1推定領域については 100%、対象物体が存在しないことが示されている第1推定領域については 0% として扱うことができる。また、存在ラベルが対象物体の存否を表す場合、学習には、存在推定ネットワークの最終出力の代わりに、その前段階で算出される物体の存在確率を用いることが好ましい。
ここで、第1特徴抽出ネットワーク2042のパラメータは、第1計数ネットワーク2044、第2計数ネットワーク2064、第1存在推定ネットワーク2046、及び第2存在推定ネットワーク2066それぞれの出力から逆伝播される情報の影響を受けて学習される。また、第2特徴抽出ネットワーク2062のパラメータは、第2計数ネットワーク2064及び第2存在推定ネットワーク2066それぞれの出力から逆伝播される情報の影響を受けて更新される。そのため、計数ネットワークを独立して設ける場合と比較し、計数ネットワークの推定精度や学習速度を向上させることができる。また、存在推定ネットワークについても、独立して設ける場合と比較し、その推定精度及び学習精度を向上させることができる。
なお、学習画像上で対象物体の配置の偏りが大きい場合などを考え、特徴マップに含まれる全てのセルの誤差を用いるのではなく、選択した一部のセルにおける誤差を最小化するように学習を行ってもよいことを、実施形態4で説明した。この点については、存在推定ネットワークの学習についても同様である。
例えば、正解存在ラベルマップにおいて、存在なし又は閾値未満の存在確率であるセルとそれ以外のセルの数が同数になるようにセルを選択し、選択したセルのみを用いて損失を算出するように学習する。その他にも例えば、正解存在ラベルマップにおいて、存在なし又は閾値未満の存在確率であるセルの数が、それ以外のセルの数に対して所定の倍数になるようにセルを選択し、選択したセルのみを用いて損失を算出するように学習してもよい。
また、計数ネットワークの学習(存在推定ネットワーク以外の学習)においては、正解存在ラベルマップにおいて存在あり又は閾値以上の存在確率であるセルを選択し、選択したセルのみを用いて損失を算出するように学習してもよい。
ここで、前述した様に、物体数推定装置2000は、特徴抽出ネットワーク等を3つ以上有してもよい。この場合も、前述した方法と同様の方法で学習を実現できる。例えば、特徴抽出ネットワーク等をそれぞれn個設けるとする。この場合、学習データは、第1正解物体数マップから第n正解物体数マップというn個の正解物体数マップ、及び第1正解存在ラベルマップから第n正解存在ラベルマップというn個の正解存在ラベルマップを含む。
学習部2100は、各計数ネットワーク及び各存在推定ネットワークからの出力と正解値(第1正解物体数マップから第n正解物体数マップ及び第1正解存在ラベルマップから第n正解存在ラベルマップ)との誤差を表す損失を算出し、算出した損失を小さくするように各ネットワークのパラメータを更新する。
<学習データの生成方法>
第1正解存在ラベルマップ及び第2正解存在ラベルマップの生成方法を説明する。物体数推定装置2000において学習データの生成を行う場合、本実施形態の物体数推定装置2000も、図12に示した実施形態4の物体数推定装置2000と同様に、学習データ生成部2120を有する。例えば、学習データ生成部2120は、学習データの生成に利用するデータ(学習データ生成用データ)として、学習画像と物体情報とのペアを取得する。そして、学習データ生成部2120は、第1正解物体数マップを生成し、第1正解物体数マップを所定の規則で変換することで、第1正解存在ラベルマップを生成する。具体的には、第1正解物体数マップの各セルを、対象物体の数が0であるセルについては0のまま(対象物体なし)とし、対象物体の数が1以上であるセルについては1(対象物体あり)に変換することで、第1正解存在ラベルマップを生成することができる。なお、第1正解物体数マップの生成方法については、実施形態4で述べた通りである。
ただし、第1正解物体数マップのセルは、0より大きく1より小さい値を示すこともある。例えば、実施形態4で説明したように、或る対象物体を表す画像領域が2つの推定領域にまたがって位置するケースである。この場合、例えば学習データ生成部2120は、第1正解物体数マップの各セルを、対象物体の数が閾値 Th 以下(0<Th≦1)であるセルについては0とし、対象物体の数が閾値 Th より大きいセルについては1に変換することで、第1正解存在ラベルマップを生成する。
さらに、学習データ生成部2120は、第2正解物体数マップを同様の規則で変換することにより、第2正解存在ラベルマップを生成する。
第1正解存在ラベルマップと第2正解存在ラベルマップの生成方法は上述した方法に限定されない。例えば、学習データの生成を行う作業者が手動で第1正解存在ラベルマップと第2正解存在ラベルマップを生成してもよい。
<ハードウエア構成の例>
実施形態5の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様に、その構成が図4で例示される種々の計算機で実現することができる。ただし、実施形態5の物体数推定装置2000を実現する計算機1000に含まれるストレージデバイス1080には、実施形態5の物体数推定装置2000の各機能構成部を実現するプログラムモジュールが記憶されている。
<変形例>
実施形態2の変形例として説明したように、物体数推定装置2000は、対象物体の数を属性ごとに計数する計数ネットワークと、存在推定ネットワークとを有してもよい。この場合、学習データ生成用データの物体情報には、各対象物体について、その位置とサイズに加え、その対象物体の属性が示され、実施形態4の変形例で述べた方法と同様の方法により、学習部2100は、学習データを各属性について用意し学習する。
例えば、対象物体が人であり、属性として年齢層を用いるとする。また、年齢層の属性値として、子供及び大人の2つを用いるとする。この場合、第1計数ネットワーク2044により、第1所定範囲内のサイズを持つ大人の数と子供の数がそれぞれ出力される。また、第2計数ネットワーク2064により、第2所定範囲内のサイズを持つ大人の数と子供の数がそれぞれ出力される。さらに、第1存在推定ネットワーク2046と第2存在推定ネットワーク2066それぞれから、第1存在ラベルと第2存在ラベルが出力される。
実施形態4の変形例の学習部2100は、前述した各出力と正解値(属性ごとの第1正解物体数マップ、属性ごとの第2正解物体数マップ、第1正解存在ラベルマップ、及び第2正解存在ラベルマップ)との誤差を表す損失を算出し、算出した損失を小さくするように各ネットワークのパラメータを更新する。
なお、実施形態2の変形例で記載したように、存在ラベルについても属性ごとに推定されるようにしてもよい。この場合、正解存在ラベルマップについても属性ごとに用意する。学習部2100は、第1計数ネットワーク2044、第2計数ネットワーク2064、第1存在推定ネットワーク2046、及び第2存在推定ネットワーク2066それぞれによる属性ごとの出力と、正解値(属性ごとの第1正解物体数マップ、属性ごとの第2正解物体数マップ、属性ごとの第1正解存在ラベルマップ、及び属性ごとの第2正解存在ラベルマップ)との誤差を表す損失を算出し、算出した損失を小さくするように各ネットワークのパラメータを更新する。
[実施形態6]
図14は、実施形態6の物体数推定装置2000の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態6の物体数推定装置2000は、実施形態4又は5の物体数推定装置2000と同様の機能を有する。
実施形態6の物体数推定装置2000は、実施形態4や5の物体数推定装置2000と同様に、各ネットワークの学習を行う。ただし、前述したように、実施形態6の物体数推定装置2000は、実施形態3の物体数推定装置2000が有する第1属性推定ネットワーク2048及び第2属性推定ネットワーク2068の学習を行う。すなわち、実施形態6の学習部2100は、第1属性推定ネットワーク2048と第2属性推定ネットワーク2068の学習を行う機能をさらに有する。
実施形態6の物体数推定装置2000が取得する学習データは、第1正解属性マップ及び第2正解属性マップをさらに含む。第1正解属性マップは、第1属性推定ネットワーク2048の学習に利用される学習データである。具体的には、第1正解属性マップは、学習画像に含まれる各第1推定領域について、第1所定範囲内のサイズを持つ対象物体の属性情報を示す。例えば第1正解属性マップは、各第1推定領域について、その第1推定領域において最も支配的な属性のクラス値を示したり、その第1推定領域における属性のクラス値の重み付き平均などを示す。
一方、第2正解属性マップは、第2属性推定ネットワーク2068の学習に利用される学習データである。具体的には、第2正解属性マップは、学習画像に含まれる各第2推定領域について、第2所定範囲内のサイズを持つ対象物体の属性情報を示す。その内容は、第1正解属性マップと同様である。
学習部2100は、学習画像を第1特徴抽出ネットワーク2042に入力する。これに応じ、実施形態4などで述べたように、第1計数ネットワーク2044と第2計数ネットワーク2064からそれぞれ、第1所定範囲内のサイズを持つ対象物体の数と、第2所定範囲内のサイズを持つ対象物体の数とが出力される。また、本実施形態ではさらに、第1属性推定ネットワーク2048と第2属性推定ネットワーク2068からそれぞれ、第1所定範囲内のサイズを持つ対象物体の属性情報と、第2所定範囲内のサイズを持つ対象物体の属性情報とが出力される。
学習部2100は、前述した第1計数ネットワーク2044、第2計数ネットワーク2064、第1属性推定ネットワーク2048、及び第2属性推定ネットワーク2068それぞれからの出力と、正解値(第1正解物体数マップ、第2正解物体数マップ、第1正解属性マップ、及び第2正解属性マップ)との誤差を表す損失を算出し、算出した損失を小さくするように各ネットワークのパラメータを更新する。
ここで、第1属性推定ネットワーク2048がクラス分類を行う場合、第1属性推定ネットワーク2048の最終的な出力ではなく、その前段階で第1属性推定ネットワーク2048が算出する各属性についての確率に基づいて学習を行うことが好適である。例えば第1属性推定ネットワーク2048は、第1推定領域ごとに、各属性についてその属性が最も支配的な属性である確率が列挙された第1ベクトルを算出し、そのベクトルを 1-of-k ベクトル化した第2ベクトルを出力するように構成される。この場合、例えば、第1正解属性マップとして、最も支配的である属性についてのみ1を示す 1-of-k ベクトルを第1推定領域ごとに持つデータを用意する。第2属性推定ネットワーク2068についても同様である。
本実施形態によれば、実施形態5において計数ネットワークの推定精度や学習速度が向上することと同様の理由により、計数ネットワークの推定精度や学習速度が向上する。また、属性推定ネットワークについても、属性推定ネットワークを単体で設ける場合と比較し、その推定精度及び学習速度が向上する。
ここで、前述した様に、物体数推定装置2000は、特徴抽出ネットワーク等を3つ以上有してもよい。この場合も、前述した方法と同様の方法で学習を実現できる。例えば、特徴抽出ネットワーク等をそれぞれn個設けるとする。この場合、学習データは、第1正解物体数マップから第n正解物体数マップというn個の正解物体数マップ、及び第1正解属性マップから第n正解属性マップというn個の正解属性マップを含む。
学習部2100は、各計数ネットワーク及び各属性推定ネットワークからの出力と正解値(第1正解物体数マップから第n正解物体数マップ及び第1正解属性マップから第n正解属性マップ)との誤差を表す損失を算出し、算出した損失を小さくするように各ネットワークのパラメータを更新する。
<学習データの生成方法>
第1正解属性マップ及び第2正解属性マップの生成方法について説明する。物体数推定装置2000において学習データの生成を行う場合、本実施形態の物体数推定装置2000も、図12に示した実施形態4の物体数推定装置2000と同様に、学習データ生成部2120を有する。例えば学習データ生成部2120は、実施形態4の物体数推定装置2000と同様に、学習データの生成に利用するデータ(学習データ生成用データ)として、学習画像と物体情報とのペアを取得する。ただし、本実施形態における物体情報には、各対象物体について、その位置とサイズに加え、その対象物体の属性が示されている。学習データ生成部2120は、これらの情報を利用して、第1正解属性マップ及び第2正解属性マップを生成する。
例えば学習データ生成部2120は、以下のように処理を行う。学習データ生成部2120は、上記にて学習画像と物体情報とのペアを取得した後、実施形態4で示される第1正解物体数マップを生成する。この生成によって、実施形態4で示されるように、各対象物体が属する各第1推定領域が特定される。そして、学習データ生成部2120は、各第1推定領域について、属する各対象物体の属性に基づいて、その第1推定領域の第1属性情報を算出する。各対象物体の属性は、その対象物体の物体情報に示されている。学習データ生成部2120は、各第1推定領域について上記算出した第1属性情報を示す第1正解属性マップを生成する。
学習データ生成部2120は、各第1推定領域について、その第1推定領域に含まれる対象物体の属性の統計値を表す第1属性情報を生成する。例えば学習データ生成部2120は、各第1推定領域について、属性ごとにその属性を持つ対象物体の数を算出し、その数が最も多い属性を、その第1推定領域の第1属性情報とする。その他にも例えば、学習データ生成部2120は、各第1推定領域について、属性ごとに対象物体の面積を重みとした重み付き和を算出し、その重み付き和が最大の属性を、その第1推定領域の第1属性情報とする。その他にも例えば、学習データ生成部2120は、各第1推定領域について、対象物体の数又は面積を重みとして属性の重み付き平均を算出し、その重み付き平均を、その第1推定領域の第1属性情報とする。
同様にして、学習データ生成部2120は、各第2推定領域について第2属性情報を算出し、各第2推定領域について第2属性情報を示す第2正解属性マップを生成する。
第1正解属性マップと第2正解属性マップの生成方法は上述した方法に限定されない。例えば、学習データの生成を行う作業者が手動で第1正解属性マップと第2正解属性マップを生成してもよい。
<ハードウエア構成の例>
実施形態6の物体数推定装置2000は、実施形態1の物体数推定装置2000と同様に、その構成が図4で例示される種々の計算機で実現することができる。ただし、実施形態6の物体数推定装置2000を実現する計算機1000に含まれるストレージデバイス1080には、実施形態の物体数推定装置2000の各機能構成部を実現するプログラムモジュールが記憶されている。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の構成を組み合わせた構成や、上記以外の様々な構成を採用することもできる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 対象画像に対して畳み込み処理を行うことで第1特徴マップ及び第2特徴マップを生成する特徴抽出ネットワークと、
前記第1特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を推定する第1計数ネットワークと、
前記第2特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を推定する第2計数ネットワークと、を有し、
前記第1特徴マップのサイズは前記第2特徴マップのサイズよりも大きく、
前記第1所定範囲に含まれるサイズは、前記第2所定範囲に含まれるサイズよりも小さい、物体数推定装置。
2. 前記特徴抽出ネットワークは、前記対象画像に対して畳み込み処理を行うことで前記第1特徴マップを生成し、前記第1特徴マップに対してさらに畳み込み処理を行うことで前記第2特徴マップを生成する、1.に記載の物体数推定装置。
3. 前記第1計数ネットワークは、第1所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
前記第2計数ネットワークは、第2所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定する、1.又は2.に記載の物体数推定装置。
4. 前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の存在を推定する第1存在推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の存在を推定する第2存在推定ネットワークと、を有する1.乃至3.いずれか一つに記載の物体数推定装置。
5. 前記対象物体が存在すること又は前記対象物体の存在確率が閾値以上であることが前記第1存在推定ネットワークによって推定された第1推定領域については、その第1推定領域における前記対象物体の数として、前記第1存在推定ネットワークによって推定された数を用い、
前記対象物体が存在しないこと又は前記対象物体の存在確率が閾値未満であることが前記第1存在推定ネットワークによって推定された第1推定領域については、その第1推定領域における前記対象物体の数を0個とし、
前記対象物体が存在すること又は前記対象物体の存在確率が閾値以上であることが前記第2存在推定ネットワークによって推定された第2推定領域については、その第2推定領域における前記対象物体の数として、前記第2存在推定ネットワークによって推定された数を用い、
前記対象物体が存在しないこと又は前記対象物体の存在確率が閾値未満であることが前記第2存在推定ネットワークによって推定された第2推定領域については、その第2推定領域における前記対象物体の数を0個とする、4.に記載の物体数推定装置。
6. 前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の属性を推定する第1属性推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の属性を推定する第2属性推定ネットワークと、を有する1.乃至5.いずれか一つに記載の物体数推定装置。
7. 学習データを用いてネットワークの学習を行う学習部を有し、
前記学習データは、対象画像、前記第1所定範囲内のサイズを持つ対象物体の数を前記対象画像の各前記第1推定領域について示す第1正解物体数データ、及び前記第2所定範囲内のサイズを持つ対象物体の数を前記対象画像の各前記第2推定領域について示す第2正解物体数データを含み、
前記学習部は、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワークと前記第2計数ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、及び前記第2計数ネットワークの学習を行う、1.乃至6.いずれか一つに記載の物体数推定装置。
8. 前記第1計数ネットワークは、第1所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
前記第2計数ネットワークは、第2所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
前記学習データは、
前記対象画像に含まれる各対象物体の属性をさらに示し、
前記第1正解物体数データと前記第2正解物体数データを前記対象物体の属性ごとに示す、7.に記載の物体数推定装置。
9. 前記対象画像について各前記対象物体の画像領域を特定可能な物体情報を取得し、前記取得した物体情報を用いて前記学習データを生成する学習データ生成部を有し、
前記学習データ生成部は、
前記物体情報を用いて、前記第1推定領域ごとに、サイズが前記第1所定範囲内である対象物体であってなおかつその対象物体を表す領域の所定割合以上がその第1推定領域に含まれる対象物体の個数又は割合の合計を算出し、前記第1推定領域ごとに前記算出した個数又は割合の合計を示す前記第1正解物体数データを生成し、
前記物体情報を用いて、前記第2推定領域ごとに、サイズが前記第2所定範囲内である対象物体であってなおかつその対象物体を表す領域の所定割合以上がその第2推定領域に含まれる対象物体の個数又は割合の合計を算出し、前記第2推定領域ごとに前記算出した個数又は割合の合計を示す前記第2正解物体数データを生成する、7.又は8.に記載の物体数推定装置。
10. 前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の存在を推定する第1存在推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の存在を推定する第2存在推定ネットワークと、を有し、
前記学習データは、前記第1所定範囲内のサイズを持つ対象物体の存在を前記対象画像の各前記第1推定領域について示す第1正解存在データ、及び前記第2所定範囲内のサイズを持つ対象物体の存在を前記対象画像の各前記第2推定領域について示す第2正解存在データを含み、
前記学習部は、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1存在推定ネットワーク、及び前記第2存在推定ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データと、前記第1正解存在データと、前記第2正解存在データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1存在推定ネットワーク、及び前記第2存在推定ネットワークの学習を行う、7.乃至9.いずれか一つに記載の物体数推定装置。
11. 前記対象画像について各前記対象物体の画像領域を特定可能な物体情報を取得し、前記取得した物体情報を用いて前記学習データを生成する学習データ生成部を有し、
前記学習データ生成部は、
前記物体情報を用いて、前記第1所定範囲内のサイズを持つ対象物体が1個以上含まれる前記第1推定領域については前記対象物体の存在を示し、なおかつ前記第1所定範囲内のサイズを持つ対象物体が1個も含まれない前記第1推定領域については前記対象物体の不存在を示す前記第1正解存在データを生成するか、又は、前記第1所定範囲内のサイズを持つ対象物体を表す画像領域が所定割合以上含まれる前記第1推定領域については前記対象物体の存在を示し、なおかつ前記第1所定範囲内のサイズを持つ対象物体を表す画像領域が前記所定割合以上含まれない前記第1推定領域については前記対象物体の不存在を示す前記第1正解存在データを生成し、
前記物体情報を用いて、前記第2所定範囲内のサイズを持つ対象物体が1個以上含まれる前記第2推定領域については前記対象物体の存在を示し、なおかつ前記第2所定範囲内のサイズを持つ対象物体が1個も含まれない前記第2推定領域については前記対象物体の不存在を示す前記第2正解存在データを生成するか、又は、前記第2所定範囲内のサイズを持つ対象物体を表す画像領域が前記所定割合以上含まれる前記第2推定領域については前記対象物体の存在を示し、なおかつ前記第2所定範囲内のサイズを持つ対象物体を表す画像領域が前記所定割合以上含まれない前記第2推定領域については前記対象物体の不存在を示す前記第2正解存在データを生成する、10.に記載の物体数推定装置。
12. 前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の属性を推定する第1属性推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の属性を推定する第2属性推定ネットワークと、を有し、
前記学習データは、対象画像、前記第1所定範囲内のサイズを持つ対象物体の属性を前記対象画像の各前記第1推定領域について示す第1正解属性データ、及び前記第2所定範囲内のサイズを持つ対象物体の属性を前記対象画像の各前記第2推定領域について示す第2正解属性データを含み、
前記学習部は、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1属性推定ネットワーク、及び前記第2属性推定ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データと、前記第1正解属性データと、前記第2正解属性データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1属性推定ネットワーク、及び前記第2属性推定ネットワークの学習を行う、7.乃至11.いずれか一つに記載の物体数推定装置。
13. 前記対象画像について各前記対象物体の画像領域及び属性を特定可能な物体情報を取得し、前記取得した物体情報を用いて前記学習データを生成する学習データ生成部を有し、
前記学習データ生成部は、
前記物体情報を用いて、前記第1推定領域ごとに、その第1推定領域に含まれる前記第1所定範囲内のサイズを持つ対象物体の属性の統計値を算出し、各前記第1推定領域について算出された前記統計値を示す前記第1正解属性データを生成し、
前記物体情報を用いて、前記第2推定領域ごとに、その第2推定領域に含まれる前記第2所定範囲内のサイズを持つ対象物体の属性の統計値を算出し、各前記第2推定領域について算出された前記統計値を示す前記第2正解属性データを生成する、12.に記載の物体数推定装置。
14. 前記学習データ生成部は、
前記第1特徴マップのサイズと前記対象画像のサイズとの比率に基づいて、前記対象画像における各前記第1推定領域を特定し、
前記第2特徴マップのサイズと前記対象画像のサイズとの比率に基づいて、前記対象画像における各前記第2推定領域を特定する、9.、11、及び13いずれか一つに記載の物体数推定装置。
15. 前記学習データ生成部は、
前記第1推定領域のサイズに第1所定比率を掛けることで第1基準サイズを算出し、その第1基準サイズに基づいて前記第1所定範囲を算出し、
前記第2推定領域のサイズに第2所定比率を掛けることで第2基準サイズを算出し、その第2基準サイズに基づいて前記第2所定範囲を算出する、9.、11、13、及び14いずれか一つに記載の物体数推定装置。
16. 前記第1所定比率と前記第2所定比率は等しい、15.に記載の物体数推定装置。
17. 前記第1所定範囲の右端と前記第2所定範囲の左端は等しく、
前記第1所定範囲の左端に対する前記第1基準サイズの比率と、前記第2所定範囲の左端に対する前記第2基準サイズの比率は等しく、
前記第1所定範囲の右端に対する前記第1基準サイズの比率と、前記第2所定範囲の右端に対する前記第2基準サイズの比率は等しい、15.又は16.に記載の物体数推定装置。
18. 前記学習部は、
前記対象画像に含まれる前記第1推定領域及び前記第2推定領域の一部を、第1正解物体数データ及び第2正解物体数データにおける前記対象物体の数が0個である推定領域と0個でない推定領域とのセルの個数の比率が所定の比率となるように選択し、
前記選択された前記推定領域についてのネットワークの出力と学習データとの誤差に基づいて学習を行う、7.乃至17.いずれか一つに記載の物体数推定装置。
19. 前記学習部は、
存在推定ネットワークの学習に関しては、前記対象画像に含まれる前記第1推定領域及び前記第2推定領域の一部を、第1正解存在データ及び第2正解存在データにおける存在なし又は閾値未満の存在確率である推定領域とそれ以外の推定領域とのセルの個数の比率が所定の比率となるように選択し、
存在推定ネットワーク以外の学習に関しては、前記対象画像に含まれる前記第1推定領域及び前記第2推定領域の一部を、第1正解存在データ及び第2正解存在データにおける存在あり又は閾値以上の存在確率である推定領域を選択し、
前記選択された推定領域についてのネットワーク出力と学習データとの誤差に基づいて学習を行う、10.又は11.に記載の物体数推定装置。
20. コンピュータによって実行される制御方法であって、
前記コンピュータは、
対象画像に対して畳み込み処理を行うことで第1特徴マップ及び第2特徴マップを生成する特徴抽出ネットワークと、
前記第1特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を推定する第1計数ネットワークと、
前記第2特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を推定する第2計数ネットワークと、を有し、
前記特徴抽出ネットワークが、前記対象画像から前記第1特徴マップと前記第2特徴マップを生成し、
前記第1計数ネットワークが、前記第1特徴マップを用いて、前記第1推定領域ごとに、前記第1所定範囲内のサイズを持つ対象物体の数を推定し、
前記第2計数ネットワークが、前記第2特徴マップを用いて、前記第2推定領域ごとに、前記第2所定範囲内のサイズを持つ対象物体の数を推定し、
前記第1特徴マップのサイズは前記第2特徴マップのサイズよりも大きく、
前記第1所定範囲に含まれるサイズは、前記第2所定範囲に含まれるサイズよりも小さい、制御方法。
21. 前記特徴抽出ネットワークが、前記対象画像に対して畳み込み処理を行うことで前記第1特徴マップを生成し、前記第1特徴マップに対してさらに畳み込み処理を行うことで前記第2特徴マップを生成する、20.に記載の制御方法。
22. 前記第1計数ネットワークが、第1所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
前記第2計数ネットワークが、第2所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定する、20.又は21.に記載の制御方法。
23. 前記コンピュータは、
前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の存在を推定する第1存在推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の存在を推定する第2存在推定ネットワークと、を有し、
前記第1存在推定ネットワークが、前記第1特徴マップを用いて、前記第1推定領域ごとに、前記第1所定範囲内のサイズを持つ対象物体の存在を推定し、
前記第2存在推定ネットワークが、前記第2特徴マップを用いて、前記第2推定領域ごとに、前記第2所定範囲内のサイズを持つ対象物体の存在を推定する、20.乃至22.いずれか一つに記載の制御方法。
24. 前記対象物体が存在すること又は前記対象物体の存在確率が閾値以上であることが前記第1存在推定ネットワークによって推定された第1推定領域については、その第1推定領域における前記対象物体の数として、前記第1存在推定ネットワークによって推定された数を用い、
前記対象物体が存在しないこと又は前記対象物体の存在確率が閾値未満であることが前記第1存在推定ネットワークによって推定された第1推定領域については、その第1推定領域における前記対象物体の数を0個とし、
前記対象物体が存在すること又は前記対象物体の存在確率が閾値以上であることが前記第2存在推定ネットワークによって推定された第2推定領域については、その第2推定領域における前記対象物体の数として、前記第2存在推定ネットワークによって推定された数を用い、
前記対象物体が存在しないこと又は前記対象物体の存在確率が閾値未満であることが前記第2存在推定ネットワークによって推定された第2推定領域については、その第2推定領域における前記対象物体の数を0個とする、23.に記載の制御方法。
25. 前記コンピュータは、前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の属性を推定する第1属性推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の属性を推定する第2属性推定ネットワークと、を有し、
前記第1属性推定ネットワークが、前記第1特徴マップを用いて、前記第1推定領域ごとに、前記第1所定範囲内のサイズを持つ対象物体の属性を推定し、
前記第2属性推定ネットワークが、前記第2特徴マップを用いて、前記第2推定領域ごとに、前記第2所定範囲内のサイズを持つ対象物体の属性を推定する、20.乃至24.いずれか一つに記載の制御方法。
26. 学習データを用いてネットワークの学習を行い、
前記学習データは、対象画像、前記第1所定範囲内のサイズを持つ対象物体の数を前記対象画像の各前記第1推定領域について示す第1正解物体数データ、及び前記第2所定範囲内のサイズを持つ対象物体の数を前記対象画像の各前記第2推定領域について示す第2正解物体数データを含み、
前記ネットワークの学習において、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワークと前記第2計数ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、及び前記第2計数ネットワークの学習を行う、20.乃至25.いずれか一つに記載の制御方法。
27. 前記第1計数ネットワークが、第1所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
前記第2計数ネットワークが、第2所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
前記学習データは、
前記対象画像に含まれる各対象物体の属性をさらに示し、
前記第1正解物体数データと前記第2正解物体数データを前記対象物体の属性ごとに示す、26.に記載の制御方法。
28. 前記対象画像について各前記対象物体の画像領域を特定可能な物体情報を取得し、前記取得した物体情報を用いて前記学習データを生成し、
前記学習データの生成において、
前記物体情報を用いて、前記第1推定領域ごとに、サイズが前記第1所定範囲内である対象物体であってなおかつその対象物体を表す領域の所定割合以上がその第1推定領域に含まれる対象物体の個数又は割合の合計を算出し、前記第1推定領域ごとに前記算出した個数又は割合の合計を示す前記第1正解物体数データを生成し、
前記物体情報を用いて、前記第2推定領域ごとに、サイズが前記第2所定範囲内である対象物体であってなおかつその対象物体を表す領域の所定割合以上がその第2推定領域に含まれる対象物体の個数又は割合の合計を算出し、前記第2推定領域ごとに前記算出した個数又は割合の合計を示す前記第2正解物体数データを生成する、26.又は27.に記載の制御方法。
29. 前記コンピュータは、
前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の存在を推定する第1存在推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の存在を推定する第2存在推定ネットワークと、を有し、
前記学習データは、前記第1所定範囲内のサイズを持つ対象物体の存在を前記対象画像の各前記第1推定領域について示す第1正解存在データ、及び前記第2所定範囲内のサイズを持つ対象物体の存在を前記対象画像の各前記第2推定領域について示す第2正解存在データを含み、
前記ネットワークの学習において、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1存在推定ネットワーク、及び前記第2存在推定ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データと、前記第1正解存在データと、前記第2正解存在データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1存在推定ネットワーク、及び前記第2存在推定ネットワークの学習を行う、26.乃至28.いずれか一つに記載の制御方法。
30. 前記対象画像について各前記対象物体の画像領域を特定可能な物体情報を取得し、前記取得した物体情報を用いて前記学習データを生成し、
前記学習データの生成において、
前記物体情報を用いて、前記第1所定範囲内のサイズを持つ対象物体が1個以上含まれる前記第1推定領域については前記対象物体の存在を示し、なおかつ前記第1所定範囲内のサイズを持つ対象物体が1個も含まれない前記第1推定領域については前記対象物体の不存在を示す前記第1正解存在データを生成するか、又は、前記第1所定範囲内のサイズを持つ対象物体を表す画像領域が所定割合以上含まれる前記第1推定領域については前記対象物体の存在を示し、なおかつ前記第1所定範囲内のサイズを持つ対象物体を表す画像領域が前記所定割合以上含まれない前記第1推定領域については前記対象物体の不存在を示す前記第1正解存在データを生成し、
前記物体情報を用いて、前記第2所定範囲内のサイズを持つ対象物体が1個以上含まれる前記第2推定領域については前記対象物体の存在を示し、なおかつ前記第2所定範囲内のサイズを持つ対象物体が1個も含まれない前記第2推定領域については前記対象物体の不存在を示す前記第2正解存在データを生成するか、又は、前記第2所定範囲内のサイズを持つ対象物体を表す画像領域が前記所定割合以上含まれる前記第2推定領域については前記対象物体の存在を示し、なおかつ前記第2所定範囲内のサイズを持つ対象物体を表す画像領域が前記所定割合以上含まれない前記第2推定領域については前記対象物体の不存在を示す前記第2正解存在データを生成する、29.に記載の制御方法。
31. 前記コンピュータは、
前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の属性を推定する第1属性推定ネットワークと、
前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の属性を推定する第2属性推定ネットワークと、を有し、
前記学習データは、対象画像、前記第1所定範囲内のサイズを持つ対象物体の属性を前記対象画像の各前記第1推定領域について示す第1正解属性データ、及び前記第2所定範囲内のサイズを持つ対象物体の属性を前記対象画像の各前記第2推定領域について示す第2正解属性データを含み、
前記ネットワークの学習において、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1属性推定ネットワーク、及び前記第2属性推定ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データと、前記第1正解属性データと、前記第2正解属性データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、前記第2計数ネットワーク、前記第1属性推定ネットワーク、及び前記第2属性推定ネットワークの学習を行う、26.乃至30.いずれか一つに記載の制御方法。
32. 前記対象画像について各前記対象物体の画像領域及び属性を特定可能な物体情報を取得し、前記取得した物体情報を用いて前記学習データを生成し、
前記学習データの生成において、
前記物体情報を用いて、前記第1推定領域ごとに、その第1推定領域に含まれる前記第1所定範囲内のサイズを持つ対象物体の属性の統計値を算出し、各前記第1推定領域について算出された前記統計値を示す前記第1正解属性データを生成し、
前記物体情報を用いて、前記第2推定領域ごとに、その第2推定領域に含まれる前記第2所定範囲内のサイズを持つ対象物体の属性の統計値を算出し、各前記第2推定領域について算出された前記統計値を示す前記第2正解属性データを生成する、31.に記載の制御方法。
33. 前記学習データの生成において、
前記第1特徴マップのサイズと前記対象画像のサイズとの比率に基づいて、前記対象画像における各前記第1推定領域を特定し、
前記第2特徴マップのサイズと前記対象画像のサイズとの比率に基づいて、前記対象画像における各前記第2推定領域を特定する、28.、30、及び32いずれか一つに記載の制御方法。
34. 前記学習データの生成において、
前記第1推定領域のサイズに第1所定比率を掛けることで第1基準サイズを算出し、その第1基準サイズに基づいて前記第1所定範囲を算出し、
前記第2推定領域のサイズに第2所定比率を掛けることで第2基準サイズを算出し、その第2基準サイズに基づいて前記第2所定範囲を算出する、28.、30、32、及び33いずれか一つに記載の制御方法。
35. 前記第1所定比率と前記第2所定比率は等しい、34.に記載の制御方法。
36. 前記第1所定範囲の右端と前記第2所定範囲の左端は等しく、
前記第1所定範囲の左端に対する前記第1基準サイズの比率と、前記第2所定範囲の左端に対する前記第2基準サイズの比率は等しく、
前記第1所定範囲の右端に対する前記第1基準サイズの比率と、前記第2所定範囲の右端に対する前記第2基準サイズの比率は等しい、34.又は35.に記載の制御方法。
37. 前記ネットワークの学習において、
前記対象画像に含まれる前記第1推定領域及び前記第2推定領域の一部を、第1正解物体数データ及び第2正解物体数データにおける前記対象物体の数が0個である推定領域と0個でない推定領域とのセルの個数の比率が所定の比率となるように選択し、
前記選択された推定領域についてのネットワークの出力と学習データとの誤差に基づいて学習を行う、26.乃至36.いずれか一つに記載の制御方法。
38. 前記ネットワークの学習において、
存在推定ネットワークの学習に関しては、前記対象画像に含まれる前記第1推定領域及び前記第2推定領域の一部を、第1正解存在データ及び第2正解存在データにおける存在なし又は閾値未満の存在確率である推定領域とそれ以外の推定領域とのセルの個数の比率が所定の比率となるように選択し、
存在推定ネットワーク以外の学習に関しては、前記対象画像に含まれる前記第1推定領域及び前記第2推定領域の一部を、第1正解存在データ及び第2正解存在データにおける存在あり又は閾値以上の存在確率である推定領域を選択し、
前記選択された推定領域についてのネットワーク出力と学習データとの誤差に基づいて学習を行う、29.又は30.に記載の制御方法。
39. 20.乃至38.いずれか一つに記載の制御方法をコンピュータに実行させるプログラム。
10 対象画像
20 第1特徴マップ
30 第2特徴マップ
50 マップ
60 マップ
70 マップ
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 物体数推定装置
2042 第1特徴抽出ネットワーク
2044 第1計数ネットワーク
2046 第1存在推定ネットワーク
2048 第1属性推定ネットワーク
2062 第2特徴抽出ネットワーク
2064 第2計数ネットワーク
2066 第2存在推定ネットワーク
2068 第2属性推定ネットワーク
2100 学習部
2120 学習データ生成部

Claims (10)

  1. 対象画像に対して畳み込み処理を行うことで第1特徴マップ及び第2特徴マップを生成する特徴抽出ネットワークと、
    前記第1特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を推定する第1計数ネットワークと、
    前記第2特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を推定する第2計数ネットワークと、を有し、
    前記第1特徴マップのサイズは前記第2特徴マップのサイズよりも大きく、
    前記第1所定範囲に含まれるサイズは、前記第2所定範囲に含まれるサイズよりも小さい、物体数推定装置。
  2. 前記特徴抽出ネットワークは、前記対象画像に対して畳み込み処理を行うことで前記第1特徴マップを生成し、前記第1特徴マップに対してさらに畳み込み処理を行うことで前記第2特徴マップを生成する、請求項1に記載の物体数推定装置。
  3. 前記第1計数ネットワークは、第1所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
    前記第2計数ネットワークは、第2所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定する、請求項1又は2に記載の物体数推定装置。
  4. 前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の存在を推定する第1存在推定ネットワークと、
    前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の存在を推定する第2存在推定ネットワークと、を有する請求項1乃至3いずれか一項に記載の物体数推定装置。
  5. 前記対象物体が存在すること又は前記対象物体の存在確率が閾値以上であることが前記第1存在推定ネットワークによって推定された第1推定領域については、その第1推定領域における前記対象物体の数として、前記第1存在推定ネットワークによって推定された数を用い、
    前記対象物体が存在しないこと又は前記対象物体の存在確率が閾値未満であることが前記第1存在推定ネットワークによって推定された第1推定領域については、その第1推定領域における前記対象物体の数を0個とし、
    前記対象物体が存在すること又は前記対象物体の存在確率が閾値以上であることが前記第2存在推定ネットワークによって推定された第2推定領域については、その第2推定領域における前記対象物体の数として、前記第2存在推定ネットワークによって推定された数を用い、
    前記対象物体が存在しないこと又は前記対象物体の存在確率が閾値未満であることが前記第2存在推定ネットワークによって推定された第2推定領域については、その第2推定領域における前記対象物体の数を0個とする、請求項4に記載の物体数推定装置。
  6. 前記第1特徴マップの各セルに対応する前記第1推定領域について、前記第1所定範囲内のサイズを持つ対象物体の属性を推定する第1属性推定ネットワークと、
    前記第2特徴マップの各セルに対応する前記第2推定領域について、前記第2所定範囲内のサイズを持つ対象物体の属性を推定する第2属性推定ネットワークと、を有する請求項1乃至5いずれか一項に記載の物体数推定装置。
  7. 学習データを用いてネットワークの学習を行う学習部を有し、
    前記学習データは、対象画像、前記第1所定範囲内のサイズを持つ対象物体の数を前記対象画像の各前記第1推定領域について示す第1正解物体数データ、及び前記第2所定範囲内のサイズを持つ対象物体の数を前記対象画像の各前記第2推定領域について示す第2正解物体数データを含み、
    前記学習部は、前記対象画像を前記特徴抽出ネットワークに入力することで前記第1計数ネットワークと前記第2計数ネットワークのそれぞれから得られる出力と、前記第1正解物体数データと、前記第2正解物体数データとを用いて損失を算出し、前記算出した損失に基づいて、前記特徴抽出ネットワーク、前記第1計数ネットワーク、及び前記第2計数ネットワークの学習を行う、請求項1乃至6いずれか一項に記載の物体数推定装置。
  8. 前記第1計数ネットワークは、第1所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
    前記第2計数ネットワークは、第2所定範囲内のサイズを持つ対象物体の数を、対象物体の属性ごとに推定し、
    前記学習データは、
    前記対象画像に含まれる各対象物体の属性をさらに示し、
    前記第1正解物体数データと前記第2正解物体数データを前記対象物体の属性ごとに示す、請求項7に記載の物体数推定装置。
  9. コンピュータによって実行される制御方法であって、
    前記コンピュータは、
    対象画像に対して畳み込み処理を行うことで第1特徴マップ及び第2特徴マップを生成する特徴抽出ネットワークと、
    前記第1特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第1推定領域について、第1所定範囲内のサイズを持つ対象物体の数を推定する第1計数ネットワークと、
    前記第2特徴マップのセルごとに、そのセルに対応する前記対象画像の画像領域である第2推定領域について、第2所定範囲内のサイズを持つ対象物体の数を推定する第2計数ネットワークと、を有し、
    前記特徴抽出ネットワークが、前記対象画像から前記第1特徴マップと前記第2特徴マップを生成し、
    前記第1計数ネットワークが、前記第1特徴マップを用いて、前記第1推定領域ごとに、前記第1所定範囲内のサイズを持つ対象物体の数を推定し、
    前記第2計数ネットワークが、前記第2特徴マップを用いて、前記第2推定領域ごとに、前記第2所定範囲内のサイズを持つ対象物体の数を推定し、
    前記第1特徴マップのサイズは前記第2特徴マップのサイズよりも大きく、
    前記第1所定範囲に含まれるサイズは、前記第2所定範囲に含まれるサイズよりも小さい、制御方法。
  10. 請求項に記載の制御方法をコンピュータに実行させるプログラム。
JP2021541930A 2019-08-30 2019-08-30 物体数推定装置、制御方法、及びプログラム Active JP7239002B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/034177 WO2021038840A1 (ja) 2019-08-30 2019-08-30 物体数推定装置、制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JPWO2021038840A1 JPWO2021038840A1 (ja) 2021-03-04
JPWO2021038840A5 JPWO2021038840A5 (ja) 2022-05-02
JP7239002B2 true JP7239002B2 (ja) 2023-03-14

Family

ID=74684683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021541930A Active JP7239002B2 (ja) 2019-08-30 2019-08-30 物体数推定装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220292706A1 (ja)
JP (1) JP7239002B2 (ja)
WO (1) WO2021038840A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115861275B (zh) * 2022-12-26 2024-02-06 中南大学 细胞计数方法、装置、终端设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005520A (ja) * 2016-06-30 2018-01-11 クラリオン株式会社 物体検出装置及び物体検出方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Chuan-Pin Lu, et al.,"Development of a Mushroom Growth Measurement System Applying Deep Learning for Image Recognition",Agronomy,[online],2019年01月14日,Vol.9, No.1,Pages 1-21,[令和元年11月5日検索], インターネット, <URL: https://www.mdpi.com/2073-4395/9/1/32>,ISSN: 2073-4395, <DOI: 10.3390/agronomy9010032>.
Jianan Li, et al.,"Scale-Aware Fast R-CNN for Pedestrian Detection",IEEE TRANSACTIONS ON MULTIMEDIA,2017年10月06日,Vol.20, No.4,Pages 985-996,ISSN: 1520-9210, <DOI: 10.1109/TMM.2017.2759508>.
Lingke Zeng, et al.,"MULTI-SCALE CONVOLUTIONAL NEURAL NETWORKS FOR CROWD COUNTING",Proceedings of the 2017 IEEE International Conference on Image Processing (ICIP 2017),2017年09月20日,Pages 465-469,ISBN: 978-1-5090-2175-8, <DOI: 10.1109/ICIP.2017.8296324>.

Also Published As

Publication number Publication date
JPWO2021038840A1 (ja) 2021-03-04
US20220292706A1 (en) 2022-09-15
WO2021038840A1 (ja) 2021-03-04

Similar Documents

Publication Publication Date Title
CN111709409B (zh) 人脸活体检测方法、装置、设备及介质
US11222239B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
Chan et al. Bayesian poisson regression for crowd counting
CN108416250B (zh) 人数统计方法及装置
US11747898B2 (en) Method and apparatus with gaze estimation
CN111754596B (zh) 编辑模型生成、人脸图像编辑方法、装置、设备及介质
CN115661943B (zh) 一种基于轻量级姿态评估网络的跌倒检测方法
CN110889446A (zh) 人脸图像识别模型训练及人脸图像识别方法和装置
US20220254134A1 (en) Region recognition method, apparatus and device, and readable storage medium
US10943352B2 (en) Object shape regression using wasserstein distance
JPH06150000A (ja) 画像クラスタリング装置
US20230386242A1 (en) Information processing apparatus, control method, and non-transitory storage medium
Khandelwal et al. Segmentation-grounded scene graph generation
US20220366259A1 (en) Method, apparatus and system for training a neural network, and storage medium storing instructions
CN110879982A (zh) 一种人群计数***及方法
WO2024032010A1 (zh) 一种基于迁移学习策略的少样本目标实时检测方法
Huang et al. Soft-margin mixture of regressions
WO2021217937A1 (zh) 姿态识别模型的训练方法及设备、姿态识别方法及其设备
CN111368768A (zh) 一种基于人体关键点的员工手势指引检测方法
CN115471863A (zh) 三维姿态的获取方法、模型训练方法和相关设备
KR102454715B1 (ko) 영상에 기반하여 동물의 승가 행위를 검출하는 장치 및 방법
JP7239002B2 (ja) 物体数推定装置、制御方法、及びプログラム
CN112597842B (zh) 基于人工智能的运动检测面瘫程度评估***
JPWO2019207721A1 (ja) 情報処理装置、制御方法、及びプログラム
CN111950586B (zh) 一种引入双向注意力的目标检测方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220216

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: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230213

R151 Written notification of patent or utility model registration

Ref document number: 7239002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151