SlideShare a Scribd company logo
1 of 22
Download to read offline
Python in Computer Vision
片岡 裕雄
http://www.hirokatsukataoka.net/
概要
•  対象
–  CV + Python初学者
–  画像認識の初心者
•  短時間で学んだPythonの知識を記載
–  Pythonの導入
–  アルゴリズムと実装
•  CV + ML周辺に特化
–  さらに言うと,認識寄りのお話です
–  特徴取得: HOG, SIFT
–  クラスタリング: K-means, Affinity Propagation, GMM, DP-GMM
–  コードワード化: Bag-of-words (BoW), Fisher Vector
–  識別器: SVM
Pythonの導入
Windows
•  WindowsでAnaconda, OpenCVを導入
–  Anacondaを導入
•  http://continuum.io/downloads
–  AnacondaにSpyderがIDEとして提供されているのでこれを使用
–  opencv.orgのページからOpenCVをインストール
•  http://opencv.org/
–  OpenCVをAnacondaで使用できるようにする(.pyd, .pyファイルの移動)
•  *opencvbuildpython2.7x64cv.pyd
•  *opencvsourcesmodulespythonsrc2cv.py
•  の2つを*userAnacondaLibssite-packages のフォルダにコピー
※ *はopencvやAnacondaをインストールして生成したフォルダです
Mac
•  Mac OS XでAnaconda, OpenCVを導入
–  Anacondaを導入
•  http://continuum.io/downloads
–  AnacondaにSpyderがIDEとして提供されているのでこれを使用
•  AnacondaのフォルダにLauncherがある
–  condaコマンドでOpenCVをインストール
•  conda install -c https://conda.binstar.org/jjhelmus opencv
•  その他パッケージはBinstarページにて
•  https://binstar.org/search?type=conda&q=opencv
現在の環境
•  Python開発環境
–  Anaconda:Python環境
–  Spyder:エディタ,コンパイラ,デバッガが含まれる統合開発環境
–  OpenCV:画像処理ライブラリ
–  Anacondaに含まれるパッケージ
•  scikit-learn:機械学習ライブラリ
•  scikit-image:python画像処理ライブラリ
•  numpy, Scipy:科学技術計算,行列演算
•  その他:http://docs.continuum.io/anaconda/pkg-docs.html
アルゴリズムの実装
特徴取得:HOG
•  物体形状を把握する特徴量
–  [Dalal, CVPR2005]にて,歩行者の形状を記述
–  歩行者検出のパイオニアとしてその後の研究に寄与
【Python Sample】
HOGによる特徴表現
http://lear.inrialpes.fr/people/triggs/pubs/Dalal-cvpr05.pdft
[3, 4] W, Hが縦横ピクセル数
[6] HOGの構造体確保, 入力画像サイズのみしか設定出来ない, 他はセルやブロックサイズ
[7] 画像のロード
[8] hog_vecにHOG特徴量を格納
特徴取得:SIFT
•  回転や大小に対応する特徴点検出・特徴量記述
–  [Lowe, ICCV1999]にて提案, [Lowe, IJCV2004]にて改良
–  特徴点検出・特徴取得の決定版としてCV界に貢献
【Python Sample】
SIFTによる画像マッチング
http://www.cs.ubc.ca/~lowe/keypoints/
[4, 5] 画像を読み込み,グレースケール化
[7] SIFTの構造体確保
[8] キーポイント(kp),特徴量(des)の取得
[10] 画像にキーポイントを描画 (例:右図)
特徴取得参考
–  HOG OpenCV document
•  http://docs.opencv.org/modules/gpu/doc/object_detection.html
–  SIFT OpenCV document
•  http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_sift_intro/
py_sift_intro.html
クラスタリング:K-Means
•  K(=クラス数)を設定して自動でクラス分け
–  クラスタリングの代表例
–  scikit-learnに実装
–  Kを自分で設定する必要がある
【Python Sample】
[4] 特徴空間にてK-meansクラスタリング, n_clusters:クラス数, max_iter: 最大繰り返し回数
features: クラスタリング対象の特徴ベクトルの集合
[6] 各ベクトルの所属ラベルを返却
[7] 各ベクトルの最近傍centroidからの距離を返却
クラスタリング:Affinity Propagation
•  クラス数も自動で設定可能なクラスタリング法
–  クラス数を勝手に決めてくれる
–  scikit-learnに実装
【Python Sample】
[4] 特徴空間にてAffinity Propagation, features: クラスタリング対象の特徴ベクトルの集合
[6] 各ベクトルの所属ラベルを返却
[7] クラスタ数を返却
クラスタリング:GMM
•  ガウス分布の混合を仮定するモデル
–  Gaussian Mixture Model (GMM)によるクラスタリング
–  DP (ディリクレ過程)によるクラスタ数自動決定法も存在
–  scikit-learnに実装
【Python Sample】
[4] GMMモデルを生成, n_components: 混合数,covariance_type: 共分散タイプの引数
[6] 特徴空間XにてGMMクラスタリング
[7] DP-GMMモデルを生成 ※DP: Dirichlet Process (ディリクレ過程)
[8] 特徴空間XにてDP-GMMクラスタリング
クラスタリング参考
–  scikit-learn clustering
•  http://scikit-learn.org/stable/modules/clustering.html#clustering
コードワード化:Bag-of-words (BoW)
•  画像をワード(visual word)の集合体として表現
【実装例】
–  特徴点検出 + 特徴ベクトル取得
–  K-meansクラスタリング
–  特徴点検出と,特徴ベクトルの割り当て
–  ベクトル取得
Class: human
Keypoint detection &
Feature description
コードワード化:Bag-of-words (BoW)
•  SIFT特徴量とK-meansクラスタリングで実装
【Python Sample】
[5] K-meansのKの数を設定(K=“次元数”=100)
[6] BoWベクトルを初期化(“次元数” = 100)
[7] グレースケールで画像をロード
[9-12] SIFT特徴量を計算,各特徴ベクトルに対して対応するクラスタを推定
kmeans_modelは予めフィッティングさせておき,.predict()によりクラスタ推定
[14] BoWベクトルを正規化
コードワード化:Fisher Vector
•  フィッシャーカーネルを用いて特徴を高次元化
–  [Perronnin, CVPR2007]にて提案,[Perronnin, ECCV2010]にて改良
–  特徴ベクトル集合をGMMにてクラスタリング
–  フィッシャーカーネルにより特徴表現
•  ガウス分布の重み(w),平均(µ),分散(σ) により特徴表現
–  Power Normalization (パワー正規化)
–  L2 Normalization (L2正規化)
–  実装はJacobさんにゆずります
•  http://jacobcv.blogspot.jp/2014/12/fisher-vector-in-python.html
•  Fisher VectorのPythonコードをgit上にて公開
fisher.py
•  要点のみ(簡単に)解説
def load_gmm(folder = “”)
•  .npyファイル(重み,平均,分散)の読み込み
def generate_gmm(input_folder, N)
•  画像の存在するフォルダとガウス分布の混合数を設定
•  画像から特徴抽出(SIFT)してGMMによりフィッティング
def fisher_features(folder, gmm)
•  フォルダ,GMMモデルを設定
•  画像からSIFTの特徴ベクトルを取得,Fisher Vectorを計算
Fisher Vector取得後,識別を実行
※注意:multivariate_normalがSciPy 0.14.0以降に追加されたので,それ以降のパッ
ケージを使用してください
コードワード化参考
–  Fisher Vector [CVPR2007]
•  http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4270291&tag=1
–  Jacob’s Computer Vision and Programming Blog
•  http://jacobcv.blogspot.jp/2014/12/fisher-vector-in-python.html
識別器:SVM
•  SVMによる識別,交差検証(Cross-validation)
【Python Sample】
[6, 7] テキストからサンプルとラベルをロード
[9] サンプルとラベルをテストと学習に分割
[11] SVMのモデルを設定
[12] 交差検証により精度を算出(cv=5は5交差検証)
[14, 15] 各試行の精度とその平均値を表示
識別器の参考
–  SVM scikit-learn
•  http://scikit-learn.org/stable/modules/svm.html
–  Cross-validation scikit-learn
•  http://scikit-learn.org/stable/modules/cross_validation.html
まとめ
•  Pythonの導入から短期間で画像認識を実装
–  特徴取得
–  クラスタリング
–  コードワード化
–  識別器
•  コンピュータビジョンは難しくない!
–  Pythonのおかげで簡単に始められる
–  研究者も簡単にアルゴリズムを試せる

