はじめてのクラウドai開発キット グーグルのaiを利 …...ocr2(テキスト文字...

22
はじめての顔認識・物体認識用AI開発キット ~クラウド3社(マイクロソフト、グーグル、アマゾン)及びYoloなどローカル利用の 画像認識AI開発キット(写真、ビデオ、リアルタイム・カメラ対応) ~ 開発編(CPU_クラウド版) スペクトラム・テクノロジー株式会社 https://spectrum-tech.co.jp [email protected] all rights reserved 2019 spectrum technology co. 1 V1.0 2019/7/30 抜粋編

Upload: others

Post on 02-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

はじめての顔認識・物体認識用AI開発キット~クラウド3社(マイクロソフト、グーグル、アマゾン)及びYoloなどローカル利用の

画像認識AI開発キット(写真、ビデオ、リアルタイム・カメラ対応)~

開発編(CPU_クラウド版)

スペクトラム・テクノロジー株式会社

https://[email protected]

all rights reserved 2019 spectrum technology co. 1

V1.0 2019/7/30

抜粋編

Page 2: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

開発編 目次• 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

抜粋編のため、ページと内容は一致しません

Page 3: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

開発編 目次• 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

ページ

Page 4: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

ソフトウエア概要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など関連ソフト多数インストール済

Page 5: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

ソフトウエア概要3.プロトコルスタック

画像認識関係のソフトの位置付けです。

5all rights reserved 2019 spectrum technology co.

Windows

OpenCV

Linux

GPU

CUDA

CPU

cuDNNTensorflowYolo

Application Program

クラウド各社API

ハード

OS

画像処理

AI

アプリ

Python:プログラム言語

クラウド

Page 6: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 7: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 8: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

クラウド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

Page 9: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 10: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 11: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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にカメラが接続されているか要確認右上のアイコン

Page 12: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 13: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

Azure AI概要1.開発キット全体像

開発キット

プログラム

REST API

all rights reserved 2019 spectrum technology co. 13

Cognitive services

Face

Computer VisionCustom Vision

Video Indexer

Page 14: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

クラウド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

Page 15: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

他にグループ、同一人識別などあります。テストしてく

ださい。

Page 16: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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にカメラが接続されているか要確認右上のアイコン

Page 17: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 18: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

Page 19: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

AWS AI概要1.開発キット全体像

開発キット

プログラム

REST API

all rights reserved 2019 spectrum technology co. 19

Amazon Rekognition

Amazon Kinesis

IAM

AmazonSNS

Page 20: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

クラウド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

Page 21: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

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

抽出結果

Page 22: はじめてのクラウドAI開発キット グーグルのAIを利 …...Ocr2(テキスト文字 検出) 画像内のテキスト文字を抽出 A 90% landmark (ランド マーク検出)

AWS 開発2.Kinesis②ストリーミング(ライブカメラ)• Kinesisにより、カメラ映像のストリーミングを実現します。

• 遅延時間がひどく、使えない

all rights reserved 2019 spectrum technology co. 22