クーの自由研究

マスターのかえるのクーは、弟子達の召喚術により新たな依り代を得てⅡ世として復活しました。

カッコよくPythonでRPAをキメてみよう

手段が目的化することを趣味という(お気に入りの言葉)

昨日はここ5年くらいのうちで一番体調が悪かった、かえるのクーの助手の「井戸中 聖」(いとなか あきら)でございます。精神的なものと思われます。肋骨のあたりがじわーっといたく(あぶら汗でるくらい)、思春期特有の病のような様相でした。((追記)有識者によると黄昏期によくある肋間神経痛だろうとのことでした)

さて、気力を振り絞って今日もブログします。

(ときはきた!2期はよ~!:あの「鬼滅」を抑えてのniconico賞:シャミ子が悪いんだよ!の感動をいまふたたび)

昨日は pix2pix をやってみました。cudaをうまく使えていなかったようで、思いの他時間はかかりましたが、処理自体は良好でした。

あらゆる操作処理を自動化しましょう

そもそも、TecoGANの画像の前処理を簡単にするためのツールを探してpix2pixを確認し、pix2pixの学習データを作成(前処理)するのが面倒なので、今度はRPA(ロボティックプロセスオートメーション(Robotic Process Automation))に手を出してみます。

ヤクの毛刈りというそうです。

f:id:AssistantOfKoo:20210521001549j:plain

RPAは「処理の自動化」をちょっとおしゃれにカッコつけて言ってみただけのものです。

おさらい(RPAに求めるもの)

・いままでの手入力で行なっていた処理を「ソフトウェアロボット」により行う。

・ソフトウェアオペレーションとして人ができる入力(マウス操作、キーボード操作etc)はすべて「ロボット」で可能である。

・画面の状態(処理中、確認、画面の表示結果など)を(きめられた)判断をしてタイミングをとったり簡単な分岐できる。

・あらかじめ別に準備した情報に基づき、多量のデータオペレーションを行う。

・対象の「画面側」のシステムには(ほぼ)手を加えなくてよい。

・応用で、あるソフトの出力を「見て」他のソフトへの「入力」につなぐなどができる。

RPAは基本的にノンプログラミンで、汎用的にEXCELマクロのように操作を記録再生できる「だけ」のものとも言えます。(工夫はいろいろされてますが)

UWSC ?

ならば、UWSCでいいじゃん!(ただしWindows専用)

とも思います。

UWSCはずっと前(RPAなんて言葉がない2000年代初頭の時期)から個人的な事務処理に大活躍しています。でもRPA関係の利権がらみでどうなるかわかりません。(RPAメーカとしては無償版のあるUWSCは超絶ジャマなはずなので)なおUWSC公式ページは消失の模様です。

また、EXCELにテスト手順情報を書いておけば、そのとおりに入力していっていくようなことも(工夫次第で)簡単にできるので、画面系のテストにも大変重宝しています。

まぁOSの「メッセージ(オブジェクト間通信)機能」を汎用化したものなので、プログラムする前提でpythonでも問題なくできます。

個人的にはUWSCはかなり慣れており、記録やプログラミング(繰り返し、判断)もコーディングできるのですが、ここは趣味なので、最終的にはpythonでやってみることにします。

先輩方はもちろんやっておられますね。

とはいえ、pythonで汎用操作記録をつくるのは手間なので、まずはUWSCでやってみます。いえ、pythonでやればすぐなのはわかっているのですが。。。

手順

(1)Originフォルダに所定の枚数の元の画像を格納する(00001.jpg~00400.jpg):手作業

(2)Editフォルダを準備する:手作業

(3)Gimp(画像処理ソフト)を起動しておく

(4)00001.jpg を読み込み、一連の操作で編集してEdit_00001.jpgとしてEditフォルダに格納するところまでをUWSCで記録する。

※pix2pixの学習用に作成するのであれば、そのように(画像ペアで1ファイル)なるよう保存。

(5)UWSCの記録が正しく動作するか確認する。(必要であれば途中sleepなどを入れる)

(6)正しく動作するようであれば、入力ファイル名、出力ファイル名を変数化(もしくはExcel表セルを順番に読んでいく(EXCELに対して矢印操作とCtrl+Copy操作)ように)して、(5)の操作を繰り返し行えるようにする。

なお、(6)の部分は安定に動作するものができれば、いろいろ使いまわせます。

(4)が前処理としてやらせたい部分です。この内容を各種スクリプトとして記録しておけば、大量の画像の前処理がほぼノンプログラミングで可能となります。(自動とはいえ、画面操作なので、時間はもちろんそれなりにかかります。)

 

というわけで、本日も体調がよくないので、実処理は明日(以降)また。

全部UWSCできるし、それでもいいんじゃない?ともおもいつつ。。。

(参考)これもWindows系ですが、自動化に関するわかりやすいまとめです。

(つづく。。。のか?)

タイトル詐欺をお詫びします

タイトル詐欺ですが、Pythonは今週末やりますってばよ。(余談ですがGoogleクローラはこんな詐欺記載がある記事はぐっと信頼性を下げるくらいにちゃんと内容を評価している、というわたくしの分析結果です)

えっ!GIMPってLISP言語プラグインで自動化できるんですか?そうですか。LISPは幼少のころ自動設計製図系でかなりやったので、まだわかるはず。。。その路線もあるかも。

(追記)ネットを検索して知ったのですが、UWSCの作者の方は2018前後にお亡くなりになられたとの情報がありました。たいへん有用なソフトを提供いただいたことに感謝するとともに、遅ればせながらご冥福をお祈り申し上げます。