はじめてのクラウドai開発キット グーグルのaiを利 …...ocr2(テキスト文字...
TRANSCRIPT
はじめての顔認識・物体認識用AI開発キット~クラウド3社(マイクロソフト、グーグル、アマゾン)及びYoloなどローカル利用の
画像認識AI開発キット(写真、ビデオ、リアルタイム・カメラ対応)~
開発編(CPU_クラウド版)
スペクトラム・テクノロジー株式会社
https://[email protected]
all rights reserved 2019 spectrum technology co. 1
V1.0 2019/7/30
抜粋編
開発編 目次• Ubuntu運用マニュアル ページ
1. Ubuntuについて 42. Linux基本コマンド 53. Ubuntu基本操作 64. 日常運用(ウイルススキャン、更新) 7
• ソフトウエア概要1. ソフト一覧 92. 機能一覧 103. プロトコルスタック 11
• Google cloud 12• Google cloud概要
1. 開発キット全体像 132. 開発プログラム一覧 14
• GCP設定(Google cloud platform)アカウント登録、プロジェクト登録、API設定、APIキーの発行、 16サービスアカウントキーの発行、IAMと管理 22
• Google Cloud 開発• 画像認識 25• 動画認識 61
all rights reserved 2019 spectrum technology co. 2
抜粋編のため、ページと内容は一致しません
開発編 目次• Azure 66• Azure AI概要
1. 開発キット全体像 672. 開発プログラム一覧 68
• Azure設定 69• Azure開発
1. Face 722. Computer vision 763. Video Indexer 814. Custom vision 82
• AWS 83• AWS AI概要
1. 開発キット全体像 842. 開発プログラム一覧 85
• AWS設定 86• AWS開発
1. Rekognition 932. Kinesis 114
all rights reserved 2019 spectrum technology co. 3
ページ
ソフトウエア概要1.ソフト一覧
all rights reserved 2019 spectrum technology co. 4
本開発キットのインストールしているソフトウエアの概要です。
区分 ソフト名 バージョン 備考
OS ubuntu 18.04.2 LTS
画像 OpencvDlib
3.419.17
プログラム python3 3.6 仮想環境は未構築。基本は、python3で動作確認しています。
python2 2.7 一部のプログラムで使用
AI tensorflow 1.12
cuDNN 7.6+cuda10
yolo yolov3 ローカルで動作
API tensorflow object detection api
ローカルで動作
google-cloud-visiongoogle-cloud-videointelligence
0.371.9
グーグル・クラウド
Azure face api 1.5 マイクロソフト・クラウド
AWS recognition, AWS kinesis
1.14(aws cli) アマゾン・クラウド
その他 jupyter notebookなど関連ソフト多数インストール済
ソフトウエア概要3.プロトコルスタック
画像認識関係のソフトの位置付けです。
5all rights reserved 2019 spectrum technology co.
Windows
OpenCV
Linux
GPU
CUDA
CPU
cuDNNTensorflowYolo
Application Program
クラウド各社API
ハード
OS
画像処理
AI
アプリ
Python:プログラム言語
クラウド
Google cloud
• Google cloudポータル:https://console.cloud.google.com/home/dashboard
• Google cloudサービストップ:https://cloud.google.com/products/?hl=ja
• Vision API:https://cloud.google.com/vision/?hl=ja• Video Intelligence:https://cloud.google.com/video-
intelligence/?hl=ja• プログラムはpython3で動作します。pythonは、python3と読み替えてください。
all rights reserved 2019 spectrum technology co. 6
Google Cloud 概要1.開発キット全体像
Cloud IAMCloud Storage
開発キット
CloudAPIs
Vision APISpeech
APINatural
Language APITranslation
APIVideoAPI β
Machine Learning
Cloud SDK
プログラム
REST API
all rights reserved 2019 spectrum technology co. 7
クラウドAI名
プログラム名 機能内容 実用度(当社評価)
信頼度(当社評価)
備考
Cloudvision api(画像認識)
OCR(文字認識) 画像内のテキストを検出、抽出できます。幅広い言語がサポートされており、言語の種類も自動で判別されます。
A 90% 手書き文字はC:10%位
Face(顔検出) 画像に含まれる複数の人物の顔を検出できます。感情や帽子の着用といった主要な顔の属性についても識別されます。
A 90% 特定の人の顔認識はできません
Label(ラベル検出) 乗り物や動物など、画像に写っているさまざまなカテゴリの物体を検出できます。
A 90%
Web(ウエブ検出) 類似の画像をインターネットで検索できます
A 90%
Safe(不適切画像検出)
アダルトコンテンツや暴力的コンテンツ
など、画像に含まれる不適切なコンテンツを検出できます
A 90%
Logo(ロゴ検出) 画像に含まれる一般的な商品ロゴを検出できます
C 10% 文字のないロゴは検出できない
Landmark(ランドマーク検出)
画像に含まれる一般的な自然のランドマークや人工建造物を検出できます。
B 50%(画像次第)
Prop(画像属性検出)
画像のドミナントカラーや切り抜きのヒン
トなど、画像の一般的な属性を検出できます
B
Crop(画像切り抜き)
認識できる画像に切り抜きできます。画像の最小化
B
multipage 複数画像を処理できるプログラム
loadjson Json形式のデータを読み出すプログラム
Google Cloud 概要2.開発キットプログラム一覧
A:実用可能B:チャレンジC:試験段階
http方式とラ
イブラリ方式の二つ準備
all rights reserved 2019 spectrum technology co. 8
Google Cloud 概要2.開発キットプログラム一覧クラウドAI名
部品名 機能内容 実用度(主観)
信頼度(主観)
備考
Cloud video apibeta(動画認識)
Label(ラベル認識)
「犬」、「花」、「車」などの動画内のエンティティを検出します
A 70%
adult(不適切動画検出)
アダルトコンテンツや暴力的コンテ
ンツなど、画像に含まれる不適切なコンテンツを検出できます
A 70%
analyze(統合型分析)
Shot:動画内のシーンの変更を検出しますAdult:不適切シーンの検出
B
Face(顔認識) プログラムはありますが、エラー。プライバシー保護のため
C エラー
A:実用可能B:チャレンジC:試験段階
all rights reserved 2019 spectrum technology co. 9
Google Cloud 開発画像認識
• テキスト認識:ocr1.py(画像からテキスト抽出)
• Ubuntuからocr1.pyを実行します。
• Api キーがあってると、結果が出力されます。
• 出力は、piの画面上とファイルのdata1.jsonの双方にでます。
all rights reserved 2019 spectrum technology co. 10
① Cloud vision>1_OCR(文字認識) コマンド$ cd /home/masa/Documents/cloud_vision/1_ocr$ python ocr1.py
Webでの確認https://cloud.google.com/vi
sion/?authuser=1&hl=ja
Google Cloud 開発動画認識
11
④ Cloud video>camera
コマンド$ cd /home/pi/Documents/gcp_api/cloud_video/camera$ python object_cam1.py• object_cam1.py(リアルタイム・カメラによる物体認識)
• Webカメラで映ったラベルを検出します。
• 16行目にAPIキー
• GPUでないため遅延します
all rights reserved 2019 spectrum technology co.
python3でエラーのためpythonで実施してください
VMwareにカメラが接続されているか要確認右上のアイコン
Azure
• Azureポータル:https://portal.azure.com/?l=ja.ja-jp#home• Cognitive service:https://azure.microsoft.com/ja-
jp/services/cognitive-services/• Cognitive service API:
https://japaneast.dev.cognitive.microsoft.com/docs/services/5adf991815e1060e6355ad44/operations/2afb498089f74080d7ef85eb
• Custom vision:https://azure.microsoft.com/ja-jp/services/cognitive-services/custom-vision-service/
all rights reserved 2019 spectrum technology co. 12
Azure AI概要1.開発キット全体像
開発キット
プログラム
REST API
all rights reserved 2019 spectrum technology co. 13
Cognitive services
Face
Computer VisionCustom Vision
Video Indexer
クラウドAI名
プログラム名 機能内容 実用度(当社評価)
信頼度(当社評価)
備考
Face Azure_Face(顔検出)
写真から顔抽出。 A 90%
Face_cam1 動画カメラから年齢、性別抽出 A 70% 年齢の誤差が少ない、遅延あり
Emotion_cam1 動画カメラから感情抽出 A 70% 遅延あり
Computer vision
remote(ラベル検出)
画像に含まれるラベルを検出できます。 A 90%
thumbnail 画像がら縮小画像のサムネイルを自動作成
A 90%
ocr1(手書き文字検出)
乗り物や動物など、画像に写っているさまざまなカテゴリの物体を検出できます。
C 30% 日本語認識しない。英語はかなりよい
Ocr2(テキスト文字検出)
画像内のテキスト文字を抽出 A 90%
landmark(ランドマーク検出)
画像に含まれる一般的な自然のランドマークや人工建造物を検出できます。
B 50%(画像次第)
Azure AI概要2.開発キットプログラム一覧
A:実用可能B:チャレンジC:試験段階
all rights reserved 2019 spectrum technology co. 14
Azure開発1. Cognitive>face API①サンプル写真試験(Web)
all rights reserved 2019 spectrum technology co. 15
• Ubuntuからサンプル試験を行います。
• Python3 sampleでサンプル試験します。Web画面が自動で立ち上がります。
• キーとエンドポイントURLを入力します。一度設定すると、次から設定なくなります。
コマンド$ cd /home/masa/Documents/azure/Cognitive-Face-Python$ python sample
他にグループ、同一人識別などあります。テストしてく
ださい。
Azure開発1. Cognitive>face API②カメラ試験(感情)
all rights reserved 2019 spectrum technology co. 16
• Ubuntuからカメラ試験を行います。
• Python3 emotion_cam1.pyでカメラによる感情試験します。
• キーとURLを設定してください。
• 表示にタイムラグがでます。
コマンド$ cd /home/masa/Documents/azure/$ python emotion_cam1.py
VMwareにカメラが接続されているか要確認右上のアイコン
Azure開発2. Cognitive>Computer vision api③OCR認識(テキスト)
all rights reserved 2019 spectrum technology co. 17
• 画像内のテキストを分析します。
• python3 ocr2.pyで画像のテキストを認識します。
• キーとURL、写真の場所を設定してください。
コマンド$ cd/home/masa/Documents/azure/computer_vision$ python ocr2.py
AWS
• AWSポータル:https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1#
• Rekognition:https://ap-northeast-1.console.aws.amazon.com/rekognition/home?region=ap-northeast-1#/
• Kinesis: https://ap-northeast-1.console.aws.amazon.com/kinesis/home?region=ap-northeast-1#/dashboard
all rights reserved 2019 spectrum technology co. 18
AWS AI概要1.開発キット全体像
開発キット
プログラム
REST API
all rights reserved 2019 spectrum technology co. 19
Amazon Rekognition
Amazon Kinesis
IAM
AmazonSNS
クラウドAI名
プログラム名 機能内容 実用度(当社評価)
信頼度(当社評価)
備考
Rekognition(画像認識)
Label(ラベル検出) 画像に写っているさまざまなラベルを検出できます。
A 90%
Face(顔検出) 画像に含まれる人物の顔を検出できます。
A 90%
OCR(文字認識) 画像内のテキストを検出、抽出できます。 A 90%
Videolabel(ラベル検出)
ビデオ内に写っているさまざまなラベルを検出できます。
B 50% 処理が遅い。バッチでの利用
Searchface(指定人物検出)
画像に含まれる指定人物の顔を検出できます
A 90%
videoSearchface(指定人物検出)
ビデオ内に含まれる指定人物の顔を検出できます
B 50% 処理が遅い
Videotackperson(指定人物の動線検出)
ビデオ内に含まれる指定人物の動線を検出できます
B 50% 処理が遅い
Videomoderation(安全でないコンテンツ検出)
ビデオ内に含まれる下着、裸などの安全でないコンテンツを検出できます
B 50% 処理が遅い
KInesis streaming(ストリーミング配信)
カメラ画像をリアルタイムでストリーミング。カメラ内のリアルタイム抽出は設定が難しく未達成
C 10% 遅延がひどい
AWS AI概要2.開発キットプログラム一覧
A:実用可能B:チャレンジC:試験段階
all rights reserved 2019 spectrum technology co. 20
AWS 開発1.Rekognition④顔認識• 写真の顔認識です。S3を使った事例です。
• Reko_face2.pyはローカルの場所の例です。
all rights reserved 2019 spectrum technology co. 21
コマンド$ cd /home/masa/Documents/aws_reko$ python reko_face1.py
抽出結果
AWS 開発2.Kinesis②ストリーミング(ライブカメラ)• Kinesisにより、カメラ映像のストリーミングを実現します。
• 遅延時間がひどく、使えない
all rights reserved 2019 spectrum technology co. 22