以下、図面を参照しつつ実施形態について説明する。同一の要素には同一の符号を付し、重複する説明は適宜省略する。
図1は、実施形態に係る情報処理システムの概略構成の例を示す図である。情報処理システム100は、ユーザUによって操作されている機器1の操作ログを生成する。さまざまな機器1が存在しうる。機器1の例は、プラント等に設けられた流量計、圧力計、温度計等であり、その場合のユーザUは、プラントのオペレータ(現場作業員等)であってよい。図1には、ユーザUが機器1の表示画面1aを見ながら機器1を手動操作している様子が示される。表示画面1aはタッチパネルであってよく、その場合、ユーザUは、表示画面1aに触れることにより機器1を操作する。機器1は、操作ログの生成、保存及び出力等を備えていなくてもよい。
情報処理システム100は、撮像デバイス2と、情報処理装置3とを含む。撮像デバイス2及び情報処理装置3は、互いに通信可能に構成される。この例では、撮像デバイス2と、情報処理装置3とは、ネットワークNを介して接続される。ネットワークNの例は、インターネット、WAN、LAN等である。
撮像デバイス2は、撮像機能を有する装置である。撮像デバイス2の例は、カメラ等を備えるスマートフォン、タブレット端末、ラップトップ、PC等である。撮像デバイス2について、図2も参照して説明する。
図2は、撮像デバイスの概略構成の例を示す図である。撮像デバイス2は、撮像部21と、表示部22と、処理部23と、記憶部24と、通信部25と、操作部26とを含む。
撮像部21の撮像画像を、撮像画像21aと称する。撮像画像21aは、機器1を撮像した画像であり、例えば、機器1の機種を特定するための画像、機器1の個体を特定するための画像、機器1の操作内容を特定するための画像等である。詳細は後述する。
本開示において、「画像」及び「撮影」は、「映像」及び「撮影」を含む意味であってよい。以降の説明において、「画像」及び「撮像」は、矛盾のない範囲において「映像」及び「撮影」に適宜読み替えられてよい。画像は、写真、スクリーンショット、スキャン画像、映像フレーム、またはコンテンツオーサリングアプリケーションによって作成される画像であってもよい。
図3は、撮像画像の例を示す図である。例示される撮像画像21aは、機器1の操作内容を特定するための画像(例えば映像中の1フレーム)である。ユーザUによって操作されている機器1が示される。なお、撮像画像21aには、撮像時刻の情報も含まれてよい。
図2に戻り、表示部22は、さまざまな情報を表示する。例えば、表示部22は、撮像部21の撮像画像をリアルタイムで表示する。また、表示部22は、ユーザ操作に供することのできる情報を表示したり、生成された機器1の操作ログ(後述)を表示したりもする。
処理部23は、機器1の操作ログの生成に関するさまざまな処理を実行する。とくに説明がある場合を除き、本開示で説明される撮像デバイス2の動作は、処理部23が撮像デバイス2の各要素を制御することによって(撮像デバイス2の全体制御を行うことによって)行われる。
記憶部24は、撮像デバイス2において実行される処理に必要なさまざまな情報を記憶する。記憶部24に記憶される情報として、撮像画像21a及びプログラム24aが例示される。撮像画像21aについては上述のとおりである。プログラム24aは、コンピュータに、撮像デバイス2の処理を実行させるプログラムである。例えば、プログラム24aによって、機器1の操作ログ生成に関するアプリケーションが実行される。
通信部25は、情報処理装置3と通信する。撮像デバイス2と情報処理装置3と間で情報の送受信が可能になる。例えば、通信部25は、撮像画像21aを情報処理装置3に送信する。撮像画像21aは、撮像部21によって撮像されるとともにリアルタイムで情報処理装置3に送信されてもよいし、任意のタイミングで記憶部24から取り出されて情報処理装置3に送信されてもよい。通信部25は、先に述べたユーザ情報等も、情報処理装置3に送信する。
撮像画像21aの情報処理装置3への送信についてさらに述べる。撮像部21の撮像画像21aのうちの、一部の画像だけが、情報処理装置3に送信されてよい。例えば、処理部23は、撮像画像21aのうち、機器1の機種の特定、個体の特定及び操作内容の特定に必要な部分(フレーム等)の画像だけを抽出する(動画の切り出し等を行う)。操作内容の特定に必要な画像を例に挙げて説明すると、例えば、処理部23は、操作の前後に該当する機器1の表示画面1aの変化を示す画像だけを抽出してよい。処理部23は、指、タッチペン等が写っている画像だけを抽出してもよい。抽出は、公知の画像認識技術等を用いて自動的に行われてもよいし、ユーザ操作によって行われてもよい。通信部25は、抽出された画像を情報処理装置3に送信する。通信部25は、撮像画像21aの画面(映像画面)の変化量が一定以下であれば、情報処理装置3にしなくてもよい。その分、通信負荷が軽減される。
上述のような処理部23による画像抽出等の処理は、必須ではない。撮像部21のすべての撮像画像21aが自動的に情報処理装置3に送信されるようにすることで、画像抽出等の処理が不要になる分、処理部23の処理負担が軽減される。
操作部26は、ユーザUによる撮像デバイス2の操作(ユーザ操作)を処理する。上述の表示部22がタッチパネルディスプレイ等を含む場合には、操作部26の一部又は全部の機能が表示部22に組み入れられてもよい。
図1に戻り、情報処理装置3は、撮像デバイス2によって送信された撮像画像21aに基づいて、機器1の操作ログを生成する。情報処理装置3について、図4も参照して説明する。
図4は、情報処理装置の概略構成の例を示す図である。情報処理装置3は、処理部31と、通信部32と、記録部33と、データベース34と、記憶部35とを含む。
処理部31は、機器1の操作ログの生成に関するさまざまな処理を実行する。とくに説明がある場合を除き、本開示で説明される情報処理装置3の動作は、処理部31が情報処理装置3の各要素を制御することによって(情報処理装置3の全体制御を行うことによって)行われる。詳細は後述する。
通信部32は、撮像デバイス2の通信部25と通信する。情報処理装置3と撮像デバイス2との間で情報の送受信が可能になる。例えば、通信部32は、撮像デバイス2の通信部25によって送信された撮像画像21aを受信したり、処理部31によって生成された操作ログを撮像デバイス2の通信部25に送信したりする。
記録部33、データベース34及び記憶部35は、情報処理装置3において実行される処理に必要なさまざまな情報を記録、登録(保存)及び記憶等する。限定されるわけではないが、例えば、処理部31からみたときに、記録部33は、Read用の記録部であってよい。データベース34は、Read/Write用のデータベースであってよい。記憶部35は、Read用又はRead/Write用の記憶部であってよい。
記録部33に記録される情報として、機種特定用情報33a、個体特定用情報33b及び操作パターン情報33cが例示される。機種特定用情報33aは、撮像画像から機器1の機種を特定するために用いられる情報である。「機種」は、例えば機器1の型名、機器1のバージョン情報、製品ID等によって特定される。それらが完全に同一でなくとも、実質的に同じ操作及び動作が行われる機器1は、同じ機種として扱われてよい。
図5は、機種特定用情報の例を示す図である。例示される機種特定用情報33aは、「機種」と、「機種特定用画像」とが対応付けられた(紐付けられた)情報である。「機種」は、この例では「xxx」等として模式的に示される。「機種特定用画像」は、機器1の機種を特定することのできる画像である。図5には、機種特定用画像として、機器1のいくつかの外観画像が例示される。
図4に戻り、個体特定用情報33bは、撮像画像21aから機器1の個体情報を特定するために用いられる情報である。個体情報は、機器1を一意に特定することのできる情報であり、例えば製品番号(シリアル番号等)、タグ名等である。
図6は、個体特定用情報の例を示す図である。例示される個体特定用情報33bは、「機種」と、「個体情報」と、「個体特定用画像」とが対応付けられた情報である。「機種」は上述のとおりである。「個体情報」は、この例では、「xxx-001」等として模式的に示される。「個体特定用画像」は、機器1の個体情報を特定することのできる画像である。個体特定用画像は、その機器1に固有の特徴を示す画像であってよい。例えば、同じ機種の機器1どうしでも、互いに異なる外観形状を有しており、そのような部分を含む画像が、個体特定用画像として用いられる。異なる外観形状の例は、凹凸等である。
図4に戻り、操作パターン情報33cは、撮像画像21aから機器1の操作内容を特定するための情報である。操作パターン情報33cは、例えば機種ごとに準備される。
図7は、操作パターン情報の例を示す図である。例示される操作パターン情報33cは、「機種」と、「画像由来情報」と、「操作内容」とが対応付けられた情報である。「機種」は上述のとおりである。「画像由来情報」は、その機種の機器の画像から得ることのできる情報である。画像由来情報として、「操作箇所」及び「表示」が例示される。
「操作箇所」は、機器の操作箇所を示す。操作箇所の例は、押下等されるボタン、選択等されるアイコン等であり、図では、「ボタンA」及び「アイコンA」等として模式的に示される。なお、ボタンは、ハードウェアボタン(物理ボタン)及びソフトウェアボタンのいずれであってもよい。
「表示」は、機器の表示を示す。表示の例は、機器の表示画面に表示された文字列(数字等も含む)、表示画面に発生したタッチフィードバック(タッチパネルのボタン背景色のタッチ中の変化等)及び表示画面に発生した画面遷移等である。図においては、「文字列A」、「タッチフィードバックA」及び「画面遷移A」等として模式的に示される。画面遷移について、図8も参照して説明する。
図8は、画面遷移の例を示す図である。機器の表示画面は、メニュー画面1a-1、モニタ画面1a-2及び設定画面1a-3といったさまざまな画面の間を遷移する。画面遷移はユーザ操作に起因して発生するため、画面遷移に操作内容が対応付けられる。この例では、メニュー画面1a-1からモニタ画面1a-2への画面遷移に、「モニタ画面ボタン」の押下が対応付けられる。モニタ画面1a-2からメニュー画面1a-1への画面遷移に、「ホームボタン」の押下が対応付けられる。メニュー画面1a-1から設定画面1a-3への画面遷移に、「設定ボタン」の押下が対応付けられる。設定画面1a-3からメニュー画面1a-1への画面遷移に、「ホームボタン」の押下が対応付けられる。設定画面1a-3からモニタ画面1a-2への画面遷移に、「決定」または「キャンセル」の実行が対応付けられる。
なお、上述のメニュー画面1a-1、モニタ画面1a-2及び設定画面1a-3以外にも、さまざまな画面が存在していてよい。他の画面の例は、通信画面等である。
図7に戻り、「操作内容」は、機器1の操作の内容を示す。この例では、操作内容は、「y1」等として模式的に示される。操作内容は、1つの画像由来情報又は複数の画像由来情報の組み合わせに対応付けられる。例えば、或るボタン(ボタンA等)の押下に対して、或る操作内容(決定等)が対応付けられる。或る文字列(文字列A等)の表示と或るボタン(ボタンA等)の押下との組み合わせに対して、或る操作内容(文字列Aで表される処理の実行等)が対応付けられてもよい。例えば、機器の表示画面に表示されている文字列「設定保存」の上がタッチフィードバックの色に変化したことに対して、その設定を実行するという操作内容が対応付けられる。これらはほんの一部の例に過ぎず、さまざまな画像由来情報及び/又はそれらの組み合わせと、さまざまな操作内容とが対応付けられる。
上記以外にも、撮像画像21aから機器1の操作内容の特定に供することのできるさまざまな情報が、操作パターン情報33cに含まれる。例えば、画面操作を行うポインタ(指、タッチペン等)のパターンも、画像由来情報として操作パターン情報33cに含まれてよい。ユーザUのジェスチャ等も、画像由来情報として操作パターン情報33cに含まれてよい。機器1に設けられたロータリスイッチの回転、タッチパネルのドラッグ、タッチパネルのフリック等も、画像由来情報として操作パターン情報33cに含まれてよい。
図4に戻り、例えば以上で説明したような機種特定用情報33a、個体特定用情報33b及び操作パターン情報33cが、記録部33に記録されている。これらの情報は、例えば機器1の出荷前等の段階で取得され記録部33に記録される。
データベース34に記憶される情報として、操作ログ31aが例示される。操作ログ31aは、機器1の操作履歴を示す。操作ログ31aは、後述するように処理部31によって生成される。
図9は、操作ログの例を示す図である。例示される操作ログ31aは、「個体情報」と、「時刻」と、「操作内容」とを対応付けて記述する。「個体情報」及び「操作内容」は上述のとおりである。「時刻」は、操作時刻(日時等)を示し、この例では、「t1」等として模式的に示される。
なお、操作ログ31aにおいて、個体情報の記述は必須ではない。操作ログ31aは、個体情報を記述しなくてもよいし、或いは、個体情報に代えて機種を記述してもよい。
図4に戻り、データベース34には、情報処理システム100を利用するユーザUの情報(ユーザ情報)も登録されてよい。ユーザ情報の例は、ユーザID、ユーザ名、所属、機器1の操作場所、撮像デバイス2(のアプリケーション)を利用するためのログイン情報、利用した撮像デバイスのアプリケーションの種類、機器1の撮像画像21a、撮像日時及び撮像場所等である。このようなユーザ情報もデータベース34に保存されることにより、例えば後に操作ログ31aのレビュー等において、ユーザ情報も参照することができる。
記憶部35に記憶される情報として、プログラム35aが例示される。プログラム35aは、コンピュータに、情報処理装置3の処理を実行させるプログラム(情報処理プログラム)である。なお、撮像デバイス2から送信された撮像画像21aも、記憶部35に記憶されてよい。
処理部31について詳述する。処理部31は、ユーザUによって操作されている操作対象の機器1の撮像画像21aと、その機器1の機種の操作パターン情報33cとに基づいて、その機器1の操作内容を特定し、その機器1の操作ログ31aを生成する。主な処理として、機種特定、個体特定及び操作ログ生成の3つの処理について順に説明する。
<機種特定>
処理部31は、機器1の機種を特定する。一実施形態において、処理部31は、撮像画像21aと、記録部33に記録されている機種特定用情報33aとに基づいて、機器1の機種を特定する。
ここでの撮像画像21aは、機器1の機種を特定するために撮像された画像であってよい。撮像デバイス2の処理部23は、そのような画像(例えば機器1の外観画像)の撮像を促すための情報を生成し、表示部22に表示させる。ユーザ操作により、撮像デバイス2の撮像部21が機器1を撮像し、通信部25が撮像画像21aを情報処理装置3に送信する。
例えば、処理部31は、上述のように撮像デバイス2によって送信された撮像画像21aとマッチする機種特定用画像を、機種特定用情報33aから検索する。画像検索において、画像パターンマッチング等のさまざまな公知の手法が用いられてよい。処理部31は、撮像画像21aとマッチする機種特定用画像に対応付けられている機種を、機器1の機種として特定する。
上述の画像検索において、画像認識等のためのさまざまなアルゴリズムが用いられてよい。画像認識には学習済みモデルが用いられてもよく、これについては、後の操作ログ生成の説明で触れる。
撮像画像21aを用いずに機種が特定されてもよい。例えば、機種を示す機種情報が、撮像デバイス2から情報処理装置3に送信され、その機種情報に示される機種が、操作ログ対象の機器1の機種として特定されてよい。機種情報は、ユーザ操作により撮像デバイス2に入力されてよい。
上記以外にも、機種を特定することが可能なさまざまな手法が用いられてよく、これについては、この後の個体特定の説明で触れる。
なお、処理部31によって特定された機種の情報は、通信部32が、撮像デバイス2の通信部25に送信してよい。撮像デバイス2の表示部22は、機種の情報を表示してよい。ユーザUは、機種特定が適切に行われたか否かを確認し、次の処理に進むための撮像デバイス2の操作(アプリ操作等)を行ったり、必要であれば再度の機種特定を行ったりすることができる。
<個体特定>
処理部31は、操作ログ生成対象の機器1の個体情報を特定する。個体情報の特定は、初めて操作ログ生成の対象となる機器1に対してのみ行われてよい。一度個体情報が特定されれば、その機器1と個体情報とを対応付けた情報が例えばデータベース34に登録され(初回の個体登録が完了し)、それ以降は登録された個体情報に紐づけて操作ログが取得される。
一実施形態において、処理部31は、撮像画像21aと、記録部33に記録されている個体特定用情報33bとに基づいて、機器1の個体情報を特定する。
ここでの撮像画像21aは、機器1の個体情報を特定するために撮像された画像であってよい。撮像デバイス2の処理部23は、そのような画像(例えば機器1に固有の特徴を示す画像)の撮像を促すための情報を生成し、表示部22に表示させてよい。ユーザ操作により、撮像デバイス2の撮像部21が機器1を撮像し、通信部25が撮像画像21aを情報処理装置3に送信する。
例えば、処理部31は、先に特定した機種の個体特定用画像と、上述のように撮像デバイス2によって送信された撮像画像21aとを比較する。画像比較において、画像パターンマッチング等のさまざまな公知の手法が用いられてよい。処理部31は、撮像画像21aとマッチする個体特定用画像に対応付け得られている個体情報を、操作ログ生成対象の機器1の個体情報として特定する。先に述べように個体特定用画像は、機器1に固有の特徴(凹凸等)を示す画像であり、このような特徴に基づく個体特定手法は、物体指紋認証等と称されることもある(例えば特願2017-543479)。
上述のような画像比較に限らず、個体情報を特定することが可能なさまざまな手法が用いられてよい。例えば、撮像画像21aに対して画像認識処理が実行されてもよい。画像認識等のためのさまざまなアルゴリズムが用いられてよい。画像認識には学習済みモデルが用いられてもよく、これについては、後の操作ログ生成の説明で触れる。
画像認識は、文字認識を含んでよい。文字認識は、個体情報を特定するための文字列等の認識を含んでよい。このような文字列等の認識によって、個体情報が特定される。そのような文字列等は、機器1の銘板、機器1に付されたシール、ラベル等、さらには、機器1の表示画面1aの表示画面等の画像から抽出されうる。機器1に設けられたバーコード、QRコード(登録商標)等の読み取りによって個体情報が特定されてもよい。
文字認識において、OCR等のさまざまなアルゴリズムが用いられてもよい。異なる文字表示フォーマット(ドットマトリックスだけでなく7seg、11seg、14seg、16seg等のさまざまなフォーマットが含まれてよい)に各々対応する複数のアルゴリズムが準備されていてよい。処理部31は、例えば特定した機種に応じて、最適なアルゴリズムを用いて文字を抽出してよい。
上述の画像認識を用いた手法は、先に説明した機種特定にも適用されてよい。
撮像画像21aを用いずに個体情報が特定されてもよい。例えば、個体情報が、撮像デバイス2から情報処理装置3に送信され、操作ログ対象の機器1の個体情報として特定されてよい。個体情報は、ユーザ操作により撮像デバイス2に入力されてよい。
なお、特定された機種と、機器1の位置情報(例えば機器1の近くにある撮像デバイス2の位置情報)との組み合わせから、個体情報が特定されてもよい。位置情報は、GPS情報、地磁気情報、或いはこれらの組み合わせ等によって与えられ、例えば撮像デバイス2において取得され、情報処理装置3に送信される。こういった位置情報の利用は公知であるので(例えば特開2018-31599号公報)、ここでは詳細な説明は行わない。
なお、処理部31によって特定された個体情報は、通信部32が、撮像デバイス2の通信部25に送信してよい。撮像デバイス2の表示部22は、個体情報を表示してよい。ユーザUは、個体特定が適切に行われたか否かを確認し、次の処理に進むための撮像デバイス2の操作(アプリ操作等)を行ったり、必要であれば再度の個体特定を行ったりすることができる。
上述の機種特定及び個体特定は、並列に(同時に)行われてよい。例えば、QRコード、バーコードが機種及び個体情報の両方を与える場合には、一度の読み取りで、機種及び個体情報を同時に特定することができる。なお、個体特定は必須ではない。操作ログの用途(活用目的等)によって、個体特定を必要としたり必要としなかったりするからである。例えば、同じ機種の機器1であっても取り付け場所等の相違を区別したい場合には、個体特定が行われてよい。
<操作ログ生成>
処理部31は、撮像画像21aと、特定した機種の機種特定用情報33aとに基づいて、機器1の操作内容を特定し、その機器1の操作ログ31aを生成する。
ここでの撮像画像21aは、機器1の操作を特定するために撮像された画像であり、具体的には、ユーザUによって操作されている機器1の撮像画像21aである(図3等)。撮像デバイス2の処理部23は、そのような画像の撮像を促すための情報を生成し、表示部22に表示させてよい。ユーザ操作によって、撮像デバイス2の撮像部21が機器1を撮像し、通信部25が撮像画像21aを情報処理装置3に送信する。先に説明したように、操作内容の特定に必要な部分(フレーム等)の画像だけが処理部23によって抽出され、通信部25によって送信されてよい。
処理部31は、撮像画像21aに対して画像認識処理を実行し、撮像画像21aの画像認識結果と、操作パターン情報33cとに基づいて、機器1の操作内容を特定する。画像認識処理として、先に図7を参照して説明した画像由来情報が得られるような画像認識処理が用いられる。例えば、画像認識結果は、画像由来情報(機器1の操作箇所及び表示等)を含む。より具体的に、画像認識結果は、機器1のボタンの押下、アイコンの選択、文字列の表示、タッチフィードバック、ロータリスイッチの回転、タッチパネルのドラッグ、タッチパネルのフリック及び画面遷移等を含んでよい。
例えば、画像認識処理により、機器1の表示画面1aに表示されている文字列が抽出されたり、表示画面1aの画面種類(設定画面等)、ユーザの指、タッチペン等の位置が特定されたりする。処理部31は、それらの抽出結果、特定結果等を検索キーとして、操作パターン情報33cを検索し、操作内容を特定する。それらの抽出結果、特定結果等の各々又は組み合わせに対して、先に図7を参照して説明したように操作内容が対応付けられおり、従って、処理部31が操作パターン情報33cを参照することによって操作内容が特定される。なお、キャンセルの実行といった、機器1の動作に影響しないような操作も特定されてよい。
処理部31は、画像認識結果における画面遷移と他の結果との組み合わせと、操作パターン情報33cとに基づいて、機器1の操作内容を特定してもよい。例えば、処理部31は、機器1のボタンの押下、アイコンの選択、文字列の表示、タッチフィードバック、ロータリスイッチの回転、タッチパネルのドラッグ及びタッチパネルのフリックの少なくとも1つと画面遷移との組み合わせと、操作パターン情報とに基づいて、機器1の操作内容を特定してよい。これにより、画面遷移からだけでは操作内容を一意に特定することが難しい場合等でも、操作内容を特定することができる。
具体例について、再び図8を参照して説明する。機器1の起動時には、測定値を表示するモニタ画面1a-2が表示される。表示画面1aが遷移してメニュー画面1a-1が表示されると、画像認識結果に基づいて、表示画面1aがモニタ画面1a-2からメニュー画面1a-1に遷移したことが特定される。その画面遷移を与えるメニューボタンの押下が、操作内容として特定される。一方で、設定画面1a-3からモニタ画面1a-2への遷移を与える操作内容としては、決定及びキャンセルの2つが存在する。このように1つの画面遷移に対して複数の操作内容が対応付けられている場合は、画面遷移だけでなく、上述したような画像認識結果における他の結果と組み合わせることで、操作内容を特定できる。例えば決定に対応するボタンの押下等の特定と組み合わせにより、操作内容を決定操作として特定することができる。
図4に戻り、画像認識には、さまざまな公知のアルゴリズム等が用いられてよい。一実施形態において、学習済みモデルが用いられてよい。学習済みモデルは、例えば、撮像画像21aが入力されると、上述のような画像認識結果を出力するように、訓練データを用いて生成される(機械学習される)。処理部31は、撮像部21に対応するデータを学習済みモデルに入力し、学習済みモデルから画像認識結果を取得する。
訓練データは、学習用画像を含んで構成されてよい。学習用画像は、機器1の種類、機器1の表示画面1aに表示される画面の種類(設定画面、モニタ画面、通信画面、操作画面等)、表示されている内容の選択状態(タッチフィードバック)、アラーム発生状態等に分類して与えられてよい。配線の有無、操作する指の有無など、条件の異なる学習用画像も準備されてよい。
指の位置特定の学習に関して、人種の相違にも対応できるように、色、形状等の異なるさまざまな指を含む学習用画像が準備され、訓練データに含められてよい。手袋をした状態、さまざまな異なる形状のタッチペン等にも対応できるように、それらを含む学習用画像が準備され、訓練データに含められてもよい。目印(マーク)等が付された指等を含む学習用画像が準備され、訓練データに含められてよい。
上述のような学習済みモデルは、先に説明した機種特定及び個体特定での画像認識にも用いられてよい。
処理部31は、特定した操作内容を用いて、操作ログ31aを生成する。操作ログ31aの例は、先に図9を参照して説明したとおりである。例えば、処理部31は、特定した個体情報と、時刻と、特定した操作内容とを対応付けて記述する操作ログ31aを生成する。時刻情報は、例えば、撮像デバイス2によって送信された撮像画像21aから取得される。先にも述べたように個体情報の記述は必須ではなく、処理部31は、例えば、個体情報に代えて、機種と、時刻と、操作内容とを対応付けて操作ログ31aを生成してよい。
処理部31は、生成した操作ログ31aを、データベース34に登録する(保存する)。撮像デバイス2が情報処理装置3と通信可能であるので、情報処理装置3のデータベース34に登録された操作ログ31aは、ユーザUが例えば撮像デバイス2を操作して利用することができる。
処理部31は、生成した操作ログ31aの全部をデータベース34に登録してもよいし、生成した操作ログ31aの一部だけをデータベース34に登録してもよい。例えば、生成された操作ログ31aのうち、機器1の特定の機能、動作等に関する部分だけがデータベース34に登録されてよい。登録対象は適宜設定されてよい。
処理部31は、生成した又はデータベース34に登録されているさまざまな操作ログ31aの統計処理を実行してもよい。例えば、特定の操作内容の頻度等が算出されてよい。特定の操作内容の例は、キャンセル操作、やり直し操作等、操作効率を妨げるような操作内容である。例えば機器1の操作設計の改善に供することができる。
例えば以上のようにして、操作ログが生成される。生成された操作ログは、ユーザUにフィードバックされうる。例えば、処理部31によって生成された操作ログ31aがリアルタイムで、或いは、データベース34に登録された操作ログ31aが任意のタイミングで、撮像デバイス2に送信される。撮像デバイス2の表示部22は、操作ログ31aを表示する。処理部23は、操作ログ31aを含むさまざまな形式の表示情報を生成し、表示部22に表示させてよい。ユーザUは、表示された操作ログ31aを、デバッグ、誤操作防止等の確認等に用いることができる。処理部23は、表示される操作ログ31aのフィルタリングを行ってもよい。フィルタリングの内容は、例えばユーザUによって設定される。
図10~図13は、情報処理システムにおいて実行される処理(情報処理方法)の例を示すフローチャートである。
図10には、情報処理システム100の主な処理として、上述の機種特定、個体特定及び操作ログ生成が示される。ステップS1において、機種が特定される。ステップS2において、個体情報が特定される。ステップS3において、操作ログが生成される。各ステップについて、図11~図13を参照して説明する。なお、これまでの説明と重複する内容については、適宜説明を省略する。
図11には、ステップS1(図10)の詳細フローが例示される。ステップS1は、ステップS11~ステップS16を含む。
ステップS11において、撮像デバイス2は、機種を特定するための撮像画像を情報処理装置3に送信する。情報処理装置3は、撮像デバイス2によって送信された撮像画像を受信する。
ステップS12において、情報処理装置3は、受信した撮像画像にマッチする機種特定用画像を検索する。情報処理装置3の処理部31は、記録部33の機種特定用情報33aに含まれる機種特定用画像から、撮像デバイス2によって送信された撮像画像21aとマッチする機種特定用画像を検索する。この画像検索により機種が特定されうることは先に説明したとおりである。
ステップS13では、画像検索により機種が特定されたか否かに応じて処理が分岐される。画像検索により機種が特定された場合(ステップS13:Yes)、このフローチャートの処理(ステップS1の処理)は終了する。機種が特定されなかった場合(ステップS13:No)、ステップS14に処理が進められる。例えば画像が不鮮明等の理由によって、機種が特定されない場合もある。
ステップS14において、情報処理装置3は、再送要求を撮像デバイス2に送信する。情報処理装置3の処理部31は、再送要求情報(コマンド等)を生成し、通信部32は、再送要求を撮像デバイス2の通信部25に送信する。撮像デバイス2の通信部25は、再送要求を受信し、表示部22は、再送要求を受信したこと等の情報を表示する。ユーザUは、撮像デバイス2を操作して、機種を特定するための撮像画像を改めて撮像するか、機種情報を入力する。
ステップS15において、撮像デバイス2は、撮像画像又は機種情報を情報処理装置3に送信する。情報処理装置3は、撮像画像又は機種情報を受信する。
ステップS16では、画像検索が必要か否かに応じて処理が分岐される。撮像デバイス2によって撮像画像が再送された場合、画像検索が必要になり(ステップS16:Yes)、再びステップS12に処理が移る。撮像デバイス2によって機種情報が送信された場合には、機種が特定され、画像検索は不要になるので(ステップS16:No)、このフローチャートの処理(ステップS1の処理)は終了する。
例えば以上のようにして、機種が特定される。なお、上述のフローにおいて、ステップS11の時点で機種情報が送信されてもよい。その場合は、ステップS12等の画像検索に関する処理は適宜スキップされる。
図12には、ステップS2(図10)の詳細フローが例示される。ステップS2は、ステップS21~ステップS27を含む。
ステップS21において、情報処理装置3は、個体特定用画像を記録部から取得する。情報処理装置3の処理部31は、先のステップS1で特定した機種の個体特定用画像を、記録部33の個体特定用情報33bから取得する。
ステップS22において、撮像デバイス2は、個体を特定するための撮像画像を情報処理装置3に送信する。情報処理装置3は、撮像デバイス2によって送信された撮像画像を受信する。
ステップS23において、情報処理装置3は、画像を比較する。情報処理装置3の処理部31は、先のステップS21で取得した個体特定用画像と、先のステップS22で撮像デバイス2から送信された撮像画像とを比較する。この画像比較により個体情報が特定されうることは先に説明したとおりである。
ステップS24では、画像比較により個体情報が特定されたか否かに応じて処理が分岐される。画像比較により個体情報が特定された場合(ステップS24:Yes)、このフローチャートの処理(ステップS2の処理)は終了する。個体情報が特定されなかった場合(ステップS24:No)、ステップS25に処理が進められる。例えば画像が不鮮明等の理由によって、個体情報が特定されない場合もある。
ステップS25において、情報処理装置3は、再送要求を撮像デバイス2に送信する。ユーザUは、撮像デバイス2を操作して、個体情報を特定するための撮像画像を改めて撮像するか、個体情報を入力する。
ステップS26において、撮像デバイス2は、撮像画像又は個体情報を情報処理装置3に送信する。情報処理装置3は、撮像画像又は個体情報を受信する。
ステップS27では、画像比較が必要か否かに応じて処理が分岐される。撮像デバイス2によって撮像画像が再送された場合、画像比較が必要になり(ステップS27:Yes)、再びステップS23に処理が移る。撮像デバイス2によって個体情報が送信された場合には、個体情報が特定され、画像比較は不要になるので(ステップS27:No)、このフローチャートの処理(ステップS2の処理)は終了する。
例えば以上のようにして、個体情報が特定される。なお、上述のフローにおいて、ステップS22の時点で個体情報が送信されてもよい。その場合は、ステップS23等の画像比較に関する処理は適宜スキップされる。
図13には、ステップS3(図10)の詳細フローが例示される。ステップS3は、ステップS31~ステップS35等を含む。
ステップS31において、情報処理装置3は、操作パターン情報を取得する。情報処理装置3の処理部31は、先のステップS1で特定した機種の操作パターン情報33cを、記録部33から取得する。
ステップS32において、撮像デバイス2は、操作内容を特定するための撮像画像を準備する。撮像デバイス2の撮像部21は、ユーザUによって操作されている機器1を撮像する。必要に応じて、処理部23は、撮像部21の撮像画像21aの一部だけを抽出する。
ステップS33において、撮像デバイス2は、撮像画像を情報処理装置3に送信する。撮像デバイス2の通信部25は、先のステップS32で準備された撮像画像21aを、情報処理装置3の通信部32に送信する。情報処理装置3の通信部32は、撮像画像21aを受信する。
ステップS34において、情報処理装置3は、操作内容を特定する。情報処理装置3の処理部31は、先のステップS31で取得した操作パターン情報33cと、先のステップS33で撮像デバイス2によって送信された撮像画像21aとに基づいて、機器1の操作内容を特定する。
ステップS35において、情報処理装置3は、操作ログを生成し、データベースに登録する。情報処理装置3の処理部31は、先のステップS34で特定した操作内容に基づいて操作ログ31aを生成し、データベース34に登録する。
上記のステップS32~ステップS35の処理が、繰り返し実行される。例えば2回目のそれらの処理が、ステップS32-2~ステップS35-2として図示される。撮像デバイス2による撮像画像が送信されなくなる等して操作ログ生成に関する処理が終了すると、このフローチャートの処理(ステップS3の処理)は終了する。
例えば以上のようにして、機器1の操作内容が特定され、その機器1の操作ログ31aが生成される。
以上説明した情報処理システム100によれば、操作ログを生成、出力することのできない機器1であってもその操作ログ31aを生成して取得(収集)できる。機器1に対するファームウェアの機能追加等は不要である。機器1を撮像した撮像画像21aを用いて自動的に機種特定、個体特定及び操作ログ生成等が行われるので、ユーザUの手間を最小限に抑えることができる。本体に識別情報(バーコード、QRコード等)の刻印等がなくとも、個体情報を特定し、操作ログ31aに含めることもできる。機器1と非接続、非通信で機器1の情報(撮像画像21a)が取得され、外部情報(情報処理装置3内の情報等)と紐付けられるようになっているので、機器1の処理負担は増加しない。操作ログ31aがデータベース34に登録される(保存される)ことにより、例えばユーザUが過去に機器1に対して行った操作(設定変更等を含む)を確認することができる。
以上、本開示の一実施形態について説明した。開示される技術は、上記実施形態に限定されない。いくつかの変形例について述べる。
一実施形態において、操作ログ31aのエビデンスとして、機器1の操作の一部始終を示す撮像画像21a(映像)が保存されてよい。保存には、専用のデータベースが用いられてよい。これについて、図14を参照して説明する。
図14は、変形例に係る情報処理システムの概略構成の例を示す図である。例示される情報処理システム100Aは、情報処理システム100(図1)と比較して、撮像デバイス2に代えて撮像デバイス2Aを含む点、及び、保存用データベース4をさらに含む点において相違する。
保存用データベース4は、ネットワークNを介して、撮像デバイス2及び情報処理装置3それぞれと接続される。操作ログ生成時に、撮像デバイス2Aは、撮像部21の撮像画像を保存用データベース4にも送信する。保存用データベース4は、撮像画像を保存する。なお、保存用データベース4の機能は、情報処理装置3に(例えばデータベース34に)組み入れられてもよい。
情報処理システム100Aにおいては、操作ログ生成時の処理(図10及び図13のステップS3)において、撮像画像21aを保存用データベース4に保存するための処理が追加される。
図15は、情報処理システムにおいて実行される処理(情報処理方法)の例を示すフローチャートである。例示されるステップS3Aの処理は、ステップS3(図13)と比較して、ステップS41~ステップS44の処理をさらに含む点において相違する。
ステップS41において、撮像デバイス2Aは、撮像画像の送信を開始する。撮像デバイス2Aの撮像部21は、ユーザUによって操作されている機器1の撮像画像21aを撮像し、保存用データベース4に送信する。保存用データベース4は、撮像画像21aを受信する。
ステップS42において、保存用データベース4は、撮像画像の保存を開始する。保存用データベース4は、撮像デバイス2Aによって送信された撮像画像21aを保存する。
ステップS31~ステップS35等の処理は、詳細は先に図12を参照して説明したとおりであるので、ここでは説明は繰り返さない。
ステップS43において、撮像デバイス2Aは、撮像画像21aの保存用データベース4への送信を終了する。
ステップS44において、保存用データベース4は、撮像画像21aの保存を終了する。
例えば以上のようにして、ユーザUによる機器1の操作の一部始終を示す撮像画像21a(映像)が、操作ログ31aのエビデンスとして保存用データベース4に保存される。
なお、上記では、撮像画像21aがリアルタイムで保存用データベース4に送信され保存される例について説明した。ただし、撮像画像21aは、撮像デバイス2の記憶部24に記憶され、その後(例えばステップS43の時点で)、まとめて保存用データベース4に送信され保存されてもよい。
保存用データベース4は、撮像画像21aに操作ログ生成時刻(操作ログ取得時刻)のタイムスタンプを付加して保存してもよい。これにより、任意の時刻の操作ログ31aのエビデンスとなる撮像画像21aを検索等することが可能になる。
一実施形態において、撮像デバイス2及び情報処理装置3の機能が、いずれか一方に集約されてよい。例えば、情報処理装置3の機能が、撮像デバイス2に組み入れられてもよい。或いは、撮像デバイス2の機能が、情報処理装置3に組み入れられてもよい。撮像デバイス2と情報処理装置3とを接続するネットワーク環境が不要になる。これについて、図16を参照して説明する。
図16は、変形例に係る情報処理システムの概略構成の例を示す図である。例示される情報処理システム100Bでは、これまで説明した撮像デバイス2及び情報処理装置3の機能が、撮像デバイス2B(或いは情報処理装置3B)に集約されている。先に説明した図1に示されるネットワークNを介した通信が無くとも、機器1の操作ログを生成することができる。
一実施形態において、撮像デバイス2側における情報処理装置3との通信機能が、撮像デバイス2の外部に設けられてよい。これについて、図17を参照して説明する。
図17は、変形例に係る情報処理システムの概略構成の例を示す図である。例示される情報処理システム100Cでは、撮像デバイス2Cは、通信装置5に接続される。通信装置5は、ネットワークNを介して、情報処理装置3と通信可能に接続される。撮像デバイス2Cは、通信装置5を用いて、情報処理装置3と通信する。例えば、撮像デバイス2Cとしてカメラ、ビデオカメラ等が用いられ、通信装置5としてPC等が用いられてよい。撮像機能を備える装置と、通信機能を備える装置とを組み合わせて用いることによっても、これまでと同様に、機器1の操作ログ31aを取得することができる。
一実施形態において、情報処理装置3による処理は、クラウドコンピューティング等によって実現されてよい。例えば、情報処理装置3の処理部31、記録部33及びデータベース34の機能の一部又は全部が、情報処理装置3の外部の装置に設けられてよい。情報処理装置3は、そのような外部の装置と通信することによって、これまで説明した処理を実行してよい。撮像デバイス2が直接そのような外部の装置と通信することで、これまで説明した処理が実行されてもよい。
図18は、情報処理装置のハードウェア構成の例を示す図である。例えばこのようなハードウェア構成を備えるコンピュータ等が、これまで説明した情報処理装置3として機能する。ハードウェア構成として、バス等で相互に接続される通信装置3a、表示装置3b、記憶装置3c、メモリ3d及びプロセッサ3e等が例示される。記憶装置3cの例は、HDD(Hard Disk Drive)、ROM(Read Only Memory)、RAM(Random Access Memory)等である。なお、メモリ3dは、記憶装置3cに含まれてもよい。
通信装置3aは、ネットワークインタフェースカードなどであり、他の装置との通信を可能にする。表示装置3bは、例えばタッチパネルやディスプレイなどである。記憶装置3cは、記録部33、データベース34及び記憶部35等として機能する。
プロセッサ3eは、プログラム35a(図4)を記憶装置3c等から読み出してメモリ3dに展開することで、コンピュータを、情報処理装置3として機能させる。機能は、これまで説明したような処理部31の機能を含む。
プログラム35aは、インターネットなどのネットワークを介して配布することができる。また、プログラム35aは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
情報処理装置3以外の装置、例えば撮像デバイス2も、上述と同様のハードウェア構成を備えてよい。
以上説明した技術は、例えば次のように特定される。図1~図9等を参照して説明したように、情報処理装置3は、ユーザUによって操作されている操作対象の機器1を撮像した撮像画像21aと、操作対象の機器1の機種の操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定し、操作対象の機器1の操作ログ31aを生成する処理部31、を備える。
上記の情報処理装置3によれば、操作対象の機器1の撮像画像21aから、その操作ログ31aが生成される。従って、操作ログを生成、出力することのできない機器1(操作ログの掃き出し機能を備えていない機器1等)であってもその操作ログ31aを取得できるようになる。
図7等を参照して説明したように、操作パターン情報33cは、機種と、その機種の機器の画像から得ることのできる画像由来情報と、操作内容とが対応付けられた情報であり、処理部31は、操作ログ31aの画像認識結果と、操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定してよい。例えばこのように画像認識結果及び操作パターン情報33cを利用して、操作対象の機器1の操作内容を特定することができる。
図7等を参照して説明したように、操作パターン情報33cにおける画像由来情報は、機器の操作箇所及び表示の少なくとも一方を含み、画像認識結果は、操作対象の機器1の操作箇所及び操作対象の機器1の表示の少なくとも一方を含んでよい。画像由来情報は、機器のボタンの押下、アイコンの選択、文字列の表示、タッチフィードバック、ロータリスイッチの回転、タッチパネルのドラッグ、タッチパネルのフリック及び画面遷移の少なくとも1つを含み、画像認識結果は、操作対象の機器1のボタンの押下、アイコンの選択、文字列の表示、タッチフィードバック、ロータリスイッチの回転、タッチパネルのドラッグ、タッチパネルのフリック及び画面遷移の少なくとも1つを含んでよい。例えばこのような画像由来情報を単独で又は組み合わせて用いることにより、操作対象の機器1の操作内容を特定することができる。
図7及び図8等を参照して説明したように、処理部31は、画像認識結果における操作対象の機器1のボタンの押下、アイコンの選択、文字列の表示、タッチフィードバック、ロータリスイッチの回転、タッチパネルのドラッグ及びタッチパネルのフリックの少なくとも1つと画面遷移との組み合わせと、操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定してよい。これにより、画面遷移からだけでは操作内容を一意に特定することが難しい場合等でも、操作対象の機器1の操作内容を特定することができる。
図5等を参照して説明したように、処理部31は、撮像画像21aと、機種特定用画像(例えば記録部33の機種特定用情報33aに含まれる)とに基づいて、操作対象の機器1の機種を特定し、撮像画像21aと、特定した機種の操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定してよい。これにより、撮像画像21aから、操作対象の機器1の機種を特定することができる。
図6及び図9等を参照して説明したように、処理部31は、撮像画像21aと、機器に固有の特徴を示す個体特定用画像(例えば記録部33の個体特定用情報33bに含まれる)とに基づいて、操作対象の機器1の個体情報を特定し、特定した個体情報と、特定した操作内容とを対応付けて操作ログ31aを生成してよい。これにより、撮像画像21aから、操作対象の機器1の個体情報を特定でき、また、個体情報で識別された操作ログ31aを生成することができる。
図4等を参照して説明したように、処理部31は、生成した操作ログ31aを、ユーザUが利用できるように、データベース34に登録してよい。これにより、生成した操作ログ31aをユーザUにフィードバックすることができる。
図10~図13等を参照して説明した情報処理方法も、実施形態の1つである。情報処理方法は、ユーザUによって操作されている操作対象の機器1を撮像した撮像画像21aと、操作対象の機器1の機種の操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定し、操作対象の機器1の操作ログ31aを生成する(ステップS3、ステップS34及びステップS35)。このような情報処理方法によっても、これまで説明したように、操作ログを生成、出力することのできない機器1であってもその操作ログ31aを取得できるようになる。
図4及び図18等を参照して説明したプログラム35aも、実施形態の1つである。プログラム35aは、コンピュータに、ユーザUによって操作されている操作対象の機器1を撮像した撮像画像21aと、操作対象の機器1の機種の操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定し、操作対象の機器1の操作ログ31aを生成する処理を実行させる情報処理プログラムである。このようなプログラム35aによっても、これまで説明したように、操作ログを生成、出力することのできない機器1であってもその操作ログ31aを取得できるようになる。なお、図18等を参照して説明したように、プログラム35aが記録された記録媒体も、実施形態の1つである。
図1等を参照して説明した情報処理システム100も、実施形態の1つである。情報処理システム100は、ユーザUによって操作されている操作対象の機器1を撮像する撮像デバイス2と、撮像デバイス2によって撮像された操作対象の機器1の撮像画像21aと、操作対象の機器1の機種の操作パターン情報33cとに基づいて、操作対象の機器1の操作内容を特定し、操作対象の機器1の操作ログ31aを生成する情報処理装置3と、を備える。このような情報処理システム100によっても、これまで説明したように、操作ログを生成、出力することのできない機器1であってもその操作ログ31aを取得できるようになる。
開示される技術は、次のように特定されてもよい。情報処理システム100は、機器1の画像を撮像する撮像デバイス2と、撮像デバイス2が撮像した撮像画像21aを(例えば撮像デバイス2のアプリケーションを介して)受信するようにコンピュータを動作させる関連プログラム(例えばプログラム35a)と、機種(製品ID等)及びこれに紐付けられた表示画面情報等が記録された記録部33と、機器1の操作ログ31aを登録するデータベースと、を備える。関連プログラムは、受信した撮像画像21aを解析して機種を特定し、機種に紐付けられた表示文字列情報、表示アイコン、画像情報、表示画面種類情報、画面遷移情報のいずれか1つ以上を記録部33から検索し、検索した情報を使用して機器1の操作ログ31aを取得する。
撮像デバイス2の撮像部21は、機器1に取り付けられたQRコード、表示画面1a、機器1の全体もしくは一部、形状、表示中文字列、バーコード、銘版、色、アイコン、表示画像、表示中の画面種類、ユーザUのジェスチャ情報等の少なくとも1つ以上を含む画像を、撮像画像21aとして撮像してよい。
撮像画像21aは、写真、スクリーンショット、画像スキャン、映像フレーム、またはコンテンツオーサリングアプリケーションによって作成される画像、映像(動画)等によって得られてよい。
撮像デバイスは、ビデオ、カメラ等の撮影機器と、PC等とが組み合わされた構成を備えよい。
記録部33、データベース34及びプログラム35aの機能の全部又は一部が、撮像デバイス2内、撮像デバイス2とネットワークNを介して接続された情報処理装置3内、保存用データベース4内、その他の外部ストレージ等に備えられてよい。
撮像画像21aの画像解析(例えば情報処理装置3の処理部31による画像認識処理等)において、機器1の形状、表示中文字列、QRコード等の識別情報、色、アイコン、表示画像、表示中の画面種類などのいずれか1つ以上が解析され、記録部33の検索キーとして使用されてよい。
機種(製品ID等)の特定においては、画像解析以外に、ユーザUが例えば撮像デバイス2に手動入力した機種情報を通信で取得されてもよい。この場合、機種特定のための撮像は不要である。
記録部33には、機器の表示文字列、表示画面種類、表示アイコン種類、ハードウェア/ソフトウェアのボタン等の入力部品の種類、メニュー種類、タッチフィードバックの表示方法、画面遷移のいずれか一つを含む情報(例えば機種特定用情報33a)が記録されていてよい。
記録部33には、個体特定のための特定部の画像データ、画像データから抽出された特徴点情報(凹凸等)等が記録部33に記録されたり、関連付けられたりしてよい。
データベース34には、ユーザのユーザID、ユーザ名、所属、操作場所、前記撮像デバイスのアプリケーションを利用するためのログイン情報、利用したアプリケーションの種類、操作対象の機器1の撮像画像、撮像日時及び撮像場所の少なくとも1つが登録されてもよい。
撮像画像21a、撮像画像21aから特定した機種、個体情報又はアプリケーション(撮像デバイス2に)入力されたそれらの情報、撮像画像21aの画像解析結果、生成された操作ログ31a等が、データベース34、保存用データベース4等のデータベースに登録(収集等)されてよい。データベースに登録等された情報が検索されてよい。
データベースに登録等された情報、検索された情報等が統計処理されてよい。
例えば記録部33は予め情報が記録され、Readのみが可能な記憶領域であってよい。データベース34は、情報の収集、検索等が行えるようにRead及びWriteが可能な記憶領域であってよい。