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
画像認識ハンズオン
Search
ISHIGO Yusuke
PRO
January 27, 2018
Technology
0
200
画像認識ハンズオン
ISHIGO Yusuke
PRO
January 27, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
ハッカソンを活用したモノづくり教育について
yusk1450
PRO
2
110
コロナ対応 混雑状況マップ搭載 「岐阜県観光AIサイネージ」(2021年)
yusk1450
PRO
0
41
ゲーム技術基礎#1
yusk1450
PRO
0
63
ゲーム技術基礎#2
yusk1450
PRO
0
31
ゲーム技術基礎#3
yusk1450
PRO
0
27
2025年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
1
140
自己紹介(研究活動)
yusk1450
PRO
0
74
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
63
こどもICT学級 人工知能(AI)ってなに?(2020/11/21)
yusk1450
PRO
0
48
Other Decks in Technology
See All in Technology
2025-10-09_プロジェクトマネージャーAIチャンス
taukami
0
130
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
500
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
680
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
440
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
2
610
How to achieve interoperable digital identity across Asian countries
fujie
0
150
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
730
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
240
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
250
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
170
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
6
1.3k
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
300
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Typedesign – Prime Four
hannesfritz
42
2.8k
The Cost Of JavaScript in 2023
addyosmani
54
9k
Making Projects Easy
brettharned
119
6.4k
We Have a Design System, Now What?
morganepeng
53
7.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Producing Creativity
orderedlist
PRO
347
40k
Bash Introduction
62gerente
615
210k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Transcript
None
自己紹介 日本総合ビジネス専門学校 NIHON-CHUO Institution 2017.4- 合同会社4D Pocket 4D Pocket LLC.
2017.4- 石郷 祐介 ISHIGO Yusuke Programmer
ࣾ ձ ʹ ؾ ͮ ͖ Λ ༩ ͑ Δ
ಓ ۩ Λ ։ ൃ ͠ · ͢
モバイル IoT ロボット 人工知能 Web センサ 音声認識 音声合成 機械学習 Beacon
オープンデータ Bot 異分野 × アイデア × 技術 他社との研究開発を主とし、新たな価値を生み出すツールを作る
本日の流れ 1. 画像処理ライブラリ「OpenCV」を使ってみる ・画像を読み込んで表示する ・ノイズ除去、画像反転、輪郭抽出、顔認識 2. 「TensorFlow」と「Keras」で画像分類してみる 3. 「IBM Watson」で画像解析してみる
・風景写真の中から似た風景の写真を探す
Pythonの特徴 サーバサイド言語として登場(P言語のひとつ) ・AI(機械学習) ・データ分析 ・IoT(Raspberry Pi) ・ロボット(ROS) 等 計算用ライブラリが豊富なため、高度な計算が必要なプログラム に多く使われている
開発環境 pyenv PythonやAnacondaをダウンロードしたり、バージョンを切り替える ためのツール Anaconda condaを含んだPythonとパッケージ(プラグイン)をまとめたもの (NumPy、scipy、Pandas、Jupyer、Scikit-learn等のパッケージ) Web系の言語には、バージョンを管理するツールが存在する conda Pythonパッケージをインストールできるツール
Pythonには、標準で同機能のpipがインストールされているが、 Anacondaを使う場合は、condaを使う(condaにないパッケージはpip)
言語の特徴 ① 1.文末のセミコロンは不要 print(“Hello, world!”) 2.変数に型は必要ない(動的型付け=ダックタイピング) hoge = “Hello, world!”
hoge = 123 print(“Hello, world!”); ◯ × String hoge = “Hello, world!” int hoge = 123 × ◯ If it walks like a duck and quacks like a duck, it must be a duck. もしそれがアヒルのように鳴き、アヒルのように歩いたら、それはアヒルである
言語の特徴 ② 3.カッコでなくインデントでまとまりを示す if hoge == ‘aaa’: print(‘Hello,’) print(‘world!’) if
hoge == ‘aaa’ { print(‘Hello,’) print(‘world!’) } ◯ × オフサイドルール
本日の流れ 1. Pythonについて 2. 開発環境の構築 ・pyenv、anacondaのインストール 3. ライブラリを使ってみる ① 標準ライブラリでWebサイトからスクレイピング
② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる ① エクセルのデータを読み込んでグラフ表示する ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる
OpenCVを使ってみる OpenCV 画像処理・解析のためのライブラリ conda install -c https://conda.anaconda.org/menpo opencv3 C/C++、Java、Python、MATLAB等、多数の言語に対応 Windows、macOS、Linux、Android、iOS等をサポート
機械学習の教師データのための画像整備のために必要
OpenCVを使ってみる ① import numpy as np import cv2 as cv
img = cv.imread(‘Lenna.png’) cv.imshow(‘ウィンドウ名’, img) cv.waitKey(0) cv.destroyAllWindows() 画像を読み込み表示する
OpenCVを使ってみる ① import numpy as np import cv2 as cv
img = cv.imread(‘Lenna.png’, cv.IMREAD_GRAYSCALE) cv.imshow(‘ウィンドウ名’, img) cv.imwrite(‘output.png’, img) cv.waitKey(0) cv.destroyAllWindows() グレースケールで画像を読み込み、保存する データ量を減らすために、グレースケールにしてから画像認識する
OpenCVを使ってみる ② ノイズ除去(平滑化、スムージング) 移動平均フィルタ メディアン(中央値)フィルタ 連続するデータにおいて、他値と乖離しているものを除去する手法
OpenCVを使ってみる ② 移動平均フィルタ 20 0 13 11 9 10 12
8 7 (20 + 12 + 8 + 13 + 7 + 11 + 9 + 10) / 8 = 11.25 20 11 13 11 9 10 12 8 7 補正するピクセルの周辺のピクセルの平均をとる ノイズや境界線の影響を受けて全体的にぼやける
OpenCVを使ってみる ② メディアンフィルタ 20 0 13 11 9 10 12
8 7 7、8、9、10、11、12、13、20の中央値→10 20 10 13 11 9 10 12 8 7 補正するピクセルの周辺のピクセルの中央値を適用する ノイズや境界線の影響を受けにくいので、ノイズのみを除去しやすい
OpenCVを使ってみる ③ ディープラーニング等の教師データとして反転した画像を追加する 画像反転
OpenCVを使ってみる ④ 輪郭抽出(物体認識)
OpenCVを使ってみる ⑤ 顔認識 OpenCVの標準の学習データを使って顔認識を行う 学習データを更新することで、認識物を変えたり、精度を向上できる
本日の流れ 1. 画像処理ライブラリ「OpenCV」を使ってみる ・画像を読み込んで表示する ・ノイズ除去、画像反転、輪郭抽出、顔認識 2. 「TensorFlow」と「Keras」で画像分類してみる 3. 「IBM Watson」で画像解析してみる
・風景写真の中から似た風景の写真を探す
TensorFlowとKeras TensorFlow Googleが開発しているオープンソースの機械学習ライブラリ ディープラーニングに対応している Keras Python用のニューラルネットワークライブラリ TensorFlowをバックエンドとして、同様の機能を完結な書き方で実現できる
ディープラーニング ① 人間の神経細胞の繋がりをモデルにした機械学習手法 パーセプトロン、ニューラルネットワーク 特徴A 特徴B 特徴C 閾値 結果(0 or
1) シグモイドニューロンの場合は0.0〜1.0の間 w1 w2 w3 1.学習したい物事を複数の特徴に分ける 2.特徴の重要性を重み(w1、w2、w3)として設定する 3.入力の合計値が、閾値を超えたら、1を返す
ディープラーニング ② パーセプトロンを層にしたもの 多層パーセプトロン(入力層、隠れ層、出力層が3つのもの) 入力層 出力層 隠れ層 重み付けが大変!
ディープラーニング ③ パーセプトロンを層にしたもの 多層パーセプトロン(入力層、隠れ層、出力層が3つのもの) 入力層 出力層 隠れ層 誤差逆伝播法(バックプロパゲーション) 誤差からパラメータを調整する手法 重み付けが大変!
誤差 重み調整
ディープラーニング ④ 入力層、隠れ層、出力層が4つ以上のもので、誤差逆伝播法の問題点を 解決したもの ディープラーニング 入力層 出力層 隠れ層 … TensorFlow
Playground http://playground.tensorflow.org/
本日の流れ 1. 画像処理ライブラリ「OpenCV」を使ってみる ・画像を読み込んで表示する ・ノイズ除去、画像反転、輪郭抽出、顔認識 2. 「TensorFlow」と「Keras」で画像分類してみる 3. 「IBM Watson」で画像解析してみる
・風景写真の中から似た風景の写真を探す
「IBM Watson」で画像解析してみる あい旅っと 写真の風景に近い国内の風景を探し出し、マップを表示するアプリ
「IBM Watson」で画像解析してみる あい旅っと 写真の風景に近い国内の風景を探し出し、マップを表示するアプリ
「IBM Watson」で画像解析してみる Bluemix Watson API
None