はじめに
WinActorのライブラリ等のWinActorモジュールを使用して、NTTテクノクロス株式会社のクラウドサービス「MoxiFinder」にWeb APIを介して画像認識を行い、認識結果から物品の在庫数を集計しExcelに出力するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。
本サンプルシナリオの概要
本サンプルシナリオは、以下の処理を行います。
- 任意のフォルダを監視し、画像ファイルが存在した場合は画像ファイルをMoxiFinderへアップロードし、画像認識を行います。
- 画像認識に成功した画像ファイルを認識成功画像フォルダに移動します。(画像認識に失敗した場合は認識失敗画像フォルダに移動します。)
- 画像認識結果を入力ファイルのExcel(画像認識結果シート)に記載します。
- 画像認識結果からWinActorが物品を特定し、入力ファイルのExcel(集計結果シート)にて、対応する物品の個数を「1」加算します。
- 上記全ての処理を繰り返し、物品の在庫数を集計します。
使用するWinActorモジュール
本サンプルシナリオでは、以下のWinActorモジュールを使用します。
- ノード/ユーザ/待機ボックス
- ノード/ユーザ/選択ボックス
- ノード/変数/変数値設定
- ノード/変数/変数値コピー
- ノード/変数/日時取得
- ノード/変数/四則演算
- ノード/変数/カウントアップ
- 01_WinActor制御/02_シナリオ制御/シナリオ停止.ums6
- 07_文字列操作/01_変換・整形/文字列置換.ums6
- 07_文字列操作/02_切り出し・分割/文字列削除.ums6
- 07_文字列操作/03_連結/文字列の連結(2つ).ums6
- 07_文字列操作/03_連結/文字列の連結(3つ).ums6
- 07_文字列操作/03_連結/文字列の連結(5つ).ums6
- 08_日付関連/日付取得(yyyymmdd).ums6
- 13_ファイル関連/01_テキストファイル操作/テキストファイル書込.ums6
- 13_ファイル関連/01_テキストファイル操作/テキストファイル読込.ums6
- 13_ファイル関連/01_テキストファイル操作/テキストファイル追記.ums6
- 13_ファイル関連/02_ファイル操作/ファイルコピー.ums6
- 13_ファイル関連/02_ファイル操作/ファイル削除.ums6
- 13_ファイル関連/02_ファイル操作/ファイル存在有無チェック.ums6
- 13_ファイル関連/04_ファイル一覧/ファイル一覧(ファイル数)取得.ums6
- 13_ファイル関連/04_ファイル一覧/先頭ファイルの取得.ums6
- 13_ファイル関連/05_ファイル名/シナリオフォルダのファイルパス.ums6
- 18_Excel関連/01_ファイル操作/Excel操作(上書き保存).ums6
- 18_Excel関連/03_行列操作/Excel操作(最終行取得 その3).ums6
- 18_Excel関連/Excel操作(値の取得2).ums6
- 18_Excel関連/Excel操作(値の設定2).ums6
- 18_Excel関連/Excel操作(検索一致).ums6
- 98_構造データ関連/01_JSON/JSON変数 読み取り.ums6
- 98_構造データ関連/01_JSON/JSON変数 配列読み取り.ums6
- 99_外部サービス連携/02_HTTP関連/HTTP.ums6
- プチライブラリ/数値の桁数合わせ(ゼロパディング)をするライブラリ
- プチライブラリ/指定されたファイルをBase64でエンコードするライブラリ
(プチライブラリはこちらからダウンロードできます)
- スイートライブラリ/ファイル操作(文字コード変換)
(スイートライブラリはこちらからダウンロードできます)
本サンプルシナリオの入力ファイル
以下2点を入力ファイルとします。
- Excelファイル
シナリオ内でExcelファイルを開き、取得した画像認識結果および在庫数の集計結果を記載します。
- 画像ファイル
シナリオ内でMoxiFinderにアップロードし、画像認識を行います。
カメラで撮影した、在庫数を確認したい対象物の画像であることを前提としています。
画像ファイルの形式はJPEGおよびPNGのみ動作することを確認しています。
入力ファイルの詳細は入力ファイルの形式を参照してください。
本サンプルシナリオの想定レベル
本ドキュメントは、以下の技術レベルのユーザを対象としています。
- MoxiFinderの使い方について理解している。
動作確認環境
本サンプルシナリオは以下の環境で動作確認しています。
- Windows 10、WinActor 6.3.1、Microsoft Excel 2019、MoxiFinder ver 1.0
- Windows 10、WinActor 7.2.0、Microsoft Excel 2019、MoxiFinder ver 1.0
制約事項
- 本サンプルシナリオを実行するためには、MoxiFinderにアクセスするためのインターネット環境が必要です。
- 本サンプルシナリオおよびドキュメントは、MoxiFinderにログインできる状態を前提に記載されています。
- 本サンプルシナリオおよびドキュメントは、MoxiFinderのCMS(Contents Management System)に識別したい物品画像およびIDが登録されていることを前提に記載されています。
- 本サンプルシナリオおよびドキュメントは、画像認識後に画像ファイルを移動させる際、格納先 に同名ファイルが存在しないことを前提に記載されています。
- 本サンプルシナリオは WinActor 6.3 より古いバージョンでは動作しません。
- 本サンプルシナリオは、実行中、シナリオと同階層のフォルダに「Temp_MoxiFinderScenario.json」を作成します。
そのため、本サンプルシナリオおよびドキュメントは、シナリオ実行前に、シナリオと同階層に同名のファイルが存在しないことを前提に記載されています。
本サンプルシナリオの使い方
本サンプルシナリオの実施方法は以下の通りです。
Step1.シナリオで使用するフォルダを作成
以下3点のフォルダを作成します。
- 認識前画像フォルダ
- カメラで撮影した、在庫数を確認したい対象物の画像を格納するフォルダです。
- シナリオ実行中に、このフォルダに格納されている画像ファイルをMoxiFinderへアップロードし、画像認識を行います。
- 認識成功画像フォルダ
- シナリオ実行中、画像認識に成功した画像ファイルを格納します。
- 認識失敗画像フォルダ
- シナリオ実行中、画像認識に失敗した画像ファイルを格納します。
Step2.入力ファイルをフォルダに配置
2点の入力ファイルについて、以下を行います。
- Excelファイルを任意のフォルダに配置
本サンプルシナリオには、サンプルのExcelファイル(結果表サンプル.xlsx)が添付されています。
任意のフォルダに配置します。
- 画像ファイルを認識前画像フォルダに配置
在庫確認したい物体をカメラで撮影し、画像ファイルを"Step 1"で作成した認識前画像フォルダに配置します。
Step3.WinActorで本サンプルシナリオを読み込み
WinActorを起動し、本サンプルシナリオを読み込みます。
Step4.動作に必要な変数を設定
本サンプルシナリオを実行するために必要な値を、変数一覧で設定します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の通りです。
- 認識前画像フォルダパス
- 画像認識を行う画像ファイルを格納するフォルダの絶対パスを指定します。
本サンプルシナリオでは"Step 1"の認識前画像フォルダが該当します。
例) C:\sample\認識前画像
- 認識成功画像フォルダパス
- 画像認識に成功した画像ファイルを格納するフォルダの絶対パスを指定します。
本サンプルシナリオでは"Step 1"の認識成功画像フォルダが該当します。
例) C:\sample\認識成功画像
- 認識失敗画像フォルダパス
- 画像認識に失敗した画像ファイルを格納するフォルダの絶対パスを指定します。
本サンプルシナリオでは"Step 1"の認識失敗画像フォルダが該当します。
例) C:\sample\認識失敗画像
- 結果表Excelファイルパス
- 本サンプルシナリオの入力ファイルであるExcelファイルの絶対パスを指定します。
例) C:\sample\結果表サンプル.xlsx
- MoxiFinderサーバURL
- MoxiFinderのサーバURLを指定します。
例) https://sample.jp
本サンプルシナリオ変数一覧の設定
Step5.WinActorで本サンプルシナリオを実行
本サンプルシナリオを実行します。
画像ファイルが1つずつ画像認識され、認識結果をもとに物品の在庫数が集計されます。
また、画像認識が完了した画像は認識成功画像フォルダまたは認識失敗画像フォルダに移動されます。
Step6.サンプルシナリオ実行終了後の確認
実行終了後、以下の結果となっていることを確認してください。
- MoxiFinderで画像認識した画像ファイルが適切なフォルダ(認識成功画像フォルダまたは認識失敗画像フォルダ)に移動していること。
- MoxiFinderで画像認識した画像の認識結果およびファイルパスが入力ファイルのExcelの「画像認識結果シート」記載されていること。
- 入力ファイルのExcelの「集計結果シート」に記載されている各ID(物品)の個数が認識成功画像フォルダに格納された物品の数と等しくなっていること。
サンプルシナリオ解説
本サンプルシナリオで使用している実装テクニックについて説明します。
入力ファイルの形式
入力ファイルのExcelの内容は以下のとおりです。
画像認識結果シート設定情報
画像認識結果シートサンプル
集計結果シート設定情報
集計結果シートサンプル