オープンイノベーション【てんかく忍者工場】データ加工を自動化する"てんかく忍者工場"の全体像を紹介!

【てんかく忍者工場】データ加工を自動化する

vol.44 【損傷個所を診るためのビューア"てんかく忍者QGISプラグイン"プロトタイプの出力結果を紹介します】
https://www.nakasha.co.jp/future/open-innovation-meeting/vol44_qgis_output.html
から続く3つの記事で、"QGISプラグインを使っててんかく忍者の成果品を活用する"手法についての紹介をしました。

"成果品を活用する"ためには"成果品を作る"工程が必要で、それが今回の記事から3パートに分けてご紹介する"てんかく忍者工場(TenkakuNinjaFactory)"という弊社の社内ツールです。※

それでは早速、工場見学に出発しましょう。

※今回ご紹介している社内システムは、当社の取り組みをご理解いただく主旨であり、現在、販売・提供の予定はありません。自社内でデータ加工を行うことをご希望のお客様につきましては、個別案件の中で受託開発にてご提供する可能性はありますので、ご要望等をお聞かせください。

 

 

■てんかく忍者工場開設の目的、目標、構成

 

[てんかく忍者工場]
01.png

てんかく忍者工場を開設するにあたっての目的・目標は以下でした。

・てんかく忍者工場の目的
即時性を得るため、データの地産地消(使うところで作る≠クラウド)を促す

・てんかく忍者工場の目標
NASにデータを放り込むとデータ処理を実行してくれる自動工場
動画物体検出→データ加工→コンテンツ生成→利活用までの工程を一貫して行う

・てんかく忍者工場の構成

  1. ジョブ管理(console.py、dashboard.py)
  2. 動画物体検出/位置合わせ工程(decode_from_mp4.py)
  3. データベース加工/コンテンツ生成(generate_maps.py)

初回の今回は、これらのうちジョブ管理の工程についてご紹介します。

 

■工場の起動(ジョブ開始→動画物体検出まで)

 

処理PC上でconsoleを起動します。
consoleには、Watch,Runner,Dashboardのボタンがあり、これらをそれぞれ起動します。
コンソールが起動して、それぞれログを出力し始めますので、工場長たるユーザは、このコンソールやダッシュボードを見て、どの工程が何をしているのか?異常が発生していないのか?を見つめることとなります。

[コンソール]
02.png

・Watch
管理フォルダ(通常はNAS上。例:W:\WatchFolder)に新しく投入されたデータが無いかどうかを監視する機能を持ちます。
一意のジョブ番号を発行し、ジョブキューやジョブ情報を各々のフォルダ配下に指示していきます。

・Runner
動画物体検出を実行する工程を担います。

・DashBoard
ダッシュボードはローカルWEBサーバ機能を使って、http://127.0.0.7:5000で、ジョブの最新情報を公開します。
job_queue.jsonを定期的に巡回し、全体の処理工程をWEBブラウザで通知しつつ、各ジョブフォルダの.job.jsonの内容を詳細情報として提供します。

 

 

■ファイルを配置からジョブ起動(作業指示書の発行)

 

ファイルを監視フォルダに置くと、一意のジョブ番号を割りあて、フォルダ、ファイルのリネームをジョブの登録を実行します。

監視ルートフォルダにはjob_queue.jsonが保存されます。
.globalcounterは隠しファイルで一意の番号を記録します。
.triggerignoreも同様に隠しファイルで、監視対象から外すフォルダ名を記載します(例:Models、dashboard、Archived、.gitなど)
また各ジョブフォルダ(例:0001)には、.job.jsonファイルが生成されます。

※実は、この処理はジョブを采配しているだけ(指示書を発行するだけ)で、次工程に進むには、動画物体検出処理自体が、.job.jsonを参照して後工程引き、自律的に処理していきます。

 

 

■ダッシュボードのジョブ稼働状況表示

 

WEBブラウザで127.0.0.1:5000を開くことで、ダッシュボードに各ジョブの進捗が表示されます。
このダッシュボード画面は非同期に自動更新され、その時点のジョブキューから一覧を生成し、詳細情報ボタンをクリックすると各ジョブの.job.jsonを読み取り、表示します。

 

[ダッシュボード:一覧]
03.png
[ダッシュボード:詳細]
04.png

 

ここでは動画物体検出のジョブが10,11,12としてマークされ、10が実行を開始しました。
動画物体検出ジョブが実行を開始するとPCのCPU負荷とメモリ利用量が脈動を示します。

[ジョブ稼働中]
05.png

 

 

■まとめ

・コンソールからWatch、Runner、Dashboardを実行します
・監視フォルダにファイルを投入すると自動的に処理を開始します
・ジョブを自動採番しjob_queue.jsonと.job.jsonを生成します。
・動画物体検出ジョブが自動実行されます
・進捗が定期的にダッシュボードに表示されます

 

 

次の記事から、てんかく忍者工場のラインを見学していただきます。
次工程は、【動画物体検出とフレーム単位の位置合わせ】の工程です。

 

 

▼この記事を書いたひと

001@2x.png

R&Dセンター 松井 良行

R&Dセンター 技術戦略担当部長。コンピュータと共に35年。そしてこれからも!

 

お問い合わせ

ご意見・ご質問などお気軽にお問い合わせ下さい。
ナカシャクリエイテブ株式会社

●富士見事務所 TEL : 052-228-8744(交通部営業課) FAX : 052-323-3337(交通部共通)
〒460-0014 愛知県名古屋市中区富士見町13−22 ファミール富士見711
地図

PoCのお問い合わせ:交通部営業課
技術的なお問い合わせ:R&Dセンター

Email:メールでのお問い合わせ