More Related Content

What's hot

ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説Masaya Kaneko
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformercvpaper. challenge
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision TransformerYusuke Uchida
 
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...Deep Learning JP
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイcvpaper. challenge
 
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB ImagesDeep Learning JP
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成MobileRoboticsResear
 
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)cvpaper. challenge
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者cvpaper. challenge
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門Hideo Terada
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイcvpaper. challenge
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向Kensho Hara
 
Siftによる特徴点抽出
Siftによる特徴点抽出Siftによる特徴点抽出
Siftによる特徴点抽出Masato Nakai
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説tancoro
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてRyutaro Yamauchi
 
【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2Hirokatsu Kataoka
 

What's hot (20)

ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
 
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
 
Siftによる特徴点抽出
Siftによる特徴点抽出Siftによる特徴点抽出
Siftによる特徴点抽出
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法について
 
【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2
 

Similar to PythonによるCVアルゴリズム実装

オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方Yuji Oshima
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Kotaro Nakayama
 
Anaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみたAnaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみたYosuke Onoue
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみたYasuhiro Yoshimura
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」ManaMurakami1
 
PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料Yasuo Ohgaki
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習ksk sue
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングHideo Terada
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用Yasutomo Kawanishi
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03ManaMurakami1
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみようHiroaki_UKAJI
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapiku_taka
 

