JP2019101919A - 情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体 - Google Patents

情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体 Download PDF

Info

Publication number
JP2019101919A
JP2019101919A JP2017234401A JP2017234401A JP2019101919A JP 2019101919 A JP2019101919 A JP 2019101919A JP 2017234401 A JP2017234401 A JP 2017234401A JP 2017234401 A JP2017234401 A JP 2017234401A JP 2019101919 A JP2019101919 A JP 2019101919A
Authority
JP
Japan
Prior art keywords
work
operation sequence
detection
divided
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017234401A
Other languages
English (en)
Inventor
朋紀 工藤
Tomonori Kudo
朋紀 工藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017234401A priority Critical patent/JP2019101919A/ja
Publication of JP2019101919A publication Critical patent/JP2019101919A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

【課題】作業者による作業を撮影した映像から作業が正しく行われたか否かを正しく判定する。【解決手段】分析装置100は、作業者の移動または物体の移動の少なくとも一方を映像から検知する分析部502、および、作業を構成する複数の動作の順序を定義するとともに分割点によって複数の部分に分割された定義動作列と、分割点に対応するとともに作業中に発生する分割イベントを記憶するRAM103を有する。分析部502は、検知された複数の動作を並べた検知動作列を生成するとともに、分割イベントによって検知動作列を複数の部分に分割し、分割された検知動作列とのマッチングを行うことで、作業が正しく行われたか否かを判定する。【選択図】図1

Description

