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

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

Info

Publication number
WO2020240808A1
WO2020240808A1 PCT/JP2019/021678 JP2019021678W WO2020240808A1 WO 2020240808 A1 WO2020240808 A1 WO 2020240808A1 JP 2019021678 W JP2019021678 W JP 2019021678W WO 2020240808 A1 WO2020240808 A1 WO 2020240808A1
Authority
WO
WIPO (PCT)
Prior art keywords
objects
class
feature map
estimation unit
image
Prior art date
Application number
PCT/JP2019/021678
Other languages
English (en)
French (fr)
Inventor
永男 蔡
コバガプ ビーアスカー ラオ
Original Assignee
楽天株式会社
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 楽天株式会社 filed Critical 楽天株式会社
Priority to PCT/JP2019/021678 priority Critical patent/WO2020240808A1/ja
Priority to US16/635,578 priority patent/US11314986B2/en
Priority to JP2019552300A priority patent/JP6612486B1/ja
Publication of WO2020240808A1 publication Critical patent/WO2020240808A1/ja

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

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以上のオブジェクトそれぞれの座標を出力させる座標出力制御手段と、
     として機能させることを特徴とする分類プログラム。
PCT/JP2019/021678 2019-05-31 2019-05-31 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム WO2020240808A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/021678 WO2020240808A1 (ja) 2019-05-31 2019-05-31 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
US16/635,578 US11314986B2 (en) 2019-05-31 2019-05-31 Learning device, classification device, learning method, classification method, learning program, and classification program
JP2019552300A JP6612486B1 (ja) 2019-05-31 2019-05-31 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
WO2020240808A1 true WO2020240808A1 (ja) 2020-12-03

Family

ID=68692080

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/021678 WO2020240808A1 (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 深圳市铂岩科技有限公司 图像处理方法、装置、存储介质及摄像装置
DE112020007035T5 (de) * 2020-04-08 2023-01-19 Mitsubishi Electric Corporation Lernvorrichtung, Lernverfahren, Inferenzvorrichtung, Programm und Speichermedium
JP2022096379A (ja) * 2020-12-17 2022-06-29 富士通株式会社 画像出力プログラム,画像出力方法および画像出力装置

Citations (2)

* 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 画像認識方法
JP2018169672A (ja) * 2017-03-29 2018-11-01 三菱電機インフォメーションシステムズ株式会社 教師画像を生成する方法、コンピュータおよびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (2)

* 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 画像認識方法
JP2018169672A (ja) * 2017-03-29 2018-11-01 三菱電機インフォメーションシステムズ株式会社 教師画像を生成する方法、コンピュータおよびプログラム

Also Published As

Publication number Publication date
US11314986B2 (en) 2022-04-26
JP6612486B1 (ja) 2019-11-27
US20210406600A1 (en) 2021-12-30
JPWO2020240808A1 (ja) 2021-09-13

Similar Documents

Publication Publication Date Title
WO2020240808A1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
US11631162B2 (en) Machine learning training method, system, and device
JP6612487B1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
CN109643383B (zh) 域分离神经网络
US10997464B2 (en) Digital image layout training using wireframe rendering within a generative adversarial network (GAN) system
AU2019200270A1 (en) Concept mask: large-scale segmentation from semantic concepts
CN110163208B (zh) 一种基于深度学习的场景文字检测方法和系统
CN111488873B (zh) 一种基于弱监督学习的字符级场景文字检测方法和装置
US11182905B2 (en) Algorithmic approach to finding correspondence between graphical elements
CN112949477B (zh) 基于图卷积神经网络的信息识别方法、装置及存储介质
JP2019153259A (ja) 機械学習装置、予測システム、及び、プログラム
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를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
CN110717405A (zh) 人脸特征点定位方法、装置、介质及电子设备
US8488183B2 (en) Moving labels in graphical output to avoid overprinting
US11087505B2 (en) Weighted color palette generation
US20230154075A1 (en) Vector Object Generation from Raster Objects using Semantic Vectorization
US20240095982A1 (en) Automated Digital Tool Identification from a Rasterized Image
Zhang et al. Image Periodization for Convolutional Neural Networks
CN116796242A (zh) 一种商品品目标签分类方法、装置、设备和介质
KR20230154602A (ko) 표 인식 방법 및 장치
JP2023053155A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR20230127538A (ko) 데이터 레이블링 시스템 및 방법
CN114743230A (zh) 人脸分割方法、装置、设备及介质
CN113516630A (zh) 基于区块链技术的施工作业数据溯源管理方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019552300

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19931249

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19931249

Country of ref document: EP

Kind code of ref document: A1