(57)【要約】【課題】映像中の人の流れを精度よく解析することを目的とする。【解決手段】所定のフレーム間隔を設定する。所定のフレーム間隔で画像を取得する。所定のフレーム間隔の複数の画像に対して対象物の流量を学習したニューラルネットワークを用いて、取得された複数の画像から前記対象物の流量を推定する推定する。【選択図】図３
2020184155.tif 000002
【特許請求の範囲】
【請求項１】
所定のフレーム間隔を設定する設定手段と、
前記所定のフレーム間隔で画像を取得する取得手段と、
前記所定のフレーム間隔の複数の画像に対して対象物の流量を学習したニューラルネットワークを用いて、前記取得手段により取得された複数の画像から前記対象物の流量を推定する推定手段と、
を有する画像処理装置。
【請求項２】
前記取得手段による前記画像の取得状況に基づき前記対象物の流量を推定するか否かを判定する判定手段を更に有し、
前記推定手段は、前記判定手段により前記対象物の流量を推定すると判定された場合に、前記対象物の流量を推定する請求項１に記載の画像処理装置。
【請求項３】
前記対象物の数から前記対象物の数を推定していない時刻のフレームにおける対象物の数を補間する補間手段を更に有する請求項１に記載の画像処理装置。
【請求項４】
前記取得手段による前記画像の取得状況に基づき前記対象物の流量を推定するか否かを判定する判定手段を更に有し、
前記判定手段により前記対象物の流量を推定しないと判定された場合、前記補間手段は、前記対象物の数を補間する請求項３に記載の画像処理装置。
【請求項５】
前記取得手段は、カメラから前記画像を取得する請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記取得手段は、前記カメラの撮像のフレーム間隔を、前記畳み込みニューラルネットワークの学習時のフレーム間隔と略一致するよう設定する請求項５に記載の画像処理装置。
【請求項７】
前記ニューラルネットワークは、畳み込みニューラルネットワークである請求項１に記載の画像処理装置。
【請求項８】
所定のフレーム間隔を設定する設定工程と、
前記所定のフレーム間隔で画像を取得する取得工程と、
前記所定のフレーム間隔の複数の画像に対して対象物の流量を学習したニューラルネットワークを用いて、前記取得手段により取得された複数の画像から前記対象物の流量を推定する推定工程と、
を含む画像処理方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、カメラで所定のエリアを撮影して、撮影した映像を解析することによって映像中の人物の数を計測、人の流れを解析するシステムが提案されている。このようなシステムでは、公共の空間での混雑の検知及び混雑時の人の流れを把握することでイベント時の混雑解消、又は災害時の避難誘導への活用が期待されている。
映像中の人物の数を計測する方法としては、機械学習によって得たニューラルネットワークを用いて画像から人数を推定する方法（非特許文献１）がある。また、複数カメラの監視映像から得た人数推定結果を利用して広域での混雑度を推定する方法も（特許文献１）で提案されている。一方、映像中の人の流れを解析する方法としては、オプティカルフローの属性を集計して群衆の非定常状態を判定する方法（特許文献２）がある。また、本出願人は連続する異なる時刻に撮像された２フレームの画像を入力して人物の密度分布及び移動ベクトルの分布を推定するニューラルネットワークを用いた人流解析システム（特許文献３）を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１０３１０４号公報
【特許文献２】特開２０１２−２２３７０号公報
【特許文献３】特開２０１８−１１６６９２号公報
【非特許文献】
【０００４】
【非特許文献１】Wang. Deep People Counting in Extremely Dense Crowds. Proceedings of the 23rd ACM international conference on Multimedia, 2015
【非特許文献２】Walach E., Wolf L. (2016) Learning to Count with CNN Boosting. In: Leibe B., Matas J., Sebe N., Welling M. (eds) Computer Vision - ECCV 2016. Lecture Notes in Computer Science, vol 9906. Springer, Cham
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１及び特許文献１は、映像中の人数を計測するものであり、人の流れを把握することができない。特許文献２は人の流れを把握することはできるものの、人数を同時に把握することができない。
一方、特許文献３は人の流れと共に人数を同時に把握することができるものの、以下に示す課題がある。人流解析システムに用いるニューラルネットワークは事前に機械学習により得たものである。学習時には推定処理と同様にして連続する異なる時刻に撮像された２フレームの画像を入力し、所望の推定結果が得られるように学習が行われる。このとき、学習時に入力した画像と推定時に入力する画像とのフレーム間隔が異なる場合には精度劣化の恐れがある。例えば、フレーム間隔が３３ｍｓの入力画像で学習したニューラルネットワークを用いてフレーム間隔が６６ｍｓの入力画像で推定すると画面内の人物の相対的な移動量がおおよそ２倍異なるため、適切な推定処理が行えない。ニューラルネットワークが相対的に人物の移動量の小さい画像に最適化されているためである。また、カメラで撮影した画像を、ネットワークを介して取得する場合はネットワークの帯域制限でコマ落ちが発生する場合がある。このような状況においては学習時に入力した画像と推定時に入力する画像とのフレーム間隔がずれてしまう。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、所定のフレーム間隔を設定する設定手段と、前記所定のフレーム間隔で画像を取得する取得手段と、前記所定のフレーム間隔の複数の画像に対して対象物の流量を学習したニューラルネットワークを用いて、前記取得手段により取得された複数の画像から前記対象物の流量を推定する推定手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、映像中の人の流れを精度よく解析することができる。
【図面の簡単な説明】
【０００８】
【図１】画像解析装置のハードウェア構成の一例を示す図である。
【図２】画像解析装置の機能構成を示す図である。
【図３】情報処理の一例を示すフローチャートである。
【図４】画像の一例を示す図である。
【図５】検知線の一例を示す図である。
【図６】処理制御部内のメモリのテーブルの一例を示す図である。
【図７】流量推定部のニューラルネットワークの構成の一例を示す図である。
【図８】通過人数推定部の処理を説明する図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
図１は、画像解析装置１０のハードウェア構成の一例を示す図である。画像解析装置１０は、演算処理装置１、記憶装置２、入力装置３、及び出力装置４を含む。各装置は、互いに通信可能に構成され、バス等により接続されている。画像解析装置１０は、画像処理装置の一例である。
演算処理装置１は、画像解析装置１０の動作をコントロールし、記憶装置２に格納されたプログラムの実行等を行い、ＣＰＵ（Central Processing Unit）及びＧＰＵ（Graphics Processing Unit）で構成される。記憶装置２は、磁気記憶装置、半導体メモリ等のストレージデバイスであり、演算処理装置１の動作に基づき読み込まれたプログラム、長時間記憶しなくてはならないデータ等を記憶する。本実施形態では、演算処理装置１が、記憶装置２に格納されたプログラムの手順に従って処理を行うことによって、画像解析装置１０における機能及び後述するフローチャートに係る処理が実現される。記憶装置２は、画像解析装置１０が処理対象とする画像及び検出結果を記憶する。
入力装置３は、マウス、キーボード、タッチパネルデバイス、ボタン等であり、各種の指示を入力する。入力装置３は、また、カメラ等の撮像装置を含む。出力装置４は、液晶パネル、外部モニタ等であり、各種の情報を出力する。
画像解析装置１０のハードウェア構成は、上述した構成に限られるものではない。例えば、画像解析装置１０は、各種の装置間で通信を行うためのＩ／Ｏ装置を備えてもよい。例えば、Ｉ／Ｏ装置は、メモリーカード、ＵＳＢケーブル等の入出力部、有線、無線等による送受信部である。
【００１１】
図２は、画像解析装置１０の機能構成の一例を示す図である。画像解析装置１０は、機能構成として、画像取得部１００、検知線設定部２００、流量推定部３００、通過人数推定部４００、通過人数補間部５００、表示部６００、及び、処理制御部７００を含む。
画像取得部１００は、カメラで撮像した画像データを取得する。画像データは時系列画像データである。
検知線設定部２００は、カメラで撮像した画像中に検知線を設定する。
流量推定部３００は、画像取得部１００で取得した複数の画像データから画像中の人物
の流量の分布を推定する。ここで、流量とは対象とする物体の移動量、及び、その方向と数とを表す。
通過人数推定部４００は、流量推定部３００で得た流量の分布から検知線設定部２００で設定した検知線を通過する人数を推定する。
通過人数補間部５００は、通過人数推定部４００で推定した通過人数から通過人数推定未処理の時刻のフレームにおける通過人数を補間する。
表示部６００は、通過人数推定部４００、及び、通過人数補間部５００で求めた解析結果を表示する。
処理制御部７００は、画像取得部１００の画像取得状況に応じて流量推定部３００、通過人数推定部４００、及び、通過人数補間部５００の処理を制御する。
【００１２】
以下、画像解析装置１０の動作を図３に示す処理の流れに従って説明する。以下の説明では監視カメラで図４のようなシーンを撮像した画像に対して映像中の群衆の解析処理を行う例について述べる。
Ｓ１００において、画像取得部１００は、カメラで撮像する画像データのフレーム間隔を流量推定部３００のニューラルネットワーク学習時に設定したフレーム間隔に設定する。以下、ニューラルネットワークを３３ｍｓのフレーム間隔で取得した連続する２フレームで学習を行った場合について説明する。この場合はカメラの撮像条件を３３ｍｓのフレーム間隔で取得するように設定する。
Ｓ２００において、検知線設定部２００は、カメラで撮像した画像中に検知線を設定する。例えば、図４に示した画像が出力装置４に表示され、ユーザが入力装置３のマウスを介して検知線を指定する。検知線の例を図５のＬに示す。本実施形態の画像解析装置１０は、この検知線を通過した人数を計測する。
撮像条件と検知線の設定が完了したら、画像解析処理を開始する。Ｓ３００において、画像取得部１００は、監視カメラで撮像した画像データを取得する。取得する画像データはＲＧＢ各８ビットの画素からなる二次元データであり、時系列に順次取得する。そして、図３に示すＳ３００〜Ｓ７００の処理が取得したフレーム毎に繰り返し行われる。
【００１３】
Ｓ３５０において、処理制御部７００は、画像取得部１００の画像取得状況を取得して２フレーム連続して画像取得に成功したか否かを判定する。ここで取得する画像取得状況とは画像取得部１００が前の時刻のフレームに続いてコマ落ちなく画像データを取得できたか否かの情報である。連続して画像データを取得できた場合は前の画像とのフレーム間隔は３３ｍｓであるが、取得できなかった場合は６６ｍｓ、又は、連続して取得に失敗した場合はそれ以上のフレーム間隔になる。処理制御部７００は、画像取得状況として、処理制御部７００内のメモリの図６に示すようなテーブルに撮影時刻と取得可否（テーブル中の○、×）とを関連付けて記録する。図６のテーブルにおいて撮影時刻ｔ0，ｔ0+1，ｔ0+2，…，のフレーム間隔は３３ｍｓである。
処理制御部７００は、画像取得部１００が連続して画像取得に成功した場合はＳ４００に、失敗した場合はＳ４５０に処理を移す。
【００１４】
Ｓ４００において、流量推定部３００は、画像取得部１００で取得した複数の画像データから画像中の人物の流量の分布を推定する。本実施形態では連続した２フレームの画像データ、及び、検知線設定部２００で設定した検知線の画像中の向きを入力として、流量推定部３００は、検知線の向きに対して垂直な方向における人物の通過流量を推定する。
流量推定部３００は、通過流量を推定する方法としては（非特許文献２）にあるような深層ニューラルネットワークを用いる。この文献では事前に機械学習によって得たニューラルネットワークを用いて、画像から人物の密度分布を求める。本実施形態ではこの方法を応用し、連続する２フレームの画像と検知線の向きとを入力して画像中の人物の通過流量を推定するニューラルネットワークを事前に学習し、推定に用いる。
【００１５】
図７にニューラルネットワークの構成を示す。入力層３１０は時刻ｔ及びｔ＋１の画像のＲＧＢの各２次元配列データと検知線の向きを表す単位ベクトルの水平及び垂直方向成分とを２次元配列に拡張したデータを連結して８チャネルの入力データを構成する。畳み込み層３２０は、入力層３１０から入力データを受け取り、２次元畳み込み演算、非線形変換、及び、プーリング処理を所定回数繰り返す。２次元畳み込み演算は事前学習で得たフィルタ群を用いて行われ、所定チャネル数の特徴マップを得る。非線形変換は例えばＲｅＬＵ（Rectified Linear Unit）等を用いる。プーリング処理は２次元畳み込み演算で得た特徴マップの隣接する２×２のデータの最大値又は平均値を求めて特徴マップのサイズを縦横２分の１に縮小する。逆畳み込み層３３０は、畳み込み層３２０で得た特徴マップを受け取り、２次元逆畳み込み演算、及び、非線形変換を所定回数繰り返す。２次元逆畳み込み演算は事前学習で得たフィルタ群を用いて行われ、所定チャネル数の特徴マップを得る。このとき得られる特徴マップのサイズはもとの特徴マップの２倍になる。このニューラルネットワークは検知線の各方向に対して予め通過流量が分かっている連続する２フレームの画像を訓練データとして学習したものである。ここで、学習に用いる画像のフレーム間隔は３３ｍｓである。
【００１６】
図７のニューラルネットワークの出力である通過流量の分布は濃淡の濃い部分（出力値としてはマイナスの値）が検知線に対して画像の奥から手前に通過する流量を表す。逆に、濃淡の薄い部分（出力値としてはプラスの値）が検知線に対して画像の手前から奥に通過する流量を表す。
本実施形態では画像取得部１００で取得した画像データをニューラルネットワークに直接入力するようにした。しかし、画像解析装置１０は、画像データのサイズを縮小、又は、画像データの画素値を[−１，１]の範囲に正規化して入力するようにしてもよい。又は、画像解析装置１０は、画像取得部１００で取得した画像データを小領域に分割してニューラルネットワークに入力して流量分布を推定し、得られた流量の分布を統合するようにしてもよい。
【００１７】
Ｓ３５０にて画像取得部１００が連続する画像の取得に失敗した場合、Ｓ４５０において、処理制御部７００は、通過人数をニューラルネットワークによる流量推定でなく、補間によって求めるように設定する。例えば、図６のテーブルにおいて時刻ｔ0+2の画像取得に失敗したため、処理制御部７００は、図６のテーブルの推定方法の情報には「補間」として記録し、後段の処理で補間を行うフレームとして設定する。
【００１８】
Ｓ５００において、通過人数推定部４００は、流量推定部３００で得た流量の分布から検知線設定部２００で設定した検知線を通過する人数を推定する。通過人数推定部４００の処理を、図８を用いて説明する。通過人数推定部４００は、検知線Ｌを囲む検知線に平行な検知線方向に長い矩形Ｒを設定する。そして、通過人数推定部４００は、流量推定部３００で得た流量の分布から設定した矩形内の値をマイナスの値、及び、プラスの値毎に絶対値の総和を取る。そして、通過人数推定部４００は、矩形Ｒの幅に応じた適切な正規化処理を行った後、夫々、検知線に対して画像の奥から手前に通過する人数、検知線に対して画像の手前から奥に通過する人数とする。
通過人数が得られたら、通過人数推定部４００は、結果を処理制御部７００に出力する。処理制御部７００は、図６に示すテーブルに推定人数を撮影時刻と関連付けて記録する。図６のテーブルの人数（順）、人数（逆）は夫々、検知線に対して画像の奥から手前に通過する人数、検知線に対して画像の手前から奥に通過する人数を表す。また、処理制御部７００は、図６のテーブルの推定方法を撮影時刻と関連付けて記録しておく。図６ではニューラルネットワークによって通過人数を推定した値であるから、処理制御部７００は、「CNN」と記録する。
【００１９】
Ｓ５５０において、処理制御部７００は、通過人数の取得状況を図６のテーブルの推定
方法、及び、人数に記録された情報から取得して補間フレームのうち未補間のものがあるか否かを判定する。推定方法には、「CNN」又は「補間」の情報が記録される。図６のテーブルにおいて推定方法が「補間」の場合には、処理制御部７００は、人数の値が空欄、すなわち、未補間のフレームがあるかを探索する。例えば、図６において時刻ｔ0+7のフレームの人数推定処理後、時刻ｔ0+5、及び、ｔ0+6のフレームが未補間フレームとして判定される。
Ｓ６００において、通過人数補間部５００は、通過人数推定部４００で推定した通過人数から通過人数推定未処理の時刻のフレームにおける通過人数を補間する。通過人数補間部５００は、通過人数の補間を、補間対象のフレームを挟む隣接したニューラルネットワークで通過人数を推定したフレームの結果を用いて線形補間によって行う。例えば、通過人数補間部５００は、図６の時刻ｔ0+5、及び、ｔ0+6のフレームの人数を時刻ｔ0+4とｔ0+7の人数推定結果から補間によって求める。
【００２０】
Ｓ７００において、表示部６００は、通過人数推定部４００、及び、通過人数補間部５００で求めた解析結果を表示する。ここで表示する結果は、フレーム毎の検知線に対して画像の奥から手前に通過する人数、及び、検知線に対して画像の手前から奥に通過する人数である。表示部６００は、画像解析処理を開始した時刻からの累積人数を算出し、算出した累積人数についても表示を行う。
画像解析装置１０は、図３に示すようにＳ３００〜Ｓ７００の処理を画像取得部１００で取得した画像毎に繰り返す。
【００２１】
以上説明したように、画像解析装置１０は、畳み込みニューラルネットワークを用いて人物の流量を推定する際に入力画像のフレーム間隔を学習時のフレーム間隔と一致するようにした。このような構成を取ることにより、映像中の人の流れを精度よく解析することができる。入力画像のフレーム間隔と学習時のフレーム間隔とは推定精度の許す限り多少のずれはあってもよい。
また、画像解析装置１０は、人物の流量を推定する畳み込みニューラルネットワークの入力を連続する２フレームの画像としたが、３フレーム以上の所定枚数の連続する画像を入力するようにしてもよい。流量推定部３００に用いたニューラルネットワークの構成は一例であり、他の構成のニューラルネットワークを用いてもよい。
以上、カメラで撮影した映像から映像中の人の流れを解析する場合について説明したが、人物以外の物体を対象とした場合にも上述した技術は適用可能である。
【００２２】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２３】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００２４】
以上、上述した各実施形態によれば、畳み込みニューラルネットワークを用いて対象物の流量を推定する際に入力画像のフレーム間隔を学習時のフレーム間隔と略一致するようにしたので、映像中の人の流れを精度よく解析することができる。
【符号の説明】
【００２５】
１      演算処理装置
２      記憶装置
１００  画像解析装置
【図１】
2020184155.tif 000003
【図２】
2020184155.tif 000004
【図３】
2020184155.tif 000005
【図４】
2020184155.tif 000006
【図５】
2020184155.tif 000007
【図６】
2020184155.tif 000008
【図７】
2020184155.tif 000009
【図８】
2020184155.tif 000010