本発明は、工場の組立作業などの映像を用いた作業分析などの情報処理技術に関するものである。
従来、情報処理技術において、工場等で組立作業等の作業が正しく行われているかを分析する手法が知られている。ここで、作業とは、組立作業の作業者が所定の順番で行う複数の動作のことを指す。上述した分析手法では、組立作業のシーンを撮影した映像中の作業員の動きから、作業者が実行した動作を検知して作業標準書に定義された所定の動作が行われているかを分析する手法が知られている。例えば、特許文献1は、撮影した映像中において組立作業が発生する領域に矩形領域を設定し、その矩形領域に手が入ったかどうかで組立作業を実施したかを判定する技術を開示している。
また、特許文献2は、オブジェクトが配置された空間を撮影して空間内におけるユーザの身体を検知し、その身体の位置を特定する部位データを取得する技術を開示している。この技術では、3Dモデル化された空間内でオブジェクトモデルが占有する空間の周囲の空間に上述した部位データが含まれるかどうかを判定することで、ライトの明るさ調整等の所定機能を実行している。
特開2001−209694号公報 特開2016−24690号公報
作業者によって行われた組立作業が正しいか否かを判定するには、作業が実行されたかを判定するだけでなく、作業が実行された順番を判定することが望ましい場合が多い。例えば、作業標準書には、組立作業において行われる作業の実行順番が記載されており、作業がなされたか否かだけでなく、その順番が正しいかの判定が必要な場合がある。
特許文献1は、個別作業が発生したか否かを判定する技術を開示するものの、作業の実行順番を判定する作業分析を実現することは困難である。従って、作業の実行順番を判定する技術が必要となっている。
そのような技術として、DPマッチングに代表されるような、シーケンスの並びのあいまいさを許容して一致度を求めるシーケンスマッチングが知られている。しかし、「通常とは異なる腕の動きに起因して、手が意図せずに矩形領域に進入する」など、手が矩形領域に進入しているものの、その進入は注目すべき作業ではない、という事態が多発することがある。この場合、シーケンスマッチングがうまく機能せず、その結果として正常な分析を行うことが難しくなる場合もある。
特許文献2は動作の対象となるオブジェクトを検知する技術を開示するもの、動作の順番やオブジェクトの移動を検知対象とはしていない。従って、動作の順番やオブジェクトの移動の関係性から作業が成功したか否かを判定することは困難である。
本発明は、作業者による作業を撮影した映像から作業が正しく行われたか否かを正しく判定することを目的とする。
この課題を解決するため、本発明の情報処理装置は、作業者による作業を撮影した映像を取得する映像取得手段と、前記取得された映像から、前記作業者の移動または物体の移動の少なくとも一方を検知する移動検知手段と、前記作業を構成する複数の動作の順序を定義するとともに少なくとも1つの分割点によって複数の部分に分割された定義動作列と、前記分割点に対応するとともに前記作業で発生するイベントである分割イベントを記憶する記憶手段と、前記移動検知手段での検知結果から前記動作を検知して、検知された複数の動作を並べた検知動作列を生成する検知動作列生成手段と、前記取得された映像から前記分割イベントを検知して、検知された分割イベントにより前記検知動作列を複数の部分に分割し、前記分割された前記定義動作列と前記分割された検知動作列とのマッチングを行って、前記作業が正しく行われたか否かを判定する分析手段と、を備えることを特徴とする。
本発明によれば、作業者による作業を撮影した映像から作業が正しく行われたか否かを正しく判定することが可能となる。
(a)は情報処理装置のハードウェア構成の概略図、(b)はその機能ブロック図。 作業場の説明図。 (a)、(b)、(c)はフレーム画像の説明図。 (a)、(b)はDPパスの説明図、(c)は定義動作列と検知動作列との関連付け結果の説明図。 (a)、(b)は定義動作列と検知動作列とのシーケンスマッチング例の説明図。 (a)は動作領域番号が記載されたテーブルの説明図、(b)はその動作検知結果の説明図。 情報処理装置が実行する処理の概要を示すフローチャート。 分析処理の詳細を表すフローチャート。 分析処理で参照されるテンプレート管理テーブル。 (a)は動作領域を対象とする検知動作列、(b)は分割点で検知動作列を分割して生成された検知動作列、(c)はそのDPマッチング結果を表す説明図。 分析処理のフローチャート。 生成された検知動作列の説明図。
以下、本発明を工場の組立作業での作業分析を行う情報処理装置に適用した場合を例に挙げて説明する。
第1実施形態
図1(a)に、情報処理装置100のハードウェア構成を表す概略図を示す。なお、第1実施形態では、情報処理装置100は、作業者が組立作業標準書に従って作業を行ったかどうかを判定する作業分析装置として動作する。
情報処理装置100は、単一のコンピュータ装置で実現してもよく、あるいは、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合、各コンピュータは、互いに通信可能なようにLocal Area Network(LAN)などで接続される。コンピュータ装置は、パーソナルコンピュータ(PC)やワークステーション(WS)等によって実現することができる。
図1(a)において、情報処理装置100のCPU(Central Processing Unit)101は、情報処理装置100全体の処理を制御する。ROM(Read Only Memory)102は変更を必要としないプログラムやパラメータを格納する読出し専用記録装置である。RAM(Random Access Memory)103は、外部装置などから供給されるプログラムやデータを一時記憶する書き換え可能な記憶装置である。外部記憶装置104は、情報処理装置100に固定して設置されたハードディスクやメモリカードなどの書き換え可能な記憶装置である。なお、外部記憶装置104は、情報処理装置100に対して着脱可能なフレキシブルディスク(FD)やCD(Compact Disk)等の光ディスク、磁気カード、光カード、ICカード、メモリカードなどであってもよい。
入力デバイスI/F105は、作業者の操作を受けてデータを入力するためのポインティングデバイスやキーボードなどと入力デバイス109とのインターフェイスである。出力デバイスI/F106は、情報処理装置100が保持するデータや供給されたデータを作業者に対して表示するためのモニタ110とのインターフェイスである。モニタ110は、作業者による作業を撮影した映像を取得する映像取得手段として機能する。作業者は、入力デバイス109を通じて組立作業の分析の開始、終了の指示等を情報処理装置100に入力する。
通信I/F107は、インターネットなどのネットワーク回線111に接続するための通信インターフェイスである。カメラ112は、監視カメラなどの映像の撮像装置であり、ネットワーク回線111を介して情報処理装置100に接続されている。カメラ112は、通信インターフェイス107を介してCPU101により動作が制御されるとともに、作業場内を俯瞰できる位置に設けられて作業者28および作業場全体を撮影する。システムバス108は、101〜107の各ユニットを通信可能に接続する伝送路である。
後述する各動作は、ROM102等のコンピュータ読取り可能な記憶媒体に格納されたOS(Operating System)等のプログラムをCPU101がRAM103に展開して実行することにより実行される。CPU101は、ROM102に格納されるコンピュータプログラムを、RAM103を作業領域に用いて実行することで、情報処理装置100を作業分析装置として機能させる。また、RAM103は、後述する定義動作列および分割イベントを記憶する記憶手段としても機能する。
図1(b)は、情報処理装置100の機能ブロック図である。CPU101がコンピュータプログラムを実行することで、情報処理装置100は、制御部500、映像取得部501、分析部502、映像処理部503、入力部504、出力部505として機能する。なお、これらの各機能ブロックは、ハードウェアにより実現されてもよい。
制御部500は、情報処理装置100、カメラ112、モニタ110の動作を制御する。映像取得部501は、制御部500の指示によりカメラ112の動作を制御し、カメラ112から作業者28を含む作業場を撮影した映像を取得する。分析部502は、制御部500の制御により、作業が正しく行われたか否かを判定する。映像処理部503は、制御部500の制御により、映像取得部から取得された映像を処理してRAM103に記憶させる。入力部504は、入力デバイスI/Fを通じて入力デバイス109からの指示、データ等の入力を受け付けて制御部500へ送信する。出力部505は、制御部500の制御により、モニタ110に画像を表示する。
作業分析を行う際の制御部500等の動作は、後述する適用システム例の説明において詳述する。
図2に、工場において組立作業を行う作業場の説明図を示す。図中において作業台21、ワークベンチ22、組立対象物23、シールケース24、ビスケース25、ゴミ箱26、ドライバ受け27、作業者28が示される。また、作業者28の左手を含む領域である左手領域29と、右手を含む領域である右手領域30も示される。また、点線で囲まれてそれぞれ0〜6の番号が付された矩形領域は、後述する作業領域0〜6である。図中において、作業領域0〜6の番号は、その他の符号と区別しやすくなるように、それぞれ下線が付されている。
作業者28は、組立対象物23を作業台21上のワークベンチ22において、作業標準書に従って組立作業を行う。作業者28は、必要に応じてシールケース24からシールを取り出し、また、ビスケース25からビスを取り出してシール付けやビス付け等の作業を行う。作業者28は、必要に応じてドライバを手にして作業を行い、ドライバが不要であるときはドライバ受け27にドライバを置く。
組立対象物としては、例えば、複写機の内部に組み込まれる現像器や定着器などが挙げられるが、これらに限定されずに任意の物品を組立対象物とすることができる。
次に、本実施形態で想定する組立作業の例を説明する。作業者は、所定の順番で複数の動作を実行することで作業を行う。第1実施形態における作業は、作業0、作業1という2つの作業から構成される。具体的には、作業シールの貼付(作業0)、ビス締め(作業1)という動作を連続して行う。以下、作業0、1の具体的な内容について説明する。
作業0では、シールを取り、対象物のシール右端貼付、対象物のシール左端貼り付け、ゴミ箱に裏紙を捨てる。
作業0を行った後、作業1の予備動作として、対象物を裏返す。
作業1では、右手でドライバを取り、左手でビス箱からビスを取り、対象物中央の黒丸のビス穴にビスを締め、ドライバを戻す。
これらは、作業標準書に作業内容および作業順序が記載されており、作業者はこの順番で組立作業を進めなければならない。以降の説明では、作業を構成する組立作業1つ1つを動作と称する。以下に示すように、各作業は複数の動作から構成され、作業者は、所定の順番で複数の動作を実行することで作業を行う。また、工程の定義に記載された組立作業1回分のことをサイクルと呼ぶ。この例では対象物を設置して作業0の開始から作業1を終了して対象物を運び出すまでが1サイクルとなる。
作業0:シール貼付
動作0:シール取得
動作1:シール右端貼付
動作2:シール左端貼付
動作3:シール裏紙破棄
予備動作:
対象物裏返し
作業1:ビス締め
動作0:ドライバ取得
動作1:ビス取得
動作2:ビス締め
動作3:ドライバ戻し
なお、作業の内容は組立対象物、組立工程により異なり、これに限定するものではない。
[処理概要]
以下、情報処理装置100で実行される処理の概要を説明する。実施形態1では、作業場の上部に設置したカメラ112によって作業場を撮影することで作業者による作業を撮影する。撮影された映像の各フレーム画像において、作業者の手がどこにあるかを検知し、作業の流れに沿って動作を検知する。そのために、分析部502は、身体の特定の一部の領域と作業場の映像とを比較し、その比較結果から動作を検知する。第1実施形態では、分析部502は、作業者の右手領域または左手領域と動作領域との映像を比較し、その比較結果から動作を検知する。
また、分析部502は、作業者の手が設定された動作領域の順に動いていれば組立作業は正しく実施されたと判断する。なお、第1実施形態では作業者の手が動作領域に移動しているか否かを判定しているが、作業者の手に限らず、作業者の足や膝等、作業者の身体における任意の一部を用いて組立作業が正しく実施されたかを判定することができる。また、手のみならず、手と足、手と膝と頭等、身体の複数の箇所を用いて判定を行うこともできる。
動作領域は、動作を行うときに手が動く領域であり、予め作業者が設定する。上述したように、図2では動作領域が点線の矩形として示されている。各動作領域には「1」、「2」、「3」および「4」という番号がラベル付けされて各動作と以下のように対応付けられる。
作業0:シール貼付
動作0:シール取得 …動作領域0
動作1:シール右端貼付 …動作領域1
動作2:シール左端貼付 …動作領域2
動作3:シール裏紙破棄 …動作領域3
予備動作:
対象物裏返し
作業1:ビス締め
動作0:ドライバ取得 …動作領域4
動作1:ビス取得 …動作領域5
動作2:ビス締め …動作領域6
動作3:ドライバ戻し …動作領域4
これらの処理を実現するためには、作業者の手領域の検知、物体の位置や移動の検知、フェーズ判定、動作検知、検知された動作列(検知動作列)と作業標準書から得られる定義動作列とを比較するシーケンスマッチングの各処理を行う。以下、各処理について説明するが、特に断りのない限り、作業時における差分画像からの動体抽出、手領域検出、分析処理等は分析部502が実行する。
[手領域検知処理]
分析部502は、作業者がいない状態でカメラ112を通じて撮像された作業場の映像から背景画像を取得する。作業時には、分析部502は、撮像された映像から作業者の移動および物体の移動を検知して、対象となるフレーム画像と背景画像との差分画像から動体を抽出する。従って、分析部502は、カメラ112を通じて取得された映像から作業者の移動または物体の移動の少なくとも一方を検知する移動検知手段としての機能を有する。
分析部502は、ドライバやビス等の作業者によって移動される工具などの物体や人体などを動体として検知する。検知された動体は、画像処理などにより人体やドライバ等の物体として判定される。第1実施形態では、分析部502は、人体として判定された動体から作業者の頭部や腕などを画像認識処理により除くことで、手領域を検知する。
なお、手領域検知はこの方法に限定されるものではなく、任意の方法を用いることができる。例えば、機械学習を利用する方法、皮膚の色領域を抽出して手領域を検知する方法、赤外線を利用した皮膚の温度領域を抽出して手領域を検知する方法等を用いることができる。
[物体の位置や移動の検知処理]
次に、作業対象物、部品、道具などの物体の位置を、類似度を検知して出力する処理を説明する。ここでは、テンプレートマッチングを利用した例で説明するが、これに限定するものではない。テンプレートマッチング以外では機械学習などが利用可能である。
テンプレートマッチングは、テンプレート画像を入力画像に対して走査させ,入力画像上の各位置における類似度を算出して最大(もしくは,しきい値以上)の類似度をとる位置を検知する手法である。
具体的には、入力となるフレーム画像から、対象物のテンプレート画像と最も類似度の高い位置を検知する。その検知位置と類似度から、対象物の移動、回転、部品の着脱などの変化、出現、消失を検知する。対象物とテンプレートとの類似度が高く、位置が閾値以上に変化しない場合、対象物は「静止している」と判定する。
位置が閾値以上に変化した場合、それぞれ「移動した」、「回転した」と判定する。また、対象物のテンプレートとの類似度が低くなった場合、手などによる「隠れ」や見た目が変化している「変形」である可能性がある。対象物が消失した場合は「終了」と判定する。
テンプレートマッチングでは、類似度によって動きを検知するが、静止位置から物が移動して類似度が低下したのか、または、手などによって対象物が隠れて類似度が低下したのかを誤判定する場合がある。
物体の移動判定の精度向上方法として、第1実施形態では物体の移動判定のために2つのテンプレートを併用する。2つのテンプレートとは、物体テンプレートと、物体が置かれた場所(背景)テンプレートである。
図3(a)に、対象物が静止した状態のフレーム画像の説明図を示す。図中にはカメラ112、組立対象物23、作業台21が示されている。領域231は、作業台の一部領域であり、組立対象物23が作業台に設置されているときに、カメラ112からは死角となる領域である。以下、この領域231を対象物背景と称する場合がある。
図3(b)は、対象物が移動したときのフレーム画像の説明図である。図3(a)で死角となっていた領域231は、組立対象物23が移動したことでカメラ112によって撮影可能となっている。
図3(c)は、作業者の手232によって組立対象物23の一部がカメラ112から隠されている状態のフレーム画像の説明図である。
図3(a)の状態では、フレーム画像では対象物テンプレートと高い類似度が出力され、組立対象物23が存在することが示される。しかし、図3(b)、図3(c)では、ともに対象物のテンプレートとフレーム画像類似度が低下し、対象物テンプレートとの類似度だけでは両者は区別がつかない。
そこで、組立体象物23に対する対象物テンプレートと対象物背景1203に対する対象物背景テンプレートとをそれぞれ用意し、分析部502でのフレーム画像との判定に併用する。これにより、図3(b)の対象物が移動した状態でのフレーム画像は、対象物テンプレートに対する類似度が低下し、対象物背景テンプレートに対する類似度が高くなる。
図3(c)の対象物が手で隠された場合は、フレーム画像は、対象物テンプレートに対する類似度が低下する一方で、対象物背景テンプレートに対する類似度は低いままとなる。これにより、対象物の移動した場合と、作業者の手などにより対象物が隠された場合とを高精度に区別することができる。
さらに、手検知処理で検知された手領域と、組立対象物23との重なりを判定することで、より高精度の移動判定が可能となる。
[フェーズ判定処理]
フェーズ判定処理では、分析部502は、物体の位置や移動の検知を行い、また、後述する作業者の手領域の判定を行うことで、実行された動作が作業0および作業1におけるどの動作であるのかを識別する。また、フェーズ判定処理では、作業を識別した後に作業分析を行うことで、識別された各動作が正しい順番で行われたか否かを判定する。
作業0、作業1における各動作が正しい順番で行われたか否かを判定する場合、一連の長い動作列を一度に処理すると、多数のノイズが発生して作業実施判定の精度が低下するおそれがある。例えば、作業0、作業1、作業2、作業3の順で作業を行う場合、作業者の手が誤って同じ動作領域に複数回移動してしまうことなどがある。この場合、例えば作業0、作業1、作業1、作業2、作業3、作業3、作業3、作業4の順で作業が行われたと検出される場合がある。この場合において、作業1、作業3で重複して複数回検出されている作業が「ノイズ」に相当する。
第1実施形態では、物体の移動検知に基づいて動作列を複数の部分に分割することでノイズを抑制する。この作業実施判定が行われる、分解された動作列をフェーズと記載する。
フェーズ判定では、物体の位置や移動の検知の結果から、処理対象のフレーム画像がどのフェーズに属するかを判定する。具体的には、分析部502は、フレーム画像を分析し、特定のイベントが発生したことを検知して、動作列を複数のフェーズに分割する。第1実施形態では、「対象物を裏返す」という予備動作の発生を検知して動作列をフェーズ0(作業0に対応)、フェーズ1(作業1に対応)に分割する。従って、対象物を裏返すという動作を検知することで、分割イベントを検知している。なお、分割イベントが複数存在する場合もあり、この場合には、分割イベントごとに動作列を分割するようにする。
フェーズ0では対象物は裏返されていないので、「対象物裏」はフレーム画像には現れない。従って、テンプレートして「対象物裏」を用いる場合、フレーム画像と対象物裏のテンプレートとの類似度が閾値以下であって、「対象物裏」の状態が現れていないと判定されている場合、分析部502は、現在の作業はフェーズ0に属すると判定する。対象物裏のテンプレートとの類似度が閾値以上で、「対象物裏」の状態が現れたと判定された場合、分析部502は現在の作業はフェーズ1に属すると判定する。
作業0:シール貼付
動作0:シール取得 …動作領域0 …フェーズ0
動作1:シール右端貼付 …動作領域1 …フェーズ0
動作2:シール左端貼付 …動作領域2 …フェーズ0
動作3:シール裏紙破棄 …動作領域3 …フェーズ0
予備動作:
対象物裏返し …動作列の分割イベント
作業1:ビス締め
動作0:ドライバ取得 …動作領域4 …フェーズ1
動作1:ビス取得 …動作領域5 …フェーズ1
動作2:ビス締め …動作領域6 …フェーズ1
動作3:ドライバ戻し …動作領域4 …フェーズ1
なお、上記の作業および動作は例示的なものであり、これに限られるものではない。
例えば、テンプレートとして「対象物表」をも用いる場合には、「対象物表」との類似が高く「対象物裏」との類似度が低い場合にはフェーズ0、「対象物表」との類似が低く「対象物裏」との類似度が高い場合にはフェーズ2と判定するようにしてもよい。このように「対象物表」、「対象物裏」という2種類のテンプレートを併用することで、移動判定の精度向上を図り、誤検知を減少させて作業実施判定の精度を向上させることも可能である。
[動作検知処理]
動作検知処理では、動作領域1〜6のそれぞれについて、検知された手領域が各動作領域と重複しているか否かを後述する動作判定部で判定する。この判定は、手領域と動作領域との重なりを判定する。重なりがあれば、作業者の手がその動作領域に移動してその領域に対応する動作を行っていると判定し、その動作領域を出力する。
作業者の手が動作領域にない場合、その動作領域での作業はなされていない蓋然性が高い。従って、上記のような領域の重なりがない動作領域では、対応する動作は行われていないと判定する。
また、動作検知処理において判定対象となる動作領域は、上述したフェーズ判定によって判定されたフェーズに属している動作領域に制限される。つまり、判定されたフェーズに属していない動作領域で検知された動作は、検知動作列から除かれる。
したがって、検知された手領域が判定されたフェーズに属していない動作領域と重なっても、動作検知の判定対象とはならないので、動作の誤検出によるノイズの発生が抑えられる。
[シーケンスマッチング処理]
第1実施形態では、作業中に手領域と重なったと検知された動作領域のラベルを時系列順に並べた列を検知動作列とする。検知動作列は分析部502により生成される。従って、分析部502は、検知動作列生成手段として動作する。例として、手領域が動作領域1、動作領域2、動作領域4、動作領域3、動作領域4の順に動作領域と重なった場合、検知動作列は1、2、4、3、4となる。また、作業標準書で記載されている動作の順序に基づいて動作領域のラベルを並べた列を定義動作列とする。
次に、検知動作列が定義動作列と同一であるか否かを判定する。検知動作列において、動作領域のラベルが定義動作列のとおり並んでいると判定されれば、組立作業が成功したと判定される。その他の場合は組立作業が正しく行われなかったと判定する。
この判定において、第1実施形態では、シーケンスマッチングを用いる。シーケンスマッチングとは、2つの時系列データを比較し、両者が一致していなくても、動作列を構成するラベルの発生順序が類似していれば2つの動作列は同一であるとみなす、あいまい性を有するマッチング手法のことである。
ある動作から次の動作に移る間など、本来動作が行われない期間に作業者の手が動作領域に入る場合が生じ得る。つまり、組立作業を指定された順に行っていても、検知動作列が定義動作列に一致しない場合がある。このような場合であっても正しく判定を行うために、シーケンスマッチングが導入される。
第1実施形態においては、シーケンスマッチングとして、DPマッチングと呼ばれる手法を用いた。DPマッチングは、2つのデータ列同士の類似度を測定する手法であり、第1実施形態では定義動作列と検知動作列との類似度を測定する。そのために、定義動作列と検知動作列とをマッチングさせるためのコストを定義し、そのコストが最も小さくなるように、定義動作列のラベルと検知動作列のラベルとを関連付ける。
その過程で、DPマッチングでは、組立作業を指定された順に行っているときに意図せずに手領域が作業領域に重なったことで生じたラベルをノイズとみなして処理をすることで、シーケンスマッチングとして用いることができる。
具体的な事例を参照したマッチング方法の概略を図4(a)に示す。図示の例では、上述した作業標準書に基づいた定義動作列として「1、2、3、4」を、作業中に検知された検知動作列として「1、2、4、3、4」を用いる。検知動作列において最初に現れるラベルである「4」は、作業者が意図せずに手を作業領域に動かしてしまったことに起因するノイズである。
図示の例において、左下から右上に向かってラベルの関連付けを行うものとして、各セルには左下から、該当のセルを共有する定義動作列,検知動作列の各時系列のラベルを関連付けるまでの最低コストを記す。
また、各セルの最低コストの算出には、最低コストを算出済みの下,左下,左の3つのセルから算出し、これを繰り返すという簡易な演算で左下から右上までを関連付けていく上での最低コストを導出する。
なお、この例では、セルは右のセル、上のセル、または斜め右上のセルに関連付けられるものとし、右のセルまたは上のセルに関連付けるときのコストを1、斜め右上のセルに関連付けるときのコストを2とした。ただし、各セルにおいて、検知動作列の数字と定義動作列の数値とが異なる場合には、そのセルへの移動コストは10倍になるものとした。
また、各セルのコストは一番左下のセルを起点として計算する。図4(a)においては、C1で示すセルを起点とする。セルC2は、検知動作列の数字と定義動作列の数値とが等しいのでコストは2である。セルC2からは、その上のセルC3、その右のセルC4、その右斜め上のセルC5へとそれぞれ関連付けが可能である。
セルC3、C4は、いずれも検知動作列の数字と定義動作列の数値とが異なるので、セルC2から上および右への移動コストは10倍されて10になる。また、セルC3、C4には、移動元のセルであるC2のセル自体におけるコストも加算される。従って、C3、C4のセルのコストは、いずれも(2+10)=12となる。他の移動経路を採用した場合、コストの値は更に高くなることから、セルC3、C4の最低コストは12となる。
一方、C5のセルは、検知動作列の数字と定義動作列の数値とが等しいので、移動コストが10倍になることはない。従って、セルC2からセルC5への斜め右の移動コストは2であり、セルC2自体のコストである2を加算することで、セルC5のコストは4となる。他の経路を採用した場合、セルC5のコストは更に高くなるので、セルC5の最低コストは4となる。
同様にして、セルC6の最低コストは、セルC5のコストの4に右移動のコストの10倍である10を加算して14となる。セルC7の最低コストは、セルC6のコストである14に右斜め移動のコスト2を加算して16となる。
また、あるセルに対する移動元のセルは、左のセル、下のセル、または左下のセルという3つのセルのいずれかとなる。これら3つのセルのうちいずれのセルを採用したかを記録しておく。従って、最終的な右上の最低コストの導出では、どのような経路を通ったかを導くことができる。
図4(a)の例においてDPマッチングを実行して各セルについて最低コストを計算した結果を図4(b)に示す。図中において、灰色の背景で示される経路が最低コストを実現した経路となる。各セルの最低コストから求められた関連付けの結果を図4(c)に示す。図示されるように、ノイズの”4”は定義動作列の”4”ではなく、”2”に付随したノイズとして関連付けられている。
なお、DPマッチングは周知の手法であり、移動コスト等は他の値を用いることもできる。第1実施形態では簡易に実現可能であるDPマッチングを採用したが、その他のマッチング方法を用いてシーケンスマッチングを行うことも可能である。
しかし、DPマッチングのようなシーケンスマッチングを行う場合、ノイズではないラベル(正ラベル)を正しく関連付けることができない場合がある。図5(a)、(b)を用いて具体的に説明する。
図5(a)にこの例における定義動作列と検知動作列の説明図を示し、図5(b)に両者のマッチングによる関連付け結果の説明図を示す。検知動作列においては、「334333」というラベル列が含まれる。最初の2つのラベル「3」は正ラベル、次の「4」も正ラベルであり、その後ノイズのラベルである「3」が3つ続いている。この場合、DPマッチングにおいては、検知動作列における正ラベル「4」を、定義動作列のラベル「4」に正しく関連付けると、3つの連続したノイズ「3」を定義動作列の「4」もしくは「5」に関連付ける必要がある。
しかし、DPマッチングにおいてはこのような関連付けには大きなコストが発生するので、3つのノイズ「3」は、検知動作列における正ラベルの「3」、「4」とセットにされた上で、定義動作列のラベル「3」に関連付けられる。その結果として、正ラベル「4」はマッチングできずに正しく関連付けられなくなり、精度が低くなる。
図5(b)の例では、実際にはラベル「4」に相当する動作が実施されているにも関わらず、DPマッチングでは、検知動作列における「4」が定義動作列の「4」に関連付けられないので、「非実施」であると判定されてしまう。
[適用システム例]
情報処理装置100を用いて作業分析を実行する場合、作業者28は、入力デバイス109を通じて作業分析開始および終了の指示を行う。また、作業者28は、事前に作業に必要な動作を行う動作領域の設定と、作業の順序として動作領域の順序を設定する。
図1(b)を参照すると、制御部500は、入力デバイス109により作業分析開始が指示されると、ROM102あるいは外部記憶装置104から、分析対象とする工程の定義をRAM103にロードする。工程の定義とは、工程の最初から最後までの動作の順序を定義したものであり、工程の作業内容を示した作業標準書、もしくは動作の順序などを所定のフォーマットに書き出したファイル(作業情報)が用いられる。
図6(a)に、第1実施形態における所定のフォーマットとして、作業番号、動作番号、および動作が発生する領域の番号である動作領域番号が記載されたテーブルの説明図を示す。作業標準書が入力される場合には、作業標準書から図6(a)に示した情報を取得する。
制御部500は、入力された作業標準書からその情報を取得してRAM103または外部記憶装置104に記憶させる。また、制御部500は、作業分析が開始されると、カメラ112を通じて作業映像取得を開始して、撮影したフレーム画像のデータをいったんRAM103へ格納する。制御部500は、RAM103に格納されたフレーム画像に各種映像処理を加えて保存用のファイル(Motion JPEG, H.264など)を生成してRAM103または外部記憶装置104に保存する。
映像処理部503は、制御部500により制御され、RAM103または外部記憶装置104に格納されたフレーム毎の画像に各種映像処理を加えて保存用のファイル(Motion JPEG, H.264等)を生成する。生成されたファイルはRAM103または外部記憶装置104に保存される。
分析部502は、制御部500により制御され、RAM103または外部記憶装置104記憶されたフレーム画像のデータを読出して、1サイクルの全フレームに対して動作の検知を行い、全動作検知の結果を用いて作業分析を行う。なお「サイクル」とは、工程の定義に記載された1回分の組立作業であり、組立作業を1サイクル行うと1つの組立対象物が完成する。
制御部500は、分析部502による分析結果を出力部505によりディスプレイ59に出力させる。組立作業に問題がなかった場合、出力部505から何も出力されず、問題があった場合(例えば行われなかった動作があった場合)、出力部505はその旨を出力する。具体的には、サイクルの組立作業開始時刻、終了時刻と併せて、行われなかった動作名を出力する。分析結果の出力は、ディスプレイ59への表示だけではなく、警告音を鳴らす、監督者が所持する携帯端末のディスプレイに表示する、といった方法であってもよい。ユーザは、ディスプレイ59に出力された分析結果により、工程定義に沿って組立作業が行われなかった組立対象物の完成品を特定し、組立作業のやり直し指示等を行う。
図6(a)の例において、情報処理装置100が動作検知を行った結果を図6(b)に示す。この例では、動作番号0〜7において、いずれも動作検知結果が「TRUE」となっており、動作が正常に行われたと判定されたことが示される。
情報処理装置100での分析結果は出力デバイス106に出力される。出力方法は任意であるが、第1実施形態では、組立作業に問題がなかったときには何も出力せず、問題があった場合、即ち、実施されなかった動作があったと判定された場合に、その旨を出力するものとする。
具体的には、サイクルの組立作業開始時刻,終了時刻とあわせて、実施されなかった動作番号または動作名を出力する。結果の出力は出力デバイス106への表示だけではなく、警告音を鳴らす、監督者が所持する端末のディスプレイに表示する。または、作業者の有する携帯端末等にメールを送信するようにしてもよい。
図6(b)の例では、動作番号0〜7においていずれも組立作業に問題がなかったと判定されているので、出力は行われない。
作業者28は、出力デバイス106に出力された分析結果を見て、工程定義に沿って作業が行われなかった対象物を特定し、作業のやり直し指示などを行う。
[処理フロー]
第1実施形態では、情報処理装置100が実行する処理の概要を図7のフローチャートに基づいて説明する。各処理は、ROM102やコンピュータ読取可能な記憶媒体に格納されたプログラムをCPU101が実行することにより機能する。
分析部502は、外部記憶装置104またはRAM103から、格納されている工程定義の情報を取得し(S701)、かつ、カメラ112を通じて作業場の映像を取得して(S702)作業分析を行う(S703)。その後、分析部502は、作業者あるいは監督者から分析処理中止が指示されたかを判定する(S704)。分析処理中止が指示された場合(S704:Y)、分析部502は分析処理を終了する。分析処理中止が指示されていなければ(S704:N)分析部502は再度S703を実行する。
S703で分析部502が実行する1サイクルの分析処理の詳細を表すフローチャートを図8に示す。また、1サイクルの分析処理で参照されるテンプレート管理テーブルを図9に示す。
図9のテンプレート管理テーブルにおいては、フェーズ番号、テンプレート、検知条件、閾値、探索範囲および検知フレーム数のそれぞれの項目についてその内容が示されている。フェーズ番号は、実行された動作列を物体の移動検知に基づいて分割したフェーズのそれぞれに割り当てられた番号である。上述したように、フェーズ0では、作業0の動作0〜4が実行される。テンプレートの内容には、フェーズごとにテンプレートとして指定される物体が記載される。図9の例では、フェーズ0では対象物、フェーズ1では対象物裏、フェーズ−1では作業台が記載されている。なお、フェーズ−1とは、作業を開始する前の状態であり、対象物は作業台に配置されていない状態であることから、テンプレートとしては作業台が記載されている。
検知条件としてはGT(閾値以上)やLT(閾値以下)を用いる。また、第1実施形態では、画像とテンプレートとの類似度を求め、その類似度が閾値以上の値である場合に、フレーム画像内の画像がテンプレートであると判定する。画像とテンプレートとがすべて一致した場合には類似度が1となる。図9においては、その類似度の閾値が示されており、フェーズ0〜−1のいずれにおいても0.8に設定されている。探索範囲は、フレーム画像における領域を表すものである。この領域は矩形領域とし、その左下の頂点座標であるx1,y1と、その右上の頂点座標であるx2,y2により矩形領域を特定している。探索範囲は任意に設定でき、撮像した画像フレームの全体としてもよく、あるいは、撮像した画像フレームにおいて作業場を含む一部を探索範囲としてもよい。また、検知フレーム数は、条件を満たす検知フレーム数であり、第1実施形態ではどのフェーズにおいても2フレームとしている。
図8を参照すると、分析処理が開始されると、分析部502は、カメラ112で撮像された映像のフレーム画像を1枚取得するフレーム画像取得処理を実行する(S801)。その後、分析部502は、フレーム画像から対象となる物体あるいはオブジェクトを検知してその位置を出力する物体検知処理を実行する(S802)。図3のフレーム画像の例を用いて説明すると、分析部502は、分析処理開始後のフェーズは0であることから、図9のテンプレート管理テーブルから「対象物」のテンプレートを使用して23の対象物の位置を出力する。
その後、分析部502は、S802で出力された位置を基準として、その対象物が静止したか否かの判定を行う(S803)。具体的には、前フレーム画像での対象物の位置と現フレーム画像での対象物の位置とが同じであれば静止していると判定する。分析部502は、静止していないと判定された場合(S803:N)、再度S802を実行し、静止したと判定された場合(S803:Y)、フレーム画像から手の検知を行う(S804)。S804での手の検知は公知の任意の手法で行うことができる。
次に、分析部502は、フレーム画像から指定されたテンプレートでテンプレートマッチングを行って物体の位置を検知して(S805)テンプレートとの類似度を出力する。
分析部502は、S802〜S805における対象物および/または手の移動検知の結果およびテンプレートマッチングの結果からフェーズ判定処理を行う(S806)。第1実施形態では、フェーズ0とフェーズ1との分割イベントは「対象物裏」の検知であり、分析部502は、「対象物裏」が検知されるまではフェーズ0、検知されると「フェーズ1」であると判定する。
具体的には、分析部502は、図9のテンプレート管理テーブルから次のフェーズであるフェーズ1のテンプレートである「対象物裏」を使用して、対象物の動きから作業0と作業1の間の予備動作である「対象物を裏返す」動作のタイミングを検知する。
つまり、「対象物裏」テンプレートとの類似度がテンプレート管理テーブルの閾値と検知条件である0.8以上であれば作業0(フェーズ0)が終了しており、作業1(フェーズ1)に入ったと判定する。
その後、分析部502は、検知した手領域が動作領域に入っているかを検知してその動作領域のラベルを記録する動作検知処理を行う(S807)。具体的には、S806のフェーズ判定処理の結果がフェーズ0である場合は、分析部502は、動作領域0、動作領域1、動作領域2、動作領域3の4つの領域で動作検知を行う。このように、フェーズ0では動作領域4〜6では動作が行われないことから、動作検知を行う動作領域を動作領域0〜3に制限する。
一方、S806のフェーズ判定処理の結果がフェーズ1である場合、分析部502は、動作領域4〜6の3つの領域で動作検知を行う。いずれの場合でも、分析部502は、動作検知した領域の検知動作列生成を行う。
図10(a)に、比較例として全動作領域を対象として動作領域の検知を行った場合の検知動作列Aを示す。この場合、分割点による分割を行っていない検知動作列Aは、0、1、2、2、3、3、4、3、3、3、5、4、2、6、4となる。
図10(b)に、第1実施形態による、分割点で検知動作列を分割して生成された検知動作列Bを示す。第1実施形態では、検知動作列Bでフェーズ0と判定されている場合には動作領域0、1、2、3の4つの領域のみを対象として検知動作列が生成される。また、フェーズ1と判定されている場合には、動作領域4、5、6の3つの領域のみを対象として検知動作列Bが生成される。
従って、図10(b)に示すように、検知動作列Bでは、フェーズ0での部分の動作列は0、1、2、2、3、3となる。この部分は、図9(a)の比較例のフェーズ0の部分と同一である。
しかし、フェーズ1では、動作領域2、3によるノイズが削除されるので、検知動作列Bの部分の動作列は4、5、4、6、4となり、図9(a)の比較例よりもノイズが劇的に減少していることが示される。
分析部502は、その後、サイクル終了か否かを判定し(S808)、終了でなければ(S808:N)、S801を再度実行してフレーム画像を取得する。具体的には、図9のテンプレート管理テーブルから「作業台」テンプレートを使用して、検知条件を判定する。つまり、対象物に対する作業が終わり、対象物が作業台から移動されたことを判定する。
サイクル終了と判定された場合(S808:Y)、分析部502は、検知動作列に対してシーケンスマッチング処理を行い(S809)、その結果から作業実施判定を行う。
具体的には、S806では「対象物裏」のテンプレートを利用して分割を行うことでフェーズ判定がなされており、その結果から検知動作列を作業0、作業1に分割し、作業0、作業1のそれぞれの定義動作列ごとにDPマッチングを行う。
DPマッチング結果を図10(c)に示す。このようにDPマッチングが行われたことで、図6(b)に示すように、全ての作業および動作において動作検知結果が「TRUE」となり、全作業が正常に行われたと判定される。
なお、シーケンスマッチングを行うタイミングは、サイクル終了を待たず、各フェーズの終了時に、終了したフェーズについて逐次シーケンスマッチングを行うことも可能である。この場合、分割点に対応するイベントを検知することはフェーズの終了を検知することでもある。従って、分析部502は、イベントを検知するごとに、イベントの検知前に生成されて終了したと判定される検知動作列と、定義動作列と、のシーケンスマッチングを行う。このシーケンスマッチングは、好ましくはフェーズごとに行われ、検知動作列のフェーズと、定義動作列の対応する部分とについてシーケンスマッチングを行う。
このようにフェーズ終了時にシーケンスマッチングを実行する場合、作業実施判定を逐次出力することが可能となり、作業が実施されていないことをより早く検知して作業者に通知することが可能となる。
その後、分析部502は、分析結果を出力する(S810)。この出力では、動作検知結果を出力する。出力手法は特に限定されず、モニタ110に表示を行う、または作業者あるいは作業の監督者にメールを送信するなど任意の手法を用いることができる。
具体的な例としては、作業の監督者に「10時23分29秒開始の作業1が実行されませんでした。」のようなメッセージとリンクがメールとして送られる。ここでいうリンクとは、外部記憶装置104に保存された該当サイクルの開始画像ファイルと終了画像ファイルへのリンクであるが、リンクの内容はこれに限定されるものではない。例えば、リンクは、「非実施」の前後作業の開始終了や該当サイクルのリストファイルなどへのリンクでもよい。あるいは、該当する画像ファイルを張り付けることも可能である。
第1実施形態によれば、対象物の移動と手の動きとを組み合わせて、検知動作列を分割した上でシーケンスマッチングすることで、作業が正常に行われたか否かの判定精度が向上する。
その理由としては、検知動作列を分割することで動作列が短くなることが挙げられる。特に、図10(b)、(c)の例のように、分割された検知動作列で検知対象となる動作領域数が減少する場合には、ノイズが減少することにより判定精度が一層向上する。
[第2実施形態]
第2実施形態では、情報処理装置100のハードウェア構成は第1実施形態と同様であり、分析部502が実行する分析処理に関しては、第1実施形態とは一部異なるものとなっている。
第2実施形態で分析部502が実行する分析処理のフローチャート図11に示す。図11において、S801〜S808およびS810は、図8に示される分析処理のフローチャートと同一である。
分析部502は、S808を実行した後に、フェーズ判定による分割点を採用した検知動作列と採用しない検知動作列とを組み合わせた候補群を生成してシーケンスマッチングを行う(S1109)。
その後、分析部502は、全ての候補群に対してシーケンスマッチングを行ってスコアを決定し(S1110)、最適解決定処理を実行する(S1011)。
以下、S1109以降の処理を詳細に説明する。分析部502は、S806で生成される分割点により分割された検知動作列に加えて、分割点による分割を行わない検知動作列を生成する。なお、分割点が複数あるときには、少なくとも1つの分割点について分割を行わない検知動作列を生成する。第2実施形態では、各分割点について分割を行うか行わないかを選択することで生成されるすべての分割パターンについて検知動作列を生成した。
図12に、2つの分割点を有する検知動作列について、分割点ごとに分割を行うか行わないかを選択することで検知動作列を生成する処理の説明図を示す。この例では、作業0と作業1との間に対象物の移動による分割点が存在する。また、作業1と作業2の間にも、対象物の移動による分割点の候補がある。
分析部502は、分割点での分割を行っていない検知動作列を検知動作列Aを生成する。分析部502は、S806で、すべての分割点で分割を行った検知動作列を生成して検知動作列Bとし、更に検知動作列C、検知動作列Dを生成する。
検知動作列Cは、作業1と作業2の間の分割点でのみ分割を行って得られる検知動作列であり、検知動作列Dは、作業2と作業3の間の分割点でのみ分割を行って得られる検知動作列である。以下、これらの検知動作列A〜Dを候補動作列と記載する場合がある。分割点が2個の場合、2×2=4種類の候補動作列が生成される。同様に、分割点が3、4...n個である場合、候補動作列は、それぞれ2=8、2=...2個生成される。
S1110では、分析部502は、候補動作列であるすべての検知動作列A〜Dに対して、定義動作列とのシーケンスマッチングを行って評価を行う。第2実施形態では、以下のように各検知動作列A〜Dに対してスコアを求めることで評価を行った。
図12に示される例では、検知動作列A〜Dのそれぞれについて、分割された部分ごとに、以下に示す式を用いて定義動作列の対応する部分に対するスコアを求める。例えば、検知動作列Bはすべての分割点で分割されており、定義列の作業0に対応する部分と検知動作列Bの作業0に対応する部分を比較する。同様に、定義列の作業1に対応する部分と検知動作列Bの作業1に対応する部分、および定義列の作業2に対応する部分と検知動作列Bの作業2に対応する部分同士を比較する。なお、定義動作列と分割された検知動作列との比較の手法はこの例に限定されるものではない。
その後、各部分について求められたスコアの総和をマッチングスコアとする。
スコア=OD×SM×WN×α
ここで、ODは物体の確信度のスコアであり、動作列の分割点前後の区切となる物体の移動に対応するテンプレートマッチングの類似度を表す。例えば、作業0と作業1との間の分割点において区切となる物体の移動前に対応するテンプレートマッチングの値をOD1、物体の移動後に対応するテンプレートマッチングの類似度の値をOD2とする。分割点が複数ある場合には、それぞれの分割点ごとに類似度を求めてODの値を決定する。
SMは、区切られた動作列におけるシーケンスマッチングのコストであり、個々の区切られた動作列ごとに求められる。例えば、図12の検知動作列Bでは、検知動作列の作業0、作業1および作業2に対応する3つの部分ごとにそれぞれシーケンスマッチングのコストを求める。また、検知動作列Cでは、検知動作列の作業0および作業1に対応する部分と、作業2に対応する部分と、の2つの部分ごとにそれぞれシーケンスマッチングのコストを求める。また、WNは、区切られた定義動作列の動作数、αは補正のための定数である。
なお、検知動作列Aは分割されていないので、通常のDPマッチングを行ってシーケンスマッチングスコアを求め、その値をマッチングスコアとする。
第2実施形態でのスコアの特徴は、OD1,OD2(前後の物体の確信度スコア)が両方とも高く、SM(シーケンスマッチングのスコア)が高い場合に高くなる。特に、WN(分割された定義動作列:分割単位)が小さい方が、フェーズごとに判定対象となる動作領域数が制限されるので、ノイズが抑制される。その結果、SM(シーケンスマッチングのスコア)も高くなるので、物体の確信度のスコアが高い分割点は採用したほうが、全体スコアがより高くなるようになっている。
また、スコアの計算方法はこの例の手法に限定されるものではなく、このような特徴を有するスコア計算であれば、他の手法を用いることもできる。
最適解決定処理1011は、1010でスコア計算した候補の中から最も高いスコアの候補を最適解として決定して、作業実施判定を行う。
第2実施形態によれば、第1実施形態でのすべての分割点で分割を行うという分割パターンだけでなく、検知動作列のすべての分割パターンごとに、シーケンスマッチングスコアを求め、その値が最も高い分割パターンを選択している。このように複数の分割パターンから選択を行うことで、最適な分割パターンを用いたシーケンスマッチングを行うことが可能となり、動作検知精度および作業検知精度が向上する。
第1実施形態および第2実施形態を説明したが、本発明はその他の様々な形態で実施することができる。例えば、第1実施形態および第2実施形態では、工場での組立作業を対象として作業分析を行っている。しかし、本発明は、装置点検など、その実行順がマニュアルなどによって予め定められた作業に対して適用が可能である。
また、第1実施形態および第2実施形態では、作業対象物や組立対象物等における部品、道具等の物体、および作業者の手を検知対象とした。しかし、本発明は、装置本体、点検器具、コピー用紙や充填液等の消耗物の補充および回収等に適用することもできる。
装置本体や点検器具を検知対象とする場合、予め定められた順番で決められた位置にあるスイッチなどを押して機能の確認などを行う場合に、各スイッチおよび作業者の手を検知対象として作業分析を行うために本発明を適用することができる。決められた位置に予め定められた順番で消耗品の補充などを行うという作業に対しても、第1実施形態および第2実施形態と同様に作業分析を行うことが可能である。
更に、各実施形態では、物体の移動の検知と人間の手の検知とを組み合わせることで、誤検知が減少して作業実施判定の精度を向上されている。
以上本発明を例示的実施形態により説明した。しかし、本発明は、実施形態の1以上の機能を実現するプログラムを、ネットワーク等を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上述した実施形態の機能を実現するソフトウエアのプログラムコードをコンピュータ読取可能な記録媒体に記録することもできる。この記録媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによって本発明を実施することができる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現される。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。

