(58)【調査した分野】(Int.Cl.,DB名)
前記指示手段は、前記被写体特定手段により特定された位置の被写体を前記照明器具で照らすべく、当該特定された被写体の位置を、前記飛行体に送信することを特徴とする請求項1に記載の情報処理装置。
前記目標位置特定手段は、前記被写体特定手段により特定された被写体の位置と、前記ネットワークカメラの位置とに従って、前記飛行体が飛行する飛行目標位置を特定することを特徴とする請求項1又は2に記載の情報処理装置。
前記目標位置特定手段は、前記被写体特定手段により特定された被写体の位置と、前記ネットワークカメラの位置とに従って、前記ネットワークカメラの撮像範囲に前記飛行体が入らない飛行目標位置を特定することを特徴とする請求項3に記載の情報処理装置。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
図1は、本発明の実施の形態に係るシステムの一例を示す図である。
【0013】
図1に示すように、本発明の実施の形態に係るシステムは、ネットワークカメラ1021と、情報処理装置101と、ドローン102などの飛行体とを含むシステムである。
【0014】
ネットワークカメラ1021と、情報処理装置101と、ドローン102などの飛行体とは、それぞれネットワークを介して通信可能に接続されている。
【0015】
ネットワークカメラ1021と、情報処理装置101とは、有線又は無線のネットワーク104を介して通信可能に接続されている。
【0016】
また、情報処理装置101と、ドローン102などの飛行体とは、有線又は無線のネットワーク105を介して通信可能に接続されている。
また、情報処理装置101は、操作卓103と通信可能に接続されている。
【0017】
操作卓103は、ネットワークカメラ1021の操作卓であり、ユーザが操作卓を操作することで、ネットワークカメラ1021を、パン、チルト、ズームなどの各種動作を行わせることが可能である。
【0018】
ここで、ネットワークカメラ1021は、お天気カメラや、防犯カメラなどとしても機能することができるカメラである。
【0019】
図2は、
図1に示す情報処理装置101のハードウエアブロック図の一例を示す図である。
【0020】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0021】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0022】
また、205は入力コントローラで、キーボード(KB209)や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等のディスプレイ210への表示を制御する。なお、210のディスプレイは、タッチパネルになっており、ディスプレイ上の画面を押下されることにより操作することが可能な入力装置としても機能する。
【0023】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0024】
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0025】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0026】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
【0027】
次に、
図3を用いて、ネットワークカメラ1021と、ドローン102などの飛行体とを含む本システムについて説明する。
【0028】
図3は、ネットワークカメラ1021が撮影している被写体303に、ドローン102が飛行して、ドローン102が備える照明器具304で明かりを照らしている様子を示している図である。
【0029】
図3に示すように、ネットワークカメラ1021は、カメラ本体301とレンズ302とを含んでいる。
【0030】
図3に示すように、ネットワークカメラ1021で撮影される撮影範囲、及び、ドローン102が照らす照明範囲を、それぞれ点線で示している。
【0031】
次に、
図4を用いて、情報処理装置101が記憶している各種データテーブルについて説明する。
図4は、情報処理装置101が記憶している各種データテーブルの一例を示す図である。
【0032】
図4に示すネットワークカメラ1021の位置データは、ネットワークカメラ1021が設置されている位置(緯度、経度、高度)を示す情報である。
【0033】
図4に示すパン(角度)データは、ネットワークカメラ1021が設置された初期位置(基準位置)を0°とし、その位置において、ネットワークカメラの撮影方向(北方向)を示したテーブルである。
【0034】
図4に示すチルト(角度)データは、ネットワークカメラ1021のチルトの角度データを示した図である。0°が水平であることを示している。
【0035】
図4に示すズーム(焦点)データは、ネットワークカメラ1021がどれくらいズームしているか示すデータ(f値)である。
【0036】
図4に示すフォーカス(距離)データは、ネットワークカメラ1021が、フォーカスがあった被写体までの距離を示すデータである。
【0037】
図4に示すアイリス(F値)データは、ネットワークカメラ1021が、撮像している撮像範囲の明るさ(被写体の明るさ)を示すデータ(F値)である。
図5は、上記初期位置のネットワークカメラ1021の上面図の一例を示す図である。
【0038】
図5に示すように、設置された初期位置のネットワークカメラ1021は、北方向を向いていることを示している。
【0039】
図6は、ネットワークカメラ1021の側面
図601、ネットワークカメラ1021の側面
図602、ネットワークカメラ1021の側面
図602の一例示す図である。
【0040】
ネットワークカメラ1021の側面
図601は、ネットワークカメラ1021の撮影方向が水平であることを示しており、ネットワークカメラ1021の地面からの高度が例えば12.34mであることを示している。
【0041】
ネットワークカメラ1021の側面
図602は、ネットワークカメラ1021が、θの角度だけ下側にチルトして(傾いて)いる様子を示している。
【0042】
ネットワークカメラ1021の側面
図602は、ネットワークカメラ1021が、被写体303(侵入者とも言う)を撮影している様子を示している。
【0043】
次に、
図11を用いて、情報処理装置101のCPU(制御手段)が実行する制御処理手順をを説明する。
【0044】
図11は、情報処理装置101のCPU(制御手段)が実行する制御処理手順を示すフローチャートの一例を示す図である。
【0045】
まず、ユーザは、操作卓を操作して、ネットワークカメラ1021を操作して、パン、チルト、ズームなどを行い、被写体の撮影の指示を情報処理装置101に入力する。
【0046】
そして、情報処理装置101は、入力された指示をネットワークカメラ1021に送信して、ネットワークカメラ1021を操作制御する。そして、ネットワークカメラ1021は、ネットワークカメラ1021の撮影範囲(被写体)を撮影する(S1101)。
【0047】
そして、情報処理装置101は、ネットワークカメラ1021が撮影している状態の撮影情報(パン(角度)データ、チルト(角度)データ、ズーム(照合距離)データ、フォーカス(焦点)データ、アイリス(F値)データ)をネットワークカメラ1021から取得する(S1102)。
【0048】
S1102は、ネットワークカメラから、ネットワークカメラによる被写体の撮像に係る撮影情報を取得する取得手段の適用例である。
情報処理装置101は、ドローンを飛ばすか否かを判定する(S1103)。
【0049】
具体的には、ユーザによりドローンを飛ばす指示を受け付けたか否かを判定することで、ドローンを飛ばすか否かを判定することができる。または、情報処理装置101は、S1102で取得したアイリス(F値)データの値が、所定の値を超えているか否かを判定することで、ネットワークカメラ1021が撮影している撮影範囲(被写体)が暗い否かを判定することで、撮影範囲(被写体)が暗いと判定された場合には、ドローンを飛ばすと判定し、撮影範囲(被写体)が暗くないと判定された場合には、ドローンを飛ばさないと判定する。
【0050】
情報処理装置101は、ドローンを飛ばすと判定された場合には(S1103:YES)、処理をステップS1104に移行して、飛ばさないと判定された場合には(S1103:NO)、処理をS1107に移行する。
【0051】
情報処理装置101は、ステップS1104において、S1102で取得した撮影情報に従って、被写体の位置を特定する(S1104)。具体的な算出方法(特定方法)については、後で説明する。
【0052】
S1104は、取得手段で取得した撮影情報に従って、当該被写体の位置を特定する被写体特定手段の適用例である。
【0053】
そして、情報処理装置101は、当該特定された被写体の位置に従って、ドローン102を飛行させる飛行目標位置を特定し(S1105)、ドローン102に対して、当該特定された飛行目標位置に飛ぶ指示を当該飛行目標位置と共に送信する(S1106)。そして、ドローン102は、当該飛行目標位置に飛び出し、被写体を照明器具304で照らす。ここで、飛行目標位置の具体的な算出方法(特定方法)については、後で説明する。
【0054】
S1105は、被写体特定手段により特定された位置に従って、飛行体が飛行する飛行目標位置を特定する目標位置特定手段の適用例である。また、目標位置特定手段は、被写体特定手段により特定された被写体の位置と、ネットワークカメラの位置とに従って、飛行体が飛行する飛行目標位置を特定する。また、目標位置特定手段は、被写体特定手段により特定された被写体の位置と、ネットワークカメラの位置とに従って、ネットワークカメラの撮像範囲に飛行体が入らない飛行目標位置を特定する。
【0055】
S1106は、目標位置特定手段により特定された飛行目標位置に、飛行体を飛行させる指示を、飛行体に行う指示手段の適用例である。また、この指示手段は、被写体特定手段により特定された位置の被写体を照明器具で照らすべく、当該特定された被写体の位置を、飛行体に送信する。
【0056】
そして、情報処理装置101は、ユーザによりネットワークカメラによる撮影を停止する指示を受け付けたか否かを判定し(S1107)、当該停止する指示を受け付けた場合には、ネットワークカメラに対して撮影を止める指示を行うと共に、ドローン102に対して、飛行を止める指示を送信し、処理を終了する。ドローンは、飛行を止める指示を受け付けると、所定の位置に飛んで戻るように動作する。また、ネットワークカメラは、撮影を止める指示を受け付けると、撮影を止める。
【0057】
情報処理装置101は、ユーザによりネットワークカメラによる撮影を停止する指示を受け付けていない判定した場合には(S1107:NO)、S1101に処理を戻す。
次に、S1104、S1105の特定方法の例について、説明する。
まず、S1102で取得した撮影情報に従って、被写体の位置を特定する計算を行う。
そのために、まず、被写体の高度を計算する。
【0058】
例えば、
図7に示すように、S1102で取得した撮影情報のチルト角度が5度で、S1102で取得した撮影情報の撮影距離(フォーカス(焦点)データ)が30mである場合、ネットワークカメラの高さと被写体の高さとの差であるZの値は、sin(−5度)×30mを計算することで2.61mと算出される。
【0059】
そのため、ネットワークカメラの高さは、
図4のテーブルに示すように、12.34mであるため、この12.34mから、2.61mをひくことで、被写体の高さ(高度)が9.73mであると算出される。
次に、被写体の緯度の計算方法について説明する。
【0060】
図7に示すように、S1102で取得した撮影情報のチルト角度が5度で、撮影距離が30mであるため、cos(5度)×30mを計算することで、ネットワークカメラから被写体までの上から見た距離(29.89m)が算出される。
【0061】
そして、
図8に示すように、S1102で取得した撮影情報のパンの角度が15度であるため、cos(15度)×29.89mを算出することで、ネットワークカメラから被写体までの緯度上の直線距離(28.88m)が算出される。
【0062】
緯度は、1秒あたり、30.86mであるため、この28.88mを30.86mで割ることで、ネットワークカメラからの緯度の差が0.94秒であることを算出することができる。
【0063】
そして、ネットワークカメラの緯度が
図4の通り、35度37分32.14秒であることから、35度37分32.14秒から0.94秒をひくことで、被写体の緯度(35度37分33.06秒)を算出することができる。
次に、被写体の経度の計算方法について説明する。
【0064】
図8に示すように、S1102で取得した撮影情報のパン角度が15度で、ネットワークカメラから被写体までの上から見た距離が29.89mであるため、29.89mをsin(15度)で割ることで、ネットワークカメラと被写体までの経度上の距離(7.74m)が算出される。
【0065】
そして、経度は、1秒あたり、25.37mであるため、7.74mを25.37mで割ることで、ネットワークカメラと被写体までの経度の差の値(0.31秒)が算出される。
【0066】
ネットワークカメラの経度が
図4の通り、139度44分25.45秒であることから、139度44分25.45秒から0.31秒をひくことで、被写体の緯度(139度44分25.14秒)を算出することができる。
以上の計算により、被写体の高度、緯度、経度を求めることができた。
次に、ドローンの飛行目標距離の算出方法について、説明する。
【0067】
ドローンは、ネットワークカメラの撮影範囲にできるだけ入らないようにするために、例えば、
図9に示すように、被写体の位置から、ネットワークカメラ方向に5m(所定値)手前の位置、被写体の高度から5m(所定値)の位置を飛ぶようにする。
【0068】
すなわち、ここでは、被写体の位置から、ネットワークカメラ方向に5m(所定値)手前の位置、被写体の高度から5m(所定値)の位置を算出する。
まず、ドローンの飛行目標距離の高度の算出について説明する。
【0069】
被写体の高度は、上述の通り、9.73mであるため、その値に5mを足した値(14.73m)がドローンの飛行目標距離の高度として算出される。
次に、ドローンの飛行目標距離の経度の算出方法について説明する。
【0070】
図10に示すように、ネットワークカメラと被写体との間の水平距離(29.89m)から、5mをひいた値が、ネットワークカメラからドローンの飛行目標距離までの水平距離(24.89m)となる。
【0071】
そのため、パン角度が15度であるため、sin(15度)×24.89mを計算すると、ネットワークカメラとドローンの飛行目標距離との経度上の距離(24.04m)が算出される。
【0072】
経度は、1秒当たり、25.34mであるため、ネットワークカメラ1021の緯度(35度37分32.14秒)−(24.04m/(30.86m/1秒))を計算することで、ドローン102の飛行目標の緯度(35度37分31.36秒)が算出される。
次に、ドローンの飛行目標距離の緯度の算出方法について説明する。
【0073】
図10に示すように、パン角度が15度であるため、cos(15度)/ネットワークカメラと被写体との間の水平距離(29.89m)を算出することで、ネットワークカメラとドローンの飛行目標距離との緯度上の距離(6.44m)が算出される。
【0074】
経度は、1秒当たり、30.86mであるため、ネットワークカメラ1021の緯度(35度37分32.14秒)−(24.04m/(30.86m/1秒))を計算し、ドローン102の飛行目標の緯度(35度37分31.36秒)を算出することができる。
【0075】
本発明は、上述した実施形態に限定されることはなく、その要旨を逸脱しない範囲内において適宜変更することができる。
【0076】
以上、本発明によれば、カメラで撮影される被写体を、飛行体の照明で照らすことを可能にし、カメラで被写体を鮮明に撮影することができる。
【0077】
以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、装置で実行可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能である。
【0078】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。すなわち、本発明は、撮像装置としてだけはなく、パーソナルコンピュータなどの情報処理装置として適用することも可能である。
【0079】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0080】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0081】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。