(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
図1を説明する。
図1はネットワークカメラのPTZ値を自動で設定する自動設定システムのシステム構成図である。
【0011】
図1の上図は、ビニールハウスである圃場500の天井等に固定設置されたネットワークカメラ300で、ビニールハウス内で生育中のいちごなどの畝400を天井から撮影している状況を示している。
ネットワークカメラ300から、畝400上の撮影対象までの直線距離をxとする。
【0012】
いちごなどの畝400は、直線状の形状であり、1つの固定されたネットワークカメラ300のプリセット値を変えることで、直線状の畝400を広い領域で撮影することができる。また
図1の点とは、畝400上にある任意の撮影対象(1カ所)を示したものである。
図1の下図は、ネットワークカメラ300と通信可能に接続される自動設定システムを示したものである。
【0013】
Webアプリケーションサーバ200は、
図8〜
図12に示したWeb画面をクライアント端末100のブラウザ内で表示するように表示制御するものであり、クライアント端末100からの処理リクエストに応じて、適宜、画面情報などを生成してクライアント端末100に送信するサーバである。
データベースサーバ201は、
図8〜
図12に示したWeb画面で表示される各種データを読み出し、書き出しするデータベースとして管理するサーバである。
【0014】
クライアント端末100は、Webアプリケーションサーバ200から受信した
図8〜
図12に示したWeb画面情報をWebブラウザ等で表示するための表示端末である。
【0015】
ネットワークカメラ300、Webアプリケーションサーバ200、データベースサーバ201、クライアント端末100は、インターネット回線またはLAN400等の通信回線によりそれぞれ通信可能に接続されている。
図2を説明する。
【0016】
以下、
図2を用いて、
図1に示したクライアント端末100、Webアプリケーションサーバ200、データベースサーバ201、ネットワークカメラ300に適用可能な情報処理装置のハードウェア構成について説明する。
【0017】
図2において、CPU1は、システムバス4に接続される各デバイスやコントローラを統括的に制御する。また、ROM2あるいは外部メモリ11には、CPU1の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0018】
RAM3は、CPU1の主メモリ、ワークエリア等として機能する。CPU1は、処理の実行に際して必要なプログラム等をROM2あるいは外部メモリ11からRAM3にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0019】
また、5は入力コントローラで、キーボード(KB)9やカメラデバイス12(撮像装置)、不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)10等の表示器への表示を制御する。なお、
図2では、CRT10と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0020】
メモリコントローラ7は、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ11へのアクセスを制御する。
【0021】
通信I/Fコントローラ8は、ネットワーク(例えば、
図1に示したLAN400)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0022】
なお、CPU1は、例えばRAM3内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT10上での表示を可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0023】
本発明を実現するための後述する各種プログラムは、外部メモリ11に記録されており、必要に応じてRAM3にロードされることによりCPU1によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ11に格納されており、これらについての詳細な説明も後述する。
【0024】
図3〜
図7を用いてネットワークカメラのPTZ値を自動で設定する際の流れを、ネットワークカメラ300と畝400との相対的な位置関係を用いて説明する。
【0025】
図3の(1)では、ネットワークカメラの撮影方位がそれぞれ異なる2か所として、始点と終点の距離をユーザが手動で実測する。始点とは畝400上の撮影対象の開始点である。終点とは畝400上の撮影対象の終了点である。
【0026】
ネットワークカメラ300から、畝400上の撮影対象(始点)までの直線距離aを、メジャー等を使ってユーザが実測する。この時に得られた直線距離aを
図8の画面の始点の距離804にユーザが手入力する。
【0027】
同様に、ネットワークカメラ300から、畝400上の撮影対象(終点)までの直線距離bを、メジャー等を使ってユーザが実測する。この時に得られた直線距離bを
図8の画面の終点の距離805にユーザが手入力する。
【0028】
図3の(2)では、ユーザがネットワークカメラ300のP(パン値)、T(チルト値)を手動で動かして、撮影対象(始点)が画角の中心に位置するように、P(パン値)、T(チルト値)を決める。この時に得られたP(パン値)、T(チルト値)を
図8の画面の始点のP(パン値)、T(チルト値)804にユーザが手入力する。
【0029】
同様に、ユーザがネットワークカメラ300のP(パン値)、T(チルト値)を手動で動かして、撮影対象(終点)が画角の中心に位置するように、P(パン値)、T(チルト値)を決める。この時に得られたP(パン値)、T(チルト値)を
図8の画面の終点のP(パン値)、T(チルト値)805にユーザが手入力する。
【0030】
図4の(3)では、自動設定システムは、直線距離aとP(パン値)、T(チルト値)の値から、ネットワークカメラ300を基準座標(0,0,0)とした場合の、撮影対象(始点)の相対座標(x0,y0,z0)を自動計算する。自動計算された後の相対座標(x0,y0,z0)は、データベースサーバ201に保存される。
【0031】
同様に、自動設定システムは、直線距離bとP(パン値)、T(チルト値)の値から、ネットワークカメラ300を基準座標(0,0,0)とした場合の、撮影対象(終点)の相対座標(xf,yf,zf)を自動計算する。自動計算された後の相対座標(xf,yf,zf)は、データベースサーバ201に保存される。また、
図4の(3)の処理は
図13のフローチャートのS201のステップに対応する処理である。
【0032】
図5の(4)では、
図8の画面の撮影幅802にユーザが任意の撮影幅(mm)を手入力する。ここで任意の撮影幅とは、畝400上の複数箇所での撮影対象において、畝400がそれぞれ撮影される畝の領域(尚、画像内における畝の幅や長さであってもよい)を、複数箇所において同じサイズに指定するための幅のことである。さらに任意の撮影幅毎に撮影方向がずれるので、撮影対象(各箇所)の画角の中心点も
図5に示したように、設定された均等間隔でずれることになる。
尚、複数箇所の撮影において、撮影幅(mm)が略均等間隔になるようになれば良く、複数箇所の撮影において、撮影幅(mm)の間隔に±数%以内の違いがあっても誤差の範囲とみなしても問題ない。
【0033】
さらに
図8の画面の被り率803にユーザが任意の被り率(0%〜99%)を手入力する。ここで任意の被り率とは、撮影対象(各箇所)の画角の中心点も
図5に示したように、設定された間隔でずらす場合に、どの程度撮影される領域を重複させるかの度合いを設定するものである。0%に設定した場合重複させる撮影される領域が無い設定である。尚、撮影対象物を直線上でのどの程度重複させるかの度合いとして設定してもよい。
尚、
図5、
図7に示したように撮影対象(各箇所)の画角の複数の中心点が撮影点同士である。
【0034】
自動設定システムは、任意の撮影幅(mm)、任意の被り率(0%〜99%)を用いて、始点の相対座標(x0,y0,z0)から隣に1カ所ずれた、次の撮影対象の相対座標(x1,y1,z1)を自動計算する。また、
図5の(4)の処理は
図13のフローチャートのS202のステップに対応する処理である。
【0035】
次の自動設定システムは、自動計算した次の撮影対象の相対座標(x1,y1,z1)が画角の中心点になるように、P(パン値)、T(チルト値)を自動計算する。自動計算された後のP(パン値)、T(チルト値)は、データベースサーバ201に保存される。
【0036】
ここで自動計算されたP(パン値)、T(チルト値)は、
図11の畝1_1の表示されているものに対応する。尚、
図11の畝1_0に表示されているP(パン値)、T(チルト値)は始点のP(パン値)、T(チルト値)である。また、
図5の(5)の処理は
図13のフローチャートのS203.S204のステップに対応する処理である。
【0037】
ここで自動設定システムは、任意の撮影幅(mm)、任意の被り率(0%〜99%)を用いて、始点の相対座標(x0,y0,z0)から隣に1カ所ずれた、次の撮影対象の画角の中心点の相対座標(x1,y1,z1)を自動計算できたので、始点の画角の中心点の相対座標(x0,y0,z0)から、相対座標(x1,y1,z1)にどの程度、中心点の相対座標が変動(増減)したかの変動比によって、次の撮影対象(畝1_1)で撮影される畝の領域を自動計算する。また、
図6の(6)の処理は
図13のフローチャートのS205のステップに対応する処理である。
【0038】
自動計算した次の撮影対象(畝1_1)で撮影される畝の領域から、Z(ズーム)を自動計算する。自動計算された後のZ(ズーム)は、データベースサーバ201に保存される。
【0039】
ここで自動計算されたZ(ズーム)は、
図11の畝1_1の表示されているものに対応する。また、
図6の(7)の処理は
図13のフローチャートのS206のステップに対応する処理である。
【0040】
図7に示すように、自動設定システムは、始点の相対座標(x0,y0,z0)と撮影幅から、隣の撮影対象の相対座標(x1,y1,z1)及び撮影される畝の領域(mm)の自動計算を、終点の相対座標(xf,yf,zf)を超えるまで繰り返して行うことで、各点のP(パン値)、T(チルト値)、Z(ズーム)を自動計算している。
図8を説明する。
図8はPTZ値を自動計算する場合に、ユーザが撮影対象となる箇所の始点及び終点を手動設定するための対象設定画面800の一例を示したものである。
図の名称801は直線状の撮影対象の名称を入力する入力欄であり、例えば「畝1」とユーザが手入力する。
【0041】
図の撮影幅802は複数箇所を撮影する際に、複数箇所における撮影対象物の幅を均等サイズにするための撮影対象物の幅(mm)を設定する欄であり、例えば「200mm」とユーザが手入力する(受付手段)。
【0042】
図の被り率803は、隣り合う2つの撮影される領域を0%〜99%の間で、どの程度被らせるかをユーザが任意に設定する欄であり、例えば「0%」とユーザが手入力する(受付手段)。
【0043】
図の始点804は、
図3で決めた始点にネットワークカメラを向けた場合のP(パン値)、T(チルト値)をユーザが任意に設定する欄であり、ユーザが手入力する。更にネットワークカメラ内の基準点(0,0,0)と始点(x0,y0,z0)までの2点間の直線距離aをユーザが実測して手入力する(受付手段)。
【0044】
図の終点805は、
図3で決めた終点にネットワークカメラを向けた場合のP(パン値)、T(チルト値)をユーザが任意に設定する欄であり、ユーザが手入力する。更にネットワークカメラ内の基準点(0,0,0)と終点(xf,yf,zf)までの2点間の直線距離bをユーザが実測して手入力する(受付手段)。
図の保存ボタン806は、名称801〜終点805の設定値をデータベースサーバ201に保存指示するものである。
図の807には、リアルタイムで始点を撮影した画像が表示されている。
図の808には、リアルタイムで終点を撮影した画像が表示されている。
図9を説明する。
【0045】
図9はPTZ値を自動計算する場合に、
図8で始点及び終点を手動設定が完了した後、1つの畝(直線状の撮影対象領域)の中で複数箇所に対応する各PTZ設定の一括生成を、Webアプリケーションサーバ200に指示するための生成指示画面900の一例を示したものである。
【0046】
図のPTZ設定生成902は、
図8の画面で基本情報を設定した903の畝1に関して、始点のZ(ズーム値)、終点までの間の撮影箇所のP(パン値)、T(チルト値)、Z(ズーム値)を、Webアプリケーションサーバ200に自動計算指示するためのボタンである。
図10を説明する。
【0047】
図10はPTZ値を自動計算する場合に、
図9で各PTZ設定の一括生成をWebアプリケーションサーバ200に指示した後、Webアプリケーションサーバ200側で既に計算された各PTZ設定の結果を、結果毎に一覧表示するための結果一覧画面1000の一例を示したものである。
【0048】
これまでにWebアプリケーションサーバ200において自動計算処理を行った、畝別の過去の計算結果を一覧表示したものであり、1001の一覧リスト中のデータを押下することで、
図11の画面に遷移する。
図11を説明する。
【0049】
図11はPTZ値を自動計算する場合に、
図10の一覧結果の中で1つの結果を選んだ後に、1つの畝(直線状の撮影対象領域)の中で複数箇所に対応する各PTZ設定の詳細結果(PTZ値の自動計算結果)を各撮影箇所単位で一覧表示するための結果一覧画面1100の一例を示したものである。
畝1_0は、始点のZ(ズーム値)の計算結果と、P(パン値)、T(チルト値)の設定値を示したものである。
また、畝1_0をが押下された場合には、
図11の画面に遷移する。
畝1_1〜畝1_7は、始点と終点との間の7カ所のP(パン値)、T(チルト値)、Z(ズーム値)の計算結果をそれぞれの撮影箇所で示したものである。
畝1_8は、設定した終点もしくは設定した終点を超えた箇所のP(パン値)、T(チルト値)、Z(ズーム値)の計算結果を示したものである。
有効にチェックが入ると、その撮影箇所の設定を有効にして撮影が実行される。チェックがない場合、その撮影箇所の設定が無効となり撮影が実行されない。
図12を説明する。
【0050】
図12はPTZ値を手動修正する場合に、
図11の一覧結果の中で1つの撮影箇所を選んだ後に、各PTZ設定の詳細結果(PTZ値の自動計算結果)を各撮影箇所単位で編集するための結果編集画面1200の一例を示したものである。
【0051】
1202の畝1_0は、始点のP(パン値)、T(チルト値)、Z(ズーム値)の結果を手動で修正するための修正欄であり、自動計算結果を微修正することができる。
図の修正ボタン1201は、1202で修正した後、畝1_0の修正値をデータベースサーバ201に修正指示するものである。
図13を説明する。
【0052】
以下、
図13を参照して、本発明のPTZ値自動設定システムにおける、Webアプリケーションサーバ200、データベースサーバ201側で動作するPTZ値自動設定アプリケーションでの処理について説明する。
【0053】
図13のフローチャートで示す処理は、Webアプリケーションサーバ200、データベースサーバ201のCPU1が所定の制御プログラムを読み出して実行する処理である。
【0054】
図13は畝撮影手法のフローチャートである。
図16は畝撮影手法で使用する数式を表す。以下、
図13を参照して、本実施形態の畝撮影手法のロジックを説明する。
【0055】
畝撮影手法全体の処理は、畝の相対位置を設定する前準備と畝を撮影するプリセット自動算出の処理からなる。P(パン値)・T(チルト値)・Z(ズーム)(以下PTZ)の値の算出はプリセット自動算出の処理に含まれる。
前準備の処理では畝の相対位置を設定する。畝は直線上の物体と仮定し、畝上の点の相対位置は畝の始点・終点の相対位置から補間する。
ステップS201では
図16の数式(1)〜数式(3)までの計算を行うことで、始点・終点の相対位置を自動計算することができる。
【0056】
ステップS202からステップS207まではプリセット自動算出の処理を表す。
図13に示すように、ステップS202からステップS204まではP(パン値)・T(チルト値)を算出する処理、ステップS205からステップS206まではZ(ズーム値)を算出する処理を表す。
ステップS202では、
図16の数式(4)〜数式(8)までの計算を行うことで、畝上の撮影点の相対位置を自動計算する。
これらの撮影点の相対位置からステップS203では
図16の数式(9)と数式(11)の計算を行うことで、P(パン値)を自動計算する。
ステップS204では
図16の数式(10)と数式(12)の計算を行うこと、撮影点でのT(チルト値)の自動計算を行う。
ステップS205では
図16の数式(13)〜数式(18)までの計算を行うことで、撮影点での撮影する領域の大きさを自動計算する。
ステップS206では
図16の数式(19)と数式(20)の計算を行うことで、撮影点でのZ(ズーム値)の自動計算を行う。
【0057】
ステップS207では、処理を継続するかどうかを確かめる処理を行う。
図16の数式(21)の計算を行い、条件を満たしている場合、プリセット自動算出処理は終了する。
【0058】
まとめると、畝撮影手法全体の処理はステップS201からステップS207までで、ステップS201は畝の相対位置を設定する前準備の処理、ステップS202からとステップS207まではプリセット自動算出の処理を表す。P(パン値)、T(チルト値)、Z(ズーム値)の算出処理はそれぞれステップS203、ステップS204、ステップS206を表す。
図14、
図15は、本発明のネットワークカメラとネットワークカメラから見た畝の相対位置関係を示す図である。
図14は一つのネットワークカメラと一つの畝、一つのネットワークカメラが狙う畝上のある撮影中心点(以下、点)から構成される。
【0059】
図14(a)、
図14(b)、
図15(c)では、ネットワークカメラを設置した際に最初にネットワークカメラが向いている方向(以下、カメラの初期方向)と点を指す方向をそれぞれネットワークカメラの真上、真横、立体的に見た図で表している。
図15(c)ではネットワークカメラのレンズと点までの距離を図で表している。
以下、
図14に示したネットワークカメラとネットワークカメラから見た畝の相対位置関係を説明する。
【0060】
ネットワークカメラは畝を撮影する場合、ネットワークカメラから見た畝の相対位置情報を知る必要がある。本発明ではこの相対位置をネットワークカメラを中心とした3次元ユークリッド空間の座標(xyz座標)で考える。ネットワークカメラは畝を撮影する場合、畝上に複数の点を算出し、それらの点を狙って撮影する。
図14(a)、(b)
図15(c)に示すように、畝上のある点の相対位置はカメラの初期方向とネットワークカメラの位置によって決まる。
【0061】
ネットワークカメラの点の狙い方は点が画像の中心に写るようにP(パン値)(水平方向の回転動作)とT(チルト値)(仰角又は俯角方向の回転動作)を変えることで行う。
図14(a)に示すように、P(パン値)(角度αと対応)はネットワークカメラをカメラの初期方向から点に向かって水平方向に回転させて調整する。
図14(b)に示すように、T(チルト値)(角度βと対応)はネットワークカメラをカメラの初期方向から仰角又は俯角方向に回転させて調整する。
【0062】
いちご等の畝を複数箇所で撮影した場合も、同じ基準で生育サイズを計測する必要があり、固定されて設置されたネットワークカメラから、畝400のどこを撮影しても畝400の撮影対象物の大きさが均等サイズになるようにZ(ズーム値)を自動計算して設定する必要がある。
尚、複数箇所の撮影において、撮影対象物の大きさが略均等サイズになるようになれば良く、複数箇所の撮影において、撮影対象物の大きさに±数%以内の違いがあっても誤差の範囲とみなしても問題ない。
図16を説明する。
【0063】
数式(1)〜数式(3)までの計算を行うことで、始点・終点の相対位置を自動計算することができる。x、y、z、α、βは
図14に示した相対座標及びパン角度、チルト角度である。dは
図15に示した直線距離である。
数式(4)〜数式(8)までの計算を行うことで、畝上の撮影点の相対位置を自動計算する。ΔTは撮影幅802である。
数式(9)と数式(11)の計算を行うことで、P(パン値)を自動計算する。pan
nは
図7に示したn番目の箇所のP(パン値)の計算値である。
数式(10)と数式(12)の計算を行うこと、T(チルト値)の自動計算を行う。tilt
nは
図7に示したn番目の箇所のT(チルト値)の計算値である。
【0064】
数式(13)〜数式(18)までの計算を行うことで、各撮影点での撮影する領域の大きさを自動計算する。T´
nは
図7に示したn番目の箇所の撮影する領域の計算値である。
【0065】
数式(19)と数式(20)の計算を行うことで、Z(ズーム値)の自動計算を行う。zoom
nは
図7に示したn番目の箇所のZ(ズーム値)の計算値である。
【0066】
また、本発明における実行可能なプログラムは、
図13の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、
図13の各処理ごとのプログラムであってもよい。
【0067】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0068】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0069】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0070】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0071】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0072】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0073】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。