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
PRO
August 27, 2018
Programming
0
92
IoT×人工知能による画像認識技術勉強会
追加資料
https://github.com/Yusk1450/WatsonStudyGroup
ISHIGO Yusuke
PRO
August 27, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
15
プログラミング基礎#1(名古屋造形大学)
yusk1450
PRO
0
36
プログラミング基礎#2(名古屋造形大学)
yusk1450
PRO
0
39
プログラミング基礎#3(名古屋造形大学)
yusk1450
PRO
0
42
プログラミング基礎#4(名古屋造形大学)
yusk1450
PRO
0
120
自己紹介(研究活動)
yusk1450
PRO
0
17
こどもICT学級 人工知能(AI)ってなに?(2020/11/21)
yusk1450
PRO
0
9
こどもICT学級 人工知能(AI)ってなに?(2020/11/7)
yusk1450
PRO
0
8
2025年度 基礎演習(石郷ゼミ)紹介(名古屋文理大学)
yusk1450
PRO
0
31
Other Decks in Programming
See All in Programming
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
200
Ruby on cygwin 2025-02
fd0
0
150
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
910
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
170
Writing documentation can be fun with plugin system
okuramasafumi
0
120
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
『品質』という言葉が嫌いな理由
korimu
0
160
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
37
14k
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
840
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
GraphQLとの向き合い方2022年版
quramy
44
13k
How GitHub (no longer) Works
holman
314
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Embracing the Ebb and Flow
colly
84
4.6k
Site-Speed That Sticks
csswizardry
4
380
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Building Applications with DynamoDB
mza
93
6.2k
What's in a price? How to price your products and services
michaelherold
244
12k
Gamification - CAS2011
davidbonilla
80
5.1k
Scaling GitHub
holman
459
140k
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