(57)【要約】      （修正有）【課題】測距カメラが可視光カメラと同じ撮影範囲を撮影しても、十分な測距精度が得られる情報処理装置を提供する。【解決手段】３次元空間の着目領域を入力し、３次元空間を可視光カメラで撮影する可視光カメラの撮影パラメータを決定し（Ｓ４０４ａ）、可視光画像上で密集する着目領域である密集領域を決定し（Ｓ４０６ａ）、密集領域の少なくとも一部を測距カメラで撮影する測距カメラの撮影パラメータを決定する（Ｓ４０７ａ）。【選択図】図４
2019074370.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間の着目領域を入力する領域入力手段と、
前記３次元空間を可視光カメラで撮影する可視光カメラの撮影パラメータを決定する第一決定手段と、
可視光画像上で密集する着目領域である密集領域を決定する第二決定手段と、
前記密集領域の少なくとも一部を測距カメラで撮影する測距カメラの撮影パラメータを決定する第三決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記領域入力手段の前記着目領域に着目する順序を入力する順序入力手段をさらに有し、
前記第二決定手段は、可視光画像上で密集してかつ順序も近い領域を着目領域と決定する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
可視光画像上で手が通過する頻度の高い手通過領域を決定する第四決定手段をさらに有し、
前記第二決定手段は、可視光画像上で前記手通過領域に重なる領域を着目領域として決定する
ことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記領域入力手段で得た着目領域のグループを入力するグループ入力手段を更に有し、
前記第一決定手段は、前記グループ入力手段で得たグループごとに撮影パラメータを決定し、
前記第二決定手段は、前記グループ入力手段で得たグループごとに、可視光画像上で密集する領域を決定し、
前記第三決定手段は、前記グループ入力手段で得たグループごとに、前記第二決定手段により得た密集領域を撮影する撮影パラメータを決定する
ことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置
【請求項５】
前記情報処理装置はさらに、
前記グループ入力手段で得たグループの順序を入力するグループの順序入力手段と、
前記第一決定手段の撮影パラメータで撮影される領域を取得する第一取得手段と、
前記第三決定手段の撮影パラメータで撮影される領域を取得する第二取得手段と、
前記順序入力手段で得た順序が連続する２つのグループの領域を撮影する撮影パラメータを求める可視光カメラ撮影パラメータの統合手段と、
前記順序入力手段で得た順序が連続する２つのグループの領域を撮影する撮影パラメータを求める測距カメラ撮影パラメータの統合手段と、
を備えることを特徴とする請求項４記載の情報処理装置
【請求項６】
前記着目領域は、手による動作が行われることが予め定められている領域であることを特徴とする請求項１乃至５何れか１項に記載の情報処理装置。
【請求項７】
前記着目領域は、作業標準書に定められた作業フェーズごとの領域であることを特徴とする請求項１乃至６何れか１項に記載の情報処理装置。
【請求項８】
前記第三決定手段で決定した撮影パラメータで撮影するように測距カメラを制御する制御手段を更に備えることを特徴とする請求項１乃至７何れか１項に記載の情報処理装置。
【請求項９】
前記第三決定手段で決定した撮影パラメータで撮影された画像を用いて、作業標準書で定められた手による動作が行われたか否か判定する判定手段を更に備えることを特徴とする請求項１乃至７何れか１項に記載の情報処理装置。
【請求項１０】
３次元空間の着目領域を入力する領域入力工程と、
前記３次元空間を可視光カメラで撮影する可視光カメラの撮影パラメータを決定する第一決定工程と、
可視光画像上で密集する着目領域である密集領域を決定する第二決定工程と、
前記密集領域の少なくとも一部を測距カメラで撮影する測距カメラの撮影パラメータを決定する第三決定工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至６何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は工場などの組立作業の映像を用いた作業分析の撮影パラメータ決定に係る技術に関するものである。
【背景技術】
【０００２】
従来、工場の組立作業が正しく行われているかを分析する手法として、組立作業のシーンを撮影した映像中の作業員の動きを解析し、作業標準書の記載内容に照らし合わせる手法が知られている。例えば、組立作業の発生すべき箇所を撮影した映像中に矩形を設定して、その矩形に手が入ったかどうかで組立作業を実施したかを判定する手法がある（特許文献１参照）。
【０００３】
また、可視光カメラの撮影範囲に連動させて、測距光の照射動作を変えることによって、ユーザがどのような撮影画角で撮影を行っても、撮影画像全域の距離画像を得る手法がある（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２０９６９４
【特許文献２】特開２０１４−１５７０４４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、作業箇所の矩形に手が入ったかどうかを可視光カメラの映像により判断している。しかしながら、実際は立体的な空間の中において作業を行っているため、映像上で二次元の矩形領域に手が入っていても、作業を行っていないことがある。作業の領域は立体的であるため、作業台から離れた高い位置に手が入っていても作業は行っていないと考えられる。作業の実施を判断するには、二次元の矩形領域に手が入ったか否かではなく、作業台に近い、作業を行うべき三次元の立体領域へ手が入ったか否かによって判断しないと正確な判断ができない。可視光カメラの映像だけでなく、測距カメラによる距離画像も用いて、作業を行うべき三次元の立体領域へと手が入ったかどうかで組み立て作業を実施したかを判断することが考えられる。
【０００６】
しかしながら、測距カメラによる測距精度が低いため、可視光カメラと同じ撮影範囲を撮影すると十分な測距精度を得られないことがある。
【０００７】
そこで、本発明は上記の課題に鑑み、測距カメラの撮影範囲を適切に決定する撮影パラメータ決定装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は以下の構成を備える。即ち、３次元空間の着目領域を入力する領域入力手段と、前記３次元空間を可視光カメラで撮影する可視光カメラの撮影パラメータを決定する第一決定手段と、可視光画像上で密集する着目領域である密集領域を決定する第二決定手段と、前記密集領域の少なくとも一部を測距カメラで撮影する測距カメラの撮影パラメータを決定する第三決定手段。
【発明の効果】
【０００９】
距離の測定精度が上がるので、３次元領域で作業の実施を判断する精度を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態を適用するコンピュータ装置の構成図の例
【図２】本発明の実施形態における作業例の説明図
【図３】本発明の実施形態における撮影パラメータ決定装置の構成図の例
【図４】本発明の実施形態における撮影パラメータ決定処理の流れを示すフローチャート
【図５】本発明の実施形態における撮影範囲の決定処理の例の説明図
【図６】本発明の実施形態における作業フェーズの例の説明図
【図７】本発明の実施形態における作業分析装置の構成図の例と処理の流れを示すフローチャート
【図８】本発明の実施形態におけるシーケンスマッチングのデータ例の説明図
【図９】第二の実施形態における撮影パラメータ決定装置の構成図の例と処理の流れを示すフローチャート
【図１０】第二の実施形態における密集領域の決定処理の例の説明図
【図１１】第三の実施形態における撮影パラメータ決定装置の構成図の例と処理の流れを示すフローチャート
【図１２】第三の実施形態における撮影パラメータ統合処理の例の説明図
【図１３】第三の実施形態における作業フェーズの例の説明図
【図１４】第三の実施形態における作業分析装置の構成図の例と処理の流れを示すフローチャート
【図１５】第三の実施形態における作業分析装置の処理の例の説明図
【発明を実施するための形態】
【００１１】
［実施形態１］
［コンピュータ装置の構成］
本実施形態の作業分析装置と撮影パラメータ決定装置を構成する情報処理装置の構成について、図１のブロック図を参照して説明する。作業分析装置と撮影パラメータ決定装置はそれぞれ単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）などで接続されている。コンピュータ装置は、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）等の情報処理装置によって実現することができる。
【００１２】
図１において、ＣＰＵ１０１はコンピュータ装置１００全体を制御するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔである。ＲＯＭ１０２は変更を必要としないプログラムやパラメータを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙである。ＲＡＭ１０３は外部装置などから供給されるプログラムやデータを一時記憶するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙである。外部記憶装置１０４はコンピュータ装置１００に固定して設置されたハードディスクやメモリカードなどの記憶装置である。なお、外部記憶装置１０４は、コンピュータ装置１００から着脱可能なフレキシブルディスク（ＦＤ）やＣｏｍｐａｃｔ  Ｄｉｓｋ（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカードなどを含んでもよい。入力デバイスインターフェイス１０５はユーザの操作を受け、データを入力するポインティングデバイスやキーボードなどの入力デバイス１０９とのインターフェイスである。出力デバイスインターフェイス１０６はコンピュータ装置１００の保持するデータや供給されたデータを表示するためのモニタ１１０とのインターフェイスである。通信インターフェイス１０７はインターネットなどのネットワーク回線１１１に接続するための通信インターフェイスである。システムバス１０８は１０１〜１０７の各ユニットを通信可能に接続する伝送路である。後述する各処理は、ＲＯＭ１０２等のコンピュータ読み取り可能な記憶媒体に格納されたプログラムをＣＰＵ１０１が実行することにより処理として機能する。
【００１３】
ＲＧＢＤカメラ１１２は、可視光画像と距離画像の映像を得る撮像装置であり、ネットワーク回線１１１を介してコンピュータ装置に接続されている。画素に距離の情報を持つ画像を距離画像と記載する。ＲＧＢＤカメラは可視光カメラと測距カメラから構成されており、それぞれ可視光画像と距離画像を取得する。各々のカメラは独立にパンチルトズームが可能なように構成されている。なお、可視光カメラと測距カメラを独立したデバイスとして接続してもよい。可視光画像と距離画像を取得する手段はこれらに限定されるものではない。測距カメラにおけるズームを、測距範囲を制御することとして説明する。測距範囲を制御すると測距精度が変化する。すなわち、測距カメラでズームを行うと、測距精度が変化する。例えば、照射光の往復時間から測定するＴｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ方式などを用いる場合は、照射光の照射範囲を制御する。照射範囲を小さくするよう制御すれば、測距範囲以外の領域からくる照射光が減るために測距精度を高くできる。あるいは、赤外線ドットパターンを照射する方式を用いてもよい。この方式も赤外線を照射する範囲を小さく制御すれば、パターンの解像度が高まるため、測距精度を高めることができる。あるいは、ステレオ方式を用いてもよい。この方式では、ステレオ方式を構成するカメラの倍率を変化させて撮影範囲を制御する。カメラの倍率をあげることで視差を大きくすることができるため、測距精度を高めることができる。ただし、倍率をあげると２つのカメラの視野が重なり合う領域が減るため、基準長を長くするか、カメラを内側に傾けるなどの構成をとってもよい。カメラを内側に傾ける場合はレクティフィケーションなどの処理を行う構成をとることが一般的である。なお、測距カメラおよびそのズームの実現方法はこれらに限定されるものではない。なお、測距範囲を制御することは画角を制御することと同じであるため、本実施形態では測距範囲の制御を画角制御として説明する。
【００１４】
［作業分析装置で分析する組立作業の例］
本実施形態が想定している工場の組立作業の事例、作業分析装置の目的を概説する。図２（ａ）は組立作業を行う作業場を示しており、領域２１は作業台、領域２２はワークベンチ、領域２３は組立対象物、領域２４はシールケース、領域２５はビスケース、領域２６はゴミ箱、領域２７はドライバ受けを表している。作業者２８が作業をしている。
【００１５】
この作業場においては、組立対象物をワークベンチ２２に置き、組立対象物の組み立てを行うものであり、作業者は組立作業標準書に従い組立作業を行う。組立対象物には例えば、複写機の内部に組み込む現像器や定着器などがあるが、これに限定されるものではない。作業分析装置の目的は、作業者が組立作業標準書に従って作業を行ったかどうかを判定することである。さらに、作業時間が長くかかっているかどうかを判定することも行っても良い。
【００１６】
次に、図２（ｂ）を用いて組立作業の例を説明する。
【００１７】
まず作業の流れについて、本実施形態における作業は２つの作業から構成されており、シールの貼付（作業０）、ビス締め（作業１）を連続して行う。さらに、各作業の具体的な作業について説明すると、作業０については、シールを取り、対象物のシール右端貼付、対象物のシール左端貼り付け、ゴミ箱に裏紙を捨てるという流れである。作業０の後、作業１の予備動作として、対象物を裏返す。予備動作は、次の作業内容により異なる。次に、作業１については、右手でドライバを取り左手でビス箱からビスを取り、対象物中央の黒丸のビス穴にビスを締めて、ドライバを戻すという流れである。これらは、作業標準書に記載があり、作業者はこの順番で組立作業を進めなければならない。なお以降の説明では、作業を構成する組立作業１つ１つを動作と呼ぶこととし、図２（ｂ）の通り各作業は複数の動作から構成されることになる。また、組立作業１回分のことをサイクルと呼ぶ。この例では対象物を設置して作業０の開始から作業１を終了して対象物を運び出すところまでが１サイクルである。
【００１８】
以上、組立作業の例を説明した。組立対象物、作業標準書により異なるものであり、図２の例に限定するものではない。
【００１９】
［作業分析装置の処理概要］
作業分析装置で用いられる処理の概要を説明する。本実施形態における作業分析装置は前述の目的を達成するために、作業場の上部に設置したＲＧＢＤカメラ１１２から作業を撮影する。撮影された映像の各フレーム画像において作業者の手がどこにあるかを検知し、設定された３次元の動作領域に、作業の流れに沿って手が動いていれば組立作業は正しく実施されたと判断する。各動作領域は、その動作を行うときに手が動く領域であり、人手によってユーザがあらかじめ設定する。この例では、図２（ａ）の点線の矩形が動作領域として設定される領域である。各動作領域にはラベルが付けられ、各動作と図２（ｂ）のように対応付けられる。動作領域のラベルは、図２（ａ）の例では下線付き番号で表す。なお、図２（ａ）では平面的に動作領域が描かれているが、実際には深さ方向の情報も含む立体領域である。
【００２０】
また、予備動作を境界として、作業はいくつかの作業フェーズに分けて定義されている。組立作業は組立対象物の表面に対する一連の作業を行った後に、裏面の作業を行うなどを実施する。そのため、組立作業には、複数の作業から構成される作業フェーズがある。図２（ｂ）の例では、作業フェーズは１つの作業しか含んでいないが、１つのフェーズの中に複数の作業を含んでいてもよい。
【００２１】
［撮影パラメータ決定装置］
動作領域（着目領域）の位置（以下、分布とも記載する）は作業フェーズによって異なる。つまり、作業フェーズ０では動作領域０〜３だけの作業を分析し、作業フェーズ１では動作領域４〜６のみの作業を分析すればよい。そのため、作業分析装置は、必要な動作領域のみを撮影するように、作業フェーズに応じて撮影範囲を切り替える。これにより、可視光画像および距離画像の分解能を向上させることができる。撮影パラメータ決定装置は、作業分析装置に与える作業フェーズごとの撮影範囲を、予め求める処理を行う。前述のように、撮影パラメータ決定と作業分析とを同一の装置で行っても良いし、それぞれ別の装置で行っても良い。
【００２２】
撮影パラメータ決定装置の構成について図３を用いて説明する。なお、説明のために、いくつかの座標系を定義する。世界座標系は、空間全体を表す３次元の座標系である。世界座標系を用いて、動作領域・カメラなどの位置関係を表し、主に入力において用いる。カメラ座標系は、カメラを原点とした３次元の座標系である。可視光画像座標系は、可視光画像の左上を原点とした２次元の座標系である。距離画像座標系は、距離画像の左上を原点とした２次元の座標系である。
【００２３】
動作領域入力部３０１は、動作に対応付けて動作領域（着目領域）の立体領域の位置を示す情報を入力する手段である。具体的には、モニタ１１０および入力デバイス１０９を用いて、世界座標系における立体領域の座標およびサイズを入力する。加えて、動作に対応付けるために動作の識別子も入力する。後述において動作を指定する際は、ここで入力した動作の識別子を指定する。なお、本実施形態では、立体領域として直方体を想定するが、球などの立体領域であってもよい。動作領域の形状は、これらに限定されるものではない。
【００２４】
動作グループ入力部３０２は、作業フェーズを構成する動作のグループを入力する手段である。具体的には、モニタ１１０および入力デバイス１０９を用いて、動作領域入力部３０１で入力された複数の動作を指定して、動作グループを入力する。動作グループは、前述の作業フェーズと対応付けて入力する。図２（ａ）の例であれば、作業フェーズ０は４つの動作領域から構成されているため、動作グループとしてこれら４つの動作領域が指定される。
【００２５】
カメラ情報入力部３０３は、カメラの位置・撮影方向・画角の固定値あるいは範囲値を入力するための手段である。範囲値はこれらの上限と下限の値である。加えて、可視光カメラと測距カメラの縦横の解像度を入力する。なお、本実施形態では、カメラの位置・撮影方向・ズームの範囲値は同じであることを想定しているが、異なっていてもよい。これらの情報は、モニタ１１０および入力デバイス１０９を用いて入力される。
【００２６】
本実施形態では、カメラは固定設置されており、パンチルトズームが可能なカメラを想定している。そのため、世界座標系におけるカメラ位置の固定値と、撮影方向の範囲値と、画角の範囲値が入力される。しかし、他の実施形態において、カメラが固定設置かつパンチルトができない場合は、世界座標系におけるカメラ位置と撮影方向が固定値で与えられ、画角の範囲値が入力される。あるいは、カメラがレールなどに設置されており、カメラ位置も可変である場合は、そのカメラ位置・撮影方向・画角の範囲値が入力される。
【００２７】
なお、カメラ情報の入力はこれらに限定されるものではない。
【００２８】
可視光カメラ撮影パラメータ決定部３０４（第一決定部）は、動作グループごとに、すべての動作領域を撮影する可視光カメラの撮影パラメータを決定する。具体的には、可視光カメラの撮影方向・上向き方向・画角を決定する。なお、これらはカメラ情報入力部３０３で与えられた範囲値の間で決定する。
【００２９】
密集領域グループ決定部３０５（第二決定部）は、動作グループごとに、可視光画像上で密集する動作領域のグループを決定する。具体的には、可視光カメラ撮影パラメータ決定部３０４で決定した撮影パラメータを用いて、動作領域の座標系を世界座標系から可視光画像座標系に変換する。さらに、可視光画像座標系のうえで密集する動作領域を決定する。具体的には、動作領域の重なりがある動作領域をリストアップする。あるいは、互いの動作領域の距離が一定を下回る動作領域をリストアップする。
【００３０】
測距カメラ撮影パラメータ決定部３０６（第三決定部）は、動作グループごとに、密集する動作領域を撮影する測距カメラの撮影パラメータを決定する。具体的には、密集領域グループ決定部３０５で得られた動作領域の全てを撮影するように、測距カメラの撮影方向・上向き方向・画角を決定する。このとき、カメラ情報入力部３０３で与えられた範囲値のあいだで決定する。
【００３１】
［撮影パラメータ決定処理］
次に、作業フェーズごとに可視光カメラと測距カメラの撮影パラメータ（本実施形態では撮影方向・画角）を求める処理（撮影パラメータ決定処理）についてフローチャート図４（ａ）を用いて説明する。以下、フローチャートは、ＣＰＵが制御プログラムを実行することにより実現されるものとする。
【００３２】
Ｓ４０１ａでは、動作グループ入力部３０２で入力された動作グループのリストを得る。
【００３３】
Ｓ４０２ａは、Ｓ４０１ａで得た動作グループリストの動作グループを順に処理するためのループであり、動作グループには０から順に番号が割り当てられているものとする。これを変数ｉで参照するため、はじめにｉを０に初期化する。さらに、ｉが動作グループ数未満であるときＳ４０３ａへ移り、これを満たさないときループを抜けてＳ４１０ａへ移る。
【００３４】
Ｓ４０３ａは、動作グループｉの動作領域を得る。
【００３５】
Ｓ４０４ａは、Ｓ４０３ａで得られたすべての動作領域を撮影する可視光カメラの撮影パラメータを決める。この処理は、可視光カメラ撮影パラメータ決定部３０４によって行われる。具体的には、３次元空間内の動作領域の分布を包含する球（境界球）を求めて、境界球の中心を向くように撮影方向を求める。さらに、境界球を含むように画角を求めることを行う。具体的な処理について、フローチャート図４（ｂ）を用いて説明する。
【００３６】
Ｓ４０１ｂは、撮影範囲に収める対象となるすべての動作領域を得る。つまり、Ｓ４０３ａで得た動作領域を得る。
【００３７】
Ｓ４０２ｂは、Ｓ４０１ｂで得た動作領域を包含する境界球を求める。厳密に境界球を求めることは難しいため、本実施形態ではすべての動作領域の重心を得て、境界球の中心座標とする。さらに、境界球の中心座標から最も遠い動作領域を求めて、動作領域の重心と中心座標の距離を得て、境界球の半径とする。あるいは、最も遠い動作領域の最も遠い頂点を特定して、中心座標からその頂点までの距離を境界球の半径とする。なお、境界球の求め方は、これらに限定されるものではない。
【００３８】
Ｓ４０３ｂでは、カメラの撮影方向を求める。本実施形態では、撮影方向として方向ベクトルを求める。具体的には、境界球の中心座標からカメラの位置座標を引いたベクトルを求め、ベクトルの長さを１として得る。あるいは、さらにパンチルトの角度として撮影方向を求めてもよい。撮影方向は、これらに限定されるものではない。
【００３９】
Ｓ４０４ｂでは、カメラの画角を求める。図４（ｃ）は境界球４０１ｃを包含するカメラ４０６ｃの画角４０２ｃを決定する様子を図示してものである。境界球４０１ｃの全てを撮影範囲に収めるためには、中心が境界球と一致して境界球に接してアスペクト比がカメラと同じ外接領域４０２ｃを収めるように画角を決定する必要がある。外接領域４０２ｃの対角の長さｒ（４０３ｃ）、境界球４０１ｃからカメラまでの距離ｄ（４０４ｃ）、画角θ（４０５ｃ）とすると、「画角θ＝ａｓｉｎ（ｒ÷２÷ｄ）×２」として求まる。アスペクト比（横：縦）が３：２であるとき、「ｒ＝境界球の半径×√１３÷２」として求まる。また、距離ｄはカメラ位置と境界球の中心座標から求めることができる。なお、カメラの画角の求め方は、これらに限定されるものではない。
【００４０】
Ｓ４０５ｂでは、カメラの上向き方向を求める。具体的には、Ｓ４０３ｂで得た撮影方向に、カメラをパンチルトさせたときに、カメラが上を向く方向ベクトルを求めることを行う。
【００４１】
以上によって、Ｓ４０１ｂで得た動作領域の全てを撮影できる撮影パラメータを求めることができる。
【００４２】
図４（ａ）の説明に戻る。
【００４３】
Ｓ４０５ａは、座標変換により動作領域の座標系を世界座標系から可視光画像座標系に変換する。この処理は、密集領域グループ決定部３０５によって行われる。具体的には、まず動作領域の座標系を世界座標系からカメラ座標系へと変換する。カメラの外部パラメータとして知られる「世界座標系におけるカメラ位置・カメラの撮影方向・カメラの上の向き」の情報をもとに、座標系の平行移動と回転により達成できる。次に、カメラ座標系から可視画像座標系へと変換する。カメラの内部パラメータから射影行列を求めて、射影変換することにより得ることができる。カメラの内部パラメータなどはカメラのキャリブレーションなどによって予め求めておく。あるいは、外部から入力するように構成してもよい。詳しい座標変換の方法については、参考文献「徐剛ら（１９９８年）『３次元ビジョン』共立出版」などの文献に記載がある。なお、座標変換の方法はこれらに限定されるものではない。
【００４４】
これら座標変換によって、例えば、図５（ａ）に示すような結果が得られる。外枠は図示のための枠線であり座標変換との関連はない。外枠の内部に記載の各矩形は動作領域を表している。
【００４５】
Ｓ４０６ａは、可視光画像上で密集する動作領域のグループを決定する。この処理は、密集領域グループ決定部３０５によって行われる。具体的には、動作領域の重なりがある動作領域をリストアップする。例えば、図５（ａ）の動作領域群５０１ａと５０２ａはそれぞれ重なりのある動作領域として特定される。その結果、密集する動作領域のグループとしては、５０１ａと５０２ａで示される６つの動作領域をリストアップする。
【００４６】
Ｓ４０７ａは、密集する動作領域のグループを撮影する測距カメラの撮影パラメータを求める。具体的には、フローチャート図４（ｂ）に示す処理のＳ４０１ｂにおいて、Ｓ４０６ａで得た動作領域（例えば、領域５０１ａと５０２ａ）の全てを得るようにして、図４（ｂ）に示す処理により撮影パラメータを取得する。この得た撮影パラメータを測距カメラの撮影パラメータとする。
【００４７】
Ｓ４０８ａは、動作グループｉに関連付けて、Ｓ４０４ａとＳ４０７ａで求めた可視光カメラと測距カメラの撮影パラメータを保存する。図５（ｂ）に可視光カメラと測距カメラの撮影パラメータにより撮影される撮影範囲を図示したものである。可視光カメラの撮影範囲５０１ｂは、動作グループｉに含まれるすべての動作領域を撮影するようになる。また、測距カメラの撮影範囲５０２ｂは、動作グループｉに含まれる動作領域のうち重なりがある動作領域のみを撮影するようになる。
【００４８】
Ｓ４０９ａは、動作グループのループの終端であり、ｉに１を加算してＳ４０２ａへ戻る。
【００４９】
Ｓ４１０ａは、Ｓ４０８ａで保存した撮影パラメータを、動作グループに関連付けて出力する。この出力された情報を用いて、作業分析装置は作業フェーズごとに撮影方向と画角を変更することを行う。また、動作グループｉごとに動作領域の分布が異なる。
【００５０】
以上の処理によって、動作グループそれぞれの動作領域のすべてを撮影するように可視光カメラの撮影範囲が決定される。加えて、可視光カメラから見たときに重なる動作領域を撮影するように、測距カメラの撮影範囲が定まる。
【００５１】
なお、Ｓ４０７ａにおいて、密集していると判定される領域がないとき、Ｓ４０８ａでは可視光カメラの撮影パラメータ（Ｓ４０４ａ）を用いてもよい。これによって、可視光カメラと同様にすべての動作領域を撮影するように測距カメラを制御できるため、すべての動作領域で深さ方向も用いた動作検知が可能になるため、検知精度を向上させることができる。あるいは、測距カメラをオフとする信号を撮影パラメータとして出力させてもよい。これによって、消費電力を節約することができる。
【００５２】
また、Ｓ４０４ａやＳ４０７ａにおいて撮影パラメータが、カメラ情報入力部３０３によって与えられた範囲を超えるとき、本処理をエラーとして終了して、Ｓ４１０ａで撮影パラメータを出力しないようにする。加えて、エラーメッセージとともに動作グループの番号を出力するようにしてもよい。
【００５３】
また、画角が範囲外になる場合は、動作領域の全てを画角に含めることができないことが原因である。よって、より遠くから撮影することによって、全体を撮影できるようになる。そこで、エラーメッセージとともに、離す距離を出力するようにしてもよい。離す距離の求め方について図４（ｃ）を用いて説明する。動作領域を画角に収める距離は、画角θ（４０５ｃ）が最大画角のとき、境界球までの距離ｄ（４０４ｃ）であるため「ｄ＝ｒ÷２÷ｓｉｎ（θ÷２）」として求まる。現在のカメラ位置から境界球の中心までの距離をこれから引けば、離すべき距離が求まる。これによって、カメラの撮影方向を固定したまま離すべき距離を出力できる。あるいは、作業台の三次元面を予め与えておき、作業台からの高さに変換して出力するようにしてもよい。
【００５４】
あるいは、エラーとして処理を中断せずに、一部の動作領域を撮影するように撮影パラメータを決定してしてもよい。例えば、優先度の低い領域をあらかじめ設定しておき、それら領域を外して撮影パラメータを再度求めるようにしてもよい。
【００５５】
撮影パラメータを求めることができないときの処理は、これらに限定されるものではない。
【００５６】
また、作業分析装置は、予備動作を映像認識により検知して、作業フェーズの移行を検知することがある。その際は、Ｓ４０４ａやＳ４０７ａにおいて撮影パラメータを決定する際に、予備動作の検知に必要な領域を含めるようにしてもよい。例えば、組立対象物２３を裏返すなどの置き方の変化により予備動作を検知する場合は、組立対象物２３が配置される大まかな立体領域を世界座標系で定義しておく。そして、Ｓ４０４ａやＳ４０７ａでは処理する動作領域に、組立対象物２３の立体領域を加えて、撮影パラメータを決定するようにしてもよい。
【００５７】
［作業分析装置］
次に、撮影パラメータ決定装置により得た、作業フェーズごとの撮影パラメータを用いて、撮影範囲を切り替えながら撮影する作業分析装置の構成について図７（ａ）を用いて説明する。
【００５８】
動作領域入力部７０１ａは、動作領域入力部３０１と同じで、動作領域の立体領域を入力する手段である。
【００５９】
動作グループ入力部７０２ａは、動作グループ入力部３０２と同じで、作業フェーズを構成する動作のグループを入力する手段である。
【００６０】
作業動作手順入力部７０３ａは、組立作業の最初から最後までの作業手順を入力する。具体的には、図２（ｂ）に記載の作業フェーズと作業の対応関係、作業と動作の対応関係、作業フェーズと作業と動作の順序の順序入力を受け付ける。
【００６１】
さらに、これらを動作領域入力部７０１ａと動作グループ入力部７０２ａで入力した動作領域と動作領域グループと関連付けて入力する。具体的には、作業フェーズと対応する動作グループを関連付ける。同様に、動作と対応する動作領域を関連付ける。これらの入力は、モニタ１１０および入力デバイス１０９を用いて行われる。
【００６２】
撮影パラメータ入力部７０４ａは、作業フェーズごとの撮影パラメータの入力を受け付ける。具体的には、撮影パラメータ決定装置の撮影パラメータ決定処理のＳ４１０ａによって得られた撮影パラメータを入力する。例えば、撮影パラメータ決定装置から所定のフォーマットで出力したデータを、外部記憶装置１０４を介して受け渡してもよい。撮影パラメータの入出力方法はこれらに限定されるものではない。
【００６３】
カメラ制御部７０５ａは、撮影パラメータに基づいて、ＲＧＢＤカメラ１１２の撮影範囲を制御する。具体的には、指定の撮影方向へとカメラを向けるために、パンチルトを制御する。また、指定の画角を達成するために、ズームを制御する。また、オンオフなどの指示があれば、それに基づいてカメラの制御なども行う。他の実施形態においては、ＲＧＢＤカメラ１１２がレールなどに固定されており撮影位置も制御できるとき、撮影パラメータに位置などが含まれていれば、その撮影位置に移動するように制御を行う。カメラ制御方法はこれらに限定されるものではない。
【００６４】
映像保存部７０６ａは、ＲＧＢＤカメラ１１２により撮影された映像を保存する。具体的には、撮影したフレーム画像のデータをいったんＲＡＭ１０３へ格納する。ＣＰＵ１０１は、ＲＡＭ１０３に格納されたフレーム画像に各種映像処理を加えて保存用のファイルを生成して、外部記憶装置１０４へ保存する。
【００６５】
本実施形態では、ＲＧＢＤカメラ１１２から、ピクセルごとにＲＧＢと距離が記録されたフレーム画像が得られ、これを保存する。しかし、ＲＧＢＤカメラ１１２から、可視光画像と距離画像を別々に得て、それぞれ保存するようにしてもよい。あるいは、別々に得たものを合成して、保存するようにしてもよい。フレーム画像の生成と保存の方法はこれらに限定されるものではない。
【００６６】
手領域検知部７０７ａは、フレーム画像に含まれる手領域を検知する。例えば、可視光情報のみを用いて検知する方法としては、皮膚の色領域を抽出して手領域を検知する方法がある。あるいは、所定の色味の手袋を装着して作業することを前提として、その手袋の色によって手領域を検知する。あるいは、機械学習などを利用して手領域を検知してもよい。
【００６７】
あるいは、可視光情報と距離情報の双方を用いて、対象となる画像と背景画像との差分画像から動体（人体）を抽出する。抽出された人体から頭部や動体、腕などを除き、手領域を検知する。
【００６８】
あるいは、赤外線カメラなどを利用して、皮膚の温度領域を抽出して手領域を検知する方法してもよい。手領域検知の方法はこれらに限定されるものではない。
【００６９】
動作検知部７０８ａは、検知された手領域が、設定されている動作領域に含まれているか判定する。具体的には、動作領域と手領域に重なりがあれば、その動作領域に対応する動作を行っていると判断する。可視光画像のみを用いるときは、可視光画像座標の上で動作領域と手領域を求めて、２次元空間での領域の重なりを求めることで判定する。一方で、可視光画像と距離画像をともに用いるときは、３次元空間における動作領域と手領域の重なりを求めることで判定する。
【００７０】
フェーズ検知部７０９ａは、物体の位置や変動の検知の結果から、フェーズの切り替わりを検知する。具体的には、予備動作をテンプレートマッチングなどの方法で認識する。
【００７１】
テンプレートマッチングはテンプレート画像を入力画像に対して走査させ，入力画像上の各位置における類似度を算出し，最大（もしくは，しきい値以上）の類似度をとる位置を検知する手法である。具体的には、入力となるフレーム画像から対象物のテンプレート画像と最も類似度の高い位置を検知する。
【００７２】
例えば、図２（ｂ）に示す予備動作「対象物を裏返す」であれば、対象物の裏面画像をテンプレートとして用意しておき、対象物裏のテンプレートとの類似度が閾値以上になれば、「対象物裏」が現れたと判断され、フェーズ１に切り替わったと検知される。
【００７３】
なお、予備動作の検知をＲＧＢＤカメラ１１２で得られる映像以外を用いて判断するようにしてもよい。具体的には、ＲＦＩＤなどを対象物や道具などに装着しておき、それによって予備動作を認識してもよい。例えば、対象物の両面にＲＦＩＤなどを装着しておき、作業台にＲＦＩＤリーダーを装着しておく。対象物の裏面のＲＦＩＤが認識されなくなったことを持って、予備動作「対象物を裏返す」として認識するようにしてもよい。フェーズ分割の方法はこれらに限定されるものではない。
【００７４】
シーケンスマッチング部７１０ａは、動作検知部７０８ａにより検知された順序と、作業動作手順入力部７０３ａにて入力された手順が、同じであるか判定することで、作業実施判定を行う。
【００７５】
以下、動作検知部７０８ａにより検知された動作領域のラベル列を検知動作列、作業動作手順入力部７０３ａにて入力された動作の順序に基づき、動作領域のラベルを並べた列を定義動作列と呼ぶ。つまり、シーケンスマッチング部７１０ａは、検知動作列が定義動作列と同じであるか判定する。もし、検知動作列において、動作領域のラベルが定義動作列のとおり並んでいれば、組立作業は正しく実施されたと判断し、そうでなければ組立作業は失敗と作業実施を判断する。
【００７６】
この検証において、シーケンスマッチングを用いる。シーケンスマッチングとは、順序比較し、２つの時系列データが完全一致していなくても、動作列を構成するラベルの発生順序が概略似ていれば２つの動作列は同一であるとみなす、あいまいなマッチング手法のことである。シーケンスマッチングを導入する理由は、動作から次の動作に移る間など、動作以外にも手が動作領域に入ることがあり、正しく組立作業を行っていても検知動作列は定義動作列に完全一致することはないからである。本実施の形態においては、ＤＰマッチングと呼ばれるシーケンスマッチングを使うものとする。ＤＰマッチングは、２つのデータ列（定義動作列，検知動作列）の類似度を測定する手法であり、マッチングのコストが最も小さくなるように定義動作列のラベルに、検知動作列のラベルを紐づけていく。その過程でＤＰマッチングはノイズをノイズとみなして処理をするため、シーケンスマッチングとして用いることができる。具体的な事例を交えたマッチング方法の概略は図５（ａ）に記しており、定義動作列として１，２，３，４、検知動作列として１，２，４，３，４を用いる。検知動作列における最初の４はノイズである。同図において、左下から右上に向かってラベルの紐付けを行うものとして、各セルには左下から、該当のセルを共有する定義動作列，検知動作列の各時系列のラベルを紐づけるまでの最低コストを記す。また、各セルの最低コストの算出には、最低コストを算出済みの下，左下，左の３つのセルから算出し、これを繰り返すという簡易な演算で左下から右上までを紐づけていく上での最低コストを導出する。また、３つのセルのうち、いずれのセルを採用したかを記録しておくので、最終的な右上の最低コストの導出では、どのような経路を通ったかを導くことはできる。詳細な計算は省略するが、図８（ａ）のＤＰマッチングをした結果は図８（ｂ）となり、矢印経路が最低コストを実現した経路となる。紐付けの結果を具体的に示した図は図８（ｃ）となり、ノイズの“４”は定義動作列の“４”ではなく、“２”に付随したノイズとして紐づけられている。コストの設計方法等、ＤＰマッチングの詳細については公知資料を参考にされたい。前述のとおりＤＰマッチングは簡易で実現できる点に着目し、本実施形態ではシーケンスマッチングとしてＤＰマッチングを利用する。
【００７７】
分析結果保存部７１１ａは、シーケンスマッチングの結果と、各動作が検知された画像フレーム番号と、作業フェーズの移行が発生した画像フレーム番号を保存する。なお、画像フレーム番号に合わせて、発生時刻などを記録するようにしてもよい。これらデータは外部記憶装置１０４に保存する。
【００７８】
分析結果出力部７１２ａは、分析結果保存部７１１ａと映像保存部７０６ａに保存されているデータを出力する。例えば、作業漏れがあった作業をモニタ１１０に出力する。作業漏れは、分析結果保存部７１１ａのシーケンスマッチングの結果を読み出し、定義動作列と検知動作列で、同じラベルが対応づいていない系列を抽出することで得る。あるいは、作業時間が長い作業をモニタ１１０に出力する。作業時間が長いか否かは、作業漏れのない同一種類の作業の作業時間の平均作業時間を得て、平均作業時間との差が所定以上である作業を抽出することで得る。また、同時に、これら作業が行われたときの映像を、映像保存部７０６ａから読み出して、出力するようにしてもよい。
【００７９】
［作業分析処理］
次に、作業分析処理についてフローチャート図７（ｂ）を用いて説明する。また、作業フェーズの進行とともに変化する動作領域と撮影範囲について説明するために、図６を用いて説明する。なお、図６においては、矩形６０６〜６０９は動作領域を示しており、破線矩形６０１〜６０５は可視光カメラおよび測距カメラの撮影範囲を示している。
【００８０】
Ｓ７０１ｂでは、カメラの撮影範囲と動作領域の初期設定を行う。具体的には、最初の作業フェーズの撮影パラメータを読み出し、カメラ制御部７０５ａを介して、カメラの撮影範囲を最初の作業フェーズのものとする。また、最初の作業フェーズに関連付けられている動作領域を読み出し、動作検知部７０８ａの検知対象として設定する。図６の例であれば、図の通りに動作領域が設定され、可視光カメラが撮影範囲６０１を、測距カメラが撮影範囲６０２を撮影するように制御される。前述の撮影パラメータ決定装置が、すべての動作領域を撮影するように可視光カメラの撮影パラメータを求め、互いに重なる領域を撮影するように測距カメラの撮影パラメータを求めているため、このように撮影範囲が設定される。
【００８１】
Ｓ７０２ｂでは、Ｓ７０１ｂの設定が終わってから記録された未処理のフレーム画像を映像保存部７０６ａから取得する。
【００８２】
Ｓ７０３ｂでは、フェーズ検知部７０９ａによって、作業フェーズの移行がされたか否かが判定される。フェーズ移行が発生していた場合は、Ｓ７０４ｂへ移る。それ以外の場合は、Ｓ７０５ｂへ移る。
【００８３】
Ｓ７０４ｂでは、次の作業フェーズの撮影範囲と動作領域に設定する。具体的には、次の作業フェーズの撮影パラメータを読み出し、カメラ制御部７０５ａを介して、カメラの撮影範囲を次の作業フェーズのものとする。また、次の作業フェーズに関連付けられている動作領域を読み出し、動作検知部７０８ａの検知対象として設定する。
【００８４】
図６の例であれば、直前が作業フェーズ０であれば、次の作業フェーズ１の可視光カメラが撮影範囲６０３を、測距カメラが撮影範囲６０４を撮影するように制御される。作業フェーズの移行に伴い、動作領域の分布が変化したため、それに合わせて撮影範囲も変化する。さらに、処理が進んで作業フェーズ２に進むと、可視光カメラと測距カメラは撮影範囲６０５を撮影するように制御される。作業フェーズ２では、動作領域の重なりがないため、測距カメラの撮影範囲を可視光カメラと同じものとなっている。
【００８５】
Ｓ７０５ｂでは、動作領域に手が含まれたか否かを検知する。具体的には、手領域検知部７０７ａによりフレーム画像から手を検知する。次に、動作検知部７０８ａにより、手領域と設定されている動作領域が重なったか否かを判定する。もし重なっている動作領域がある場合、該当する動作が行われたと判断して、動作領域に対応するラベルを生成して、検知動作列に追加する。
【００８６】
Ｓ７０６ｂでは、全作業が終わったことを検知する。全作業が終わった場合、Ｓ７０７ｂへ移る。それ以外の場合は、Ｓ７０２ｂへ移る。作業終了の検知は次の通りに行う。例えば、対象物に対する作業が終わると、対象物が作業台から移動され、作業台だけが映像として映るようになる。そこで、予め「作業台」のテンプレートを使用して、テンプレートマッチングにより全作業の終了を検知する。あるいは、対象物にＲＦＩＤを装着しておき、作業台にＲＦＩＤリーダーを設置しておき、ＲＦＩＤが認識されなくなったことをもって、作業の終わりを検知するようにしてもよい。作業終了の検知方法はこれらに限定されるものではない。
【００８７】
Ｓ７０７ｂでは、シーケンスマッチング部７１０ａによってシーケンスマッチングが行われる。具体的には、定義動作列と検知動作列を作業フェーズごとに分割して、作業フェーズごとに定義動作列と検知動作列のＤＰマッチングを行う。
【００８８】
Ｓ７０８ｂでは、Ｓ７０７ｂで得たマッチング結果と、各動作が検知された画像フレーム番号などを、分析結果保存部７１１ａに保存する。
【００８９】
なお、同じ一連の組立作業を繰り返し実施する場合は、Ｓ７０６ｂにて全作業の終了が検知された直後に、Ｓ７０７ｂ〜Ｓ７０８ｂの処理と並行して、再び作業分析処理を起動してＳ７０１ｂ〜Ｓ７０６ｂを実施するように構成してもよい。これによって、連続して組立作業が複数サイクル繰り返す場合も、作業分析を行うことができる。
【００９０】
以上によって、作業フェーズごとの動作領域の分布に合わせて、必要な範囲を撮影するようになる。これによって、高い解像度で作業を撮影できるようになるため、手領域検知・動作検知の検知精度を高めることができる。その結果、作業実施判定の精度を高めることができる。
【００９１】
加えて、可視光カメラの画像上で密集する動作領域を測距カメラで撮影する。これによって、測距カメラの測距精度を高めることができ、密集する動作領域において、作業分析の誤検知を減らすことができる。尚、可視光カメラでしか撮影されていない動作領域については、可視光カメラの画像上で動作領域が密集していないために、異なる動作を誤検知する可能性は低い。
【００９２】
［実施形態２］
前記実施形態１では、撮影パラメータ決定装置の密集領域グループ決定部３０５は、可視光画像上で密集する動作領域をリストアップして、測距カメラの撮影範囲としていた。誤検知が起こりやすい動作領域は他にもある。可視光カメラ上で密集していなくても、よく手が通過する領域などの場合は、誤検知が多くなる。そこで、本実施形態では、「作業手順」および「手の通過」を加味して、測距カメラの撮影範囲を決定する。
【００９３】
本実施形態の撮影パラメータ決定装置の構成について、図９（ａ）を用いて説明する。実施形態１との違いは、作業動作手順入力部９０９ａと密集領域グループ決定部９０７ａと手通過領域決定部９０８ａである。その他のハードウェア構成は、実施形態１と同様である。
【００９４】
作業動作手順入力部９０９ａは、実施形態１の作業動作手順入力部７０３ａと同じである。なお、本実施形態では、動作グループごとの動作領域の順序のみが必要であるため、動作領域の順序のみを受け付けるようにしてもよい。
【００９５】
密集領域グループ決定部９０７ａは、可視光画像上での動作領域の密集性だけでなく、「作業手順上での距離」および「手の通過領域」を加味して動作領域のグループを決定する。詳細な処理については、フローチャート図９（ｂ）を用いて説明する。
【００９６】
手通過領域決定部９０８ａ（第四決定部）は、手がよく通過する領域を決定する。作業台の周辺に道具が置かれることが多いため、道具をとるために手を伸ばす頻度が高い。その際に伸ばした手が、動作領域を通過して、誤検知を起こすことがある。そこで、手通過領域決定部９０８ａは、「標準的な手のサイズ」と「標準的に手がある座標」と「道具の動作領域」を、入力デバイス１０９を介して得る。そして、これら領域を可視光画像上に射影して、手と動作の双方の重心を結んだ直線を、手サイズで拡張した領域を得る。
【００９７】
あるいは、道具を取得したのちに、その道具を使う領域へと手を動かすことも行う。そのため、「道具の動作領域」と「次の道具を使う動作領域」との重心を結んで、手サイズで拡張した領域を得るようにしてもよい。
【００９８】
あるいは、手通過領域を外部から直接得るようにしてもよい。具体的には入力デバイス１０９を介して領域の定義を得ることになる。手通過領域の決定方法はこれらに限定されるものではない。
【００９９】
次に、本実施形態の撮影パラメータ決定処理について説明する。実施形態１との違いはＳ４０６ａが異なる点である。本実施形態のＳ４０６ａとしては図９（ｂ）で示す処理が行われるため、図９（ｂ）の各処理について説明する。
【０１００】
Ｓ９０１ｂは、可視光画像上の距離に基づき動作領域を連結する。これは実施形態１と同様であり、動作領域の重なりや動作領域同士の距離が所定以下である動作領域を特定する。例えば、図１０（ａ）では、所定の距離以下に近接している動作領域として１，２，５が特定されている。この図では、それらをわかりやすいように矢印によって連結している。
【０１０１】
Ｓ９０２ｂは、Ｓ９０１ｂで設定された連結に対して、作業手順上で所定以上の距離にある動作領域の連結を削除する。作業フェーズを構成する動作には実施順序があるため、その順番を作業手順としている。作業手順上の距離は、その順番の差分値である。例えば、図１０（ａ）では、矩形内の番号が作業手順を表現している。動作領域１と２の作業手順上の距離は１であり、動作領域１と５の作業手順上の距離は４である。ここで、削除する手順の距離の閾値が３以上であるとき、動作領域１と５の間の連結が削除されることになる。その結果として図１０（ｂ）に示すような連結関係になる。
【０１０２】
Ｓ９０３ｂは、連結されている動作領域をリストアップする。図１０（ｂ）の例では、動作領域１，２がリストアップされる。
【０１０３】
Ｓ９０４ｂでは、手通過領域を得る。具体的には、フローチャート図９（ｃ）に示す処理を行うため、図９（ｃ）の各ステップの説明を行う。なお、図９（ｃ）に示す処理は手通過領域決定部９０８ａにより行われる。
【０１０４】
Ｓ９０１ｃでは、標準の手座標とサイズを得る。これは入力デバイス１０９介して得た世界座標系での手座標と手サイズを読み出す。
【０１０５】
Ｓ９０２ｃでは、道具の動作領域を得る。これは入力デバイス１０９を介して得た動作領域のＩＤを読み出すことをする。
【０１０６】
Ｓ９０３ｃでは、領域を可視光画像上に射影する。これは前述Ｓ４０５ａで説明した座標変換により達成することができる。
【０１０７】
Ｓ９０４ｃでは、手と道具を結んだ直線を得る。例えば、図１０（ｃ）であれば、手座標１００１と道具の動作領域１００２の重心を結んだ直線を得る。
【０１０８】
Ｓ９０５ｃでは、Ｓ９０４ｃで得た直線を手サイズで拡張した領域を得る。具体的には、ある一辺が直線に並行する矩形領域を設定し、その矩形領域のサイズを直線の長さと手サイズとすることで領域を得る。例えば、図１０（ｃ）であれば、手通過領域１００３が得られる。
【０１０９】
以上によって、手通過領域を得ることができる。なお、複数の道具の領域があるときは、それらすべてに対して手通過領域を得る。
【０１１０】
図９（ｂ）の説明に戻る。
【０１１１】
Ｓ９０５ｂでは、手通過領域と重なる動作領域を、Ｓ９０３ｂで得たリストに追加する。例えば、図１０（ｃ）であれば、手通過領域１００３に動作領域１００４が重なっているため、これがリストに加えられる。
【０１１２】
以上のＳ９０５ｂで得た動作領域をもとに、Ｓ４０７ａにおいて測距カメラの撮影パラメータが定められる。例えば、図１０（ｄ）に示すように、Ｓ９０５ｂで得た動作領域すべてを撮影する撮影範囲１００５をとるように、撮影パラメータが求められる。なお、可視光カメラの撮影範囲１００４の撮影パラメータはＳ４０４ａによって予め求められているものである。
【０１１３】
以上によって、手が通過する頻度が高く、誤検知が起こりやすい領域について、測距精度を上げることができる。そして、作業分析の精度が上がる。尚、動作領域が密集していても、作業手順上で離れていれば、シーケンスマッチングによって吸収することができる。一方で、本実施形態では、さらに撮影範囲をより絞り込むことができるため、測距精度がよくなるため、動作検知の精度が向上する。その結果、作業実施判定の精度が向上する。
【０１１４】
［実施形態３］
前記実施形態では、フェーズ移行を検知してから、動作領域と撮影範囲を変更していた。しかしながら、映像をバッファリングしてから処理を行うため、フレーム画像が撮影されてから数秒後に処理が行われることになる。よって、フェーズ移行を検知してから、動作領域と撮影範囲を変更しては間に合わないことになる。本実施形態では、フェーズ移行を検知する前に、フェーズ途中で次フェーズの撮影範囲も含むように撮影範囲を変更する。さらに、フェーズ移行を検知してから次のフェーズの撮影範囲に変更することを行う。
【０１１５】
［撮影パラメータ決定装置］
本実施形態の撮影パラメータ決定装置の構成について、図１１（ａ）を用いて説明する。実施形態１との違いは、作業動作手順入力部１１０２ａと動作グループ撮影パラメータ統合部１１０１ａが加わったことである。
【０１１６】
作業動作手順入力部１１０２ａは、作業動作手順入力部７０３ａと同じである。なお、本実施形態では、動作グループの順序のみを必要とするため、動作グループの順序のみを受け付けるようにしてもよい。
【０１１７】
動作グループ撮影パラメータ統合部１１０１ａは、作業フェーズの途中から利用する撮影パラメータを、連続する二つの動作グループから生成する。詳細な処理については、フローチャート図１１（ｂ）を用いて後述する。
【０１１８】
本実施形態の撮影パラメータ決定処理は、フローチャート図４（ａ）とほぼ同じであるが、Ｓ４０９ａとＳ４１０ａとの間に、作業フェーズの途中に適用する撮影パラメータを求める処理が行われる点が異なる。また、撮影パラメータを保存するＳ４１０ａも異なる。ままず、挿入される処理についてフローチャート図１１（ｂ）を用いて説明する。
【０１１９】
Ｓ１１０１ｂは、Ｓ４０１ａで得た動作グループリストで、連続する２つの動作グループを順に処理するためのループである。動作グループには０から順に番号が割り当てられているものとする。なお、この番号は作業動作手順入力部１１０２ａで得た動作グループの順序に対応するものとする。これを変数ｉで参照するため、はじめにｉを０に初期化する。さらに、ｉが動作グループ数−１未満であるときＳ１１０２ｂへ移り、これを満たさないときループを抜けて処理を終了して、Ｓ４１０ａへと移行する。
【０１２０】
Ｓ１１０２ｂは、連続する２つの動作グループを取得する。このとき、図４（ａ）のＳ４０４ａとＳ４０７ａにおいて、各々のカメラが撮影する動作領域が、動作グループに関連付けられているものとする。そして、これら各々のカメラが撮影する動作領域もここで得る。
【０１２１】
Ｓ１１０３ｂは、連続する２つの動作グループの可視光カメラで撮影される動作領域を統合することを行う。可視光カメラで撮影される領域は第一取得部で取得する。図４（ａ）の処理では、可視光カメラは各々の動作グループの全ての動作領域を撮影するように構成されているため、２つの動作グループの動作領域が統合されたものが得られる。しかし、図４（ａ）の処理において、例外的に画角が範囲外になるなどの場合は、全ての動作領域が対象となるわけではなく、一部分が対象となっている場合もある。
【０１２２】
Ｓ１１０４ｂは、Ｓ１１０３ｂで得た動作領域群を撮影するように撮影パラメータを求める。この処理は図４（ｂ）に示す処理によって達成される。
【０１２３】
Ｓ１１０５ｂは、連続する２つの動作グループの測距カメラで撮影される動作領域を統合することを行う。例えば、図６に示す作業フェーズ０と作業フェーズ１の動作グループが対象になっているとする。このとき、６０２と６０４で囲まれる動作領域が、測距カメラで撮影される動作領域である。よって、図１２（ａ）に示す動作領域が得られることになる。測距カメラで撮影される領域は第二取得部で取得する。
【０１２４】
Ｓ１１０６ｂは、Ｓ１１０５ｂで得た動作領域群を撮影するように撮影パラメータを求める。この処理は図４（ｂ）に示す処理によって達成される。例えば、図１２（ａ）を処理したとき、図１２（ｂ）に示すような撮影範囲を撮影する撮影パラメータが得られることになる。
【０１２５】
Ｓ１１０７ｂは、連続する２つの動作グループに関連付けて、Ｓ１１０４ｂとＳ１１０６ｂで得た撮影パラメータを保存する。
【０１２６】
Ｓ１１０８ｂは、動作グループのループの終端であり、ｉに１を加算してＳ１００１ｂへ戻る。
【０１２７】
以上の処理が図４（ａ）のＳ４０９ａとＳ４１０ａの間で実行される。次に、Ｓ４１０ａにて撮影パラメータの保存が行われる。このとき、Ｓ４０８ａとＳ１１０７ｂで保存した撮影パラメータを、動作グループあるいは連続する動作グループのペアに関連付けて出力する。この出力された情報を用いて、作業分析装置は作業フェーズごとに撮影方向と画角を変更することを行う。
【０１２８】
図１３を例に、撮影パラメータ決定処理の具体例を示す。作業フェーズ０〜作業フェーズ１の撮影範囲および動作領域は、図６に示したものと同じであり、これらの撮影範囲はＳ４０１ａ〜Ｓ４０９ａにより算出される。次に、図１１（ｂ）に示す処理により、連続する作業フェーズの撮影範囲を統合したものを求める処理が行われる。まず、作業フェーズ０と作業フェーズ１が選ばれる（Ｓ１１０１ｂ〜Ｓ１１０２ｂ）。次に、可視光カメラの撮影範囲６０１と６０３で撮影される動作領域をもとに、これら作業フェーズ０と１の可視光カメラの撮影範囲１３０１が決定される（Ｓ１１０３ｂ〜Ｓ１１０４ｂ）。その次に、測距カメラの撮影範囲６０２と６０４で撮影される動作領域をもとに、これら作業フェーズ０と１の測距カメラの撮影範囲１２０１が決定される（Ｓ１１０５ｂ〜Ｓ１１０６ｂ）。これらを保存して、次にループが進むことで、作業フェーズ１と作業フェーズ２の撮影範囲の統合が行われる。まず、可視光カメラの撮影範囲６０３と６０５で撮影される動作領域をもとに、これら作業フェーズ１と２の可視光カメラの撮影範囲１３０２が決定される（Ｓ１１０３ｂ〜Ｓ１１０４ｂ）。次に、測距カメラの撮影範囲を決定するが、作業フェーズ２では密集する動作領域がないために、測距カメラの撮影範囲は可視光カメラに一致させられている。このような場合は、Ｓ４０７ａで測距カメラの動作領域として関連付けられているものはない。そのため、作業フェーズ１の動作領域（６０４で囲われる動作領域）だけをもとに決定される。その結果、測距カメラの撮影範囲１３０３として決定される。
【０１２９】
［作業分析装置］
本実施形態の作業分析装置の構成について、図１４（ａ）を用いて説明する。実施形態１との違いは、フェーズ進行検知部１４０１ａが加わったことである。
【０１３０】
フェーズ進行検知部１４０１ａは、作業フェーズの所定の進行を検知する。
【０１３１】
具体的には、作業フェーズごとに予め検知時間を保持しておき、作業フェーズが始まってから検知時間を経過したことを検知する。検知時間は、「作業フェーズ完了にかかる最低の作業時間」から「カメラ制御完了にかかる最長時間」と「フレーム画像処理の最長の遅延時間」を差し引いて得た値より、小さな値を検知時間に設定することが望ましい。例えば、図２（ｂ）の作業フェーズ０の完了に最低２０秒、作業フェーズ１の完了に最低３０秒かかるとする。ＲＧＢＤカメラ１１２のパンチルトズームなどのカメラ制御に最長５秒かかるとする。さらに、ＲＧＢＤカメラ１１２によりフレーム画像を撮影してから、フレーム画像の処理（Ｓ７０２ｂ〜Ｓ７０６ｂ）が完了するまでの遅延時間を最長５秒とする。このとき作業フェーズ０の検知時間は１０秒未満，作業フェーズ１の検知時間は２０秒未満を設定することが望ましい。
【０１３２】
これによって、次の作業フェーズが始まる前に、フェーズの切り替わりが近いことを検知できる。さらに、カメラ制御に必要な時間を差し引くことで、カメラ制御をする時間を残して、フェーズ切り替わり前に検知ができる。また、フェーズ検知部７０９ａにより作業フェーズの開始を検知したときは、その時刻よりも遅延時間分前にフェーズが開始している。そこで、遅延時間を差し引くことで、フェーズの切り替わり前に検知ができるようになる。
【０１３３】
あるいは、動作検知によりフェーズの切り替わりが近いことを検知してもよい。例えば、作業フェーズごとに、予め終了前動作を定義しておき、この動作を検知することで実現してもよい。このとき、いくつかの終了前動作を定義しておき、すべての動作が検知されることで実現してもよい。これによって、一つの動作ではノイズなどによる誤検知が起こり得るが、複数動作とすることでノイズ影響を抑えることができる。さらに、シーケンスマッチングを行ってから、動作を検知するようにしてもよい。
【０１３４】
フェーズ進行検知の方法はこれらに限定されるものではない。
【０１３５】
本実施形態の作業分析処理についてフローチャート図１４（ｂ）を用いて説明する。この処理のＳ７０１ｂ〜Ｓ７０８ｂは図７（ｂ）に示す処理と同じであり、図７（ｂ）との違いはＳ１４０９ｂとＳ１４１０ｂが加えられている点である。
【０１３６】
Ｓ７０３ｂは、フェーズ検知部７０９ａによって、作業フェーズの移行がされたか否かが判定される。フェーズ移行が発生していた場合は、Ｓ７０４ｂへ移る。それ以外の場合は、Ｓ１４０９ｂへ移る。
【０１３７】
Ｓ１４０９ｂは、フェーズ進行検知部１４０１ａによって、作業フェーズの切り替わりが近いか否かを判断する。フェーズの切り替わりが近いと判断された場合は、Ｓ１４１０ｂへ移る。それ以外の場合はＳ７０５ｂへ移る。
【０１３８】
Ｓ１４１０ｂは、フェーズ途中用のカメラ撮影範囲を設定する。具体的には、前述の撮影パラメータ決定装置の処理Ｓ４１０ａにて、連続する動作グループのペアに関連付けて出力された撮影パラメータを用いる。現在の作業フェーズと次の作業フェーズに対応する動作グループを特定して、それらペアに対応する撮影パラメータを読み出す。カメラ制御部７０５ａを介して、カメラの撮影範囲を変更する。なお、動作領域は変更せず、現在の作業フェーズのままを保つ。
【０１３９】
図１３を例に、作業分析装置の撮影範囲と動作領域が作業フェーズに応じて、どのように変わるかを、時間軸を示す図１５を用いて説明する。図１５に示すように処理の開始時点１５０１では、図１３の作業フェーズ０の撮影範囲と動作領域が設定される（Ｓ７０１ｂ）。そして、これらの設定をもとに、撮影とフレーム画像の処理が進む（Ｓ７０２ｂ〜Ｓ７０６ｂ）。このとき、図１５に示すように、フレーム画像をバッファリングするため、映像処理は数秒遅延することになる。
【０１４０】
次々とフレーム画像が処理されていくが、時点１５０２に示すように、途中でフェーズ進行検知部１４０１ａによりフェーズの終了が近いことが検知される（Ｓ１４０９ｂ）。この検知は、最初のＳ７０２ｂのフレーム画像の撮影時刻と、Ｓ１４０９ｂの処理実行時の時刻の差分を求めて、予め定めた時間長を超えたことを持って検知する。あるいは、Ｓ７０１ｂの実行時刻の代わりに、Ｓ７０１ｂの処理実行時の時刻を用いてもよい。あるいは、Ｓ７０５ｂで作業フェーズ０の最初の動作を検知できたフレーム画像の撮影時刻を代わりに用いてもよい。これによって、撮影開始からしばらく作業が行われないときも、経過時間からフェーズ移行前を検知できる。経過時間の取得方法はこれらに限定されるものではない。
【０１４１】
フェーズの終了が近いことが検知されると、図１３に示す作業フェーズ０＆１の撮影範囲と動作領域が設定される（Ｓ１４１０ｂ）。これによって、次の作業フェーズ１の動作も撮影されるように撮影範囲が設定される。そのため、時点１５０３において実世界が作業フェーズ１に移行しても、その動作を取りこぼしなく撮影できる。一方で動作領域は作業フェーズ０のままである。これによって、バッファにより遅延がある状況でも、正しく動作検知を行える。
【０１４２】
次に、フレーム画像の処理が進むと、時点１５０４に示すように、フェーズ移行を検知する（Ｓ７０３ｂ）。このとき、図１３に示す作業フェーズ１の撮影範囲と動作領域が設定される。これによって、作業フェーズ１に特化した撮影範囲となり、動作検知および作業実施判定の精度を高めることができる。また、動作領域も作業フェーズ１のものとなり、バッファにより遅延がある状況でも、正しく動作検知されることになる。
【０１４３】
次に、時間が経過すると、時点１５０５で示すところで、途中でフェーズの終了が近いことが検知される（Ｓ１４０９ｂ）。この検知は、Ｓ７０３ｂがＹＥＳとなるときのフレーム画像の撮影時刻と、Ｓ１４０９ｂの処理時刻との差分を求めて、予め定めた時間長を超えたことを持って検知する。
【０１４４】
フェーズの終了が近いことが検知されると、図１３に示す作業フェーズ１＆２の撮影範囲と動作領域が設定される（Ｓ１４１０ｂ）。これによって、時点１５０６において、実世界が作業フェーズ２に移行しても、その動作を取りこぼしなく撮影できる。
【０１４５】
次に、フレーム画像の処理が進むと、時点１５０７に示すところで、フェーズ移行を検知する（Ｓ７０３ｂ）。このとき、図１３に示す作業フェーズ２の撮影範囲と動作領域が設定される。これによって、作業フェーズ２に特化した撮影範囲となり、動作検知および作業実施判定の精度を高めることができる。
【０１４６】
なお、組立作業のサイクルを繰り返し行う場合は、最終フェーズの次は最初のフェーズになる。そこで、撮影パラメータ決定処理において、最終と最初のフェーズを統合した撮影パラメータを生成するようにしてもよい。そして、作業分析処理は、最終フェーズの途中で、最終と最初のフェーズを統合した撮影パラメータを適用すればよい。
【０１４７】
具体的には、図１１（ｂ）に示す撮影パラメータ決定処理のＳ１１０８ｂの後に、最終と最初のフェーズを対象としてＳ１１０３〜Ｓ１１０７ｂを実施すればよい。一方で、作業分析処理では、Ｓ７０６ｂに全作業終了が検知されたのちに、Ｓ７０７ｂ〜Ｓ７０８ｂの処理と並行して、再び作業分析処理を起動してＳ７０１ｂ〜Ｓ７０６ｂを実施するように構成する。
【０１４８】
例えば、図１３の例であれば、作業フェーズ２と０を統合した作業フェーズ２＆０の撮影パラメータが準備される。作業分析処理では、Ｓ１４０９ｂで作業フェーズ２の途中で終了が近いことを検知して、Ｓ１４１０ｂで作業フェーズ２＆０の撮影範囲が適用されることになる。さらに処理が進み、Ｓ７０６ｂで全作業の終了が検知され、Ｓ７０７ｂ〜Ｓ７０８ｂでシーケンスマッチングなどが行われる。Ｓ７０７ｂ〜Ｓ７０８ｂと並行して、再び作業分析処理が起動されるため、Ｓ７０１ｂに処理が戻り、撮影範囲などが作業フェーズ０のものに設定され処理が進む。これは、Ｓ７０６ｂで作業終了を検知しているため、実世界は作業フェーズ０に戻っていることが期待できるため、作業フェーズ０に撮影範囲などを戻しても問題がない。
【０１４９】
これによって、組立作業を複数サイクル繰り返す場合も、作業分析を行うことができる。
【０１５０】
以上によって、フェーズの終了が近いことを検知すると、次のフェーズの動作を考慮した撮影が行われる。これによって、次のフェーズの動作ももれなく撮影することができるようになる。例えば、作業フェーズ０＆１を用いないとき、時点１５０２〜１５０４の間は作業フェーズ０の撮影範囲が用いられることになり、時点１５０３〜１５０４の間で、作業フェーズ１の動作の撮影漏れが生じることになる。同様に、作業フェーズ１＆２を用いないとき、時点１５０６〜１５０７において動作の撮影漏れが生じることになる。こうした動作の撮影漏れを防げる。
【０１５１】
加えて、フェーズ移行を検知すると、そのフェーズに特化した撮影範囲になるようにカメラが制御される。これによって、動作検知および作業実施判定の精度を高めることができる。例えば、時点１５０４〜１５０５の間において、作業フェーズ０＆１を用い続けることがなくなり、作業フェーズ１の撮影が行われるために、可視光カメラの解像度および測距カメラの距離精度が向上する。その結果、動作検知および作業実施判定の精度が高まる。
【０１５２】
［変形例］
前記実施形態において、動作領域は作業が行われる際の手が動く領域であり、これを撮影するように可視光カメラと測距カメラの撮影パラメータを決定していた。しかしながら、動作領域に限定されるものではなく、撮影される他の着目領域を用いてもよい。
【０１５３】
例えば、工場において作業員が歩き回りながら、周囲の作業台の部品を組み付けていく場合の作業の分析がある。この場合、部品置き場の前に立体領域を設定して、人体検知により、この立体領域に人物が入ったことで作業を行ったと判断する。そのため、部品置き場の前の立体領域が着目領域になる。この着目領域の分布に基づいて撮影パラメータを決定することが考えられる。さらに、作業フェーズによって、利用部品が変わる場合は、作業フェーズごとに着目領域の分布も変わる。そこで、作業フェーズごとに撮影パラメータを求めるようにしてもよい。さらに、可視光カメラの画像上で密集する着目領域を測距カメラで撮影するようにしてもよい。
【０１５４】
あるいは、例えば、展示場などで展示物の前に立体領域を設定して、人体検知により、人物がその領域に入ったことを持って閲覧をしたことを分析する展示の分析がある。このとき、展示物の前の立体領域が着目領域である。この着目領域の分布に基づいて撮影パラメータを決定することが考えられる。さらに、展示構成が昼夜で変わる場合は、その立体領域の配置も変わる。そこで、昼夜の立体領域の配置に基づいて、昼夜各々の撮影パラメータを求めてもよい。さらに、可視光カメラの画像上で密集する着目領域を測距カメラで撮影するようにしてもよい。着目領域はこれらに限定されるものではない。
【０１５５】
また、立体領域に入ることを検知する検知対象は手や人体だけでなく、車などのオブジェクトであってもよい。あるいは、動物などの他の生物であってもよい。検知対象はこれらに限定されるものではない。
【０１５６】
以上によって、さまざまな着目領域を撮影する場合に適用できるため、様々な場合において必要な領域だけを撮影できるようになる。その結果、高い解像度で撮影ができるようになり、人体検知や物体検知の検知精度を高めることができる。また、可視光カメラの画像上で密集する着目領域を測距カメラで撮影する。これによって、測距カメラの測距精度を高めることができ、検知精度を高めることが期待できる。
【０１５７】
［その他の実施形態］
以上、実施形態を詳述したが、本発明は上述の実施形態に限定されるのではなく、本発明の趣旨を逸脱しない限りにおいて適宜変更が可能である。
【０１５８】
本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１６０】
３０１  動作領域入力部
３０２  動作グループ入力部
３０３  カメラ情報入力部
３０４  可視光カメラ撮影パラメータ決定部
３０５  密集領域グループ決定部
３０６  測距カメラ撮影パラメータ決定部
【図１】
2019074370.tif 000003
【図２】
2019074370.tif 000004
【図３】
2019074370.tif 000005
【図４】
2019074370.tif 000006
【図５】
2019074370.tif 000007
【図６】
2019074370.tif 000008
【図７】
2019074370.tif 000009
【図８】
2019074370.tif 000010
【図９】
2019074370.tif 000011
【図１０】
2019074370.tif 000012
【図１１】
2019074370.tif 000013
【図１２】
2019074370.tif 000014
【図１３】
2019074370.tif 000015
【図１４】
2019074370.tif 000016
【図１５】
2019074370.tif 000017