今日は、画像認識で作業を自動化できる、RPA的なツールを作ることのできる、「SikuliX(しくり)」を紹介します。
簡単な作業と、簡単なプログラミング(言語としてPythonが使えます)で作業が自動化できるので、簡易的なRPA開発ツールとしても使えます。
SikuliXの特徴
Bizroboとか、エンタープライズ向けのRPAツールは、たとえばWebページを操作しようとする場合、WebページのHTMLのソースを読んで、タグを指定して動かす、ということが多いです。
一方、SikuliXは、Webページのソースではなく、パソコンそのものの操作、マウス操作やキーボード操作がメインになります。
たとえば、
「検索エンジンのWebページで検索ボタンを押す」
というのを自動化しようとした場合、以下のような違いがあります。
Bizrobo等
→ページのソース、classタグとかを使って検索ボタンを特定してクリックさせるような動き
SikuliX
→画像で「検索」ボタンを認識させて、その認識した画像をもとに、指定された「座標」をクリックしに行くような動き
一概に、「どちらの方法がベスト」というのは言えないので、自分が作りたい自動化プログラムの用途に合わせて、どの自動化ツールを使うのかを選択するのが良いと思います。
SikuliXのメリット
画像認識
SikuliXのメリットは、画像認識でパソコン操作が行えることです。
たとえば、Webページのソースが見えないようなサイトだったり、もしくは、Webページですらない、特定のアプリケーションを自動化する、ということもできます。
うまく工夫してやれば、Webページ操作の自動化はもちろんのこと、パソコンで動くオンラインゲームの自動操作、とかもできるかもしれません。
ソースが見れないようなアプリケーションをRPAで自動化できるのは、画像認識機能があるRPAツールじゃないと無理なんじゃないか?と思います。
無料で使える
何気に、個人で利用する分には、「無料で使える」というのが大きいです。
SikuliXを動かすためには、SikuliXとJavaが必要になりますが、どちらも無料でダウンロードして使うことができます。
Sikuliのデメリット
安定性、信頼性がいまいち
Sikuliのデメリットは、良くも悪くも「画像認識」である点です。
「画像」で認識するため、たとえばSikuliXで作った自動化プログラム一式を、ほかのパソコンに移して使おうとすると、ディスプレイの解像度やパソコンの環境が異なるために、動かない可能性があります。(というか、むしろちゃんと動かない可能性が高い。)
たとえ同じパソコンでも、パソコンの解像度が変わったとか、ちょっとした変化で上手く動かなくなったりすることがあります。
そのため、自動化プログラムの安定性、という意味では、Bizroboのようにソースを読みに行って動かすRPAツールのほうが安定して動かすことができます。
まとめ
以上、個人的な経験も踏まえた「SikuliXとは」になります。
企業の業務で使うには、ちょっと安定性、信頼性に欠けるところが玉に瑕ですが、個人で使う分には、それほど問題にならないかと思います。
安定性、信頼性に欠けるので、ミスったらいけない作業はSikuliXでの自動化に向いていません。
なので、株式売買作業の自動化とかはやめといたほうが良いです(笑)
逆に、オンラインゲームのレベル上げ的な、ちょっとくらい失敗しても大丈夫、みたいな単純繰り返し作業とかは、SikuliXに向いてそうに思います。
SikuliXでは、Pythonの文法を使ってプログラミングするので、Pythonの勉強も活かせるし、私は自分の作業の自動化のため、Sikuliの勉強もPythonの勉強とあわせてやっていこうと思います。