JP7380902B2 - 物体検知装置、学習済みモデル生成方法、及び、プログラム - Google Patents

物体検知装置、学習済みモデル生成方法、及び、プログラム Download PDF

Info

Publication number
JP7380902B2
JP7380902B2 JP2022551504A JP2022551504A JP7380902B2 JP 7380902 B2 JP7380902 B2 JP 7380902B2 JP 2022551504 A JP2022551504 A JP 2022551504A JP 2022551504 A JP2022551504 A JP 2022551504A JP 7380902 B2 JP7380902 B2 JP 7380902B2
Authority
JP
Japan
Prior art keywords
object detection
loss
detection means
image data
unit
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
JP2022551504A
Other languages
English (en)
Other versions
JPWO2022064610A1 (ja
JPWO2022064610A5 (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 JPWO2022064610A1 publication Critical patent/JPWO2022064610A1/ja
Publication of JPWO2022064610A5 publication Critical patent/JPWO2022064610A5/ja
Application granted granted Critical
Publication of JP7380902B2 publication Critical patent/JP7380902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • 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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像に含まれる物体を検知する技術に関する。
多くのパターンデータを用いて学習を行うことで、認識器の性能を向上できることが知られている。基礎となる認識器から各環境に適合させた認識器にチューニングすることも行われている。また、異なる環境に応じて認識精度を向上させる方法も各種提案されている。例えば、特許文献1には、文字の書かれている環境に応じた認識処理を行うパターン認識装置が記載されている。このパターン認識装置では、入力画像から抽出された処理対象の状態に応じて、複数登録されている認識器の中のいずれか1つ又は複数を呼び出して認識処理を行わせる。
また、認識器の性能を向上する別の方策として、特性の異なる複数の認識器を構築して、それらの出力に基づいて総合判断する方式が提案されている。例えば、特許文献2には、障害物の有無を判定する複数の判定部の判定結果に基づいて最終判定を行う障害物検出装置が記載されている。
特開2007-058882号公報 特開2019-036240号公報
上記の手法では、複数の認識装置や判定装置の精度がほぼ同等であることを前提としている。このため、複数の認識装置や判定装置の精度が異なる場合には、最終的に得られる結果の精度が低下してしまう場合がある。また、上記の手法では、複数の認識器を用いて認識性能を向上させているため、必然的に装置が大規模となる。このため、映像監視などの用途で使用する物体検出装置を現場にデプロイするような場合には、上記の手法は適当とは言えない。
本発明の1つの目的は、特性の異なる複数の認識器を用いて、入力画像に応じた高精度な物体検知を可能とする物体検知装置を提供することにある。
上記の課題を解決するため、本発明の一つの観点では、物体検知装置は、
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知手段と、
前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知手段の各々について算出する重み算出手段と、
前記重み算出手段が算出した重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合する融合手段と、
前記画像データの正解ラベルと、前記融合手段が融合したスコアとの差異を第1のロスとして算出する第1のロス算出手段と、
前記重み算出パラメータを、前記第1のロスが減少するように修正する第1のパラメータ修正手段と、を備える。
本発明の他の観点では、学習済みモデル生成方法は、
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知手段の各々について算出し、
算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
前記画像データの正解ラベルと、融合したスコアとの差異を第1のロスとして算出し、
前記重み算出パラメータを、前記第1のロスが減少するように修正する。
本発明のさらに他の観点では、プログラムは、
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知手段の各々について算出し、
算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
前記画像データの正解ラベルと、融合したスコアとの差異を第1のロスとして算出し、
前記重み算出パラメータを、前記第1のロスが減少するように修正する処理をコンピュータに実行させる。
本発明のさらに他の観点では、物体検知装置は、
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知手段と、
前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出する重み算出手段と、
前記重み算出手段が算出した重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合する融合手段と、
前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力するターゲットモデルの物体検知手段と、
前記ターゲットモデルの物体検知手段の出力と、前記画像データの正解ラベルおよび前記融合部が融合したスコアとの差異を示す第2のロスを算出する第2のロス算出手段と、
前記第2のロスが減少するように、前記ターゲットモデルの物体検知部のパラメータを修正する第2のパラメータ修正手段と、を備える。
本発明のさらに他の観点では、学習済みモデル生成方法は、
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出し、
算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアをターゲットモデルの物体検知手段から出力し、
前記ターゲットモデルの物体検知手段の出力と、前記画像データの正解ラベルおよび融合したスコアとの差異を示す第2のロスを算出し、
前記第2のロスが減少するように、前記ターゲットモデルの物体検知手段のパラメータを修正する。
本発明のさらに他の観点では、プログラムは、
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出し、
算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアをターゲットモデルの物体検知手段から出力し、
前記ターゲットモデルの物体検知手段の出力と、前記画像データの正解ラベルおよび融合したスコアとの差異を示す第2のロスを算出し、
前記第2のロスが減少するように、前記ターゲットモデルの物体検知手段のパラメータを修正する処理をコンピュータに実行させる。
第1実施形態により大規模モデルを構築するための構成を示す。 大規模モデルを構築する例を模式的に示す。 アンカーボックスの概念を説明する図である。 第1実施形態の物体検知装置のハードウェア構成を示す。 第1実施例に係る学習のための物体検知装置の機能構成を示す。 第1実施例の物体検知装置による学習処理のフローチャートである。 第1実施例に係る推論のための物体検知装置の機能構成を示す。 第1実施例の物体検知装置による推論処理のフローチャートである。 第2実施例に係る学習のための物体検知装置の機能構成を示す。 第2実施例に係る推論のための物体検知装置の機能構成を示す。 第3実施例に係る学習のための物体検知装置の機能構成を示す。 第3実施例の物体検知装置による学習処理のフローチャートである。 第3実施例に係る推論のための物体検知装置の機能構成を示す。 大規模モデルを用いてターゲットモデルを構築するための構成を示す。 第2実施形態によりターゲットモデルを構築する例を模式的に示す。 第1実施例に係る学習のための物体検知装置の機能構成を示す。 第1実施例に係る物体検知装置による学習処理のフローチャートである。 第1実施例に係る推論のための物体検知装置の機能構成を示す。 第2実施例に係る学習のための物体検知装置の機能構成を示す。 第2実施例に係る物体検知装置による学習処理のフローチャートである。 第3実施例の原理を説明する図である。 第3実施形態に係る物体検知装置の機能構成を示す。 第3実施形態に係る物体検知装置による処理のフローチャートである。 第4実施形態に係る物体検知装置の機能構成を示す 第4実施形態に係る物体検知装置による処理のフローチャートである。
<第1実施形態>
[原理説明]
まず、第1実施形態における基本原理について説明する。一般的に、映像監視向けAI(Artificial Intelligence)モデルを現場にデプロイする際、その認識精度不足により、現場毎にモデルの再構築(現場での画像の収集、正解付け、学習など)のためのシステムインテグレーション作業が必要となることが多い。本実施形態では、システムインテグレーションのコストを低減するために、まず、さまざまな現場環境で学習済みのソースモデルを収集し、融合することにより、環境変動に頑健な大規模モデルを構築する。
図1は、複数の学習済みモデルを用いて大規模モデルを構築するための構成を示す。図1に示すように、大規模モデル1は、複数(図1の例では3つ)の学習済みモデル2と、ゲーティングネットワーク3と、演算部4とを備える。学習済みモデル2は、それぞれが異なる環境で学習されたソースモデルであり、ここでは画像データから物体検知を行うモデルである。新規の現場で収集された画像データは、学習データとして複数の学習済みモデル2およびゲーティングネットワーク3に入力される。なお、学習データには、予め対応する正解ラベルとして、クラスの正解値と座標の正解値が用意されている。
各学習済みモデル2は、入力された学習データに基づいて物体検知を行い、物体検知の途中段階で設定される部分領域毎に、検出された物体のクラスに関するクラス情報と、その部分領域の位置を示す座標情報とを出力する。クラス情報は、物体の種類を示すクラスコードと、そのクラスコードが示す物体が存在する確からしさを示すスコアとを含む。各学習済みモデル2は、部分領域毎のクラス情報および座標情報を、ゲーティングネットワーク3および演算部4へ出力する。
ゲーティングネットワーク3は、入力された学習データと、各学習済みモデル2が出力した部分領域毎のクラス情報および座標情報とに基づいて、各学習済みモデル2が出力する情報に対する重みを出力し、演算部4へ出力する。ゲーティングネットワーク3は、入力される学習データに加えて、各学習済みモデル2による部分領域毎のクラス情報および座標情報を用いることにより、各学習済みモデル2に対する重みを適切に設定することができる。即ち、ゲーティングネットワーク3は、学習データと、当該学習データに対する各学習済みモデル2の物体検知結果とを用いることにより、各学習済みモデル2がその学習データに含まれる物体の検知を得意としているか不得意としているかを推測し、その結果を各学習済みモデル2に対する重みに反映することができる。これにより、ゲーティングネットワーク3は、各学習済みモデル2に対して適切な重みを算出することが可能となる。
演算部4は、各学習済みモデル2が出力する情報を、ゲーティングネットワーク3が出力する重みを用いて融合する。演算部4は、各学習済みモデル2が出力するクラス情報を、重みを用いて融合して得られるクラス情報を出力する。また、演算部4は、各学習済みモデル2が出力する座標情報を、重みを用いて融合して得られる座標情報として出力する。
演算部4から出力されたクラス情報および座標情報は、それぞれ予め用意されたクラスの正解値および座標の正解値と比較され、誤差が算出される。そして、それらの誤差を最小化するように、ゲーティングネットワーク3を学習する。具体的には、それらの誤差が減少するように、ゲーティングネットワーク3のパラメータを修正する。前述のように、ゲーティングネットワーク3は、学習データとして入力される画像データと、各学習済みモデル2の出力とに基づいて、画像データ毎に各学習済みモデル2の得手不得手を推定して、各学習済みモデル2の最適な融合割合を示す重みの値を学習する。大規模モデル1の学習は、一定の精度が得られるまで行われる。こうして、複数の学習済みのソースモデルを用いて、高精度な大規模モデルが構築される。
次に、大規模モデルを構築する具体例を説明する。図2は、大規模モデル1を構築する処理の一例を模式的に示す。なお、図2では、学習済みモデル2の数を2つとしている。図2の例では、学習済みモデル2をRetinaNetにより構成している。なお、図2の例では、説明の便宜上、各学習済みモデル2が出力する情報のうち、クラス情報のみを使用するものとする。
学習済みモデル2は、ResNet(Residual Network:残差ネットワーク)により、入力された画像データから、サイズの異なる複数の特徴マップからなるfeature pyramid net(特徴ピラミッドネット)を生成する。各特徴マップには、アンカーボックスが設定され、学習済みモデル2は、アンカーボックス毎に物体の検出を行う。但し、大規模モデル1においては、学習済みモデル2は、検知した物体とそのスコアおよび座標情報をリスト形式などで出力する極大値選択処理、具体的にはNMS(Non Maximum Suppression)処理までは行わず、NMS処理前のアンカーボックス毎に算出された認識対象物体のクラス情報および座標情報をそのまま出力する。以下、認識対象物体の有無を検証する、すべての部分領域のことを「アンカーボックス」と呼ぶ。
図3は、アンカーボックスの概念を説明する図である。図示のように、CNN(Convolutional Neural Network)の畳み込みにより得られた特徴マップ上に、スライディングウィンドウ(sliding window)が設定される。図3の例では、1つのスライディングウィンドウに対してk通りの大きさの異なるアンカーボックス(以下、単に「アンカー」とも呼ぶ。)が設定され、各アンカーに対して認識対象物体の有無が検証される。即ち、各アンカーは、すべてのスライディングウィンドウに対してk通りずつ設定される部分領域を指す。
アンカーの数はニューラルネットワークの構造やサイズに依存する。図2において、出力ネットワーク70の上段は、W×H×A個のアンカーに対するクラス情報71(K次元。つまり、K種類の認識対象)を記憶しており、下段はW×H×A個のアンカーに対する座標情報(4次元)を記憶する。ここで、「W」はアンカー中心の横方向のバリエーション数、「H」はアンカー中心の縦方向バリエーション数、「A」はアンカーの縦横サイズのバリエーション数を示す。座標情報は、認識対象物が存在する矩形領域の左右、上下4辺の座標情報を絶対値もしくはアンカーに対して一意に定められる基準位置からの相対位置で表してもよいし、上下4辺ではなく左辺と上辺および幅と高さの観点で表してもよい。
図2に示す出力ネットワーク70はfeature pyramid netの1層分に対して設定されたもので、feature pyramid netの別の階層に対しても同様にK次元のスコア情報と4次元の座標情報が出力される。以下、feature pyramid netのすべての階層に対して設定されるアンカーの数を「Na」と記すこととする。同一のアンカーに対するスコア情報と座標情報は、それらの情報を記憶するためのメモリの予め定められたメモリ位置に保存されるので、それらを容易に対応づけることができる。
各学習済みモデル2は、アンカー数×クラス数分のクラス情報71を出力する。ゲーティングネットワーク3は、学習済みモデル2毎に決定した重みを出力する。演算部4は、各学習済みモデル2から出力されるクラス情報に対して、同一アンカー毎に重み付け和を計算し、クラス情報72を出力する。クラス情報72と、予め用意されたクラスの正解値(教師データ)73との差の二乗和をロスとして定義し、このロスを最小化するように、ゲーティングネットワーク3が出力する重みを学習する。こうして、大規模モデル1が構築される。
[ハードウェア構成]
図4は、第1実施形態の物体検知装置のハードウェア構成を示すブロック図である。物体検知装置10は、上記の大規模モデル1に相当する。図示のように、物体検知装置10は、インタフェース(IF)42と、プロセッサ43と、メモリ44と、記録媒体45と、データベース(DB)46と、を備える。
インタフェース42は、外部装置との通信を行う。具体的に、インタフェース42は、物体検知の対象となる画像データや学習用の画像データを外部から入力したり、物体検知の結果を外部装置へ出力する際に使用される。
プロセッサ43は、CPU(Central Processing Unit)、又はGPU(Graphics Processing Uit)などのコンピュータであり、予め用意されたプログラムを実行することにより、物体検知装置10の全体を制御する。メモリ44は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ44は、プロセッサ43により実行される各種のプログラムを記憶する。また、メモリ44は、プロセッサ43による各種の処理の実行中に作業メモリとしても使用される。
記録媒体45は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、物体検知装置10に対して着脱可能に構成される。記録媒体45は、プロセッサ43が実行する各種のプログラムを記録している。物体検知装置10が学習処理を実行する際には、記録媒体45に記録されているプログラムがメモリ44にロードされ、プロセッサ43により実行される。
データベース46は、物体検知装置10の学習処理において使用される、学習用の画像データを記憶する。学習用の画像データは、正解ラベルを含む。なお、上記に加えて、物体検知装置10は、キーボード、マウスなどの入力機器や、表示装置などを備えていても良い。
[第1実施例]
次に、第1実施形態の第1実施例に係る物体検知装置について説明する。
(学習のための機能構成)
まず、第1実施例に係る物体検知装置10の学習のための機能構成について説明する。図5は、学習のための物体検知装置10の機能構成を示すブロック図である。なお、図5は、複数の物体検知部からの出力に対する最適な融合割合を学習する学習ステップを実行するための構成を示す。図示のように、物体検知装置10は、画像入力部11と、重み算出部12と、第1の物体検知部13と、第2の物体検知部14と、積和部15と、パラメータ修正部16と、ロス算出部17と、正解ラベル記憶部18とを備える。画像入力部11は、図4に示すインタフェース42により実現される。重み算出部12、第1の物体検知部13、第2の物体検知部14、積和部15、パラメータ修正部16、および、ロス算出部17は、図4に示すプロセッサ43により実現される。正解ラベル記憶部18は図4に示すデータベース46により実現される。
物体検知装置10の学習ステップは、重み算出部12が内部に有する重み算出のためのパラメータ(以下、「重み算出パラメータ」と呼ぶ。)を最適化する。なお、第1の物体検知部13および第2の物体検知部14は、事前に学習済みであり、この学習ステップにおいて学習は行わない。
画像入力部11には、画像データが入力される。画像データは、学習用の画像データであり、物体検知の対象となるエリアで撮影されたものである。前述のように、各画像データに対しては、その画像に含まれる物体を示す正解ラベルが予め用意されている。
第1の物体検知部13は、例えばSSD(Single Shot Multibox Detector)、RetinaNet、Faster-RCNN(Regional Convolutional Neural Network)などのディープラーニングによる物体検知用のニューラルネットワークに類似する構成を有する。但し、第1の物体検知部13は、NMS(Non Maximum Suppression)により、検知した物体とそのスコアおよび座標情報をリスト形式などで出力する処理までは行わず、NMS処理前のアンカーボックス毎に算出された認識対象物体のスコア情報および座標情報をそのまま出力する。第1の物体検知部13は、アンカーボックス毎のスコア情報および座標情報を、重み算出部12および積和部15へ出力する。前述のように、第1の物体検知部13は事前に学習済みで、そのパラメータは固定されており、物体検知装置10の学習ステップにおいて学習は行わない。
第2の物体検知部14は、第1の物体検知部13と同様であり、モデルの構造も同一とする。ただし、第1の物体検知部13と第2の物体検知部14とは、学習データが異なるか、もしくは学習時のパラメータの初期値が異なるなどの要因により、内部に所持するネットワークのパラメータは一致しておらず、認識特性も異なるものとする。第2の物体検知部14は、アンカーボックス毎のスコア情報および座標情報を、重み算出部12および積和部15へ出力する。
重み算出部12は、ResNetなどの回帰問題に適用可能なディープニューラルネットワークなどによって構成される。重み算出部12は、画像入力部11に入力された画像データに対して、第1の物体検知部13と第2の物体検知部14が出力するスコア情報および座標情報を融合する際の重みを決定し、それぞれの重みを示す情報を積和部15へ出力する。この際、重み算出部12は、入力された画像データと、当該画像データに対する第1の物体検知部13および第2の物体検知部14の出力とに基づいて重みを決定する。基本的に、重みの次元数は用いる物体検知部の数に等しい。この場合、重み算出部12は、第1の物体検知部13に対する重みと第2の物体検知部14に対する重みの総和が「1」になるように重みを算出することが好ましい。例えば、重み算出部12は、第1の物体検知部13に対する重みを「α」とし、第2の物体検知部14に対する重みを「1-α」とすればよい。これにより、積和部15における平均値算出処理を簡略化することができる。なお、物体検知部において、1つの物体に関するパラメータが2つある場合(例えば、ある物体らしいことを示すパラメータと、ある物体らしくないことを示すパラメータ)、重みの次元数は用いる物体検知部の数の2倍となる。
積和部15は、第1の物体検知部13および第2の物体検知部14が出力するスコア情報および座標情報を、それぞれ対応するアンカー同士で、重み算出部12が出力する重みに基づき積和した後に平均値を求める。なお、座標情報の積和演算は、正解ラベルに認識対象物体の存在が示されているアンカーに対してのみ行い、それ以外のアンカーに対しては計算不要である。平均値はアンカー毎かつ認識対象物体毎に算出され、Na×(k+4)次元となる。なお、積和部15は、融合部の一例である。
正解ラベル記憶部18は、学習用の画像データに対する正解ラベルを記憶している。具体的に、正解ラベル記憶部18は、正解ラベルとして、各アンカーに存在する認識対象物体のクラス情報、および座標情報をアンカー毎に配列状に記憶する。正解ラベル記憶部18は、認識対象物体が存在しないアンカーに対応する記憶エリアには、認識対象物体が存在しない旨を示すクラス情報、および座標情報を記憶する。クラス情報は、物体の種類を示すクラスコードと、そのクラスコードが示す物体が存在する確からしさを示すスコア情報とを含む。なお、学習用の画像データに対するもともとの正解情報は、入力画像に写っている認識対象物体の種類とその矩形領域を示すテキスト情報である場合が多いが、正解ラベル記憶部18に記憶されている正解ラベルは、その正解情報をアンカー毎のクラス情報および座標情報に変換したデータとなっている。
例えば、正解ラベル記憶部18は、ある物体が写っている矩形領域とあらかじめ定めた閾値以上の重複を有するアンカーについては、当該物体のスコアを表す正解ラベルの位置に、クラス情報として当該物体のスコアを示す値1.0を格納し、座標情報として当該アンカーの標準矩形位置に対する当該物体が写っている矩形領域の位置の相対量(左端x座標のずれ量、上端y座標のずれ量、幅のずれ量、高さのずれ量)を格納する。また、正解ラベル記憶部18は、他の物体のスコアを表す正解ラベルの位置には物体が存在しない旨を示す値を格納する。また、ある物体が写っている矩形領域とあらかじめ定めた閾値以上の重複を有さないアンカーに対しては、正解ラベル記憶部18は、物体のスコアおよび座標情報を格納する正解ラベルの位置に物体が存在しない旨を示す値を格納する。1つのアンカーに対し、クラス情報はk次元、座標情報は4次元となる。すべてのアンカーに対しては、クラス情報はNa×k次元、座標情報はNa×4次元となる。この変換には、広く一般に公開されている物体検知課題向けのディープニューラルネットワークプログラムで使われている手法を適用することができる。
ロス算出部17は、積和部15が出力するNa×(k+4)次元のスコア情報および座標情報と、正解ラベル記憶部18に記憶されている正解ラベルとを照合してロスの値を算出する。具体的には、ロス算出部17は、スコア情報に関する識別ロス、および、座標情報に関する回帰ロス(Regression loss)を算出する。積和部15が出力するNa×(k+4)次元の平均値は、第1の物体検知部13がアンカー毎かつ認識対象物体毎に出力するスコア情報および座標情報と同義である。したがって、ロス算出部17は、第1の物体検知部13の出力に対する識別ロスの算出方法と全く等しい方法で識別ロスの値を算出することができる。ロス算出部17は、すべてのアンカーに対するスコア情報の差分を累積して識別ロスを算出する。また、回帰ロスについては、ロス算出部17は、いずれかの物体が存在するアンカーに対してのみ座標情報の差分を累積し、いずれの物体も存在しないアンカーに対しては座標情報の差分を考慮しない。
なお、識別ロスと回帰ロスを用いたディープニューラルネットワークの学習については以下の文献に記載されており、これを参考文献として取り込む。
“Learning Efficient Object Detection Models with Knowledge Distillation”,NeurIPS2017
パラメータ修正部16は、ロス算出部17が算出したロスを減少させるように、重み算出部12に内在するネットワークのパラメータを修正する。この時、パラメータ修正部16は、第1の物体検知部13および第2の物体検知部14のネットワークのパラメータを固定し、重み算出部12のパラメータのみを修正する。パラメータ修正部16は、パラメータの修正量を通常の誤差逆伝搬法により求めることができる。このようにして重み算出部12のパラメータを学習することで、第1の物体検知部13および第2の物体検知部14の出力を最適に積和し、総合的に判定を行う物体検知装置を構築することが可能となる。なお、ロス算出部17は第1のロス算出部の一例であり、ロス算出部17が算出するロスは第1のロスの一例であり、パラメータ修正部16は第1のパラメータ修正部の一例である。
次に、学習のための物体検知装置10の動作について説明する。図6は、物体検知装置10による学習処理のフローチャートである。この処理は、図1に示すプロセッサ43が予め用意されたプログラムを実行することにより実現される。
まず、画像入力部11に学習用の画像データが入力される(ステップS11)。第1の物体検知部13は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS12)。同様に、第2の物体検知部14は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS13)。重み算出部12は、画像データと、第1の物体検知部13および第2の物体検知部14の出力とに基づいて、第1の物体検知部13および第2の物体検知部14の出力それぞれに対する重みを算出する(ステップS14)。
次に、積和部15は、第1の物体検知部13が出力した認識対象物体のスコア情報と座標情報、並びに、第2の物体検知部14が出力した認識対象物体のスコア情報と座標情報に、重み算出部12が算出したそれぞれに対する重みを掛け合わせて加算し、それらの平均値を出力する(ステップS15)。次に、ロス算出部17は、得られた平均値と正解ラベルとの差を照合し、ロスを算出する(ステップS16)。そして、パラメータ修正部16は、ロスの値が減少するように、重み算出部12に内在する重み算出パラメータを修正する(ステップS17)。
物体検知装置10は、上記のステップS11~S17を所定条件が具備されている間だけ繰返し、処理を終了する。なお、「所定条件」とは、繰返しの回数やロスの値の変化度合いなどに関する条件であり、多くのディープラーニングの学習手順として採用されている方法のいずれかを使用することができる。
以上のように、第1実施例の物体検知装置10によれば、重み算出部12が入力画像に対する各物体検知部の得手・不得手を予測して重みを最適化し、その重みを各物体検知部の出力に乗じて平均する。よって、単体の物体検知部に比べて高精度な最終判定を行うことができる。例えば、第1の物体検知部13は単独で歩く歩行者の検知を得意とし、第2の物体検知部14は集団で歩く歩行者の検知を得意としている場合、入力画像にたまたま単独で歩く人が映っていたならば、重み算出部12は第1の物体検知部13により大きな重みを割り当てる。また、パラメータ修正部16は、学習用の画像データの認識を得意とする物体検知部に対して重み算出部12が大きな重みを算出するように、重み算出部12のパラメータを修正する。
(推論のための機能構成)
次に、推論のための物体検知装置の機能構成について説明する。図7は、第1実施例に係る推論のための物体検知装置10xの機能構成を示すブロック図である。なお、推論のための物体検知装置10xも、基本的に図4に示すハードウェア構成で実現される。
図7に示すように、推論のための物体検知装置10xは、画像入力部11と、重み算出部12と、第1の物体検知部13と、第2の物体検知部14と、積和部15と、極大値選択部19と、を備える。ここで、画像入力部11、重み算出部12、第1の物体検知部13、第2の物体検知部14、および、積和部15は、図5に示す学習のための物体検知装置10と同様である。そして、重み算出部12は、上記の学習処理により学習されたものを使用する。
極大値選択部19は、積和部15が出力するNa×k次元のスコア情報にNMS処理を施して認識対象物体の種類を同定し、そのアンカーに対応する座標情報からその位置を特定して物体検知結果を出力する。物体検知結果は、認識対象物体毎に、その種類と位置とを含む。これにより、第1の物体検知部13および第2の物体検知部14の出力を最適に融合して総合判断した場合の物体検知結果を得ることができる。
次に、推論のための物体検知装置10xの動作について説明する。図8は、物体検知装置10xによる推論処理のフローチャートである。この処理は、図4に示すプロセッサ43が予め用意されたプログラムを実行することにより実現される。
まず、画像入力部11に物体検知の対象となる画像データが入力される(ステップS21)。第1の物体検知部13は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS22)。同様に、第2の物体検知部14は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS23)。重み算出部12は、画像データと、第1の物体検知部13および第2の物体検知部14の出力とに基づいて、第1の物体検知部13および第2の物体検知部14の出力それぞれに対する重みを算出する(ステップS24)。
次に、積和部15は、第1の物体検知部13が出力した認識対象物体のスコア情報と座標情報、並びに、第2の物体検知部14が出力した認識対象物体のスコア情報と座標情報に、重み算出部12が算出したそれぞれに対する重みを掛け合わせて加算し、それらの平均値を出力する(ステップS25)。最後に、極大値選択部19は、平均値に対してNMS処理を施し、認識対象物体の種類とその位置を物体検知結果として出力する(ステップS26)。
(変形例)
上記の第1実施例に対しては、以下の変形例を適用することができる。
(1-1)上記の第1実施例では、各物体検知部が出力するスコア情報および座標情報を用いて学習を行っているが、座標情報は用いず、スコア情報のみを用いて学習を行うこととしてもよい。
(1-2)上記の第1実施例では、第1の物体検知部13および第2の物体検知部14の2つの物体検知部を用いたが、物体検知部は原理上3つ以上でも全く問題ない。その場合は、重み算出部12が出力する重みの次元数(数)を、物体検知部の数と等しくすればよい。
(1-3)第1の物体検知部13および第2の物体検知部14を構成する具体的なアルゴリズムとしては、物体検知のためのディープラーニング手法であれば何を用いてもよい。また、重み算出部12としては、回帰問題向けのディープラーニングに限らず、誤差逆伝搬法で学習できる関数、いいかえると、重みを算出する関数のパラメータで誤差関数を偏微分可能な関数、であれば何を用いても構わない。
(1-4)上記の第1実施例は物体検知装置としたが、物体の検知に限らず、映像中で起きている事象情報とその座標情報を出力する事象検知装置としてもよい。「事象」とは、例えばあらかじめ定めた人物の振る舞いや動作、ジェスチャーのようなものや、土砂崩れや雪崩、河川の水位上昇といった自然現象などを指す。
(1-5)上記の第1実施例では、第1の物体検知部13と第2の物体検知部14とはモデルの構造の等しいものを用いるものとしているが、異なるモデルを用いてもよい。ただし、その場合は、積和部15にて、略等しい位置に対応する双方のアンカーの対応づけを工夫する必要がある。これは、異なるモデル間のアンカーは、完全一致しないためである。現実的な実装としては、第2の物体検知部14で設定される各アンカーを第1の物体検知部13で設定されるアンカーのいずれか1つに対応させ、第1の物体検知部13で設定されるアンカー毎に重み付け平均を計算し、第1の物体検知部13で設定されるアンカー毎かつ認識対象物体毎のスコア情報および座標情報を出力するようにすればよい。アンカーの対応の決め方としては、アンカーに対応する画像領域(物体が存在する矩形領域)を求め、その画像領域がもっとも過不足なく重複するアンカー同士を対応付ければよい。
[第2実施例]
次に、第1実施形態の第2実施例について説明する。なお、以下に説明する学習のための物体検知装置20および推論のための物体検知装置20xは、いずれも図4に示すハードウェア構成により実現される。
(学習のための機能構成)
図9は、第2実施例に係る学習のための物体検知装置20の機能構成を示すブロック図である。図示のように、学習のための物体検知装置20は、図2に示す物体検知装置10における重み算出部12およびパラメータ修正部16の代わりに、アンカー毎重み算出部21およびアンカー毎パラメータ修正部22を有する。これ以外は、第2実施例の物体検知装置20は、第1実施例の物体検知装置10と同一である。即ち、画像入力部11、第1の物体検知部13、第2の物体検知部14、積和部15、ロス算出部17および正解ラベル記憶部18は、第1実施例の物体検知装置10とそれぞれ同一であり、基本的に第1実施例と同様に動作する。
アンカー毎重み算出部21は、画像入力部11に入力された画像データと、第1の物体検知部13および第2の物体検知部14の出力とに基づいて、その画像データに設定される各アンカーに対して、第1の物体検知部13と第2の物体検知部14の出力に対する重みを算出し、積和部15に出力する。即ち、第1実施例の重み算出部12が画像全体に対して1通りの重みを設定していたのに対し、第2実施例のアンカー毎重み算出部21は、画像のアンカー毎、即ち部分領域毎に、各物体検知部の出力に対する重みを算出する。画像データに設定されるアンカー数をNa、物体検知部の数をNfとすると、アンカー毎重み算出部21が出力する倍率を示す情報の次元数はNa×Nf次元となる。アンカー毎重み算出部21は、多次元の回帰問題に適用できるディープニューラルネットワークなどで構成することができる。また、アンカー毎重み算出部21は、それぞれの物体検知部に対する近傍のアンカー同士ができるだけ近い重みを持つように、近傍のアンカーに対応する重みを平均化するような構造のネットワークを含んでもよい。
積和部15は、第1の物体検知部13および第2の物体検知部14がそれぞれアンカー毎かつ認識対象物体毎に出力するスコア情報および座標情報を、同じもの同士対応づけながら、アンカー毎重み算出部21が出力する物体検知部毎かつアンカー毎の重みに基づき積和した後に平均値を求める。平均値の次元数は、第1実施形態と等しくNa×(k+4)次元となる。
アンカー毎パラメータ修正部22は、ロス算出部17が算出したロスを減少させるようにアンカー毎重み算出部21に含まれる物体検知部毎かつアンカー毎の重み算出パラメータを修正する。この時、第1実施例と同様に、第1の物体検知部13および第2の物体検知部14のネットワークのパラメータは固定し、アンカー毎パラメータ修正部22は、アンカー毎重み算出部21のパラメータのみを修正する。パラメータの修正量は、通常の誤差逆伝搬法により求めることができる。
学習時において、第2実施例の物体検知装置20は、基本的に図6に示す第1実施例の学習処理と同様の処理を実行する。但し、第2実施例では、図6に示す学習処理において、ステップS14でアンカー毎重み算出部21がアンカー毎に各物体検知部の出力に対する重みを算出する。また、ステップS17では、アンカー毎パラメータ修正部22がアンカー毎に、アンカー毎重み算出部21内の重み算出パラメータを修正する。
(推論のための機能構成)
次に、第2実施例に係る推論のための物体検知装置の構成について説明する。図10は、第2実施例に係る推論のための物体検知装置20xの機能構成を示すブロック図である。第2実施形態の推論のための物体検知装置20xは、図7に示す第1実施例の推論のための物体検知装置10xにおける重み算出部12の代わりに、アンカー毎重み算出部21を有する。これ以外の点では、第2実施例の推論のための物体検知装置20xは、第1実施例の推論のための物体検知装置10xと同一である。よって、第2実施例では、アンカー毎重み算出部21がアンカー毎に重みを算出し、第1の物体検知部13および第2の物体検知部14に出力する。
推論時において、第2実施例の物体検知装置20xは、基本的に図8に示す第1実施例の学習処理と同様の処理を実行する。但し、第2実施例では、図8に示す学習処理において、ステップS24でアンカー毎重み算出部21がアンカー毎に各物体検知部の出力に対する重みを算出する。
第2実施例では、入力された画像データに基づいて、各物体検知部の出力の確からしさをアンカー毎、言い換えると場所毎に推測して重みを算出し、その重みを用いて各物体検知部の出力を重み付け平均する。よって、複数の物体検知部の出力を用いて、より高精度な最終判定を行うことができる。例えば、第1の物体検知部13は単独で歩く歩行者の検知を得意とし、第2の物体検知部14は集団で歩く歩行者の検知を得意としていると仮定する。入力された画像に単独で歩く人と集団で歩く人が共に映っていたならば、アンカー毎重み算出部21は単独で歩く人の位置付近に対応するアンカーには第1の物体検知部13の出力をより重視し、集団で歩く人の位置付近に対応するアンカーには第2の物体検知部14の出力をより重視するような重みを出力する。こうして、より高精度な最終判定が可能となる。また、アンカー毎パラメータ修正部22は、学習用の画像データの認識を得意とする物体検知部の出力をより重視する重みをアンカー毎重み算出部21が出力するよう、画像の部分領域毎にパラメータを修正することができる。
(変形例)
第1実施例における変形例(1-1)~(1-5)は、第2実施例においても適用することができる。さらに、第2実施例では、以下の変形例(1-6)を適用することができる。
(1-6)上記の第2実施例では、アンカー毎重み算出部21がアンカー毎に最適な重み付けを行っているが、例えばRetinaNetのように各物体検知部がクラス毎に異なるバイナリ識別器を持っているならば、アンカー毎ではなくクラス毎に重みを変えられるようにしてもよい。この場合は、アンカー毎重み算出部21に代えてクラス毎重み算出部を設け、アンカー毎パラメータ修正部22に代えてクラス毎パラメータ修正部を設ければよい。画像データに設定されるアンカー数をNa、物体検知部の数をNfとすると、アンカー毎重み算出部21が出力する重みの次元数はNa×Nf次元である。これに対し、クラス数をNc次元とすると、クラス毎重み算出部が出力する重みの次元数はNc×Nf次元となる。クラス毎パラメータ修正部によるクラス毎重み算出部のパラメータの学習は、通常のように出力層ニューロン側からロスを最小化するように誤差逆伝搬を適用すればよい。この構成によれば、例えば、物体検知部毎に検知が得意なクラスが異なる場合、クラス毎に異なる最適な重み付けを行うことが可能となる。
[第3実施例]
次に、第1実施形態の第3実施例について説明する。第3実施例は、画像データの撮影環境情報を用いて、各物体検知部に対する重み付けを行うものである。なお、以下に説明する学習のための物体検知装置30および推論のための物体検知装置30xは、いずれも図4に示すハードウェア構成により実現される。
(学習のための機能構成)
図11は、第3実施例に係る学習のための物体検知装置30の機能構成を示すブロック図である。図示のように、学習のための物体検知装置30は、図5に示す第1実施例の物体検知装置10における重み算出部12の代わりに重み算出/環境予測部31を備え、さらに予測ロス算出部32を追加した構成を有する。これ以外は、第3実施例の物体検知装置30は、第1実施例の物体検知装置10と同一である。即ち、画像入力部11、第1の物体検知部13、第2の物体検知部14、積和部15、ロス算出部17および正解ラベル記憶部18は、第1実施例の物体検知装置10とそれぞれ同一であり、基本的に第1実施例と同様に動作する。
予測ロス算出部32には、撮影環境情報が入力される。撮影環境情報は、画像入力部11に入力される画像データが撮影された環境を示す情報である。例えば、撮影環境情報は、(a)画像データを撮影したカメラの設置位置の屋内外の別(屋内または屋外)、(b)その時の天候(晴天、曇天、雨または雪)、(c)時刻(昼または夜)、(d)カメラの俯角(0~30度、30~60度または60~90度)などである。
重み算出/環境予測部31は、画像入力部11に入力された画像データと、第1の物体検知部13および第2の物体検知部14の出力とに基づいて、重み算出パラメータを用いて第1の物体検知部13および第2の物体検知部14に対する重みを算出する。また、重み算出/環境予測部31は、撮影環境を予測するためのパラメータ(以下、「撮影環境予測パラメータ」と呼ぶ。)を用いて、入力された画像データの撮影環境を予測して予測環境情報を生成し、予測ロス算出部32に出力する。例えば、撮影環境情報として上記(a)~(d)の4種類のものを用いるとすれば、重み算出/環境予測部31は、各種類の情報の属性値を1次元で表し、予測環境情報として4次元の値を出力する。重み算出/環境予測部31は、重みと予測環境情報を算出するにあたり、計算の一部を共通化する。例えば、ディープニューラルネットワークで算出する場合、重み算出/環境予測部31は、ネットワークの下位層を共通化し、上位層のみを重みおよび予測環境情報の算出に特化させる。即ち、重み算出/環境予測部31はいわゆるマルチタスク学習を行う。これにより、重み算出パラメータと環境予測パラメータは、その一部が共通することとなる。
予測ロス算出部32は、撮影環境情報と、重み算出/環境予測部31が算出した予測環境との差異を計算し、予測ロスとしてパラメータ修正部16に出力する。パラメータ修正部16は、ロス算出部17が算出したロスおよび予測ロス算出部32が算出した予測ロスを減少させるように、重み算出/環境予測部31に内在するネットワークのパラメータを修正する。
第3実施例では、重み算出/環境予測部31において、重みの算出と予測環境情報の算出に一部のネットワークを共有しているので、類似した撮影環境のモデル同士は類似した重みをもちやすくなる。その結果、重み算出/環境予測部31における学習を安定させる効果が得られる。
なお、上記の第3実施例では、重み算出/環境予測部31およびパラメータ修正部16は、第1実施例と同様に画像全体に対して等しい重み付けを行っている。その代わりに、重み算出/環境予測部31およびパラメータ修正部16が、第2実施例のようにアンカー毎(部分領域毎)に重み付けを行うように構成してもよい。
次に、学習のための物体検知装置30の動作について説明する。図12は、第3実施例の物体検知装置30による学習処理のフローチャートである。この処理は、図4に示すプロセッサ43が予め用意されたプログラムを実行することにより実現される。図6と比較するとわかるように、第3実施例の物体検知装置30による学習処理は、第1実施例の物体検知装置10による学習処理に、ステップS31~S33を追加したものとなっている。
図12において、ステップS11~S16は、第1実施例の学習処理と同様である。ステップS16で、ロス算出部17は、得られた平均値と正解ラベルとの差を照合し、ロスを算出してパラメータ修正部16に出力する。一方、ステップS11~S16と並行して、ステップS31~S33が実行される。具体的には、まず、撮影環境情報が予測ロス算出部32に入力される(ステップS31)。次に、重み算出/環境予測部31は、画像入力部11から出力された画像データに基づいて、その画像データが撮影された環境を予測し、予測環境情報を生成して予測ロス算出部32に出力する(ステップS32)。予測ロス算出部32は、ステップS31で入力された撮影環境情報と、ステップS32で入力された予測環境情報とに基づいて予測ロスを算出し、パラメータ修正部16に出力する(ステップS33)。そして、パラメータ修正部16は、ロス算出部17が算出したロスおよび予測ロス算出部32が算出した予測ロスの値が減少するように、重み算出/環境予測部31に内在するパラメータを修正する(ステップS17)。物体検知装置30は、上記のステップS11~S17およびS31~33を所定条件が具備されている間だけ繰返し、処理を終了する。
(推論のための機能構成)
次に、第3実施例に係る推論のための物体検知装置の構成について説明する。図13は、第3実施例に係る推論のための物体検知装置30xの機能構成を示すブロック図である。第3実施例の推論のための物体検知装置30xは、図7に示す第1実施形態の推論のための物体検知装置10xにおける重み算出部12の代わりに、重み算出部35を有する。これ以外の点では、第3実施例の推論のための物体検知装置30xは、第1実施例の推論のための物体検知装置10xと同一である。
推論時において、第3実施例の物体検知装置30xは、基本的に図8に示す第1実施例の学習処理と同様の処理を実行する。但し、第3実施例では、重み算出部35は、上述の学習のための物体検知装置30により撮影環境情報を用いて学習した内部パラメータを用いて第1の物体検知部13および第2の物体検知部14に対する重みを算出し、積和部15に入力する。この点以外では、第3実施例の物体検知装置30xは、第1実施例の物体検知装置10xと同様に動作する。よって、第3実施例の物体検知装置30xは、第1実施例の物体検知装置10xと同様に、図8に示すフローチャートに従って推論処理を行う。但し、ステップS24において、重み算出部35は、撮影環境情報を用いて学習した内部パラメータを用いて重みを算出する。
(変形例)
上述した第1実施例における変形例(1)~(5)は、第3実施例においても適用することができる。
<第2実施形態>
次に、第2実施形態について説明する。
(原理説明)
まず、第2実施形態における基本原理について説明する。第2実施形態では、第1実施形態に係る大規模モデルをベースとして、新たな現場向けの小規模モデル、即ち、ターゲットモデルを構築する。図14は、大規模モデル1を用いてターゲットモデルを構築するための構成を示す。大規模モデル1は、ゲーティングネットワーク3の学習が完了したものとなっており、ここではターゲットモデル5の学習を行う。ターゲットモデル5には、学習データが入力される。なお、ターゲットモデル5は、学習済みモデル2と同一のモデルで構成する。ターゲットモデル5の学習では、教師データとして、予め用意された正解ラベルに加えて、大規模モデル1が出力する情報が使用される。具体的に、入力された学習データに基づいてターゲットモデル5が出力したクラス情報および座標情報は、その学習データについて予め用意されたクラスの正解値および座標の正解値と比較され、その誤差aを最小化するようにターゲットモデル5の学習が行われる。これに加えて、ターゲットモデル5が出力したクラス情報および座標情報は、同じ学習データに基づいて大規模モデル1が出力したクラス情報および座標情報と比較され、その誤差bを最小化するようにターゲットモデル5の学習が行われる。但し、座標情報の誤差を計算するのは、正解ラベルにおいて物体が存在する位置のアンカーについてのみであり、物体が存在しない位置のアンカーについては座標情報の誤差は「0」とする。
図15は、学習が完了した大規模モデルを用いて、ターゲットモデルを構築する処理の具体例を模式的に示す。図15の例では、学習済みモデル2をRetinaNetにより構成している。なお、図15では、説明の便宜上、クラス情報のみを用いた学習を行うものとする。大規模モデル1は、各学習済みモデル2が出力したクラス情報71と、ゲーティングネットワーク3が出力した重みとの重み付け和を計算し、クラス情報76を出力する。一方、ターゲットモデル5は、学習データに基づいてクラス情報74を出力する。ターゲットモデル5が出力したクラス情報74と予め用意されたクラスの正解値75との誤差a、および、ターゲットモデルが出力したクラス情報74と大規模モデル1が出力したクラス情報76との誤差bをロスとし、このロスを最小化するようにターゲットモデル5の学習が行われる。
このように、第2実施形態では、まず、さまざまな環境で学習済みの複数のソースモデルを融合して、環境変動に頑健な大規模モデルを構築する。そして、その大規模モデルの推論結果を教師データとし、新たな現場で収集した学習データを用いてターゲットモデルを学習する。これにより、新たな現場の環境に適した小規模で高精度なターゲットモデルを構築することが可能となる。
[ハードウェア構成]
第2実施形態における物体検出装置のハードウェア構成は、図4に示す第1実施形態の物体検出装置と同様である。
[第1実施例]
次に、第2実施形態の第1実施例について説明する。
(学習のための機能構成)
まず、学習のための物体検知装置の機能構成について説明する。図16は、第1実施例に係る学習のための物体検知装置100の機能構成を示すブロック図である。物体検知装置100は、まず複数の物体検知部を含む大規模モデルを学習するステップ(以下、「大規模モデル学習ステップ」と呼ぶ。)を実行し、次に学習済みの大規模モデルを用いてターゲットモデルを学習するステップ(以下、「ターゲットモデル学習ステップ」と呼ぶ。)を実行する。
図示のように、物体検知装置100は、大別して、大規模モデル部120と、ターゲットモデル部130とを備える。大規模モデル部120は、基本的に図5に示す第1実施形態の第1実施例の物体検知装置10と同様の構成を有する。具体的に、大規模モデル部120は、画像入力部11と、重み算出部12と、第1の物体検知部13と、第2の物体検知部14と、積和部15と、パラメータ修正部16と、ロス算出部17と、正解ラベル記憶部18とを備える。大規模モデル部120は、第1実施形態の第1実施例の物体検知装置10と同様に動作するので、重複した説明は行わない。
一方、ターゲットモデル部130は、ターゲットモデル物体検知部131と、ロス算出部132と、パラメータ修正部133とを備える。
ターゲットモデル物体検知部131は、新規に構築されるターゲットモデルの物体検知部である。ターゲットモデル物体検知部131は、第1の物体検知部13および第2の物体検知部14と同一の、物体検知用のニューラルネットワークに類似した構成を有する。ターゲットモデル物体検知部131は、画像入力部11に入力された学習用の画像データに基づいて、認識対象物体のスコア情報および座標情報をロス算出部132に出力する。
ロス算出部132は、ターゲットモデル物体検知部131が出力したスコア情報および座標情報を、ロス算出部17と同様に、正解ラベル記憶部18に記憶されている正解ラベルと照合して識別ロスおよび回帰ロスを算出する。さらに、ロス算出部132は、ターゲットモデル物体検知部131が出力したスコア情報および座標情報を、積和部15が出力するスコア情報および座標情報と照合して識別ロスおよび回帰ロスを算出する。積和部15が出力するスコア情報および座標情報は、大規模モデル部120によるスコア情報および座標情報に相当する。そして、ロス算出部132は、算出したロスをパラメータ修正部133に供給する。
なお、学習用の画像データは、正解ラベルを有しない画像データ(「ラベルなし画像データ」と呼ぶ。)を含んでいてもよい。ラベルなし画像データについては、ロス算出部132は、ターゲットモデル物体検知部131が出力したスコア情報および座標情報を、積和部15が出力するスコア情報および座標情報と照合して生成した識別ロスおよび回帰ロスのみをパラメータ修正部133に出力すればよい。以下、ロス算出部132が算出するロスを「ターゲットモデルロス」とも呼ぶ。なお、ロス算出部132は第2のロス算出部の一例であり、ターゲットモデルロスは第2のロスの一例である。
パラメータ修正部133は、ロス算出部132が算出したロスを減少させるように、ターゲットモデル物体検知部131に内在するネットワークのパラメータを修正する。パラメータ修正部133は、パラメータの修正量を通常の誤差逆伝搬法により求めることができる。なお、パラメータ修正部133は第2のパラメータ修正部の一例である。
次に、学習のための物体検知装置100の動作について説明する。図17は、物体検知装置100による学習処理のフローチャートである。この処理は、図4に示すプロセッサ43が予め用意されたプログラムを実行することにより実現される。図17において、ステップS111~S118は大規模モデル学習ステップに相当し、ステップS119~S124はターゲットモデル学習ステップに相当する。なお、大規模モデル学習ステップの実行中には、ターゲットモデル物体検知部131、ロス算出部132およびパラメータ修正部133は動作しない。
まず、画像入力部11に学習用の画像データが入力される(ステップS111)。第1の物体検知部13は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS112)。同様に、第2の物体検知部14は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS113)。重み算出部12は、画像データと、第1の物体検知部13および第2の物体検知部14の出力とに基づいて、第1の物体検知部13および第2の物体検知部14の出力それぞれに対する重みを算出する(ステップS114)。
次に、積和部15は、アンカー毎に、第1の物体検知部13が出力した認識対象物体のスコア情報と座標情報、並びに、第2の物体検知部14が出力した認識対象物体のスコア情報と座標情報に、重み算出部12が算出したそれぞれに対する重みを掛け合わせて加算し、それらの平均値を出力する(ステップS115)。次に、ロス算出部17は、得られた平均値と正解ラベルとの差を照合し、大規模モデルにおけるロス(以下、「大規模モデルロス」とも呼ぶ。)を算出する(ステップS116)。なお、大規模モデルロスは第3のロスの一例であり、ロス算出部17は第3のロス算出部の一例であり、パラメータ修正部16は第3のパラメータ修正部の一例である。そして、パラメータ修正部16は、大規模モデルロスの値が減少するように、重み算出部12に内在する重み算出パラメータを修正する(ステップS117)。
物体検知装置100は、上記のステップS111~S117を所定の条件の間だけ繰返し、学習を終了する。なお、「所定の条件」とは、繰返しの回数やロスの値の変化度合いなどに関する条件であり、多くのディープラーニングの学習手順として採用されている方法のいずれかを使用することができる。こうして、大規模モデルが構築される。
こうして、大規模モデル学習ステップが終了すると(ステップS118:Yes)、次に、ターゲットモデル学習ステップが行われる。ターゲットモデル学習ステップでは、重み算出部12の内部パラメータは、大規模モデル学習ステップで学習された値に固定される。なお、第1の物体検知部13および第2の物体検知部14の内部パラメータも事前に学習済みの値に固定されている。
画像入力部11に学習用の画像データが入力されると(ステップS119)、大規模モデル部120は、入力された画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎にロス算出部132に出力する(ステップS120)。また、ターゲットモデル物体検知部131は、入力された画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎にロス算出部132に出力する(ステップS121)。次に、ロス算出部132は、ターゲットモデル物体検知部131が出力したスコア情報および座標情報を、正解ラベル記憶部18に記憶されている正解ラベル並びに大規模モデル部120が出力したスコア情報および座標情報と比較してターゲットモデルロスを算出する(ステップS122)。そして、パラメータ修正部133は、ターゲットモデルロスの値が減少するように、ターゲットモデル物体検知部131に内在するパラメータを修正する(ステップS123)。物体検知装置100は、上記のステップS119~S124を所定の条件の間だけ繰返し、学習を終了する。
以上のように、第2実施形態の第1実施例の物体検知装置100によれば、まず、複数の学習済みの物体検知部を用いて大規模モデルを学習し、次に、その大規模モデルを用いてターゲットモデルを学習する。よって、新たな現場の環境に適した小規模で高精度なターゲットモデルを構築することが可能となる。
(推論のための機能構成)
次に、推論のための物体検知装置の機能構成について説明する。図18は、推論のための物体検知装置140の機能構成を示すブロック図である。なお、推論のための物体検知装置140も、基本的に図4に示すハードウェア構成で実現される。
図18に示すように、推論のための物体検知装置140は、画像入力部11と、ターゲットモデル物体検知部131と、極大値選択部141と、を備える。ここで、画像入力部11およびターゲットモデル物体検知部131は、図16に示す学習のための物体検知装置100と同様である。なお、ターゲットモデル物体検知部131は、上記のターゲットモデル学習ステップにより学習済みのものを使用する。
推論のための画像データが画像入力部11に入力されると、ターゲットモデル物体検知部131は、学習済みの内部パラメータを用いて物体検知を行い、認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する。極大値選択部141は、ターゲットモデル物体検知部131が出力するNa×k次元のスコア情報にNMS処理を施して認識対象物体の種類を同定し、そのアンカーに対応する座標情報からその位置を特定して物体検知結果を出力する。物体検知結果は、認識対象物体毎に、その種類と位置とを含む。これにより、大規模モデルを利用して学習したターゲットモデル物体検知部131を使用した物体検知結果を得ることができる。
(変形例1)
上記の第2実施形態の第1実施例については、第1実施形態の変形例(1-1)~(1-6)を同様に適用することができる。また、第2実施形態の第1実施例については、以下の変形例(2-1)を適用することができる。
(2-1)第1実施例の重み算出部12は画像全体に対して1通りの重みを設定しているが、その代わりに、重み算出部12が画像のアンカー毎、即ち部分領域毎に、各物体検知部の出力に対する重みを算出することとしても良い。画像データに設定されるアンカー数をNa、物体検知部の数をNfとすると、重み算出部12が出力する倍率を示す情報の次元数はNa×Nf次元となる。重み算出部12は、多次元の回帰問題に適用できるディープニューラルネットワークなどで構成することができる。また、重み算出部12は、それぞれの物体検知部に対する近傍のアンカー同士ができるだけ近い重みを持つように、近傍のアンカーに対応する重みを平均化するような構造のネットワークを含んでもよい。
[第2実施例]
次に、第2実施形態の第2実施例について説明する。なお、以下に説明する学習のための物体検知装置100xは、図4に示すハードウェア構成により実現される。第1実施例では、まず、大規模モデルを学習し、その後に大規模モデルを用いてターゲットモデルを学習している。これに対し、第2実施例では、大規模モデルの学習とターゲットモデルの学習を同時に行う。
(学習のための機能構成)
図19は、第2実施例に係る学習のための物体検知装置100xの機能構成を示すブロック図である。図示のように、第2実施例に係る学習のための物体検知装置100xでは、ロス算出部132の出力がパラメータ修正部16にも供給されている。この点以外は、第2実施例に係る学習のための物体検知装置100xは、図16に示す第1実施例の物体検知装置100と同一であり、各要素は基本的に第1実施例と同様に動作する。
第2実施例では、ロス算出部132は、ターゲットモデルロスをパラメータ修正部133のみならず、パラメータ修正部16にも供給する。パラメータ修正部16は、ターゲットモデルロスも考慮して、重み算出部12の重み算出パラメータを修正する。具体的には、パラメータ修正部16は、大規模モデルロスおよびターゲットモデルロスが減少するように、重み算出パラメータを修正する。
次に、学習のための物体検知装置100xの動作について説明する。図20は、物体検知装置100xによる学習処理のフローチャートである。この処理は、図4に示すプロセッサ43が予め用意されたプログラムを実行することにより実現される。図20に示す学習処理において、ステップS141~S146は、図17に示す第1実施例の物体検知装置10による学習処理のステップS111~S116と同様であるので説明を省略する。
ステップS146でロス算出部17が大規模モデルロスを算出すると、ターゲットモデル物体検知部131は、入力された画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS147)。次に、ロス算出部132は、ターゲットモデル物体検知部131が出力したスコア情報および座標情報を、正解ラベル並びに大規模モデル部120が出力したスコア情報および座標情報と比較してターゲットモデルロスを算出し、パラメータ修正部16およびパラメータ修正部133に供給する(ステップS148)。
パラメータ修正部16は、大規模モデルロスおよびターゲットモデルロスが減少するように、重み算出部12の重み算出パラメータを修正する(ステップS149)。また、パラメータ修正部133は、ターゲットモデルロスが減少するように、ターゲットモデル物体検知部131に内在するパラメータを修正する(ステップS150)。物体検知装置100xは、上記のステップS141~S150を所定の条件の間だけ繰返し、処理を終了する。
以上のように、第2実施形態の第2実施例の物体検知装置100xによれば、大規模モデルの学習ステップと、ターゲットモデルの学習ステップを同時に実行することができる。よって、新たな現場の環境に適したターゲットモデルを効率的に構築することが可能となる。
(推論のための機能構成)
第2実施例に係る推論のための物体検知装置は、図18に示す第1実施例に係る推論のための物体検知装置140と同一であり、同様に動作するので、説明を省略する。
(変形例)
第1実施形態における変形例(1-1)~(1-6)、および、第2実施形態における変形例(2-1)は、第2実施形態の第2実施例においても同様に適用することができる。
[第3実施例]
(原理説明)
次に、第2実施形態の第3実施例について説明する。図14に示すように、第2実施形態の第1実施例および第2実施例では、ターゲットモデル5は、入力された画像データについてクラス情報および座標情報を出力する。そして、ターゲットモデル5が出力したクラス情報および座標情報と、予め用意されたクラスの正解値および座標の正解値との誤差a並びに同じ学習データに基づいて大規模モデルが出力したクラス情報および座標情報との誤差bを最小化するように、ターゲットモデル5の学習が行われる。
これに対し、第3実施例では、図21に示すように、ターゲットモデル5は、入力された画像データに基づいて、クラス情報および座標情報に加えて、ゲーティングネットワーク3が出力する重みを推論して出力する。この重みは、演算部4が各学習済みモデル2の出力を融合する際に使用する重みである。図21の例では、大規模モデル1は3つの学習済みモデル2を含むので、ターゲットモデル5は、3つの学習済みモデル2に対する重みをそれぞれ出力する。ターゲットモデル5が出力した各学習済みモデル2に対する重みは、ゲーティングネットワーク3が算出した各学習済みモデル2に対する重みと比較され、その誤差cが最小となるようにターゲットモデル5の学習が行われる。第3実施例によれば、大規模モデル1が出力するクラス情報および座標情報に加えて、大規模モデル1内のゲーティングネットワーク3が生成する重みも用いてターゲットモデル5を学習するので、大規模モデル1の特性がターゲットモデル5により適切に反映されることが期待できる。
(学習のための機能構成)
第3実施例の手法は、第1実施例および第2実施例のいずれにも適用することができる。第3実施例の手法を第1実施例に適用した場合、第3実施例による物体検知装置の学習のための構成は、基本的に図16に示す第1実施例の物体検知装置100と同様となる。但し、大規模モデル部120の積和部15は、重み算出部12が算出した第1の物体検知部13および第2の物体検知部14に対する重み、即ち、物体検知部ごとの重みを、ターゲットモデル部130のロス算出部132に出力する。また、ターゲットモデル部130のターゲットモデル物体検知部131は、学習データとして入力される画像データに基づいて、クラス情報と座標情報に加え、第1の物体検知部13および第2の物体検知部14に対する重みを算出してロス算出部132へ出力する。ロス算出部132は、積和部15から入力された物体検知部ごとの重みと、ターゲットモデル物体検知部131から入力された物体検知部ごとの重みの誤差の合計(前述の誤差cに相当する。以下、「重みロス」とも呼ぶ。)を算出し、ターゲットモデルロスに含めてパラメータ修正部133へ出力する。パラメータ修正部133は、重みロスを含むターゲットモデルロスを最小化するようにターゲットモデル物体検知部131のパラメータを修正する。なお、重みロスは第4のロスの一例である。
このように、第1実施例に対して第3実施例の手法を適用した場合、学習処理は図17に示す第1実施例の学習処理と同様に行われる。但し、図17のステップS121においてターゲットモデル物体検知部131は物体検知部ごとの重みを算出する。また、ステップS122においてロス算出部132は重みロスを含むターゲットモデルロスを算出する。
一方、第3実施例の手法を第2実施例に適用した場合、第3実施例による物体検知装置の学習のための構成は、基本的に図19に示す第2実施例の物体検知装置100xと同様となる。但し、第2実施例の物体検知装置100xでは、ロス算出部132は、重みロスを含むターゲットモデルロスをパラメータ修正部16にも出力するので、パラメータ修正部16は、重みロスを含むターゲットロスも用いて重み算出部12の重み算出パラメータを修正することになる。
このように、第2実施例に対して第3実施例の手法を適用した場合、学習処理は図20に示す第2実施例の学習処理と同様に行われる。但し、図20のステップS147においてターゲットモデル物体検知部131は物体検知部ごとの重みを算出し、ステップS148においてロス算出部132は重みロスを含むターゲットモデルロスを算出する。そして、ステップS149においてパラメータ修正部16は重みロスを含むターゲットモデルロスを用いて重み算出部12のパラメータを修正し、ステップS150においてパラメータ修正部133は重みロスを含むターゲットモデルロスを用いてターゲットモデル物体検知部131のパラメータを修正する。
(推論のための機能構成)
第3実施例に係る推論のための物体検知装置は、図18に示す第1実施例に係る推論のための物体検知装置140と同一であり、同様に動作するので、説明を省略する。
(変形例)
第1実施形態における変形例(1-1)~(1-6)、および、第2実施形態における変形例(2-1)は、第2実施形態の第3実施例においても同様に適用することができる。
[第3実施形態]
次に、第3実施形態について説明する。図22は、第3実施形態に係る物体検知装置80の機能構成を示すブロック図である。なお、物体検知装置80は、図4に示すハードウェア構成により実現される。
物体検知装置80は、複数の物体検知部81と、重み算出部82と、融合部83と、第1のロス算出部84と、第1のパラメータ修正部85とを備える。複数の物体検知部81は、入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する。重み算出部82は、画像データおよび複数の物体検知部81の出力に基づいて、複数の物体検知部81が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、複数の物体検知部81の各々について算出する。融合部83は、重み算出部82が算出した重みで、複数の物体検知部81が出力するスコアを部分領域毎に融合する。第1のロス算出部84は、画像データの正解ラベルと、融合部83が融合したスコアとの差異を第1のロスとして算出する。そして、第1のパラメータ修正部85は、重み算出パラメータを、第1のロスが減少するように修正する。
図23は、第3実施形態に係る物体検知装置80による処理のフローチャートである。まず、複数の物体検知部81は、入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する(ステップS201)。重み算出部82は、画像データおよび複数の物体検知部81の出力に基づいて、複数の物体検知部81が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、複数の物体検知部81の各々について算出する(ステップS202)。融合部83は、重み算出部82が算出した重みで、複数の物体検知部81が出力するスコアを部分領域毎に融合する(ステップS203)。第1のロス算出部84は、画像データの正解ラベルと、融合部83が融合したスコアとの差異を第1のロスとして算出する(ステップS204)。そして、第1のパラメータ修正部85は、重み算出パラメータを、第1のロスが減少するように修正する(ステップS205)。このように、第3実施形態によれば、複数の物体検知部81の出力を適切に融合する大規模モデルを作成することができる。
[第4実施形態]
次に、第4実施形態について説明する。図24は、第4実施形態に係る物体検知装置90の機能構成を示すブロック図である。なお、物体検知装置90は、図4に示すハードウェア構成により実現される。
物体検知装置90は、複数の物体検知部91と、重み算出部92と、融合部93と、ターゲットモデルの物体検知部94と、第2のロス算出部95と、第2のパラメータ修正部96とを備える。複数の物体検知部91は、入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する。重み算出部92は、画像データおよび複数の物体検知部91の出力に基づいて、複数の物体検知部91が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出する。融合部93は、重み算出部92が算出した重みで、複数の物体検知部91が出力するスコアを部分領域毎に融合する。ターゲットモデルの物体検知部94は、画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する。第2のロス算出部95は、ターゲットモデルの物体検知部94の出力と、画像データの正解ラベルおよび融合部93が融合したスコアとの差異を示す第2のロスを算出する。第2のパラメータ修正部96は、第2のロスが減少するように、ターゲットモデルの物体検知部94のパラメータを修正する。
図25は、第4実施形態に係る物体検知装置90による処理のフローチャートである。まず、複数の物体検知部91は、入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する(ステップS211)。重み算出部92は、画像データおよび複数の物体検知部91の出力に基づいて、複数の物体検知部91が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出する(ステップS212)。融合部93は、重み算出部92が算出した重みで、複数の物体検知部91が出力するスコアを部分領域毎に融合する(ステップS213)。ターゲットモデルの物体検知部94は、画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する(ステップS214)。第2のロス算出部95は、ターゲットモデルの物体検知部94の出力と、画像データの正解ラベルおよび融合部93が融合したスコアとの差異を示す第2のロスを算出する(ステップS215)。そして、第2のパラメータ修正部96は、第2のロスが減少するように、ターゲットモデルの物体検知部94のパラメータを修正する(ステップS216)。このように、第4実施形態によれば、複数の物体検知部91の出力を適切に融合する大規模モデルを用いて、ターゲットモデルの物体検知部91を学習することができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知部と、
前記画像データおよび前記複数の物体検知部の出力に基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出する重み算出部と、
前記重み算出部が算出した重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合する融合部と、
前記画像データの正解ラベルと、前記融合部が融合したスコアとの差異を第1のロスとして算出する第1のロス算出部と、
前記重み算出パラメータを、前記第1のロスが減少するように修正する第1のパラメータ修正部と、
を備える物体検知装置。
(付記2)
前記重み算出部は、前記画像データの全体に対して1つの重みを算出し、
前記融合部は、前記複数の物体検知部が出力するスコアを、前記1つの重みで融合する付記1に記載の物体検知装置。
(付記3)
前記重み算出部は、前記画像データの前記部分領域毎に前記重みを算出し、
前記融合部は、前記複数の物体検知部が出力するスコアを、前記部分領域毎に算出された重みで融合する付記1に記載の物体検知装置。
(付記4)
前記融合部は、前記複数の物体検知部が出力するスコアに、前記重み算出部が算出したそれぞれの物体検知部についての重みを乗じて加算した後、平均値を求める付記1乃至3のいずれか一項に記載の物体検知装置。
(付記5)
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
前記画像データおよび前記複数の物体検知部の出力に基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
前記画像データの正解ラベルと、融合したスコアとの差異を第1のロスとして算出し、
前記重み算出パラメータを、前記第1のロスが減少するように修正する学習済みモデル生成方法。
(付記6)
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
前記画像データおよび前記複数の物体検知部の出力に基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
前記画像データの正解ラベルと、融合したスコアとの差異を第1のロスとして算出し、
前記重み算出パラメータを、前記第1のロスが減少するように修正する処理をコンピュータに実行させるプログラムを記録した記録媒体。
(付記7)
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知部と、
前記画像データおよび前記複数の物体検知部の出力に基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出する重み算出部と、
前記重み算出部が算出した重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合する融合部と、
前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力するターゲットモデルの物体検知部と、
前記ターゲットモデルの物体検知部の出力と、前記画像データの正解ラベルおよび前記融合部が融合したスコアとの差異を示す第2のロスを算出する第2のロス算出部と、
前記第2のロスが減少するように、前記ターゲットモデルの物体検知部のパラメータを修正する第2のパラメータ修正部と、
を備える物体検知装置。
(付記8)
前記正解ラベルと、前記融合部が融合したスコアとの差異を示す第3のロスを算出する第3のロス算出部と、
前記第3のロスが減少するように、前記重み算出パラメータを修正する第3のパラメータ修正部と、
を備える付記7に記載の物体検知装置。
(付記9)
前記第3のパラメータ修正部は、前記第2のロスおよび前記第3のロスに基づいて、前記重み算出パラメータを修正する付記8に記載の物体検知装置。
(付記10)
前記ターゲットモデルの物体検知部は、前記画像データに基づいて、前記重み算出部が出力する重みを推定し、
前記第2のロス算出部は、前記重み算出部が出力した重みと、前記ターゲットモデルの物体検知部が推定した重みとの差異を示す第4のロスを算出し、
前記第2のパラメータ修正部は、前記第2のロスおよび前記第4のロスが減少するように前記ターゲットモデルの物体検知部のパラメータを修正する付記7乃至9のいずれか一項に記載の物体検知装置。
(付記11)
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
前記画像データおよび前記複数の物体検知部の出力に基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出し、
算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアをターゲットモデルの物体検知部から出力し、
前記ターゲットモデルの物体検知部の出力と、前記画像データの正解ラベルおよび融合したスコアとの差異を示す第2のロスを算出し、
前記第2のロスが減少するように、前記ターゲットモデルの物体検知部のパラメータを修正する学習済みモデル生成方法。
(付記12)
入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
前記画像データおよび前記複数の物体検知部の出力に基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出し、
算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアをターゲットモデルの物体検知部から出力し、
前記ターゲットモデルの物体検知部の出力と、前記画像データの正解ラベルおよび融合したスコアとの差異を示す第2のロスを算出し、
前記第2のロスが減少するように、前記ターゲットモデルの物体検知部のパラメータを修正する処理をコンピュータに実行させるプログラムを記録した記録媒体。
以上、実施形態および実施例を参照して本発明を説明したが、本発明は上記実施形態および実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 大規模モデル
2 学習済みモデル
3 ゲーティングネットワーク
4 演算部
5 ターゲットモデル
10、10x、20、20x、30、30x、100、100x 物体検知装置
11 画像入力部
12 重み算出部
13、14 物体検知部
15 積和部
16、133 パラメータ修正部
17、132 ロス算出部
18 正解ラベル記憶部
19、141 極大値選択部
120 大規模モデル部
130 ターゲットモデル部
131 ターゲットモデル物体検知部

