JPWO2020240808A1 - 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム - Google Patents

学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム Download PDF

Info

Publication number
JPWO2020240808A1
JPWO2020240808A1 JP2019552300A JP2019552300A JPWO2020240808A1 JP WO2020240808 A1 JPWO2020240808 A1 JP WO2020240808A1 JP 2019552300 A JP2019552300 A JP 2019552300A JP 2019552300 A JP2019552300 A JP 2019552300A JP WO2020240808 A1 JPWO2020240808 A1 JP WO2020240808A1
Authority
JP
Japan
Prior art keywords
objects
class
feature map
estimation unit
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019552300A
Other languages
English (en)
Other versions
JP6612486B1 (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.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
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 Rakuten Group Inc filed Critical Rakuten Group Inc
Application granted granted Critical
Publication of JP6612486B1 publication Critical patent/JP6612486B1/ja
Publication of JPWO2020240808A1 publication Critical patent/JPWO2020240808A1/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/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させるためのモデルを生成することを目的とする。学習装置は、複数の画像それぞれについて、画像と、画像に映る1以上のオブジェクトそれぞれのクラスと、オブジェクトの数と、を含む第1訓練データを、ストレージから取得する。学習装置は、第1訓練データを用いて、特徴抽出部と、クラス推定部と、オブジェクト数推定部と、を訓練する。学習装置は、複数の画像の数よりも少ない数の画像それぞれについて、画像と、画像における1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、ストレージから取得する。学習装置は、訓練された特徴抽出部により、第2訓練データに含まれる画像の特徴マップを出力させ、その特徴マップと、第2訓練データに含まれる座標と、を用いて、座標推定部を訓練する。

Description

本発明は、機械学習を用いた画像処理方法に関し、特に、畳み込みニューラルネットワークを用いて、画像内の如何なる位置に如何なるオブジェクトが映っているかを推定するための学習方法及び分類方法の技術分野に関する。
現在、深層学習に関する研究開発が盛んに行われている。特にコンピュータビジョンの技術分野においては、画像を処理するためのモデルとして、畳み込みニューラルネットワークが一般的に採用されている。このネットワークは、複数の畳み込み層を有し、画像に対する畳み込み演算を繰り返してその画像の特徴マップを生成する。この特徴マップから、画像に映るオブジェクトの分類等が行われる(例えば、非特許文献1)。
Sachin Padmanabhan、「画像分類及びキャプション生成のための畳み込みニューラルネットワーク(Convolutional Neural Networks for Image Classification and Captioning)」、[online]、[平成30年7月9日検索]、インターネット<URL: https://web.stanford.edu/class/cs231a/prev_projects_2016/example_paper.pdf>
ところで、画像に映っているオブジェクトのクラス、及びそのオブジェクトの画像内における座標を推定するモデルを生成するためには、学習用に、画像、オブジェクトのクラスを示すラベル、及びそのオブジェクトの座標を示すラベルからなるデータセットを、大量に準備する必要がある。しかしながら、オブジェクトの座標は基本的には手作業で入力されるため、座標のデータを大量に準備することは困難な作業である。特に、画像に複数のオブジェクトが映っている場合、座標のデータを準備することはより困難である。
本発明は以上の点に鑑みてなされたものであり、その課題の一例は、比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させるためのモデルを生成可能な学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラムを提供することにある。
上記課題を解決するために、本発明の一の態様は、複数の畳み込み層を含む特徴抽出部であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部と、前記特徴マップに基づいて、前記1以上のオブジェクトの数を出力するオブジェクト数推定部と、前記特徴マップに基づいて、前記画像における前記1以上のオブジェクトそれぞれの座標を出力する座標推定部と、を含むモデルを生成する生成手段と、前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、を備え、前記生成手段は、1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、前記画像と、前記1以上のオブジェクトそれぞれのクラスと、前記オブジェクトの数と、を含む第1訓練データを、訓練データ記憶手段から取得する第1取得手段と、前記第1取得手段により取得された前記第1訓練データを用いて、前記特徴抽出部と、前記クラス推定部と、前記オブジェクト数推定部と、を訓練する第1訓練手段と、前記複数の画像の数よりも少ない数の画像それぞれについて、前記画像と、前記画像における前記1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、前記訓練データ記憶手段から取得する第2取得手段と、前記第1訓練手段により訓練された前記特徴抽出部により、前記取得された第2訓練データに含まれる前記画像の特徴マップを出力させ、該特徴マップと、前記取得された第2訓練データに含まれる前記座標と、を用いて、前記座標推定部を訓練する第2訓練手段と、を含むことを特徴とする学習装置である。
この態様によれば、学習装置は、特徴抽出部に含まれる複数の畳み込み層による画像に対する畳み込み演算によって、特徴抽出部から特徴マップを出力させる。この特徴マップにおける各要素は、画像におけるその要素に対応する座標において、オブジェクトが映っている蓋然性を示す。学習装置は、クラス推定部及びオブジェクト数推定部が、第1訓練データに含まれるラベルとしてのクラス及びオブジェクトの数をそれぞれ出力するように、特徴抽出部、クラス推定部及びオブジェクト数推定部を訓練する。この訓練の結果、特徴抽出部は、第1訓練データに含まれるオブジェクトの数に相当する数の領域であって、第1訓練データに含まれるクラスのオブジェクトが画像内に映っている位置に対応する領域が強調された特徴マップを出力するようになる。座標推定部は、このような特徴マップから、画像に映る1以上のオブジェクトそれぞれの座標の特定を学習すればよいので、学習が容易である。それ故、学習装置は、第1訓練データに含まれる画像の数よりも少ない数の画像のみの座標データを用いて座標推定部を訓練すればよい。従って、比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させることができる。
本発明の別の態様は、前記座標推定部は、前記特徴マップにおいて、前記オブジェクトが存在する領域と存在しない領域との境界部分の値であると推定される閾値を出力する全結合層と、前記特徴マップを構成する複数の要素のうち、前記出力された閾値以上の値を有する要素で構成される領域に対応する座標を、前記オブジェクトの座標として出力する出力部と、を含み、前記第2訓練手段は、前記座標推定部に含まれる前記全結合層に、前記閾値を学習させることを特徴とする学習装置である。
この態様によれば、座標推定部に含まれる全結合層は、オブジェクトが存在する蓋然性を各要素が示す特徴マップから、オブジェクトが存在する領域の外周を特定するための閾値を学習する。従って、オブジェクトの座標を適切に推定することができる。
本発明の更に別の態様は、前記第1訓練手段は、前記オブジェクト数推定部から前記特徴抽出部への誤差逆伝播により、前記特徴マップにおいて、前記第1訓練データに含まれる前記オブジェクトの数に相当する数の領域が強調されるように、前記特徴抽出部を訓練することを特徴とする学習装置である。
この態様によれば、オブジェクト数推定部から出力されたオブジェクトの数と、第1訓練データに含まれるオブジェクトの数との誤差に基づいて、オブジェクト数推定部から特徴抽出部に誤差が逆伝播されて、特徴抽出部に含まれる畳み込み層が有するパラメータが更新される。そのため、この訓練の結果、特徴抽出部は、第1訓練データに含まれるオブジェクトの数に相当する数の領域が強調された特徴マップを出力するようになる。従って、画像に映る1以上のオブジェクトそれぞれの座標を正確に推定することができる。
本発明の更に別の態様は、前記オブジェクト数推定部は、クラスごとに前記オブジェクトの数を出力し、前記特徴抽出部は、クラスごとに前記特徴マップを出力し、前記第2訓練手段は、前記特徴抽出部から出力された特徴マップのうち、前記取得された第1訓練データに含まれる前記1以上のクラスそれぞれに対応する特徴マップを用いて、前記座標推定部を訓練することを特徴とする学習装置である。
この態様によれば、第1訓練データを用いた訓練の結果、特徴抽出部から、第1訓練データに含まれる前記1以上のクラスそれぞれについて、適切な数の領域が強調された特徴マップが出力される。この特徴マップを用いることで、クラスごとに適切な数のオブジェクトの座標を出力するように、座標推定部を訓練することができる。
本発明の更に別の態様は、前記オブジェクト数推定部は、前記1以上のオブジェクトの数を出力する全結合層を含むことを特徴とする学習装置である。
本発明の更に別の態様は、前記学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、前記読み出されたモデルに含まれる前記特徴抽出部により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記クラス推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス出力制御手段と、前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記座標推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれの座標を出力させる座標出力制御手段と、を備えることを特徴とする分類装置である。
この発明によれば、特徴抽出部は、所与の画像に映る1以上のオブジェクトの数に相当する数の領域であって、それらのオブジェクトが画像内に映っている位置に対応する領域が強調された特徴マップを出力する。クラス推定部は、そのような特徴マップから、所与の画像に映る1以上のオブジェクトそれぞれのクラスを推定する。また、座標推定部は、そのような特徴マップから、所与の画像に映る1以上のオブジェクトそれぞれの座標を推定する。従って、比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させることができる。
本発明の更に別の態様は、コンピュータにより実行される学習方法において、複数の畳み込み層を含む特徴抽出部であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部と、前記特徴マップに基づいて、前記1以上のオブジェクトの数を出力するオブジェクト数推定部と、前記特徴マップに基づいて、前記画像における前記1以上のオブジェクトそれぞれの座標を出力する座標推定部と、を含むモデルを生成する生成ステップと、前記生成されたモデルをモデル記憶手段に記憶させる記憶制御ステップと、を含み、前記生成ステップは、1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、前記画像と、前記1以上のオブジェクトそれぞれのクラスと、前記オブジェクトの数と、を含む第1訓練データを、訓練データ記憶手段から取得する第1取得ステップと、前記第1取得ステップにより取得された前記第1訓練データを用いて、前記特徴抽出部と、前記クラス推定部と、前記オブジェクト数推定部と、を訓練する第1訓練ステップと、前記複数の画像の数よりも少ない数の画像それぞれについて、前記画像と、前記画像における前記1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、前記訓練データ記憶手段から取得する第2取得ステップと、前記第1訓練ステップにより訓練された前記特徴抽出部により、前記取得された第2訓練データに含まれる前記画像の特徴マップを出力させ、該特徴マップと、前記取得された第2訓練データに含まれる前記座標と、を用いて、前記座標推定部を訓練する第2訓練ステップと、を含むことを特徴とする。
本発明の更に別の態様は、コンピュータにより実行される分類方法において、前記学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出しステップと、前記読み出されたモデルに含まれる前記特徴抽出部により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させる特徴マップ出力制御ステップと、前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記クラス推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス出力制御ステップと、前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記座標推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれの座標を出力させる座標出力制御ステップと、を含むことを特徴とする。
本発明の更に別の態様は、コンピュータにより実行される学習プログラムにおいて、前記コンピュータを、複数の畳み込み層を含む特徴抽出部であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部と、前記特徴マップに基づいて、前記1以上のオブジェクトの数を出力するオブジェクト数推定部と、前記特徴マップに基づいて、前記画像における前記1以上のオブジェクトそれぞれの座標を出力する座標推定部と、を含むモデルを生成する生成手段と、前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、として機能させ、前記生成手段は、1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、前記画像と、前記1以上のオブジェクトそれぞれのクラスと、前記オブジェクトの数と、を含む第1訓練データを、訓練データ記憶手段から取得する第1取得手段と、前記第1取得手段により取得された前記第1訓練データを用いて、前記特徴抽出部と、前記クラス推定部と、前記オブジェクト数推定部と、を訓練する第1訓練手段と、前記複数の画像の数よりも少ない数の画像それぞれについて、前記画像と、前記画像における前記1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、前記訓練データ記憶手段から取得する第2取得手段と、前記第1訓練手段により訓練された前記特徴抽出部により、前記取得された第2訓練データに含まれる前記画像の特徴マップを出力させ、該特徴マップと、前記取得された第2訓練データに含まれる前記座標と、を用いて、前記座標推定部を訓練する第2訓練手段と、を含むことを特徴とする。
本発明の更に別の態様は、コンピュータを、前記学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、前記読み出されたモデルに含まれる前記特徴抽出部により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記クラス推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス出力制御手段と、前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記座標推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれの座標を出力させる座標出力制御手段と、として機能させることを特徴とする分類プログラムである。
本発明によれば、比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させることができる。
一実施形態に係る画像処理装置1の概要構成の一例を示すブロック図である。 一実施形態に係る画像処理装置1のシステム制御部11及びGPU18の機能ブロックの一例を示す図である。 モデル2の構成例を示す図である。 クラス推定部22及びオブジェクト数推定部23の構成例を示す図である。 閾値推定部241及び座標出力部242の機能概要の一例を示す図である。 学習に用いられる画像及び、学習の途中の段階と学習完了後それぞれの特徴マップにおける確率分布の一例を示す図である。 閾値推定部241及び座標出力部242の訓練概要の一例を示す図である。 画像処理装置1のシステム制御部11及びGPU18による学習処理の一例を示すフローチャートである。 画像処理装置1のシステム制御部11及びGPU18による分類処理の一例を示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態においては、画像に映るオブジェクトを分類してオブジェクトの座標を推定するためのモデルを生成するための学習の実行と、生成されたモデルを用いた、オブジェクトの分類及び座標の推定(すなわち物体検出)を行う画像処理装置に対して本発明を適用した場合の実施形態である。なお、学習を実行する装置と、クラス及び座標の推定を行う装置とは別々の装置であってもよい。
[1.画像処理装置の構成]
先ず、画像処理装置1の構成について、図1を用いて説明する。図1は、本実施形態に係る画像処理装置1の概要構成の一例を示すブロック図である。図1に示すように、画像処理装置1は、システム制御部11と、システムバス12と、入出力インターフェース13と、記憶部14と、通信部15と、入力部16と、表示部17と、GPU(Graphics Processing Unit)18と、GPUメモリ19(または、ビデオRAM)を備えている。システム制御部11と入出力インターフェース13とは、システムバス12を介して接続されている。画像処理装置1は、例えばサーバ装置であってもよいし、パーソナルコンピュータであってもよい。
システム制御部11は、CPU(Central Processing Unit)11a、ROM(Read Only Memory)11b、RAM(Random Access Memory)11c等により構成されている。
入出力インターフェース13は、記憶部14〜GPUメモリ19とシステム制御部11との間のインターフェース処理を行う。
記憶部14は、例えば、ハードディスクドライブ又はソリッドステートドライブ等により構成されている。この記憶部14には、生成されたモデル2、及びモデル2の生成に用いられる複数の訓練データ等が記憶される。記憶部14には、更にオペレーティングシステム、モデル生成用のプログラム、分類用のプログラム等が記憶されている。訓練データ及び各種プログラムは、例えば、所定のコンピュータからネットワークを介して取得されるようにしてもよいし、光ディスク、メモリカード、磁気テープ等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。モデル2を生成する装置と分類を行う装置とが別々の装置である場合、生成されたモデル2の受け渡しは、ネットワークを介して行われてもよいし、記録媒体を介して行われてもよい。
通信部15は、例えばネットワークインターフェースコントローラ等により構成されている。通信部15は、インターネット、LAN(Local Area Network)等の所定のネットワークを介して他のコンピュータと接続し、そのコンピュータとの通信状態を制御する。
入力部16は、オペレータによる操作を受け付け、操作内容に対応する信号をシステム制御部11に出力する。入力部16の例として、キーボード、マウス、タッチパネル等が挙げられる。
表示部17は、例えば、グラフィックコントローラ及びディスプレイ等により構成されている。表示部17は、システム制御部11の制御により、画像、文字等の情報を表示する。ディスプレイのパネルの例として、液晶パネル、有機EL(Light Emitting)パネル等が挙げられる。
GPU18は、システム制御部11からの制御により、機械学習における行列演算等を実行する。GPU18は、複数の演算を並列にパイプライン処理する。GPU18とGPUメモリ19とは接続されている。GPUメモリ19は、GPU18による演算に用いられるデータや演算結果を記憶する。
[2.画像処理装置のシステム制御部の機能概要]
次に、図2乃至図7を用いて、システム制御部11及びGPU18の機能概要について説明する。図2は、本実施形態に係る画像処理装置1のシステム制御部11及びGPU18の機能ブロックの一例を示す図である。システム制御部11及びGPU18は、CPU11aが、記憶部14に記憶されているプログラムに含まれる各種コード等を読み出し実行することにより、図2に示すように、第1訓練データ取得部111、第1訓練部112、第2訓練データ取得部113、第2訓練部114、モデル記憶制御部115、モデル読み出し部116、特徴マップ出力制御部117、クラス出力制御部118、座標出力制御部119等として機能する。
[2−1.モデルの生成]
図3は、モデル2の構成例を示す図である。第1訓練データ取得部111第1訓練部112、第2訓練データ取得部113及び第2訓練部114は、機械学習によってモデル2を生成する。図3に示すように、モデル2は、特徴抽出部21と、クラス推定部22と、オブジェクト数推定部23と、座標推定部24と、を含む畳み込みニューラルネットワークである。モデル2のベースとなるネットワークモデルの例として、Reset、GoogleNet、AlexNet、VGGNetが挙げられる。
特徴抽出部21は、複数の畳み込み層を含む。特徴抽出部21は、モデル2に入力された画像31の特徴マップ32を出力する。画像31には、1以上のオブジェクトが映っている。画像31に複数のオブジェクトが映っている場合、各オブジェクトのクラスは互いに同じであってもよいし異なってもよい。画像13は、例えばオペレータが用意した画像、又はネットワークを介して取得された画像である。特徴抽出部21は、これらの畳み込み層によって画像31に対する畳み込み演算を繰り返し、モデル2が分類可能なクラスごとに特徴マップ32を出力する。特徴抽出部21は、プーリング層等のレイヤを適宜含んでもよい。
クラス推定部22は、特徴抽出部21から出力された特徴マップ32に基づいて、画像31に映っている1以上のオブジェクトのクラスを示すクラス情報を出力する。クラス推定部22は、1以上の全結合層を含む。クラス推定部22は、直列に接続された複数の全結合層を含んでもよい。クラス推定部22は、特徴マップ32を全結合層で変換して、クラスごとにそのクラスのオブジェクトが映っているか否かを示す情報をクラス情報として出力する。クラス推定部22は、例えばクラスごとに1個の全結合層又は直列に接続された複数の全結合層を含んでもよい。画像31に複数のクラスのオブジェクトが映っている場合、クラス推定部22は、これらのクラスそれぞれのオブジェクトが映っていると推定することが可能である。
オブジェクト数推定部23は、特徴抽出部21から出力された特徴マップ32に基づいて、画像31に映っている1以上のオブジェクトの数を出力する。クラス推定部22は、1以上の全結合層を含む。オブジェクト数推定部23は、直列に接続された複数の全結合層を含んでもよい。オブジェクト数推定部23は、特徴マップ32を全結合層で変換して、クラスごとのオブジェクト数を出力する。
図4は、クラス推定部22及びオブジェクト数推定部23の構成例を示す図である。クラス推定部22及びオブジェクト数推定部23は、別々の全結合層で構成されてもよいし、同一の全結合層で構成されてもよい。例えば、図4に示すように、クラス推定部22及びオブジェクト数推定部23は、全結合層25−1〜25−Nで構成されている。Nは、モデル2で分類可能なクラスの総数である。特徴マップ32として、特徴マップ32−1〜32−Nが全結合層25−1〜25−Nにそれぞれ入力される。全結合層25−1〜25−Nは、それぞれN+1チャネルの出力ユニットを有する。或るクラスのインデックスをiとすると、全結合層25−iにおいて、Nチャネルの出力ユニット22−iがクラス推定部22に対応し、1チャネルの出力ユニット23−iがオブジェクト数推定部23に対応する。出力ユニット22−iからは、クラスiに対応する特徴マップ32−iから推定される各クラスの確率値が出力される。学習が終わった後の分類段階においては、各クラスの確率値が0又は1に変換される。例えば、所定値以上の確率値は1に変換され、所定値未満の確率値は0に変換される。全結合層25−iからクラスiについて所定値以上の確率値が出力されることは、画像31にクラスiのオブジェクトが映っていると推定されたことを示す。出力ユニット23−iからは、特徴マップ32−iから推定されるクラスiのオブジェクト数が出力される。学習が終わった後の分類段階においては、オブジェクト数が、四捨五入等されることにより、整数化される。
座標推定部24は、画像31における1以上のオブジェクトそれぞれの座標データを出力する。座標推定部24は、閾値推定部241と、座標出力部242とを含む。図5は、閾値推定部241及び座標出力部242の機能概要の一例を示す図である。閾値推定部241は、例えば1以上の全結合層で構成される。閾値推定部241は、特徴マップ32において、オブジェクトが存在する領域と存在しない領域との境界部分の値であると推定される閾値を出力する。特徴マップ32−iを構成する各配列要素は、画像31におけるその要素が対応する座標において、クラスiのオブジェクトが存在する蓋然性を示す値を格納する。すなわち、座標推定部24は、特徴マップ32−iを変換することにより、クラスiのオブジェクトが存在する蓋然性が高い領域を特定するための閾値を出力する。例えば、図5に示すように、閾値推定部241は、クラス1に対応する特徴マップ32−1について、クラス1の閾値を出力する。
座標出力部242は、特徴マップ32を構成する複数の配列要素のうち、閾値推定部241から出力された閾値以上の値を有する要素で構成される領域に対応する座標を、オブジェクトの座標データとして出力する。座標データは、この領域に対応する位置及び範囲を示してもよい。具体的に、座標出力部242は、特徴マップ32−iから、閾値以上の値の要素で構成される領域を特定し、その領域に対して矩形のバウンディングボックスを設定する。例えば、座標出力部242は、閾値以上の値の要素で構成される領域の大部分がバウンディングボックスで囲まれるように、バウンディングボックスを設定する。特徴マップ32から複数の領域が特定される場合、座標出力部242は、各領域に対してバウンディングボックスを設定する。座標出力部242は、座標データとして、例えば領域ごとに、バウンディングボックスの中心座標、バウンディングボックスの高さ及び幅、並びにクラスiを出力する。座標出力部242は、特定した領域の数を、クラスiのオブジェクト数として更に出力してもよい。例えば、図5に示すように、座標出力部242は、特徴マップ32−1において、閾値推定部241から出力された閾値以上の領域41を特定し、領域41に対応するバウンディングボックス42を設定する。
上述したモデル2を生成するため、第1訓練データ取得部111は、学習に用いられる複数の画像31それぞれについて、その画像31と、画像31に映っているオブジェクトのクラスを示すラベル(Ground Truth)と、オブジェクトの数を示すラベルとを含む第1訓練データを、記憶部14から取得する。
クラスを示すラベルは、例えばベクトルで表現されてもよい。例えば、このラベルにおいて、画像31に映っているオブジェクトのクラスに対応するベクトル要素に1が設定され、その他のクラスに対応するベクトル要素に0が設定される。画像31に複数のクラスのオブジェクトが映っている場合、その複数のクラスそれぞれに対応するベクトル要素に1が設定される。第1訓練データ取得部111は、例えば、クラスのラベルを、クラス推定部22から出力される確率値のフォーマットと同じフォーマットに変換してもよい。
オブジェクトの数を示すラベルも、例えばベクトルで表現されてもよい。例えば、このラベルにおいて、画像31に映っているオブジェクトのクラスに対応するベクトル要素に、そのクラスのオブジェクト数が設定され、その他のクラスに対応するベクトル要素に0が設定される。
第1訓練部112は、第1訓練データ取得部111により取得された第1訓練データを用いて、特徴抽出部21と、クラス推定部22と、オブジェクト数推定部23とを訓練する。すなわち、第1訓練部112は、特徴抽出部21、クラス推定部22及びオブジェクト数推定部23を第1訓練データから学習させる。第1訓練部112による処理は、例えば第1訓練データ取得部111により第1訓練データが取得されることに応じて自動的に実行される。第1訓練部112は、特徴抽出部21、クラス推定部22及びオブジェクト数推定部23として、これらの層に対応する演算処理を実行して、各クラスの確率及びオブジェクト数を出力する。第1訓練部112は、出力された情報とラベルとを比較して学習を実行する。
具体的に、第1訓練部112は、画像31を特徴抽出部21に入力して、特徴抽出部21から特徴マップ32−1〜32−Nを出力させる。第1訓練部112は、特徴マップ32−1〜32−Nをクラス推定部22に入力して、クラス推定部22から各クラスの確率を出力させる。第1訓練部112は、クラス推定部22から出力された確率とクラスのラベルとを比較して、分類誤差を計算する。第1訓練部112は、分類誤差を用いて、クラス推定部22が保持する重み及びバイアスのパラメータを更新する。また、第1訓練部112は、特徴マップ32−1〜32−Nをオブジェクト数推定部23に入力して、オブジェクト数推定部23から各クラスのオブジェクト数を出力させる。第1訓練部112は、オブジェクト数推定部23から出力されたオブジェクト数とオブジェクト数のラベルとを比較して、カウンティング誤差を計算する。第1訓練部112は、カウンティング誤差を用いて、オブジェクト数推定部23が保持する重み及びバイアスを更新する。
また、第1訓練部112は、クラス推定部22から特徴抽出部21へ分類誤差を逆伝播することにより、画像31に映っているクラスのオブジェクトの領域が、特徴マップ31において強調されるように、特徴抽出部21を訓練する。領域が強調されるとは、その領域に格納されている確率値が、その領域外に格納されている確立値よりも高くなることをいう。更に、第1訓練部112は、オブジェクト数推定部23から特徴抽出部21へカウンティング誤差を逆伝播することにより、第1訓練データに含まれるラベルのオブジェクト数に相当する数の領域が、特徴マップ31において強調されるように、特徴抽出部21を訓練する。訓練の結果、特徴抽出部21は、ラベルのオブジェクト数に相当する数の領域であって、画像内でオブジェクトが映っている位置に対応する位置にある領域が強調された特徴マップを出力するようになる。
図6は、学習に用いられる画像及び、学習の途中の段階と学習完了後それぞれの特徴マップにおける確率分布の一例を示す図である。例えば、図6に示すように、或る画像31Aに、クラス1のオブジェクト51及び52と、クラス2のオブジェクト53とが映っている。クラス1について、学習の途中の段階で生成される特徴マップ32−1−1においては、例えば1個の領域が強調されている。特徴マップ32−1−1からは、クラス1のオブジェクトが画像31に映っていると推定することはできるものの、クラス1のオブジェクトを正確に推定することはできない。学習が進んでいくに従って、例えば1個の領域が次第に2個の領域に分けられていく。学習完了後に生成される特徴マップ32−1−2においては、2個の領域が強調されている。クラス2について、学習の途中の段階で生成される特徴マップ32−2−1においては、例えば2個の領域が強調されている。学習完了後に生成される特徴マップ32−2−2においては、1個の領域が強調されている。ラベルのオブジェクト数に相当する数の領域の強調は、オブジェクト数推定部23から特徴抽出部21への誤差逆伝播により実現される。また、強調される領域の位置が、画像31におけるオブジェクトの位置に対応することは、分類誤差の逆伝播により実現される。
分類誤差とカウンティング誤差は組み合わせて逆伝播されてもよい。例えば、分類誤差をE1とし、カウンティング誤差をE2とし、所定の割合をkとする(0<k<1)。この場合、E=k*E1+(1−k)*E2で計算される組み合わせ誤差Eが逆伝播されてもよい。
第2訓練データ取得部113は、第1訓練データ取得部111により取得されて第1訓練部により特徴抽出部21、クラス推定部22及びオブジェクト数推定部23の訓練に使用された複数の画像31の数よりも少ない数の画像33それぞれについて、画像33と、画像33に映っている1以上のオブジェクトそれぞれの座標を示すラベルとを含む第2訓練データを、記憶部14から取得する。第2訓練データ取得部113による処理は、例えば第1訓練部112による訓練が完了したことに応じて自動的に実行される。画像33は、画像31のうちの幾つかの画像であってもよい。座標のラベルは、例えば、オブジェクトのバウンディングボックスの中心座標、バウンディングボックスの高さ及び幅、並びにそのオブジェクトのクラスを含んでもよい。
第2訓練部114は、第1訓練部112により訓練された特徴抽出部21により、第2訓練データ取得部113により取得された第2訓練データに含まれる画像33の特徴マップ32を出力させる。第2訓練部114による処理は、例えば第2訓練データ取得部113により第2訓練データが取得されることに応じて自動的に実行される。第2訓練部114は、出力された特徴マップ32と、第2訓練データに含まれる座標のラベルとを用いて、座標推定部24を訓練する。第2訓練部114は、特徴抽出部21及び座標推定部24に対応する演算処理を実行する。特徴抽出部21、クラス推定部22及びオブジェクト数推定部23の訓練により、特徴マップ32において、画像33に映っているオブジェクトの数に相当する領域が、それらのオブジェクトに対応する位置で強調されている。そのため、強調された領域に基づいて、オブジェクトの座標を座標推定部24に学習させればよいので、特徴抽出部21、クラス推定部22及びオブジェクト数推定部23の訓練に用いられた全ての画像31についての座標のラベルは必要ではなく、一部の画像33について、座標のラベルを用意すればよい。一例として、50クラスのオブジェクトを識別可能なモデルに対して、学習用に用意された画像31の数が約10万であり、ラベルとしての座標データを用意する画像33の数が約3千とした場合において、座標推定部24を十分に訓練することができた。
図7は、閾値推定部241及び座標出力部242の訓練概要の一例を示す図である。具体的に、特徴抽出部21からは、第1訓練部112による訓練の場合と同様に、クラス1〜Nに対応する特徴マップ32−1〜32−Nが出力される。第2訓練部114は、特徴マップ32−1〜32−Nのうち、座標のラベルに含まれるクラスに対応する特徴マップを閾値推定部241に入力して、それらのクラスに対応する閾値を閾値推定部241から出力させる。図6に示す画像3Aの場合、図7に示すように、特徴マップ32−1−2及び32−2−2が閾値推定部241に入力される。閾値推定部241は、クラス1及び2それぞれについて閾値を出力する。
第2訓練部114は、ラベルに含まれるクラスに対応する特徴マップと、閾値推定部241から出力された閾値とを座標出力部242に入力する。そして、第2訓練部114は、特徴マップにおいて、閾値以上の値を有する要素で構成される領域に対応する座標を座標出力部242から出力させる。特徴抽出部21による学習が完了していれば、通常、画像33に映っているオブジェクトのクラスごとに、画像33に映っているオブジェクトの数に相当する座標が出力される。第2訓練部114は、座標出力部242から出力された座標と、座標のラベルとを比較して、座標誤差を計算する。第2訓練部114は、座標誤差と、特徴マップ32とを用いて、正しい閾値を計算する。第2訓練部114は、閾値推定部241から出力された閾値と、正しい閾値とを比較して、閾値誤差を計算する。そして、第2訓練部114は、閾値誤差を用いて、閾値推定部241が保持する重み及びバイアスを更新する。クラスごとに適切な閾値が異なる場合があるので、第2訓練部114は、クラスごとに閾値を閾値推定部241に学習させる。例えば、画像31Aの場合、図7に示すように、座標出力部242は、クラス1について、2個の領域に対応するバウンディングボックス61及び62を設定し、クラス2について、1個の領域に対応するバウンディングボックス63を設定する。座標のラベルから設定されるクラス1の正しいバウンディングボックス71及び72は、バウンディングボックス61及び62よりも広い。従って、第2訓練部114は、より小さい閾値を出力するよう、閾値推定部241を訓練する。また、クラス2の正しいバウンディングボックス73は、バウンディングボックス63よりも狭い。従って、第2訓練部114は、より大きい閾値を出力するよう、閾値推定部241を訓練する。
モデル記憶制御部115は、第1訓練部112による特徴抽出部21、クラス推定部22及びオブジェクト数推定部23の訓練、及び第2訓練部114による座標推定部24の訓練を経てモデル2が生成されると、生成されたモデル2を記憶部14に記憶させる。
[2−2.クラスの分類]
モデル読み出し部116は、記憶部14に記憶されたモデル2を読み出して、RAM14c又はGPUメモリ19にロードする。
特徴マップ出力制御部117、クラス出力制御部118及び座標出力制御部119は、それぞれ特徴抽出部21、クラス推定部22及び座標推定部24に対応する演算を実行する。特徴マップ出力制御部117は、分類の対象となる1以上のオブジェクトが映る所与の画像を、読み出されたモデル2に含まれる特徴抽出部21に入力して、特徴抽出部21から所与の画像の特徴マップを出力させる。所与の画像は、例えば記憶部14に記憶されてもよいし、ネットワーク又は記録媒体を介して取得されてもよい。
クラス出力制御部118は、特徴抽出部21から出力された特徴マップを、読み出されたモデル2に含まれるクラス推定部22に入力して、クラス推定部22から所与の画像に映る1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させる。
座標出力制御部119は、特徴抽出部21から出力された特徴マップを、読み出されたモデル2に含まれる座標推定部24に入力して、座標推定部24から所与の画像に映る1以上のオブジェクトそれぞれの座標を出力させる。ここで、座標出力制御部119は、特徴抽出部21から出力された特徴マップのうち、所与の画像に映る1以上のオブジェクトのクラスとしてクラス推定部22から出力されたクラス情報に示される1以上のクラスそれぞれに対応する特徴マップのみを、座標推定部24に入力すればよい。座標推定部24は、クラス情報に示される1以上のクラスそれぞれに対応する閾値を出力する。座標出力制御部119は、クラス情報に示される1以上のクラスそれぞれについて、特徴マップ及び閾値を用いて、そのクラスのオブジェクトが映っている領域を特定してバウンディングボックスを設定する。座標出力制御部119は、領域ごとに、バウンディングボックスの座標データ及び対応するクラスを出力する。座標出力制御部119は、クラスごとに、バウンディングボックスの数に相当するオブジェクト数を更に出力してもよい。特徴マップをオブジェクト数推定部23に入力してオブジェクト数を出力させる必要はない。
[3.画像処理装置の動作]
次に、画像処理装置1の動作について、図8及び図9を用いて説明する。図8は、画像処理装置1のシステム制御部11及びGPU18による学習処理の一例を示すフローチャートである。モデル生成用のプログラムに含まれるプログラムコードに従って、システム制御部11及びGPU18は学習処理を実行する。
図9に示すように、訓練データ取得部111は、第1訓練データとして、複数の画像31それぞれについて、画像31と、画像31に対応するクラス及びオブジェクト数のラベルとを、記憶部14から取得する(ステップS1)。
次いで、第1訓練部112は、第1訓練データを用いて、特徴抽出部21〜オブジェクト数推定部23を訓練する(ステップS2)。具体的に、第1訓練部112は、特徴抽出部21から、各画像31について特徴マップ32−1〜32−Nを出力させる。第1訓練部112は、特徴マップ32−1〜32−Nをクラス推定部22に入力して、クラス推定部22からクラス情報を出力させる。第1訓練部112は、クラス情報と、クラスのラベルとを比較して、分類誤差を計算する。第1訓練部112は、分類誤差に基づいて、クラス推定部22のパラメータを更新する。また、第1訓練部112は、特徴マップ32−1〜32−Nをオブジェクト数推定部23に入力して、オブジェクト数推定部23からクラスごとのオブジェクト数を出力させる。第1訓練部112は、出力されたオブジェクト数と、オブジェクト数のラベルとを比較して、カウンティング誤差を計算する。第1訓練部112は、カウンティング誤差に基づいて、オブジェクト数推定部23のパラメータを更新する。更に、第1訓練部112は、クラス推定部22及びオブジェクト数推定部23から特徴抽出部21へ誤差を逆伝播して、オブジェクト数推定部23のパラメータを更新する。第1訓練部112は、例えばエポック数が所定数に達したとき等に訓練を終了させる。
次いで、第2訓練データ取得部113は、第2訓練データとして、画像31のうち幾つかの画像32について、画像33と、画像33それぞれに対応する座標のラベルとを、記憶部14から取得する(ステップS3)。
次いで、第2訓練部114は、第2訓練データを用いて、座標推定部24を訓練する(ステップS4)。具体的に、第2訓練部114は、特徴抽出部21から、各画像33に対応する特徴マップ32−1〜32−Nを出力させる。第2訓練部114は、特徴マップ32−1〜32−Nのうち、座標のラベルに含まれるクラスに対応する特徴マップを閾値推定部241に入力して、閾値推定部241からそのクラスの閾値を出力させる。第2訓練部114は、閾値を座標出力部242に入力する。座標出力部242は、座標のラベルに含まれるクラスそれぞれについて、特徴マップから、閾値以上の値を格納する配列要素で構成される1以上の領域を特定する。座標出力部242は、特定された領域ごとに、領域に対応するバウンディングボックスの座標データ及びクラスを出力する。第2訓練部114は、出力された座標データと座標のラベルとを比較して、座標誤差を計算する。第2訓練部114は、座標誤差及び特徴マップに基づいて、閾値誤差を計算する。第2訓練部114は、閾値誤差に基づいて、閾値推定部241のパラメータを更新する。第2訓練部114は、例えばエポック数が所定数に達したとき等に訓練を終了させる。これによって、モデル2が生成される。モデル記憶制御部115は、生成されたモデル2を記憶部14に記憶させて(ステップS5)、学習処理を終了させる。
図9は、画像処理装置1のシステム制御部11及びGPU18による分類処理の一例を示すフローチャートである。分類用のプログラムに含まれるプログラムコードに従って、システム制御部11及びGPU18は分類判定処理を実行する。
図9に示すように、モデル読み出し部116は、モデル2を記憶部14から読み出す(ステップS11)。次いで、特徴マップ出力制御部117は、分類の対象となる画像を取得する。特徴マップ出力制御部117は、取得された画像を特徴抽出部21に入力して、特徴抽出部21から特徴マップを出力させる(ステップS12)。
次いで、クラス出力制御部118は、出力された特徴マップをクラス推定部22に入力して、クラス推定部22から、クラス情報を出力させる(ステップS13)。
次いで、座標出力制御部119は、出力された特徴マップのうち、クラス情報により示される、画像に映っているオブジェクトのクラスそれぞれに対応する特徴マップを、座標推定部24に入力する。これによって、座標出力制御部119は、座標推定部24から各オブジェクトの座標及びクラスを、推定結果として出力させる(ステップS14)。ステップS14を終えると、システム制御部11は、分類処理を終了させる。
以上説明したように、本実施形態によれば、画像処理装置1が、複数の畳み込み層を含む特徴抽出部21であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部21と、特徴マップに基づいて、1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部22と、特徴マップに基づいて、1以上のオブジェクトの数を出力するオブジェクト数推定部23と、特徴マップに基づいて、画像における1以上のオブジェクトそれぞれの座標を出力する座標推定部24と、を含むモデル2を生成する。ここで、画像処理装置1が、1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、画像32と、1以上のオブジェクトそれぞれのクラスと、オブジェクトの数と、を含む第1訓練データを、記憶部14から取得する。また、画像処理装置1が、第1訓練データを用いて、特徴抽出部21と、クラス推定部22と、オブジェクト数推定部23と、を訓練する。また、画像処理装置1が、複数の画像の数よりも少ない数の画像それぞれについて、画像と、画像における1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、記憶部14から取得する。また、画像処理装置1が、訓練された特徴抽出部21により、第2訓練データに含まれる画像の特徴マップを出力させ、その特徴マップと、第2訓練データに含まれる座標と、を用いて、座標推定部24を訓練する。そして、画像処理装置1が、生成されたモデル2を記憶部14に記憶させる。従って、比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させることができる。
また、座標推定部24は、特徴マップにおいて、オブジェクトが存在する領域と存在しない領域との境界部分の値であると推定される閾値を出力する全結合層と、特徴マップを構成する複数の要素のうち、出力された閾値以上の値を有する要素で構成される領域に対応する座標を、オブジェクトの座標として出力する座標出力部と、を含んでもよい。画像処理装置1は、座標推定部24に含まれる全結合層に、閾値を学習させてもよい。この場合、座標推定部24に含まれる全結合層は、分類対象たるオブジェクトが存在する蓋然性の分布を示す特徴マップから、オブジェクトが存在する領域の外周を特定するための閾値を学習する。従って、オブジェクトの座標を適切に推定することができる。
また、画像処理装置1が、オブジェクト数推定部23から特徴抽出部21への誤差逆伝播により、特徴マップにおいて、第1訓練データに含まれるオブジェクト数に相当する数の、オブジェクトが存在する領域が強調されるように、特徴抽出部21を訓練してもよい。この場合、オブジェクト数推定部23から出力されたオブジェクトの数と、第1訓練データに含まれるオブジェクト数との誤差に基づいて、オブジェクト数推定部23から特徴抽出部21に誤差が逆伝播されて、特徴抽出部21に含まれる畳み込み層のパラメータが更新される。そのため、この訓練の結果、特徴抽出部21は、第1訓練データに含まれるオブジェクトの数に相当する数の領域が強調された特徴マップを出力するようになる。従って、画像に映る1以上のオブジェクトそれぞれの座標を正確に推定することができる。
また、オブジェクト数推定部23は、クラスごとにオブジェクト数を出力してもよい。また、特徴抽出部21は、クラスごとに特徴マップを出力してもよい。また、画像処理装置1は、第1訓練データを用いて訓練された特徴抽出部21から出力された特徴マップのうち、第1訓練データに含まれる1以上のクラスそれぞれに対応する特徴マップを用いて、座標推定部24を訓練してもよい。この場合、第1訓練データを用いた訓練の結果、特徴抽出部21から、第1訓練データに含まれる1以上のクラスそれぞれについて、適切な数の領域が強調された特徴マップが出力される。この特徴マップを用いることで、クラスごとに適切な数のオブジェクトの座標を出力するように、座標推定部24を訓練することができる。
また、オブジェクト数推定部23は、1以上のオブジェクトの数を出力する全結合層を含んでもよい。
また、画像処理装置1が、生成されたモデル2を記憶部14から読み出してもよい。また、画像処理装置1が、読み出されたモデル2に含まれる特徴抽出部21により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させてもよい。また、画像処理装置1が、出力された所与の画像の特徴マップを、読み出されたモデル2に含まれるクラス推定部22に入力して、所与の画像に映る1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させてもよい。また、画像処理装置1が、出力された所与の画像の特徴マップを、読み出されたモデル2に含まれる座標推定部24に入力して、所与の画像に映る1以上のオブジェクトそれぞれの座標を出力させてもよい。この場合、比較的に少量の座標データのみを学習に用いたとしても、画像内における複数のオブジェクトの座標の推定精度を向上させることができる。
1 画像処理装置
11 システム制御部
12 システムバス
13 入出力インターフェース
14 記憶部
15 通信部
16 入力部
17 表示部
18 GPU
19 GPUメモリ
111 第1訓練データ取得部
112 第1訓練部
113 第2訓練データ取得部
114 第2訓練部
115 モデル記憶制御部
116 モデル読み出し部
117 特徴マップ出力制御部
118 クラス出力制御部
119 座標出力制御部
2 モデル
21 特徴抽出部
22 クラス推定部
23 オブジェクト数推定部
24 座標推定部
241 閾値推定部
242 座標出力部

Claims (10)

  1. 複数の畳み込み層を含む特徴抽出部であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部と、前記特徴マップに基づいて、前記1以上のオブジェクトの数を出力するオブジェクト数推定部と、前記特徴マップに基づいて、前記画像における前記1以上のオブジェクトそれぞれの座標を出力する座標推定部と、を含むモデルを生成する生成手段と、
    前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、
    を備え、
    前記生成手段は、
    1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、前記画像と、前記1以上のオブジェクトそれぞれのクラスと、前記オブジェクトの数と、を含む第1訓練データを、訓練データ記憶手段から取得する第1取得手段と、
    前記第1取得手段により取得された前記第1訓練データを用いて、前記特徴抽出部と、前記クラス推定部と、前記オブジェクト数推定部と、を訓練する第1訓練手段と、
    前記複数の画像の数よりも少ない数の画像それぞれについて、前記画像と、前記画像における前記1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、前記訓練データ記憶手段から取得する第2取得手段と、
    前記第1訓練手段により訓練された前記特徴抽出部により、前記取得された第2訓練データに含まれる前記画像の特徴マップを出力させ、該特徴マップと、前記取得された第2訓練データに含まれる前記座標と、を用いて、前記座標推定部を訓練する第2訓練手段と、
    を含むことを特徴とする学習装置。
  2. 前記座標推定部は、
    前記特徴マップにおいて、前記オブジェクトが存在する領域と存在しない領域との境界部分の値であると推定される閾値を出力する全結合層と、
    前記特徴マップを構成する複数の要素のうち、前記出力された閾値以上の値を有する要素で構成される領域に対応する座標を、前記オブジェクトの座標として出力する出力部と、を含み、
    前記第2訓練手段は、前記座標推定部に含まれる前記全結合層に、前記閾値を学習させることを特徴とする請求項1に記載の学習装置。
  3. 前記第1訓練手段は、前記オブジェクト数推定部から前記特徴抽出部への誤差逆伝播により、前記特徴マップにおいて、前記第1訓練データに含まれる前記オブジェクトの数に相当する数の領域が強調されるように、前記特徴抽出部を訓練することを特徴とする請求項1又は2に記載の学習装置。
  4. 前記オブジェクト数推定部は、クラスごとに前記オブジェクトの数を出力し、
    前記特徴抽出部は、クラスごとに前記特徴マップを出力し、
    前記第2訓練手段は、前記特徴抽出部から出力された特徴マップのうち、前記取得された第1訓練データに含まれる前記1以上のクラスそれぞれに対応する特徴マップを用いて、前記座標推定部を訓練することを特徴とする請求項1乃至3の何れか一項に記載の学習装置。
  5. 前記オブジェクト数推定部は、前記1以上のオブジェクトの数を出力する全結合層を含むことを特徴とする請求項1乃至4の何れか一項に記載の学習装置。
  6. 請求項1乃至5の何れか一項に記載の学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、
    前記読み出されたモデルに含まれる前記特徴抽出部により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、
    前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記クラス推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス出力制御手段と、
    前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記座標推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれの座標を出力させる座標出力制御手段と、
    を備えることを特徴とする分類装置。
  7. コンピュータにより実行される学習方法において、
    複数の畳み込み層を含む特徴抽出部であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部と、前記特徴マップに基づいて、前記1以上のオブジェクトの数を出力するオブジェクト数推定部と、前記特徴マップに基づいて、前記画像における前記1以上のオブジェクトそれぞれの座標を出力する座標推定部と、を含むモデルを生成する生成ステップと、
    前記生成されたモデルをモデル記憶手段に記憶させる記憶制御ステップと、
    を含み、
    前記生成ステップは、
    1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、前記画像と、前記1以上のオブジェクトそれぞれのクラスと、前記オブジェクトの数と、を含む第1訓練データを、訓練データ記憶手段から取得する第1取得ステップと、
    前記第1取得ステップにより取得された前記第1訓練データを用いて、前記特徴抽出部と、前記クラス推定部と、前記オブジェクト数推定部と、を訓練する第1訓練ステップと、
    前記複数の画像の数よりも少ない数の画像それぞれについて、前記画像と、前記画像における前記1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、前記訓練データ記憶手段から取得する第2取得ステップと、
    前記第1訓練ステップにより訓練された前記特徴抽出部により、前記取得された第2訓練データに含まれる前記画像の特徴マップを出力させ、該特徴マップと、前記取得された第2訓練データに含まれる前記座標と、を用いて、前記座標推定部を訓練する第2訓練ステップと、
    を含むことを特徴とする学習方法。
  8. コンピュータにより実行される分類方法において、
    請求項1乃至5の何れか一項に記載の学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出しステップと、
    前記読み出されたモデルに含まれる前記特徴抽出部により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させる特徴マップ出力制御ステップと、
    前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記クラス推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス出力制御ステップと、
    前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記座標推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれの座標を出力させる座標出力制御ステップと、
    を含むことを特徴とする分類方法。
  9. コンピュータにより実行される学習プログラムにおいて、
    前記コンピュータを、
    複数の畳み込み層を含む特徴抽出部であって、1以上のオブジェクトが映る画像の特徴マップを出力する特徴抽出部と、前記特徴マップに基づいて、前記1以上のオブジェクトのクラスを示すクラス情報を出力するクラス推定部と、前記特徴マップに基づいて、前記1以上のオブジェクトの数を出力するオブジェクト数推定部と、前記特徴マップに基づいて、前記画像における前記1以上のオブジェクトそれぞれの座標を出力する座標推定部と、を含むモデルを生成する生成手段と、
    前記生成されたモデルをモデル記憶手段に記憶させる記憶制御手段と、
    として機能させ、
    前記生成手段は、
    1以上のオブジェクトがそれぞれ映る複数の画像それぞれについて、前記画像と、前記1以上のオブジェクトそれぞれのクラスと、前記オブジェクトの数と、を含む第1訓練データを、訓練データ記憶手段から取得する第1取得手段と、
    前記第1取得手段により取得された前記第1訓練データを用いて、前記特徴抽出部と、前記クラス推定部と、前記オブジェクト数推定部と、を訓練する第1訓練手段と、
    前記複数の画像の数よりも少ない数の画像それぞれについて、前記画像と、前記画像における前記1以上のオブジェクトそれぞれの座標と、含む第2訓練データを、前記訓練データ記憶手段から取得する第2取得手段と、
    前記第1訓練手段により訓練された前記特徴抽出部により、前記取得された第2訓練データに含まれる前記画像の特徴マップを出力させ、該特徴マップと、前記取得された第2訓練データに含まれる前記座標と、を用いて、前記座標推定部を訓練する第2訓練手段と、
    を含むことを特徴とする学習プログラム。
  10. コンピュータを、
    請求項1乃至5の何れか一項に記載の学習装置により生成された前記モデルを記憶する記憶手段から、前記モデルを読み出す読み出し手段と、
    前記読み出されたモデルに含まれる前記特徴抽出部により、1以上のオブジェクトが映る所与の画像の特徴マップを出力させる特徴マップ出力制御手段と、
    前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記クラス推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれのクラスを示すクラス情報を出力させるクラス出力制御手段と、
    前記出力された所与の画像の特徴マップを、前記読み出されたモデルに含まれる前記座標推定部に入力して、前記所与の画像に映る前記1以上のオブジェクトそれぞれの座標を出力させる座標出力制御手段と、
    として機能させることを特徴とする分類プログラム。
JP2019552300A 2019-05-31 2019-05-31 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム Active JP6612486B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/021678 WO2020240808A1 (ja) 2019-05-31 2019-05-31 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム

Publications (2)

Publication Number Publication Date
JP6612486B1 JP6612486B1 (ja) 2019-11-27
JPWO2020240808A1 true JPWO2020240808A1 (ja) 2021-09-13

Family

ID=68692080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019552300A Active JP6612486B1 (ja) 2019-05-31 2019-05-31 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム

Country Status (3)

Country Link
US (1) US11314986B2 (ja)
JP (1) JP6612486B1 (ja)
WO (1) WO2020240808A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494616B2 (en) * 2019-05-09 2022-11-08 Shenzhen Malong Technologies Co., Ltd. Decoupling category-wise independence and relevance with self-attention for multi-label image classification
KR20210061839A (ko) * 2019-11-20 2021-05-28 삼성전자주식회사 전자 장치 및 그 제어 방법
CN111294512A (zh) * 2020-02-10 2020-06-16 深圳市铂岩科技有限公司 图像处理方法、装置、存储介质及摄像装置
JP6818961B1 (ja) * 2020-04-08 2021-01-27 三菱電機株式会社 学習装置、学習方法、および推論装置
JP2022096379A (ja) * 2020-12-17 2022-06-29 富士通株式会社 画像出力プログラム,画像出力方法および画像出力装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059207A (ja) * 2015-09-18 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像認識方法
JP6441980B2 (ja) * 2017-03-29 2018-12-19 三菱電機インフォメーションシステムズ株式会社 教師画像を生成する方法、コンピュータおよびプログラム
KR102463175B1 (ko) * 2017-09-04 2022-11-04 삼성전자주식회사 객체 인식 방법 및 장치
US11756291B2 (en) * 2018-12-18 2023-09-12 Slyce Acquisition Inc. Scene and user-input context aided visual search
US11003956B2 (en) * 2019-05-16 2021-05-11 Naver Corporation System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression

Also Published As

Publication number Publication date
WO2020240808A1 (ja) 2020-12-03
JP6612486B1 (ja) 2019-11-27
US11314986B2 (en) 2022-04-26
US20210406600A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
AU2019200270B2 (en) Concept mask: large-scale segmentation from semantic concepts
JP6612486B1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
US20220114705A1 (en) Digital Image Fill
JP6612487B1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
US10997464B2 (en) Digital image layout training using wireframe rendering within a generative adversarial network (GAN) system
US11823443B2 (en) Segmenting objects by refining shape priors
CN110163208B (zh) 一种基于深度学习的场景文字检测方法和系统
CN111488873B (zh) 一种基于弱监督学习的字符级场景文字检测方法和装置
CN112241784A (zh) 训练生成模型和判别模型
CN112949477B (zh) 基于图卷积神经网络的信息识别方法、装置及存储介质
JP2019153259A (ja) 機械学習装置、予測システム、及び、プログラム
CN113569852A (zh) 语义分割模型的训练方法、装置、电子设备及存储介质
US20230237777A1 (en) Information processing apparatus, learning apparatus, image recognition apparatus, information processing method, learning method, image recognition method, and non-transitory-computer-readable storage medium
KR102401113B1 (ko) 보상 가능성 정보 및 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
US20210150775A1 (en) Weighted Color Palette Generation
CN110717405A (zh) 人脸特征点定位方法、装置、介质及电子设备
US8488183B2 (en) Moving labels in graphical output to avoid overprinting
CN117423116B (zh) 一种文本检测模型的训练方法、文本检测方法及装置
KR102594173B1 (ko) 타임 시리즈 데이터 예측을 위한 학습 이미지를 생성하는 방법 및 장치
US20230154075A1 (en) Vector Object Generation from Raster Objects using Semantic Vectorization
JP7365845B2 (ja) 学習装置、学習方法、及びプログラム
US20240095982A1 (en) Automated Digital Tool Identification from a Rasterized Image
Zhang et al. Image Periodization for Convolutional Neural Networks
CN116415632A (zh) 用于神经网络预测域的局部可解释性的方法和系统
CN115471714A (zh) 数据处理方法、装置、计算设备和计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190920

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190920

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191030

R150 Certificate of patent or registration of utility model

Ref document number: 6612486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250