Similar to PythonによるCVアルゴリズム実装 (20)

オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
Softlayer勉強会#2
Softlayer勉強会#2Softlayer勉強会#2
Softlayer勉強会#2
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
 
Anaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみたAnaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみた
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料
 
PyMC mcmc
PyMC mcmcPyMC mcmc
PyMC mcmc
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
 

More from Hirokatsu Kataoka

【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?Hirokatsu Kataoka
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識Hirokatsu Kataoka
 
【ECCV 2016 BNMW】Human Action Recognition without Human
【ECCV 2016 BNMW】Human Action Recognition without Human【ECCV 2016 BNMW】Human Action Recognition without Human
【ECCV 2016 BNMW】Human Action Recognition without HumanHirokatsu Kataoka
 
【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...
【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...
【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...Hirokatsu Kataoka
 
【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...
【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...
【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...Hirokatsu Kataoka
 
【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...
【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...
【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...Hirokatsu Kataoka
 
Deep Residual Learning (ILSVRC2015 winner)
Deep Residual Learning (ILSVRC2015 winner)Deep Residual Learning (ILSVRC2015 winner)
Deep Residual Learning (ILSVRC2015 winner)Hirokatsu Kataoka
 
【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...
【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...
【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...Hirokatsu Kataoka
 
TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築Hirokatsu Kataoka
 
【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset
【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset
【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder DatasetHirokatsu Kataoka
 
【SSII2015】人を観る技術の先端的研究
【SSII2015】人を観る技術の先端的研究【SSII2015】人を観る技術の先端的研究
【SSII2015】人を観る技術の先端的研究Hirokatsu Kataoka
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法Hirokatsu Kataoka
 
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-Hirokatsu Kataoka
 
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...Hirokatsu Kataoka
 

More from Hirokatsu Kataoka (17)

【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識
 
ECCV 2016 速報
ECCV 2016 速報ECCV 2016 速報
ECCV 2016 速報
 
【ECCV 2016 BNMW】Human Action Recognition without Human
【ECCV 2016 BNMW】Human Action Recognition without Human【ECCV 2016 BNMW】Human Action Recognition without Human
【ECCV 2016 BNMW】Human Action Recognition without Human
 
【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...
【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...
【BMVC2016】Recognition of Transitional Action for Short-Term Action Prediction...
 
【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...
【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...
【論文紹介】Fashion Style in 128 Floats: Joint Ranking and Classification using Wea...
 
【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...
【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...
【CVPR2016_LAP】Dominant Codewords Selection with Topic Model for Action Recogn...
 
CVPR 2016 速報
CVPR 2016 速報CVPR 2016 速報
CVPR 2016 速報
 
ILSVRC2015 手法のメモ
ILSVRC2015 手法のメモILSVRC2015 手法のメモ
ILSVRC2015 手法のメモ
 
Deep Residual Learning (ILSVRC2015 winner)
Deep Residual Learning (ILSVRC2015 winner)Deep Residual Learning (ILSVRC2015 winner)
Deep Residual Learning (ILSVRC2015 winner)
 
【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...
【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...
【ISVC2015】Evaluation of Vision-based Human Activity Recognition in Dense Traj...
 
TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築
 
【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset
【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset
【ITSC2015】Fine-grained Walking Activity Recognition via Driving Recorder Dataset
 