Claims (10)

  1. 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知手段と、
    前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知手段の各々について算出する重み算出手段と、
    前記重み算出手段が算出した重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合する融合手段と、
    前記画像データの正解ラベルと、前記融合手段が融合したスコアとの差異を第1のロスとして算出する第1のロス算出手段と、
    前記重み算出パラメータを、前記第1のロスが減少するように修正する第1のパラメータ修正手段と、
    を備える物体検知装置。
  2. 前記融合手段は、前記複数の物体検知手段が出力するスコアに、前記重み算出手段が算出したそれぞれの物体検知手段についての重みを乗じて加算した後、平均値を求める請求項1に記載の物体検知装置。
  3. 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
    前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知手段の各々について算出し、
    算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
    前記画像データの正解ラベルと、融合したスコアとの差異を第1のロスとして算出し、
    前記重み算出パラメータを、前記第1のロスが減少するように修正する学習済みモデル生成方法。
  4. 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
    前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知手段の各々について算出し、
    算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
    前記画像データの正解ラベルと、融合したスコアとの差異を第1のロスとして算出し、
    前記重み算出パラメータを、前記第1のロスが減少するように修正する処理をコンピュータに実行させるプログラム。
  5. 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知手段と、
    前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出する重み算出手段と、
    前記重み算出手段が算出した重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合する融合手段と、
    前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力するターゲットモデルの物体検知手段と、
    前記ターゲットモデルの物体検知手段の出力と、前記画像データの正解ラベルおよび前記融合手段が融合したスコアとの差異を示す第2のロスを算出する第2のロス算出手段と、
    前記第2のロスが減少するように、前記ターゲットモデルの物体検知手段のパラメータを修正する第2のパラメータ修正手段と、
    を備える物体検知装置。
  6. 前記正解ラベルと、前記融合手段が融合したスコアとの差異を示す第3のロスを算出する第3のロス算出手段と、
    前記第3のロスが減少するように、前記重み算出パラメータを修正する第3のパラメータ修正手段と、
    を備える請求項に記載の物体検知装置。
  7. 前記第3のパラメータ修正手段は、前記第2のロスおよび前記第3のロスに基づいて、前記重み算出パラメータを修正する請求項に記載の物体検知装置。
  8. 前記ターゲットモデルの物体検知手段は、前記画像データに基づいて、前記重み算出手段が出力する重みを推定し、
    前記第2のロス算出手段は、前記重み算出手段が出力した重みと、前記ターゲットモデルの物体検知手段が推定した重みとの差異を示す第4のロスを算出し、
    前記第2のパラメータ修正手段は、前記第2のロスおよび前記第4のロスが減少するように前記ターゲットモデルの物体検知手段のパラメータを修正する請求項に記載の物体検知装置。
  9. 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
    前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出し、
    算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
    前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアをターゲットモデルの物体検知手段から出力し、
    前記ターゲットモデルの物体検知手段の出力と、前記画像データの正解ラベルおよび融合したスコアとの差異を示す第2のロスを算出し、
    前記第2のロスが減少するように、前記ターゲットモデルの物体検知手段のパラメータを修正する学習済みモデル生成方法。
  10. 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知手段から出力し、
    前記画像データおよび前記複数の物体検知手段の出力に基づいて、前記複数の物体検知手段が出力するスコアを融合する際の重みを、重み算出パラメータを用いて算出し、
    算出された重みで、前記複数の物体検知手段が出力するスコアを前記部分領域毎に融合し、
    前記画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアをターゲットモデルの物体検知手段から出力し、
    前記ターゲットモデルの物体検知手段の出力と、前記画像データの正解ラベルおよび融合したスコアとの差異を示す第2のロスを算出し、
    前記第2のロスが減少するように、前記ターゲットモデルの物体検知手段のパラメータを修正する処理をコンピュータに実行させるプログラム。
