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
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
880
役立つログに取り組もう
irof
28
9.6k
距離関数を極める! / SESSIONS 2024
gam0022
0
280
Jakarta EE meets AI
ivargrimstad
0
190
Better Code Design in PHP
afilina
PRO
0
130
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
620
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
120
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
290
初めてDefinitelyTypedにPRを出した話
syumai
0
420
Quine, Polyglot, 良いコード
qnighy
4
640
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
Scaling GitHub
holman
458
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Building Your Own Lightsaber
phodgson
103
6.1k
The Cult of Friendly URLs
andyhume
78
6k
We Have a Design System, Now What?
morganepeng
50
7.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Designing for Performance
lara
604
68k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
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