(57)【特許請求の範囲】
【請求項１】
被写体を撮影するカメラ装置及び雲台装置を搭載したロボットカメラの撮影動作を制御するニューラルネットワーク装置であって、
ニューラルネットワークと、
現在時刻以前のデータを前記ニューラルネットワークに段階的に入力する際の間隔を示すステップ間隔値を設定するステップ間隔値設定部と、前記間隔の数を示すステップ数を設定するステップ数設定部と、前記ステップ間隔値及び前記ステップ数に基づいて前記ニューラルネットワークに入力する現在時刻以前のデータを選択するデータ選択部と、を含み予め定められた単位時間毎に取得されたデータを前記ニューラルネットワークに入力するデータ入力手段と、
前記ニューラルネットワークに入力した前記現在時刻以前のデータに対する前記ニューラルネットワークの出力信号データから前記ニューラルネットワークの学習状態を評価する学習状態評価手段と、
前記ニューラルネットワークの学習状態が予め定められた学習状態となる最適ステップ間隔値及び最適ステップ数を探索するための探索領域を前記ステップ間隔値と前記ステップ数との組み合わせを絞り込むことにより設定する探索領域設定手段と、
前記最適ステップ間隔値及び前記最適ステップ数を前記探索領域から探索する最適ステップ情報探索手段と、
を備えたことを特徴とするニューラルネットワーク装置。
【請求項２】
前記探索領域設定手段は、前記ステップ間隔値に基づいて前記最適ステップ間隔値を探索するためのステップ間隔値探索領域を分割して第１の探索間隔を設定する第１の探索間隔設定部と、前記ステップ数に基づいて前記最適ステップ数を探索するためのステップ数探索領域を分割して第２の探索間隔を設定する第２の探索間隔設定部とを備えたことを特徴とする請求項１に記載のニューラルネットワーク装置。
【請求項３】
請求項１又は２に記載のニューラルネットワーク装置と、予め定められた被写体の位置を検出して被写体位置データを出力する被写体検出装置と、前記被写体を撮影するカメラ装置及び雲台装置を搭載したロボットカメラと、前記ロボットカメラの撮影動作を制御するための撮影動作制御信号データを出力するロボットカメラ制御装置と、前記被写体位置データと前記被写体位置データに対応する前記撮影動作制御信号データとを含む学習用データに基づいて前記ニューラルネットワークを学習させる学習装置とを備え、
前記学習装置は、前記ニューラルネットワークを学習させる学習時において、前記ステップ間隔値及び前記ステップ数に基づき、前記学習用データを前記データ入力手段に段階的に入力して前記ニューラルネットワーク装置の学習状態が予め定められた学習状態となる最適ステップ間隔値及び最適ステップ数を求めるものであり、
ロボットカメラ制御装置は、前記ニューラルネットワークが学習した後の自動制御時において、前記学習装置が前記学習時に求めた前記最適ステップ間隔値及び前記最適ステップ数に基づき、前記被写体検出装置からの前記被写体位置データを前記データ入力手段に入力し、前記ニューラルネットワークの出力信号データを前記撮影動作制御信号データとして前記ロボットカメラに出力して前記ロボットカメラの撮影動作を制御するものであることを特徴とするロボットカメラ制御装置。
【請求項４】
被写体を撮影するカメラ装置及び雲台装置を搭載したロボットカメラの撮影動作を制御するニューラルネットワーク装置としてコンピュータを機能させるニューラルネットワークプログラムであって、
前記コンピュータを、
ニューラルネットワークと、
現在時刻以前のデータを前記ニューラルネットワークに段階的に入力する際の間隔を示すステップ間隔値を設定するステップ間隔値設定部と、前記間隔の数を示すステップ数を設定するステップ数設定部と、前記ステップ間隔値及び前記ステップ数に基づいて前記ニューラルネットワークに入力する現在時刻以前のデータを選択するデータ選択部と、を含み予め定められた単位時間毎に取得されたデータを前記ニューラルネットワークに入力するデータ入力手段と、
前記ニューラルネットワークに入力した前記現在時刻以前のデータに対する前記ニューラルネットワークの出力信号データから前記ニューラルネットワークの学習状態を評価する学習状態評価手段と、
前記ニューラルネットワークの学習状態が予め定められた学習状態となる最適ステップ間隔値及び最適ステップ数を探索するための探索領域を前記ステップ間隔値と前記ステップ数との組み合わせを絞り込むことにより設定する探索領域設定手段と、
前記最適ステップ間隔値及び前記最適ステップ数を前記探索領域から探索する最適ステップ情報探索手段と、
して機能させることを特徴とするニューラルネットワークプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば動く物体の位置を予測計算するニューラルネットワーク装置及びそれを用いたロボットカメラ制御装置並びにニューラルネットワークプログラムに関する。
【背景技術】
【０００２】
近年、人間の脳の仕組みを模倣したニューラルネットワークをパターン認識や予測など様々な分野に適用する研究が行われている。ニューラルネットワークの構造としては、階層型ニューラルネットワーク、カスケードコリレーション型ニューラルネットワーク、リカレントニューラルネットワーク等が知られている。従来、例えば、ロボットの動作を制御する方法として、リカレントニューラルネットワークを利用したものが提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載されたロボットは、リカレントニューラルネットワークの入力層に入力した時系列の過去データに基づいた後ろ向き演算（バックプロパゲーション）による学習を行い、リカレントニューラルネットワークの重み係数が所定値に設定されると、対面する人間の動きに近い動きを実行するようになっている。
【特許文献１】特開２００５−１１５６５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のものでは、過去データを入力する際に、不要な過去データが多かったり、逆に必要な過去データが欠落したりすると、ニューラルネットワークのパフォーマンスに悪影響を与えるため、ユーザーが、過去データを入力する範囲を何通りも設定し、所望の学習レベルに達したニューラルネットワークモデル（以下「最適モデル」という。）が得られるまで過去データの入力作業を繰り返し行っていた。したがって、従来のものでは、前述のように煩雑な作業を要するので、最適モデルの構築に長時間を要するという課題があった。
【０００５】
本発明は、前述のような課題を解決するためになされたものであり、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができるニューラルネットワーク装置及びそれを用いたロボットカメラ制御装置並びにニューラルネットワークプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のニューラルネットワーク装置は、被写体を撮影するカメラ装置及び雲台装置を搭載したロボットカメラの撮影動作を制御するニューラルネットワーク装置であって、ニューラルネットワークと、現在時刻以前のデータを前記ニューラルネットワークに段階的に入力する際の間隔を示すステップ間隔値を設定するステップ間隔値設定部と、前記間隔の数を示すステップ数を設定するステップ数設定部と、前記ステップ間隔値及び前記ステップ数に基づいて前記ニューラルネットワークに入力する現在時刻以前のデータを選択するデータ選択部と、を含み予め定められた単位時間毎に取得されたデータを前記ニューラルネットワークに入力するデータ入力手段と、前記ニューラルネットワークに入力した前記現在時刻以前のデータに対する前記ニューラルネットワークの出力信号データから前記ニューラルネットワークの学習状態を評価する学習状態評価手段と、前記ニューラルネットワークの学習状態が予め定められた学習状態となる最適ステップ間隔値及び最適ステップ数を探索するための探索領域を前記ステップ間隔値と前記ステップ数との組み合わせを絞り込むことにより設定する探索領域設定手段と、前記最適ステップ間隔値及び前記最適ステップ数を前記探索領域から探索する最適ステップ情報探索手段と、を備えた構成を有している。
【０００７】
この構成により、本発明のニューラルネットワーク装置は、現在時刻以前のデータをニューラルネットワークに段階的に入力する際のステップ間隔値及びステップ数を設定し、ステップ間隔値及びステップ数に基づいてニューラルネットワークに入力する現在時刻以前のデータを選択するので、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができる。
【０００９】
また、この構成により、本発明のニューラルネットワーク装置は、最適ステップ情報探索手段が、最適ステップ間隔値及び最適ステップ数を探索領域から探索するので、ニューラルネットワークの入力層を容易に最適化することができ、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができる。
【００１０】
さらに、本発明のニューラルネットワーク装置は、前記探索領域設定手段は、前記ステップ間隔値に基づいて前記最適ステップ間隔値を探索するためのステップ間隔値探索領域を分割して第１の探索間隔を設定する第１の探索間隔設定部と、前記ステップ数に基づいて前記最適ステップ数を探索するためのステップ数探索領域を分割して第２の探索間隔を設定する第２の探索間隔設定部とを備えた構成を有している。
【００１１】
この構成により、本発明のニューラルネットワーク装置は、探索領域設定手段が、第１の探索間隔設定部と第２の探索間隔設定部とを含むので、最適ステップ間隔値及び最適ステップ数を探索領域から短時間で探索することができる。
【００１２】
本発明のロボットカメラ制御装置は、ニューラルネットワーク装置と、予め定められた被写体の位置を検出して被写体位置データを出力する被写体検出装置と、前記被写体を撮影するカメラ装置及び雲台装置を搭載したロボットカメラと、前記ロボットカメラの撮影動作を制御するための撮影動作制御信号データを出力するロボットカメラ制御装置と、前記被写体位置データと前記被写体位置データに対応する前記撮影動作制御信号データとを含む学習用データに基づいて前記ニューラルネットワークを学習させる学習装置とを備え、前記学習装置は、前記ニューラルネットワークを学習させる学習時において、前記ステップ間隔値及び前記ステップ数に基づき、前記学習用データを前記データ入力手段に段階的に入力して前記ニューラルネットワーク装置の学習状態が予め定められた学習状態となる最適ステップ間隔値及び最適ステップ数を求めるものであり、ロボットカメラ制御装置は、前記ニューラルネットワークが学習した後の自動制御時において、前記学習装置が前記学習時に求めた前記最適ステップ間隔値及び前記最適ステップ数に基づき、前記被写体検出装置からの前記被写体位置データを前記データ入力手段に入力し、前記ニューラルネットワークの出力信号データを前記撮影動作制御信号データとして前記ロボットカメラに出力して前記ロボットカメラの撮影動作を制御するものである構成を有している。
【００１３】
この構成により、本発明のロボットカメラ制御装置は、学習用データによって学習したニューラルネットワークの出力信号データによって、ロボットカメラの撮影動作を制御することができる。
【００１４】
本発明のニューラルネットワークプログラムは、被写体を撮影するカメラ装置及び雲台装置を搭載したロボットカメラの撮影動作を制御するニューラルネットワーク装置としてコンピュータを機能させるニューラルネットワークプログラムであって、前記コンピュータを、ニューラルネットワークと、現在時刻以前のデータを前記ニューラルネットワークに段階的に入力する際の間隔を示すステップ間隔値を設定するステップ間隔値設定部と、前記間隔の数を示すステップ数を設定するステップ数設定部と、前記ステップ間隔値及び前記ステップ数に基づいて前記ニューラルネットワークに入力する現在時刻以前のデータを選択するデータ選択部と、を含み予め定められた単位時間毎に取得されたデータを前記ニューラルネットワークに入力するデータ入力手段と、前記ニューラルネットワークに入力した前記現在時刻以前のデータに対する前記ニューラルネットワークの出力信号データから前記ニューラルネットワークの学習状態を評価する学習状態評価手段と、前記ニューラルネットワークの学習状態が予め定められた学習状態となる最適ステップ間隔値及び最適ステップ数を探索するための探索領域を前記ステップ間隔値と前記ステップ数との組み合わせを絞り込むことにより設定する探索領域設定手段と、前記最適ステップ間隔値及び前記最適ステップ数を前記探索領域から探索する最適ステップ情報探索手段と、して機能させる構成を有している。
【００１５】
この構成により、本発明のニューラルネットワークプログラムは、現在時刻以前のデータをニューラルネットワークに段階的に入力する際のステップ間隔値及びステップ数を設定し、ステップ間隔値及びステップ数に基づいてニューラルネットワークに入力する現在時刻以前のデータを選択するので、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができる。
【発明の効果】
【００１６】
本発明は、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができるという効果を有するニューラルネットワーク装置及びそれを用いたロボットカメラ制御装置並びにニューラルネットワークプログラムを提供することができるものである。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施の形態について図面を用いて説明する。なお、本発明に係るロボットカメラ制御装置を、放送局のスタジオ内における人物を被写体として撮影するロボットカメラの撮像動作制御に適用した例を挙げて説明する。このロボットカメラ制御装置は、カメラマンに代わってロボットカメラに被写体を撮影させるものであって、人間らしい自然なカメラワークをロボットカメラに行わせようとするものである。
【００１８】
まず、本実施の形態におけるロボットカメラ制御装置の構成について説明する。図１は、本実施の形態におけるロボットカメラ制御装置１の概要構成を示す図である。
【００１９】
図１に示すように、ロボットカメラ制御装置１は、被写体を撮影するセンサカメラ１０と、被写体の位置を検出する被写体検出装置２０と、被写体を撮影するロボットカメラ３０と、ロボットカメラ３０を操作するロボットカメラ操作器（以下「ロボカメ操作器」という。）４０と、ニューラルネットワーク装置を有し、その学習及びロボットカメラ３０の撮影動作を制御する学習制御装置５０とを備えている。
【００２０】
図１において、実線の矢印は、学習制御装置５０が有するニューラルネットワーク装置の学習時における信号の流れを示し、破線の矢印は、学習制御装置５０がロボットカメラ３０を自動制御する自動制御時における信号の流れを示す。なお、学習時とは、ニューラルネットワーク装置を学習させるための学習用データと、学習したニューラルネットワーク装置をテストするためのテスト用データとを取得する期間と、ニューラルネットワーク装置を学習用データで学習させる期間と、学習したニューラルネットワーク装置をテスト用データでテストする期間とを含む期間をいう。
【００２１】
センサカメラ１０は、例えば、所定間隔をおいて設けた２つのカメラ装置を備え、スタジオの天井に固定され、予め定めた領域内における人物を俯瞰してステレオ立体視が行えるようになっている。また、センサカメラ１０は、２つのカメラ装置が人物を撮影したそれぞれの撮影信号を被写体検出装置２０に単位時間毎、例えば１７ミリ秒毎に出力するようになっている。
【００２２】
被写体検出装置２０は、例えば、画像処理を行うコンピュータで構成され、センサカメラ１０からのステレオ立体視による映像信号と、スタジオ内において仮想的に予め定めた３次元軸（ｘ、ｙ、ｚ軸）との関係から被写体の位置を検出し、被写体の位置を示す被写体位置データを学習制御装置５０に出力するようになっている。
【００２３】
ロボットカメラ３０は、カメラ装置及び雲台装置（以下「雲台装置等」という。）と、ロボカメ操作器４０又は学習制御装置５０が指示した撮影場所に移動する移動装置とを備え、ロボカメ操作器４０からの制御信号データ（以下「操作制御信号データ」という。）、又は学習制御装置５０からの制御信号データ（以下「撮影動作制御信号データ」という。）に応じた撮影動作を行うようになっている。具体的には、ロボットカメラ３０は、操作制御信号データ又は撮影動作制御信号データにより、雲台装置等及び移動装置が制御され、パン、チルト、ズーム、フォーカス、撮影場所移動等の撮影動作を行うようになっている。
【００２４】
ロボカメ操作器４０は、熟練したカメラマンが操作するものであって、例えば、ロボットカメラ３０の撮影映像を表示するモニタ、ロボットカメラ３０の雲台装置等を遠隔操作する操作ハンドルやスイッチ等を備えている。ロボカメ操作器４０によってロボットカメラ３０が操作されているとき、ロボットカメラ３０におけるパン、チルト、ズーム、フォーカス、撮影場所移動等の撮影動作の状態を示すデータ（以下「撮影動作状態データ」という。）を、ロボットカメラ３０が学習制御装置５０に出力するようになっている。
【００２５】
次に、学習制御装置５０の構成を図２に基づいて説明する。図２は、本実施の形態におけるロボットカメラ制御装置１をブロック図で示したものであって、学習制御装置５０の詳細な構成を示す。
【００２６】
学習制御装置５０は、データを取得するデータ取得部５１と、データを記憶するデータ記憶部５２と、計算パラメータを入力する計算パラメータ入力部５３と、ニューラルネットワーク装置１００とを備えている。なお、図示を省略したが、学習制御装置５０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、入出力インターフェース回路、記憶装置、ディスプレイ等を備えたコンピュータで構成される。この学習制御装置５０は、本発明に係るロボットカメラ制御装置及び学習装置を構成する。
【００２７】
データ取得部５１は、ニューラルネットワーク装置１００の学習時において、被写体検出装置２０からの被写体位置データと、ロボカメ操作器４０によって操作されるロボットカメラ３０からの撮影動作状態データとを単位時間毎に取得するようになっている。
【００２８】
データ記憶部５２は、データ取得部５１が取得した被写体位置データ及び撮影動作状態データを、ニューラルネットワーク装置１００を学習させるための学習用データ、又は学習済みのニューラルネットワーク１１０の性能を評価するためのテスト用データとして記憶するようになっている。
【００２９】
計算パラメータ入力部５３は、ニューラルネットワーク装置１００に現在時刻以前のデータ（以下「以前データ」という。）を入力する際に、以前データのステップ間隔値を入力するステップ間隔値入力部５３ａと、ステップ数を入力するステップ数入力部５３ｂと、ステップ間隔値及びステップ数以外の計算パラメータを入力するパラメータ入力部５３ｃとを備えている。なお、計算パラメータ入力部５３は、本発明に係る探索領域設定手段を構成する。
【００３０】
ニューラルネットワーク装置１００は、例えば入力層、中間層及び出力層を含む階層型のニューラルネットワーク１１０と、ニューラルネットワーク１１０の入力層を最適化する入力層最適化手段１２０と、ニューラルネットワーク１１０の学習評価を行う学習評価部１３０とを備えている。
【００３１】
入力層最適化手段１２０は、ニューラルネットワーク１１０の入力層に以前データを入力するデータ入力部１２１と、ステップ間隔値及びステップ数（以下、「ステップ情報」と総称する。）を設定するステップ情報設定部１２２とを備えている。なお、入力層最適化手段１２０は、本発明に係るデータ入力手段、入力層最適化部及び最適ステップ情報探索手段を構成する。
【００３２】
データ入力部１２１は、学習時においてデータ記憶部５２から学習用データ又はテストデータを、自動制御時において被写体検出装置２０から被写体位置データを、それぞれ、入力するようになっている。なお、データ入力部１２１は、本発明に係るデータ選択部を構成する。
【００３３】
ここで、データ入力部１２１が、ニューラルネットワーク１１０の入力層に以前データを入力する構成としているのは、カメラマンが被写体を撮影する場合、被写体の瞬間位置のみに応じてカメラを操作するのではなく、被写体の過去位置も考慮しながら撮影するからである。そのため、ステップ情報設定部１２２はステップ情報を設定し、データ入力部１２１はステップ情報に応じて以前データをニューラルネットワーク１１０の入力層に入力する構成となっている。なお、ステップ情報設定部１２２は、本発明に係るステップ間隔値設定部及びステップ数設定部を構成する。
【００３４】
以下、図３を用いて、以前データ及びステップ情報について説明する。
【００３５】
図３において、黒丸で示した点は、単位時間毎に撮影された撮影データの時間的位置を表している。また、現在時刻ｔにおける被写体位置のデータをＳｔで表している。以前データとは、現在時刻ｔ以前の被写体位置のデータであって、時刻ｔ、ｔ−ｉ、ｔ−２ｉ、ｔ−３ｉ、・・・、ｔ−ｕｉにそれぞれ対応する被写体位置のデータＳｔ、Ｓｔ−ｉ、Ｓｔ−２ｉ、Ｓｔ−３ｉ、・・・、Ｓｔ−ｕｉをいう。ここで、各データの間隔を示す記号ｉがステップ間隔値を示し、図３に示した例では、ステップ間隔値ｉ＝３としている。また、ステップ間隔値ｉの総数を示す記号ｕがステップ数を示す。
【００３６】
また、被写体位置のデータＳと同様に、カメラマンがロボカメ操作器４０を介してロボットカメラ３０を操作した際のロボットカメラ３０の撮影動作状態データｒも、各時刻に対応する撮影動作状態データｒｔ、ｒｔ−ｉ、ｒｔ−２ｉ、ｒｔ−３ｉ、・・・、ｒｔ−ｕｉを含む。同様に、ロボットカメラ３０の撮影動作状態データＲも、各時刻に対応する撮影動作状態データＲｔ、Ｒｔ−ｉ、Ｒｔ−２ｉ、Ｒｔ−３ｉ、・・・、Ｒｔ−ｕｉを含む。
【００３７】
図２に戻り、構成の説明を続ける。
【００３８】
学習評価部１３０は、以前データに対するニューラルネットワーク１１０の出力信号データからニューラルネットワーク１１０の学習状態を評価するようになっている。また、学習評価部１３０は、ニューラルネットワーク１１０の学習状態に応じて、ニューラルネットワーク１１０における入力層と中間層との間、中間層と出力層との間の重み係数を更新するようになっている。なお、学習評価部１３０は、本発明に係る学習状態評価手段を構成する。
【００３９】
次に、本実施の形態におけるロボットカメラ制御装置１の動作について説明する。なお、ロボットカメラ制御装置１の動作としては、（１）学習用データ及びテスト用データを取得する動作と、（２）最適モデルを生成する動作と、（３）ロボットカメラ３０を自動制御する動作とがあり、以下、順に説明する。
【００４０】
（１）学習用データ及びテスト用データを取得する動作
図２において、熟練したカメラマンがロボカメ操作器４０を操作すると、ロボカメ操作器４０は、操作制御信号データをロボットカメラ３０に出力する。ロボットカメラ３０は、操作制御信号データに基づいて被写体を撮影し、撮影動作状態データをデータ取得部５１に単位時間毎に出力する。並行して、被写体検出装置２０は、センサカメラ１０が撮影した被写体画像に基づいて被写体の位置を検出し、被写体位置データをデータ取得部５１に単位時間毎に出力する。
【００４１】
そして、データ取得部５１は、被写体位置データと、この被写体位置データに対応する撮影動作状態データとを対応づけた学習用データを生成し、所定のファイル形式でデータ記憶部５２に記憶する。学習用データを記憶するファイル形式として、例えば、ｃｓｖ（Comma Separated Values）ファイル形式を用いる場合、被写体位置データと撮影動作状態データとを単位時間毎に対応させ、各データをカンマで区切って並べたファイルとなる。
【００４２】
なお、テスト用データも学習用データと同様にデータ取得部５１が取得し、データ記憶部５２に記憶する。
【００４３】
（２）最適モデルを生成する動作
図４は、最適モデルを生成する動作を示すフローチャートである。
【００４４】
まず、計算パラメータ入力部５３は、入力パラメータを設定する（ステップＳ１１）。具体的には、計算パラメータ入力部５３は、図５に示すようなＧＵＩ（Graphical User Interface）画面をディスプレイに表示し、利用者にパラメータの入力を促す。
【００４５】
図５に示すＧＵＩ画面は、学習用データを指定する学習用データ指定部１０１と、テスト用データを指定するテスト用データ指定部１０２と、ニューラルネットワーク１１０の最適モデルデータを記憶するファイル情報を指定する最適モデルデータ指定部１０３と、ニューラルネットワーク１１０に入力する位置データの座標軸を指定する入力変数チェックボックス１０４と、ニューラルネットワーク１１０に制御させる座標軸を指定する出力変数チェックボックス１０５と、ステップ情報の探索領域を指定する探索領域指定部１０６とを含む。また、探索領域指定部１０６は、最大過去ステップ値の入力部１０６ａと、その間隔値を指定する間隔値指定ボックス１０６ｂと、ステップ間隔値の入力部１０６ｃと、その間隔値を指定する間隔値指定ボックス１０６ｄとを含む。なお、最大過去ステップ値は、後述するように、ステップ数ｕを定めるための値である。また、間隔値指定ボックス１０６ｂは、本発明に係る第２の探索間隔設定部を構成する。また、間隔値指定ボックス１０６ｄは、本発明に係る第１の探索間隔設定部を構成する。
【００４６】
図５に示した例では、入力変数としては、ｘ軸、ｙ軸及びｚ軸に関する変数のうち、ｘ軸及びｙ軸に関する変数が指定されている。また、出力変数としては、パン、チルト、ズーム、フォーカス、Ｘ軸、Ｙ軸及びＺ軸に関する変数のうち、パン及びチルトに関する変数が指定されている。なお、Ｘ軸、Ｙ軸及びＺ軸に関する変数は、ロボットカメラ３０の移動装置に撮影場所を移動させる動作を行わせるためのものである。
【００４７】
また、探索領域指定部１０６においては、最大過去ステップ値の入力部１０６ａに「５，１０−３０，５０」、間隔値指定ボックス１０６ｂに「５」、ステップ間隔値の入力部１０６ｃに「１−５，２０」、間隔値指定ボックス１０６ｄに「２」が、それぞれ、記述された状態が示されている。
【００４８】
ここで、記号「，」は論理演算における論理積（アンド）を示し、記号「−」は対象とする領域を示している。記号「−」を用いているのは、以前データにおける１ステップの変化ではニューラルネットワーク１１０の特徴が大きく変化しないので、最大過去ステップ値の入力部１０６ａ及びステップ間隔値の入力部１０６ｃにおいて記号「−」で範囲を指定し、それぞれ、間隔値指定ボックス１０６ｂ及び間隔値指定ボックス１０６ｄでの指定によって探索間隔が大まかに設定できるようになっている。
【００４９】
具体的には、図５に示した例では、最大過去ステップ値の入力部１０６ａにおいて、「５」、「１０から３０まで」、「５０」が指定されていることになる。加えて、間隔値指定ボックス１０６ｂに「５」が指定されているので、最大過去ステップ値として、「５」、「１０」、「１５」、「２０」、「２５」、「３０」、「５０」が指定されていることになる。
【００５０】
同様に、ステップ間隔値の入力部１０６ｃに「１−５，２０」が記述され、間隔値指定ボックス１０６ｄに「２」が記述されているので、ステップ間隔値としては、「１」、「３」、「５」、「２０」が指定されていることになる。ここで指定されたステップ間隔値が図３において記号ｉで示したステップ間隔値に相当する。一方、図３において記号ｕで示したステップ数は、最大過去ステップ値をステップ間隔値で除して得る。例えば、最大過去ステップ値＝５０、ステップ間隔値ｉ＝２のとき、ステップ数ｕ＝２５である。ただし、この除算において割り切れないときは、割り切れる数値のうちの最大値を用いるのが好ましい。例えば、最大過去ステップ値＝５０、ステップ間隔値ｉ＝３のとき、ステップ数ｕ＝１６とすればよい。なお、最大過去ステップ値の入力に代えてステップ数ｕを直接入力する構成としてもよい。
【００５１】
図４に戻り、ステップＳ１１において設定したパラメータを使用して、ステップ情報設定部１２２は、探索領域から全ｉ、ｕの組み合わせを計算する（ステップＳ１２）。具体的には、図５で設定した探索領域におけるステップ間隔値ｉ、ステップ数ｕの組み合わせは以下のようになる。
【００５２】
（ｉ，ｕ）＝（１，５）、（３，１）、（５，１）、（１，１０）、（１，１５）、（１，２０）、（１，２５）、（１，３０）、（３，３）、（３，５）、（３，６）、（３，８）、（３，１０）、（５，２）、（５，３）、（５，４）、（５，５）、（５，６）、（１，５０）、（３，１６）、（５，１０）、（２０，１）、（２０，２）
【００５３】
続いて、入力層最適化手段１２０は、ステップＳ１１において指定した学習用データをデータ記憶部５２から読み出し、全ｉ、ｕの組み合わせについて、学習用データを用いてニューラルネットワーク１１０を学習させる（ステップＳ１３）。本実施の形態では、誤差逆伝播法により学習処理を行う例を挙げ、図６に基づいて説明する。
【００５４】
図６に示すように、入力層最適化手段１２０は、ステップＳ２１において時刻変数ｔを初期化し、ステップＳ２２及びＳ２３において、時刻変数ｔが（ｉ×ｕ）より大きくなるまで時刻変数ｔを増加させる。
【００５５】
入力層最適化手段１２０は、ステップＳ２２においてｔ≧（ｉ×ｕ）と判断した場合、ニューラルネットワーク１１０に学習用データの被写体位置データＳｔ、Ｓｔ−ｉ、Ｓｔ−２ｉ、Ｓｔ−３ｉ、・・・、Ｓｔ−ｕｉを入力し、ニューラルネットワーク１１０は、前向き演算によってロボットカメラ３０の予測撮影動作状態データＲｔ＋１を計算する（ステップＳ２４）。
【００５６】
次に、学習評価部１３０は、ニューラルネットワーク１１０が求めたロボットカメラ３０の予測撮影動作状態データＲｔ＋１と、学習用データに含まれる時刻（ｔ＋１）における位置、すなわち、熟練したカメラマンにより実際に制御された際の時刻（ｔ＋１）におけるロボットカメラ３０の撮影動作状態データｒｔ＋１とについて、例えばパン軸値及びチルト軸値の二乗誤差の総和値ｅ２を計算する（ステップＳ２５）。
【００５７】
次に、学習評価部１３０は、後ろ向き演算によってニューラルネットワーク１１０の重み係数を更新する（ステップＳ２６）。
【００５８】
次に、入力層最適化手段１２０は、時刻変数ｔが撮影時刻Ｔと等しいか否か判断する（ステップＳ２７）。なお、撮影時刻Ｔ情報は、例えば学習用データで予め指定される。
【００５９】
ステップＳ２７において、時刻変数ｔが撮影時刻Ｔと等しいと判断しなかった場合、入力層最適化手段１２０は、時刻変数ｔをインクリメントし（ステップＳ２８）、ステップＳ２４の処理に戻る。
【００６０】
一方、ステップＳ２７において、時刻変数ｔが撮影時刻Ｔと等しいと判断した場合、入力層最適化手段１２０は、ニューラルネットワーク１１０の学習が終了したか否かを判断し（ステップＳ２９）、学習が終了したと判断した場合は学習処理を終了し、学習が終了したと判断しなかった場合はステップＳ２１の処理に戻る。
【００６１】
ここで、前述した学習処理について図７に基づき具体的に説明する。説明を簡単にするため、ｉ＝３、ｕ＝５、撮影単位時間＝１（秒）とする。この場合において、図７は、学習させる被写体位置の以前データの推移を示している。この例において、被写体位置の以前データをニューラルネットワーク１１０に入力開始するのは、最初のデータ（左端の黒点）から（ｉ×ｕ）＝１５（秒）後の時点であるので、図７において、その時刻を開始時刻（＝０）とし、撮影終了時刻Ｔをその９（秒）後としている。
【００６２】
開始時刻において入力するのは被写体位置の以前データＤ０である。図６のステップＳ２８において時刻変数ｔがインクリメントされるので、Ｄ１、Ｄ２、・・・、Ｄ９と以前データを順次入力することになる。そして、以前データＤ９によって重み係数が更新された後、ステップＳ２９で学習が終了したか否かが判断される。ここで、学習が終了したと判断されなかった場合に、ステップＳ２１において時刻変数ｔが初期化される。これは、再度、以前データＤ０からＤ９までを順次入力することを意味している。一般に、入力する以前データが同じデータであっても、学習を繰り返すに従って、ニューラルネットワーク１１０の学習状態を向上させることができる。
【００６３】
次に、ステップＳ２９において、ニューラルネットワーク１１０の学習が終了したか否かを判断する手法の例を示す。本実施の形態に示したように、ニューラルネットワーク１１０が階層型の場合は、例えば、ニューラルネットワーク１１０の全ての入出力パターンについて、ステップＳ２５で求めた総和値ｅ２が、事前に設定した閾値Ｅ２よりも小さくなったときを学習の終了時とすることができる。この閾値Ｅは被写体や撮影シーンに応じて定めるのが好ましい。
【００６４】
図４に戻り、前述のように学習したニューラルネットワーク１１０に対し、全ｉ、ｕの組み合わせについて、テスト用データを用いて評価値を計算する（ステップＳ１４）。この処理の一例について、図８に示すフローチャートを用いて説明する。
【００６５】
図８に示すように、入力層最適化手段１２０は、ステップＳ３１において時刻変数ｔを初期化し、ステップＳ３２及びＳ３３において、時刻変数ｔが（ｉ×ｕ）より大きくなるまで時刻変数ｔを増加させるとともに、ロボットカメラ３０の雲台装置等における各軸値の二乗誤差の総和値ｅｔ２＝０とする。
【００６６】
入力層最適化手段１２０は、ステップＳ３２においてｔ≧（ｉ×ｕ）と判断した場合、ニューラルネットワーク１１０にテスト用データの被写体位置データＳｔ、Ｓｔ−ｉ、Ｓｔ−２ｉ、Ｓｔ−３ｉ、・・・Ｓｔ−ｕｉを学習済みニューラルネットワーク１１０に入力し、ニューラルネットワーク１１０は、前向き演算によってロボットカメラ３０の予測撮影動作状態データＲｔ＋１を計算する（ステップＳ３４）。
【００６７】
次に、学習評価部１３０は、ニューラルネットワーク１１０が求めたロボットカメラ３０の予測撮影動作状態データＲｔ＋１と、テスト用データに含まれる時刻（ｔ＋１）における位置、すなわち、熟練したカメラマンにより実際に制御された際の時刻（ｔ＋１）におけるロボットカメラ３０の撮影動作状態データｒｔ＋１とについて、例えばパン軸値及びチルト軸値の二乗誤差の総和ｅｔ２を計算する（ステップＳ３５）。
【００６８】
次に、入力層最適化手段１２０は、時刻変数ｔが撮影時刻Ｔと等しいか否か判断する（ステップＳ３６）。なお、撮影時刻Ｔは、例えばテスト用データで予め指定される。
【００６９】
ステップＳ３６において、時刻変数ｔが撮影時刻Ｔと等しいと判断しなかった場合、入力層最適化手段１２０は、時刻変数ｔをインクリメントし（ステップＳ３７）、ステップＳ３４の処理に戻る。
【００７０】
一方、ステップＳ３６において、時刻変数ｔが撮影時刻Ｔと等しいと判断した場合、入力層最適化手段１２０は、ニューラルネットワーク１１０の評価値を数１により計算し（ステップＳ３８）、評価値の計算処理を終了する。
【００７１】
【数１】
0005108563.tif 000002
【００７２】
なお、ニューラルネットワーク１１０の評価値は、この方法によるものに限定されるものではなく、例えば、ｔ＝（ｉ×ｕ）〜ＴにおけるＲｔ＋１とｒｔ＋１との相関係数を用いてもよい。
【００７３】
図４に戻り、入力層最適化手段１２０は、ステップＳ１４において求めた評価値のうち、最良の評価値が得られたステップ情報（以下「最適ステップ情報」という。）、すなわち、最適ステップ間隔値及び最適ステップ数の組み合わせとなるｉ、ｕ各１つずつのデータと、最良の評価値が得られた最適モデルデータとを、図５に示した最適モデルデータ指定部１０３で指定したファイル情報で、図示しない記憶装置に出力し（ステップＳ１５）、最適モデル生成処理を終了する。
【００７４】
（３）ロボットカメラ３０を自動制御する動作
次に、ロボットカメラ３０を自動制御する動作を図２に基づいて説明する。
【００７５】
まず、入力層最適化手段１２０は、最適モデル生成処理において記憶された最適ステップ情報のデータ及び最適モデルデータを図示しない記憶装置から読み出し、これらに基づいてニューラルネットワーク１１０を構築する。その結果、ニューラルネットワーク１１０の入力層のユニット数は（ｕ＋１）と入力変数の個数との積で示される。
【００７６】
次に、センサカメラ１０は、ステレオ立体視による被写体の撮影を行い、その映像信号を被写体検出装置２０に単位時間毎に出力する。
【００７７】
次に、被写体検出装置２０は、ステレオ立体視による映像信号と、スタジオ内において仮想的に予め定めた３次元軸との関係から、画像処理を行って被写体の位置を検出し、被写体の位置を示す被写体位置データを学習制御装置５０のデータ入力部１２１に送る。
【００７８】
次に、データ入力部１２１は、ニューラルネットワーク１１０の入力層に被写体位置データを単位時間毎に、最適ステップ情報に基づいて選択して入力する。例えば、最適ステップ情報がステップ間隔数ｉ＝３、ステップ数ｕ＝２の場合を例に挙げる。この場合、データ入力部１２１は、単位時間毎に順次入力する被写体位置データから、現在時刻の被写体位置データと、現在時刻から３単位時間前の被写体位置データと、現在時刻から６単位時間前の被写体位置データとを選択して入力層に入力する。
【００７９】
ニューラルネットワーク１１０は、入力層が入力した被写体位置データに基づいてロボットカメラ３０の撮影動作状態を予測する計算をし、計算結果のデータを撮影動作制御信号データとしてロボットカメラ３０に出力する。
【００８０】
そして、ロボットカメラ３０は、学習制御装置５０からの撮影動作制御信号データに応じた撮影動作、例えばパン動作、チルト動作等を行う。
【００８１】
なお、図４、図６及び図８に示した各ステップの処理をプログラミングし、当該プログラムによってコンピュータを動作させることにより、当該プログラムは、コンピュータをロボットカメラ制御装置１として機能させることができる。この場合、コンピュータは、図２に示した構成を有することとなる。
【００８２】
以上のように、本実施の形態におけるロボットカメラ制御装置１によれば、以前データをニューラルネットワークに段階的に入力する際のステップ間隔値及びステップ数を設定する構成としたので、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができる。
【００８３】
なお、前述の実施の形態において、本発明に係るネットワーク装置をロボットカメラの撮像動作制御に適用した例を挙げて説明したが、本発明はこれに限定されるものではなく、例えば、移動する人物や物体の位置を予測する予測装置に適用することもできる。
【産業上の利用可能性】
【００８４】
以上のように、本発明に係るニューラルネットワーク装置及びそれを用いたロボットカメラ制御装置並びにニューラルネットワークプログラムは、煩雑な作業の省力化を図ることができ、従来よりも短時間で最適モデルを構築することができるという効果を有し、例えば動く物体の位置を予測計算するニューラルネットワーク装置及びそれを用いたロボットカメラ制御装置並びにニューラルネットワークプログラム等として有用である。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施の形態におけるロボットカメラ制御装置の概要構成を示す図
【図２】本発明の一実施の形態におけるロボットカメラ制御装置のブロック図
【図３】本発明の一実施の形態におけるロボットカメラ制御装置における以前データ及びステップ情報の説明図
【図４】本発明の一実施の形態におけるロボットカメラ制御装置において、最適なニューラルネットワークモデルを生成する動作を示すフローチャート
【図５】本発明の一実施の形態におけるロボットカメラ制御装置において、入力パラメータを設定するためのＧＵＩ画面の一例を示す図
【図６】本発明の一実施の形態におけるロボットカメラ制御装置において、学習用データを用いてニューラルネットワークを学習させる動作を示すフローチャート
【図７】本発明の一実施の形態におけるロボットカメラ制御装置において、学習用データを用いてニューラルネットワークを学習させる際の具体的な説明図
【図８】本発明の一実施の形態におけるロボットカメラ制御装置において、テスト用データを用いてニューラルネットワークの評価値を計算する動作を示すフローチャート
【符号の説明】
【００８６】
１  ロボットカメラ制御装置
１０  センサカメラ
２０  被写体検出装置
３０  ロボットカメラ
４０  ロボカメ操作器
５０  学習制御装置（ロボットカメラ制御装置、学習装置）
５１  データ取得部
５２  データ記憶部
５３  計算パラメータ入力部（探索領域設定手段）
５３ａ  ステップ間隔値入力部
５３ｂ  ステップ数入力部
５３ｃ  パラメータ入力部
１００  ニューラルネットワーク装置
１０１  学習用データ指定部
１０２  テスト用データ指定部
１０３  最適モデルデータ指定部
１０４  入力変数チェックボックス
１０５  出力変数チェックボックス
１０６  探索領域指定部
１０６ａ  最大過去ステップ値の入力部
１０６ｂ  間隔値指定ボックス（第２の探索間隔設定部）
１０６ｃ  ステップ間隔値の入力部
１０６ｄ  間隔値指定ボックス（第１の探索間隔設定部）
１１０  ニューラルネットワーク
１２０  入力層最適化手段（データ入力手段、入力層最適化部、最適ステップ情報探索手段）
１２１  データ入力部（データ選択部）
１２２  ステップ情報設定部（ステップ間隔値設定部、ステップ数設定部）
１３０  学習評価部（学習状態評価手段）
【図１】
0005108563.tif 000003
【図２】
0005108563.tif 000004
【図３】
0005108563.tif 000005
【図４】
0005108563.tif 000006
【図５】
0005108563.tif 000007
【図６】
0005108563.tif 000008
【図７】
0005108563.tif 000009
【図８】
0005108563.tif 000010