JP2022551504A 2020-09-24 2020-09-24 物体検知装置、学習済みモデル生成方法、及び、プログラム Active JP7380902B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/036087 WO2022064610A1 (ja) 2020-09-24 2020-09-24 物体検知装置、学習済みモデル生成方法、および、記録媒体

Publications (3)

Publication Number Publication Date
JPWO2022064610A1 JPWO2022064610A1 (ja) 2022-03-31
JPWO2022064610A5 JPWO2022064610A5 (ja) 2023-06-06
JP7380902B2 true JP7380902B2 (ja) 2023-11-15

Family

ID=80844778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022551504A Active JP7380902B2 (ja) 2020-09-24 2020-09-24 物体検知装置、学習済みモデル生成方法、及び、プログラム

Country Status (3)

Country Link
US (1) US20230334837A1 (ja)
JP (1) JP7380902B2 (ja)
WO (1) WO2022064610A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7164049B2 (ja) * 2019-07-11 2022-11-01 日本電気株式会社 物体検知装置、学習方法、及び、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197342A (ja) 2013-03-29 2014-10-16 日本電気株式会社 物体位置検出装置、物体位置検出方法、及びプログラム
JP2019061579A (ja) 2017-09-27 2019-04-18 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置
JP2019079445A (ja) 2017-10-27 2019-05-23 ホーチキ株式会社 火災監視システム
JP2019215755A (ja) 2018-06-13 2019-12-19 株式会社デンソーテン 画像認識装置、画像認識方法、機械学習モデル提供装置、機械学習モデル提供方法、機械学習モデル生成方法、および機械学習モデル装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197342A (ja) 2013-03-29 2014-10-16 日本電気株式会社 物体位置検出装置、物体位置検出方法、及びプログラム
JP2019061579A (ja) 2017-09-27 2019-04-18 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置
JP2019079445A (ja) 2017-10-27 2019-05-23 ホーチキ株式会社 火災監視システム
JP2019215755A (ja) 2018-06-13 2019-12-19 株式会社デンソーテン 画像認識装置、画像認識方法、機械学習モデル提供装置、機械学習モデル提供方法、機械学習モデル生成方法、および機械学習モデル装置

