Library
RPAお役立ち情報「RPAの画像認識技術って?」

RPAの画像認識技術って?ロボットで行う業務自動化の仕組みを深掘り!

RPAお役立ち情報「RPAの画像認識技術って?」

RPAの画像認識技術をご存じでしょうか。もしかすると、AIの画像診断技術や、OCRなどの技術をご存知かもしれません。

実は、画像認識技術は、RPAが自動で作業をする仕組みに関わっており、WinActorやUiPathなど代表的な製品をはじめ、ほとんどのRPAにはこの技術が使われています。

RPAツールの本質である、ロボットを動かすのに必要な技術です。

そこで、この記事では、画像認識技術のご紹介と、RPAの画像認識技術を少し深掘りして、RPAの仕組みを解説します。

RPAの導入時や、業務の自動化を進めるうえで、知っておいたほうが良い基礎知識です。ぜひご一読ください。

株式会社MICHIRU 取締役 CTO

この記事の監修担当者:
斎藤暁

医療施設法人やホンダ子会社のIT領域責任者などを経て独立。AI技術やシミュレータなど、複雑なアルゴリズムを駆使したシステムを提供している。自然言語処理によるシステムの技術は日米で特許を取得、その発明者でもある。2018年11月株式会社MICHIRUを創業。

RPAに使われる画像認識技術とは?

RPAに使われる画像認識技術とは?

画像認識技術とは、画像が一致しているかどうかを判別する技術として、例えば顔認証や、自動画像診断システム・OCR・自動運転システムにおいても利用される技術です。

そもそもどんな技術?

画像認識技術は、簡単に言うと、画像のピクセル値や、大きさ情報、位置情報のパラメーターなどを利用して、画像と画像が一致しているか計算し(マッチングと言います)、検証する技術です。

この技術は、A画像とB画像が一致しているか、コンピューターに判別させる技術です。

しかし、この作業は、点である情報を多く集めて判別する作業であり、計算に時間がかかること、そして、少しの差でもコンピューターは「違う」と認識しやすいことから、難易度が高い技術と言われていました。

かつてのOCRをご存じの方は、かなり間違いが多かったことをご存じかと思います。

ところが、人工知能が発達したことにより、この画像認識技術が10年ほど前から一気に実用化が進みました。かつてより精度・判定の時間とともに、格段に進歩したのが、今の画像認識技術です。

画像認識をRPAツールに使う理由とは?

ところで、RPAツールは、PCの動きを自動化します。

RPAは、PCのデスクトップ上、表示される画像がどうなっているかをRPAが判別して、その通りに何度も動く仕組みを取っています。つまり、RPAツールが動く仕組みは、この画像認識なのです。

例えば、アイコンをクリックするという動作であれば、アイコンの画像を認識してクリックしています。

この仕組みを基本に自動化を行うので、WinActor、UiPath、RPAexpressなどほとんどのRPAツールに使われており、フリーソフト・オープンソースソフトウェアでも同じです。

ただし、AIの高度な技術は使われておらず、自分である画像とある画像が同じ情報であるかどうかを判別して、学習することはできません。

自動化の仕組みを深掘り!画像は「指令」として機能

RPAツールの画像認識は、シナリオにのった画像が一致しているかどうかマッチングによる判別と、動きの修正くらいしかできないと言われています。

RPAツールには簡単なレベルのAIの技術が使われていますので、簡単な判断はできる、という程度です。

言い換えると、

  • RPAはあるパターンを覚えておくことはできる
  • そのため、検索して、同じものを見つけてくることはできる
  • しかし、少しの違いを認識して「同じ形ではあるが、色調がすこし違うだけので同じ」「同じ色調ではあるが、形がゆがんでいるだけなので同じ」といった高度な判断はできない。

これがRPAツールで利用されている画像認識技術の特徴です。このような画像の認識技術をイメージマッチングといいます。

RPAツールは、イメージマッチング技術を用いて、動きを記憶、再現するものです。

これに対して、プログラミングでオブジェクトコードを認識させる技術はオブジェクト認識と呼びます。

RPAツールの中にいるロボットは、

  • 画像で人間の指令を認識する
  • オブジェクトコードの形で人間の指令を認識する

の二種類の認識により、反復して同じ動きを自動で行うのです。

以上で自動化の仕組みとして、画像を手掛かりに、RPAに指示をするという意味での画像認識技術が使われていることを説明しましたが、実際にはRPAに画像を探させ、操作をさせるといった内容のシナリオを作り、その通りにRPAに動いてもらいます。

WinActorの操作画面などでは、この様子がとてもわかりやすいので、なるほど、と思う方もいらっしゃるでしょう。

