JP2023133962A - 画像処理装置、画像処理方法及びプログラム - Google Patents
画像処理装置、画像処理方法及びプログラム Download PDFInfo
- Publication number
- JP2023133962A JP2023133962A JP2022039245A JP2022039245A JP2023133962A JP 2023133962 A JP2023133962 A JP 2023133962A JP 2022039245 A JP2022039245 A JP 2022039245A JP 2022039245 A JP2022039245 A JP 2022039245A JP 2023133962 A JP2023133962 A JP 2023133962A
- Authority
- JP
- Japan
- Prior art keywords
- image
- image processing
- detection area
- imaging
- predetermined
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 67
- 238000003672 processing method Methods 0.000 title claims 2
- 238000001514 detection method Methods 0.000 claims abstract description 81
- 238000003384 imaging method Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 21
- 230000001133 acceleration Effects 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 description 62
- 238000004891 communication Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000010191 image analysis Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Abstract
【課題】画像内の所定物体の数を推定する場合に、推定の精度を向上させつつ装置に係る負荷を軽減させる。【解決手段】画像と前記画像の撮像条件を取得する取得手段と、前記画像上の検出領域内の所定物体の位置及びサイズを検出する検出手段と、前記撮像条件に基づいて、前記検出領域の範囲を決定する決定手段と、前記検出手段による検出結果に基づいて、前記画像上に複数の矩形領域を設定する設定手段と、前記画像に対し前記矩形領域毎に前記所定物体の数を推定する処理を行う推定手段と、を有する。【選択図】図5
Description
本発明は、画像解析の技術に関する。
近年、ネットワークカメラ等の撮像機器で撮像した画像を解析することで、画像内の人物の数を計測する技術が注目されている。この技術は、イベント会場の混雑度の把握やマーケティング戦略に活用されることが期待されている。この技術に用いられる方法として、背景差分やパターンマッチングによる人体の検出手段で検出した人物の数をカウントする方法や、機械学習によって人物の数を回帰的に推定する方法がある。特許文献1には、人体の検出手段によって人物の数をカウントする方法と、機械学習によって得た回帰器を用いて人物の数を推定する方法とを組み合わせて、画像内の人数を計測することが記載されている。
機械学習によって人数推定を行う方法では、画像を人数推定を行う単位である小領域に分割し、当該小領域毎に人数推定を行う。このとき小領域のサイズに対する人体のサイズの比率をほぼ同一にすることで、人数推定の精度が向上する。しかしながら、画像上の位置に応じたサイズの小領域を設定するために、人体の位置やサイズを検出する工程が必要となるため、処理に係る負荷が増加するという課題がある。
そこで本発明は、画像内の所定物体の数を推定する場合に、推定の精度を向上させつつ装置に係る負荷を軽減させることを目的とする。
本発明の画像処理装置は、画像と前記画像の撮像条件を取得する取得手段と、前記画像上の検出領域内の所定物体の位置及びサイズを検出する検出手段と、前記撮像条件に基づいて、前記検出領域の範囲を決定する決定手段と、前記検出手段による検出結果に基づいて、前記画像上に複数の矩形領域を設定する設定手段と、前記画像に対し前記矩形領域毎に前記所定物体の数を推定する処理を行う推定手段と、を有することを特徴とする。
本発明によれば、画像内の所定物体の数を推定する場合に、推定の精度を向上させつつ処理に係る負荷を軽減させることができる。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本実施形態に係る画像処理システム100の全体構成例を示す。本実施形態では、イベント会場やスタジアムのような人が多く集まる場所を撮像した画像を解析して、当該画像内の人物の数を計測する方法を例に説明する。
画像処理システム100は、カメラ装置101、端末装置102、及びサーバ装置103を備えている。これらの各装置は、ネットワーク104を介して相互に接続されている。ネットワーク104は、インターネットでもよく、ローカルネットワークでもよい。カメラ装置101は、パンチルトズームカメラである。カメラ装置101は、画像を定期的に撮像し、撮像した画像をサーバ装置103に送信する。端末装置102は、カメラ機能を有するスマートフォンであり、ユーザの指示により画像を撮像し、撮像した画像をサーバ装置103に送信する。また、端末装置102は、サーバ装置103が管理する解析結果の取得指示を送信して、サーバ装置103から解析結果を受信し、受信した解析結果の表示を行う。サーバ装置103は、カメラ装置101や端末装置102から送信された画像を受信し、画像内の人物の数を推定するための解析を行い、解析結果を管理する。なお、画像処理システム100は、カメラ装置101及び端末装置102のうちの一方を含む構成でもよく、他のカメラ装置や端末装置を含む構成でもよい。本実施形態では、サーバ装置103を画像処理装置とし、カメラ装置101及び端末装置102を撮像装置として説明するが、サーバ装置103を撮像装置と画像処理装置が一体化した装置としてもよい。
図2は、画像処理システム100が備える各装置のハードウェア構成例を示す。
図2(a)は、カメラ装置101のハードウェア構成例を示す。カメラ装置101は、CPU200、RAM201、ROM202、ネットワークI/F203、及び入出力I/F204を備えている。これらの各部は、バス208を介して相互に接続されている。CPU(Central Processing Unit)200は、カメラ装置101の全体を統括的に制御する。RAM(Randam Access Memory)201は、CPU200の主メモリ、及びワークメモリ等の一時記憶領域として用いられる。ROM(Read Only Memory)202は、カメラ装置101に実行されるプログラム、及びデバイスドライバ等を格納している。カメラ装置101のCPU200がROM202に格納されているプログラムを実行することで、図4(a)に示すシーケンス図におけるカメラ装置101の処理が実現する。ネットワークI/F(インタフェース)203は、ネットワーク104に接続されており、ネットワーク104に接続される他の装置との通信に用いられる。
図2(a)は、カメラ装置101のハードウェア構成例を示す。カメラ装置101は、CPU200、RAM201、ROM202、ネットワークI/F203、及び入出力I/F204を備えている。これらの各部は、バス208を介して相互に接続されている。CPU(Central Processing Unit)200は、カメラ装置101の全体を統括的に制御する。RAM(Randam Access Memory)201は、CPU200の主メモリ、及びワークメモリ等の一時記憶領域として用いられる。ROM(Read Only Memory)202は、カメラ装置101に実行されるプログラム、及びデバイスドライバ等を格納している。カメラ装置101のCPU200がROM202に格納されているプログラムを実行することで、図4(a)に示すシーケンス図におけるカメラ装置101の処理が実現する。ネットワークI/F(インタフェース)203は、ネットワーク104に接続されており、ネットワーク104に接続される他の装置との通信に用いられる。
入出力I/F(インタフェース)204は、カメラ部205を接続している。カメラ部205は、撮像光学系、RGBセンサ等の撮像素子、及びその制御系から構成され、被写体の像を撮像して、撮像信号への変換を行う。入出力I/F204は、カメラ部205からの撮像信号をCPU200が処理可能な形式に変換してCPU200に入力する。また、入出力I/F204は、加速度センサ206とジャイロセンサ207を接続している。加速度センサ206は、カメラ部205の3軸方向の加速度を計測するセンサである。ジャイロセンサ207は、カメラ部205の3軸方向の角速度を計測するセンサである。CPU200は、加速度センサ206やジャイロセンサ207から入力された測定結果を用いて、カメラ部205の移動、位置、姿勢及び向きに関する情報を取得する。なお、カメラ部205の移動、位置、姿勢及び向きに関する情報を取得する方法は、加速度センサ206やジャイロセンサ207を用いる方法に限られず、パンチルトズームの設定情報を用いる方法等、他の方法でも構わない。
図2(b)は、端末装置102のハードウェア構成例を示す。端末装置102は、CPU210、RAM211、ROM212、ネットワークI/F213、ストレージI/F214、ディスプレイI/F216、及び入出力I/F218を備えている。これらの各部は、バス222を介して相互に接続されている。入出力I/F218は、カメラ部219、加速度センサ220、及びジャイロセンサ221を接続している。CPU210、RAM211、ROM212、ネットワークI/F213、入出力I/F218、カメラ部219、加速度センサ220、及びジャイロセンサ221は、図2(a)で説明したカメラ装置101の各部と同様である。端末装置102のCPU210がROM212に格納されているプログラムを実行することで、図4に示すシーケンス図における端末装置102の処理が実現する。
ストレージI/F214は、ストレージ215を接続している。CPU210は、ストレージI/F214を介してストレージ215との間でデータの入出力を行う。ストレージ215は、内部で稼働するプログラム等を格納している。CPU210は、電源投入時に必要な情報をストレージ215からRAM211に読み込む。ディスプレイI/F216は、ディスプレイ217を接続している。ディスプレイ217は、タッチパネル付きの液晶画面である。ディスプレイI/F216は、CPU210が生成する画面信号をディスプレイ217が出力可能な信号に変換する。また、ディスプレイI/F216は、ユーザがディスプレイ217を通じて操作した内容をCPU210に出力する。
図2(c)は、サーバ装置103のハードウェア構成例を示す。サーバ装置103は、CPU230、RAM231、ROM232、ネットワークI/F233、及びストレージI/F234を備えている。これらの各部は、バス236を介して相互に接続されている。CPU230は、サーバ装置103の全体を統括的に制御する。RAM231は、CPU230の主メモリ、及びワークメモリ等の一時記憶領域として用いられる。ROM232は、サーバ装置103に実行されるプログラム等を格納している。サーバ装置103のCPU230がROM232に格納されているプログラムを実行することで、図4に示すシーケンス図におけるサーバ装置103の処理、及び図5に示すフローチャートの処理が実現する。ストレージI/F234は、ストレージ235を接続している。CPU230は、ストレージI/F234を介してストレージ235との間でデータの入出力を行う。ストレージ235は、内部で稼働するプログラム、後述する各種の処理に必要な情報、及び解析結果等を格納している。
なお、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
なお、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
図3は、画像処理システム100が備える各装置の機能構成例を示す。
図3(a)は、カメラ装置101の機能構成例を示す。カメラ装置101は、CPU200がROM202等に格納されているプログラムを実行することにより、撮像部300、画像処理部301、及び通信部302として機能する。
撮像部300は、入出力I/F204を介してカメラ部205から撮像信号を受け取り、RGB画像を生成し、画像処理部301に出力する。RGB画像は、画像を構成する各要素(画素)の色をRGBで表したもので、各画素がRGBの画素値を有している。
画像処理部301は、撮像部300から受け取ったRGB画像から、H.265/HEVC符号化方式でエンコードされた画像データを生成する。また、画像処理部301は、撮像時に用いたズーム情報や画角情報等の撮像条件に関する情報をメタデータとして、画像データに付与して、通信部302に出力する。
通信部302は、メタデータが付与された画像データを、通信可能なデータに変換し、ネットワークI/F203を介してサーバ装置103に送信する。
図3(a)は、カメラ装置101の機能構成例を示す。カメラ装置101は、CPU200がROM202等に格納されているプログラムを実行することにより、撮像部300、画像処理部301、及び通信部302として機能する。
撮像部300は、入出力I/F204を介してカメラ部205から撮像信号を受け取り、RGB画像を生成し、画像処理部301に出力する。RGB画像は、画像を構成する各要素(画素)の色をRGBで表したもので、各画素がRGBの画素値を有している。
画像処理部301は、撮像部300から受け取ったRGB画像から、H.265/HEVC符号化方式でエンコードされた画像データを生成する。また、画像処理部301は、撮像時に用いたズーム情報や画角情報等の撮像条件に関する情報をメタデータとして、画像データに付与して、通信部302に出力する。
通信部302は、メタデータが付与された画像データを、通信可能なデータに変換し、ネットワークI/F203を介してサーバ装置103に送信する。
図3(b)は、端末装置102の機能構成例を示す。端末装置102は、CPU210がROM212等に格納されているプログラムを実行することにより、撮像部310、画像処理部311、通信部312、操作部313、及び表示部314として機能する。
撮像部310は、カメラ装置101の撮像部300と同様の機能を有する。本実施形態において、端末装置102は、パノラマモードでの撮影が可能である。パノラマモードでは、画像処理部311が、装置本体を水平方向に回転させながら撮像されたRGB画像を合成して、パノラマ画像を生成する。画像処理部311は、パノラマ画像から、H.265/HEVC符号化方式でエンコードされた画像データを生成する。また、画像処理部311は、パノラマ撮像時の撮像条件に関する情報をメタデータとして、画像データに付与する。具体的には、加速度センサ220やジャイロセンサ221から入力された測定結果に基づき、パノラマ撮像時のカメラ部219の各方向に対する加速度に関する情報や、パノラマ撮像時の方位角に関する情報を取得し、画像データに付与する。ここで方位角は、カメラ部219の水平面上の向きを表す。なお、メタデータとしては、上記に限られず、パノラマ撮像時のカメラ部219の移動、位置、及び姿勢に関する情報を適宜用いることが可能である。また、カメラ装置101の画像処理部301と同様に、撮像時に用いたズーム情報や画角情報等をメタデータとして用いてもよい。そして、画像処理部311は、メタデータが付与された画像データを、通信部312に出力する。
撮像部310は、カメラ装置101の撮像部300と同様の機能を有する。本実施形態において、端末装置102は、パノラマモードでの撮影が可能である。パノラマモードでは、画像処理部311が、装置本体を水平方向に回転させながら撮像されたRGB画像を合成して、パノラマ画像を生成する。画像処理部311は、パノラマ画像から、H.265/HEVC符号化方式でエンコードされた画像データを生成する。また、画像処理部311は、パノラマ撮像時の撮像条件に関する情報をメタデータとして、画像データに付与する。具体的には、加速度センサ220やジャイロセンサ221から入力された測定結果に基づき、パノラマ撮像時のカメラ部219の各方向に対する加速度に関する情報や、パノラマ撮像時の方位角に関する情報を取得し、画像データに付与する。ここで方位角は、カメラ部219の水平面上の向きを表す。なお、メタデータとしては、上記に限られず、パノラマ撮像時のカメラ部219の移動、位置、及び姿勢に関する情報を適宜用いることが可能である。また、カメラ装置101の画像処理部301と同様に、撮像時に用いたズーム情報や画角情報等をメタデータとして用いてもよい。そして、画像処理部311は、メタデータが付与された画像データを、通信部312に出力する。
通信部312は、メタデータが付与された画像データを、通信可能なデータに変換し、ネットワークI/F213を介してサーバ装置103に送信する。また、通信部312は、操作部313から解析結果の取得指示を受け取り、通信可能なデータに変換し、ネットワークI/F213を介してサーバ装置103に送信する。また、通信部312は、サーバ装置103からネットワークI/F213を介して解析結果を受け取り、表示部314に出力する。
操作部313は、ユーザの操作入力をディスプレイI/F216介して受け取り、受け取った操作入力を解釈して得られた各種の指示を各機能部に出力する。具体的には、操作部313は、ディスプレイ217に表示されたUI画面を利用したユーザの操作入力により、パノラマ画像の撮像指示、画像データの送信指示、解析結果の取得指示等を受け付ける。ここでUI画面とは、画像内の人物の数を計測するためのアプリケーションの画面である。
表示部314は、ユーザの操作入力を受け付けるためのUI画面を、ディスプレイI/F216を介し、ディスプレイ217に表示する。また、表示部314は、通信部312から受け取った解析結果を、ディスプレイ217に表示する。
本実施形態では、端末装置102がパノラマモードで撮像したパノラマ画像を解析対象の画像とする。なお、パノラマ画像は、パノラマモードが搭載されたデジタルカメラ等の撮像装置により撮像されてもよい。
表示部314は、ユーザの操作入力を受け付けるためのUI画面を、ディスプレイI/F216を介し、ディスプレイ217に表示する。また、表示部314は、通信部312から受け取った解析結果を、ディスプレイ217に表示する。
本実施形態では、端末装置102がパノラマモードで撮像したパノラマ画像を解析対象の画像とする。なお、パノラマ画像は、パノラマモードが搭載されたデジタルカメラ等の撮像装置により撮像されてもよい。
図3(c)は、サーバ装置103の機能構成例を示す。サーバ装置103は、CPU230がROM232等に格納されているプログラムを実行することにより、通信部320、データ取得部321、頭部検出領域決定部322、及び頭部検出部323として機能する。また、サーバ装置103は、解析パラメタ算出部324、矩形領域分割部325、人数算出部326、及び解析結果管理部327として機能する。
本実施形態において、サーバ装置103は、カメラ装置101や端末装置102から解析対象の画像を取得して、画像を人数推定を行う単位である矩形領域に分割する。そして、画像を矩形領域毎に学習モデルに入力して得られる出力結果に基づき、その矩形領域に映る人物の数を推定する。ここでサーバ装置103は、矩形領域のサイズに対する人体の所定部位のサイズの比率がほぼ同一になるように、画像上の位置に応じたサイズの矩形領域を設定する。これにより、人数推定の精度が向上する。そこでサーバ装置103は、人数推定を行う前に、画像に対し人体の所定部位の位置やサイズを検出する処理を行う。ここで行う人体の所定部位を検出する処理は、画像上の位置に応じた適切なサイズの矩形領域を設定することを目的とするものであるから、必ずしも画像全体に対して行う必要はない。そこでサーバ装置103は、画像に付与されるメタデータに基づき、画像の一部から人体の所定部位を検出するように決定する。これにより、処理に係る負荷を軽減させることが可能になる。なお、検出する所定部位は、人体の全体又はその一部等、予め定められた部位であれば、特に限定されないが、本実施形態では頭部とする。
本実施形態において、サーバ装置103は、カメラ装置101や端末装置102から解析対象の画像を取得して、画像を人数推定を行う単位である矩形領域に分割する。そして、画像を矩形領域毎に学習モデルに入力して得られる出力結果に基づき、その矩形領域に映る人物の数を推定する。ここでサーバ装置103は、矩形領域のサイズに対する人体の所定部位のサイズの比率がほぼ同一になるように、画像上の位置に応じたサイズの矩形領域を設定する。これにより、人数推定の精度が向上する。そこでサーバ装置103は、人数推定を行う前に、画像に対し人体の所定部位の位置やサイズを検出する処理を行う。ここで行う人体の所定部位を検出する処理は、画像上の位置に応じた適切なサイズの矩形領域を設定することを目的とするものであるから、必ずしも画像全体に対して行う必要はない。そこでサーバ装置103は、画像に付与されるメタデータに基づき、画像の一部から人体の所定部位を検出するように決定する。これにより、処理に係る負荷を軽減させることが可能になる。なお、検出する所定部位は、人体の全体又はその一部等、予め定められた部位であれば、特に限定されないが、本実施形態では頭部とする。
以下、サーバ装置103の各機能部について説明する。
通信部320は、ネットワークI/F233を介してカメラ装置101や端末装置102から画像データとメタデータを受信する。また、通信部320は、ネットワークI/F233を介して端末装置102から解析結果の取得指示を受信する。また、通信部320は、ネットワークI/F233を介して取得指示に応じた解析結果を、端末装置102に送信する。
データ取得部321は、通信部320で受信した画像データとメタデータを解析可能なデータ形式に変換する。
頭部検出領域決定部322は、取得したメタデータに基づいて画像から頭部を検出する領域(以下、頭部検出領域と呼ぶ)の範囲を決定する。本実施形態において、頭部検出領域決定部322は、画像内の人物が同一平面上に存在している可能性が高いと判断される場合には、画像の一部を頭部検領域に決定する。一方で、画像内の人物が異なる複数の平面上に存在している可能性が高いと判断される場合には、画像全体を頭部検出領域に決定する。
頭部検出部323は、頭部検出領域決定部322で決定された頭部検出領域に対して頭部検出処理を行い、頭部の位置(x,y)とサイズを検出する。頭部検出処理には、パターンマッチングやディープラーニング等の機械学習の各種の手法が用いられる。
通信部320は、ネットワークI/F233を介してカメラ装置101や端末装置102から画像データとメタデータを受信する。また、通信部320は、ネットワークI/F233を介して端末装置102から解析結果の取得指示を受信する。また、通信部320は、ネットワークI/F233を介して取得指示に応じた解析結果を、端末装置102に送信する。
データ取得部321は、通信部320で受信した画像データとメタデータを解析可能なデータ形式に変換する。
頭部検出領域決定部322は、取得したメタデータに基づいて画像から頭部を検出する領域(以下、頭部検出領域と呼ぶ)の範囲を決定する。本実施形態において、頭部検出領域決定部322は、画像内の人物が同一平面上に存在している可能性が高いと判断される場合には、画像の一部を頭部検領域に決定する。一方で、画像内の人物が異なる複数の平面上に存在している可能性が高いと判断される場合には、画像全体を頭部検出領域に決定する。
頭部検出部323は、頭部検出領域決定部322で決定された頭部検出領域に対して頭部検出処理を行い、頭部の位置(x,y)とサイズを検出する。頭部検出処理には、パターンマッチングやディープラーニング等の機械学習の各種の手法が用いられる。
解析パラメタ算出部324は、頭部検出部323での頭部の位置やサイズの検出結果に基づいて解析パラメタを算出する。解析パラメタは、画像内の頭部が存在すると想定される平面の位置や勾配を表すパラメタである。ここでは、画像内の頭部が存在する平面が認識できればよいため、画像内のすべての人物の頭部を検出する必要はない。そこで本実施形態では、頭部検出領域決定322で決定された頭部検出領域の範囲に基づき、画像の一部から検出された頭部の位置やサイズに基づき解析パラメタを算出する。
矩形領域分割部325は、解析パラメタ算出部324で算出された解析パラメタを用いて、矩形領域のサイズに対する頭部のサイズの比率がほぼ同一になるように、画像上の位置に応じたサイズの矩形領域を設定する。これにより、人数の推定精度が向上する。そして、矩形領域の画像を固定サイズにリサイズすることで、人数算出部326にて学習モデルに適用する際の入力データを取得する。
矩形領域分割部325は、解析パラメタ算出部324で算出された解析パラメタを用いて、矩形領域のサイズに対する頭部のサイズの比率がほぼ同一になるように、画像上の位置に応じたサイズの矩形領域を設定する。これにより、人数の推定精度が向上する。そして、矩形領域の画像を固定サイズにリサイズすることで、人数算出部326にて学習モデルに適用する際の入力データを取得する。
人数算出部326は、矩形領域の画像を学習モデルに順次入力することで各矩形領域内の人数を推定し、すべての矩形領域で推定された人数を合算して、解析結果管理部327に出力する。具体的には、人数算出部326は、学習フェーズでは、人数が既知の大量の画像を学習データとして、サポートベクターマシンや深層学習等既知の機械学習手法に基づいて学習モデルを学習しておく。そして、推定フェーズでは、矩形領域の画像を学習済みの学習モデルに入力して得られる出力結果に基づき、矩形領域内の人数を推定する。本実施形態では、学習モデルを適用して画像内の人数を推定する方法を用いるが、機械学習によって画像内の人数を回帰的に推定する方法であれば、これに限定されない。なお、人数算出部326が算出した人数は、整数とは限らず、整数を除く実数であってもよい。
解析結果管理部327は、人数算出部326から画像内の人数の推定結果を受け取り、解析日時と、解析IDとを、解析結果と関連付けてストレージI/F234を介してストレージ235に格納する。また、解析結果管理部327は、通信部320から解析結果の取得指示を受け取り、ストレージI/F234を介し、ストレージ235から解析結果を取得し、通信部320へ出力する。
解析結果管理部327は、人数算出部326から画像内の人数の推定結果を受け取り、解析日時と、解析IDとを、解析結果と関連付けてストレージI/F234を介してストレージ235に格納する。また、解析結果管理部327は、通信部320から解析結果の取得指示を受け取り、ストレージI/F234を介し、ストレージ235から解析結果を取得し、通信部320へ出力する。
次いで、画像処理システム100で実行される処理の流れについて説明する。
画像処理システム100は、画像解析機能と解析結果取得機能を有する。画像解析機能は、サーバ装置103がカメラ装置101や端末装置102から受信した画像データを解析して、解析結果をサーバ装置103のストレージ235に格納する機能である。解析結果取得機能は、端末装置102に対するユーザからの指示に応じて、サーバ装置103が解析結果を端末装置102のディスプレイ217に表示させる機能である。以下、これら各機能における処理の流れについて説明する。
画像処理システム100は、画像解析機能と解析結果取得機能を有する。画像解析機能は、サーバ装置103がカメラ装置101や端末装置102から受信した画像データを解析して、解析結果をサーバ装置103のストレージ235に格納する機能である。解析結果取得機能は、端末装置102に対するユーザからの指示に応じて、サーバ装置103が解析結果を端末装置102のディスプレイ217に表示させる機能である。以下、これら各機能における処理の流れについて説明する。
図4(a)は、画像処理システム100の画像解析機能における処理を示すシーケンス図である。以下、シーケンス図、及びフローチャートの各工程(ステップ)は、それら符号の先頭にS(ステップ)を付与して説明する。なお、以下では、図4(a)の処理を、端末装置102の処理として説明するが、カメラ装置101の処理としても構わない。
S400において、端末装置102の撮像部310は、カメラ部219を用いて撮像処理を行う。本実施形態では、端末装置102の画像処理部311が、端末装置102を水平方向に回転させることで撮像されたRGB画像を合成することでパノラマ画像を生成する。また、端末装置102の画像処理部311は、加速度センサ220やジャイロセンサ221の測定結果から、パノラマ撮像時の撮像条件を取得する。また、カメラ設定からズーム情報や画角情報を取得する。画像処理部311は、これら取得した情報をメタデータとして、送信可能に変換された画像データに付与する。なお以下では、画像データに付与されたメタデータが、パノラマ撮像時の方位角と、パノラマ撮像時の各方位角でのカメラ部219の垂直方向の加速度であるとして説明する。
S400において、端末装置102の撮像部310は、カメラ部219を用いて撮像処理を行う。本実施形態では、端末装置102の画像処理部311が、端末装置102を水平方向に回転させることで撮像されたRGB画像を合成することでパノラマ画像を生成する。また、端末装置102の画像処理部311は、加速度センサ220やジャイロセンサ221の測定結果から、パノラマ撮像時の撮像条件を取得する。また、カメラ設定からズーム情報や画角情報を取得する。画像処理部311は、これら取得した情報をメタデータとして、送信可能に変換された画像データに付与する。なお以下では、画像データに付与されたメタデータが、パノラマ撮像時の方位角と、パノラマ撮像時の各方位角でのカメラ部219の垂直方向の加速度であるとして説明する。
S401において、端末装置102の通信部312は、S400で撮像した画像とメタデータをサーバ装置103に送信する。図6(a)、(b)は、本工程で送信される画像の例を示す。図6(a)に示すように、画像には人600と人600が立っている平面601が存在する。また、図6(a)、(b)に示す画像には、メタデータとして、パノラマ撮像時の方位角と、各方位角でのカメラ部219の垂直方向の加速度が付与されている。図6(a)は、方位角0°から60°で撮像されたパノラマ画像を示す。図6(b)は、方位角0°から180°で撮像されたパノラマ画像を示す。なお、撮像光学系やRGBセンサの画角があるため、パノラマ画像の撮影範囲はパノラマ撮像時の方位角とは実際には一致しないが、簡単のために一致しているものとして以下の説明をする。
S402において、サーバ装置103は、S401で端末装置102から送信された画像とメタデータを受信して解析処理を行う。
S402において、サーバ装置103は、S401で端末装置102から送信された画像とメタデータを受信して解析処理を行う。
次いで、図5(a)を用いてS402の解析処理について詳細に説明する。
S500において、サーバ装置103の通信部320は、端末装置102から画像データとメタデータを受信する。また、S500において、サーバ装置103のデータ取得部321は、画像データとメタデータを解析可能なデータ形式に変換する。
S501において、サーバ装置103は、頭部検出領域の範囲を決定する。
S500において、サーバ装置103の通信部320は、端末装置102から画像データとメタデータを受信する。また、S500において、サーバ装置103のデータ取得部321は、画像データとメタデータを解析可能なデータ形式に変換する。
S501において、サーバ装置103は、頭部検出領域の範囲を決定する。
次いで、図5(b)を用いてS501の頭部検出領域の範囲を決定する処理について詳細に説明する。
S510において、頭部検出領域決定部322は、S500で取得したメタデータに含まれるパノラマ撮像時の方位角の範囲が閾値未満であるという条件を満たすか否かを判定する。頭部検出領域決定部322が上記の条件を満たすと判定した場合(S510のYES)、処理はS511に移行する。一方で、頭部検出領域決定部322が上記の条件を満たさないと判定した場合(S510のNO)、画像内に勾配の異なる平面が存在している可能性が高いと判断して、処理はS513に移行する。ここで、方位角の範囲の閾値は、画像処理システム100のユーザが事前に設定可能であり、本実施形態では60°とする。なお、方位角の範囲を用いる方法に代えて、ズーム情報や画角情報等のカメラ設定を用いる方法でもよい。
S510において、頭部検出領域決定部322は、S500で取得したメタデータに含まれるパノラマ撮像時の方位角の範囲が閾値未満であるという条件を満たすか否かを判定する。頭部検出領域決定部322が上記の条件を満たすと判定した場合(S510のYES)、処理はS511に移行する。一方で、頭部検出領域決定部322が上記の条件を満たさないと判定した場合(S510のNO)、画像内に勾配の異なる平面が存在している可能性が高いと判断して、処理はS513に移行する。ここで、方位角の範囲の閾値は、画像処理システム100のユーザが事前に設定可能であり、本実施形態では60°とする。なお、方位角の範囲を用いる方法に代えて、ズーム情報や画角情報等のカメラ設定を用いる方法でもよい。
S511において、頭部検出領域決定部322は、S500で取得したメタデータに含まれるパノラマ撮像時のカメラ部219の垂直方向(上下方向)の加速度の絶対値の最大値が閾値未満であるという条件を満たすか否かを判定する。頭部検出領域決定部322が上記の条件を満たすと判定した場合(S511のYES)、処理はS512へ移行する。一方で、頭部検出領域決定部322が所定の条件を満たさないと判定した場合(S511のNO)、画像内にパノラマ撮像時の手振れの影響による地面の歪みが存在している可能性が高いと判断して、処理はS513に移行する。ここで、加速度の絶対値の最大値の閾値は、画像処理システム100のユーザが事前に設定することが可能であり、本実施形態では0.1m/s2とする。なお、加速度の絶対値を用いる方法に代えて、加速度変化や角速度変化等他の条件を用いる方法でもよい。
S512において、頭部検出領域決定部322は、画像の縦幅と横幅、方位角の情報に基づき、画像の一部を頭部検出領域に決定する。具体的には、画像の横幅の中心から所定の方位角にあたる画素数分の領域を、頭部検出領域700に決定する。図7(a)は、S512の処理により、図6(a)の画像に対して決定された頭部検出領域の例を示す。例えば、図6(a)の画像の縦幅が300px、横幅が600px、方位角が0°から60°の場合、図7(a)のように、方位角15°から45°にあたる、横幅150pxから450pxの間の領域が、頭部検出領域に決定される。但し、頭部検出領域の決定方法は、これに限るものではなく画像内の他の部分を頭部検出領域に決定してもよい。例えば、画像の横幅の中心だけでなく、画像の縦幅の中心を利用してもよい。また、メタデータに含まれる撮像条件(例えば、ズーム情報)に基づいて、頭部検出領域の範囲を段階的に変更するようにしてもよい。
以上のように、サーバ装置103は、パノラマ撮像時の方位角の範囲が閾値未満であるという条件を満たし、且つカメラ部219の垂直方向の加速度の絶対値の最大値が閾値未満であるという条件を満たした場合に、頭部検出領域を画像の一部に決定する。なお、上記条件のうちの一方の条件を満たした場合に、頭部検出領域を画像の一部に決定してもよい。
以上のように、サーバ装置103は、パノラマ撮像時の方位角の範囲が閾値未満であるという条件を満たし、且つカメラ部219の垂直方向の加速度の絶対値の最大値が閾値未満であるという条件を満たした場合に、頭部検出領域を画像の一部に決定する。なお、上記条件のうちの一方の条件を満たした場合に、頭部検出領域を画像の一部に決定してもよい。
S513において、頭部検出領域決定部322は、画像の全体を頭部検出領域として決定する。図7(b)は、S513の処理により、図6(b)の画像に対して決定された頭部検出領域の例を示す。例えば、図6(b)の画像の縦幅が300px、横幅が1800px、方位角が0°から180°の場合、図7(b)のように、画像全体が頭部検出領域に決定される。
S514において、頭部検出部323は、前段の処理で決定された頭部検出領域内の全人物の頭部を検出する。ここで、頭部の検出結果は、頭部のX座標、頭部のY座標、及び頭部のサイズ(横幅と縦幅の平均値)のデータを頭部の個数分含むリストである。
S515において、解析パラメタ算出部324は、S514で検出した頭部の個数が基準値以上であるか否かを判定する。解析パラメタ算出部324が基準値以上であると判定した場合(S515のYES)、処理はS502に移行し、基準値未満であると判定した場合(S515のNO)、処理はS516に移行する。
S515において、解析パラメタ算出部324は、S514で検出した頭部の個数が基準値以上であるか否かを判定する。解析パラメタ算出部324が基準値以上であると判定した場合(S515のYES)、処理はS502に移行し、基準値未満であると判定した場合(S515のNO)、処理はS516に移行する。
S516において、頭部検出領域決定部322は、頭部検出領域を決定し直す。本工程では、前回決定した領域を除外した残りのすべての領域を新たに頭部検出領域に決定してもよく、前回決定した領域を所定量ずらした領域を新たに頭部検出領域に決定してもよい。なお、頭部検出領域を決定し直すかの頭部の個数の基準値は、画像処理システム100のユーザが事前に設定可能であり、本実施形態では3個とする。
S517の処理は、S514と同様である。
S518において、解析パラメタ算出部324は、S517で検出した頭部の個数が基準値以上であるか否かを判定する。解析パラメタ算出部324が基準値以上であると判定した場合(S515のYES)、処理はS502に移行し、基準値未満であると判定した場合、S402の解析処理が終了する。
S517の処理は、S514と同様である。
S518において、解析パラメタ算出部324は、S517で検出した頭部の個数が基準値以上であるか否かを判定する。解析パラメタ算出部324が基準値以上であると判定した場合(S515のYES)、処理はS502に移行し、基準値未満であると判定した場合、S402の解析処理が終了する。
S502において、解析パラメタ算出部324は、S514又はS517で得られた頭部の検出結果に基づいて、下記の式(1)を満たす解析パラメタ(a,b,c)を算出する。
但し、各符号は以下を表す。
a,b,c:解析パラメタ
x:頭部のX座標
y:頭部のY座標
z:頭部の横幅と縦幅の平均値
n:検出された頭部の個数
a,b,c:解析パラメタ
x:頭部のX座標
y:頭部のY座標
z:頭部の横幅と縦幅の平均値
n:検出された頭部の個数
S503において、矩形領域分割部325は、S502で算出された解析パラメタに基づいて、画像上の位置に応じたサイズの矩形領域を設定する。本実施形態において、矩形領域分割部325は、画像内の頭部がz=ax+by+cで表される平面上に存在していると仮定し、矩形領域内の頭部の個数がなるべく等しくなるように、画像上に矩形領域を設定する。図8(a)、(b)は、図6(a)、(b)の画像を複数の矩形領域800に分割した結果を示す。カメラ部219に近い手前側の領域では頭部のサイズが大きいため矩形領域が拡大され、カメラ部219から遠い奥側の領域では頭部のサイズが小さいため矩形領域が縮小される。図8(a)のような画像では、画像内の平面の勾配が小さいため、手前側の領域から奥側の領域に向かって矩形領域の縮小の割合が大きい。一方、図8(b)のような画像では、画像内の平面の勾配が大きいため、手前側の領域から奥側の領域に向かって矩形領域の縮小の割合が小さい。
S504において、人数算出部326は、画像をS503で設定された矩形領域毎に学習モデルに入力して得られる出力結果に基づき、当該矩形領域内の人数を推定し、すべての矩形領域で推定された人数を合算することで、画像内の人数を算出する。また、S504において、解析結果管理部327は、解析IDを発行し、発行された解析IDに、画像データと、画像内の人数と、解析時間とを解析結果として紐づけて、解析IDが紐づけられた解析結果を、ストレージ235に格納する。以上のようにして、S402の解析処理が終了する。その後図4(a)に示す画像解析機能における一連の処理が終了する。
図4(b)は、画像処理システム100の解析結果取得機能における処理を示すシーケンス図である。
S410において、端末装置102の操作部313は、ユーザからの操作入力を受け付け、解析結果の取得指示を生成する。
S411において、端末装置102の通信部312は、解析結果の取得指示をネットワーク104を介してサーバ装置103に送信する。
S412において、サーバ装置103の通信部320は、ネットワーク104を介して端末装置102から解析結果の取得指示を受信する。
S413において、サーバ装置103の解析結果管理部327は、ストレージ235から取得指示された解析結果を取得する。
S414において、サーバ装置103の通信部320は、ネットワーク104を介して端末装置102に解析結果を送信する。
S415において、端末装置102の通信部312は、ネットワーク104を介してサーバ装置103から解析結果を受信する。
S416において、端末装置102の表示部314は、取得した解析結果をディスプレイ217上に表示させる。その後図4(b)に示す画像解析機能における一連の処理が終了する。
S410において、端末装置102の操作部313は、ユーザからの操作入力を受け付け、解析結果の取得指示を生成する。
S411において、端末装置102の通信部312は、解析結果の取得指示をネットワーク104を介してサーバ装置103に送信する。
S412において、サーバ装置103の通信部320は、ネットワーク104を介して端末装置102から解析結果の取得指示を受信する。
S413において、サーバ装置103の解析結果管理部327は、ストレージ235から取得指示された解析結果を取得する。
S414において、サーバ装置103の通信部320は、ネットワーク104を介して端末装置102に解析結果を送信する。
S415において、端末装置102の通信部312は、ネットワーク104を介してサーバ装置103から解析結果を受信する。
S416において、端末装置102の表示部314は、取得した解析結果をディスプレイ217上に表示させる。その後図4(b)に示す画像解析機能における一連の処理が終了する。
以上のような本実施形態では、画像内の人数を推定する場合に、画像内の人体の位置やサイズを検出して、人数推定を行う単位である小領域のサイズを設定する。このとき、撮像条件が所定の条件を満たす場合には、画像の一部から人体の位置やサイズを検出するように決定する。これにより、人数の推定精度を向上させつつ、処理に係る負荷を軽減させることができる。従って、システムのユーザビリティの低下の抑制や、クラウド環境を利用した解析における、使用するコンピューティングリソースの縮小を実現することが可能になる。
(その他の実施形態)
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
上述の実施形態では、所定物体の一例としての人物の画像内の数を計測する場合について説明をしたが、計測対象は人物に限定されるものではなく、車や自転車、バイク等であってもよい。また、検出部位としては頭部について述べたが、顔、手等他の部位の検出を行って人物の数を推定する場合にも、本実施形態を適用することも可能である。
本実施形態の変形例として、解析対象の画像としてパノラマ画像を用いたが、全方位カメラで撮像された全方位画像を用いてもよい。サーバ装置103は、全方位画像から解析対象の範囲を切り出して、切り出し範囲内に存在する人物の数を推定する。この場合に、サーバ装置103は、切り出し範囲が閾値未満の場合、切り出し範囲の画像の一部を頭部検出領域に決定する。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:カメラ装置、102:端末装置、103:サーバ装置、104:ネットワーク
Claims (17)
- 画像と前記画像の撮像条件を取得する取得手段と、
前記画像上の検出領域内の所定物体の位置及びサイズを検出する検出手段と、
前記撮像条件に基づいて、前記検出領域の範囲を決定する決定手段と、
前記検出手段による検出結果に基づいて、前記画像上に複数の矩形領域を設定する設定手段と、
前記画像に対し前記矩形領域毎に前記所定物体の数を推定する処理を行う推定手段と、 を有することを特徴とする画像処理装置。 - 前記決定手段は、前記撮像条件が所定の条件を満たす場合、前記検出領域を前記画像の一部にし、前記撮像条件が前記所定の条件を満たさない場合、前記検出領域を前記画像の全体にすることを特徴とする請求項1に記載の画像処理装置。
- 前記撮像条件が、撮像時の画角情報に関することを特徴とする請求項1又は2に記載の画像処理装置。
- 前記撮像条件が、撮像時のズーム情報に関することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
- 前記画像が、撮像装置を水平方向に回転させながら撮像された画像を合成して生成されたパノラマ画像であって、
前記所定の条件が、前記パノラマ画像の撮像時に回転された範囲が閾値未満であることを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。 - 前記画像が、撮像装置を水平方向に回転させながら撮像された画像を合成して生成されたパノラマ画像であって、
前記所定の条件が、前記パノラマ画像の撮像時の前記撮像装置の垂直方向の加速度の絶対値が閾値未満であることを特徴とする請求項2乃至5の何れか1項に記載の画像処理装置。 - 前記決定手段は、前記撮像条件が前記所定の条件を満たす場合、前記検出領域を前記画像の横幅の中心から所定の画素数分にすることを特徴とする請求項2乃至6の何れか1項に記載の画像処理装置。
- 前記設定手段は、前記矩形領域のサイズに対する前記所定物体のサイズの比率が同一になるように、前記画像上の位置に応じたサイズの前記矩形領域を設定することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
- 前記設定手段は、前記検出領域内の前記所定物体が存在すると想定される平面を表すパラメタを算出し、前記パラメタに基づいて前記矩形領域を設定することを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
- 前記推定手段は、前記矩形領域の画像を学習モデルに入力して得られる出力結果に基づいて、推定する処理を行うことを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
- 前記決定手段は、前記検出領域から検出された前記所定物体の数が基準値未満であった場合に、前記検出領域の範囲を変更することを特徴とする請求項1乃至10の何れか1項に記載の画像処理装置。
- 前記決定手段は、前記検出領域の範囲を変更する場合に、前回決定した前記検出領域の範囲を含まないようにすることを特徴とする請求項11に記載の画像処理装置。
- 前記所定物体が、人体であることを特徴とする請求項1乃至12の何れか1項に記載の画像処理装置。
- 前記検出手段は、前記所定物体の所定部位を検出することを特徴とする請求項1乃至13の何れか1項に記載の画像処理装置。
- 前記所定部位が、人体の頭部であることを特徴とする請求項14に記載の画像処理装置。
- 画像と前記画像の撮像条件を取得する取得ステップと、
前記画像上の検出領域内の所定物体の位置及びサイズを検出する検出ステップと、
前記撮像条件に基づいて、前記検出領域の範囲を決定する決定ステップと、
前記検出ステップによる検出結果に基づいて、前記画像上に複数の矩形領域を設定する設定ステップと、
前記画像に対し前記矩形領域毎に前記所定物体の数を推定する処理を行う推定ステップと、
を含むことを特徴とする画像処理方法。 - コンピュータを、請求項1乃至15の何れか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022039245A JP2023133962A (ja) | 2022-03-14 | 2022-03-14 | 画像処理装置、画像処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022039245A JP2023133962A (ja) | 2022-03-14 | 2022-03-14 | 画像処理装置、画像処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023133962A true JP2023133962A (ja) | 2023-09-27 |
Family
ID=88143367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022039245A Pending JP2023133962A (ja) | 2022-03-14 | 2022-03-14 | 画像処理装置、画像処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023133962A (ja) |
-
2022
- 2022-03-14 JP JP2022039245A patent/JP2023133962A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6942488B2 (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
US10810438B2 (en) | Setting apparatus, output method, and non-transitory computer-readable storage medium | |
US11450114B2 (en) | Information processing apparatus, information processing method, and computer-readable storage medium, for estimating state of objects | |
JP4915655B2 (ja) | 自動追尾装置 | |
JP5272886B2 (ja) | 動体検出装置と動体検出方法およびコンピュータ・プログラム | |
JP7059054B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6521626B2 (ja) | 被写体追跡装置、方法およびプログラム | |
JP2020087312A (ja) | 行動認識装置、行動認識方法及びプログラム | |
JP2014236312A (ja) | 設定装置および設定方法 | |
CN113344906B (zh) | 车路协同中相机评估方法、装置、路侧设备和云控平台 | |
JP2018063675A (ja) | 画像処理装置および制御方法 | |
JP2023133962A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6452738B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
EP3883236A1 (en) | Information processing apparatus, imaging apparatus, method, and storage medium | |
JP2023133967A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2018198399A (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
JP7034690B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2020201674A (ja) | 映像解析装置及びその制御方法及びプログラム | |
JP2020149565A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP5896781B2 (ja) | 画像処理装置および画像処理方法 | |
JP6381212B2 (ja) | 撮像装置及びその制御方法 | |
US20230048567A1 (en) | Queue analysis apparatus, control method, and non-transitory computer-readablemedium | |
JP6234200B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
KR101844004B1 (ko) | 거리 정보를 포함하는 영상 생성 장치 | |
JP2023156866A (ja) | 画像処理装置、画像処理方法およびプログラム |