20
Dmpve!Wjtjpo!BQJ؇اؤHVJ ؊㯽崝哋▶◷ 㔬懞؇ド↛؊厊؇ℸ ا؛cz! Nbtbtij!Ufsvj!bu!HDQVH!Tbqqpsp!wpm/3!NM!Ojhiu

Cloud Vsion APIによるGUIの検証自動化

Embed Size (px)

Citation preview

Page 1: Cloud Vsion APIによるGUIの検証自動化
Page 2: Cloud Vsion APIによるGUIの検証自動化

Masashi Terui @ marcy_teruiI’m a Developer and Cloud Architect.

I’m a Remote-Multi-Worker at Serverworks Co., Ltd. / Section-9 / Freelance I’m a member of GCPUG, JAWS-UG and MyNA.

I’m around 30 years old. I’m a father of my son and my daughter. https://willy.works/

2

Page 3: Cloud Vsion APIによるGUIの検証自動化

3

Page 4: Cloud Vsion APIによるGUIの検証自動化

4

Page 5: Cloud Vsion APIによるGUIの検証自動化

Vision API is 何

5

画像検索やGoogle Photos等で培われたGoogleの画像認識技術を

Web APIから呼び出して利用できるサービス

強化学習はGoogleによって随時行われ、勝手に精度が上がる

安い・1000検知/月まで無料

Page 6: Cloud Vsion APIによるGUIの検証自動化

Vision API 主な機能

6

物体のカテゴライズ

有害コンテンツ判定

著名なロゴやランドマークの検知

顔検知(感情や装飾品など)

OCR ← 今回使うのはコレ

Page 7: Cloud Vsion APIによるGUIの検証自動化

7

Page 8: Cloud Vsion APIによるGUIの検証自動化

目的

8

Web(HTML)ではないGUIを自動操作して定型的な作業を省略したい

Web(HTML)ならSeleniumでおk

確認作業も省略したいから自動操作の結果を検証したい

「○○にxxxxというメッセージ・表示が出ること」的な確認

OCR機能が必要

Page 9: Cloud Vsion APIによるGUIの検証自動化

理由

9

OpenCV(後述)でもOCRはできるが、デフォルトだと精度が悪く

チューニングの情報も少なくて苦労しそうだった

TensorFlowは情報も多くなってきたが、学習素材を用意したり

細かいチューニングも踏まえると費用対効果的に厳しい

時間削減が目的のアプリケーションで製造に時間を取られたくない

Page 10: Cloud Vsion APIによるGUIの検証自動化

10

Page 11: Cloud Vsion APIによるGUIの検証自動化

Sikuli

11

OpenCVと各種ドライバをゴニョゴニョしてGUI操作を行う

JVM上で動き、マルチプラットフォーム対応

Python(Jython), Ruby(JRuby)で自動化スクリプトが書ける

ドライバの依存とかでクラウドで動かせないのが難点。。。

Page 12: Cloud Vsion APIによるGUIの検証自動化

12

Page 13: Cloud Vsion APIによるGUIの検証自動化

13

Page 14: Cloud Vsion APIによるGUIの検証自動化

14

Page 15: Cloud Vsion APIによるGUIの検証自動化

15

Page 16: Cloud Vsion APIによるGUIの検証自動化

精度

16

英語の精度は相当高い(今回は英語なのでバッチリだった)

記号が上手く認識できなかったり前後が抜けたりはあった

日本語もちょっと試した感じかなりいけそう

システム画面だったので手書きだとどうなるかは未検証

Page 17: Cloud Vsion APIによるGUIの検証自動化

使いやすさ

17

APIは非常に平易で扱いやすい

google-api-clientがJythonで動くか不安だったけど、

普通にurllib2(Python標準ライブラリ)で簡単に実装できた

APIキーを含めたリクエストにBase64化した画像を添えて投げつける

またはGCSのパスを指定するだけ

Page 18: Cloud Vsion APIによるGUIの検証自動化

18

Page 19: Cloud Vsion APIによるGUIの検証自動化

まとめ

19

機械学習自体を自分でやらなくても、用途が合えば応用はできる

開発速度を上げるためにまずは巨人の肩に乗るのもアリ 身近な所に使える場所はいっぱいあるかも?

他にも色々あるよ

Cloud Speech API(音声認識) Natural Language API(テキスト分析)

Cloud Translate API(翻訳)

Page 20: Cloud Vsion APIによるGUIの検証自動化