(57)【特許請求の範囲】
【請求項１】
複数の飛行物を写した撮像画像を処理する情報処理装置であって、
飛行物の重なり数が異なる複数のサンプル画像それぞれについて、明るさが閾値未満の領域に囲まれており、明るさが前記閾値以上であるスポット領域の数と、当該サンプル画像に写った飛行物の数とを含むサンプル情報を記憶する記憶部と、
前記撮像画像に含まれるスポット領域の数を算出し、前記複数のサンプル画像に対応するサンプル情報のうち、算出したスポット領域の数に応じたサンプル情報を選択し、選択したサンプル情報が示す飛行物の数に基づいて、前記撮像画像に写る飛行物の数を推定する演算部と、を有する情報処理装置。
【請求項２】
各サンプル画像に対応するサンプル情報は、当該サンプル画像において、明るさが閾値以上の領域の占める割合を示す明るさ値を更に含み、
前記演算部は、前記撮像画像の明るさ値を算出し、前記算出したスポット領域の数と算出した明るさ値とに応じたサンプル情報を選択する、請求項１記載の情報処理装置。
【請求項３】
前記記憶部は、前記重なり数と飛行物の飛行方向との組み合わせが異なる複数のサンプル画像それぞれについてのサンプル情報を記憶し、
前記演算部は、前記複数の飛行物を写した２以上の撮像画像から前記複数の飛行物の飛行方向を判定し、判定した飛行方向に基づいて選択するサンプル情報の候補を絞り込む、請求項１記載の情報処理装置。
【請求項４】
前記演算部は、前記複数の飛行物と撮像装置との間の距離および前記撮像画像の大きさの少なくとも一方に基づいて、各サンプル情報が示すスポット領域の数を補正し、サンプル情報毎の補正結果と前記算出したスポット領域の数とを比較することで、サンプル情報を選択する、請求項１記載の情報処理装置。
【請求項５】
前記演算部は、前記選択したサンプル情報が示す飛行物の数を、前記複数の飛行物と撮像装置との間の距離および前記撮像画像の大きさの少なくとも一方に基づいて補正し、補正結果を前記撮像画像に写る飛行物の数と推定する、請求項１記載の情報処理装置。
【請求項６】
複数の飛行物を写した撮像画像を処理するコンピュータによる画像処理方法であって、
前記コンピュータが、
前記撮像画像から、明るさが閾値未満の領域に囲まれており、明るさが前記閾値以上であるスポット領域の数を算出し、
それぞれがサンプル画像のスポット領域の数と当該サンプル画像に写った飛行物の数とを含む、飛行物の重なり数が異なる複数のサンプル画像に対応するサンプル情報の中から、算出したスポット領域の数に応じたサンプル情報を選択し、
選択したサンプル情報が示す飛行物の数に基づいて、前記撮像画像に写る飛行物の数を推定する、画像処理方法。
【請求項７】
複数の飛行物を写した撮像画像を処理するためのプログラムであって、
コンピュータに、
前記撮像画像から、明るさが閾値未満の領域に囲まれており、明るさが前記閾値以上であるスポット領域の数を算出し、
それぞれがサンプル画像のスポット領域の数と当該サンプル画像に写った飛行物の数とを含む、飛行物の重なり数が異なる複数のサンプル画像に対応するサンプル情報の中から、算出したスポット領域の数に応じたサンプル情報を選択し、
選択したサンプル情報が示す飛行物の数に基づいて、前記撮像画像に写る飛行物の数を推定する、処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
現在、種々の目的のため、鳥などの飛行物の個体数を調査したいことがある。例えば、環境保護活動の一環として、野生生物の現状把握のため、野鳥の個体数を調査することが考えられる。飛行物の個体数は、例えば、それら飛行物の飛行中にカウントする。
【０００３】
空間を飛行している飛行物をカウントする方法としては、人間が飛行物の存在する場所に出向いて目視によりカウントする方法や、撮像装置を用いて飛行物を撮像しておき、人間が撮像画像を見てカウントする方法が考えられる。また、飛行物を写した撮像画像に対してパターン認識などの画像処理技術を適用することで、撮像画像に写った飛行物の個体数を推定する方法も考えられる。例えば、カウントしたい飛行物の形状や色などを示すパターン情報を用意しておき、撮像画像からパターン情報に適合する領域を検出し、検出した領域の数を飛行物の個体数と推定する方法が考えられる。
【０００４】
なお、移動体がそれぞれ画面の中央に表示されるように２台のビデオカメラの方位角と仰角を制御し、移動体と２台のビデオカメラとを結ぶ２本の直線の方程式を算出し、移動体の３次元座標を算出する位置計測システムが提案されている。また、撮像画像から野鳥の飛来数を推定し、飛来数が閾値より大きい場合、現在実施している鳥害対策を異なる鳥害対策に変更するよう制御する鳥害防止装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−３４９７０７号公報
【特許文献２】特開２００８−７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、飛行物の個体数の調査においては、繁殖地（コロニー）から一斉に飛び立つ野鳥の群れなど、多数の飛行物を含む集団を調査したいことがある。しかし、そのような多数の飛行物を撮像すると、撮像した画像には奥行き方向に複数の飛行物が重なって写ることがある。そのため、形状や色を示すパターン情報に適合する領域を撮像画像から抽出するという従来の画像処理方法では、重なって写った複数の飛行物を区別することが難しく、撮像画像に写った飛行物の個体数を精度よく推定することが難しかった。
【課題を解決するための手段】
【０００７】
一側面では、複数の飛行物を写した撮像画像を処理する情報処理装置が提供される。情報処理装置は、記憶部と演算部とを有する。記憶部は、飛行物の重なり数が異なる複数のサンプル画像それぞれについて、明るさが閾値未満の領域に囲まれており、明るさが閾値以上であるスポット領域の数と、当該サンプル画像に写った飛行物の数とを含むサンプル情報を記憶する。演算部は、撮像画像に含まれるスポット領域の数を算出し、複数のサンプル画像に対応するサンプル情報のうち、算出したスポット領域の数に応じたサンプル情報を選択し、選択したサンプル情報が示す飛行物の数に基づいて、撮像画像に写る飛行物の数を推定する。
【０００８】
また、一側面では、複数の飛行物を写した撮像画像を処理するコンピュータによる画像処理方法が提供される。画像処理方法では、撮像画像から、明るさが閾値未満の領域に囲まれており、明るさが閾値以上であるスポット領域の数を算出する。それぞれがサンプル画像のスポット領域の数と当該サンプル画像に写った飛行物の数とを含む、飛行物の重なり数が異なる複数のサンプル画像に対応するサンプル情報の中から、算出したスポット領域の数に応じたサンプル情報を選択する。選択したサンプル情報が示す飛行物の数に基づいて、撮像画像に写る飛行物の数を推定する。
【０００９】
また、一側面では、複数の飛行物を写した撮像画像を処理するためのプログラムが提供される。プログラムを実行するコンピュータは、撮像画像から、明るさが閾値未満の領域に囲まれており、明るさが閾値以上であるスポット領域の数を算出する。それぞれがサンプル画像のスポット領域の数と当該サンプル画像に写った飛行物の数とを含む、飛行物の重なり数が異なる複数のサンプル画像に対応するサンプル情報の中から、算出したスポット領域の数に応じたサンプル情報を選択する。選択したサンプル情報が示す飛行物の数に基づいて、撮像画像に写る飛行物の数を推定する。
【発明の効果】
【００１０】
一側面では、撮像画像に写る飛行物の数の推定精度が向上する。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】監視装置のハードウェア例を示すブロック図である。
【図４】撮像方向と鳥の形状の関係例を示す図である。
【図５】層数と明るさ・光スポット数の関係例を示す図である。
【図６】層数と明るさ・光スポット数の関係例を示す図（続き）である。
【図７】鳥の群れにおける列数の変化例を示す図である。
【図８】シミュレーション装置と監視装置の機能例を示すブロック図である。
【図９】三次元モデルにおける鳥とカメラの配置例を示す図である。
【図１０】画像条件テーブルの例を示す図である。
【図１１】カメラ座標テーブルの例を示す図である。
【図１２】撮像画像における鳥の群れが写った領域の例を示す図である。
【図１３】カメラと鳥の間の距離の算出方法の例を示す図である。
【図１４】参照データ生成の手順例を示すフローチャートである。
【図１５】参照データ生成の手順例を示すフローチャート（続き）である。
【図１６】参照データテーブルの例を示す図である。
【図１７】鳥数推定の手順例を示すフローチャートである。
【図１８】鳥数推定の手順例を示すフローチャート（続き）である。
【図１９】飛行方向判定の手順例を示すフローチャートである。
【図２０】鳥数の推定結果の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置を示す図である。情報処理装置１０は、複数の飛行物を写した撮像画像１３を処理する。撮像画像１３は、例えば、情報処理装置１０に接続された１またはそれ以上の撮像装置によって生成されて情報処理装置１０に入力される。撮像される飛行物は、野鳥などの飛行生物でもよいし人工物でもよい。例えば、撮像画像１３を生成する撮像装置と情報処理装置１０とが、野鳥の繁殖地の近くに設置されて、繁殖地から飛び立つ野鳥の個体数を調査するために用いられる。
【００１３】
情報処理装置１０は、記憶部１１と演算部１２を有する。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性メモリでもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサでもよいし、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などのその他の電子回路でもよい。プロセッサは、例えば、メモリに記憶されたプログラムを実行する。プロセッサは、プログラムの命令を実行するための演算器やレジスタの他に、画像処理のための専用の電子回路を含んでいてもよい。
【００１４】
記憶部１１は、奥行き方向の飛行物の重なり数（例えば、層数）が異なる複数のサンプル画像それぞれについて、サンプル情報を記憶する。例えば、記憶部１１は、サンプル画像＃１に対応するサンプル情報１１ａと、サンプル画像＃２に対応するサンプル情報１１ｂと、サンプル画像＃３に対応するサンプル情報１１ｃを記憶する。例えば、サンプル画像＃１は重なり数が２であり、サンプル画像＃２は重なり数が３であり、サンプル画像＃３は重なり数が４である。各サンプル情報は、サンプル画像に含まれるスポット領域の数と、サンプル画像に写った飛行物の数とを含む。スポット領域は、明るさが閾値未満の領域（例えば、輝度が閾値未満である画素が連続している領域）に囲まれている、明るさが閾値以上の領域（例えば、輝度が閾値以上である画素が連続している領域）である。スポット領域として検出する領域は、一定の画素数以上の大きさのものに限定してもよい。
【００１５】
サンプル画像＃１〜＃３は、シミュレーションによって生成された画像でもよいし、実際の飛行物を撮像した画像であってもよい。記憶部１１は、サンプル情報１１ａ，１１ｂ，１１ｃを記憶していればよく、サンプル画像＃１〜＃３を記憶していなくてもよい。例えば、情報処理装置１０以外の装置が、シミュレーションによって得られたサンプル画像＃１〜＃３からサンプル情報１１ａ，１１ｂ，１１ｃを生成しておき、情報処理装置１０にサンプル情報１１ａ，１１ｂ，１１ｃを格納するようにしてもよい。
【００１６】
演算部１２は、撮像画像１３を取得し、画像処理によって撮像画像１３に含まれるスポット領域の数を算出する。そして、演算部１２は、記憶部１１に記憶されたサンプル情報１１ａ，１１ｂ，１１ｃのうち、撮像画像１３から算出したスポット領域の数に応じたサンプル情報（例えば、サンプル情報１１ｂ）を選択する。演算部１２は、選択したサンプル情報が示す飛行物の数に基づいて、撮像画像１３に写る飛行物の数を推定する。
【００１７】
例えば、演算部１２は、撮像画像１３を生成した撮像装置と飛行物との間の距離、および、撮像画像１３の大きさの少なくとも一方に基づいて、各サンプル情報が示すスポット領域の数を補正する。そして、演算部１２は、サンプル情報毎の補正結果と撮像画像１３から算出したスポット領域の数とを比較することで、サンプル情報を選択する（例えば、両者が最も近くなるサンプル情報を選択する）。撮像装置と飛行物との間の距離は、２台の撮像装置を用いて生成された２つの撮像画像における飛行物が写っている位置の違いから三角測量の方法によって算出することもできるし、画像上の飛行物の大きさから推定することもできる。また、例えば、演算部１２は、選択したサンプル情報が示す飛行物の数を、撮像装置と飛行物との距離および撮像画像の大きさの少なくとも一方に基づいて補正し、補正結果を撮像画像１３に写る飛行物の数と推定する。
【００１８】
なお、サンプル情報１１ａ，１１ｂ，１１ｃは、サンプル画像において明るさが閾値以上である領域の占める割合を示す明るさ値を更に含んでいてもよい。その場合、演算部１２は、撮像画像１３の明るさ値を算出し、撮像画像１３のスポット領域の数と撮像画像１３の明るさ値とに応じたサンプル情報を選択することもできる。例えば、演算部１２は、明るさ値が撮像画像１３の明るさ値と近く（例えば、両者の差が所定値以下であり）、かつ、補正したスポット領域の数が撮像画像１３のスポット領域の数と近い（例えば、両者の差が所定値以下である）サンプル情報を選択することが考えられる。
【００１９】
また、記憶部１１には、奥行き方向の飛行物の重なり数と飛行物の飛行方向との組み合わせが異なる複数のサンプル画像それぞれについて、サンプル情報を記憶してもよい。その場合、演算部１２は、撮像画像１３に写る飛行物の飛行方向を判定し、判定した飛行方向に基づいて、選択するサンプル情報の候補を絞り込むこともできる。飛行方向は、例えば、同じ撮像装置が異なるタイミングで生成した２以上の撮像画像から、画像上での飛行物の位置や大きさの変化を検出することで、判定することが可能である。これにより、飛行方向によってスポット領域の現れ方が異なるような飛行物にも対応できる。
【００２０】
第１の実施の形態の情報処理装置１０によれば、奥行き方向に複数の飛行物が重なることによって画像に現れるスポット領域の数と、画像に写る飛行物の数との関係を示す情報が参照される。これにより、撮像画像１３の奥行き方向に複数の飛行物が重なって写っていても（例えば、飛行物の集団が複数の層を形成して飛行していても）、撮像画像１３のスポット領域の数から、飛行物の数を精度よく推定することができる。なお、以下に説明する第２の実施の形態では、撮像画像に写る鳥の数を推定する例を挙げる。
【００２１】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。第２の実施の形態の情報処理システムは、空中を飛行する鳥の群れ（例えば、繁殖地から飛び立つ鳥の群れ）を撮像した撮像画像から、撮像画像に写る鳥の数を推定する。この情報処理システムは、例えば、環境保護活動の一環として鳥の個体数を調査するために用いられる。この情報処理システムは、カメラ２１，２２、シミュレーション装置１００および監視装置２００を含む。カメラ２１，２２および監視装置２００は、鳥の生息地近辺に設置され、シミュレーション装置１００は、鳥の生息地から遠くの場所に設置される。
【００２２】
カメラ２１，２２は、静止画像（または、動画像でもよい）を生成する撮像装置であり、監視装置２００と接続されている。カメラ２１，２２は、空中を飛行する鳥の群れを撮像し、撮像画像を監視装置２００に出力する。カメラ２１，２２は、一定距離だけ離すと共に、光軸が互いに平行でレンズ面が同じ方向を向くように設置される。２台のカメラをこのように設置することで、鳥の群れとカメラ２１，２２の間の距離を、２つの撮像画像から算出することができる（距離算出の詳細は後述する）。また、カメラ２１，２２は、空中に向かって仰角（水平面と光軸との間の角度）が一定になるように設置される。
【００２３】
屋外で鳥の群れを自動的に撮像するために、カメラ２１，２２は、鳥の群れを示す可能性のある影を視野角内に検出したときのみ、撮像画像を生成して監視装置２００に提供するようにしてもよい。静止画像を生成する場合、カメラ２１，２２は、少なくとも鳥の群れを示す可能性のある影を検出したとき、所定の時間間隔（例えば、数百ミリ秒から数秒程度）で連続して複数の撮像画像を生成し、監視装置２００に提供する。撮像タイミングの異なる複数の撮像画像を利用することで、カメラ２１，２２に対する鳥の飛行方向を判定することが可能となる。なお、カメラ２１，２２は、遠隔地から仰角を指示できるように、仰角を変えるステージを備えていてもよい。また、監視装置２００には、３台以上のカメラを接続してもよい。また、後述するように三角測量以外の方法で鳥との距離を推定できる場合には、監視装置２００に接続するカメラを１台とすることもできる。
【００２４】
シミュレーション装置１００は、ユーザが操作する端末装置としてのコンピュータである。ただし、シミュレーション装置１００を、端末装置からアクセスされるサーバコンピュータとすることもできる。シミュレーション装置１００は、三次元モデルを生成できるＣＡＤ（Computer Aided Design）ソフトウェアを用いて、空中を飛行する鳥の群れの射影をシミュレーションする。シミュレーションは、複数の鳥の配置（例えば、何層に分かれて複数の鳥が飛行しているか）や鳥の群れを見る方向などの条件を変えて、複数通りについて行う。そして、シミュレーション装置１００は、シミュレーション結果から、鳥の群れを見る方向と鳥の群れの射影がもつ特徴と鳥数の関係を示す参照データを生成する。参照データは、監視装置２００に提供されて鳥数の推定のために利用される。
【００２５】
監視装置２００は、カメラ２１，２２から取得した撮像画像を用いて、飛行する鳥の数を推定するコンピュータである。監視装置２００は、ユーザインタフェースを備える端末装置であってもよいし、端末装置からネットワーク３０を介してアクセスされるものであってもよい。監視装置２００は、カメラ２１，２２の仰角やカメラ２１，２２に対する鳥の群れの飛行方向などの撮像条件を確認すると共に、撮像画像から鳥の群れの射影がもつ特徴（例えば、影がある領域と影がない空の領域との間の関係）を抽出する。そして、監視装置２００は、シミュレーション装置１００によって生成された参照データと、撮像条件および撮像画像から抽出された特徴とを比較して、撮像画像に写る鳥の数を推定する。
【００２６】
なお、シミュレーション装置１００が生成した参照データは、監視装置２００を鳥の生息地近くに配置する前に監視装置２００が備える不揮発性の記憶装置に記録しておいてもよいし、ネットワーク３０経由で監視装置２００に提供してもよい。また、参照データは、可搬記録媒体に記録し、配置された後の監視装置２００が可搬記録媒体から読み出すようにしてもよい。また、監視装置２００の鳥数の推定結果は、ネットワーク３０経由で所定のコンピュータに自動的に報告されるようにしてもよいし、ユーザが監視装置２００の備える入出力装置を直接操作して確認するようにしてもよい。よって、シミュレーション装置１００および監視装置２００は、参照データの提供方法や鳥数の報告方法に応じて、ネットワーク３０に接続されることもあるし、接続されないこともある。以下では、シミュレーション装置１００と監視装置２００が、ネットワーク３０に接続されているとする。
【００２７】
図３は、監視装置のハードウェア例を示すブロック図である。監視装置２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、画像信号処理部２０４、入力信号処理部２０５、ディスクドライブ２０６、通信部２０７およびインタフェース２０８を有する。上記の各ユニットは、バスに接続されている。なお、ＣＰＵ２０１は第１の実施の形態の演算部１２の一例であり、ＲＡＭ２０２は第１の実施の形態の記憶部１１の一例である。
【００２８】
ＣＰＵ２０１は、プログラムの命令を実行する演算器を含むプロセッサである。ＣＰＵ２０１は、ＨＤＤ２０３に記憶されているプログラムやデータの少なくとも一部をＲＡＭ２０２にロードし、プログラムを実行する。なお、ＣＰＵ２０１は複数のプロセッサコアを備えてもよく、監視装置２００は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列実行してもよい。
【００２９】
ＲＡＭ２０２は、ＣＰＵ２０１が実行するプログラムや計算に用いられるデータを一時的に記憶する揮発性メモリである。なお、監視装置２００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個の揮発性メモリを備えてもよい。
【００３０】
ＨＤＤ２０３は、ＯＳ（Operating System）やファームウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性記憶装置である。なお、監視装置２００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数の不揮発性記憶装置を備えてもよい。
【００３１】
画像信号処理部２０４は、ＣＰＵ２０１からの命令に従って、監視装置２００に接続されたディスプレイ２３に画像を出力する。ディスプレイ２３としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００３２】
入力信号処理部２０５は、監視装置２００に接続された入力デバイス２４から入力信号を取得し、ＣＰＵ２０１に通知する。入力デバイス２４としては、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００３３】
ディスクドライブ２０６は、記録媒体２５に記録されたプログラムやデータを読み取る駆動装置である。記録媒体２５として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。ディスクドライブ２０６は、ＣＰＵ２０１からの命令に従って、記録媒体２５から読み取ったプログラムやデータをＲＡＭ２０２またはＨＤＤ２０３に格納する。
【００３４】
通信部２０７は、ネットワーク３０を利用して他のコンピュータ（例えば、シミュレーション装置１００）と通信を行えるインタフェースである。通信部２０７は、有線網に接続する有線インタフェースでもよいし、無線網に接続する無線インタフェースでもよい。
【００３５】
インタフェース２０８は、カメラ２１，２２と接続される端子を備える。インタフェース２０８とカメラ２１，２２との接続には、ＵＳＢ（Universal Serial Bus）ケーブルなどのデジタル信号ケーブルを用いることができる。インタフェース２０８は、カメラ２１，２２から撮像画像を取得して、ＲＡＭ２０２またはＨＤＤ２０３に格納する。
【００３６】
なお、シミュレーション装置１００も、監視装置２００と同様のハードウェアを用いて実現できる。ただし、シミュレーション装置１００は、ディスクドライブ２０６やインタフェース２０８を備えていなくてもよく、サーバコンピュータである場合は、画像信号処理部２０４や入力信号処理部２０５を備えていなくてもよい。また、監視装置２００は、ディスクドライブ２０６を備えていなくてもよく、他のコンピュータからアクセス可能である場合は、画像信号処理部２０４や入力信号処理部２０５を備えていなくてもよい。
【００３７】
図４は、撮像方向と鳥の形状の関係例を示す図である。カメラ２１，２２が同じ鳥の群れを撮像した場合であっても、鳥の群れをどの方向から撮るかによって、撮像画像に写る鳥の群れの射影は異なる。図４の例は、１層で飛行する６羽の鳥の群れを、真下から（仰角９０°で）撮像した場合と、正面・横・斜めの３方向からそれぞれ水平に（仰角０°で）撮像した場合の、撮像画像に写る鳥の群れの射影を示している。
【００３８】
鳥の群れを真下から撮ると、図４の右下に示すように、これら６羽の鳥が互いに離れて写る。鳥の群れを飛行方向に対して正面から水平に撮ると、図４の右上に示すように、ある鳥とその後ろに続いて飛行する他の鳥とが、少なくとも部分的に重なって写る。鳥の群れを飛行方向に対して横から水平に撮ると、図４の左下に示すように、ある鳥とその横に並んで飛行する他の鳥とが、少なくとも部分的に重なって写る。鳥の群れを飛行方向に対して斜め４５°（図４では鳥の左前方）から水平に撮ると、図４の左上に示すように、ある鳥とその斜め後ろに飛行する他の鳥とが、少なくとも部分的に重なって写る。
【００３９】
このように、撮像画像上での鳥の重なり方は、飛行方向に対して正面・横・斜めの何れの方向から鳥の群れを撮像するかによって異なる。また、鳥の重なり方は、鳥の群れを真下から撮ったか、水平方向から撮ったか、その中間の角度で撮ったかなど、仰角によっても異なる。また、鳥の重なり方は、複数の鳥が水平面に対して垂直方向に複数の層を形成して飛行し得る場合に、形成される層の数によっても異なる。また、鳥の重なり方は、複数の鳥が先頭から後ろに向かって複数の列を形成して飛行し得る場合に、形成される列の数によっても異なる。そこで、シミュレーション装置１００は、参照データを生成するにあたって、鳥の群れの層数・列数や、鳥の飛行方向に対する撮像方向（正面・横・斜め）・仰角を変えながら、鳥の群れの射影をシミュレーションする。
【００４０】
図５は、層数と明るさ・光スポット数の関係例を示す図である。鳥の群れが水平面に対して垂直方向に複数の層を形成して飛行しているとき、カメラ２１，２２が仰角９０°で空を見上げると、撮像画像の奥行き方向に複数の鳥が重なって写る。
【００４１】
このとき、ある層の鳥と別の層の鳥とが、撮像画像上で厳密に重なって写ることは少なく、少しずれて（部分的に重なって）写ることが多い。このため、鳥の群れにおける層数が増えるほど、撮像画像の明るさが低下すると共に、光スポットの数が増加する。
【００４２】
撮像画像の明るさは、自然光が遮られないことで輝度が閾値以上となった画素（明るい画素）と、鳥により自然光が遮られることで輝度が閾値未満となった画素（暗い画素）との比を示す。撮像画像の明るさを示す値は、例えば、明るい画素の数／暗い画素の数、または、明るい画素の数／（明るい画素の数＋暗い画素の数）のように算出される。層数が増えるほど、鳥が写る領域が大きくなり空が写る領域が小さくなるため、撮像画像の明るさが低下する。また、光スポットは、暗い画素に囲まれた明るい画素からなる領域であって、大きさが閾値以上のものである。層数が増えるほど、ある層の鳥の射影と別の層の鳥の射影によって囲まれた領域が撮像画像に多く現れ、光スポットの数が増加する。
【００４３】
一例として、図５の（Ａ）は、８羽の鳥が１層で飛行する群れを、仰角９０°から撮像した画像を示している。（Ａ）の撮像画像は光スポットを含まない。図５の（Ｂ）は、１層目に８羽の鳥が飛行し２層目に７羽の鳥が飛行する群れ、すなわち、１５羽の鳥が２層で飛行する群れを、仰角９０°から撮像した画像を示している。（Ｂ）の撮像画像は光スポットを含まない一方、（Ａ）の撮像画像に比べて明るさが減少している。
【００４４】
図６は、層数と明るさ・光スポット数の関係例を示す図（続き）である。図６の（Ｃ）は、１層目に８羽の鳥が飛行し２層目に７羽の鳥が飛行し３層目に８羽の鳥が飛行する群れ、すなわち、２３羽の鳥が３層で飛行する群れを、仰角９０°から撮像した画像を示している。（Ｃ）の撮像画像は、７個の光スポットを含み、また、前述の（Ｂ）の撮像画像に比べて鳥の射影の密度が高くなり明るさが減少している。図６の（Ｄ）は、１層目に８羽の鳥が飛行し２層目に７羽の鳥が飛行し３層目に８羽の鳥が飛行し４層目に７羽の鳥が飛行する群れ、すなわち、３０羽の鳥が４層で飛行する群れを、仰角９０°から撮像した画像を示している。（Ｄ）の撮像画像は、１３個の光スポットを含み、また、前述の（Ｃ）の撮像画像に比べて更に鳥の射影の密度が高くなり明るさが減少している。
【００４５】
このように、鳥の群れにおける層数は、撮像画像の明るさや撮像画像に現れる光スポットの数に影響する。そこで、監視装置２００は、撮像画像から明るさや光スポット数を特徴情報として抽出し、層数や撮像画像に写った鳥の数を推定する。
【００４６】
図７は、鳥の群れにおける列数の変化例を示す図である。鳥の群れは、水平面内の飛行方向と垂直なライン上に複数の鳥が並ぶ（横に並ぶ）ことで、列を形成することがある。複数の列を形成して飛行する鳥の群れを、正面から仰角０°で撮像すると、撮像画像の奥行き方向に複数の鳥が重なって写る。なお、第２の実施の形態では、鳥の群れの列数は、先頭の１羽を除外してカウントすることとする。
【００４７】
一例として、図７の（Ａ）は、６羽の鳥が１層・２列で飛行する群れを、仰角０°と仰角９０°から撮像した画像を示している。仰角０°で撮像した画像上では、手前の列の鳥と奥の列の鳥とが重なって写っている。図７の（Ｂ）は、１０羽の鳥が１層・３列で飛行する群れを、仰角０°と仰角９０°から撮像した画像を示している。（Ｂ）の仰角０°で撮像した画像は、（Ａ）の撮像画像よりも明るさが減少している。図７の（Ｃ）は、１５羽の鳥が１層・４列で飛行する群れを、仰角０°と仰角９０°から撮像した画像を示している。（Ｃ）の仰角０°で撮像した画像は、（Ｂ）の撮像画像よりも更に明るさが減少している。なお、図７の例では、仰角０°から撮像した画像には光スポットが現れていないが、鳥の配置によっては光スポットが現れることもある。
【００４８】
このように、仰角０°で鳥の群れを撮像すると、列数が撮像画像の明るさや撮像画像に現れる光スポットの数に影響を与える。そこで、シミュレーション装置１００は、鳥の群れの列数も変えながら、鳥の群れの射影をシミュレーションする。なお、以下に説明するシミュレーション方法では、参照データの量を抑制するため仰角＝０°のときのみ列数を可変としているが、他の仰角のときに列数を可変にしてもよい。
【００４９】
図８は、シミュレーション装置と監視装置の機能例を示すブロック図である。
シミュレーション装置１００は、モデル条件記憶部１１０、三次元モデル生成部１２０、参照画像処理部１３０および参照データ記憶部１４０を有する。モデル条件記憶部１１０および参照データ記憶部１４０は、シミュレーション装置１００が備えるＲＡＭやＨＤＤに確保された記憶領域として実現できる。三次元モデル生成部１２０および参照画像処理部１３０は、プロセッサが実行するプログラムのモジュールとして実現できる。
【００５０】
モデル条件記憶部１１０は、鳥の群れを表した三次元モデルを生成して鳥の群れの射影をシミュレーションするための条件を示すモデル条件情報を記憶する。モデル条件情報には、どのような層数・列数をもつ鳥の群れのモデルを用意するかを示す情報、および、三次元モデル上でどの方向から鳥の群れを観察するかを示す情報が含まれる。
【００５１】
三次元モデル生成部１２０は、三次元モデルを処理するＣＡＤ機能を備える。三次元モデル生成部１２０は、モデル条件記憶部１１０に記憶されたモデル条件情報に基づいて、仮想的な三次元空間に複数の鳥の形状を配置し、鳥の群れを表した三次元モデルを生成する。そして、三次元モデル生成部１２０は、モデル条件情報に基づいて、三次元モデル上に仮想的なカメラを配置し、その仮想的なカメラから見た鳥の群れの形状を表す参照画像を生成する。三次元モデル生成部１２０は、モデル条件情報に従って、鳥の群れの層数・列数や鳥の群れを観察する方向を変えながら、複数の参照画像を生成していく。
【００５２】
参照画像処理部１３０は、デジタル二次元画像を処理する画像処理機能を備える。参照画像処理部１３０は、三次元モデル生成部１２０が生成した複数の参照画像それぞれを解析し、特徴情報として参照画像の明るさおよび参照画像に現れる光スポットの数を算出する。また、参照画像処理部１３０は、各参照画像が生成されたときに三次元モデル上に配置されていた鳥の形状の数を三次元モデル生成部１２０に確認する。そして、参照画像処理部１３０は、参照画像毎に、明るさ・光スポット数などの特徴情報および鳥数を示す参照データを生成し、参照データを参照データ記憶部１４０に格納する。
【００５３】
参照データ記憶部１４０は、参照画像処理部１３０が生成した参照データを記憶する。参照データ記憶部１４０に記憶された参照データは、監視装置２００を鳥の生息地近くに設置する前または設置後に、監視装置２００に複製される。参照データを複製する方法としては、ネットワーク３０を用いてシミュレーション装置１００から監視装置２００に転送する方法や、ＣＤやＤＶＤなどの可搬記録媒体を利用する方法などが考えられる。なお、参照画像は、第１の実施の形態で説明したサンプル画像の一例であり、参照データは、第１の実施の形態で説明したサンプル情報１１ａ，１１ｂ，１１ｃの一例である。
【００５４】
監視装置２００は、参照データ記憶部２１０、撮像画像取得部２２０、撮像画像処理部２３０および鳥数算出部２４０を有する。参照データ記憶部２１０は、監視装置２００が備えるＲＡＭ２０２やＨＤＤ２０３などの記憶装置に確保された記憶領域として実現できる。撮像画像取得部２２０、撮像画像処理部２３０および鳥数算出部２４０は、ＣＰＵ２０１が実行するプログラムのモジュールとして実現できる。
【００５５】
参照データ記憶部２１０は、シミュレーション装置１００が生成した参照データを記憶する。また、参照データ記憶部２１０は、参照データとその参照データが生成される元になった参照画像の撮像条件とを関連付けるため、シミュレーション装置１００がもつモデル条件情報の少なくとも一部を記憶する。ただし、シミュレーション装置１００から複製される参照データに、撮像条件の情報を埋め込むようにしてもよい。
【００５６】
撮像画像取得部２２０は、インタフェース２０８を介してカメラ２１，２２から撮像画像のデジタル信号を取得し、撮像画像を撮像画像処理部２３０に提供する。このとき、撮像画像取得部２２０は、カメラ２１が時刻ｔに撮像した画像と、カメラ２１が時刻ｔから所定時間後（または、所定時間前）に撮像した画像と、カメラ２２が時刻ｔ（または、時刻ｔに近い時刻）に撮像した画像とを提供する。カメラ２１，２２から取得する撮像画像が動画像である場合、撮像画像取得部２２０は、動画像から上記の静止画像を切り出す。
【００５７】
また、撮像画像取得部２２０は、カメラ２１，２２の設置状態を示す情報を撮像画像処理部２３０に提供する。設置状態の情報には、カメラ２１，２２の距離（光軸間距離）とカメラ２１，２２の仰角とが含まれる。光軸間距離および仰角の情報は、カメラ２１，２２を鳥の生息地近くに設置するにあたって監視装置２００に設定される。ただし、カメラ２１，２２が仰角を自動調整するステージを備えている場合、撮像画像取得部２２０は、現在の仰角の情報をカメラ２１，２２から取得できることがある。
【００５８】
撮像画像処理部２３０は、デジタル二次元画像を処理する画像処理機能を備える。撮像画像処理部２３０は、撮像画像取得部２２０から取得した撮像画像を解析し、特徴情報として撮像画像の明るさおよび撮像画像に現れる光スポットの数を算出する。また、撮像画像処理部２３０は、撮像タイミングの異なる２つの撮像画像から、カメラ２１，２２に対する鳥の群れの飛行方向を判定し、異なるカメラで生成された２つの撮像画像から、カメラ２１，２２と鳥の群れとの間の距離を三角測量の方法で算出する。撮像画像処理部２３０は、明るさ・光スポット数などの特徴情報、および、飛行方向・仰角などの撮像条件の情報を含む撮像データを生成し、撮像データを鳥数算出部２４０に提供する。
【００５９】
鳥数算出部２４０は、参照データ記憶部２１０に記憶された参照データと、撮像画像処理部２３０から取得する撮像データとに基づいて、撮像画像に写った鳥の数を推定する。具体的には、鳥数算出部２４０は、シミュレーションによって用意された複数の参照画像を、飛行方向や仰角などの撮像条件が共通する（同一または近い）ものに絞り込む。そして、鳥数算出部２４０は、絞り込んだ参照画像の中から、明るさや光スポット数などの特徴が共通する（同一または近い）ものを選択し、選択した参照画像の鳥数を用いて、撮像画像の鳥数の概数を算出する。なお、明るさ・光スポット数の比較や、撮像画像の鳥数の推定では、カメラ２１，２２と鳥の群れとの間の距離などに応じて数値を適宜補正する。
【００６０】
図９は、三次元モデルにおける鳥とカメラの配置例を示す図である。三次元モデル生成部１２０が生成する三次元モデルでは、互いに直交するｘ軸・ｙ軸・ｚ軸によって定義される仮想的な三次元空間に、鳥の形状や仮想的なカメラが配置される。
【００６１】
複数の鳥の形状を配置して群れをモデル化するにあたっては、以下のような鳥の群れの性質を考慮する。（ａ）各鳥は、仲間の鳥との距離が近すぎる場合、その仲間の鳥から離れようとする（引き離し：Separation）。（ｂ）各鳥は、周りにいる仲間の鳥と同じ方向を向いて飛行しようとする（整列：Alignment）。（ｃ）各鳥は、仲間の鳥との距離が近くなり過ぎない範囲で、群れの中心に近づこうとする（結合：Cohesion）。また、鳥は、その体の構造上、ほぼ水平に飛行することが多く、垂直方向への傾きは−２０°〜＋２０°の範囲に収まることが多い。鳥の群れの性質については、例えば、次の論文にも記載されている（Craig Reynolds, "Flocks, Herds, and Schools: A Distributed Behavioral Model", Proc. of ACM SIGGRAPH '87 Conference, pp.25-34, 1987.）。
【００６２】
以上のような鳥の群れの性質を満たすように、複数の鳥の形状を配置して三次元モデルを生成する。このとき、群れの中心が原点（０，０，０）に位置し、各鳥はｘ軸の正方向を向いて水平に飛行しているようにする。なお、図９には簡略化のため１羽の鳥の形状のみ記載しているが、実際には複数の鳥の形状が仮想的な三次元空間に配置される。
【００６３】
モデル化された鳥の群れは、仮想的なカメラによって複数の方向から観察される。仮想的なカメラは、それぞれ原点（０，０，０）を向くように配置される。図９には、ｘ軸上の座標（２０，０，０）の位置から仰角０°で鳥の群れを観察する仮想的なカメラと、ｙ軸上の座標（０，２０，０）の位置から仰角０°で鳥の群れを観察する仮想的なカメラと、ｚ軸上の座標（０，０，−２０）の位置から仰角９０°で鳥の群れを観察する仮想的なカメラとが記載されている。各仮想的なカメラと原点との間の距離は、２０に固定している。三次元モデル上での距離＝１は、例えば、現実の距離１ｍに対応する。
【００６４】
ここで、シミュレーションにおける仮想的なカメラの配置を決めるにあたり、カメラ２１，２２によって鳥の群れがどのような方向から観察され得るかを考える。まず、カメラ２１，２２は、鳥の群れよりも高い位置に設置される可能性は少ないと考えられる。そこで、シミュレーションにおいても、仮想的なカメラの仰角を、空を見上げる方向を正の角度とすると０°以上９０°以下に設定する。また、カメラ２１，２２に対する鳥の群れの飛行方向としては、仰角が９０°以外であるとき、以下の８通りが考えられる。
【００６５】
（１）カメラに向かう方向（鳥の頭が手前に写る）
（２）カメラから遠ざかる方向（鳥の尾が手前に写る）
（３）カメラの視界を左から右に横切る方向（鳥の右翼が手前に写る）
（４）カメラの視界を右から左に横切る方向（鳥の左翼が手前に写る）
（５）光軸に対し左斜めにカメラに近づく方向（鳥の右前方が手前に写る）
（６）光軸に対し左斜めにカメラから遠ざかる方向（鳥の左後方が手前に写る）
（７）光軸に対し右斜めにカメラに近づく方向（鳥の左前方が手前に写る）
（８）光軸に対し右斜めにカメラから遠ざかる方向（鳥の右後方が手前に写る）
ただし、鳥の群れの射影を裏返しても明るさや光スポット数に影響しないことから、上記の８つのケースは、正面（１）（２），横（３）（４），斜め（５）（６）（７）（８）の３つに分類することが可能である。そこで、シミュレーションでは、各仰角について、鳥の群れの形状を「正面」，「横」，「斜め」に相当する３箇所から観察すればよい。
【００６６】
なお、仰角が９０°のときの飛行方向は、射影を回転しても明るさや光スポット数に影響しないことから、実質的に１通りしか存在しない。第２の実施の形態の以下の説明では、仰角９０°で鳥の群れを撮像した場合の飛行方向を「横」として扱うこととする。
【００６７】
三次元モデルにおいて、仮想的なカメラから鳥の群れのモデルを観察することで、参照画像を生成することができる。このとき、原点を挟んで仮想的なカメラの反対側に、仮想的な光源を配置する。これにより、参照画像において、鳥が存在しない領域は輝度が閾値以上の明るい領域となり、鳥が存在する領域は輝度が閾値未満の暗い領域となる。参照画像から参照データを生成するにあたっては、明るい領域と暗い領域を区別できればよい。よって、三次元モデル生成部１２０は、参照画像としてカラー画像を生成してもよいし、グレースケール画像や輝度に応じて二値化した白黒画像を生成してもよい。
【００６８】
図１０は、画像条件テーブルの例を示す図である。画像条件テーブル１１１は、シミュレーション装置１００のモデル条件記憶部１１０に記憶されている。画像条件テーブル１１１は、層数、列数、仰角、方向および画像ＩＤ（Identification）の項目を含む。
【００６９】
層数の項目には、鳥の群れのモデルにおいて形成される層の数（ｚ軸方向の重なり数）が設定される。図１０の例では、１層から５層までの５通りの層数が挙げられている。列数の項目には、鳥の群れのモデルにおいて形成される列の数（ｘ軸方向の重なり数）が設定される。図１０の例では、１列から５列までの５通りの列数が挙げられている。仰角の項目には、仮想的なカメラの仰角が設定される。図１０の例では、０°，３０°，６０°，９０°の４通りの仰角が挙げられている。もちろん、４５°など他の仰角を設定することも可能である。方向の項目には、「正面」，「横」，「斜め」のうち観察を要する１つ以上の方向が列挙される。画像ＩＤの項目には、層数・列数・仰角・方向の組み合わせに対して、その条件で生成される参照画像を識別するための識別情報が設定される。
【００７０】
層数と列数の組み合わせ毎に、鳥の群れのモデルが生成される。また、仰角と方向の組み合わせによって、仮想的なカメラの位置が決定される（仰角からｚ座標が決定され、方向からｘ座標とｙ座標が決定される）。そして、１つの鳥の群れのモデルと１つの仮想的なカメラの組み合わせに対し、１つの参照画像が生成されることになる。例えば、層数＝１，列数＝１，仰角＝３０°，方向＝正面という条件で参照画像＃１が生成され、層数＝１，列数＝２，仰角＝０°，方向＝横という条件で参照画像＃９が生成される。
【００７１】
ここで、第２の実施の形態では、図１０に示すように、列数＝１のモデルを観察するときは、仰角＝３０°，６０°，９０°に設定した仮想的なカメラを使用し、列数＝２，３，４，５のモデルを観察するときは、仰角＝０°に設定した仮想的なカメラを使用する。仰角が９０°以外のときは、方向＝正面，横，斜めの３通りで参照画像を生成し、仰角が９０°のときは、方向＝横の１通りで参照画像を生成する。よって、層数１つあたりの生成される参照画像は１９枚であり、全部で９５枚の参照画像が生成される。
【００７２】
ただし、図１０に示した参照画像の条件は一例であり、他の条件の参照画像を生成することも可能である。例えば、仰角＝３０°,６０°,９０°の仮想的なカメラで観察するモデルの列数は、所定の列数であればよく、１列でなくてもよい。また、列数＝１のモデルを仰角＝０°の仮想的なカメラで観察してもよいし、列数＝２，３，４，５のモデルを仰角＝３０°,６０°,９０°の仮想的なカメラで観察してもよい。
【００７３】
図１１は、カメラ座標テーブルの例を示す図である。カメラ座標テーブル１１２は、シミュレーション装置１００のモデル条件記憶部１１０に記憶されている。カメラ座標テーブル１１２は、仰角、方向および座標の項目を含む。
【００７４】
仰角の項目には、画像条件テーブル１１１と同様に、仮想的なカメラの仰角が設定される。図１１の例では、０°，３０°，６０°，９０°の４つが挙げられている。方向の項目には、「正面」，「横」，「斜め」の何れかが設定される。ただし、前述のように、仰角＝９０°の場合の方向は「横」のみである。座標の項目には、仰角と方向の組み合わせに対して、どの位置に仮想的なカメラを配置すればよいかを示す座標が設定される。図１１の例では、原点との距離が２０になるように座標が設定されている。
【００７５】
例えば、仰角＝０°，方向＝斜めという撮像条件を満たす位置として、座標（１４．１４，１４．１４，０）が設定される。この位置に配置された仮想的なカメラは、鳥の群れを左斜め４５°から水平に撮像することになる。また、仰角＝３０°，方向＝正面という撮像条件を満たす位置として、座標（１７．３２，０，−１０）が設定される。この位置に配置された仮想的なカメラは、鳥の群れの正面を下３０°から見上げて撮像することになる。また、仰角＝６０°，方向＝横という撮像条件を満たす位置として、座標（０，１０，−１７．３２）が設定される。この位置に配置された仮想的なカメラは、鳥の群れの左側面を下６０°から見上げて撮像することになる。
【００７６】
図１２は、撮像画像における鳥の群れが写った領域の例を示す図である。カメラ２１，２２が生成する撮像画像には、鳥が密集して写った領域が複数含まれていることがある。図１２に示した撮像画像４０には、このような領域が２つ存在する。監視装置２００の撮像画像処理部２３０は、鳥が密集して写った領域を対象領域として切り出し、対象領域毎に鳥の数を推定する。例えば、撮像画像４０から対象領域４１，４２が切り出され、対象領域４１と対象領域４２それぞれについて鳥の数が推定される。
【００７７】
ここで、対象領域は、輝度が閾値未満の暗い画素が密集してひと纏まりになっている領域である。撮像画像処理部２３０は、例えば、その領域内に一定の画素数以上の暗い画素が含まれており、かつ、矩形の枠に暗い画素がかからないように抽出できる範囲での最小の矩形の領域を、対象領域として検出する。ただし、その領域内の暗い画素と矩形の枠との間が少なくとも一定距離離れるように、余裕をもって矩形の領域を抽出してもよい。撮像画像４０では、暗い画素の密集した領域が２つあり、輝度が閾値以上である明るい画素の領域が両者の間に広がっているため、両者は異なる対象領域として検出される。
【００７８】
なお、図１２および上記の説明では、対象領域の形状を矩形としたが、楕円形などの他の形状としてもよい。また、上記では、鳥数を推定するにあたって、撮像画像処理部２３０が撮像画像から対象領域を抽出することを説明したが、参照データを生成するにあたって、参照画像処理部１３０も参照画像から対象領域を抽出する処理を行う。ただし、参照画像から抽出される対象領域は、撮像画像と異なり原則として１つである。
【００７９】
図１３は、カメラと鳥の間の距離の算出方法の例を示す図である。カメラ２１，２２の２台で生成された撮像画像を用いることで、撮像画像処理部２３０は、三角測量の方法によりカメラ２１，２２と鳥の群れとの間の距離を算出することができる。
【００８０】
まず、撮像画像処理部２３０は、カメラ２１で生成された撮像画像から鳥が写った暗い領域を検出し、検出した暗い領域と空が写った明るい領域の両方が含まれるような数百ピクセル程度の大きさの矩形領域（または、楕円領域）を、基準パターンとして検出する。基準パターンは、鳥数を算出する単位である対象領域またはその一部分であってもよい。次に、撮像画像処理部２３０は、カメラ２２で生成された撮像画像から、基準パターンに最もマッチする領域を検出する。カメラ２１，２２それぞれから検出された領域は、同じ鳥が写ったものであると言うことができる。そして、撮像画像処理部２３０は、カメラ２１の撮像画像に含まれる基準パターンの中心座標（ｘ１，ｙ１）と、カメラ２２の撮像画像に含まれる基準パターンに対応する領域の中心座標（ｘ２，ｙ２）とを算出する。
【００８１】
その後、撮像画像処理部２３０は、中心座標（ｘ１，ｙ１）のｘ座標であるｘ１を、カメラ２１の光軸に対する水平方向の角度θ１に変換し、中心座標（ｘ２，ｙ２）のｘ座標であるｘ２を、カメラ２２の光軸に対する水平方向の角度θ２に変換する。ここで、撮像画像処理部２３０は、カメラ２１，２２の視野角や撮像画像の解像度に応じて決まる、撮像画像の中心からの画素数と光軸に対する角度との対応関係を予め知っているとする。撮像画像処理部２３０は、このように算出した角度θ１，θ２と光軸間距離ｌに基づいて、図１３に示すようにカメラ２１，２２と鳥の群れとの間の距離ｒを算出する。すなわち、距離ｒは次の式から算出される：ｒ×（ｔａｎ（θ１）＋ｔａｎ（θ２））＝ｌ。
【００８２】
なお、撮像画像処理部２３０は、上記の三角測量以外の方法で距離ｒを算出できる場合もある。例えば、カメラ２１が生成した撮像画像に１羽の鳥が他の鳥と重ならずに写っており、監視装置２００に撮像距離と撮像画像上での鳥の大きさとの対応関係を示す情報が登録されている場合、撮像画像処理部２３０は、その１羽の鳥から距離ｒを推定できる。この場合、監視装置２００には、少なくとも１台のカメラが接続されていればよい。
【００８３】
図１４は、参照データ生成の手順例を示すフローチャートである。このフローチャートが示す処理は、シミュレーション装置１００において実行される。
（ステップＳ１１）三次元モデル生成部１２０は、モデル条件記憶部１１０に記憶された画像条件テーブル１１１を参照して、鳥の群れの層数を１つ選択する。
【００８４】
（ステップＳ１２）三次元モデル生成部１２０は、画像条件テーブル１１１を参照して、鳥の群れの列数を１つ選択する。
（ステップＳ１３）三次元モデル生成部１２０は、仮想的な三次元空間に複数の鳥の形状を配置していき、ステップＳ１１で選択した層数（ｚ軸方向の重なり数）とステップＳ１２で選択した列数（ｘ軸方向の重なり数）とをもつ鳥の群れのモデルを生成する。ｙ軸方向に並べる鳥の形状の数は、所定の数とすればよい。このとき、複数の鳥の形状の具体的な配置については、前述の鳥の群れの性質を満たすように三次元モデル生成部１２０が自動的に算出してもよいし、ユーザが指定するようにしてもよい。
【００８５】
（ステップＳ１４）三次元モデル生成部１２０は、列数が所定の値（例えば、１列）であるか判断する。列数が所定値の場合、処理をステップＳ１５に進める。列数が所定値でない（例えば、２列，３列，４列，５列である）場合、処理をステップＳ１８に進める。
【００８６】
（ステップＳ１５）三次元モデル生成部１２０は、モデル条件記憶部１１０に記憶されたカメラ座標テーブル１１２を参照して、仰角３０°かつ方向＝正面，横，斜めに対応する３点の座標を確認し、それら３点に仮想的なカメラを配置する。そして、三次元モデル生成部１２０は、各仮想的なカメラから見た参照画像を生成して画像ＩＤを付与する。
【００８７】
（ステップＳ１６）三次元モデル生成部１２０は、カメラ座標テーブル１１２を参照して、仰角６０°かつ方向＝正面，横，斜めに対応する３点の座標を確認し、それら３点に仮想的なカメラを配置する。そして、三次元モデル生成部１２０は、各仮想的なカメラから見た参照画像を生成して画像ＩＤを付与する。
【００８８】
（ステップＳ１７）三次元モデル生成部１２０は、カメラ座標テーブル１１２を参照して、仰角９０°かつ方向＝横に対応する座標を確認し、その点に仮想的なカメラを配置する。そして、三次元モデル生成部１２０は、配置した仮想的なカメラから見た参照画像を生成して画像ＩＤを付与する。その後、処理をステップＳ１９に進める。
【００８９】
（ステップＳ１８）三次元モデル生成部１２０は、モデル条件記憶部１１０に記憶されたカメラ座標テーブル１１２を参照して、仰角０°かつ方向＝正面，横，斜めに対応する３点の座標を確認し、それら３点に仮想的なカメラを配置する。そして、三次元モデル生成部１２０は、各仮想的なカメラから見た参照画像を生成して画像ＩＤを付与する。
【００９０】
（ステップＳ１９）三次元モデル生成部１２０は、ステップＳ１１で選択された層数に対して、ステップＳ１２で全ての列数を選択したか判断する。全列数を選択した場合は処理をステップＳ２０に進め、未選択の列数がある場合は処理をステップＳ１２に進める。
【００９１】
（ステップＳ２０）三次元モデル生成部１２０は、ステップＳ１１で全ての層数を選択したか判断する。全層数を選択した場合は処理を以下に説明するステップＳ２１に進め、未選択の層数がある場合は処理をステップＳ１１に進める。
【００９２】
図１５は、参照データ生成の手順例を示すフローチャート（続き）である。
（ステップＳ２１）参照画像処理部１３０は、上記のステップＳ１５〜Ｓ１８を通じて生成された複数の参照画像（例えば、９５枚の参照画像）の１つを選択する。
【００９３】
（ステップＳ２２）参照画像処理部１３０は、ステップＳ２１で選択した参照画像が生成されたときに配置されていた鳥の形状の数（鳥数）と、その参照画像を撮った仮想的なカメラと原点との距離を、三次元モデル生成部１２０に確認する。
【００９４】
（ステップＳ２３）参照画像処理部１３０は、ステップＳ２１で選択した参照画像から、前述のような方法で、鳥の群れの形状が写った対象領域を切り出す。すなわち、参照画像処理部１３０は、輝度が閾値未満である暗い画素の集合を囲むような矩形（または、楕円形などの所定の形状）の領域を抽出する。なお、輝度が閾値未満である画素を検出するにあたり、参照画像処理部１３０は、参照画像を二値化して白黒画像に変換してもよい。
【００９５】
（ステップＳ２４）参照画像処理部１３０は、ステップＳ２４で切り出した対象領域の面積を算出する。対象領域が矩形である場合、面積は縦の画素数×横の画素数と算出できる。対象領域が楕円形などの矩形以外の形状である場合、例えば、縦の画素数と横の画素数を所定の数式に代入することで面積を算出できる。
【００９６】
（ステップＳ２５）参照画像処理部１３０は、ステップＳ２４で切り出した対象領域の明るさを算出する。対象領域の明るさは、対象領域内にある輝度が閾値以上の明るい画素の数と輝度が閾値未満の暗い画素の数との比を表す。明るさを示す値は、例えば、明るい画素数／暗い画素数、または、明るい画素数／対象領域の面積のように算出される。
【００９７】
（ステップＳ２６）参照画像処理部１３０は、ステップＳ２３で切り出した対象領域から、前述のような方法で光スポット数を算出する。すなわち、参照画像処理部１３０は、輝度が閾値未満の画素に囲まれている輝度が閾値以上の画素からなる領域であって、その大きさ（例えば、面積や一辺の画素数など）が閾値以上であるものを光スポットとして検出し、検出された光スポットの数をカウントする。
【００９８】
（ステップＳ２７）参照画像処理部１３０は、ステップＳ２１で選択した参照画像の画像ＩＤと対応付けて、距離・面積・明るさ・光スポット数・鳥数を含む参照データを生成する。そして、参照画像処理部１３０は、三次元モデル生成部１２０により生成された全ての参照画像をステップＳ２１で選択したか判断する。全参照画像を選択した場合は処理を終了し、未選択の参照画像がある場合は処理をステップＳ２１に進める。
【００９９】
図１６は、参照データテーブルの例を示す図である。参照データテーブル１４１は、シミュレーション装置１００の参照画像処理部１３０により生成されて、参照データ記憶部１４０に格納される。また、参照データテーブル１４１は、参照データ記憶部１４０から監視装置２００の参照データ記憶部２１０に複製される。参照データテーブル１４１は、画像ＩＤ、距離、面積、明るさ、光スポット数および鳥数の項目を含む。
【０１００】
画像ＩＤの項目には、画像条件テーブル１１１で定義された画像ＩＤが設定される。ただし、参照データテーブル１４１は、画像ＩＤに代えて、その画像ＩＤに対応する仰角や飛行方向などの撮像条件の情報を含んでもよい。距離の項目には、参照画像を撮像した仮想的なカメラと原点との距離が設定される。図１６の例では、距離は２０に固定されている。面積の項目には、鳥の群れの形状が写った対象領域の面積が設定される。明るさの項目には、対象領域の明るさ、すなわち、対象領域に含まれる明るい画素と暗い画素との比を示す値が設定される。光スポットの項目には、参照画像に現れる光スポットの数が設定される。鳥数の項目には、参照画像に写る鳥の形状の数が設定される。
【０１０１】
図１７は、鳥数推定の手順例を示すフローチャートである。このフローチャートが示す処理は、監視装置２００において実行される。
（ステップＳ３１）撮像画像取得部２２０は、カメラ２１から時刻ｔの撮像画像Ｉｍｇ１（ｔ）を取得する。また、撮像画像取得部２２０は、カメラ２１から時刻ｔよりも所定時間（例えば、数百ミリ秒から数秒程度）だけ後の時刻ｔ＋１の撮像画像Ｉｍｇ１（ｔ＋１）を取得する。ただし、撮像画像取得部２２０は、所定時間だけ前の時刻ｔ−１の撮像画像を利用するようにしてもよい。また、撮像画像取得部２２０は、カメラ２２から時刻ｔ（または、時刻ｔに十分近い時刻）の撮像画像Ｉｍｇ２（ｔ）を取得する。
【０１０２】
（ステップＳ３２）撮像画像取得部２２０は、カメラ２１，２２の仰角、および、カメラ２１とカメラ２２の間の光軸間距離を確認する。仰角および光軸間距離は、例えば、カメラ２１，２２を設置するにあたって監視装置２００に登録される。
【０１０３】
（ステップＳ３３）撮像画像処理部２３０は、撮像画像Ｉｍｇ１（ｔ）から、前述のような方法で、鳥の群れが写った１またはそれ以上の対象領域を検出する。すなわち、撮像画像処理部２３０は、輝度が閾値未満である暗い画素の集合を、枠に暗い画素がかからないように囲む矩形（または、楕円形などの所定の形状）の領域を検出する。
【０１０４】
（ステップＳ３４）撮像画像処理部２３０は、ステップＳ３３において撮像画像Ｉｍｇ１（ｔ）から検出された対象領域のうちの１つを選択する。
（ステップＳ３５）撮像画像処理部２３０は、ステップＳ３４で選択した撮像画像Ｉｍｇ１（ｔ）の対象領域と、この対象領域に対応する撮像画像Ｉｍｇ１（ｔ＋１）の領域とを用いて、カメラ２１，２２に対する鳥の群れの飛行方向を判定する。対象領域に対応する撮像画像Ｉｍｇ１（ｔ＋１）の領域は、対象領域と同様の方法で検出してもよいし、対象領域を基準パターンとして用いてパターンマッチングにより検出してもよい。飛行方向は、「正面」，「横」，「斜め」の何れかである。判定方法の詳細は後述する。
【０１０５】
（ステップＳ３６）撮像画像処理部２３０は、撮像画像Ｉｍｇ１（ｔ）と撮像画像Ｉｍｇ２（ｔ）を用いて、前述のような方法で、カメラ２１，２２と鳥の群れとの間の距離を算出する。例えば、撮像画像処理部２３０は、ステップＳ３４で選択した撮像画像Ｉｍｇ１（ｔ）の対象領域の中心座標と、この対象領域に対応する撮像画像Ｉｍｇ１（ｔ＋１）の領域の中心座標から、角度θ１，θ２を算出する。そして、撮像画像処理部２３０は、角度θ１，θ２とステップＳ３２で確認した光軸間距離とから、三角測量の方法で距離を算出する。ただし、撮像画像処理部２３０は、ステップＳ３４で選択した対象領域以外の領域の画像パターンを用いて距離を算出してもよいし、また、撮像画像Ｉｍｇ１（ｔ）全体について１回だけ距離を算出するようにしてもよい。
【０１０６】
（ステップＳ３７）撮像画像処理部２３０は、ステップＳ３４で選択した撮像画像Ｉｍｇ１（ｔ）の対象領域の面積および明るさを算出する。面積は、対象領域の縦の画素数と横の画素数から算出できる。明るさは、対象領域に含まれる輝度が閾値以上の画素の数と輝度が閾値未満の画素の数から算出できる。また、撮像画像処理部２３０は、対象領域に現れる光スポットの数をカウントする。対象領域の光スポットは、輝度が閾値未満の画素に囲まれている輝度が閾値以上の画素からなる領域であって、大きさ（例えば、面積や一辺の画素数）が閾値以上のものである。ここで、大きさの閾値としては、ステップＳ３６で算出した距離に依存する値を使用する。例えば、シミュレーション装置１００において参照画像の光スポットを検出する際に用いられた大きさの閾値をＮとすると、Ｎ×撮像画像の距離／参照画像の距離（例えば２０）を、ここで使用する大きさの閾値とする。
【０１０７】
（ステップＳ３８）撮像画像処理部２３０は、ステップＳ３４で選択した撮像画像Ｉｍｇ１（ｔ）の対象領域と対応付けて、仰角・飛行方向・距離・面積・明るさ・光スポット数を含む撮像データを生成する。そして、撮像画像処理部２３０は、検出された全ての対象領域をステップＳ３４で選択したか判断する。全対象領域を選択した場合は処理をステップＳ４１に進め、未選択の対象領域がある場合は処理をステップＳ３４に進める。
【０１０８】
図１８は、鳥数推定の手順例を示すフローチャート（続き）である。
（ステップＳ４１）鳥数算出部２４０は、撮像画像処理部２３０で撮像画像Ｉｍｇ１（ｔ）から検出された対象領域を１つ選択し、選択した対象領域の撮像データを取得する。
【０１０９】
（ステップＳ４２）鳥数算出部２４０は、参照データ記憶部２１０に記憶されたモデル条件情報に基づいて、ステップＳ４１で選択した対象領域と仰角・飛行方向が同じ参照画像を検索し、検索された参照画像の参照データを参照データ記憶部２１０から取得する。このとき、層数の異なる複数の参照画像が検索される。なお、ステップＳ４１で選択した対象領域と仰角が同じ参照画像が存在しない場合、仰角が最も近い参照画像を検索する。
【０１１０】
（ステップＳ４３）鳥数算出部２４０は、ステップＳ４２で検索された各参照画像の光スポット数を、ステップＳ４１で選択した対象領域のスケールに合うように補正する。具体的には、鳥数算出部２４０は、取得した参照データ毎に、参照データが示す光スポット数×（撮像データが示す距離／参照データが示す距離）2×（撮像データが示す面積／参照データが示す面積）を、補正後の光スポット数として算出する。
【０１１１】
（ステップＳ４４）鳥数算出部２４０は、ステップＳ４２で検索された参照画像から、ステップＳ４１で選択した対象領域と明るさ・光スポット数が最も近い参照画像を選択する。具体的には、鳥数算出部２４０は、撮像データが示す明るさと参照データが示す明るさの差が閾値以内で、かつ、撮像データが示す光スポット数とステップＳ４３で補正した光スポット数の差が閾値以内であるような参照画像を選択する。これにより、対象領域に写る鳥の群れの層数が推定されることになる。なお、対象領域と明るさ・光スポット数の両方が十分近い参照画像が存在しない場合は、明るさが最も近い参照画像を選択する。
【０１１２】
なお、上記の説明では、参照画像の光スポット数を対象領域のスケールに合うように補正したが、対象領域の光スポット数を参照画像のスケールに合うように補正してもよい。
（ステップＳ４５）鳥数算出部２４０は、ステップＳ４４で選択した参照画像の鳥数を、ステップＳ４１で選択した対象領域のスケールに合うように補正する。具体的には、鳥数算出部２４０は、参照データが示す鳥数×（撮像データが示す距離／参照データが示す距離）2×（撮像データが示す面積／参照データが示す面積）を算出する。そして、鳥数算出部２４０は、補正後の鳥数を、対象領域に写る鳥の数であると推定する。
【０１１３】
（ステップＳ４６）鳥数算出部２４０は、撮像画像Ｉｍｇ１（ｔ）から検出された全ての対象領域をステップＳ４１で選択したか判断する。全対象領域を選択した場合は処理をステップＳ４７に進め、未選択の対象領域がある場合は処理をステップＳ４１に進める。
【０１１４】
（ステップＳ４７）鳥数算出部２４０は、ステップＳ４５で算出した各対象領域の鳥数を合計し、撮像画像Ｉｍｇ１（ｔ）に写る鳥の数であると推定する。
図１９は、飛行方向判定の手順例を示すフローチャートである。このフローチャートが示す処理は、上記のステップＳ３５において実行される。
【０１１５】
（ステップＳ３５１）撮像画像処理部２３０は、撮像画像Ｉｍｇ１（ｔ）から検出された対象領域の面積を算出する。また、撮像画像処理部２３０は、撮像画像Ｉｍｇ１（ｔ）内における対象領域の中心点の座標（中心座標）を算出する。中心座標は、例えば、撮像画像Ｉｍｇ１（ｔ）の左上を原点としたときのｘ座標とｙ座標とで表される。
【０１１６】
（ステップＳ３５２）撮像画像処理部２３０は、対象領域に対応する撮像画像Ｉｍｇ１（ｔ＋１）の領域について、対象領域と同様に、面積および中心座標を算出する。
（ステップＳ３５３）撮像画像処理部２３０は、ステップＳ３５１で算出した撮像画像Ｉｍｇ１（ｔ）における中心座標と、ステップＳ３５２で算出した撮像画像Ｉｍｇ１（ｔ＋１）における中心座標との間の距離を算出する。そして、撮像画像処理部２３０は、算出した座標距離が閾値未満であるか判断する。座標距離が閾値未満の場合は処理をステップＳ３５４に進め、座標距離が閾値以上の場合は処理をステップＳ３５５に進める。
【０１１７】
（ステップＳ３５４）撮像画像処理部２３０は、カメラ２１，２２に対する鳥の群れの飛行方向を「正面」と判定する。これは、撮像画像上での鳥の群れの位置の変化が小さい場合、鳥の群れは（１）カメラに向かう方向、または、（２）カメラから遠ざかる方向に移動していると考えられるためである。そして、処理を終了する。
【０１１８】
（ステップＳ３５５）撮像画像処理部２３０は、ステップＳ３５１で算出した撮像画像Ｉｍｇ１（ｔ）における面積と、ステップＳ３５２で算出した撮像画像Ｉｍｇ１（ｔ＋１）における面積との差を算出する。そして、撮像画像処理部２３０は、算出した面積差が閾値未満であるか判断する。面積差が閾値未満の場合は処理をステップＳ３５６に進め、面積差が閾値以上の場合は処理をステップＳ３５７に進める。
【０１１９】
（ステップＳ３５６）撮像画像処理部２３０は、カメラ２１，２２に対する鳥の群れの飛行方向を「横」と判定する。これは、鳥の群れの位置の変化が大きくサイズの変化が小さい場合、鳥の群れは（３）カメラの視界を左から右に横切る方向、または、（４）カメラの視界を右から左に横切る方向に移動しているか、若しくは、仰角９０°で撮像していると考えられるためである。そして、処理を終了する。
【０１２０】
（ステップＳ３５７）撮像画像処理部２３０は、カメラ２１，２２に対する鳥の群れの飛行方向を「斜め」と判定する。これは、鳥の群れの位置の変化が大きくサイズの変化も大きい場合、鳥の群れは（４）カメラの視界を右から左に横切る方向、（５）光軸に対し左斜めにカメラに近づく方向、（６）光軸に対し左斜めにカメラから遠ざかる方向、（７）光軸に対し右斜めにカメラに近づく方向、または、（８）光軸に対し右斜めにカメラから遠ざかる方向に移動していると考えられるためである。
【０１２１】
図２０は、鳥数の推定結果の例を示す図である。ここでは、撮像画像から検出された１つの対象領域について、仰角＝６０°，飛行方向＝斜め，距離＝ｒ，面積＝ｓ０，明るさ＝ｂ０，光スポット数＝ｍ０という撮像データが生成されたとする。
【０１２２】
まず、監視装置２００は、参照画像＃１〜＃９５の中から、仰角＝６０°かつ飛行方向＝斜めに該当する、層数の異なる５つの参照画像（参照画像＃６，＃２５，＃４４，＃６３，＃８２）を検索する。ここで、参照画像＃６は層数＝１に対応し、参照画像＃２５は層数＝２に対応し、参照画像＃４４は層数＝３に対応し、参照画像＃６３は層数＝４に対応し、参照画像＃８２は層数＝５に対応するものである。
【０１２３】
次に、監視装置２００は、検索された各参照画像の光スポット数を補正する。例えば、参照画像＃２５について、距離＝２０，面積＝ｓ２５，明るさ＝ｂ２５，光スポット数＝ｍ２５であるとき、補正後の光スポット数はｍ２５×（ｒ／２０）2×（ｓ０／ｓ２５）と算出される。同様にして、参照画像＃６，＃４４，＃６３，＃８２の光スポット数ｍ６，ｍ４４，ｍ６３，ｍ８２も補正される。そして、監視装置２００は、明るさｂ０と、参照画像＃６，＃２５，＃４４，＃６３，＃８２の明るさｂ６，ｂ２５，ｂ４４，ｂ６３，ｂ８２をそれぞれ比較する。また、監視装置２００は、光スポット数ｍ０と、参照画像＃６，＃２５，＃４４，＃６３，＃８２の補正後の光スポット数をそれぞれ比較する。
【０１２４】
ここでは、参照画像＃２５の明るさｂ２５が明るさｂ０に最も近く、かつ、参照画像＃２５の補正後の光スポット数が光スポット数ｍ０に最も近いとする。すると、監視装置２００は、対象領域に写った鳥の群れが２層を形成していると推定する。そして、監視装置２００は、参照画像＃２５の鳥数＝ｔ２５であるとき、ｔ２５×（ｒ／２０）2×（ｓ０／ｓ２５）を、対象領域に写った鳥の数であると推定する。このようにして、監視装置２００は、複数の鳥が重なって写る撮像画像から、鳥の群れの層数と鳥数を推定できる。
【０１２５】
第２の実施の形態の情報処理システムによれば、鳥の群れの射影をシミュレーションすることで、層数・列数が変わったときの明るさ・光スポット数への影響を示した参照データが用意される。そして、カメラ２１，２２で生成された撮像画像の明るさ・光スポット数と参照データとを比較することで、鳥の群れの層数・列数や鳥数が推定される。このため、撮像画像に複数の鳥が重なって写っていても、パターン認識により鳥が写った領域を検出する方法と比べて、精度よく鳥数を推定することが可能となる。また、第２の実施の形態では、更に仰角や飛行方向などの撮像条件も変えながら、鳥の群れの射影がシミュレーションされる。よって、カメラ２１，２２と鳥の群れとの位置関係を考慮して、使用する参照データを絞り込むことで、鳥数の推定精度を更に向上させることができる。
【０１２６】
なお、前述のように、第１の実施の形態の情報処理は、情報処理装置１０にプログラムを実行させることで実現でき、第２の実施の形態の情報処理は、シミュレーション装置１００や監視装置２００にそれぞれプログラムを実行させることで実現できる。このようなプログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体２５）に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。
【０１２７】
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置（例えば、ＨＤＤ２０３）に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。また、上記の情報処理の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することも可能である。
【符号の説明】
【０１２８】
１０  情報処理装置
１１  記憶部
１１ａ，１１ｂ，１１ｃ  サンプル情報
１２  演算部
１３  撮像画像
【図１】
0005811923.tif 000002
【図２】
0005811923.tif 000003
【図３】
0005811923.tif 000004
【図４】
0005811923.tif 000005
【図５】
0005811923.tif 000006
【図６】
0005811923.tif 000007
【図７】
0005811923.tif 000008
【図８】
0005811923.tif 000009
【図９】
0005811923.tif 000010
【図１０】
0005811923.tif 000011
【図１１】
0005811923.tif 000012
【図１２】
0005811923.tif 000013
【図１３】
0005811923.tif 000014
【図１４】
0005811923.tif 000015
【図１５】
0005811923.tif 000016
【図１６】
0005811923.tif 000017
【図１７】
0005811923.tif 000018
【図１８】
0005811923.tif 000019
【図１９】
0005811923.tif 000020
【図２０】
0005811923.tif 000021