(57)【特許請求の範囲】
【請求項１】
撮像手段から与えられた画像を受け取るとともに、一時記憶部に記憶する記憶処理手段と、
前記一時記憶部に記憶された所定の複数の画像を読み出すとともに、その読み出した複数の処理対象画像から基準画像を生成する手段と、
生成した基準画像と、前記処理対象画像とを比較し、所定以上相違する部分を前記基準画像に重ね合わせることにより、軌跡画像を生成する軌跡画像生成手段と、
その生成した軌跡画像を出力装置に向けて出力する軌跡画像出力手段とを備え、
任意の２枚の処理対象画像の差分を求め、その差分が所定以上相違する場合に前記生成した基準画像と、前記処理対象画像との比較を行うようにしたことを特徴とする運動動作解析支援装置。
【請求項２】
撮像手段から与えられた画像を受け取るとともに、一時記憶部に記憶する記憶処理手段と、
前記一時記憶部に記憶された所定の複数の画像を読み出すとともに、その読み出した複数の処理対象画像から基準画像を生成する手段と、
生成した基準画像と、前記処理対象画像とを比較し、所定以上相違する部分を前記基準画像に重ね合わせることにより、軌跡画像を生成する軌跡画像生成手段と、
その生成した軌跡画像を出力装置に向けて出力する軌跡画像出力手段と、
ＩＯ信号を受け取るＩＯ入力部とを設け、
その受け取ったＩＯ信号の変化に基づいて、上記基準画像の生成並びに前記軌跡画像の生成処理が起動されるようにしたことを特徴とする運動動作解析支援装置。
【請求項３】
前記ＩＯ入力部で受け取ったＩＯ信号を、前記画像データと関連付けて前記一時記憶部に記憶する機能と、
前記一時記憶手段に記憶した前記ＩＯ信号を読み出し、前記軌跡画像とともに前記出力装置に向けて出力する機能を設けたことを特徴とする請求項２に記載の運動動作解析支援装置。
【請求項４】
撮像手段から与えられた画像を受け取るとともに、一時記憶部に記憶する記憶処理手段と、
前記一時記憶部に記憶された所定の複数の画像を読み出すとともに、その読み出した複数の処理対象画像から基準画像を生成する手段と、
生成した基準画像と、前記処理対象画像とを比較し、所定以上相違する部分を前記基準画像に重ね合わせることにより、軌跡画像を生成する軌跡画像生成手段と、
その生成した軌跡画像を出力装置に向けて出力する軌跡画像出力手段とを備え、
前記軌跡画像生成手段は、記録した複数の画像の中から指定された画像における加重平均領域として指定された領域の画像を、周囲から中心へ向けて徐々に重み付けを高くして、前記重ね合わせ画像における加重平均領域に加重平均する処理機能を備えたことを特徴とする運動動作解析支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、機械設備や人間などの運動・動作の分析支援を行うことのできる運動動作解析支援装置に関するものである。
【０００２】
【従来の技術】
例えば、生産ラインに設置された設備の動作状態を監視するために、動作軌跡を見たいという要求がある。この監視目的は、異常の有無を判定したり、異常設備の原因を究明をするためなど各種のものがある。また、このような動作軌跡は、機械設備に限ることはなく人間の運動の状態の場合もある。すなわち、例えば各種スポーツにおいて、正しいフォームで運動・動作が行われているか否かをチェックすることは重要な要素の一つである。このように、機械設備や人間などの運動・動作の分析・解析が簡単に行えると好ましい。
【０００３】
ところで、係る運動軌跡を確認する方法として、ビデオカメラなどの動画を撮像できる画像処理装置を用いて実際に運動している状態を撮像し、その撮像した画像をスローモーションや駒送りによる再生を行う方法がある。しかし、動画を再生したのでは、動きの流れはわかるものの、異なる複数の時刻での状態を同時に見ることはできないというデメリットがある。
【０００４】
そこで、その動作軌跡を１画面に表示する方法もある。分かりやすい例では、ゴルフのスイングの軌跡を１枚に表示するものである。このように一枚の画面上に表現することができると、相対的な姿勢関係・バランスの良否などがわかったり、一連の流れの中でおかしい部分が一目でわかるので好ましい。
【０００５】
ところで、これを実現するための従来の技術としては、ストロボスコープによる多重露光や、クロマキー処理がある。さらには、オブジェクト追跡やエッジ追跡などにより、画像中に存在する監視対象物を認識し、その移動を追跡するといった画像処理を用いることもできる。
【０００６】
【発明が解決しようとする課題】
しかしながら、１枚の画面上に運動軌跡を重ねて表示するための従来の各種方法では、いずれも以下に示す理由により、汎用的かつ簡易に用いることができなかった。
【０００７】
すなわち、ストロボスコープやクロマキー処理は特別な背景が必要であり、屋外や製造現場では使用できない。また、オブジェクト追跡やエッジ追跡などの画像処理技術を用いる方法では、高度な画像処理を行う必要があり、高速なＣＰＵや専用画像処理ハードが必要となる。
【０００８】
さらに、製造設備のトラブル時の解析を行うための動作軌跡を解析したい場合には、記録したいタイミングを逃してしまい記録できないことがある。さらにまた、運動軌跡が平面上を前後するような場合には、軌跡の時間や順序の前後関係がわからなくなる等と言った問題もある。
【０００９】
この発明は、まれにしか発生しない現象でも、記録したい動作を確実に記録し、特別な背景を必要とせず、屋外，屋内などの状況に依存せず、高度な画像処理専用設備（専用ＩＣ，ＣＰＵなど）を必要とせず、軌跡の時間や順序に対する前後関係が分かるように軌跡を表示し、運動解析を支援することのできる運動動作解析支援装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
この発明による運動動作解析支援装置では、撮像手段から与えられた画像を受け取るとともに、一時記憶部に記憶する記憶処理手段と、前記一時記憶部に記憶された所定の複数の画像を読み出すとともに、その読み出した複数の処理対象画像から基準画像を生成する手段と、生成した基準画像と、前記処理対象画像とを比較し、所定以上相違する部分を前記基準画像に重ね合わせることにより、軌跡画像を生成する軌跡画像生成手段と、その生成した軌跡画像を出力装置に向けて出力する軌跡画像出力手段とを備えるものを前提とする。
【００１１】
ここで、記憶処理手段は、実施の形態ではロギング処理部１１ｂに対応する。また、基準画像を生成する手段と軌跡画像生成手段が、実施の形態では運動軌跡演算部１１ｃにより実現されている。なお、基準画像を作成する処理は、例えば全ての画像，一定期間の画像等各種のものが対象となる。つまり、必ずしも処理対象画像の全部を用いる必要はない。
【００１２】
この発明によれば、一時記憶部に格納した画像を読み出し、基準画像を求めるとともに、その基準画像と差の大きい部分を動く部分として重ね合わせることにより、複数枚の処理対象画像の動く部分が合成された１枚の軌跡画像が生成されるので、背景に依存せず、高度な画像処理設備を必要とせず、簡単な処理で軌跡を確認できる。
【００１３】
本発明は、上記の前提の構成において、基準画像との差分を求めるに際し、各処理対象画像を順に基準画像と比較しても良いし、前処理として任意の２枚の処理対象画像の差分を求め、その差分が所定以上相違する場合に前記生成した基準画像と、前記処理対象画像との比較を行うようにした。
【００１４】
また、別の解決手段としては、上記の前提の構成において、ＩＯ信号を受け取るＩＯ入力部を設け、その受け取ったＩＯ信号の変化に基づいて、上記基準画像の生成並びに前記軌跡画像の生成処理が起動されるようにするとよい。このようにすると、記録したい動作の運動軌跡を確実に記録し、高度な画像処理設備を必要とせずに、対象物（設備、人）の特定のイベントに対する運動軌跡を生成し、出力することができる。このように、特定のＩＯイベント条件が成立した画像のみを処理対象することにより、設備の運動軌跡を効率的に表示し、設備の異常動作を容易に解析できる。もちろん、本発明における起動は、ＩＯ信号の変化に基づかずに行うものを妨げない。
【００１５】
また、前記ＩＯ入力部で受け取ったＩＯ信号を、前記画像データと関連付けて（同期をとって）前記一時記憶部に記憶する機能と、前記一時記憶手段に記憶した前記ＩＯ信号を読み出し、前記軌跡画像とともに前記出力装置に向けて出力する機能を設けるとよい。ＩＯ信号をあわせて出力することにより、特に設備装置の監視，解析の場合には、軌跡画像により異常が見つかった場合、そのときのＩＯ信号によって装置の状態がわかるので好ましい。
【００１６】
また、前記基準画像を生成する手段は、前記複数の処理対象画像の平均を求める処理機能を含むようにすると、簡単に基準画像の生成処理ができて好ましい。この平均画像を求める際の画像は、処理対象画像の全部でも良いし、一定期間の画像でも良い。
【００１７】
さらにまた、前記軌跡画像生成手段は、前記複数の処理対象画像の各部分の分散値に基づいて、当該部分が前記所定以上相違するか否かを判断するようにするとよい。このように分散値を用いることにより、処理対象画像中の各部分で異なる閾値を設定でき、より精度良く動いている部分を検出できる。
【００１８】
また、別の解決手段としては、上記の前提の構成において、前記軌跡画像生成手段は、記録した複数の画像の中から指定された画像における加重平均領域として指定された領域の画像を、周囲から中心へ向けて徐々に重み付けを高くして、前記重ね合わせ画像における加重平均領域に加重平均する処理機能を備えると良い。このようにすると、動きが遅かったり、動くものの形状の大きい場合に、前後の画像に基づく動く部分が重なってしまい見難くなることが抑制できる。なお、この加重平均領域や、加重平均の重み付けは固定でも良いし、適宜設定できるようにしても良い。そして、加重平均する対象の画像を時系列または指定により順次選択するようにすると、軌跡の上で運動状態を容易に観察することができる。
【００１９】
さらに、前記基準画像に重ね合わせる部分に対し、処理対象画像単位で識別可能に出力するようにすると好ましい。実施の形態では、色を変えているが、濃度を変えたり、パターン（模様）を変えるなど各種の識別手法がとれる。これにより、イベントからの相対順序や時間的順序を軌跡から容易によみとることができる。
【００２０】
さらに、撮像手段から与えられた画像を受け取るとともに、一時記憶部に記憶する記憶処理手段と、前記一時記憶部に記憶された所定の複数の画像を読み出すとともに、その読み出した複数の処理対象画像から基準画像を生成する手段と、その生成した基準画像を出力装置に向けて出力する手段とを備えて構成することもできる。
【００２１】
【発明の実施の形態】
図１は、本発明に係る運動動作解析支援装置の好適な一実施の形態のハードウエア構成を示している。同図に示すように、本発明の運動動作解析支援装置１０は、ＣＰＵ１１，メインメモリ１２，補助記憶装置１３，周辺入力装置１４，画像出力装置１５，画像入力装置１６並びにＩＯ入力装置１７がバス１８に接続され、相互にデータの送受が行えるようになっている。係るハードウェア構成は、通常の画像処理装置等と同様である。
【００２２】
本発明との関係で、各部の機能を更に説明すると、ＣＰＵ１１は、不揮発性の補助記憶装置１３に格納されたプログラムを読み込み、その読み込んだプログラムを実行する。その際、メインメモリ１２を適宜使用する。なお、具体的なプログラムの内容（機能）は、後述する。
【００２３】
周辺機器の一つであるカメラ２１は、画像入力装置１６に接続されており、そのカメラ２１で撮像した画像データ（動画）は  外部に接続したカメラ（ＣＤＤカメラなど）２１からの与えられた画像データをデジタルデータに変換し、ＣＰＵ１１に渡すようになっている。また、実際には、ＣＰＵ１１からの命令に従って画像を取得しＣＰＵ１１に渡すようになる。なお、画像データはフィールド単位で取り込まれ、必要に応じて圧縮処理される。
【００２４】
一方、ＩＯ入力装置１７には、周辺機器としてＰＬＣ（プログラマブルロジックコントローラ）２２やセンサ２３が接続されており、それらＰＬＣ２２，センサ２３から送られてくるデジタルまたはアナログデータをＣＰＵ１１に渡す機能を有する。つまり、ＩＯ入力装置１７は、多点Ｉ／Ｏインタフェースであり、外部からのＯＮ／ＯＦＦ信号を読み込む機能を持つ。
【００２５】
そして、上記各入力装置から受け取った画像データやＩＯデータ（ＯＮ／ＯＦＦ信号）などは、メインメモリ１２に形成されたリングバッファに格納される。つまり、リングバッファのメモリ容量は、Ｔｍａｘ秒分の画像データ及びそれに関連する情報を格納できるように設定している。さらに、メインメモリ１２に書き込むデータは、画像データ，シリアルデータ（計測データ）並びにＩ／Ｏデータ（個別検査結果）等があるが、それら各データに対しそれぞれ個別のリングバッファを用意し、それぞれ別々に格納しても良いし、複数のデータを１つのリングバッファに格納するようにしても良い。なお、何れの場合も各データは同期をとって（関連付けて）格納され、画像データとＩＯデータの関係を示すと、図２のようになる。
【００２６】
なおまた、連続して記憶していくと、当然のことながらＴｍａｘ秒後には、形成したリングバッファにフルにデータが格納されることになる。従って、その次に画像を取得した際には、その取得した画像データを、最初に画像データを格納した領域に対して上書き保存をする。これにより、記録開始からＴｍａｘ秒後は、過去Ｔｍａｘ秒間の画像その他のデータがリングバッファ上に一時的に保存された状態となる。
【００２７】
そして、上記リングバッファに格納された各データは、ＣＰＵ１１が読み出すとともに、画像出力装置１５を介してディスプレイ２４に出力表示可能となっている。この読み出す際に、ＣＰＵ１１は、各データの同期をとるようにする。さらに画像出力装置１５は、ＣＰＵ１１の制御に従い、カメラ２１で撮像された画像データを画像入力装置１６からバスを介して画像出力装置１５に渡し、スルー画像をディスプレイ２４に出力することもできる。
【００２８】
なおまた、上記したリングバッファに格納されたデータは、ＣＰＵ１１によって読み出されるとともに、補助記憶装置１３に格納することもできる。もちろん、この補助記憶装置１３へ保存するデータやディスプレイ２４に表示するデータは、リングバッファに格納されたデータをそのまま出力する場合もあれば、ＣＰＵ１１にて所定の画像処理をして生成された画像データを出力することもできる。
【００２９】
さらにまた、周辺入力装置１４には、キーボード２５やコンソール２６等の入力装置が接続されており、周辺入力装置１４は、係る入力装置から与えられた命令をＣＰＵ１１に送り、本機器の動作設定や、記録結果の再生指示を与えるようになっている。
【００３０】
次に、本発明との関係におけるＣＰＵ１１の機能を説明する。このＣＰＵ１１は、図３に示すように、条件設定部１１ａと、その条件設定部１１ａで設定された条件に従い、各種データを取得しメインメモリ１２のリングバッファに格納するロギング処理部１１ｂと、リングバッファに格納された画像データに基づき監視対象物の運動軌跡を求める運動軌跡演算部１１ｃ並びにその運動軌跡演算部１１ｃで生成した画像を出力表示する運動軌跡表示部１１ｄを有している。そして、各部の具体的な処理機能は以下のようになっている。
【００３１】
まず、条件設定部１１ａは、解析したい設備の動きを記録するための各種設定を行うもので、キーボード２５，コンソール２６から周辺入力装置１４を介して与えられる情報に従って設定する。設定する条件項目としては、▲１▼記録時間（ｒｅｃ＿ｔｉｍｅ），▲２▼トリガ前比率（ｔｒｉｇ＿ｐｏｓ），▲３▼記録トリガ条件（ｉｏ＿ｎｏ，ｉｏ＿ｅｖｅｎｔ），▲４▼軌跡演算方式（ｔｒａｃｅ），▲５▼加重平均方式（ｂ＿ｔｂｌｅ，ｂ＿ａｒｅａ），▲６▼色差処理（ｃｏｌｏｒ），▲７▼処理対象画像（ｏ＿ｉｍｇ）の７種類を特定する。
【００３２】
そして、各項目の具体的な内容は、以下の通りである。すなわち、▲１▼記録時間は、軌跡を描画するための画像(ＩＯを含む)記録時間であり、ここで指定した時間分の画像をメインメモリのリングバッファにバッファリング記録する。
【００３３】
▲２▼トリガ前比率は、設備ＮＧを記録する場合や、ある特定イベントの前後の軌跡を見たい場合、上記記録時間に対するトリガ前比率を設定する。例えば、トリガ前比率を５０％とすると、トリガがかかった前後の同じ時間分だけの画像データを取得する。また、トリガ前比率が１００％とすると、トリガがかかった時点から過去にさかのぼって所定時間分の画像データを取得する。特定のイベントは、記録トリガ条件で指定する。
【００３４】
▲３▼記録トリガ条件は、軌跡を描画するための画像を記録するタイミングをとるための基準となる記録トリガを設定する。ＩＯ入力装置１７から取り込むＩＯ１６点（０〜１５）のうち、どの点（ｉｏ＿ｎｏ）の信号変化（ｉｏ＿ｅｖｅｎｔ）を監視するかを指定する。そして、信号変化は、ＯＮ，ＯＦＦ，立ちあがり，立下りを指定できる。
▲４▼軌跡演算方式は、軌跡を演算する方式を指定するもので、後述するＤＩＳＴ１とＤＩＳＴ２のいづれかを指定する。
【００３５】
▲５▼加重平均方式は、見たい瞬間の軌跡を鮮明化するために、軌跡画像と生の画像を加重平均する際に使用する加重平均のテーブル（ｂ＿ｔａｂｌｅ）と、加重平均する領域（ｂ＿ａｒｅａ）を指定する。領域は任意多角形を設定できる。
【００３６】
テーブルは、図４に示すように、ＴＢＬ１，ＴＢＬ２，ＴＢＬ３の３種類が指定できる。つまり、Ｘ軸の座標に依存する可変の値を指定することにより設定し、基準画像のみを有効にする実線の重みテーブル（ＴＢＬ１）、領域の周囲から徐々に重みを変えるグラデーションをとる破線の重みテーブル（ＴＢＬ２）及び１点鎖線の重みテーブル（ＴＢＬ３）のいずれかを記録条件設定部で設定するようにしている。
▲６▼色差処理は、見たい瞬間の軌跡を鮮明化するために、軌跡を時間または順序に応じて、色または輝度で分ける処理の有無を指定する。
【００３７】
▲７▼処理対象画像は、軌跡を表示する対象画像を指定する。処理対象の画像の選択方法としては、（ａ）記録した全画像，（ｂ）ＩＯ入力装置１７から得たＩＯデータのうち、特定のＩＯが変化した画像のみの２種類が指定できる。
【００３８】
ロギング処理部１１ｂは、スキップバックロギング、つまり、条件設定部１１ａで設定されたＩＯ条件および記録時間に対する条件が成立するまで、ＩＯ入力装置１７および画像入力装置１６から一定の周期毎に与えられるＩＯ入力値及びフィールド画像データを取得するとともに、その取得したデータをメインメモリ１２内の循環バッファ状に構成した格納エリア（リングバッファ）に順次格納するものである。
【００３９】
具体的には、図５に示すフローチャートのように、１／６０秒の周期でデジタル化されたフィールド画像を画像入力装置１６から受け取り、そのフィールド画像データをメインメモリ１２のリングバッファに保存する（ＳＴ１）。次いで、１／１０００秒の周期でＩＯ入力装置１７から１６点のＩＯデータを収集し、ステップ１で取得したフィールド画像データに対応付けてメインメモリ１２のリングバッファに保存する（ＳＴ２）。この対応付けの一例を示すと、図２のようになる。
【００４０】
そして、条件設定部１１ａで指定した条件を満たすデータ（画像、ＩＯ）の取得が完了したか否かを判断し、完了していない場合にはステップ１に戻りデータの取得並びに格納を行う。また、条件を満たした場合には、メインメモリ１２上のリングバッファのバッファリングを停止する。
【００４１】
ここで、バッファリングを停止する条件は、ｉｏ＿ｎｏのＩＯにｉｏ＿ｅｖｅｎｔで指定した条件が成立し、かつ、その条件成立後、（（１００−ｔｒｉｇ＿ｐｏｓ）／１００）＊ｒｅｃ＿ｔｉｍｅ経過することである。
【００４２】
なお、図５に示すフローチャートでは、上記３つの処理ステップをシーケンシャルに動作するように記述しているが、実際にはＩＯ入力装置１７，画像入力装置１６が各処理ステップで記載した周期毎にＣＰＵ１１に対してデータ刈り取り要求を出し、ＣＰＵ１１がデータの刈り取りを行うようにしている。なおまた、この記録したデータは、メインメモリ１２から、不揮発性の補助記憶装置１３に転送し、保存することができる。
【００４３】
運動軌跡演算部１１ｃでは、条件設定部１１ａで指定された対象のフィールド画像データ及びＩＯデータをメインメモリ１２のリングバッファから取得し、処理対象の画像から基準画像を生成し、その基準画像との差分を基準画像に重ね合わせることにより、軌跡の画像を生成するものである。なお、フィールド記録画像の記録状態が圧縮であれば、取得する際に解凍処理を行う。具体的には、図６に示すフローチャートを実施する機能を有する。
【００４４】
同図に示すように、まず、条件設定部１１ａで指定された「処理対象画像」に該当するフィールド画像データ及び、フィールド画像データに対応して記録したＩＯデータをメインメモリ１２のリングバッファまたは補助記憶装置１３に保存している記録データから選択する（ＳＴ１１）。
一例を示すと、処理対象画像として、例えば、
処理対象            ：記録した全画像
トリガ条件          ：ＩＯ４ がＯＮ
記録時間（rec_time）：１０秒
トリガ前比率        ：５０％
が指定されているとすると、メインメモリ１２上のリングメモリに格納しているＩＯ４を検索し、ＩＯ４がＯＮになったフィールドを中心に、前５秒，後５秒分のフィールド画像データとＩＯデータを処理対象にする。
【００４５】
一方、上記した条件のうち、処理対象が「ＩＯ３が立ちあがった画像のみ」でそれ以外が同一条件とすると、メインメモリ１２上のリングメモリに格納しているＩＯ４を検索し、ＩＯ４がＯＮになったフィールド画像を中心に、前５秒、後５秒分のＩＯデータの中から、ＩＯ３の立ちあがりを検索し、ＩＯ３が立ちあがったフィールドとそのフィールドに対応するＩＯデータを処理対象にする。
【００４６】
特に後者のように、特定のＩＯ信号が変化したフィールドのみを処理対象することは、解析のポイントになる信号に着目した解析が可能になる。例えば、ロボットアームの制御であれば、モータに停止信号を出した時点の画像のみの軌跡をみることが可能になる。なお、本処理ステップで選択した処理対象画像の数を、ｆ＿ｎｕｍとする。
【００４７】
次に、処理対象として選択した画像を解凍する（ＳＴ１２）。すなわち、圧縮記録されている画像データを、加工可能なＹＵＶフォーマットに変換し、さらに、輝度情報のみに変換する。ここでは、ＹＵＶのＹ成分のみを輝度成分としてメインメモリに格納する。本ステップでメインメモリ１２に格納した処理対象画像の輝度成分をｆｎ（ｘ，ｙ）とする。ここで、ｎは０〜ｆ＿ｎｕｍ−１である。
【００４８】
更に、フィールド画像は縦方向の解像度が１フレームの半分であるため、上下のラインから間のラインを補間する処理を行うことにより、フィールド画像をフレーム画像と同じ解像度(ライン数)にする。係る保管処理もこの処理ステップで行う。なお、圧縮されずに記憶されている場合には、解凍処理は行わないが、それ以外のデータ変換は行われる。
【００４９】
次いで、基準画像演算処理を行う（ＳＴ１３）。すなわち、処理対象画像の中から基準画像を作成する。この基準画像は、処理対象画像の平均をとることにより求められる。つまり、動きのない（少ない）背景部分や、設備装置の固定部分が残った画像となる。一例を示すと、図７のように処理対象画像が７枚あり、設備装置であるロボットＭのアームの運動を監視するものとすると、実際に動くアームＭ１の部分は、７枚の画像の平均を取ることにより背景部分の影響が強く出て消失する。その結果、基準画像は図８に示すようにロボットＭの基台Ｍ２が残った画像となる。
【００５０】
そして、係る基準画像を求める具体的な算出は、全ての画素に対して下記式（１）を実行することにより求められる。つまり、全ての座標（ｘ，ｙ）について求めた（ａｖｅ（ｘ，ｙ））を求めることにより、基準画像となる。よって、演算した基準画像（ａｖｅ（ｘ，ｙ））を画像出力装置１５に転送し、ディスプレイ２４に出力することにより、基準画像を表示することができる。
【００５１】
【数１】
0003753232.tif 000002
更に、次の処理で基準画像と各画像の差を求めて動く部分の画像を求める際に使用する各座標（ｘ，ｙ）についての二乗和（ｐｏｗｅｒ（ｘ，ｙ））を下記式（２）を実行して求める。
【００５２】
【数２】
0003753232.tif 000003
次に、基準画像（ａｖｅ（ｘ，ｙ））と処理対象画像（ｆｎ（ｘ，ｙ））とを比較し、差がある部分を検出する際の閾値を求める（ＳＴ１４）。この閾値も、各座標（ｘ，ｙ）の画素ごとに求める。すなわち、基準画像に対して輝度差が所定の閾値以上異なる画素が、動きのあった部分とみなすことができる。しかし、ある座標（ｘ，ｙ）の画素ｆｎ（ｘ，ｙ）に着目したとき、撮像対象に動きがない場合でも、照明，カメラゲイン，ノイズなどの要因で輝度変動が発生する。このため、固定の閾値では的確に輝度差から動きを検出できない。
【００５３】
そこで、本形態では、各座標での分散値を閾値として利用するようにし、下記式（３）により、全ての座標（ｘ，ｙ）について下記式（３）を演算することにより、分散値（ｄｉｓｔ（ｘ，ｙ））を求める。
【００５４】
【数３】
0003753232.tif 000004
次いで、上記した各処理ステップで求めた基準画像（ａｖｅ（ｘ，ｙ））と処理対象画像fn(x,y) との差分を計算し、その差分が閾値（分散値（ｄｉｓｔ（ｘ，ｙ）））以上の場合に動きのある部分として基準画像に上書きすることで、軌跡画像（ｂｉｎｄ（ｘ，ｙ））を生成する（ＳＴ１５）。一例を示すと、図７に示す７枚の処理対象画像と、図８に示す基準画像に基づいて図９に示す軌跡画像が生成される。
【００５５】
なお、動きとして検出した画素（ｂｉｎｄｅｄ（ｘ，ｙ））は画像出力装置１５に送り、軌跡の生成過程を表示する。また、軌跡画像の演算方法は、条件設定部１１ａにて記録条件指定で指定された軌跡演算方法により実施される。
【００５６】
本形態では、以下の２つの方法が用意され、択一的選択されるが、いずれか一方のみを組み込むようにしていても良いし、もちろん他の方法を用いて求めても良い。
【００５７】
第１の方法は、軌跡演算方法としてＤＩＳＴ１が選択された場合の処理で、基準画像と処理対象画像を比較し、輝度差が大きい部分を求め、該当する部分が動きのあった領域と判断して基準画像に重ねるようにしている。つまり、基準画像と処理対象画像の輝度差を比較し、輝度差の二乗が閾値（ｄｉｓｔ（ｘ，ｙ））以上であり、かつ、各処理対象画像と順次比較して得られた輝度差の中で最も差が大きい場合のみ動きがあったと判断するものである。
【００５８】
実際には、各処理対象の画像を１枚ずつ順に基準画像と比較し、上記の条件（閾値以上で、かつそれまでの最大）の輝度差の画素を残すことを繰り返し実行し、最終的に全ての処理対象画像と比較することにより、動きのあった画素を残すことができる。
【００５９】
そして、具体的には図１０に示すフローチャートを実施することにより求められる。すなわち、まず輝度差最大値バッファおよび色テーブルを初期化する（ＳＴ３１）。次いで、背景を基準画像に設定する（ＳＴ３２）。基準画像と処理対象画像の輝度差の二乗（ｄｉｆｆ）を演算し（ＳＴ３３）、基準画像と比較画像の輝度差二乗が閾値以上で、かつ輝度差の二乗が、同一の座標（ｘ，ｙ）で最大であるか否かを判断する（ＳＴ３４）。
【００６０】
そして、最大であった場合には、その座標部分で動きがあったと判断し、比較対象画像の画素を基準画像に上書きし、画像出力装置へ転送する（ＳＴ３５）。更に、輝度差の二乗の最大値を設定する。更に、カラーテーブル（ｃｏｌｏｒ）にこの座標がｎフィールド（ｎ番目の画像）であることを記録する。
【００６１】
処理対象画像のフィールドｆｎ（ｘ，ｙ）の全ての座標について、基準画像との比較処理が完了しているか否かを判断し（ＳＴ３６）、未処理の座標がある場合にはステップ３３に戻る。このようにして、１枚のフィールド（処理対象画像）について比較処理が終わると、全てのフィールド画像ｆｎ（）（ｎ＝０〜ｆ＿ｎｕｍ−１）に対して処理が完了したか否かを判断し（ＳＴ３７）、完了していない場合にはｎをインクリメントして次のフィールド画像を処理対象画像にし、上記した処理を実行する（ＳＴ３８）。
【００６２】
第２の方法は、軌跡演算方法としてＤＩＳＴ２が選択された場合の処理で、第１の方法と相違して処理対象画像間で比較を行い、輝度差が閾値を超えた点を動きがあった点として検出する。つまり、処理対象画像間で差がない場合には、動きがないと判断し基準画像と比較しない。一方、処理対象画像間で差がある場合には、その差のある部分が動きのある領域と判断できるので、どちらの画像（画素）が動きのあったものかを判断すべく、検出した点を基準画像と比較し、差が大きい方の処理対象画像の点を基準画像に上書きする。
【００６３】
そして、具体的には、図１１に示すフローチャートを実施することにより求められる。すなわち、まず、輝度差最大値バッファを初期化するとともにカラーテーブルを初期化する（ＳＴ４１）。次いで、背景を基準画像に設定する（ＳＴ４２）。比較対象のフィールドのオフセットｍをf_num/2 にする（ＳＴ４３）。
【００６４】
そして、比較対象のフィールド間の輝度差の二乗を演算する（ＳＴ４４）。ここで比較対照のフィールドは、ｎ番目のフィールド画像と、それにオフセットしたｍ番目のフィールド画像とする。つまり、比較する２枚のフィールド画像は基本的にどのような組み合わせでも良いが、連続する２枚のフィールド画像とすると、動きの部分が少ないので、オフセットをとることにより、確実に動きのある部分を抽出するようにしている。
【００６５】
次いで、求めた輝度差の二乗が閾値をこえているか判断し（ＳＴ４５）、閾値を超えている場合には、基準画像と比較して差が大きい方を特定する（ＳＴ４６）。そして、差の大きいｆｎ（ｘ，ｙ）或いはｆｍ（ｘ，ｙ）を基準画像に上書きし、画像出力装置へ転送する。さらに、選択したフィールド画像の値（ｎ／ｍ）を、カラーテーブルｃｏｌｏｒに設定する（ＳＴ４７，ＳＴ４８）。
【００６６】
そして、処理対象画像のフィールドｆｎ（ｘ，ｙ）の全ての座標について、比較処理が完了しているか否かを判断し（ＳＴ４９）、未処理の座標がある場合にはステップ４３に戻る。このようにして、１枚のフィールド（処理対象画像）について比較処理が終わると、全てのフィールド画像ｆｎ（）（ｎ＝０〜ｆ＿ｎｕｍ／２−１）に対して処理が完了したか否かを判断し（ＳＴ５０）、完了していない場合にはｎをインクリメントして次のフィールド画像を処理対象画像にし、上記した処理を実行する（ＳＴ５１）。
【００６７】
この第２の方法を採ると、第１の方法に比べて比較処理する回数が約半分に削減できる。そして、上記したいずれの処理を行った結果、記録した画像情報から軌跡の画像を得ると同時にカラーテーブルにより軌跡の生成過程をすることができる。
【００６８】
次に、運動軌跡表示部１１ｄについて説明する。この運動軌跡表示部１１ｄは、運動軌跡演算部１１ｃで求めた運動軌跡を表示することを基本とし、さらに、条件設定部１１ａで加重平均の実行が指定されていれば、運動軌跡演算部１１ｃで生成した画像に対して処理対象の画像のなかから指定されたフィールド画像データの指定領域を加重平均し、得られた結果を出力表示する。さらに、係る加重平均した画像に、処理対象の画像に対応づけられて記録されたＩＯ情報をタイミングチャートに加工し、重畳表示機能も持つ。
【００６９】
そして、具体的には、図１２に示すフローチャートを実施する機能を有する。すなわち、まず、加重平均処理を行う（ＳＴ２１）。この処理ステップでは、運動軌跡演算部１１ｃで演算した軌跡画像ｂｉｎｄｅｄ（ｘ，ｙ）に、条件設定部１１ａの記録条件指定ステップでユーザが設定した加重平均領域に処理対象画像を加重平均する。つまり、運動軌跡演算部１１ｃで演算して求めた画像では、面積がありかつ動きが遅い部分が重なり合って、つぶれてしまう。
【００７０】
一例を示すと、記録画像が図７に示すようなロボットのアームＭ１がワークＷを運搬するような場合、上記したごとく軌跡画像は図９に示すようなイメージになり、動きの緩やかな部分は軌跡が重なり合い不鮮明になる。そこで、図１３に示すように不鮮明になる領域を加重平均領域Ｒとして指定し、加重平均処理を行うことにより、軌跡をみつつ、見たい部分を鮮明化することができる。図１３の例では、ＴＢＬ２（図４参照）を設定した場合の例を示している。
【００７１】
そして、具体的な加重平均処理としては、軌跡画像（ｂｉｎｄｅｄ（ｘ，ｙ）’）は、下記式（４）を以下の式を実行して各座標の画素を求める。なお、下記の式では、ＴＢＬ２を重みテーブルとして使用していたが、他のＴＢＬも同様の式を使用することにより用いることはもちろんできる。
【００７２】
【数４】
0003753232.tif 000005
なお、軌跡画像と加重平均する画像（図１３（ｂ））は、ユーザの指示によって任意に指定できる。つまり、図１３の例では、４番目のフレーム画像を加重平均する画像にしたが、他の画像を用いてもよい。更に、本実施の形態では、Ｘ座標にのみ依存するテーブルを示したが、ＸＹ双方に依存するテーブルを用いることもできる。
【００７３】
次いで、加重平均して得られた画像を出力する（ＳＴ２２）。このとき、条件設定部１１ａにおいて色差処理として、「色または輝度分け処理有り」が選択されている場合には、カラーテーブルｃｏｌｏｒ（ｘ，ｙ）を参照し、各画素に対し表示色を割り当てて出力する。
【００７４】
つまり、カラーテーブルｃｏｌｏｒ（ｘ，ｙ）の値が初期値のままであれば、背景画像であるため、ｂｉｎｄｅｄ（ｘ，ｙ）’の輝度値をそのまま白黒でデータとして画像出力装置へ転送する。一方ｃｏｌｏｒ（ｘ，ｙ）の値が処理対象のフィールド番号であれば、そのフィールド番号に対応する色とその色の明度としてｂｉｎｄｅｄ（ｘ，ｙ）’の値を画像出力装置へ転送する。なお、各処理対象フィールドに対する色をあらかじめ割り当てる。
【００７５】
これにより、例えば図１３（ｃ）に示す加重平均処理後の画像は、図１４に示すように、軌跡がフィールドごとに色分けされるため、軌跡の画像が同一平面内を往復するような場合でも軌跡の視覚的な追跡が容易になる。
【００７６】
次いで、インデックス表示を行う（ＳＴ２３）。つまり、ステップ２２の画像出力ステップで  各処理対象フィールドに割り当てられた色を、処理対象画像の処理順（時系列）を示す順序インデックスとして表示する。これにより、画像出力装置からは、図１５に示す画像が出力される。なお、実際の処理では、図１４→図１５の順に出力しても良いし、図１５をいきなり表示するようにしてももちろんよい。
【００７７】
さらに、必要に応じてタイミングチャート表示を行う（ＳＴ２３）。すなわち、ステップ２４で表示した軌跡画像に、ＩＯ入力装置から画像と同期して取得したＩＯデータをタイミングチャートとして重畳表示する（図１６参照）。なお、重畳表示するタイミングチャートは、処理対象の画像すべてに対応するＩＯデータまたは、加重平均しているフィールドに対応するＩＯデータの何れかを指定できる。更に、表示するタイミングチャートが処理対象の画像データすべてに対応するＩＯデータである場合、タイミングチャートも対応するフィールドに対応する色で色分けして表示するとよい。さらにまた、本例では、ＩＯデータはＯＮ／ＯＦＦの２値信号であるが、アナログデータであってもよい。
【００７８】
その後、再生要求受付の有無を判断する（ＳＴ２５）。そして、再生要求がある場合には、ステップ２１に戻る。これにより、加重平均処理を行う対象のフィールドとして別のフィールドをユーザが指定できる。これにより、全体の軌跡を把握しながら、特定フィールドを加重平均することにより詳細に把握することができる。
【００７９】
設備異常には、「動いているが設計通りではない。」，「異常のため停止する。」という大きく分けて２つの場合があるが、本実施の形態におけるＣＰＵ１１が実行する手順には、取得した画像およびＩＯデータをリングバッファに一時的に記憶し、設定した特定のイベントの前後のデータを保存できるスキップバック記録機能を有しているため、上記した２つの何れの場合に対しても、確実に対応することができる。しかも、画像とともにＩＯデータも関連付けて記憶しているとともに、読み出すことができるので、設備異常時の設備の動作軌跡とそのときのＩＯデータを合成して表示でき、解析のためのデータを提供することができる。
【００８０】
なお、上記した実施の形態では、加重平均を求める機能を設けたが、係る器のを設けなくても良い。また、色分け機能もなくても良い。さらにまた、上記した実施の形態では、ロボットのように機械・装置であったが、人間などの生き物の動作を監視・解析するものにも適用できる。例えば、ゴルフのスイングなど各種スポーツの動作をしている人を撮像し、本装置で画像処理をするとともに表示することを想定すると、特殊な設備を準備することなくスイング中の各フィールド画像を重ねて１枚の画面に出力することができる。
【００８１】
また、ゴルフのスイングの場合、腕及びクラブは大きく動くものの、スイングの軸、つまり、上半身（顔を含む）は余り動かない。従って、腕及びクラブが上記したロボットＭにおけるアームＭ１のように各フィールド毎に存在位置が異なるため全てのフィールド画像が重ねて表示されるようになる。一方、スイングの軸となる部分は、余り動きがないので、ロボットＭの基台Ｍ２と同様に基本画像として残りやすくなるものの、実際には、回転に伴い移動するため、基台Ｍ２と同一視はできない。特に、加重平均をとらない場合には、顔の部分はぶれてぼやけてしまい、誰であるか判別することができなくなる。しかし、例えばインパクトの瞬間を捕らえたフィールド画像に基づいて加重平均をとることにより、顔の部分をはっきりと出力表示できるので、わかりやすい。また、加重平均する部分をクラブを含むようにすることにより、インパクトの瞬間のクラブとボールの関係を明確にすることができる。さらに、加重平均をとるフィールド画像を適宜変えることにより、トップ位置や、フィニッシュ位置などを明確化し、その人の長所，短所を的確に解析することができる。
【００８２】
なお、係る場合のＩＯデータとしては、例えば、ゴルフクラブのヘッド位置を検出するセンサを設けたり、ボールが打ち出されたことを検知するセンサを設け、そのセンサの検出信号をトリガとするとともに、前比率及び時間を適当に設定することにより、スイング全体を記録・再生することができる。
【００８３】
また、さらに別の利用態様としては、例えば処理対象画像の選択が特定のイベント発生時点の画像とすることにより、以下に示すような検査・解析に利用できる。すなわち、特定のイベントは、たとえば、ロボットアームの搬送終了信号のＯＮ時点とする。すると、係る場合の処理対象画像は、たとえば、図１７に示すようなフィールド画像の集合となる。係る搬送終了時、つまり、ワークＷを置いた時点のフィールド画像を１枚ずつ見ても正常に動作しているか否かが判別し難いが、これらの画像を本装置で処理し、特定イベントに対する画像の軌跡を合成することにより、例えば、図１８に示すような画像を出力表示することができる。
【００８４】
これにより、ワークの配置位置ずれが容易に把握することができる。なお、図示の例では、ワークを真横から撮像しているが、斜め上方から撮像することにより、２次元的なずれも把握することができる。
【００８５】
図１９は、さらに別の適用例を示している。図中ロギング装置１０が、本発明の装置に対応する。そして、カメラ２１で解析対象である人Ｍ′の動きを撮像している。図の例では、ラインの作業者Ｍ′が、矢印で示すように作業台Ｄに沿って移動しながら一連の作業を行い、係る作業が１サイクル終了するごとにスイッチＳを押すものとする。そして、そのスイッチＳのＯＮをトリガとして、１サイクルの作業のはじめから終わりまでをロギング装置１０にて記録するものとする。
【００８６】
実際の記録画像が図２０のようになっているとすると、８枚のフィールド画像に基づいて、図２１に示す画像が形成される。つまり、図示するように、各フィールド画像で作業者Ｍ′が異なる位置に存在するような場合には、他の７枚のフィールド画像と平均化することにより、作業者Ｍ′は背景内に消失してしまい、基本画像は作業台Ｄと背景部分となる。これにより、基本画像に各フィールド画像中で動きのある部分を重ね合わせることにより、図２１に示すような画像が生成される。この例では、加重平均はとっていない。
【００８７】
この図から明らかなように、作業者Ｍ′の動きを1枚の画像で容易に把握することができる。これにより、動きの分析が容易になり，作業動作，環境の改善へつなげることができる。
【００８８】
ところで、基準画像は複数枚画像の平均をとっているため、動きのない部分はよりはっきりと映る。従って、基準画像が例えば図２２に示すようになっているとすると、作業者Ｍ′が長くとどまっているところははっきりと映る。このことにより、作業者がより長く滞留する工程を把握することができる。
【００８９】
従って、上記した実施の形態において、基準画像を出力表示する機能を設けると、係る判断を行うことができるので好ましい。さらに、係る判定を行うだけの場合には、上記した実施の形態における基準画像を生成する処理までを実行する機能を設けた装置としても良い。
【００９０】
【発明の効果】
以上のように、この発明では、特別な背景を必要とせず、屋外，屋内などの状況に依存せず、高度な画像処理専用設備（専用ＩＣ，ＣＰＵなど）を必要とせず、動画像を軌跡として１枚の画像上に表現し、必要に応じてその軌跡にＩＯ信号，制御信号等情報を重畳して表示することにより、定量的かつ直感的に設備動作人などの監視対象の動作を分析，解析することができる。
【図面の簡単な説明】
【図１】本発明の好適な一実施の形態のハードウェア構成を示すブロック図である。
【図２】画像データとＩＯデータのメインメモリへの格納例を示す図である。
【図３】ＣＰＵ内のソフトウェア構成を示すブロック図である。
【図４】加重平均に使用する重みテーブル例を示す図である。
【図５】ロギング処理部の機能を説明するフローチャートである。
【図６】運動軌跡演算部の機能を説明するフローチャートである。
【図７】処理対象画像の一例を示す図である。
【図８】図７に示す処理対象画像に基づいて生成される基準画像の一例を示す図である。
【図９】図７に示す処理対象画像と図８に示す基準画像に基づいて生成される軌跡画像（加重平均処理無し）の一例を示す図である。
【図１０】軌跡演算処理の具体的な処理方法の一例を示すフローチャートである。
【図１１】軌跡演算処理の具体的な処理方法の他の例を示すフローチャートである。
【図１２】運動軌跡表示部条件設定部の機能を説明するフローチャートである。
【図１３】加重平均処理の作用を説明する図である。
【図１４】画像出力処理をした結果の一例を示す図である。
【図１５】インデックス表示処理をした結果の一例を示す図である。
【図１６】タイミングチャート表示処理をした結果の一例を示す図である。
【図１７】本実施の形態を用いて解析した別の例を示す図である。
【図１８】本実施の形態を用いて解析した別の例を示す図である。
【図１９】本実施の形態を用いて解析したさらに別の例を示す図である。
【図２０】図１９に示す装置で撮像した処理対象画像の一例を示す図である。
【図２１】図２０に示す処理対象画像から生成される軌跡画像（加重平均処理無し）の一例を示す図である。
【図２２】図１９に示す装置で撮像して得られた基準画像の一例を示す図である。
【符号の説明】
１０  運動動作解析支援装置（ロギング装置）
１１  ＣＰＵ
１１ａ  条件設定部
１１ｂ  ロギング処理部
１１ｃ  運動軌跡演算部
１１ｄ  運動軌跡表示部
１２  メインメモリ
１３  補助記憶装置
１４  周辺入力装置
１５  画像出力装置
１６  画像入力装置
１７  ＩＯ入力装置
１８  バス
２１  カメラ
２２  ＰＬＣ
２３  センサ
２４  ディスプレイ
２５  キーボード
２６  コンソール
【図１】
0003753232.tif 000006
【図２】
0003753232.tif 000007
【図３】
0003753232.tif 000008
【図４】
0003753232.tif 000009
【図５】
0003753232.tif 000010
【図６】
0003753232.tif 000011
【図７】
0003753232.tif 000012
【図８】
0003753232.tif 000013
【図９】
0003753232.tif 000014
【図１０】
0003753232.tif 000015
【図１１】
0003753232.tif 000016
【図１２】
0003753232.tif 000017
【図１３】
0003753232.tif 000018
【図１４】
0003753232.tif 000019
【図１５】
0003753232.tif 000020
【図１６】
0003753232.tif 000021
【図１７】
0003753232.tif 000022
【図１８】
0003753232.tif 000023
【図１９】
0003753232.tif 000024
【図２０】
0003753232.tif 000025
【図２１】
0003753232.tif 000026
【図２２】
0003753232.tif 000027