[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7011146B2 - 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法 - Google Patents

画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法 Download PDF

Info

Publication number
JP7011146B2
JP7011146B2 JP2017060876A JP2017060876A JP7011146B2 JP 7011146 B2 JP7011146 B2 JP 7011146B2 JP 2017060876 A JP2017060876 A JP 2017060876A JP 2017060876 A JP2017060876 A JP 2017060876A JP 7011146 B2 JP7011146 B2 JP 7011146B2
Authority
JP
Japan
Prior art keywords
teacher data
image processing
model
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.)
Active
Application number
JP2017060876A
Other languages
English (en)
Other versions
JP2018163554A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017060876A priority Critical patent/JP7011146B2/ja
Priority to US15/920,576 priority patent/US10803352B2/en
Publication of JP2018163554A publication Critical patent/JP2018163554A/ja
Application granted granted Critical
Publication of JP7011146B2 publication Critical patent/JP7011146B2/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

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

Description

本発明は、画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法に関する。
今日、人工知能分野における機械学習のなかでもディープラーニング(deep learning;深層学習)は、画像認識の分野で目覚ましい成果を上げている。しかし、画像認識に限らず、ディープラーニングは、様々なバリエーションを持った大量の教師データを必要とする点が実用化においての課題となる。そのような大量の教師データを揃えることは時間面及びコスト面並びに著作権の権利処理の面から現実的に難しいことが多く、教師データが不十分な場合には学習が十分に行われず、認識精度が上がらないという問題がある。
このため、例えば、画像データから、三次元コンピュータグラフィックス(Three-Dimensional Computer Graphics;3DCG)で光のモデルを変えた複数のデータを作成して、画像検出用の教師データを複数作成することが提案されている(例えば、特許文献1参照)。
また、カメラで撮影した画像から、3DCGでブレのある複数のデータを作成することで、画像検出用の教師データを複数作成することが提案されている(例えば、特許文献2参照)。
また、ディープラーニングにおいて、教師データが少ない場合に「データオーグメンテーション(data augmentation)」と呼ばれる手法を用いて、教師データのバリエーションを増強することが報告されている(例えば、非特許文献1参照)。この「データオーグメンテーション」は、画像の変色、変形、拡大・縮小、又は切り抜きを、教師データの特徴を損なわない範囲で行うものである。
また、教師データを増強する方法として、三次元(3D)モデルを利用した方法が報告されている(例えば、非特許文献2参照)。この方法では、認識対象の3Dモデルをレンダリングした画像を教師データとして利用している。
特開2016-62225号公報 特開2010-211732号公報
Alex Krizhevsky,Ilya Sutskever,and Geoffrey E. Hinton,"ImageNet Classification with Deep Convolutional Neural Networks",March 23,2017,[online],<https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf> Xingchao Peng, Baochen Sun,Karim Ali,and Kate Saenko,"Learning Deep Object Detectors from 3D Models",March 23, 2017,[online],<URL:http://www.karimali.org/publications/PSAS_ICCV15.pdf>
しかしながら、「データオーグメンテーション」は、あくまで画像加工であり、例えば、車の正面から撮影された画像から、車の側面や車の背面などの画像を生成することはできない手法である。
また、3Dモデルを用いた従来の方法では、以下に説明するように、実写写真を用いた教師データに比べて、正しく認識できない教師データが得られてしまうという問題がある。
(1)見た目のバリエーションが3Dモデルの数に依存してしまう
ディープラーニングでは教師データのバリエーションを増やすことが重要であるが、従来の方法では、固定の材質及び形状の教師データしか生成できず、3Dモデルの数でバリエーションが決まってしまう。このように3Dモデルを多数収集することはコストが高くなり、現実的でない。
(2)認識対象が遮蔽された教師データを生成できない
画像を入力データとしたディープラーニングでは、認識対象が一部遮蔽された教師データを含む場合には、ディープラーニングによって認識対象が一部遮蔽された教師データを正しく認識できるという利点がある。しかし、従来の方法では、認識対象が一部遮蔽された教師データを生成できないため、認識対象が一部遮蔽された教師データを認識できない確率が高くなる。
一つの側面では、従来よりも高い認識率が得られる画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法を提供することを目的とする。
一つの実施態様では、認識対象の教師データを用いてディープラーニングにより画像認識を行う画像処理装置であって、
認識対象の三次元モデルにおける描画パラメータを変化させて認識対象の教師データを生成する教師データ生成部を、有する画像処理装置である。
一つの側面では、従来よりも認識率が得られる画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法を提供することができる。
図1は、画像処理装置全体のハードウェア構成の一例を示すブロック図である。 図2は、画像処理装置全体の一例を示すブロック図である。 図3は、画像処理装置全体の処理の流れの一例を示すフローチャートである。 図4は、パラメータ変化部及び教師データ生成部を含む全体の一例を示すブロック図である。 図5は、パラメータ変化部及び教師データ生成部を含む全体の処理の流れの一例を示すフローチャートである。 図6は、パラメータ変化部及び教師データ生成部の一例を示すブロック図である。 図7は、パラメータ変化部及び教師データ生成部の処理の流れの一例を示すフローチャートである。 図8は、認識対象3Dモデルバリエーション生成部の一例を示すブロック図である。 図9は、認識対象3Dモデルバリエーション生成部の処理の流れの一例を示すフローチャートである。 図10は、カメラモデル生成部の一例を示すブロック図である。 図11は、カメラ画角が大きすぎると、教師画像中の認識対象3Dモデルが小さく描画されることを説明する説明図である。 図12は、カメラ画角が小さすぎると、教師画像中の認識対象3Dモデルが大きく描画されることを説明する説明図である。 図13は、カメラモデル生成部における画角の決定方法の一例を示す図である。 図14は、カメラモデル生成部の処理の流れの一例を示すフローチャートである。 図15は、教師画像生成部の一例を示すブロック図である。 図16は、遮蔽率の求め方を説明する説明図である。 図17は、教師画像生成部の処理の流れの一例を示すフローチャートである。 図18は、学習部全体の一例を示すブロック図である。 図19は、学習部全体の他の一例を示すブロック図である。 図20は、学習部全体の処理の流れの一例を示すフローチャートである。 図21は、推論部全体の一例を示すブロック図である。 図22は、推論部全体の他の一例を示すブロック図である。 図23は、推論部全体の処理の流れの一例を示すフローチャートである。 図24は、実施例2の画像処理装置全体の一例を示すブロック図である。 図25は、実施例2の画像処理装置全体の処理の流れの一例を示すフローチャートである。
以下、本発明の一実施形態について説明するが、本発明は、これらの実施形態に何ら限定されるものではない。
なお、本発明の「画像処理装置」におけるパラメータ変化部及び教師データ生成部が行う制御は、本発明の「画像処理方法」を実施することと同義であるので、本発明の「画像処理装置」の説明を通じて本発明の「画像処理方法」の詳細についても明らかにする。また、本発明の「画像処理プログラム」は、ハードウェア資源としてのコンピュータ等を用いることにより、本発明の「画像処理装置」として実現させることから、本発明の「画像処理装置」の説明を通じて本発明の「画像処理プログラム」の詳細についても明らかにする。
また、「教師データ生成装置」におけるパラメータ変化部及び教師データ生成部が行う制御は、本発明の「教師データ生成方法」を実施することと同義であるので、「教師データ生成装置」の説明を通じて本発明の「教師データ生成方法」の詳細についても明らかにする。また、「教師データ生成プログラム」は、ハードウェア資源としてのコンピュータ等を用いることにより、「教師データ生成装置」として実現させることから、「教師データ生成装置」の説明を通じて「教師データ生成プログラム」の詳細についても明らかにする。
本発明の画像処理装置は、認識対象の教師データを用いて画像認識を行う画像処理装置であり、画像認識はディープラーニングの手法により行われることが好ましい。
認識対象の三次元モデルにおける描画パラメータを変化させるパラメータ変化部と、
パラメータ変化部が変化させた描画パラメータに基づき、認識対象の教師データを生成する教師データ生成部とを有し、学習部及び推論部を有することが好ましい。
描画パラメータは、例えば、乱数を使用してランダムに変化させることができる。
認識対象とは、認識したい(分類したい)対象を意味する。認識対象としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、各種画像(例えば、人間の顔、鳥、犬、猫、猿、イチゴ、リンゴ、汽車、電車、大型自動車(バス、トラック等)、中型自動車、普通自動車、船、飛行機等)、図形、文字等の人間の視覚により検知できるものなどが挙げられる。
教師データとは、教師ありディープラーニングで用いられる「入力データ」と「正解ラベル」とのペアである。「入力データ」を多数のパラメータを有するニューラルネットワークに入力することでディープラーニング学習を実施し、推論ラベルと正解ラベルとの差(学習中重み)を更新し、学習済み重みを求める。したがって、教師データの形態は、学習したい問題(以下、「タスク」と称することもある)に依存する。いくつかの教師データの例を下記の表1に挙げる。
Figure 0007011146000001
ディープラーニングは、人間の脳のニューロンを模した多層構造のニューラルネットワーク(ディープニューラルネットワーク)を用いた機械学習手法の一種であり、データの特徴を自動的に学習できる手法である。
画像認識は、画像データの画像内容を分析して、その形状を認識する技術である。
画像認識では、画像データから対象物となる輪郭を抽出し、背景から分離した上で、その対象物が何であるかを分析する。
画像認識を応用した技術としては、例えば、OCR(Optical Character Recognition)、顔認証、虹彩認証などが挙げられる。
画像認識では、ピクセルの集合である画像データから、ある種のパターンを取り出し、そこから意味を読み取るという処理を行う。パターンの分析によって対象物の意味を抽出することをパターン認識と呼ぶ。パターン認識は、画像認識だけでなく、音声認識や言語解析などにも用いられる。
認識対象の三次元モデルは、三次元の座標と当該三次元の座標のそれぞれを結ぶ二次元の多角形(ポリゴン)の各頂点をつなぎ合わせて形成した集合体である。
三次元コンピュータグラフィックス(3DCG)は、コンピュータの演算によって三次元空間内の仮想的な立体物を二次元である平面上の情報に変換することで立体感のある画像を生成する手法である。
描画パラメータの一例としては、認識対象の三次元モデルの材質、認識対象の三次元モデルの形状、認識対象の三次元モデルのカメラの位置、認識対象の三次元モデルのカメラの向き、認識対象の三次元モデルのカメラの画角、認識対象の三次元モデルの照明条件、背景三次元モデル、遮蔽率及び教師画像の保存条件等から少なくとも一つ選択される。
描画パラメータの他の一例としては、認識対象の三次元モデルの材質、認識対象の三次元モデルの形状、認識対象の三次元モデルの照明条件、背景三次元モデル、遮蔽率及び教師画像の保存条件等から少なくとも一つ選択される。
以下の実施例では、本発明の「画像処理装置」について具体的に説明するが、本発明は、この実施例に何ら限定されるものではない。
(実施例1)
(画像処理装置)
以下、実施例1の画像処理装置について説明する。この画像処理装置は、認識対象の教師データを用いて画像認識を行う装置である。
ここで、図1は、画像処理装置100のハードウェア構成の一例を示す図である。画像処理装置100の後述するストレージ装置7には画像処理プログラムが記録されており、後述のCPU(Central Processing Unit)1及びGPU(Graphics Processing Unit)3が当該プログラムを読出して実行することにより、後述のパラメータ変化部10、教師データ生成部50、学習部200、及び推論部300として動作する。
この図1の画像処理装置100は、CPU1、RAM(Random Access Memory)2、GPU3、及びVRAM(Video Random Access Memory)4を備える。また、画像処理装置100は、モニタ6、及びストレージ装置7を備えている。
CPU1は、ストレージ装置7などに格納された教師データ生成部50、学習部200、及び推論部300の各種プログラムを実行するユニットである。
RAM2は、揮発性メモリであり、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memoryなどを含む。
GPU3は、パラメータ変化部10及び教師データ生成部50における3DCGの描画をする際に必要な計算処理を実行するユニットである。
VRAM4は、モニタ等のディスプレイに画像を表示するために必要なデータを保持するためのメモリ領域であり、グラフィックスメモリ、又はビデオメモリとも呼ばれる。専用のデュアルポートのものもあれば、メインメモリと同じDRAMやSRAMを利用したものもある。
モニタ6は、教師データ生成部50で生成した教師データを確認するために用いる。なお、ネットワークを介して接続された他の端末から教師データを確認できる場合は、モニタ6は不要である。
ストレージ装置7は、補助記憶装置であり、画像処理装置100にインストールされた各種プログラムや、各種プログラムが実行されることで生成されるデータ等を記録するコンピュータ読み取り可能な記憶装置である。
画像処理装置100は、図示を省略しているが、グラフィックコントローラ、キーボードやマウス、タッチパッド、トラックボール等の入出力インターフェース、ネットワークに接続するためのネットワークインターフェースなどを備えている。
次に、図2は、画像処理装置全体の一例を示すブロック図である。この図2の画像処理装置100は、パラメータ変化部10、教師データ生成部50、学習部200、及び推論部300を備えている。
パラメータ変化部10は、認識対象の三次元モデルにおける描画パラメータを変化させる。
教師データ生成部50は、パラメータ変化部10が変化させた描画パラメータに基づき、認識対象の教師データを生成する。
学習部200は、教師データ生成部50で生成した教師データを用いて学習を行う。
推論部300は、学習部200で求めた学習済み重みを用いて推論(テスト)を行う。
ここで、図3は、画像処理装置全体の処理の流れの一例を示すフローチャートである。以下、図2を参照して、画像処理装置全体の処理の流れについて説明する。
ステップS101では、パラメータ変化部10が、認識対象の三次元モデルにおける描画パラメータを変化させると、処理をS102に移行する。
ステップS102では、教師データ生成部50が、パラメータ変化部10が変化させた描画パラメータに基づき、認識対象の教師データを生成すると、処理をS103に移行する。
ステップS103では、学習部200が、教師データ生成部50で生成した教師データを用いて学習を行い、学習済み重みを得ると、処理をS104に移行する。
ステップS104では、推論部300が、得られた学習済み重みを用いて推論を行い、推論ラベル(推論結果)を出力すると、本処理を終了する。
以下、画像処理装置100におけるパラメータ変化部10、教師データ生成部50、学習部200、及び推論部300について、具体的に説明する。
<パラメータ変化部及び教師データ生成部>
パラメータ変化部10は、認識対象3Dモデルにおける描画パラメータを変化させる。
教師データ生成部50は、認識対象3Dモデルにおける描画パラメータを変化させ、変化させた描画パラメータに基づいて、認識対象の教師データを生成する。
ここで、パラメータ変化部10及び教師データ生成部50の構成は、本発明に関する「教師データ生成装置」に該当し、パラメータ変化部10及び教師データ生成部50を実施する処理は、本発明の「教師データ生成方法」に該当し、パラメータ変化部10及び教師データ生成部50の処理をコンピュータに実行させるプログラムは、本発明に関する「教師データ生成プログラム」に該当する。
画像認識の認識率を高めるには、大量の教師データが必要となるが、例えば、横向きの人間の顔の画像のように近似した大量の教師データ(画像)だけがある場合、横向きの人間の顔を認識できても、前向きの人の顔や後ろ向きの人の顔は認識できない。人間は顔だけでなく、全身を見ても認識でき、全身の一部が隠れた画像なども認識率を高めるのに有効である。したがって、教師データの数だけでなく、教師データのバリエーションを増やすことが認識率を高める上で重要である。
画像分類タスクでは、教師データとして、教師画像と正解の分類(以下、「ラベル」、「クラス」、「カテゴリ」と称することもある)とのペアが与えられる。この実施例1では3DCGを用いて教師画像と正解とのペアを生成する。なお、実際には、画像分類タスク以外にも他タスクの教師データ(Object Detection、Semantic Segmentationなど)を用いた実施例も考えられる。
この実施例1では、様々な描画パラメータをランダムに生成している。これは、パラメータの組み合わせを一定の間隔で網羅すると教師データの数が爆発的に増加するためである。
図4は、パラメータ変化部及び教師データ生成部を含む全体の一例を示すブロック図である。
生成対象ラベル・生成数11は、ユーザ入力による「生成対象ラベル」及び「生成数」であり、教師データ生成制御部12は、この「生成数」の分量の教師データを生成する。
「生成対象ラベル」は、生成対象物の種類を表し、例えば、車両(例えば、乗用車、トラック、バス、二輪車等)、動物(例えば、鳥、犬、猫、牛、馬、猿等)、植物(例えば、イチゴ、トマト、バラ等)など、人間が視覚により検知できるものが挙げられる。
「生成数」としては、教師データの生成数を表し、例えば、複数の「生成対象ラベル」について、それぞれ1,000枚ずつ生成する場合などが挙げられる。
教師データ生成制御部12は、生成対象ラベル・生成数11でユーザから入力された「生成対象ラベル」及び「生成数」に基づき、教師データ生成部50を実行し、生成した教師データを教師データ格納部13へ格納する機能を有する。
パラメータ変化部10は、入力された「生成対象ラベル」に基づき、認識対象の3Dモデルにおける描画パラメータを変化させ、変化させた描画パラメータを教師データ生成部50に出力する機能を有する。
教師データ生成部50は、入力された「生成対象ラベル」の教師データの1ペアを生成する機能を有する。教師データは、「入力データ」と「正解ラベル」とのペアで構成される。ここでは、特に「入力データ」を「教師画像」と呼ぶ。
教師データ格納部13は、教師データ生成部50で生成した教師データを格納し、例えば、図1に示すストレージ装置7などの補助記憶装置が該当する。
ここで、図5は、パラメータ変化部及び教師データ生成部を含む全体の処理の流れの一例を示すフローチャートである。以下、図4を参照して、パラメータ変化部及び教師データ生成部全体の処理の流れについて説明する。
ステップS201では、ユーザが「生成対象ラベル集合」及び各ラベルの「生成数」を教師データ生成制御部12に入力すると、教師データ生成制御部12が、処理をS202に移行する。
ステップS202では、教師データ生成制御部12が、入力された「生成対象ラベル集合」の中から、「生成対象ラベル」をランダムに決定すると、処理をS203に移行する。
ステップS203では、教師データ生成制御部12が、パラメータ変化部10へ「生成対象ラベル」を出力し、パラメータ変化部10が認識対象3Dモデルの描画パラメータを変化させ、変化させた描画パラメータを教師データ生成部50へ出力すると、処理をS204に移行する。
ステップS204では、教師データ生成部50が、パラメータ変化部10で変化させた描画パラメータに基づき、教師データを生成し、生成した教師データを教師データ生成制御部12に送ると、処理をS205に移行する。
ステップS205では、教師データ生成制御部12が、教師データ生成部50から送られた教師データを教師データ格納部13へ格納すると、処理をS206に移行する。
ステップS206では、教師データ生成制御部12が、現在の「生成対象ラベル」11について、「生成数」の教師データを生成し終えたか否かを判断する。
教師データ生成制御部12が「生成数」に達していないと判定すると、処理をS203に戻し、「生成数」に達したと判定すると、処理をS207に移行する。
ステップS207では、教師データ生成制御部12が、「生成対象ラベル集合」の全ラベルについて「生成数」の教師データを生成し終えたか否かを判断する。
教師データ生成制御部12が「生成対象ラベル集合」の全ラベルについて「生成数」に達していないと判定すると、処理をS208に移行し、ステップS208では、教師データ生成制御部12が、教師データの生成が完了していない「生成対象ラベル」を選択すると、処理をS203に戻す。
一方、教師データ生成制御部12が「生成数」に達したと判定すると、本処理を終了する。
図6は、パラメータ変化部10及び教師データ生成部50の一例を示すブロック図である。
パラメータ変化部10は、認識対象3Dモデルバリエーション生成部15、カメラモデル生成部16、照明モデル生成部17、及び背景3Dモデル取得部18を有しており、これらにより、描画パラメータを変化させる。
教師データ生成部50は、教師画像生成部19を有しており、パラメータ変化部10が変化させた描画パラメータに基づき、教師データ生成制御部12の制御により、教師データ21を生成する。
生成対象ラベル11は、教師データ生成制御部12に入力されるパラメータであり、教師データ生成部50は、ユーザ入力された生成対象ラベル11の教師データを生成する。
教師データ生成制御部12により、パラメータ変化部10としての認識対象3Dモデルバリエーション生成部15、カメラモデル生成部16、照明モデル生成部17、及び背景3Dモデル取得部18が作動し、それぞれの出力を教師データ生成部50の教師画像生成部19に与え、教師画像20が得られる。
認識対象3Dモデルバリエーション生成部15は、認識対象3Dモデルの材質及び形状の少なくともいずれかを変化させる。材質及び形状の少なくともいずれかを変化させることにより、認識率が向上する。
カメラモデル生成部16は、認識対象の三次元モデルのカメラの位置、カメラの向き及びカメラの画角の少なくともいずれかを変化させてカメラモデルを生成する。
照明モデル生成部17は、さまざまな光源についてのパラメータをランダムに与え、照明モデルを生成する。光源としては、例えば、並行光源、点光源、環境光などが挙げられる。
背景3Dモデル取得部18は、認識対象3Dモデル以外の背景3Dモデルをランダムに取得する。
教師画像生成部19は、認識対象3Dモデルバリエーション生成部15、カメラモデル生成部16、照明モデル生成部17、及び背景3Dモデル取得部18の出力から、ディープラーニングの教師データに適した教師画像を生成する。
なお、背景3Dモデルとカメラモデルの組み合わせ次第では、教師画像の生成に失敗する場合がある。教師画像の生成に失敗した場合には、カメラモデルを再計算する。
ここで、図7は、パラメータ変化部及び教師データ生成部の処理の流れの一例を示すフローチャートである。以下、図6を参照して、パラメータ変化部及び教師データ生成部の処理の流れについて説明する。
ステップS301では、教師データ生成制御部12が、生成対象ラベル11に基づき、パラメータ変化部10を起動すると、処理をS302、S303、及びS304に移行する。
ステップS302では、教師データ生成制御部12が、認識対象3Dモデルバリエーション生成部15へ生成対象ラベル11を入力すると、処理をS305に移行する。
ステップS303では、照明モデル生成部17が、照明モデルを出力すると、処理をS307に移行する。
ステップS304では、背景3Dモデル取得部18が、背景3Dモデルを出力すると、処理をS307に移行する。
ステップS305では、認識対象3Dモデルバリエーション生成部15が、入力された生成対象ラベル11に基づき、認識対象3Dモデルバリエーションを出力すると、処理をS306、及びS307に移行する。
ステップS306では、カメラモデル生成部16が、カメラモデルを出力すると、処理をS307に移行する。
ステップS307では、教師データ生成制御部12が、認識対象3Dモデルバリエーション、カメラモデル、照明モデル、及び背景3Dモデルを教師画像生成部19に入力すると、処理をS308に移行する。
ステップS308では、教師画像生成部19が、教師画像を生成し、生成した教師画像を教師データ生成制御部12に出力すると、本処理を終了する。
-認識対象3Dモデルバリエーション生成部-
認識対象3Dモデルバリエーション生成部15は、教師画像の描画に用いる3Dモデルについて、材質及び形状の少なくともいずれかを変化させる。3Dモデルの材質及び形状の少なくともいずれかを変化させることにより、認識率を向上させることができる。
図8は、認識対象3Dモデルバリエーション生成部15のブロック図である。この図8の認識対象3Dモデルバリエーション生成部15は、ユーザからの生成対象ラベル11を入力とし、認識対象3Dモデルバリエーション159を出力する。
認識対象3Dモデルバリエーション159とは、認識対象3Dモデル153を、認識対象3Dモデルバリエーション生成部15で加工したものである。
3Dモデル格納部152は、認識対象3Dモデル153を格納する。認識対象3Dモデル153は、ユーザ入力される生成対象ラベル11の「ラベル情報」と紐づけて格納されている。「ラベル情報」は、生成した認識対象3Dモデルがディープラーニングにより何に認識されるべきかという情報である。
認識対象3Dモデル153は、教師データの元となる3Dモデルである。認識対象3Dモデル153は、一般的な3Dモデルのフォーマットを用いるが、以下の点が特殊である。3Dモデルは、形状変換部154により形状が、材質生成部156により材質が変化する。しかし、例えば、車両の3Dモデルの形状変換について考えると、楕円形の車両のタイヤは現実には存在せず、また、フロントガラスが不透明な車両も現実にはほぼ存在しない。したがって、認識対象3Dモデルにおいては、形状変換部154と材質生成部156が認識対象3Dモデルのどの部分に影響を及ぼすのか、あるいは影響を及ぼさないかの制御が必要である。そのような情報は認識対象3Dモデルのメタ情報として付与されている。
形状変換強度パラメータテーブル155の範囲内で認識対象3Dモデルを変形する。認識対象3Dモデル全体を変形することはなく、認識対象3Dモデルに付与されたメタ情報で指定された部分のみを変形する。
認識対象3Dモデルの変形は、以下のそれぞれを実施する。
(1)シアー:ランダムなベクトルに沿って、形状変換強度パラメータテーブル155の範囲内でランダムな大きさをシアーする。
(2)膨張・縮退:形状変換強度パラメータテーブル155の範囲内で膨張及び縮退の少なくともいずれかを行う。
形状変換強度パラメータテーブル155は、形状変換部154による形状の変形の強さを指定するパラメータであり、例えば、ユーザに指定されるユーザ指定値である。
材質生成部156は、色範囲テーブル157及び材質範囲テーブル158に基づき材質を生成し、認識対象3Dモデルに設定する。なお、認識対象3Dモデル全体の材質を設定することはなく、認識対象3Dモデルに付与されたメタ情報で指定された部分のみの材質を設定する。
色範囲テーブル157は、材質生成部156で生成される3Dモデルの材質の色の範囲を指定するパラメータであり、ユーザ指定値である。色範囲テーブル157は、例えば、RGBの3チャンネルのそれぞれについて0~255の整数の範囲を任意に指定することができる。この実施例1では、例えば、R:30~255、G:0~180、B:0~192の範囲で指定する。
材質範囲テーブル158は、材質生成部156で生成される3Dモデルの材質の滑らかさ及び金属光沢の少なくともいずれかの範囲を指定するパラメータであり、ユーザ指定値である。材質範囲テーブル158は、例えば、滑らかさ及び金属光沢のそれぞれについて0.0~1.0の任意の浮動小数を指定することができる。この実施例1では、例えば、滑らかさ:0.3~0.5、金属光沢:0.1~1.0の範囲に指定する。
ここで、図9は、認識対象3Dモデルバリエーション生成部の処理の流れの一例を示すフローチャートである。以下、図8を参照して、認識対象3Dモデルバリエーション生成部の処理の流れについて説明する。
ステップS401では、教師データ生成制御部12が、ユーザ入力の生成対象ラベル11を、認識対象3Dモデルバリエーション生成制御部151へ入力すると、処理をS402に移行する。
ステップS402では、認識対象3Dモデルバリエーション生成制御部151が、入力された生成対象ラベルの3Dモデルを、3Dモデル格納部152からランダムに選択すると、処理をS403に移行する。
ステップS403では、認識対象3Dモデルバリエーション生成制御部151が、選択した認識対象3Dモデル153を形状変換部154に入力すると、処理をS404に移行する。
ステップS404では、形状変換部154が、形状変換強度パラメータテーブル155に基づき、認識対象3Dモデル153の形状を変形すると、処理をS405に移行する。
ステップS405では、認識対象3Dモデルバリエーション生成制御部151が、形状変換部154で形状を変形した認識対象3Dモデルを材質生成部156に入力すると、処理をS406に移行する。
ステップS406では、材質生成部156が、色範囲テーブル157及び材質範囲テーブル158に基づき、ランダムに色及び材質を生成すると、処理をS407に移行する。
ステップS407では、材質生成部156が、形状変換部154で形状を変形した認識対象3Dモデルについて、予め、認識対象3Dモデルに付与されている色及び材質を、生成した色及び材質に設定すると、処理をS408に移行する。
ステップS408では、認識対象3Dモデルバリエーション生成制御部151が、形状及び材質の少なくともいずれかの設定を終了した認識対象3Dモデルバリエーションを、教師画像生成部19及びカメラモデル生成部16に出力すると、本処理が終了する。
-カメラモデル生成部-
カメラモデル生成部16は、認識対象の三次元モデルのカメラの位置、カメラの向き及びカメラの画角の少なくともいずれかを変化させてカメラモデルを生成する。
図10は、カメラモデル生成部16の一例を示すブロック図である。この図10のカメラモデル生成部16において、ディープラーニングに適した教師データを生成するため、生成された教師データが正しく分類できるようにレンダリングされることを保証する必要がある。そのために、認識対象3Dモデルが適切な大きさでレンダリングされることを考慮してカメラモデルを生成する。
カメラの位置、カメラの向きについては、単純なベクトル計算によりカメラが認識対象3Dモデルを確実にとらえられるように決定できる。
カメラ画角については、以下に説明するように特別な考慮が必要である。
図11及び図12は、カメラが認識対象3Dモデルを捉えているときに、カメラ画角が大きすぎる場合や小さすぎる場合には、どのような教師画像が生成されるかを示した説明図である。
図11に示すように、カメラ画角が大きすぎると、教師画像の中で認識対象3Dモデルが小さく描画されてしまう。一方、図12に示すように、カメラ画角が小さすぎると、教師画像中に認識対象3Dモデルが大きく描画されてしまい、認識対象3Dモデルの一部しか描画されない。
図13を参照して、カメラ画角は、以下のようにして求めることができる。
(1)ユーザが指定したカメラ位置範囲テーブル161(バウンディングボックス・距離指定)内のランダムな位置を計算することにより、カメラ位置を決定する。
(2)仮のカメラ位置から認識対象3Dモデルのバウンディングボックスの中心を向く向きを計算することにより、カメラ向きを決定する。したがって、カメラの視線のベクトルは認識対象3Dモデルの中心を通る。
(3)カメラの視線ベクトルと、カメラから認識対象3Dモデルの各頂点へのベクトルの角度を求め、最大の角度をカメラ画角とする。
ここで、図14は、カメラモデル生成部の処理の流れの一例を示すフローチャートである。以下、図10~図13を参照して、カメラモデル生成部の処理の流れについて説明する。
ステップS501では、認識対象3Dモデルバリエーション生成制御部151から、カメラモデル生成部16へ、形状及び材質の少なくともいずれかの設定を終了した認識対象3Dモデルバリエーション159を入力すると、処理をS502に移行する。
ステップS502では、カメラモデル生成部16が、ユーザ指定のカメラ位置範囲テーブル161に基づき、カメラの位置を決定すると、処理をS503に移行する。
ステップS503では、カメラモデル生成部16が、決定したカメラの位置から、カメラの向きを認識対象3Dモデルの中心を向く向きに設定すると、処理をS504に移行する。
ステップS504では、カメラモデル生成部16が、カメラの位置及びカメラの向きからカメラの画角を決定し、カメラモデル162を生成すると、処理をS505に移行する。
ステップS505では、カメラモデル生成部16が、生成したカメラモデル162を教師画像生成部19に出力すると、本処理を終了する。
-照明モデル生成部-
照明モデル生成部17は、三次元(3D)空間上に光源を設定することにより、認識対象3Dモデルの照明モデルを生成する。光源の設定によって3Dモデルは可視物となる。光源としては、例えば、並行光源、点光源、環境光などが挙げられる。
並行光源は、無限遠からの光をシミュレートする光源であり、例えば、太陽光は地球からはほとんど並行光源のように見える。点光源のように距離によって光の強さが変化することはなく、一定である。
並行光源としては、例えば、角度、強さ、色(ユーザ指定の色温度(4,000K~6,000K等))、数(0又は1)をランダムに定める。
点光源は、電球やスポットライトのような一点から光を全方向に放射する光源であり、光源から離れるにつれて、光は弱くなる。
点光源としては、例えば、位置、強さ、色(RGBのそれぞれ8bit整数で幅を指定、0~255が最大)、数(0からユーザ指定数)をランダムに定める。
環境光は、総ての物体を均一に照らす光源であり、間接光を擬似的に表現する。360度全方位からの光の強さをシミュレーションすることができる。例えば、現実的にランダムに生成することが難しいため、いくつかのバリエーションを環境光HDR(High Dynamic Range)マップ格納部に格納しておき、それらをランダムにブレンドすることでレンダリング対象の環境光を生成する。
環境光HDRマップ格納部は、認識対象以外、つまり背景のうち空(空の色、雲、明るさ)を格納する。環境光HDRマップとは、360度全方位からの光の強さを表すビットマップファイルである。
-背景3Dモデル取得部-
背景3Dモデル取得部18は、背景3Dモデル格納部から、ランダムな背景3Dモデルを取得する。背景3Dモデルとしては、例えば、町並み、ビル街、道路等の都市景観;海、木立、川、山等の自然風景などが挙げられる。
背景3Dモデル格納部は、認識対象以外、つまり背景のうち空(例えば、空の色、雲、明るさ)を除く部分の背景3Dモデルを格納する。なお、空は、環境光を用いることにより空が形成されるので指定しない。
ディープラーニングが背景3Dモデルを学習することを避けるため、十分なバリエーション、又は生成機構を備えることが必要となる。また、画像認識を堅牢にするために認識対象3Dモデルが一部隠れるような背景3Dモデルを用いることが好ましい。
-教師画像生成部-
図15に示すように、教師画像生成部19は、教師画像生成制御部192により制御され、3D空間レンダラ195、遮蔽率計算部198、及び保存パラメータ生成部199を有している。
教師画像生成制御部192へ、遮蔽率閾値191、認識対象3Dモデルバリエーション159、背景3Dモデル193、照明モデル194、及びカメラモデル162を入力すると、教師画像生成制御部192は、教師画像20、又は「エラー」を出力する。
遮蔽率閾値191は、ユーザ入力であってもよいが、認識対象の三次元モデルの分類毎に設定することもできる。遮蔽率閾値191は、例えば、遮蔽率をビックデータで取得し、相関をとることにより求めることができる。これにより、認識率が向上する。
教師画像20は、教師データの入力データに相当する画像である。
「エラー」は、遮蔽率が高すぎ、教師データとして用いる教師画像の生成に失敗したことを意味し、この場合は、上位でリトライする。
3D空間レンダラ195は、三次元(3D)空間をレンダリングするソフトであり、認識対象3Dモデルバリエーション159、背景3Dモデル193、照明モデル194、及びカメラモデル162を入力すると、中間データ196及び教師画像候補197を出力する。
中間データ196は、遮蔽率計算部198に入力するためのデータである。中間データ196は、教師データ画像と同等の画素数をもつ画像データであり、教師データ画像と同じレンダリング条件下で、以下の2つをレンダリングする。
(1)認識対象3Dモデルのみのレンダリング結果(0、1の2値画像、レンダリング対象が1、それ以外が0;図16のA参照)
(2)認識対象3Dモデルと背景3Dモデル両方を含む、遮蔽を考慮したレンダリング結果(0、1の2値画像、レンダリング対象が1、それ以外が0;図16のB参照)
教師画像候補197は、教師画像の候補であり、遮蔽率計算部198により認識対象3Dモデルの遮蔽率が閾値以下であると、保存パラメータ生成部199を経て、教師画像20に生成される。
認識対象3Dモデルは、背景3Dモデル193とカメラモデル162の結果次第で、背景3Dモデル193に隠蔽される可能性がある。そのような認識対象3Dモデルは教師データとして用いることができないため、対象から除外する必要がある。一方、認識対象3Dモデルの一部が遮蔽された画像は教師データの堅牢性を上げることが知られており、教師データとして好ましい。
したがって、認識対象3Dモデルがカメラに十分写っているか否かを判定し、遮蔽率閾値以下のものを教師データとして用いる。
遮蔽率は、図16に示すように、3D空間レンダラ195の中間データ196から、遮蔽率計算部198により、下記数式により算出することができる。
Figure 0007011146000002
ただし、数式において、3D空間レンダラ195が出力する中間データのうち、認識対象3Dモデルのみの2値画像(1-A)をA、認識対象3Dモデルと背景の3Dモデルの両方を含む2値画像(1-B)をBとする。f(x)は2値画像xのうち、1の面積(ピクセル数)を返す関数である。
保存パラメータ生成部199は、教師画像の保存フォーマット、及び画質を決定する部であり、以下のパラメータをランダムに定める。
(1)保存フォーマット・・・「jpg」、「png」
(2)画質・・・「jpg」では保存品質を設定することができる。「png」では1ピクセル当たりに使用する色数を、決定するビット深度を指定することができる。
ここで、図17は、教師画像生成部の処理の流れの一例を示すフローチャートである。以下、図15及び図16を参照して、教師画像生成部の処理の流れについて説明する。
ステップS601では、教師画像生成制御部192に、遮蔽率閾値191、認識対象3Dモデルバリエーション159、背景3Dモデル193、照明モデル194、及びカメラモデル162が入力されると、処理をS602に移行する。
ステップS602では、教師画像生成制御部192が、入力された遮蔽率閾値191、認識対象3Dモデルバリエーション159、背景3Dモデル193、照明モデル194、及びカメラモデル162を、3D空間レンダラ195に出力すると、処理をS603に移行する。
ステップS603では、3D空間レンダラ195が、中間データ196及び教師画像候補197を生成すると、処理をS604に移行する。
ステップS604では、遮蔽率計算部198が、中間データ196を用いて遮蔽率を計算すると、処理をS605に移行する。
ステップS605では、教師画像生成制御部192が、遮蔽率が遮蔽率閾値を超えるか、又はそれ以下であるかを判断する。
遮蔽率が遮蔽率閾値を超えると判定すると、処理をS607に移行し、教師画像の生成が失敗し、上位へエラーを返す。一方、遮蔽率が遮蔽率閾値以下であると判定すると、処理をS606に移行する。
ステップS606では、保存パラメータ生成部199が、ランダムに保存パラメータを生成すると、処理をS608に移行する。
ステップS608では、教師画像生成制御部192が、生成された保存パラメータに従って、教師画像20を生成すると、本処理を終了する。
以上により、堅牢性が高く、実写の教師データに近い認識率を有する教師データが得られる。教師データは、以下に説明する学習部及び推論部に好適に用いられる。
<学習部>
学習部200は、教師データ生成部50で生成した教師データを用いて学習を行う。
図18は、学習部全体の一例を示すブロック図であり、図19は、学習部全体の他の一例を示すブロック図である。
教師データ生成部50で生成した教師データを用いて行う学習は、通常のディープラーニング学習と同様にして行うことができる。
教師データ格納部13には、教師データ生成部50で生成した入力データ(画像)と正解ラベルとのペアである教師データが格納されている。
ニューラルネットワーク定義201は、多層構造のニューラルネットワーク(ディープニューラルネットワーク)の種別、多数のニューロン同士がどのようにつながっているのかという構造を定義したファイルであり、例えば、ユーザに指定されるユーザ指定値である。
学習済み重み202は、ユーザ指定値であり、学習を開始する際に、予め学習済み重みを与えておくことが通常行われており、学習済み重みは、ニューラルネットワークの各ニューロンの重みを格納したファイルである。なお、学習において学習済み重みは必須ではない。
ハイパーパラメータ203は、学習に関するパラメータ群であり、学習を何回行うのか、学習中の重みをどのような幅で更新するのかなどが格納されているファイルである。
学習中重み205は、学習中のニューラルネットワークの各ニューロンの重みを表し、学習することで更新される。
ディープラーニング学習部204は、教師データ格納部13からミニバッチ207と呼ばれる単位で教師データを取得する。この教師データを入力データと正解ラベルとに分離し、順伝播処理と逆伝播処理とを行うことにより、学習中重みを更新して、学習済み重みを出力する。
学習の終了条件は、学習回数がハイパーパラメータの指定値に達しているか、又は損失関数208が閾値を下回ったかで決定される。
ここで、図20は、学習部全体の処理の流れの一例を示すフローチャートである。以下、図18及び図19を参照して、学習部全体の処理の流れについて説明する。
ステップS701では、ユーザが、ディープラーニング学習部204に、教師データ格納部13、ニューラルネットワーク定義201、ハイパーパラメータ203、及び必要に応じて学習済み重み202を与えると、処理をS702に移行する。
ステップS702では、ディープラーニング学習部204が、ニューラルネットワーク定義201に従いニューラルネットワークを構築すると、処理をS703に移行する。
ステップS703では、ディープラーニング学習部204が、学習済み重み202を有しているか否かを判断する。
学習済み重み202を有していないと判定すると、ディープラーニング学習部204が、構築したニューラルネットワークにニューラルネットワーク定義201で指定されたアルゴリズムに従い、初期値を設定すると(S705)、処理をS706に移行する。一方、学習済み重み202を有していると判定すると、ディープラーニング学習部204が、構築したニューラルネットワークに学習済み重み202を設定すると(S704)、処理をS706に移行する。なお、初期値は、ニューラルネットワーク定義201に記載されている。
ステップS706では、ディープラーニング学習部204が、教師データ格納部13から指定されたバッチサイズの教師データ集合を取得すると、処理をS707に移行する。
ステップS707では、ディープラーニング学習部204が、教師データ集合を「入力データ」と「正解ラベル」とに分離すると、処理をS708に移行する。
ステップS708では、ディープラーニング学習部204が、ニューラルネットワークに「入力データ」を入力し、順伝播処理を実施すると、処理をS709に移行する。
ステップS709では、ディープラーニング学習部204が、順伝播処理の結果として、得られた「推論ラベル」と「正解ラベル」を損失関数208に与え、損失209を計算すると、処理をS710に移行する。なお、損失関数208は、ニューラルネットワーク定義201に記載されている。
ステップS710では、ディープラーニング学習部204が、ニューラルネットワークに損失209を入力し、逆伝播処理を実施して、学習中重みを更新すると、処理をS711に移行する。
ステップS711では、ディープラーニング学習部204が、終了条件に到達したか否かを判断する。ディープラーニング学習部204が、終了条件に到達していないと判定すると、処理をS706に戻し、終了条件に到達したと判定すると、処理をS712に移行する。なお、終了条件は、ハイパーパラメータ203に記載されている。
ステップS712では、ディープラーニング学習部204が、学習中重みを学習済み重みとして出力し、本処理を終了する。
<推論部>
推論部300は、学習部200で求めた学習済み重みを用いて推論(テスト)を行う。
図21は、推論部全体の一例を示すブロック図であり、図22は、推論部全体の他の一例を示すブロック図である。
テストデータ格納部301を用いた推論は、通常のディープラーニング推論と同様にして行うことができる。
テストデータ格納部301は、推論用のテストデータを格納した。テストデータは入力データ(画像)のみである。
ニューラルネットワーク定義302は、学習部200のニューラルネットワーク定義201と基本的な構造は共通する。
学習済み重み303は、推論は学習した成果を評価するため、必ず与える。
ディープラーニング推論部304は、学習部200のディープラーニング学習部204に対応する。
ここで、図23は、推論部全体の処理の流れの一例を示すフローチャートである。以下、図21及び図22を参照して、推論部全体の処理の流れについて説明する。
ステップS801では、ユーザが、ディープラーニング推論部304に、テストデータ格納部301、ニューラルネットワーク定義302、及び学習済み重み303を与えると、処理をS802に移行する。
ステップS802では、ディープラーニング推論部304が、ニューラルネットワーク定義302に従いニューラルネットワークを構築すると、処理をS803に移行する。
ステップS803では、ディープラーニング推論部304が、構築したニューラルネットワークに学習済み重み303を設定すると、処理をS804に移行する。
ステップS804では、ディープラーニング推論部304が、テストデータ格納部301から、指定されたバッチサイズのテストデータ集合を取得すると、処理をS805に移行する。
ステップS805では、ディープラーニング推論部304が、ニューラルネットワークにテストデータ集合の入力データを入力し、順伝播処理を実施すると、処理をS806に移行する。
ステップS806では、ディープラーニング推論部304が、推論ラベルを出力すると、本処理を終了する。
以上により、実施例1の画像処理装置を用いて、車種分類を行った結果、92%の正答率が得られた。
上記車種分類では、市販されている12車種についての分類を実施した。テストデータとして、12車種それぞれについて実写画像100枚、計1,200枚の実写画像を用いた。教師データは本実施例により生成したもののみを用いた。正答率は、1,200枚の実写画像を正しく分類できた割合である。
上記正答率が得られた理由は、認識対象3Dモデルについて見た目にかかわる描画パラメータ(例えば、材質、形状、照明、カメラ)を複合的に変化させることにより、ディープラーニングに適したバリエーションの増強が行えること、また、従来は生成できなかった遮蔽を考慮した教師データを生成できる点が挙げられる。認識対象の見た目に関するパラメータを組み合わせることで、イレギュラーな状態(市販の色以外の塗料で着色された車両、照明による白とび、レンズ歪みによる実写画像上の形状の歪み)を認識することができ、また、教師データが遮蔽されたものを含むことで遮蔽された実写画像を認識することが可能となる。
(実施例2)
実施例2の画像処理装置は、実施例1の画像処理装置において、教師データを永続化しないこと以外は、実施例1と同様であるため、既に説明した同一の構成については、同じ参照符号を付してその説明を省略する。
実施例1において、教師データ生成部50は、生成した教師データを教師データ格納部13に格納すること、即ち、教師データを永続化した後、教師データ格納部13から教師データを読み込んで学習を実施する。ディープラーニングでは、教師データはバリエーションが多いほど認識率が高くなるため、必然的にデータ量が増大し、教師データを格納するためのコストが増大する。このことは、生成される教師データを、直接、ディープラーニング学習部204に入力する構成とすることにより解消できる。
学習は、ミニバッチと呼ばれる単位で複数枚まとめて行われる。1つのミニバッチに含まれる教師データ数をバッチサイズと呼ぶ。一定枚数をメモリやファイルシステムに一時的にバッファリングする。即ち、実施例2においては、教師データ生成と学習とを並行に進めることができる。
図24は、実施例2の画像処理装置全体の一例を示すブロック図である。
パラメータ変化部10及び教師データ生成部50は、実施例1と同様である。
教師データバッファ32は、教師データ生成部50で生成された教師データを指定されたバッチサイズの数に一時的に格納する。
ディープラーニング学習部204は、教師データバッファ32に格納されたバッチを用い、指定された回数の学習を実施する。実施例1のディープラーニング学習部204と同様である。
学習制御部31は、教師データ生成の制御、及びディープラーニング学習部204へのミニバッチの入力を行う。
ディープラーニング推論部304は、実施例1のディープラーニング推論部304と同様である。
図25は、実施例2の画像処理装置全体の処理の流れの一例を示すフローチャートである。以下、図24を参照して、実施例2の画像処理装置全体の処理の流れについて説明する。
ステップS901では、ユーザが、学習制御部31に、ハイパーパラメータとして学習回数、バッチサイズを指定すると、処理をS902に移行する。
ステップS902では、学習制御部31が、ランダムに生成対象ラベルを教師データ生成部50へ入力し、教師データ生成部50が描画パラメータを変化させ、変化させた描画パラメータを教師データ生成部50に入力すると、処理をS903に移行する。
ステップS903では、学習制御部31が、教師データ生成部50で生成した教師データを教師データバッファ32へ追加すると、処理をS904に移行する。
ステップS904では、教師データバッファ32に格納された教師データ数がハイパーパラメータのバッチサイズ以上であるか否かを判断する。
教師データ数がバッチサイズ未満であると判定すると、処理をS902に戻し、教師データ数がバッチサイズ以上であると判定すると、処理をS905に移行する。
ステップS905では、学習制御部31が、教師データバッファ32のミニバッチをディープラーニング学習部204に入力すると、処理をS906に移行する。
ステップS906では、ディープラーニング学習部204が、入力されたミニバッチの学習を開始すると、処理をS907に移行する。
ステップS907では、学習制御部31が、教師データバッファ32をクリアし、処理をS902、及びS908に移行する。
ステップS908では、ディープラーニング学習部204が、ミニバッチの学習を完了し、学習回数をインクリメントすると、処理をS909に移行する。
ステップS909では、ディープラーニング学習部204が、現在の学習回数がユーザの指定値に到達したか否かを判断する。
学習回数がユーザの指定値に到達していないと判定すると、処理をS910に移行し、ミニバッチの入力を待ち合わせて、処理をS906に移行する。一方、学習回数がユーザの指定値に到達したと判定すると、本処理を終了する。
以上により、実施例2の画像処理装置を用いて、実施例1と同様にして、車種分類を行った結果、実施例1と同レベルの正答率が得られた。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
認識対象の教師データを用いて画像認識を行う画像処理装置において、
前記認識対象の三次元モデルにおける描画パラメータを変化させるパラメータ変化部と、
前記パラメータ変化部が変化させた前記描画パラメータに基づき、前記認識対象の教師データを生成する教師データ生成部と、
を有することを特徴とする画像処理装置。
(付記2)
前記画像処理装置において、
前記描画パラメータが、前記認識対象の三次元モデルの材質、前記認識対象の三次元モデルの形状、前記認識対象の三次元モデルのカメラの位置、前記認識対象の三次元モデルのカメラの向き、前記認識対象の三次元モデルのカメラの画角、前記認識対象の三次元モデルの照明条件、背景三次元モデル、遮蔽率及び教師画像の保存条件から選択される少なくとも一つ又はこれらの組み合わせである付記1に記載の画像処理装置。
(付記3)
前記画像処理装置はさらに、
前記認識対象の三次元モデルのカメラの位置、カメラの向き及びカメラの画角の少なくともいずれかを変化させてカメラモデルを生成するカメラモデル生成部を有する付記2に記載の画像処理装置。
(付記4)
前記画像処理装置はさらに、
前記認識対象の三次元モデルの照明条件を変化させて照明モデルを生成する照明モデル生成部を有する付記2から3のいずれか一項に記載の画像処理装置。
(付記5)
前記画像処理装置はさらに、
背景三次元モデル格納部から前記背景三次元モデルを取得する背景三次元モデル取得部を有する付記2から4のいずれか一項に記載の画像処理装置。
(付記6)
前記画像処理装置はさらに、
前記遮蔽率が遮蔽率閾値以下である教師画像を生成する教師画像生成部を有する付記2から5のいずれか一項に記載の画像処理装置。
(付記7)
前記画像処理装置において、
前記遮蔽率閾値が、前記認識対象の三次元モデルの分類毎に設定される付記6に記載の画像処理装置。
(付記8)
前記画像処理装置はさらに、
前記教師データ生成部で生成した教師データを用いて学習を行う学習部を有する付記1から7のいずれか一項に記載の画像処理装置。
(付記9)
前記画像処理装置はさらに、
前記学習部で求めた学習済み重みを用いて推論を行う推論部を有する付記8に記載の画像処理装置。
(付記10)
前記画像処理装置において、
前記画像認識は、ディープラーニングの手法により行われる付記1から9のいずれか一項に記載の画像処理装置。
(付記11)
認識対象の教師データを用いて画像認識を行う画像処理装置の画像処理方法において、
前記画像処理装置が有するパラメータ変化部が、前記認識対象の三次元モデルにおける描画パラメータを変化させ、
前記画像処理装置が有する教師データ生成部が、前記認識対象の教師データを生成する画像処理方法。
(付記12)
認識対象の教師データを用いて画像認識を行う画像処理装置の画像処理プログラムにおいて、
前記画像処理装置が有するパラメータ変化部に、前記認識対象の三次元モデルにおける描画パラメータを変化させ、
前記画像処理装置が有する教師データ生成部に、前記認識対象の教師データを生成させる画像処理プログラム。
(付記13)
認識対象の画像認識を行うための教師データを生成する教師データ生成装置を用いた教師データ生成方法において、
前記教師データ生成装置が有するパラメータ変化部が、前記認識対象の三次元モデルにおける描画パラメータを変化させ、
前記教師データ生成装置が有する教師データ生成部が、前記パラメータ変化部が変化させた前記描画パラメータに基づき、前記認識対象の教師データを生成する教師データ生成方法。
(付記14)
前記教師データ生成方法において、
前記描画パラメータが、前記認識対象の三次元モデルの材質、前記認識対象の三次元モデルの形状、前記認識対象の三次元モデルのカメラの位置、前記認識対象の三次元モデルのカメラの向き、前記認識対象の三次元モデルのカメラの画角、前記認識対象の三次元モデルの照明条件、背景三次元モデル、遮蔽率及び教師画像の保存条件から選択される少なくとも一つ又はこれらの組み合わせである付記13に記載の教師データ生成方法。
(付記15)
前記教師データ生成装置はさらに、
前記認識対象の三次元モデルのカメラの位置、カメラの向き及びカメラの画角の少なくともいずれかを変化させてカメラモデルを生成するカメラモデル生成部を有する付記14に記載の教師データ生成方法。
(付記16)
前記教師データ生成装置はさらに、
前記認識対象の三次元モデルの照明条件を変化させて照明モデルを生成する照明モデル生成部を有する付記14から15のいずれか一項に記載の教師データ生成方法。
(付記17)
前記教師データ生成装置はさらに、
背景三次元モデル格納部から背景三次元モデルを取得する背景三次元モデル取得部を有する付記14から16のいずれか一項に記載の教師データ生成方法。
(付記18)
前記教師データ生成装置はさらに、
前記遮蔽率が遮蔽率閾値以下である教師画像を生成する教師画像生成部を有する付記14から17のいずれか一項に記載の教師データ生成方法。
(付記19)
前記教師データ生成装置において、
前記遮蔽率閾値が、前記認識対象の三次元モデルの分類毎に設定される付記18に記載の教師データ生成方法。
(付記20)
認識対象の画像認識を行うための教師データを生成する教師データ生成装置において、
前記認識対象の三次元モデルにおける描画パラメータを変化させるパラメータ変化部と、
前記パラメータ変化部が変化させた描画パラメータに基づき、前記認識対象の教師データを生成する教師データ生成部と、を有する教師データ生成装置。
(付記21)
認識対象の画像認識を行うための教師データを生成する教師データ生成装置を用いた教師データ生成プログラムにおいて、
前記画像処理装置が有するパラメータ変化部に、前記認識対象の三次元モデルにおける描画パラメータを変化させ、
前記画像処理装置が有する教師データ生成部に、前記認識対象の教師データを生成させる教師データ生成プログラム。
10 パラメータ変化部
12 教師データ生成制御部
15 認識対象3Dモデルバリエーション生成部
16 カメラモデル生成部
17 照明モデル生成部
18 背景3Dモデル取得部
19 教師画像生成部
20 教師画像
21 教師データ
50 教師データ生成部
100 画像処理装置
200 学習部
300 推論部