【SSII2015】人を観る技術の先端的研究
【SSII2015】人を観る技術の先端的研究【SSII2015】人を観る技術の先端的研究
【SSII2015】人を観る技術の先端的研究
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
 
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
 

Recently uploaded

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

PythonによるCVアルゴリズム実装

  • 1. Python in Computer Vision 片岡 裕雄 http://www.hirokatsukataoka.net/
  • 2. 概要 •  対象 –  CV + Python初学者 –  画像認識の初心者 •  短時間で学んだPythonの知識を記載 –  Pythonの導入 –  アルゴリズムと実装 •  CV + ML周辺に特化 –  さらに言うと,認識寄りのお話です –  特徴取得: HOG, SIFT –  クラスタリング: K-means, Affinity Propagation, GMM, DP-GMM –  コードワード化: Bag-of-words (BoW), Fisher Vector –  識別器: SVM
  • 4. Windows •  WindowsでAnaconda, OpenCVを導入 –  Anacondaを導入 •  http://continuum.io/downloads –  AnacondaにSpyderがIDEとして提供されているのでこれを使用 –  opencv.orgのページからOpenCVをインストール •  http://opencv.org/ –  OpenCVをAnacondaで使用できるようにする(.pyd, .pyファイルの移動) •  *opencvbuildpython2.7x64cv.pyd •  *opencvsourcesmodulespythonsrc2cv.py •  の2つを*userAnacondaLibssite-packages のフォルダにコピー ※ *はopencvやAnacondaをインストールして生成したフォルダです
  • 5. Mac •  Mac OS XでAnaconda, OpenCVを導入 –  Anacondaを導入 •  http://continuum.io/downloads –  AnacondaにSpyderがIDEとして提供されているのでこれを使用 •  AnacondaのフォルダにLauncherがある –  condaコマンドでOpenCVをインストール •  conda install -c https://conda.binstar.org/jjhelmus opencv •  その他パッケージはBinstarページにて •  https://binstar.org/search?type=conda&q=opencv
  • 6. 現在の環境 •  Python開発環境 –  Anaconda:Python環境 –  Spyder:エディタ,コンパイラ,デバッガが含まれる統合開発環境 –  OpenCV:画像処理ライブラリ –  Anacondaに含まれるパッケージ •  scikit-learn:機械学習ライブラリ •  scikit-image:python画像処理ライブラリ •  numpy, Scipy:科学技術計算,行列演算 •  その他:http://docs.continuum.io/anaconda/pkg-docs.html
  • 8. 特徴取得:HOG •  物体形状を把握する特徴量 –  [Dalal, CVPR2005]にて,歩行者の形状を記述 –  歩行者検出のパイオニアとしてその後の研究に寄与 【Python Sample】 HOGによる特徴表現 http://lear.inrialpes.fr/people/triggs/pubs/Dalal-cvpr05.pdft [3, 4] W, Hが縦横ピクセル数 [6] HOGの構造体確保, 入力画像サイズのみしか設定出来ない, 他はセルやブロックサイズ [7] 画像のロード [8] hog_vecにHOG特徴量を格納
  • 9. 特徴取得:SIFT •  回転や大小に対応する特徴点検出・特徴量記述 –  [Lowe, ICCV1999]にて提案, [Lowe, IJCV2004]にて改良 –  特徴点検出・特徴取得の決定版としてCV界に貢献 【Python Sample】 SIFTによる画像マッチング http://www.cs.ubc.ca/~lowe/keypoints/ [4, 5] 画像を読み込み,グレースケール化 [7] SIFTの構造体確保 [8] キーポイント(kp),特徴量(des)の取得 [10] 画像にキーポイントを描画 (例:右図)
  • 10. 特徴取得参考 –  HOG OpenCV document •  http://docs.opencv.org/modules/gpu/doc/object_detection.html –  SIFT OpenCV document •  http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_sift_intro/ py_sift_intro.html
  • 11. クラスタリング:K-Means •  K(=クラス数)を設定して自動でクラス分け –  クラスタリングの代表例 –  scikit-learnに実装 –  Kを自分で設定する必要がある 【Python Sample】 [4] 特徴空間にてK-meansクラスタリング, n_clusters:クラス数, max_iter: 最大繰り返し回数 features: クラスタリング対象の特徴ベクトルの集合 [6] 各ベクトルの所属ラベルを返却 [7] 各ベクトルの最近傍centroidからの距離を返却
  • 12. クラスタリング:Affinity Propagation •  クラス数も自動で設定可能なクラスタリング法 –  クラス数を勝手に決めてくれる –  scikit-learnに実装 【Python Sample】 [4] 特徴空間にてAffinity Propagation, features: クラスタリング対象の特徴ベクトルの集合 [6] 各ベクトルの所属ラベルを返却 [7] クラスタ数を返却
  • 13. クラスタリング:GMM •  ガウス分布の混合を仮定するモデル –  Gaussian Mixture Model (GMM)によるクラスタリング –  DP (ディリクレ過程)によるクラスタ数自動決定法も存在 –  scikit-learnに実装 【Python Sample】 [4] GMMモデルを生成, n_components: 混合数,covariance_type: 共分散タイプの引数 [6] 特徴空間XにてGMMクラスタリング [7] DP-GMMモデルを生成 ※DP: Dirichlet Process (ディリクレ過程) [8] 特徴空間XにてDP-GMMクラスタリング
  • 14. クラスタリング参考 –  scikit-learn clustering •  http://scikit-learn.org/stable/modules/clustering.html#clustering
  • 15. コードワード化:Bag-of-words (BoW) •  画像をワード(visual word)の集合体として表現 【実装例】 –  特徴点検出 + 特徴ベクトル取得 –  K-meansクラスタリング –  特徴点検出と,特徴ベクトルの割り当て –  ベクトル取得 Class: human Keypoint detection & Feature description
  • 16. コードワード化:Bag-of-words (BoW) •  SIFT特徴量とK-meansクラスタリングで実装 【Python Sample】 [5] K-meansのKの数を設定(K=“次元数”=100) [6] BoWベクトルを初期化(“次元数” = 100) [7] グレースケールで画像をロード [9-12] SIFT特徴量を計算,各特徴ベクトルに対して対応するクラスタを推定 kmeans_modelは予めフィッティングさせておき,.predict()によりクラスタ推定 [14] BoWベクトルを正規化
  • 17. コードワード化:Fisher Vector •  フィッシャーカーネルを用いて特徴を高次元化 –  [Perronnin, CVPR2007]にて提案,[Perronnin, ECCV2010]にて改良 –  特徴ベクトル集合をGMMにてクラスタリング –  フィッシャーカーネルにより特徴表現 •  ガウス分布の重み(w),平均(µ),分散(σ) により特徴表現 –  Power Normalization (パワー正規化) –  L2 Normalization (L2正規化) –  実装はJacobさんにゆずります •  http://jacobcv.blogspot.jp/2014/12/fisher-vector-in-python.html •  Fisher VectorのPythonコードをgit上にて公開
  • 18. fisher.py •  要点のみ(簡単に)解説 def load_gmm(folder = “”) •  .npyファイル(重み,平均,分散)の読み込み def generate_gmm(input_folder, N) •  画像の存在するフォルダとガウス分布の混合数を設定 •  画像から特徴抽出(SIFT)してGMMによりフィッティング def fisher_features(folder, gmm) •  フォルダ,GMMモデルを設定 •  画像からSIFTの特徴ベクトルを取得,Fisher Vectorを計算 Fisher Vector取得後,識別を実行 ※注意:multivariate_normalがSciPy 0.14.0以降に追加されたので,それ以降のパッ ケージを使用してください
  • 19. コードワード化参考 –  Fisher Vector [CVPR2007] •  http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4270291&tag=1 –  Jacob’s Computer Vision and Programming Blog •  http://jacobcv.blogspot.jp/2014/12/fisher-vector-in-python.html
  • 20. 識別器:SVM •  SVMによる識別,交差検証(Cross-validation) 【Python Sample】 [6, 7] テキストからサンプルとラベルをロード [9] サンプルとラベルをテストと学習に分割 [11] SVMのモデルを設定 [12] 交差検証により精度を算出(cv=5は5交差検証) [14, 15] 各試行の精度とその平均値を表示
  • 21. 識別器の参考 –  SVM scikit-learn •  http://scikit-learn.org/stable/modules/svm.html –  Cross-validation scikit-learn •  http://scikit-learn.org/stable/modules/cross_validation.html
  • 22. まとめ •  Pythonの導入から短期間で画像認識を実装 –  特徴取得 –  クラスタリング –  コードワード化 –  識別器 •  コンピュータビジョンは難しくない! –  Pythonのおかげで簡単に始められる –  研究者も簡単にアルゴリズムを試せる