Claims (14)

  1. 作業者による作業を撮影した映像を取得する映像取得手段と、
    前記取得された映像から、前記作業者の移動または物体の移動の少なくとも一方を検知する移動検知手段と、
    前記作業を構成する複数の動作の順序を定義するとともに少なくとも1つの分割点によって複数の部分に分割された定義動作列と、前記分割点に対応するとともに前記作業で発生するイベントである分割イベントを記憶する記憶手段と、
    前記移動検知手段での検知結果から前記動作を検知して、検知された複数の動作を並べた検知動作列を生成する検知動作列生成手段と、
    前記取得された映像から前記分割イベントを検知して、検知された分割イベントにより前記検知動作列を複数の部分に分割し、前記分割された前記定義動作列と前記分割された検知動作列とのマッチングを行って、前記作業が正しく行われたか否かを判定する分析手段と、を備えることを特徴とする、
    情報処理装置。
  2. 前記分析手段は、前記分割イベントを検知した場合に、前記定義動作列と前記分割イベントを検知するまでに生成された検知動作列とのマッチングを行うことを特徴とする、
    請求項1に記載の情報処理装置。
  3. 前記検知動作列生成手段は、前記検知された複数の動作を時系列順に並べて前記検知動作列を生成することを特徴とする、
    請求項1または2に記載の情報処理装置。
  4. 前記分析手段は、前記定義動作列と前記検知動作列とをそれぞれ分割された部分ごとに比較した結果から前記マッチングを行うことを特徴とする、
    請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記分析手段は、前記分割点および対応する前記分割イベントが複数存在する場合、前記定義動作列と、前記少なくとも1つの対応する分割イベントでの分割を行わないものとした動作列とのマッチングを行い、前記定義動作列と前記分割された検知動作列とのマッチングとの比較を行うことで、前記作業者による作業が正しいか否かを判定することを特徴とする、
    請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記映像取得手段は、前記作業者が作業を行う作業場と前記作業とを撮影した映像を取得し、
    前記移動検知手段は、前記作業者の身体の特定の一部の領域を更に検知し、
    前記検知動作列生成手段は、前記作業者の身体の特定の一部の領域と前記作業場の映像とを比較し、その比較結果から前記動作を検知することを特徴とする、
    請求項1から5のいずれか1項に記載の情報処理装置。
  7. 前記作業者の身体の特定の一部の領域は、前記作業者の手を含む領域であることを特徴とする、
    請求項6に記載の情報処理装置。
  8. 前記作業場は、それぞれが前記動作の少なくとも1つが行われる領域である複数の動作領域から構成され、前記検知動作列生成手段は、前記動作領域に前記身体の一部の領域が移動したか否かを判定して前記動作を検知することを特徴とする、
    請求項6または7に記載の情報処理装置。
  9. 前記分析手段は、前記検知された動作が、当該検知された動作が含まれる前記検知動作列の前記分割された部分に対応する前記定義動作列の前記分割された部分では実行されない動作である場合には、前記検知された動作を前記検知動作列から除いたうえで、前記マッチングを行うことを特徴とする、
    請求項8に記載の情報処理装置。
  10. 前記移動検知手段は、前記作業で用いられる物体の出現、移動、回転、変形または消失を検知することを特徴とする、請求項1〜9のいずれか1項に記載の情報処理装置。
  11. 前記移動検知手段は、前記物体のテンプレートと前記映像の背景のテンプレートとを用いて前記物体の移動を判定することを特徴とする、
    請求項1〜10のいずれか1項に記載の情報処理装置。
  12. 作業者による作業を撮影する撮像装置に接続される情報処理装置により実行される情報処理方法であって、
    前記撮像装置により撮像された映像から前記作業者の移動または物体の移動の少なくとも一方を検知し、その検知結果から、前記作業を構成する複数の動作を検知して、検知された複数の動作を並べた検知動作列を生成する生成工程と、
    前記作業を構成する複数の動作の順序を定義するとともに少なくとも1つの分割点によって複数の部分に分割された定義動作列と、前記分割点に対応するとともに前記作業の感に発生するイベントである分割イベントによって複数の部分に分割された検知動作列とのマッチングを行って、前記作業が正しく行われたか否かを判定する分析工程と、を備えることを特徴とする、
    情報処理方法。
  13. 作業者による作業を撮影する撮影装置に接続されるコンピュータを、
    作業者による作業を撮影した映像を取得する映像取得手段、
    前記取得された映像から、前記作業者の移動または物体の移動の少なくとも一方を検知する移動検知手段、
    前記作業を構成する複数の動作の順序を定義するとともに少なくとも1つの分割点によって複数の部分に分割された定義動作列と、前記分割点に対応するとともに前記作業の間に発生するイベントである分割イベントを記憶する記憶手段、
    前記移動検知手段での検知結果から前記動作を検知して、検知された複数の動作を並べた検知動作列を生成する検知動作列生成手段、および、
    前記取得された映像から前記分割イベントを検知して、検知された分割イベントにより前記検知動作列を複数の部分に分割し、前記分割された前記定義動作列と前記分割された検知動作列とのマッチングを行って、前記作業が正しく行われたか否かを判定する分析手段、
    として動作させるためのコンピュータプログラム。
  14. 請求項13に記載のコンピュータプログラムが記憶された、コンピュータにより読取可能な記憶媒体。
