以下、添付図面を参照しながら、本発明に係る実施形態について説明する。なお、以下の実施形態において示す構成は一例に過ぎず、図示された構成に限定されるものではない。
(実施形態1)
図1は、本実施形態におけるシステム構成を示す図である。本実施形態におけるシステムは、撮像装置100、クライアント装置110、記録装置120、およびディスプレイ130を有している。
撮像装置100、クライアント装置110、および記録装置120は、ネットワーク140を介して相互に接続されている。ネットワーク140は、例えばETHERNET(登録商標)等の通信規格に準拠する複数のルータ、スイッチ、ケーブル等から実現される。なお、ネットワーク140は、インターネットや有線LAN(Local Area Network)、無線LAN(Wireless Lan)、WAN(Wide Area Network)等により実現されてもよい。
撮像装置100は、画像を撮像する装置であり、画像を撮像する範囲である撮像範囲を変更することが可能である。なお、撮像装置100は、パン、チルト、およびズームの内少なくともいずれか一つを変更することで、撮像範囲を変更することができる。また、撮像装置100は、撮像した画像に基づく画像データと、画像を撮像した時刻を示す情報とを関連付けて、ネットワーク140を介し、クライアント装置110や記録装置120へ送信する。
記録装置120は、撮像装置100が撮像した画像の画像データと、当該画像が撮像された時刻を示す情報とを関連付けて記録する。そして、クライアント装置110からの要求に従って、記録装置120は、記録したデータ(画像データ、時刻を示す情報など)をクライアント装置110へ送信する。
ディスプレイ130は、LCD(Liquid Crystal Display)等により構成されている。また、ディスプレイ130は、HDMI(登録商標)(High Definition Multimedia Interface)等の通信規格に準拠したケーブルを介してクライアント装置110と接続されている。また、ディスプレイ130は、表示手段として機能し、撮像装置100が撮像した画像を表示する。なお、ディスプレイ130およびクライアント装置110は、単一の筐体に設けられてもよい。
次に、図2および図3を参照して、本実施形態における撮像装置100およびクライアント装置110について説明する。図2は、本実施形態における撮像装置100の外観図である。また、図3は、本実施形態における撮像装置100およびクライアント装置110の機能ブロックを示す図である。なお、図3に示す撮像装置100の一部の機能は、本実施形態の場合、ROM(Read Only Memory)1420とCPU(Central Processing Unit)1400とを用いて、次のようにして実現されるものとする。図3に示す撮像装置100の一部の機能は、撮像装置100のROM1420に格納されたコンピュータプログラムを撮像装置100のCPU1400が実行することにより実現される。なお、本実施形態における撮像装置100の一部の機能とは、例えば、通信部301、画像処理部303、制御部305、検知部306、検出部307、記憶部308の各機能である。
また、図3に示すクライアント装置110の各機能は、クライアント装置110のROM1420に格納されたコンピュータプログラムをクライアント装置100のCPU1400が実行することにより実現される。
ここでまず、本実施形態における撮像装置100の情報処理について説明する。図3に示す通信部301は、図14を参照して後述するI/F(Interface)1440によって実現でき、ネットワーク140を介して、クライアント装置110や記録装置120と通信を行う。また、通信部301は、例えば、撮像した画像の画像データをクライアント装置110へ送信したり、撮像装置100を制御する制御コマンドをクライアント装置110から受信したりする。なお、制御コマンドは、例えば、撮像装置100の撮像範囲を変更するコマンドや、画像を撮像するよう指示するコマンドなどを含む。
撮像部302は、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子(不図示)により構成される。なお、図2に示すレンズ203の光軸の向く方向が撮像装置100の撮像方向であり、レンズ203を通過した光束は、撮像部302の撮像素子に結像する。そして、撮像部302は、レンズ203を通って結像された被写体像を光電変換して電気信号を生成する。
画像処理部303は、撮像部302において光電変換された電気信号を所定のデジタル信号へ変換する処理や、圧縮符号化処理などを行い、画像データを生成する。
駆動部304は、パン動作、チルト動作、およびズーム動作を行うメカ駆動系及び駆動源のモータにより実現され、撮像装置100の撮像方向をパン方向201やチルト方向202に回転させたり、撮像装置100のズーム倍率を変更する。なお、パン角度は、撮像装置100の所定の撮像方向に対するパン方向201における撮像方向の角度である。また、チルト角度は、撮像装置100の所定の撮像方向に対するチルト方向202における撮像方向の角度である。
制御部305は、駆動部304を制御し、撮像装置100の撮像範囲を変更する。また、制御部305は、巡回モードにおいて、予め設定された第1範囲と第2範囲とを含む複数のプリセット範囲の各々を巡回して撮像するよう撮像範囲を変更する。なお、プリセット範囲は、特定のパン角度、チルト角度、およびズーム倍率で示され、予め設定されているものとする。
また、画像から検知された動体、または、画像から検出された特定の物体を追尾対象として撮像範囲を変更させる追尾モードにおいて、制御部305は、次のような処理を行う。すなわち、制御部305は、当該動体または当該特定の物体を撮像し続けるように撮像装置100の撮像範囲を変更する追尾処理を実行する。具体的には、追尾モードにおいて、制御部305は、動体や特定の物体が画像の中心に位置するよう撮像装置100の撮像範囲を変更する。
検知部306は、撮像された画像から動体を検知する検知処理を実行する。なお、本実施形態における検知部306は、前フレームと現在のフレームとのフレーム間差分処理を行って動体を検知するものとする。しかし、検知部306は、例えば、生成した背景画像を用いて、背景差分処理を行うことで、動体(前景)を検知してもよい。
検出部307は、撮像された画像から特定の物体を検出する検出処理を実行する。なお、本実施形態における検出部307は、照合パターン(辞書)を使用して、パターンマッチング等を行うことにより画像に含まれる特定の物体を検出する検出処理を実行する。なお、以降の説明において、特定の物体は人物とするが、車両や動物などでもよい。
なお、制御部305は、巡回モードにおいて、撮像範囲が変更されている間は、検出部307により画像から特定の物体が検出された場合に、巡回モードから追尾モードへ移行し、当該特定の物体に対し追尾処理を開始する。そして、制御部305は、巡回モードにおいて、撮像範囲が変更されていない間は、少なくとも検知部306の検知処理により画像から動体が検知された場合に、巡回モードから追尾モードへ移行し、当該動体に対し追尾処理を開始する。
記憶部308は、予め設定された複数のプリセット範囲を記憶する。また、記憶部308は、撮像した画像の画像データと、当該画像を撮像した時刻を示す情報を記憶する。
次に、本実施形態におけるクライアント装置110について説明する。図3に示す通信部330は、I/F1440によって実現でき、ネットワーク140を介して、撮像装置100や記録装置120と通信を行う。また、通信部330は、例えば、撮像装置100を制御する制御コマンドを撮像装置100へ送信したり、撮像装置100が撮像した画像の画像データを受信したりする。
操作受付部331は、マウスやキーボード等の入力装置(不図示)を介して、ユーザにより行われた操作を受け付ける。
表示制御部332は、撮像装置100から受信した画像をディスプレイ130に表示させる。また、表示制御部332は、画像から検知部306により動体が検知された場合、当該動体の位置を示すシンボルを画像に重畳して表示するようにしてもよい。図7(a)に示す画像710は、表示制御部332により、検知された動体に対しシンボル701が重畳された画像である。
また、表示制御部332は、画像から検出部307により特定の物体が検出された場合、当該特定の物体の位置を示すシンボルを画像に重畳して表示するようにしてもよい。図7(b)に示す画像720は、表示制御部332により、検出された特定の物体に対しシンボル702が重畳された画像である。
次に、図8を参照して、本実施形態における撮像装置100の情報処理について更に詳細に説明する。図8は、本実施形態における撮像装置100が撮像可能な範囲における複数のプリセット範囲を模式的に示す図である。図8に示す撮像可能範囲800は、撮像装置100がパン角度、チルト角度、およびズーム倍率を変更させることで撮像可能な範囲を示している。また、プリセット範囲801~803は、撮像可能範囲800に対して予め設定された範囲である。プリセット範囲の各々には、プリセット範囲の各々を識別する情報であるプリセット番号が付与されている。
撮像装置100は、巡回モードにおいて、プリセット範囲801~803の各々を巡回して撮像するよう撮像範囲を変更しつつ、画像を撮像していく。なお、撮像装置100は、巡回モードにおいて、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更する間も画像の撮像を行う。本実施形態において、図8に示す例の場合、巡回モードにおいて、撮像装置100によって画像が撮像される範囲は、範囲804となる。
本実施形態における撮像装置100は、巡回モードにおいて、撮像範囲が変更されている間は、検出部307により画像から特定の物体が検出された場合に、巡回モードから追尾モードへ移行し、当該特定の物体に対し追尾処理を開始する。そして、制御部305は、巡回モードにおいて、撮像範囲が変更されていない間は、少なくとも検知部306により画像から動体が検知された場合に、巡回モードから追尾モードへ移行し、当該動体に対し追尾処理を開始する。
次に、図4を参照して、本実施形態における巡回モードにおける撮像装置100の情報処理について説明する。図4に示すテーブル400は、本実施形態における巡回モード時の撮像装置100が複数のプリセット範囲の各々を巡回するよう撮像範囲を変更する処理において用いられるテーブルの一例である。
図4に示すように、テーブル400は、プリセット範囲を識別する情報であるプリセット番号401と、プリセット範囲の位置を示すプリセット402と、プリセット範囲の各々を撮像する時間を示す撮像時間403とを含む。なお、プリセット番号401は、撮像装置100がプリセット範囲の各々を巡回するよう撮像する際の順序を示している。図4および図8に示す例において、プリセット番号401が“1”のプリセット範囲801を撮像したのち、“2”のプリセット範囲802、“3”のプリセット範囲803の順番でプリセット範囲を撮像していく。なお、プリセット402は、プリセット範囲の中心の位置を撮像方向としたときの撮像装置100のパン角度およびチルト角度、プリセット範囲のサイズと撮像範囲のサイズとが一致するときの撮像装置100のズーム倍率によって定められる。なお、図4に示す例において、プリセット番号401が“1”の撮像時間403は“5”である。これは、プリセット番号401が“1”のプリセット範囲801が撮像範囲となるよう撮像装置100の撮像範囲を変更し、プリセット範囲802にて撮像範囲を停止させてから5秒経過したのち、次のプリセット範囲に撮像範囲を変更させることを示している。以上説明したように、本実施形態における撮像装置100は、巡回モードにおいて、予め設定された複数のプリセット範囲に基づき、当該複数のプリセット範囲の各々を巡回するよう撮像する。
なお、巡回モードにおいて、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更する間に撮像した画像から検出部307が人物を検出可能とするためにも、撮像範囲の位置を変更する速度は低速であるものとする。よって本実施形態が適用されるユースケースとしては、例えば、特定のプリセット範囲から他のプリセット範囲の間の領域も撮像したい場合などが考えられる。なお、巡回モードにおいて、撮像範囲の位置を変更する速度は、検出部307が画像から人物を検出可能な速度であり、予め設定された閾値以下となるよう制御部305により制御される。なお、制御部305は、巡回モードにおいて、撮像範囲の位置を変更させる速度を取得し、取得した速度が閾値以上の場合、検出部307による人物の検出処理を実行しないようにしてもよい。言い換えれば、制御部305は、巡回モードにおいて、撮像範囲の位置を変更させる速度を取得し、取得した速度が閾値以上の場合、追尾処理を開始しないようにしてもよい。
なお、本実施形態における撮像装置100は、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更させる際、撮像範囲の位置を変更させる速度を一定とする。なお、撮像範囲の位置とは、撮像範囲の中心点であり、パン角度およびチルト角度によって定まる。
次に、図5に示すフローを参照して、本実施形態における巡回モードにおける撮像装置100の情報処理について更に詳細に説明する。図5(a)に示すフローチャートの処理は、巡回モードにおいて実行される処理であり、撮像装置100の撮像範囲が変更されている間か、変更されていない間かに応じて、動体の検知処理を実行するか、特定の物体の検出処理を実行するかを切り替える。また、図5(b)に示すフローチャートの処理は、巡回モードにおいて実行される処理であって、画像から動体または特定の物体が検出された場合、追尾モードへ移行させる処理である。なお図5(a)に示すフローチャートの処理と、図5(b)に示すフローチャートの処理はそれぞれ並行して実行されるものとする。
なお、図5(a)および図5(b)に示すフローチャートの処理は、撮像装置100のROM1420に格納されたコンピュータプログラムを撮像装置100のCPU1400が実行して実現される図3に示す機能ブロックにより実行されるものとする。
ここでまず、図5(a)に示すフローチャートの処理について説明する。S501にて、制御部305は、巡回モードにおける撮像装置100の現在の動作状態を判別する。具体的には、制御部305は、パン角度、チルト角度、およびズーム倍率の内少なくともいずれか一つが駆動部304により変更されているかを判別する。そして、制御部305は、駆動部304がパン角度、チルト角度、及びズーム倍率の内少なくともいずれか一つを変更していると判別した場合、現在の動作状態は変更状態であると判別する。一方、制御部305は、駆動部304がパン角度、チルト角度、及びズーム倍率の内いずれも変更していないと判別した場合、現在の動作状態は停止状態であると判別する。
なお、変更状態とは、巡回モードにおいて、撮像装置100の撮像範囲の変更が現在行われていることを示す。一方、停止状態とは、巡回モードにおいて、現在撮像装置100の撮像範囲の変更が現在行われていないことを示している。
なお、制御部305は、S501にて、例えば、次のような処理を実行してもよい。制御部305は、まず、現在のPTZ情報(パン角度、チルト角度、およびズーム倍率)を駆動部304から取得する。そして、制御部305は、取得した現在のPTZ情報と、記憶部308が記憶するテーブル400のプリセット402の情報とを比較し、現在の動作状態が変更状態か停止状態かを判別する。例えば、制御部305は、取得した現在のPTZ情報と、プリセット402が示すパン角度、チルト角度、ズーム倍率の情報とが異なる場合、現在の撮像装置100の動作状態は変更状態であると判別する。また、制御部305は、取得した現在のPTZ情報と、プリセット402が示すパン角度、チルト角度、ズーム倍率の情報とが同一である場合、現在の撮像装置100の動作状態は停止状態であると判別する。
次に、S502にて、制御部305は、S501で取得した撮像装置100の動作状態に基づき、初期の設定を行う。具体的には、制御部305は、取得した動作状態が変更状態であれば、検知部306による検知処理を停止し、検出部307による検出処理を開始する。また、制御部305は、取得した動作状態が停止状態であれば、検知部306による検知処理を開始し、検出部307による検出処理を停止する。
次に、S503にて、制御部305は、巡回モードにおける撮像装置100の現在の動作状態を再度判別する。S503における制御部305の処理は、S501の処理と同様であるため説明を省略する。
次に、S504にて、制御部305は、撮像装置100の動作状態が変化したかを判別する。制御部305は、撮像装置100の最新の動作状態と、一つ前に判別した撮像装置100の動作状態とを比較することで、撮像装置100の動作状態が変化したかを判別する。
S504にて、撮像装置の動作状態が変化していないと判別された場合(S504にてNo)、S510へ遷移する。S510にて、図5(a)に示す処理を終了する指示がない場合(S510にてNo)、S503に戻り、制御部305は、現在の撮像装置100の動作状態を再度判別する。なお、S510にて、図5(a)に示す処理を終了する指示がある場合(S510にてYes)、処理を終了する。
S504の処理の説明に戻り、撮像装置100の動作状態が変化したと判別された場合(S504にてYes)、S505へ遷移する。例えば、制御部305により新たに判別された動作状態が変更状態であり、一つ前に判別された動作状態が停止状態であれば、動作状態が変化したとして、S504からS505へ遷移する。
S505にて、停止状態から変更状態へ変化したと制御部305により判別された場合(S505にてYes)、S506に遷移する。一方、停止状態から変更状態へ変化したと制御部305により判別されなかった場合(S505にてNo)、言い換えれば、変更状態から停止状態へ変化したと制御部305に判別された場合、S508に遷移する。
S506にて、制御部305は、検知部306による検知処理を停止する。次に、S507にて、制御部305は、検出部307による検出処理を開始する。
また、S508にて、制御部305は、検出部307による人物の検出処理を停止する。次に、S509にて、制御部305は、検知部306による検知処理を開始する。
S510にて、図5(a)に示す処理を終了する指示がある場合(S510にてYes)、処理を終了し、終了する指示がなければ(S510にてNo)、S503へ遷移し、制御部305は現在の動作状態を判別する。
以上説明したように図5(a)に示す処理を実行することで、巡回モードにおいて、撮像装置100の撮像範囲が変更されているか否かに応じて、動体の検知処理を実行するか、特定の物体の検出処理を実行するかを切り替える。
なお、S505にて、変更状態から停止状態へ変化したと制御部305により判別された場合、制御部305は、人物の検出処理を停止し、動体の検知処理を開始するようにした。このとき、検知部306が、背景画像を用いた背景差分により動体を検知する場合、以下のような処理を行ってもよい。すなわち、制御部305は、変更状態から停止状態に停止し、撮像範囲の変更が停止されたのち、検知部306により背景画像が生成されるまで、検出部307により人物を検出する処理を行うようにしてもよい。
次に、巡回モードにおいて、図5(a)の処理と並行して実行される処理である図5(b)に示す処理について説明する。
図5(b)に示すS551にて、制御部305は、現在、検知部306により動体の検知処理が実行されているかを判別する。検知部306により動体検知処理が実行されていると判別された場合(S551にてYes)、S552へ遷移する。一方、検知部306の検知処理が実行されていないと判別された場合(S551にてNo)、言い換えれば、検出部307による検出処理が実行されている場合、S554へ遷移する。
S552にて、検知部306は、画像処理部303により生成された画像から動体を検知する検知処理を実行する。なお、本実施形態における検知部306は、前フレームと現在のフレームとのフレーム間差分処理を行って動体を検知するものとする。
次にS553にて、制御部305は、S552にて、検知部306により動体が検知されたかを判別し、動体が検知された場合(S553にてYes)、S556へ遷移する。一方、動体が検知されなかった場合(S553にてNo)、S551へ戻る。
S554にて、検出部307は、画像処理部303により生成された画像から人物を検出する検出処理を実行する。なお、本実施形態における検出部307は、照合パターン(辞書)を使用して、パターンマッチング等を行うことにより画像に含まれる人物を検出する検出処理を実行する。なお、画像から人物を検出する検出処理において、人物が正面向きである場合と横向きである場合とで使用する照合パターンを両方使うことで検出精度の向上が期待できる。例えば、正面(背面)向きの人体の画像と照合させるための照合パターンと、横向きの人物の画像と照合させるための照合パターンとを保持し、撮像装置100の設置状態やユーザの指定に基づいて両方使うことができる。
また、照合パターンは、斜め方向からや上方向からなど他の角度からのものを用意しておいてもよい。また、人物を検出する場合、必ずしも全身の特徴を示す照合パターン(辞書)を用意しておく必要はなく、上半身、下半身、頭部、顔、足などの人物の一部について照合パターンを用意してもよい。
次に、S555にて、制御部305は、S554にて検出部307により人物が検出されたかを判別し、人物が検出された場合(S555にてYes)、S556へ遷移する。一方、人物が検出されなかった場合(S555にてNo)、S551へ戻る。
S556にて、検知部306により画像から動体が検知された、または、検出部307により画像から人物が検出されたとし、制御部305は、現在のモードである巡回モードから、画像に含まれる動体または人物を追尾対象として追尾する追尾モードへ移行する。
以上説明したように図5(b)に示すフローの処理により、巡回モードにおいて、画像から動体または特定の物体が検出された場合、巡回モードから追尾モードへ移行する。
なお、本実施形態において、撮像装置100の制御部305は、巡回モードにおいて、撮像範囲を変化させている間(変更状態の間)、人物の検出処理を実行し、撮像範囲を変化させていない間(停止状態の間)、動体の検知処理を実行した。しかし、撮像装置100は、例えば、次のような処理を行ってもよい。すなわち、撮像装置100は、巡回モードにおける停止状態において、動体の検知処理と人物の検出処理の両方を実行するようにしてもよい。なお、省電力を優先させるモードである省電力モードが設定されているか否かに応じて、撮像装置100は、巡回モードにおける停止状態にて、動体の検知処理と人物の検出処理の両方を実行するかを制御してもよい。具体的には、制御部305は、省電力モードが設定されていると判別した場合、巡回モードにおける停止状態にて、動体の検知処理と人物の検出処理の両方を実行する。一方、制御部305は、省電力モードが設定されていないと判別した場合、巡回モードにおける停止状態にて、動体の検知処理のみ実行する。
なお、本実施形態において、巡回モードにおいて、動体が検知された場合、または、特定の物体が検出された場合、追尾モードへ移行し、当該動体および当該特定の物体に対し、追尾処理が開始された。しかしながら、追尾モードへ移行する前のモードは、巡回モードに限らない。例えば、音声を検知した場合に音声の音源方向へ撮像方向を向けるモードである音声検知モードにおいて、動体が検知された場合、または、特定の物体が検出された場合、追尾モードへ移行し、当該動体または当該特定の物体に対し、追尾処理を開始してもよい。また、撮像装置100の撮像範囲の位置を変更し続けるモードである設定モードにおいて、動体が検知された場合、または、特定の物体が検出された場合、追尾モードへ移行し、当該動体および当該特定の物体に対し、追尾処理を開始するようにしてもよい。なお、設定モードでは、例えば、パン角度を一定の速度で回転させ続ける場合などが考えられる。
なお、上述した音声検知モード、設定モードのいずれにおいても、巡回モードと同様、制御部305は次のような処理を行う。すなわち、制御部305は、撮像範囲が変更されている間は、検出部307により画像から特定の物体が検出された場合に、追尾モードへ移行し、当該特定の物体に対し前記追尾処理を開始する。そして、制御部305は、巡回モードにおいて、撮像範囲が変更されていない間は、少なくとも検知部306により画像から動体が検知された場合に、当該動体に対し追尾処理を開始する。
次に、図6に示すフローを参照して、本実施形態における追尾モードにおける撮像装置100の追尾対象に対する追尾処理について更に詳細に説明する。図6に示すフローチャートの処理は、追尾モードにおいて実行される追尾処理である。図6に示す追尾処理は、検知部306により検知された動体、または、検出部307により検出された特定の物体を撮像し続けるよう撮像範囲を変更することで、当該動体または当該特定の物体を追尾する処理である。
なお、図6に示すフローチャートの処理は、撮像装置100のROM1420に格納されたコンピュータプログラムを撮像装置100のCPU1400が実行して実現される図3に示す機能ブロックにより実行されるものとする。
まず、S601にて、制御部305は、画像に含まれる追尾対象(動体または特定の物体)が撮像装置100によって撮像される画像の中心に位置する場合の撮像範囲の情報を判別する。具体的には、制御部305は、画像に含まれる追尾対象が撮像装置100の撮像範囲の中心に位置する場合のパン角度およびチルト角度を判別する。例えば、画像から人物が検出された場合、当該人物が撮像範囲の中心に位置するために必要なパン角度およびチルト角度として、パン角度は、パン方向201の時計回りに+30度、チルト角度は、チルト方向202の上方向に+20度という情報を判別する。なお、画像に含まれる追尾対象とは、図5(b)に示すS553にて検知部306により検知された動体、または、S555にて検出部307により検出された人物である。
次に、S602にて、制御部305は、撮像装置100が追尾対象を追尾することが可能かを判別する。具体的には、制御部305は、S601で判別したパン角度が+30度、チルト角度が+20度となるよう駆動部304の駆動端に達することなく駆動させることが可能かを判別する。撮像装置100が追尾対象を追尾可能であると制御部305により判別された場合(S602にてYes)、S603へ遷移する。一方、撮像装置100が追尾対象を追尾できないと制御部305により判別された場合(S602にてNo)、S608へ遷移する。
次に、S603にて、制御部305は、画像に含まれる追尾対象(動体または特定の物体)が撮像装置100によって撮像される画像の中心に位置するよう撮像範囲を変更する。
次に、S604にて、検知部306は、画像処理部303により生成された画像に含まれる動体を検知する。なおこのとき、検知部306は、現在のフレームと一つ前のフレームとの間のフレーム間差分処理によって、画像から動体を検知する検知処理を実行する。なお、S604にて、検知部306により、画像から複数の動体が検出された場合、制御部305は、画像の中心により近い位置で検知された動体が追尾対象であると判別する。
次に、S605にて、制御部305は、S604にて動体を検知できたかを判別し、検知できた場合はS606へ遷移し、検知できなかった場合、S608へ遷移する。
次に、S606にて、制御部305は、画像に含まれる追尾対象が撮像装置100によって撮像される画像の中心に位置する撮像範囲の情報を判別する。S606における制御部305の処理は、S601における処理と同様であるため説明を省略する。
次に、S607にて、制御部305は、撮像装置100が追尾対象を追尾することが可能かを判別する。なお、S607における制御部305の処理は、S602で説明した処理と同様であるため説明を省略する。
撮像装置100が追尾対象を追尾可能であると制御部305により判別された場合(S607にてYes)、S603へ遷移する。一方、撮像装置100が追尾対象を追尾できないと制御部305により判別された場合(S607にてNo)、S608へ遷移する。
次に、S608にて、制御部305は、追尾モードから巡回モードへ移行する。巡回モードへ移行されたのち、再び、複数のプリセット範囲を巡回して撮像するよう撮像装置100の撮像範囲が変更されていく。そして、巡回モードへ移行されたのち、図5(a)および図5(b)に示す処理が実行される。
なお、駆動部304は駆動端を持たず、パン方向201およびチルト方向202に対し制限無く回転可能な場合、S601~602、S606~607の処理は省略してもよい。その場合において、S605でYesの場合、S604へ遷移する。
以上説明したように、本実施形態における撮像装置100は、巡回モードにおいて、撮像範囲を変更している間は、検出処理により特定の物体が検出された場合に、巡回モードから追尾モードへ移行し、検出された特定の物体に対し追尾処理を実行する。そして、撮像装置100は、巡回モードにおいて、撮像範囲を変更していない間は、検知処理により動体が検知された場合に、巡回モードから追尾モードへ移行し、当該動体に対し追尾処理を実行する。そして、撮像装置100は、追尾処理において、検出された特定の物体、または、検知された動体を追尾対象として撮像し続けるよう撮像範囲を変更する。このようにすることで、動体を検知する処理により検知した動体に対する追尾処理を開始することと、特定の物体を検出する処理により検出した特定の物体に対する追尾処理を開始することとを適応的に用いて、適切に追尾処理を開始することができる。
(実施形態2)
実施形態1における撮像装置100は、巡回モードにおいて、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更させる際、撮像範囲の位置を変更させる速度を一定とした。本実施形態における撮像装置100は、巡回モードにおいて、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更させる際、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像範囲の位置を変更させる速度を制御する。このようにすることで、撮像範囲の位置を変更させる速度を適切に制御し、画像に映る特定の物体にブレが生じて不鮮明になり、画像から人物を検出できなくなってしまうことを抑制する。
以下、図9および10を参照して、本実施形態における撮像装置100について説明する。図9は、本実施形態における撮像装置100が撮像範囲の位置を変更させる速度を制御する処理を説明するための図である。図9に示す例において、撮像可能範囲900は、撮像装置100が撮像可能な範囲である。また、図9(a)におけるプリセット範囲901、902は、撮像可能範囲900に対して予め設定された範囲である。プリセット範囲901には、プリセット番号として“1”が付与され、プリセット範囲902には、プリセット番号として“2”が付与されている。範囲903は、プリセット範囲901の位置と、プリセット範囲902の位置との中間位置を撮像範囲とする場合の範囲である。範囲904は、巡回モードにおいて、撮像装置100により撮像される範囲である。
図9(b)に示す画像910は、巡回モードにおいて、プリセット範囲901を撮像して得られた画像である。なお、画像910は、人物Aがプリセット範囲901に位置する場合において撮像された画像であるものとする。
画像920は、巡回モードにおいて、プリセット範囲902を撮像して得られた画像である。なお、画像920は、人物Aがプリセット範囲902に位置する場合において撮像された画像であるものとする。
画像930は、巡回モードにおいて、範囲903を撮像して撮像された画像である。なお、画像930は、人物Aが範囲903に位置する場合において撮像された画像であるものとする。
図9(b)における画像910、920、930に示すように、同じ人物であっても、撮像装置100からの距離に応じて、撮像装置100が撮像する画像における当該人物のサイズが異なる。図9(b)に示す例では、人物Aと撮像装置100とがより近い位置で撮像された画像930における人物Aのサイズは、人物Aと撮像装置100とがより遠い位置で撮像された画像910および画像920における人物Aのサイズと比べて大きい。
以上説明したように、同じ人物であっても、撮像装置100の撮像範囲の位置に応じて、撮像装置100と当該人物との距離が異なるため、撮像された画像における当該人物のサイズが異なることがある。
このような場合、撮像装置100により近い位置を撮像範囲として撮像された画像に含まれる人物は、撮像装置100からより遠い位置を撮像範囲として撮像した画像に含まれる人物と比較して、撮像範囲の位置の変化によるブレの影響を受けやすくなる。
図9に示す例において、範囲903は、範囲901や範囲902と比較し、撮像装置100からの距離が近い。そのため、範囲903を撮像した画像に含まれる人物は、プリセット範囲901および902を撮像した画像に含まれる人物より、撮像範囲の位置の変化によるブレの影響を受けやすい。言い換えれば、撮像範囲の位置に応じて、画像に映る人物のブレの度合いが異なる。
そこで、本実施形態における撮像装置100は、巡回モードにおいて、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更させる際、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像範囲の位置を変更させる速度を制御する。
次に、図10を参照して、本実施形態における撮像装置100の処理についてより詳細に説明する。図10に示すグラフ1000は、撮像範囲の位置に応じて、撮像範囲の位置を変更させる速度を制御する処理における撮像範囲の位置と速度との関係を示すグラフである。なお、本実施形態の場合、撮像範囲の位置のパラメータとして、パン角度が用いられ、撮像範囲の位置を変更させる速度として、パン角度を変更させる速度であるパン速度が用いられる。これは、図9に示す例において、制御部305は、パン角度を変更して、撮像範囲の位置を変更しているためである。
グラフ1000において、横軸は、撮像装置100のパン角度を示し、縦軸は、撮像装置100のパン速度を示している。なお、グラフ1000の横軸における”p-1”は、図9に示すプリセット範囲901を撮像範囲とする際の撮像装置100のパン角度を示す。また、グラフ1000の横軸における”p-2”は、図9に示すプリセット範囲902を撮像範囲とする際の撮像装置100のパン角度を示す。また、グラフ1000の横軸における”p-3”は、図9に示す範囲903を撮像範囲とする際の撮像装置100のパン角度を示す。
グラフ1000の縦軸における”s-1”は、図9に示すプリセット範囲901を撮像範囲とした停止状態から変更状態に変化した直後の撮像装置100のパン速度である。また、“s-1”は、プリセット範囲901を撮像範囲として停止状態となる直前の変更状態におけるパン速度でもある。
グラフ1000の縦軸における”s-2”は、図9に示すプリセット範囲902を撮像範囲とした停止状態から変更状態に変化した直後の撮像装置100のパン速度である。また、“s-1”は、プリセット範囲902を撮像範囲として停止状態となる直前の変更状態におけるパン速度でもある。
グラフ1000の縦軸における”s-3”は、図9に示す範囲903を撮像範囲とした変更状態における撮像装置100のパン速度である。
グラフ1000に示すパン角度とパン速度のグラフは、予め設定されるものとする。例えば、撮像装置100が複数のプリセット範囲を巡回しながら撮像される範囲における各位置に人物を立たせて、各位置における人物に対し、撮像範囲の位置を変更させる速度を変化させながら検出可能な速度を各位置において取得していく。そして、各位置において取得した検出可能な速度に基づき、グラフ1000を設定する。
なお、本実施形態における撮像装置100は、巡回モードにおいて、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像範囲の位置を変更させる速度を制御したが、これに限らない。例えば、撮像装置100は、実施形態1で説明した音声検知モードや設定モードにおいても、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像範囲の位置を変更させる速度を制御してもよい。
以上説明したように、本実施形態における撮像装置100は、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更させる際、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像範囲の位置を変更させる速度を制御する。このようにすることで、撮像範囲の位置を変更させる速度を適切に制御し、画像に映る特定の物体にブレが生じて不鮮明になって、画像から人物を検出できなくなってしまうことを抑制する。
(実施形態3)
一般に、画像から特定の物体を検出する検出処理において、画像から特定の物体を検出するために、画像に映る特定の物体のサイズは閾値以上である必要がある。言い換えれば、画像に映る特定の物体のサイズが閾値を下回っている場合、当該特定の物体を検出できない。
そして、実施形態2でも説明したように、撮像装置100の撮像範囲の位置に応じて、画像に含まれる物体のサイズが異なることがある。よって、撮像装置100の撮像範囲の位置によっては、画像に含まれる特定の物体のサイズが閾値を下回り、当該特定の物体を検出できないことがある。
そこで、本実施形態における撮像装置100は、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像範囲のズーム倍率を制御する。このようにすることで、撮像範囲のズーム倍率を適切に制御し、画像に映る特定の物体を検出できなくなることを抑制する。
以下、図11~13を参照して、本実施形態における撮像装置100について説明する。図11は、本実施形態における撮像装置100がズーム倍率を制御する処理を説明するための図である。図11に示す例において、撮像可能範囲1103は、撮像装置100が撮像可能な範囲である。また、図11(a)におけるプリセット範囲1101、1102は、撮像可能範囲1103に対して予め設定された範囲である。プリセット範囲1101には、プリセット番号として“1”が付与され、プリセット範囲1102には、プリセット番号として“2”が付与されている。
図11(b)に示す画像1110は、巡回モードにおいて、プリセット範囲1101を撮像して得られた画像である。なお、画像1110は、人物Aがプリセット範囲1101に位置する場合において撮像された画像であるものとする。
画像1120は、巡回モードにおいて、プリセット範囲1102を撮像して得られた画像である。なお、画像1120は、人物Aがプリセット範囲1102に位置する場合において撮像された画像であるものとする。
図11(b)における画像1110、1120に示すように、同じ人物であっても、撮像装置100からの距離に応じて、撮像装置100が撮像する画像における当該人物のサイズが異なる。
図11(c)は、図11(a)および図11(b)に示す空間を水平方向から見た場合の図である。図11(c)に示すように、本実施形態における撮像装置100は、巡回モードにおいて、プリセット範囲1101と、プリセット範囲1102とをそれぞれ巡回するように撮像装置100のチルト角度を変更する。
図11(c)に示すように、プリセット範囲1101を撮影範囲とする場合、撮像装置100とプリセット範囲1101とがより近いため、ワイド端に近いズーム倍率に設定される。一方、プリセット範囲1102を撮影範囲とする場合、撮像装置100とプリセット範囲1102とがより遠いため、テレ端に近いズーム倍率に設定される。
そこで、撮像装置100は、巡回モードにおいて、プリセット範囲1101およびプリセット範囲1102の間を巡回するよう撮像範囲を変更している間、撮像される画像に含まれる人物を検出するために、適切にズーム倍率を制御する必要がある。
次に、図12を参照して、本実施形態における撮像装置100の処理についてより詳細に説明する。図12に示すグラフ1200は、撮像範囲の位置に応じて、ズーム倍率を制御する処理において用いられる撮像範囲の位置とズーム倍率との関係を示すグラフである。なお、本実施形態の場合、撮像範囲の位置のパラメータとして、チルト角度が用いられる。これは、図11に示す例において、制御部305は、チルト角度を変更して、撮像範囲の位置を変更しているためである。
グラフ1200において、横軸は、撮像装置100のチルト角度を示し、縦軸は、撮像装置100のズーム倍率を示している。なお、グラフ1200の横軸における「t-1」は、図11に示すプリセット範囲1101を撮像範囲とする際の撮像装置100のチルト角度を示す。また、グラフ1200の横軸における「t-2」は、図11に示すプリセット範囲1102を撮像範囲とする際の撮像装置100のチルト角度を示す。
グラフ1200の縦軸における「z-1」は、図11に示すプリセット範囲1101を撮像範囲とした停止状態における撮像装置100のズーム倍率である。また、「z-1‘」は、プリセット範囲1101を撮像範囲とした停止状態となる直前の変更状態における撮像装置100のズーム倍率である。また、「z-1’」は、プリセット範囲1101を撮像範囲として停止状態から変更状態に変化した直後の撮像装置100のズーム倍率でもある。
また、グラフ1200の縦軸における「z-2」は、図11に示すプリセット範囲1102を撮像範囲とした停止状態における撮像装置100のズーム倍率である。また、「z-2’」は、プリセット範囲1102を撮像範囲として停止状態から変更状態に変化した直後の撮像装置100のズーム倍率である。また、「z-2‘」は、プリセット範囲1101を撮像範囲とした停止状態とする直前における変更状態の撮像装置100のズーム倍率でもある。
なお、図12において、プリセット範囲1101(チルト角度t-1)において、停止状態の場合におけるズーム倍率(z-1)より、変更状態の場合におけるズーム倍率(z-1’)の方が所定量大きい。同様に、プリセット範囲1102(チルト角度t-2)において、停止状態の場合におけるズーム倍率(z-2)より、変更状態の場合におけるズーム倍率(z-2’)の方が所定量大きい。この理由について、図13を参照して説明する。
図13に示す領域1301は、画像1300から動体を検知するために必要な画像1300における動体の領域の最小サイズを示している。つまり、画像1300における動体のサイズが領域1301のサイズを下回る場合、当該動体を検知できない。一方、図13に示す領域1302は、画像1300から人物を検出するために必要な画像における人物の領域の最小サイズを示している。つまり、画像1300における人物のサイズが領域1302のサイズを下回る場合、当該人物を検知できない。
図13に示すように、一般に画像から動体を検知するために必要な動体の最小サイズよりも、照合パターンを用いて画像から特定の物体を検出ために必要な特定の物体の最小サイズの方が大きい。したがって、図12に示すように、動体の検知処理を実行する停止状態におけるズーム倍率よりも、人物の検出処理を実行する変更状態のズーム倍率の方が所定量大きくなる。
なお、グラフ1200に示すチルト角度とズーム倍率のグラフは、予め設定されるものとする。例えば、撮像装置100が複数のプリセット範囲を巡回しながら撮像される範囲における各位置に人物を立たせて、各位置における人物に対し、検出部307が検出可能なズーム倍率を取得していく。そして、各位置において取得した検出可能なズーム倍率に基づき、グラフ1200を設定する。
なお、本実施形態における撮像装置100は、巡回モードにおいて、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像装置のズーム倍率を制御したが、これに限らない。例えば、撮像装置100は、実施形態1で説明した音声検知モードや設定モードにおいても、撮像範囲の位置に応じて、画像に映る人物を検出可能なように撮像装置のズーム倍率を制御してもよい。
以上説明したように、本実施形態における撮像装置100は、巡回モードにおいて、特定のプリセット範囲から他のプリセット範囲まで撮像範囲を変更させる際、撮像範囲の位置に応じて、画像に映る人物を検出可能なようにズーム倍率を制御する。このようにすることで、撮像装置100のズーム倍率を適切に制御し、画像に映る特定の物体が検出できなくなることを抑制する。
(その他の実施形態)
次に図14を参照して、各実施形態の各機能を実現するための撮像装置100のハードウェア構成を説明する。なお、以降の説明において撮像装置100のハードウェア構成について説明するが、記録装置120およびクライアント装置110も同様のハードウェア構成によって実現される。
本実施形態における撮像装置100は、CPU1400と、RAM1410と、ROM1420、HDD1430と、I/F1440と、を有している。
CPU1400は画像処理装置100を統括制御する中央処理装置である。RAM41410は、CPU1400が実行するコンピュータプログラムを一時的に記憶する。また、RAM1410は、CPU1400が処理を実行する際に用いるワークエリアを提供する。また、RAM1410は、例えば、フレームメモリとして機能したり、バッファメモリとして機能したりする。
ROM1420は、CPU1400が画像処理装置100を制御するためのプログラムなどを記憶する。HDD1430は、画像データ等を記録する記憶装置である。
I/F1440は、ネットワーク140を介して、TCP/IPやHTTPなどに従って、外部装置との通信を行う。
なお、上述した各実施形態の説明では、CPU1400が処理を実行する例について説明するが、CPU1400の処理のうち少なくとも一部を専用のハードウェアによって行うようにしてもよい。例えば、ディスプレイ130にGUI(Graphical User Interface)や画像データを表示する処理は、GPU(Graphics Processing Unit)で実行してもよい。また、ROM1420からプログラムコードを読み出してRAM1401に展開する処理は、転送装置として機能するDMA(Direct Memory Access)によって実行してもよい。
なお、本発明は、上述の実施形態の1以上の機能を実現するプログラムを1つ以上のプロセッサが読出して実行する処理でも実現可能である。プログラムは、ネットワーク又は記憶媒体を介して、プロセッサを有するシステム又は装置に供給するようにしてもよい。また、本発明は、上述の実施形態の1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。また、撮像装置100の各部は、図14に示すハードウェアにより実現してもよいし、ソフトウェアにより実現することもできる。
なお、各実施形態に係る撮像装置100の1以上の機能は、クライアント装置110が有していてもよい。例えば、図3に示す撮像装置100の制御部305、検知部306、検出部307、記憶部308はクライアント装置110が有していてもよい。この場合、撮像装置100は、撮像した画像の画像データと、駆動部304から取得されるPTZ情報とを関連付けてクライアント装置110へ送信する。クライアント装置110における制御部305は、巡回モードにおいて、予め設定した複数のプリセット範囲の各々を巡回して撮像するよう撮像装置100を制御する制御コマンドを撮像装置100へ送信する。そして、クライアント装置110の検知部306により画像から動体が検知された場合、または、クライアント装置110の検出部307により画像から特定の物体が検出された場合、制御部305は、追尾モードへ移行させ、次のような処理を行う。すなわち、制御部305は、当該動体または当該特定の物体を追尾対象として撮像範囲を変更するよう撮像装置100を制御する制御コマンドを撮像装置100へ送信する。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲は限定的に解釈されるものではない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱しない範囲において、様々な形で実施することができる。例えば、各実施形態を組み合わせたものも本明細書の開示内容に含まれる。