Claims (12)

  1. 画像を教師データとして出力する画像処理装置であり、
    前記画像において認識対象の一部が遮蔽されている場合、遮蔽された部分を含む前記認識対象の全領域の第一の面積と、前記全領域のうち前記認識対象遮蔽された前記部分を除外した領域の第二の面積と、に基づいて前記認識対象が遮蔽されている割合を示す遮蔽率を算出する遮蔽率計算部と、
    算出した前記遮蔽率が閾値以下である場合に前記画像を前記教師データとすることを決定する教師データ生成部と、
    を有することを特徴とする画像処理装置。
  2. 前記画像処理装置において、
    描画パラメータが、前記認識対象の材質、形状、カメラの位置、カメラの向き、カメラの画角、照明条件と、背景モデルと、前記遮蔽率と、教師画像の保存条件とから選択される少なくとも一つ又はこれらの組み合わせであり、
    一つ又は組み合わせた前記描画パラメータを変化させ前記教師データを生成する前記教師データ生成部を有する請求項1に記載の画像処理装置。
  3. 前記画像処理装置はさらに、
    前記認識対象の前記カメラの位置、前記カメラの向き及び前記カメラの画角の少なくともいずれかを変化させてカメラモデルを生成するカメラモデル生成部を有する請求項2に記載の画像処理装置。
  4. 前記画像処理装置はさらに、
    前記認識対象の前記照明条件を変化させて照明モデルを生成する照明モデル生成部を有する請求項2または3に記載の画像処理装置。
  5. 前記画像処理装置はさらに、
    背景モデル格納部から前記背景モデルを取得する背景モデル取得部を有する請求項2から4のいずれか一項に記載の画像処理装置。
  6. 前記画像処理装置において、
    前記遮蔽率の前記閾値が、前記認識対象の分類毎に設定される請求項1から5のいずれか一項に記載の画像処理装置。
  7. 前記画像処理装置はさらに、
    前記教師データ生成部で生成した前記教師データを用いて学習を行う学習部を有する請求項1から6のいずれか一項に記載の画像処理装置。
  8. 前記画像処理装置はさらに、
    前記学習部で求めた学習済み重みを用いて推論を行う推論部を有する請求項7に記載の画像処理装置。
  9. 前記画像処理装置は前記教師データを用いた機械学習の結果を用いて画像認識を行い、
    前記画像認識は、ディープラーニングの手法により行われる請求項1から8のいずれか一項に記載の画像処理装置。
  10. 画像を教師データとして出力する画像処理装置の画像処理方法において、
    前記画像処理装置が有する遮蔽率計算部が、前記画像において認識対象の一部が遮蔽されている場合、遮蔽された部分を含む前記認識対象の全領域の第一の面積と、前記全領域のうち前記認識対象が遮蔽された前記部分を除外した領域の第二の面積と、に基づいて前記認識対象が遮蔽されている割合を示す遮蔽率を算出し、
    前記画像処理装置が有する教師データ生成部が、算出した前記遮蔽率が閾値以下である場合に前記画像を前記教師データとすることを決定する、
    処理をコンピュータが実行することを特徴とする画像処理方法。
  11. 画像を教師データとして出力する画像処理装置の画像処理プログラムにおいて、
    前記画像処理装置が有する遮蔽率計算部に、前記画像において認識対象の一部が遮蔽されている場合、遮蔽された部分を含む前記認識対象の全領域の第一の面積と、前記全領域のうち前記認識対象が遮蔽された前記部分を除外した領域の第二の面積と、に基づいて前記認識対象が遮蔽されている割合を示す遮蔽率を算出させ、
    前記画像処理装置が有する教師データ生成部に、算出された前記遮蔽率が閾値以下である場合に前記画像を前記教師データとすることを決定させる画像処理プログラム。
  12. 画像を教師データとして出力する教師データ生成装置を用いた教師データ生成方法において、
    前記教師データ生成装置が有する遮蔽率計算部が、前記画像において認識対象の一部が遮蔽されている場合、遮蔽された部分を含む前記認識対象の全領域の第一の面積と、前記全領域のうち前記認識対象が遮蔽された前記部分を除外した領域の第二の面積と、に基づいて前記認識対象が遮蔽されている割合を示す遮蔽率を算出し、
    前記教師データ生成装置が有する教師データ生成部が、算出した前記遮蔽率が閾値以下である場合に前記画像を前記教師データとすることを決定する処理をコンピュータが実行することを特徴とする教師データ生成方法。
