(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-26
(45)【発行日】2023-07-04
(54)【発明の名称】画像認識装置、画像認識システム、画像認識方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230627BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2019174630
(22)【出願日】2019-09-25
【審査請求日】2022-07-29
(73)【特許権者】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】奥城 秀剛
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2012-003326(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
時間経過に従って撮像された複数の画像データを取得する画像取得部と、
複数の前記画像データを並べた合成画像データを生成する合成画像生成部と、
学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であ
り、前記画像データの画像がフリッカを起こしているかを示すパターン情報を生成するパターン情報生成部と、
を備える、画像認識装置。
【請求項2】
前記合成画像生成部は、複数の前記画像データをマトリクス状に並べて、前記合成画像データを生成する、請求項1に記載の画像認識装置。
【請求項3】
前記合成画像生成部は、前記画像取得部が画像データを取得する毎に、取得した前記画像データを前記合成画像データに加えることで、前記合成画像データを更新し、
前記パターン情報生成部は、前記合成画像データが更新される毎に、前記パターン情報を生成する、
請求項1又は請求項2に記載の画像認識装置。
【請求項4】
請求項1から請求項
3のいずれか1項に記載の画像認識装置を含む画像認識システムであって、
前記CNNモデルを生成する学習部を更に有し、
前記学習部は、時間経過に従った変化パターンが既知の複数の学習用画像データを並べた学習用合成画像データを取得し、前記学習用合成画像データにラベルを付与することで、前記CNNモデルを生成する、画像認識システム。
【請求項5】
前記学習部は、前記ラベルを複数種類設定する、請求項
4に記載の画像認識システム。
【請求項6】
前記学習部は、前記学習用画像データの撮像条件毎に、前記ラベルを設定する、請求項
5に記載の画像認識システム。
【請求項7】
前記学習部は、前記学習用画像データを撮像したシャッタスピードとフレームレートとの組み合わせ毎に、前記ラベルを設定する、請求項
6に記載の画像認識システム。
【請求項8】
時間経過に従って撮像された複数の画像データを取得する画像取得部と、
複数の前記画像データを並べた合成画像データを生成する合成画像生成部と、
学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であるパターン情報を生成するパターン情報生成部と、
を備える画像認識装置と、
前記CNNモデルを生成する学習部と、を有し、
前記学習部は、
時間経過に従った変化パターンが既知の複数の学習用画像データを並べた学習用合成画像データを取得し、前記学習用合成画像データにラベルを付与することで、前記CNNモデルを生成し、
前記学習用画像データの撮像条件毎に、前記ラベルを設定することで、前記ラベルを複数種類設定する、
画像認識システム。
【請求項9】
時間経過に従って撮像された複数の画像データを取得する画像取得ステップと、
複数の前記画像データを並べた合成画像データを生成する合成画像生成ステップと、
学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であ
り、前記画像データの画像がフリッカを起こしているかを示すパターン情報を生成するパターン情報生成ステップと、
を含む、画像認識方法。
【請求項10】
時間経過に従って撮像された複数の画像データを取得する画像取得ステップと、
複数の前記画像データを並べた合成画像データを生成する合成画像生成ステップと、
学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であ
り、前記画像データの画像がフリッカを起こしているかを示すパターン情報を生成するパターン情報生成ステップと、
を、コンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像認識装置、画像認識システム、画像認識方法及びプログラムに関する。
【背景技術】
【0002】
近年、画像認識のためにCNN(Conventional Neural Network:畳み込みニューラルネットワーク)が用いられる場合がある。例えば特許文献1には、CNNを用いて人の姿勢などの画像認識を行う旨が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、CNNは、後続の層に向かってのみ結合するため、時間経過に従った画像の変化パターンを認識することが困難である。RNN(Recurrent Neural Network)やLSTM(Long Short Term Memory)を用いれば時間経過を認識可能であるが、再帰演算が必要となるため、演算処理の負荷が高くなってしまう。従って、演算処理の負荷を抑えつつ、時間経過に従った画像の変化パターンを適切に認識することが求められている。
【0005】
本発明は、上記課題を鑑み、演算処理の負荷を抑えつつ、時間経過に従った画像の変化パターンを適切に認識することができる画像認識装置、画像認識システム、画像認識方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様にかかる画像認識装置は、時間経過に従って撮像された複数の画像データを取得する画像取得部と、複数の前記画像データを並べた合成画像データを生成する合成画像生成部と、学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であるパターン情報を生成するパターン情報生成部と、を備える。
【0007】
本発明の一態様に係る画像認識システムは、前記画像認識装置を含む画像認識システムであって、前記CNNモデルを生成する学習部を更に有し、前記学習部は、時間経過に従った変化パターンが既知の複数の学習用画像データを並べた学習用合成画像データを取得し、前記学習用合成画像データにラベルを付与することで、前記CNNモデルを生成する。
【0008】
本発明の一態様にかかる画像認識方法は、時間経過に従って撮像された複数の画像データを取得する画像取得ステップと、複数の前記画像データを並べた合成画像データを生成する合成画像生成ステップと、学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であるパターン情報を生成するパターン情報生成ステップと、を含む。
【0009】
本発明の一態様にかかるプログラムは、時間経過に従って撮像された複数の画像データを取得する画像取得ステップと、複数の前記画像データを並べた合成画像データを生成する合成画像生成ステップと、学習済みの畳み込みニューラルネットワークモデルであるCNNモデルを取得し、取得した前記CNNモデルに前記合成画像データに基づく入力データを入力して、前記画像データの時間経過に従った変化パターンの情報であるパターン情報を生成するパターン情報生成ステップと、をコンピュータに実行させる。
【発明の効果】
【0010】
本発明によれば、演算処理の負荷を抑えつつ、時間経過に従った画像の変化パターンを適切に認識することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本実施形態に係る画像認識システムの模式的なブロック図である。
【
図2】
図2は、本実施形態の画像認識システムの他の例を示すブロック図である。
【
図3】
図3は、画像取得部が取得する画像データの一例を示す模式図である。
【
図4】
図4は、合成画像の一例を示す模式図である。
【
図5】
図5は、CNNモデルの概念的な模式図である。
【
図7】
図7は、パターン情報生成部によるパターン情報の算出結果の例を示す図である。
【
図8】
図8は、画像認識装置による画像認識処理のフローを説明するフローチャートである。
【
図9】
図9は、撮像条件と輝度変化との関係の例を示すグラフである。
【
図10】
図10は、撮像条件毎の合成画像データの一例を示す模式図である。
【
図11】
図11は、第2実施形態に係る教師データの一例を示す図である。
【
図12】
図12は、第2実施形態に係るパターン情報の算出結果の例を示す図である。
【0012】
以下に、本発明の実施形態を図面に基づいて詳細に説明する。なお、以下に説明する実施形態により本発明が限定されるものではない。
【0013】
図1は、本実施形態に係る画像認識システムの模式的なブロック図である。
図1に示すように、本実施形態に係る画像認識システム1は、撮像装置10と画像認識装置12とを備える。画像認識システム1は、画像認識装置12によって、CNN(Conventional Neural Network:畳み込みニューラルネットワーク)モデルCを用いて、撮像装置10が撮像した画像の、時間経過に従った変化パターンを解析することで、画像認識を行う。なお、本実施形態では、撮像装置10と画像認識装置12とが別体の装置であるが、一体の装置であってもよい。
【0014】
撮像装置10は、例えばビデオカメラである。撮像装置10は、所定のフレームレート毎に、所定のシャッタスピードで対象物を撮像することで、時間経過毎の複数の画像を撮像する。すなわち、撮像装置10は、時間的に連続した複数の画像を撮像するといえる。なお、撮像装置10は、例えば車両に搭載されるドライブレコーダに搭載されて、車両の周囲を撮像するが、それに限られず、任意の対象物を撮像するものであってよい。
【0015】
画像認識装置12は、例えばコンピュータであり、入力部14と、出力部16と、記憶部18と、制御部20とを備える。入力部14は、作業者の操作を受け付ける装置であり、例えばマウスやキーボードやタッチパネルなどである。出力部16は、情報を出力する装置であり、例えば制御部20の制御内容などを表示する表示装置を含む。記憶部18は、制御部20の演算内容やプログラムの情報などを記憶するメモリである。記憶部18は、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つを含み、RAM(Random Access Memory)などの揮発性の記憶装置を含んでよく、例えばROMからRAMにCNNモデルCを読み出して実行してよい。記憶部18は、CNNモデルCを記憶する。CNNモデルCについては後述する。
【0016】
制御部20は、演算装置、すなわちCPU(Central Processing Unit)である。制御部20は、画像取得部30と、合成画像生成部32と、パターン情報生成部34と、学習部36とを有する。画像取得部30と、合成画像生成部32と、パターン情報生成部34と、学習部36とは、制御部20が記憶部18に記憶されたソフトウェア(プログラム)を読み出すことで実現され、後述する処理を実行する。
【0017】
図2は、本実施形態の画像認識システムの他の例を示すブロック図である。
図1の例では、学習部36は、画像認識装置12の制御部20に含まれていたが、制御部20に含めなくてもよく、例えば、画像認識装置12とは異なるコンピュータやクラウドサーバ等に別途備えるようにしてもよい。学習部36は、後述する学習に必要なデータを、記憶部18、または画像認識装置1の外部の記憶装置等から読み出し、当該データに基づいて学習済みのCNNモデルCを生成し、記憶部18に記憶させるようにしてもよい。
図2は、学習部36を画像認識装置12とは異なる装置に備えた場合の例を示している。
図2に示すように、この場合の画像認識システム1は、撮像装置10及び画像認識装置12に加えて、学習装置12aを備えている。
図2の画像認識装置12の制御部20には、学習部36が含まれない。学習装置12aは、例えばコンピュータであり、入力部14aと、出力部16aと、記憶部18aと、制御部20aとを備える。入力部14a、出力部16a、及び記憶部18aは、画像認識装置12の入力部14、出力部16、及び記憶部18と同様の構成である。制御部20aは、演算装置、すなわちCPUであり、学習部36を含んでいる。学習装置12aの学習部36により生成されたCNNモデルCが、画像認識装置12に送信されて、記憶部18に記憶される。なお、
図2の構成、すなわち学習部36を画像認識装置1の外部に設ける構成は、後述の第2実施形態にも適用できる。
【0018】
画像取得部30は、撮像装置10が撮像した画像のデータである画像データPを取得する。画像取得部30は、撮像装置10が時間経過に従って撮像した複数の画像データPを取得する。すなわち、画像取得部30が取得する画像データPは、時間的に連続する画像のデータである。例えば、画像取得部30は、撮像装置10が所定のフレームレートで撮像する毎に、画像データPを取得する。
【0019】
図3は、画像取得部が取得する画像データの一例を示す模式図である。ここで、撮像装置10が定点撮像を行っていても、撮像装置10の撮像画像(画像データP)は、時間経過に従って、予期し難い変化パターンで変化する場合がある。ここでの変化パターンとは、画像全体の輝度が時間経過に伴い変化することを指し、さらにいえば、時間経過に伴った輝度変化により画像がちらつく、いわゆるフリッカ現象を指す。
図3の例では、画像データP1、P2、P3、P4、P5、P6、・・・の順で、時間経過毎に撮像されており、例えば画像データP2は、画像データP1の直後に撮像装置10に撮像された画像データである。
図3の例では、画像データP2、P3、P4の画像全体の輝度が、他の画像データPよりも小さくなっている。従って、
図3における画像データPを動画像として再生すると、時間経過に応じて輝度が変化して、フリッカとしてユーザに視認される。
【0020】
このように、画像データPの変化パターンによっては、フリッカなどのように動画像に悪影響を及ぼす場合があり、その動画像を適切に活用することができないおそれがある。画像データPの変化パターンをユーザが確認して、悪影響を除去することも可能であるが、画像データPの数が多くなった場合などにユーザへの負荷が大きくなるため、自動で画像データPの変化パターンを認識することが求められる。それに対し、本実施形態に係る画像認識装置12は、CNNモデルCを用いて、画像データPの時間経過に従った変化パターン(ここではフリッカが起きているか否か)を、認識する。ただし、CNNは、時間経過の観察が困難であるため、画像データPの変化パターンを適切に認識できない場合がある。それに対し、本実施形態に係る画像認識装置12は、画像取得部30及び合成画像生成部32により、CNNモデルCに入力する画像データを加工することで、CNNモデルCによって画像データPの変化パターンを適切に認識することを可能としている。以下、具体的に説明する。
【0021】
図1に示す画像取得部30は、撮像装置10から取得した画像データPを縮小する処理、すなわちリサイズを行う。例えば、画像取得部30は、取得した画像データPに対し、所定数の画素毎に画素データ(画素の輝度値)をサンプリングして並べることで、画像データPを縮小する。なお、画素データのサンプリングに限らず、例えば、所定数の画素から平均値、中央値、分散、標準偏差、最頻値、最大値、最小値、中点値、及び最大値と最小値との差分値、などの代表値を算出し、代表値を用いて画像データPを縮小してもよい。
【0022】
図4は、合成画像の一例を示す模式図である。合成画像生成部32は、画像取得部30から、縮小された画像データPを取得する。合成画像生成部32は、取得した画像データPを並べて、合成画像データQを生成する。すなわち、合成画像データQは、時間経過に従って撮像された複数の画像データPが並んだ画像データであり、言い換えれば撮像時刻が連続する複数の画像データPが並んだ画像データである。本実施形態では、合成画像生成部32は、マトリクス状に、すなわち方向X及び方向Y(
図4参照)に、画像データPを並べるため、合成画像データQは、マトリクス状に画像データPが並んだものとなる。
図4の(A)の例では、時間経過に従って撮像された画像データP1から画像データP16までの16枚が、4行4列に並んでいる。ただし、合成画像データQにおける画像データPの並び順はこれに限られず、
図4のように4行4列に画像データPが並ぶことに限られず、マトリクス状に並ぶことにも限られない。なお、合成画像生成部32は、画像取得部30が縮小処理した画像データPを取得するため、合成画像データQは、縮小された画像データPが並ぶ。ただし、画像データPの縮小処理は必須でなく、合成画像データQは、縮小されていない画像データPが並ぶものであってもよい。
【0023】
合成画像生成部32は、複数の画像データPを並べた合成画像データQの各座標(各画素)における輝度値から、画像データPの輝度の平均値を差し引いて、輝度の平均値が差し引かれた後の合成画像データQを、後述のパターン情報生成部34が用いる合成画像データQとしてもよい。画像データPの輝度の平均値とは、合成画像データQに含まれる全ての画像データPの輝度の平均値である。すなわち、
図4の(A)の例では、画像データP1からP16の各座標(各画素)の輝度を平均した値である。これにより、パターン情報生成部34が用いる合成画像データQを、明暗の度合いがより鮮明になった画像とすることが可能となり、画像データPの変化パターンをより適切に認識可能となる。
【0024】
合成画像生成部32は、画像取得部30が新しい画像データPを取得する毎に、言い換えれば撮像装置10が撮像する毎に、その新しい画像データPを取得する。そして、合成画像生成部32は、新しく取得した画像データPを合成画像データQに並べることで、合成画像データQを更新する。例えば、
図4の(B)に示すように、合成画像生成部32は、合成画像データQに含まれている最も撮像時刻が遅い画像データP16の次に撮像された画像データP17を、取得する。合成画像生成部32は、合成画像データQに含まれている最も撮像時刻が早い画像データP1を、合成画像データQから除去して、新しい画像データP17を合成画像データQに加える。そして、合成画像生成部32は、合成画像データQに含まれる画像データP、
図4の例では画像データP2からP17を、マトリクス状に並べて、合成画像データQを更新する。
【0025】
図1に示すパターン情報生成部34は、合成画像生成部32が生成した合成画像データQを取得し、記憶部18に記憶されている学習済みのCNNモデルCを読み出す。パターン情報生成部34は、合成画像データQに基づく入力データをCNNモデルCに入力することで、画像データPの時間経過に従った変化パターンの情報である、パターン情報を生成する。CNNモデルCは、学習部36によって重み係数及びバイアス値が学習されたニューラルネットワークモデルである。パターン情報生成部34によるパターン情報の生成処理を説明する前に、学習部36による学習済みのCNNモデルCの生成について説明する。
【0026】
図5は、CNNモデルの概念的な模式図である。CNNモデルCは、ディープラーニングによって学習された分類器を構成するニューラルネットワークを定義するモデル(ニューラルネットワークの構成情報)と、変数とで構成される。CNNモデルCは、入力されたデータと学習済みのデータとを比較して、類似の度合い、例えば類似度が何%であるか、を判定できるものである。ディープラーニングは、機械学習のうちの1つの手法であり、狭義には4層以上のニューラルネットワークから構成される。より詳しくは、CNNモデルCは、
図5に示すように、複数の畳み込み層及び複数のプーリング層を含む中間層Mと、全結合層を含む最終層Fと、を備える。CNNモデルCは、入力データIが入力された場合に、中間層Mと最終層Fとで演算を行って、出力データOを出力する。
【0027】
学習部36は、教師データを用いてCNNモデルCにおける重み係数及びバイアス値を設定することで、学習済みのCNNモデルCを生成する。学習部36は、学習用合成画像データQaを、教師データとして取得する。学習用合成画像データQaは、学習用画像データPaがマトリクス状に並んだ画像データである。学習用画像データPaは、時間経過に従って撮像された画像データ(撮像時刻が連続する画像データ)であり、予め撮像されたデータである。従って、学習用合成画像データQaに含まれる学習用画像データPaの時間経過に伴った変化パターンは、既知である。学習用合成画像データQaは、画像認識の対象となる画像データPの代わりに、学習用画像データPaが並んでいる以外は、合成画像データQと同様の処理で生成される。すなわち、学習用合成画像データQaにおける学習用画像データPaの並び方は、合成画像データQにおける画像データPの並び方と、同じである。なお、学習用画像データPaは、時間経過に従って撮像された画像データであればよく、学習用画像データPaとして撮像される対象物は任意であってよい。
【0028】
学習用合成画像データQaは、自身に含まれる学習用画像データPaのパターン情報、すなわち学習用画像データPaの時間経過に従った変化パターンが、既知である。すなわち、学習部36は、学習用合成画像データQaに含まれる学習用画像データPaの変化パターンの情報も取得しているといえる。学習部36は、学習用画像データPaの変化パターンを示すラベルを、学習用合成画像データQaに付与する。
図6は、教師データの一例を示す図である。
図6の例では、学習部36は、教師データとして、フリッカが起きている学習用合成画像データQa1と、その学習用合成画像データQa1にフリッカが起きている旨の情報とを取得して、学習用合成画像データQa1にラベルL1を付与する。すなわち、ここでのラベルL1は、フリッカありのラベルである。学習部36は、フリッカが起きている学習用合成画像データQaを複数種類取得して、それらの学習用合成画像データQaの全てに、共通するラベルL1を付与する。なお、学習部36は、フリッカが起きている学習用合成画像データQaに加え、フリッカが起きていない学習用合成画像データQaも教師データとして取得してもよい。この場合、学習部36は、フリッカが起きていない学習用合成画像データQaに、ラベルL1とは異なるラベルL0を付与する。すなわち、ラベルL0は、フリッカ無しのラベルとなる。ただし、学習部36は、少なくとも、フリッカが起きている学習用合成画像データQaのみを教師データとして取得すればよく、言い換えれば、共通する1つのラベルが割り当てられる学習用合成画像データQaのみを教師データとして取得すればよい。
【0029】
より具体的には、学習部36は、教師データとして取得した学習用合成画像データQaに基づくデータを、入力データIとしてCNNモデルCに入力して、その学習用合成画像データQaがラベルL1である旨をCNNモデルCに入力する。これにより、学習部36は、バックプロパケーション(誤差逆伝搬法)により、CNNモデルCの重み係数及びバイアス値を算出する。すなわち、学習部36は、学習用合成画像データQaに基づく入力データIをCNNモデルCに入力した場合に、その学習用合成画像データQaのラベルがラベルL1であるという演算結果を出力するように、重み係数及びバイアス値を算出する。なお、学習部36は、学習用合成画像データQaを方向X及び方向Yにおいて複数の画像データに区分して、区分したそれぞれの画像データにおけるR(赤色)、G(緑色)、B(青色)の階調値を、入力データIとする。ただし、入力データIは、このような区分した画像データのR、G、Bの階調値に限られず、学習用合成画像データQaに基づくデータであればよい。
【0030】
学習部36は、以上のようにして重み係数及びバイアス値を算出することで、学習済みのCNNモデルCを生成し、学習済みのCNNモデルCを、記憶部18に記憶させる。学習部36は、パターン情報生成部34と一体の装置に組み込まれているが、パターン情報生成部34と別の装置に組み込まれていてもよい。
【0031】
図7は、パターン情報生成部によるパターン情報の算出結果の例を示す図である。パターン情報生成部34は、学習部36によって生成された学習済みのCNNモデルCを記憶部18から読み出し、合成画像生成部32が生成した合成画像データQを取得する。パターン情報生成部34は、合成画像データQに基づく入力データIを学習済みのCNNモデルCに入力する。これにより、パターン情報生成部34は、CNNモデルCでの演算により、画像データPの時間経過に従った変化パターンを示すパターン情報を生成する。具体的には、合成画像データQを区分したそれぞれの画像データにおけるR(赤色)、G(緑色)、B(青色)の階調値が、入力データIとして学習済みのCNNモデルCに入力されて、演算が行われる。パターン情報生成部34は、CNNモデルCにより、合成画像データQがラベルL1に割り当てられる確率を、出力データOとして算出する。
図7の例では、パターン情報生成部34は、合成画像データQがフリッカありのラベルL1に割り当てられる確率が98%である旨の情報を、出力データOとして算出している。学習時に、学習用合成画像データQaに割り当てるラベルを、フリッカ有りのラベルL1とフリッカ無しのラベルL2としていた場合は、パターン情報生成部34は、出力データOとして、ラベルL1に割り当てられる確率と、ラベルL0に割り当てられる確率とを、算出することとなる。
【0032】
パターン情報生成部34は、例えば、割り当てられる確率が所定値以上となるラベルに、合成画像データQが割り当てられると判定して、割り当てられるラベルに対応する変化パターンの情報を、パターン情報として導出する。
図7の例では、パターン情報生成部34は、合成画像データQがラベルL1に割り当てられる確率が所定値以上となるため、フリッカが起きていると判断して、合成画像データQにフリッカが起きている画像データPが含まれている旨の情報を、パターン情報として導出する。合成画像データQがラベルL1に割り当てられる確率が所定値未満である場合は、パターン情報生成部34は、フリッカが起きていないと判断して、合成画像データQにフリッカが起きている画像データPが含まれていない旨の情報を、パターン情報として導出する。パターン情報生成部34は、導出したパターン情報を、出力部16に出力させる。
【0033】
パターン情報生成部34は、合成画像データQが更新される毎に、CNNモデルCでの演算を行って、パターン情報を導出する。従って、パターン情報生成部34は、画像データPの変化パターンを、連続的に認識することが可能となる。
【0034】
画像認識装置12は、以上のように学習済みのCNNモデルCを用いて、画像データPの時間経過に従った変化パターンの情報を生成して、画像認識を行う。上述のように、CNNモデルCは、経時変化の認識が困難であるため、画像データPの変化パターンを認識することが困難である。それに対して、本実施形態に係る画像認識装置12は、時間経過毎の画像データPを1枚の合成画像データQ上に並べて、合成画像データQに基づく入力データIを用いて、CNNモデルCによる演算を実行する。従って、本実施形態によると、CNNモデルCによって、画像データPの経時変化を、1枚の合成画像データQの特徴量として認識することができるため、画像データPの変化パターンを適切に認識できる。例えばフリッカが生じている場合、合成画像データQは、輝度が低い画像データと輝度が高い画像データとが並んだ、輝度の明暗パターンが含まれる画像となる。従って、画像認識装置12は、CNNモデルCによって、合成画像データQの輝度の明暗パターンの特徴量を抽出して、その特徴量に基づきラベル分類することで、画像データPの変化パターン、すなわちフリッカが生じているかを、認識することが可能となる。
【0035】
次に、画像認識装置12による画像認識処理のフローを、フローチャートに基づき説明する。
図8は、画像認識装置による画像認識処理のフローを説明するフローチャートである。
図8に示すように、画像認識装置12は、画像取得部30により、撮像装置10が撮像した画像データPを取得し(ステップS10)、取得した画像データPを縮小処理する(ステップS12)。画像認識装置12は、合成画像生成部32により、画像取得部30が縮小した画像データPを取得し、合成画像データQに追加する(ステップS14)。すなわち、合成画像生成部32は、合成画像データQ内に画像データPを並べる。そして、合成画像データQ内に画像データPが所定数蓄積されていない場合(ステップS16;No)、ステップS10に戻り、次のタイミングで撮像された画像データPを取得して、その後の処理を続ける。合成画像データQ内に画像データPが所定数蓄積されている場合(ステップS16;Yes)、画像認識装置12は、パターン情報生成部34により、合成画像データQをCNNモデルCに入力して、パターン情報を生成する(ステップS18)。具体的には、パターン情報生成部34は、学習済みのCNNモデルCを読み出して、読み出したCNNモデルCに、合成画像データQに基づく入力データIを入力して、CNNモデルCを用いて演算を実行する。そして、CNNモデルCの演算結果である出力データO(例えば合成画像データQがラベルに分類される確率の情報)から、パターン情報を生成する。そして、パターン情報が、フリッカが無いことを示す場合(ステップS20;Yes)、画像認識装置12は、パターン情報、すなわちフリッカが無い旨の情報を、出力部16に出力する(ステップS22)。一方、パターン情報が、フリッカがあることを示す場合(ステップS20;No)、画像認識装置12は、フリッカがあるとされた合成画像データQに含まれる画像データPを画像処理して、例えば輝度が低くなっている画像の輝度を引き上げる。そして、画像認識装置12は、フリッカがあった旨のパターン情報と、画像処理した画像とを、出力部16に出力する。これにより、本処理は終了する。
【0036】
以上説明したように、本実施形態に係る画像認識装置12は、画像取得部30と、合成画像生成部32と、パターン情報生成部34とを備える。画像取得部30は、時間経過に従って撮像された複数の画像データPを取得する。合成画像生成部32は、複数の画像データPを並べた合成画像データQを生成する。パターン情報生成部34は、学習済みの畳み込みニューラルネットワークモデルであるCNNモデルCを取得し、取得したCNNモデルCに合成画像データQに基づく入力データIを入力して、画像データPの時間経過に従った変化パターンの情報であるパターン情報を生成する。本実施形態に係る画像認識装置12は、時間経過毎の画像データPを1枚の合成画像データQ上に並べて、合成画像データQに基づく入力データIを用いて、CNNモデルCによる演算を実行する。従って、本実施形態によると、CNNモデルCによって、画像データPの経時変化を1枚の合成画像データQの特徴量として認識することができるため、演算処理の負荷を抑えつつ、画像データPの時間経過に従った変化パターンを適切に認識できる。
【0037】
また、合成画像生成部32は、複数の画像データPをマトリクス状に並べて、合成画像データQを生成する。この画像認識装置12によると、合成画像データQを画像データPがマトリクス状に並んだデータとするため、画像データPが並んだ合成画像データQのパターンを好適に認識することが可能となり、画像データPの時間経過に従った変化パターンを適切に認識できる。
【0038】
また、合成画像生成部32は、画像取得部30が画像データPを取得する毎に、取得した画像データPを合成画像データQに並べることで、合成画像データQを更新する。パターン情報生成部34は、合成画像データQが更新される毎に、パターン情報を生成する。この画像認識装置12によると、画像データPの変化パターンを、連続的に認識することが可能となる。
【0039】
また、本実施形態に係る画像認識システム1は、画像認識装置12を含む。画像認識システム1は、学習済みのCNNモデルCを生成する学習部36を有してもよい。学習部36は、時間経過に従った変化パターンが既知の学習用画像データPaを並べた学習用合成画像データQaを取得する。学習部36は、学習用合成画像データQaにラベルを付与することで、CNNモデルCに学習させて、学習済みのCNNモデルCを生成する。この画像認識システム1によると、このようにして学習済みのCNNモデルCを生成するため、CNNモデルCを用いて、画像データPの時間経過に従った変化パターンを適切に認識できる。
【0040】
パターン情報生成部34は、パターン情報として、画像データPの画像がフリッカを起こしているかを示す情報を生成する。この画像認識装置12によると、時間経過毎の画像データPを1枚の合成画像データQ上に並べてCNNモデルCによる演算を実行するため、フリッカが起きているかを適切に検出することができる。
【0041】
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態に係る画像認識装置12は、CNNモデルCに学習させる際に複数種類のラベルを設定する点で、第1実施形態と異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
【0042】
図9は、撮像条件と輝度変化との関係の例を示すグラフである。
図10は、撮像条件毎の合成画像データの一例を示す模式図である。撮像装置10は、例えば光源により照光された環境下で撮像を行う場合がある。この光源は電源の周波数に応じて照光するため、被写体の明るさは、
図9の上のグラフに示すように、時間経過に伴い電源の周波数に合わせて変化する。そのため、撮像装置10による撮像画像(画像データP)は、被写体が明るいタイミングで撮像されたものと、暗いタイミングで撮像されたものとが含まれる場合がある。例えば
図9においては、時刻t1、t2、t3において、それぞれ時間Δsだけ撮像されている。この場合、時刻t1での被写体の明るさが、時刻t2、t3での被写体の明るさより低くなるため、時刻t1の画像データPの輝度は、時刻t2、t3の画像データPの輝度より低くなる。例えばこのような場合には、時間経過に応じて画像の明暗が生じることになるため、フリッカが発生する。
【0043】
さらに言えば、例えば被写体が明るいタイミングで撮像された画像データPの輝度は高くなる傾向があるため、画像データPの輝度は、被写体の明るさ変化の周波数と、撮像装置10による撮像タイミングとの関係に依存する。撮像タイミングは、撮像装置10による撮像条件、ここではフレームレートとシャッタスピードにより設定される。従って、撮像条件が異なれば画像の明暗の変化の仕方が異なることとなり、フリッカが起きている画像データ同士でも、時間経過に応じた明暗の変化の仕方が異なる場合がある。このように明暗の変化の仕方が異なる場合、画像データPを並べた合成画像データQ同士は、1枚の画像における明暗パターンが互いに異なる画像となる場合がある。
図10は、合成画像データQ同士の明暗パターンの違いを説明するための例である。
図10の例では、合成画像データQ1、Q2、Q3、Q4のそれぞれは、撮像条件が異なる画像データを並べたものとなっている。合成画像データQ1、Q2、Q3は、フリッカが起きているが明暗パターンが互いに異なる。また、合成画像データQ4は、明暗パターンが視認されずフリッカが起きていないものとなっている。
【0044】
このように、合成画像データQは、撮像条件が異なることにより、明暗パターンが異なる場合がある。このような場合にCNNモデルCで画像認識を行うと、明暗パターンが異なる合成画像データQ同士の特徴量の一致率が低くなり、フリッカの認識精度が低下するおそれが生じる。それに対し、第2実施形態においては、学習時に、撮像条件毎にラベルを設定することで、明暗パターンが異なる合成画像データQを区別して認識して、フリッカを高精度に認識することを可能としている。以下、具体的に説明する。
【0045】
図11は、第2実施形態に係る教師データの一例を示す図である。第2実施形態においては、学習部36は、フリッカが起きている学習用合成画像データQaと、その学習用合成画像データQaに含まれる学習用画像データPaの撮像条件とを、教師データとして取得する。さらに言えば、学習部36は、フリッカが起きているが撮像条件が異なる複数の学習用合成画像データQaを取得する。そして、学習部36は、撮像条件毎にラベルを付与する。具体的には、学習部36は、撮像条件が共通する学習用合成画像データQaに同じラベルを付与し、撮像条件が異なる学習用合成画像データQaには、異なるラベルを付与する。
図11の例では、学習部36は、撮像条件がM1であってフリッカが起きている複数の学習用合成画像データQa1と、撮像条件がM2であってフリッカが起きている複数の学習用合成画像データQa2と、撮像条件がM3であってフリッカが起きている複数の学習用合成画像データQa3と、を取得する。そして、学習部36は、学習用合成画像データQa1にラベルL1を付与し、学習用合成画像データQa2にラベルL2を付与し、学習用合成画像データQa3にラベルL3を付与する。すなわち、ラベルL1は、フリッカありであって撮像条件M1となるラベルであり、ラベルL2は、フリッカありであって撮像条件M2となるラベルであり、ラベルL3は、フリッカありであって撮像条件M3となるラベルである。ただし、ラベルの数は3つに限られず任意である。また、
図11の例では、学習部36は、フリッカが起きている学習用合成画像データQaのみを取得しているが、フリッカが起きていない学習用合成画像データQaを取得してもよい。この場合、学習部36は、フリッカが起きていない学習用合成画像データQaに、フリッカが起きている学習用合成画像データQaとは異なるラベルを付与してもよい。
【0046】
なお、本実施形態における撮像条件は、フレームレートとシャッタスピードである。すなわち、学習部36は、フレームレートとシャッタスピードとが共通する学習用合成画像データQaに同じラベルを付与し、フレームレートとシャッタスピードとの少なくとも1つが異なる学習用合成画像データQaに異なるラベルを付与する。ただし、撮像条件は、フレームレートとシャッタスピードに限られず、例えば画像の背景パターンによる違いなどが挙げられる。例えば、画像の背景の色や形状等に基づく複数の背景パターンを定義し、これらの背景パターン毎に異なるラベルを付与し、同一のグループとしてもよい。例えば、田舎の風景画像で背景に山が含まれているグループ、海水浴場の風景画像で背景に海が含まれているグループなど、所定の背景パターン毎にあらかじめ同じグループに分類してもよい。
【0047】
そして、学習部36は、学習用合成画像データQa1、Qa2、Qa3に基づくデータを、入力データIとしてCNNモデルCに入力して、その学習用合成画像データQa1、Qa2、Qa3のそれぞれにラベルL1、L2、L3が割り当てられる旨を、CNNモデルCに入力する。これにより、学習部36は、バックプロパケーション(誤差逆伝搬法)により、CNNモデルCの重み係数及びバイアス値を算出する。すなわち、学習部36は、学習用合成画像データQa1、Qa2、Qa3に基づく入力データIをCNNモデルCに入力した場合に、学習用合成画像データQa1、Qa2、Qa3のラベルが、それぞれラベルL1、L2、L3であるという演算結果を出力するように、重み係数及びバイアス値を算出する。
【0048】
図12は、第2実施形態に係るパターン情報の算出結果の例を示す図である。パターン情報生成部34は、学習部36が生成した学習済みのCNNモデルCを読み出し、合成画像データQに基づく入力データIを、CNNモデルCに入力する。パターン情報生成部34は、CNNモデルCにより、合成画像データQがそれぞれのラベルに割り当てられる確率を、出力データOとして算出する。
図12の例では、パターン情報生成部34は、合成画像データQがラベルL1に割り当てられる確率が5%であり、合成画像データQがラベルL2に割り当てられる確率が9%であり、合成画像データQがラベルL3に割り当てられる確率が85%である旨の情報を、出力データOとして算出している。
図12の例では、パターン情報生成部34は、合成画像データQがフリッカありのラベルL3に割り当てられる確率が所定値以上となるため、フリッカが起きていると判断して、合成画像データQにフリッカが起きている画像データPが含まれている旨の情報を、パターン情報として導出する。本実施形態においては、パターン情報生成部34は、合成画像データQにフリッカが起きているか否かの情報を、パターン情報として出力するが、合成画像データQにどのラベルが付与されたかの情報、言い換えれば、どの撮像条件で撮像されたかの情報も、パターン情報として出力してもよい。
【0049】
このように、第2実施形態に係る画像認識装置12は、学習時に撮像条件毎にラベルを付与して、学習済みのCNNモデルCを生成する。上述のように、合成画像データQの明暗パターンは撮像条件に依存するため、撮像条件毎にラベルを付与することで、合成画像データQを明暗パターン毎に分類することが可能となり、フリッカの検出精度を向上させることができる。
【0050】
以上説明したように、第2実施形態に係る画像認識装置12は、学習部36が、ラベルを複数設定する。ラベルを複数設定することで、例えば合成画像データQの明暗パターンが多様である場合にも、合成画像データQに含まれる画像データPの時間経過に従った変化パターンを適切に認識できる。
【0051】
また、第2実施形態に係る学習部36は、学習用画像データPaの撮像条件毎にラベルを設定する。撮像条件毎にラベルを設定することで、合成画像データQを明暗パターン毎に分類することが可能となり、画像データPの時間経過に従った変化パターンを適切に認識できる。
【0052】
また、第2実施形態に係る学習部36は、学習用画像データPaを撮像したシャッタスピードとフレームレートとの組み合わせ毎に、ラベルを設定する。シャッタスピードとフレームレートとの組み合わせ毎にラベルを設定することで、撮像タイミング毎にラベルを設定することが可能となり、合成画像データQを明暗パターン毎に適切に分類して、画像データPの時間経過に従った変化パターンを適切に認識することができる。
【0053】
以上、本発明の実施形態を説明したが、これら実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能であり、各実施形態の構成を組み合わせることも可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0054】
1 画像認識システム
10 撮像装置
12 画像認識装置
20 制御部
30 画像取得部
32 合成画像生成部
34 パターン情報生成部
36 学習部
C CNNモデル
I 入力データ
O 出力データ
P 画像データ
Pa 学習用画像データ
Q 合成画像データ
Qa 学習用合成画像データ