JP2017234401A 2017-12-06 2017-12-06 情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体 Pending JP2019101919A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017234401A JP2019101919A (ja) 2017-12-06 2017-12-06 情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017234401A JP2019101919A (ja) 2017-12-06 2017-12-06 情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体

Publications (1)

Publication Number Publication Date
JP2019101919A true JP2019101919A (ja) 2019-06-24

Family

ID=66977009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017234401A Pending JP2019101919A (ja) 2017-12-06 2017-12-06 情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体

Country Status (1)

Country Link
JP (1) JP2019101919A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020017131A (ja) * 2018-07-26 2020-01-30 株式会社日立製作所 作業異常検知支援装置、作業異常検知支援方法、および作業異常検知支援プログラム
JP2021010101A (ja) * 2019-07-01 2021-01-28 株式会社日立製作所 遠隔作業支援システム
WO2022091924A1 (ja) * 2020-10-29 2022-05-05 Necプラットフォームズ株式会社 支援システム、支援方法及び記憶媒体
JP2022075518A (ja) * 2020-11-05 2022-05-18 パワーアリーナ ホールディングス リミテッド 生産ライン監視方法および生産ライン監視システム
WO2023166605A1 (ja) * 2022-03-02 2023-09-07 日本電気株式会社 動作判定装置、動作判定方法、及び非一時的なコンピュータ可読媒体
JP7385826B2 (ja) 2019-11-08 2023-11-24 オムロン株式会社 動作分析装置、動作分析方法及び動作分析プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020017131A (ja) * 2018-07-26 2020-01-30 株式会社日立製作所 作業異常検知支援装置、作業異常検知支援方法、および作業異常検知支援プログラム
JP2021010101A (ja) * 2019-07-01 2021-01-28 株式会社日立製作所 遠隔作業支援システム
JP7372061B2 (ja) 2019-07-01 2023-10-31 株式会社日立製作所 遠隔作業支援システム
JP7385826B2 (ja) 2019-11-08 2023-11-24 オムロン株式会社 動作分析装置、動作分析方法及び動作分析プログラム
WO2022091924A1 (ja) * 2020-10-29 2022-05-05 Necプラットフォームズ株式会社 支援システム、支援方法及び記憶媒体
JP2022072116A (ja) * 2020-10-29 2022-05-17 Necプラットフォームズ株式会社 支援システム、支援方法及びプログラム
JP7157119B2 (ja) 2020-10-29 2022-10-19 Necプラットフォームズ株式会社 支援システム、支援方法及びプログラム
JP2022075518A (ja) * 2020-11-05 2022-05-18 パワーアリーナ ホールディングス リミテッド 生産ライン監視方法および生産ライン監視システム
JP7302769B2 (ja) 2020-11-05 2023-07-04 パワーアリーナ ホールディングス リミテッド 生産ライン監視方法および生産ライン監視システム
US11790538B2 (en) 2020-11-05 2023-10-17 Powerarena Holdings Limited Production line monitoring method and monitoring system thereof
WO2023166605A1 (ja) * 2022-03-02 2023-09-07 日本電気株式会社 動作判定装置、動作判定方法、及び非一時的なコンピュータ可読媒体