JP2017060876A 2017-03-27 2017-03-27 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法 Active JP7011146B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017060876A JP7011146B2 (ja) 2017-03-27 2017-03-27 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法
US15/920,576 US10803352B2 (en) 2017-03-27 2018-03-14 Image processing apparatus, image processing method, and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017060876A JP7011146B2 (ja) 2017-03-27 2017-03-27 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法

Publications (2)

Publication Number Publication Date
JP2018163554A JP2018163554A (ja) 2018-10-18
JP7011146B2 true JP7011146B2 (ja) 2022-01-26

Family

ID=63583450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017060876A Active JP7011146B2 (ja) 2017-03-27 2017-03-27 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法

Country Status (2)

Country Link
US (1) US10803352B2 (ja)
JP (1) JP7011146B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180357819A1 (en) * 2017-06-13 2018-12-13 Fotonation Limited Method for generating a set of annotated images
EP3416103A1 (en) * 2017-06-16 2018-12-19 Dassault Systèmes Dataset for learning a function taking images as inputs
WO2020112188A1 (en) * 2018-11-27 2020-06-04 Raytheon Company Computer architecture for artificial image generation
JP7096360B2 (ja) * 2018-12-14 2022-07-05 富士フイルム株式会社 ミニバッチ学習装置とその作動プログラムおよび作動方法
EP3674870A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Learning a neural network for inference of editable feature trees
JP7200713B2 (ja) * 2019-02-04 2023-01-10 株式会社島津製作所 機械学習用教師データ作成支援方法、及び機械学習用教師データ作成支援プログラム
JP7267068B2 (ja) * 2019-03-29 2023-05-01 三井情報株式会社 学習済みモデル生成装置、プログラム及び学習済みモデル生成システム
JP7340353B2 (ja) * 2019-05-22 2023-09-07 東芝テック株式会社 情報処理装置、物品識別装置、及び物品識別システム
CN110175579A (zh) * 2019-05-29 2019-08-27 北京百度网讯科技有限公司 姿态确定方法、场景图像的展示方法、装置、设备及介质
JP6967041B2 (ja) * 2019-08-20 2021-11-17 株式会社Cygames 画像認識モデルを用いた識別子情報推論のための電子装置、方法、プログラム及びシステム
JP7335221B2 (ja) * 2019-08-20 2023-08-29 株式会社Cygames 画像認識モデルを用いた識別子情報推論のための電子装置、方法、プログラム及びシステム
JP7426602B2 (ja) * 2019-11-06 2024-02-02 パナソニックIpマネジメント株式会社 映像生成装置、映像生成方法およびプログラム
US11416707B2 (en) 2019-12-04 2022-08-16 Panasonic Intellectual Property Corporation Of America Information processing method, information processing system, and information processing apparatus
CN113128531B (zh) * 2019-12-30 2024-03-26 上海商汤智能科技有限公司 一种数据处理方法及装置
CN114830107A (zh) * 2020-03-10 2022-07-29 奥林巴斯株式会社 图像处理系统、图像处理装置、内窥镜系统、接口以及图像处理方法
JP7459713B2 (ja) 2020-07-31 2024-04-02 富士通株式会社 選別プログラム、選別方法、および情報処理装置
WO2022044311A1 (ja) 2020-08-31 2022-03-03 富士通フロンテック株式会社 データ生成装置、データ生成方法およびデータ生成プログラム
CN112508027B (zh) * 2020-11-30 2024-03-26 北京百度网讯科技有限公司 用于实例分割的头部模型、实例分割模型、图像分割方法及装置
US20240084528A1 (en) 2021-02-04 2024-03-14 Nec Corporation Training data generation device, trainig data generation method, and medium
US20230209003A1 (en) * 2021-12-28 2023-06-29 At&T Intellectual Property I, L.P. Virtual production sets for video content creation
JP2023172115A (ja) * 2022-05-23 2023-12-06 株式会社日立製作所 物体検知モデル学習装置、物体検知装置及び物体検知モデル学習方法
JP2023183255A (ja) * 2022-06-15 2023-12-27 株式会社日立製作所 学習用データ生成装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211468A (ja) 2009-03-10 2010-09-24 Toyota Central R&D Labs Inc 学習モデル生成装置、対象物検出システム、及びプログラム
JP2014123362A (ja) 2012-12-21 2014-07-03 Honda Motor Co Ltd 合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ
WO2016157499A1 (ja) 2015-04-02 2016-10-06 株式会社日立製作所 画像処理装置、物体検知装置、画像処理方法
JP2016218999A (ja) 2015-05-21 2016-12-22 三菱電機株式会社 ターゲット環境の画像内に表現されたオブジェクトを検出するように分類器をトレーニングする方法およびシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211732A (ja) 2009-03-12 2010-09-24 Nippon Telegr & Teleph Corp <Ntt> 物体認識装置および方法
WO2015035229A2 (en) * 2013-09-05 2015-03-12 Cellscope, Inc. Apparatuses and methods for mobile imaging and analysis
JP6409433B2 (ja) 2014-09-17 2018-10-24 大日本印刷株式会社 画像生成装置、画像検出システム及び画像生成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211468A (ja) 2009-03-10 2010-09-24 Toyota Central R&D Labs Inc 学習モデル生成装置、対象物検出システム、及びプログラム
JP2014123362A (ja) 2012-12-21 2014-07-03 Honda Motor Co Ltd 合成訓練データを用いてリアルタイムで自転車運転者を検知する方法、記憶媒体及びコンピュータ
WO2016157499A1 (ja) 2015-04-02 2016-10-06 株式会社日立製作所 画像処理装置、物体検知装置、画像処理方法
JP2016218999A (ja) 2015-05-21 2016-12-22 三菱電機株式会社 ターゲット環境の画像内に表現されたオブジェクトを検出するように分類器をトレーニングする方法およびシステム

