Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IoT×人工知能による画像認識技術勉強会
Search
ISHIGO Yusuke
August 27, 2018
Programming
0
90
IoT×人工知能による画像認識技術勉強会
追加資料
https://github.com/Yusk1450/WatsonStudyGroup
ISHIGO Yusuke
August 27, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
基礎演習(石郷ゼミ)紹介2024
yusk1450
0
20
アプリ開発プロジェクト紹介2024
yusk1450
0
41
Processing入門
yusk1450
0
81
ラピッドプロトタイピング手法を中心としたITスキル習得のための指導法の実践(日本教育工学会 第34回全国大会)
yusk1450
1
150
IoTサービスのためのプロトタイピング・ワークショップ資料(第2回)
yusk1450
0
80
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
yusk1450
0
90
IoTサービスのためのプロトタイピング・ワークショップ資料(第1回)
yusk1450
0
120
micro:bit入門資料(2018/08/29)
yusk1450
0
270
SOFTOPIA JAPAN MEETUP 2018
yusk1450
0
76
Other Decks in Programming
See All in Programming
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
300
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
Realtime API 入門
riofujimon
0
150
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
React への依存を最小にするフロントエンド設計
takonda
7
1.6k
Remix on Hono on Cloudflare Workers
yusukebe
1
300
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
Jakarta EE meets AI
ivargrimstad
0
700
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.4k
Code Review Best Practice
trishagee
64
17k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Writing Fast Ruby
sferik
627
61k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
What's in a price? How to price your products and services
michaelherold
243
12k
BBQ
matthewcrist
85
9.3k
Git: the NoSQL Database
bkeepers
PRO
427
64k
GitHub's CSS Performance
jonrohan
1030
460k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Transcript
None
https://bit.ly/2NjVgTi 本日の資料
自己紹介 日本総合ビジネス専門学校 NIHON-CHUO Institution 2017.4- 合同会社4D Pocket 4D Pocket LLC.
2017.4- 石郷 祐介 ISHIGO Yusuke Programmer
周辺の障害物を計測する装置 靴についたセンサで周辺障害物を認識する装置(株式会社アップアローズ)
周辺の障害物を計測する装置 靴についたセンサで周辺障害物を認識する装置(株式会社アップアローズ)
周辺の障害物を計測する装置 靴についたセンサで周辺障害物を認識する装置(株式会社アップアローズ)
GPSで現在位置を取得し、指定した位置まで自動的に戻ってくる浮き輪 MADE IN FICTION
自己紹介 ロボットアームのケーブル状態を監視するシステム(岐阜車体工業株式会社) 温湿度センサ サーモカメラ マイコン 確認用ディスプレイ カラーカメラ
本日の流れ 1. 画像認識について 2. 人工知能API「IBM Watson」で画像認識する ・写真に写っている物体を認識する ・独自画像を学習させて、写真に写っている物体を判別する 3.ワンボードマイコン(ESP32)のカメラを使って画像認識する ・ESP32について
・ESP32の環境構築 ・ESP32をネットワークに接続する ・「IBM Watson」に接続する
画像認識について 画像データ(ピクセルの並び)の特徴点と、事前に用意したサンプル画像 データの特徴点とを比較する技術(「意味」を読み取っているわけではない) 元画像 特徴点 画像に写っている物体が何であるかを判別する技術 =
応用例①(自動判別装置) きゅうりの等級を自動判別する装置 https://geek-out.jp/column/entry/2017/11/23/110000
応用例②(ARアプリ) 特定の画像を起点にして、任意の画像やアニメーションを再生する
画像認識を実現するための手段 1.「OpenCV」等の画像処理ライブラリを使用する 2.「TensorFlow」「scikit-learn」等の機械学習系ライブラリを使用する 3.「IBM Watson」等の人工知能プラットフォームを使う
1.画像処理ライブラリを使用する ・2値化、反転等の画像処理 ・文字認識(OCR)や物体検出 (独自画像を読み込ませることで、顔以外の検出も可能) OpenCV
2.機械学習ライブラリを使用する scikit-learn Pythonの機械学習のアルゴリズムをまとめたパッケージ (SVM、ランダムフォレスト、k近傍法、ロジスティクス回帰等) TensorFlow Googleが開発しているオープンソースの機械学習ライブラリ ディープラーニングに対応している Keras Pythonのニューラルネットワークライブラリ TensorFlowをバックエンドとして、同様の機能を完結な書き方で実現できる
2.機械学習ライブラリを使用する Movidius Neural Compute Stick ディープラーニングに特化した外部演算装置。クラウドに頼らず、ローカル 環境で高度な画像認識等が可能。 https://www.switch-science.com/catalog/3501/
3.人工知能プラットフォームを活用する IBM Cloud Watson
写真に写っている物体を認識する ① https://myibm.ibm.com/dashboard/ IBMダッシュボード
写真に写っている物体を認識する ②
写真に写っている物体を認識する ③
写真に写っている物体を認識する ④
写真に写っている物体を認識する ⑤
写真に写っている物体を認識する ⑥
あい旅っと 写真の風景に近い国内の風景を探し出し、マップを表示するアプリ
独自画像から画像判別する ①
独自画像から画像判別する ②
独自画像から画像判別する ③
独自画像から画像判別する ④
独自画像から画像判別する ⑤
独自画像から画像判別する ⑥
独自画像から画像判別する ⑦
独自画像から画像判別する ⑧
独自画像から画像判別する ⑨
独自画像から画像判別する ⑩ https://bit.ly/2wzeRYL 教師データ(犬の画像) ハスキー https://bit.ly/2PatMQB ゴールデンレトリバー
独自画像から画像判別する ⑪
独自画像から画像判別する ⑫
独自画像から画像判別する ⑬
Watsonに渡す教師データの注意点 ・ひとつの.zipファイルは、最大10,000個のイメージまたは100MB以内とする ・ひとつの.zipファイルにつき、最小10個のイメージが必要 ・処理時間と正確度のバランスとしては、150〜200個のイメージが最良 ・イメージを増やすメリットは、5,000個前後で頭打ちとなる ・撮影に使用しているカメラ等は、なるべく合わせたほうがいい (スマホと一眼レフの写真を混ぜると、うまく学習できない) ・対象物は、イメージの1/3以上写っているようにする ・否定的、肯定的なイメージは、同じ分量用意したほうがいい
よくない学習の例 Watsonが同一のモノと認識できない ・りんごが単体ではない ・りんご全体が写ってない
IoT×画像認識デバイス ボタンを押すとカメラ撮影して、Watsonに画像をアップロードして、 写っているものをディスプレイに表示する
ESP32 独自プログラムをインストールできる汎用マイコン(コンピュータ) Arduino互換 プロトタイピングによく使用される Arduino(オープンソースの汎用マイコン)と 同じ環境で開発できる。 ネット上の資料が流用可能。 高スペック CPUがデュアルコア、メモリが520KB (Arduino
UNOは2KB)。 BluetoothとWifiが標準で搭載されている。 低価格 1,500円程度で購入できる。 http://akizukidenshi.com/catalog/g/gM-11819/
Raspberry Piとの比較 リアルタイム画像認識の場合は、Raspberry Piを使う 動画の容量だとESP32のメモリ上に展開できない ESP32は、Raspberry Piの約1/4の価格 ESP32は、ブレッドボード等を含めると2,500円程度。 Raspberry Pi3は、ケース、アダプタ等を含めると10,000円程度。
ESP32の環境構築(Mac) 1.ターミナルを起動する 2.下記のリンク先にあるコマンドを実行する https://goo.gl/S7qRhD 3.ドライバをインストールする https://goo.gl/jiEM3q
Arduino IDE(開発環境)の使い方 ① ① 「ESP32 Dev Module」に設定する ② 適切なものに設定する ①
②
Arduino IDE(開発環境)の使い方 ② ③ マイコンにプログラムを書き込む
パーツリスト ESP32 http://akizukidenshi.com/catalog/g/gM-11819/ Grove - シリアルカメラキット http://akizukidenshi.com/catalog/g/gM-09161/ シリアルOLED液晶ディスプレイモジュール 128×32 https://www.amazon.co.jp/dp/B01M8JV310
USBケーブル Aオス - マイクロBオス http://akizukidenshi.com/catalog/g/gC-07607/ タクトスイッチ 12mm http://akizukidenshi.com/catalog/g/gP-09827/ ブレッドボード https://www.switch-science.com/catalog/313/ ジャンパワイヤ(オス〜オス) https://www.switch-science.com/catalog/57/
Microsoft Azure Computer Vision その他の人工知能プラットフォーム ① https://azure.microsoft.com/ja-jp/services/cognitive-services/computer-vision/
その他の人工知能プラットフォーム ② Amazon Rekognition https://aws.amazon.com/jp/rekognition/
その他の人工知能プラットフォーム ③ Google Cloud Vision https://cloud.google.com/vision/?hl=ja
None