Upgrade to Pro — share decks privately, control downloads, hide ads and more …

画像認識ハンズオン

 画像認識ハンズオン

ISHIGO Yusuke

January 27, 2018
Tweet

More Decks by ISHIGO Yusuke

Other Decks in Technology

Transcript

  1. ࣾ ձ ʹ ؾ ͮ ͖ Λ ༩ ͑ Δ

     ಓ ۩  Λ ։ ൃ ͠ · ͢
  2. モバイル IoT ロボット 人工知能 Web センサ 音声認識 音声合成 機械学習 Beacon

    オープンデータ Bot 異分野 × アイデア × 技術 他社との研究開発を主とし、新たな価値を生み出すツールを作る
  3. 言語の特徴 ① 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. もしそれがアヒルのように鳴き、アヒルのように歩いたら、それはアヒルである
  4. 本日の流れ 1. Pythonについて 2. 開発環境の構築  ・pyenv、anacondaのインストール 3. ライブラリを使ってみる  ① 標準ライブラリでWebサイトからスクレイピング

     ② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる  ① エクセルのデータを読み込んでグラフ表示する  ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる
  5. OpenCVを使ってみる ① import numpy as np import cv2 as cv

    img = cv.imread(‘Lenna.png’) cv.imshow(‘ウィンドウ名’, img) cv.waitKey(0) cv.destroyAllWindows() 画像を読み込み表示する
  6. 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() グレースケールで画像を読み込み、保存する データ量を減らすために、グレースケールにしてから画像認識する
  7. 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 補正するピクセルの周辺のピクセルの平均をとる ノイズや境界線の影響を受けて全体的にぼやける
  8. 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 補正するピクセルの周辺のピクセルの中央値を適用する ノイズや境界線の影響を受けにくいので、ノイズのみを除去しやすい
  9. ディープラーニング ① 人間の神経細胞の繋がりをモデルにした機械学習手法 パーセプトロン、ニューラルネットワーク 特徴A 特徴B 特徴C 閾値 結果(0 or

    1) シグモイドニューロンの場合は0.0〜1.0の間 w1 w2 w3 1.学習したい物事を複数の特徴に分ける 2.特徴の重要性を重み(w1、w2、w3)として設定する 3.入力の合計値が、閾値を超えたら、1を返す