Also Published As

Publication number Publication date
US10803352B2 (en) 2020-10-13
US20180276500A1 (en) 2018-09-27
JP2018163554A (ja) 2018-10-18

Similar Documents

Publication Publication Date Title
JP7011146B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法
CN111199531B (zh) 基于泊松图像融合及图像风格化的交互式数据扩展方法
JP7082535B2 (ja) データ生成装置、画像識別装置、データ生成方法及びプログラム
JP6929322B2 (ja) データ拡張システム、データ拡張方法、及びプログラム
WO2022095721A1 (zh) 参数估算模型的训练方法、装置、设备和存储介质
CN111160085A (zh) 一种人体图像关键点姿态估计方法
CN111445488B (zh) 一种弱监督学习自动识别和分割盐体的方法
CN108491776B (zh) 基于像素分类的装配体零件识别方法、装置及监测系统
WO2017096758A1 (zh) 图像分类方法、电子设备和存储介质
CN106096542B (zh) 基于距离预测信息的图像视频场景识别方法
US11915362B2 (en) UV mapping on 3D objects with the use of artificial intelligence
US10943352B2 (en) Object shape regression using wasserstein distance
CN108564103A (zh) 数据处理方法与装置
CN111563563B (zh) 一种手写体识别的联合数据的增强方法
Montserrat et al. Logo detection and recognition with synthetic images
US11403491B2 (en) Object recognition from images using cad models as prior
KR20200019297A (ko) 표정 인식 모델 생성 장치 및 방법, 및 이를 이용한 표정 인식 장치 및 방법
CN117422884A (zh) 三维目标检测方法、系统、电子设备及存储介质
CN112132164B (zh) 目标检测方法、系统、计算机装置及存储介质
CN117237542B (zh) 基于文本的三维人体模型生成方法和装置
CN118262034A (zh) 从图像重建可动画化的三维人类头部模型的系统和方法
JP7433849B2 (ja) 情報処理装置、情報処理方法及びプログラム
Boroujerdi et al. Deep interactive region segmentation and captioning
Lin et al. Structure-aware roadview synthesis for testing autonomous perception
KR102627659B1 (ko) 후면 영상정보 생성 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227

R150 Certificate of patent or registration of utility model

Ref document number: 7011146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150