Also Published As

Publication number Publication date
US20230334837A1 (en) 2023-10-19
JPWO2022064610A1 (ja) 2022-03-31
WO2022064610A1 (ja) 2022-03-31

Similar Documents

Publication Publication Date Title
CN112489420B (zh) 一种公路交通状态预测方法、系统、终端以及存储介质
JP7438365B2 (ja) 学習活用システム、活用装置、学習装置、プログラム及び学習活用方法
CN112052818A (zh) 无监督域适应的行人检测方法、系统及存储介质
CN113688797A (zh) 一种基于骨架提取的异常行为识别方法及系统
CN113052103A (zh) 一种基于神经网络的电气设备缺陷检测方法及装置
CN111000492A (zh) 基于知识图谱的智能扫地机行为决策方法及智能扫地机
JP7380902B2 (ja) 物体検知装置、学習済みモデル生成方法、及び、プログラム
CN115457081A (zh) 一种基于图神经网络的分层融合式预测方法
CN116704504A (zh) 一种基于解耦动态卷积核的雷达全景分割方法
CN115035599A (zh) 一种融合装备与行为特征的武装人员识别方法和系统
CN117808214A (zh) 水利工程数据分析系统
CN117315499A (zh) 一种卫星遥感图像目标检测方法及系统
JP7235134B2 (ja) 物体検知装置、学習方法、及び、プログラム
Mirakhorlo et al. Integration of SimWeight and Markov Chain to Predict Land Use of Lavasanat Basin
JP7164048B2 (ja) 物体検知装置、学習方法、及び、プログラム
WO2021005776A1 (ja) 物体検知装置、学習方法、及び、記録媒体
Banerjee et al. Post cyclone damage assessment using CNN based transfer learning and Grad-CAM
CN116861175B (zh) 一种基于神经网络的运行轨迹校正方法
Xie Deep Learning in Earthquake Engineering: A Comprehensive Review
US20240087189A1 (en) Methods and systems for generating graph representations of a scene
CN116630804A (zh) 一种基于改进的detr河面漂流物检测方法、装置及相关组件
Attaoui et al. Search-based DNN Testing and Retraining with GAN-enhanced Simulations
KR20230065125A (ko) 기계 학습 모델의 트레이닝 방법 및 전자 장치
CN116484911A (zh) 适用于图神经网络分布外泛化的分布鲁棒优化方法及系统
CN118072278A (zh) 对象检测方法、对象检测设备以及其非暂时性存储媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230315

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231016

R151 Written notification of patent or utility model registration

Ref document number: 7380902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151