Similar Documents

Publication Publication Date Title
JP2019101919A (ja) 情報処理装置、情報処理方法、コンピュータプログラムおよび記憶媒体
JP4792824B2 (ja) 動作分析装置
CN110651298A (zh) 距离图像处理装置、距离图像处理系统、距离图像处理方法以及距离图像处理程序
JP2019193019A (ja) 作業分析装置、作業分析方法
JP2007034525A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2020039882A1 (ja) 判別装置及び機械学習方法
US20230237777A1 (en) Information processing apparatus, learning apparatus, image recognition apparatus, information processing method, learning method, image recognition method, and non-transitory-computer-readable storage medium
JP2018067294A (ja) 学習データ作成支援方法、学習データ作成支援装置、およびプログラム
JP4470434B2 (ja) 動作識別装置、及び対象物の姿勢識別装置
JP5186656B2 (ja) 動作評価装置および動作評価方法
WO2020246082A1 (ja) 作業監視装置、及び作業監視方法
US11989928B2 (en) Image processing system
JP6786015B1 (ja) 動作分析システムおよび動作分析プログラム
JP2010146522A (ja) 顔画像追跡装置及び顔画像追跡方法並びにプログラム
JP2021144359A (ja) 学習装置、推定装置、学習方法、及びプログラム
CN113632077A (zh) 识别信息赋予装置、识别信息赋予方法以及程序
JP2007048232A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2019053527A (ja) 組立作業分析装置、組立作業分析方法、コンピュータプログラム、及び記憶媒体
JP2012141884A (ja) 評価支援装置および評価支援システム
US20170069138A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
JP6350331B2 (ja) 追尾装置、追尾方法及び追尾プログラム
JP2005228274A (ja) 画像解析装置、および画像解析方法、並びにコンピュータ・プログラム
JP7462857B1 (ja) 動作分析装置、動作分析方法、動作分析プログラムおよび動作分析システム
JP7209653B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7464263B2 (ja) 検出装置、検出方法及びプログラム