RPAツールに画像認識を使った効果とメリット・デメリット

RPAツールに画像認識を使った効果とメリット・デメリット

RPAツールにがどう認識技術を使うことによる効果は、「プログラミングの知識・技術がなくてもRPAを自在に操作ができる」ということです。

この画像を認識して動く、ということがRPAに認識できればよいので、細かくプログラミングでRPAツールに指示をする必要はありません。

非エンジニアでも操作がしやすい

RPAツールは、基本的にプログラミングがなくても動かせる、エンジニアでなくても操作ができるということの理由はこの画像認識技術にあります。

ある程度定型化された画像認識によるマッチングができるので、細かくプログラミングによりロボットに指示をしなくても、ロボットが認識してくれます。

しかし、それと引き換えに、精度が落ちる、ということが考えられます。

オブジェクトコードを使ったプログラムで細かく指示をするのではなく、例えばアイコンの画像でまとめてRPAに指示をするのですから、細かい間違いが入った場合は指示通り動いてくれません。

この点、AIがあれば、修正して動くことができるのですが、RPAツールに備わっているのはカンタンな人工知能だけでですので、学習して修正することを自分からしてくれるわけではありません。

パターン化された動きは大得意A

また、RPAツールに画像認識を使っていることにより、仕事をパターン化し、何度も反復するのは得意です。

RPAツールがシンプルにPC上の動作を覚えて、その通りに何度も繰り返して動くのは、ある程度抽象化された画像を認識して、細かく判断はしないから、ということができます。

RPAツールも最小限の修正ができますが、多くの修正をしていたら、それだけロボットの処理スピードを犠牲にすることになるでしょう。

ちょっと見方を変えると、RPAが深層学習をつかった判断をして、学習をすると、同じ動きをするのに、長い計算が必要になり、かえって非効率・演算をおこなうコンピュータ・サーバも大きな容量・処理力が必要になり、非常に高コストになります。

今後、RPAに搭載する人工知能もさらに進化することが見込まれ、現在のAIが行っている深層学習もそのうちRAPの機能の一部になることが考えられます。

ただし、大量反復するパターン化された仕事をするには、オブジェクトコードの画像による抽象化という考え方自体は今後も使われていくでしょう。

正確性が泣き所、オブジェクト認識で修正する必要がある

ある程度抽象化されている画像を認識することでどうしても生じてしまう誤差は、RPAのエラーとなり、しばしばRPAの運用の障害になります。

そこで、プログラミングを理解している技術者によるエラー修正が必要になってきます。

シンプルなシナリオで小さく運用するでしたらこうした正確性が大きな問題になることはあまり多くはなく、サポートをうまく使うと解決できます。

しかし、長いシナリオや、他のシステムに入力する場合、大きな運用などの場面で、正確性の問題から、プログラミングによる修正が必要になることが増えます。

最初から技術者がこうしたシナリオ開発を行うと、確かに誤差を避けることができます。

また、パターンマッチングの考え方からはフリーで一からシナリオを書けるので、シナリオの自由度も上げることができます。

しかし、非技術者による自動化を進めることがRPAツールの大きな目的の一つですから、正確性と、操作性・利便性、あるいはコストとのバランスを今後も保つことは今後もしばらく課題となることでしょう。

初心者にもやさしく操作しやすいのがMICHIRU RPA

初心者にもやさしく操作しやすいのがMICHIRU RPA

MICHIRU RPAも、画像認識技術を使って、操作性を高めています。また、画像認識技術に加えて、操作性を高めるポイントになるのが、UIです。

MICHIRU RPAは、クリアにわかりやすいUIを使い、初心者でもより操作しやすい工夫がなされています。

日本語のサポートがあり、しかも定期セミナーで、初心者でも実際の製品に触りながら、操作を学ぶことができるのもMICHIRU RPAの導入しやすい点です。

中小企業が小さく運用するなら、技術人員を確保しなくてもMICHIRU RPAのサポートで十分運用が可能です。

コストの面でも、初期費用が10万円、月5万円から導入できて、中小企業にも十分手が届きます。

まとめ

RPAツールはどうして自動で動くのか、そのコアとなる技術である画像認識技術と、RPAの仕組みをお伝えしました。

なぜRPAツールは、プログラミングを使わなくても作業が自動化できるのか、また、プログラミングを使ったほうが良い場面もご理解いただけたと思います。

導入後には、人員の確保や、メンテナンスの予算の問題がつきものですが、仕組みを理解するとより正確に見通しが持てます。本記事をご活用いただき、ぜひ導入の参考としてください。