Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

機械学習とコンピュータビジョン入門

6,458 views

Published on

2016年2月27日に教育システム情報学会関西支部機械学習勉強会でお話をさせていただいたときのスライドです.

Published in: Engineering
  • Be the first to comment

機械学習とコンピュータビジョン入門

  1. 1. 機械学習と コンピュータビジョン入門 2016年2月27日 近畿大学理工学部情報学科 波部 斉 Email: habe@kindai.ac.jp Twitter: @habhit 2016/2/27 機械学習勉強会 1 教育システム情報学会関西支部 機械学習勉強会
  2. 2. 本日の内容 • はじめに • 機械学習入門 • コンピュータビジョンと機械学習 • 参考文献 2016/2/27 機械学習勉強会 2
  3. 3. 自己紹介 • 波部 斉(はべ ひとし) • これまでの仕事 – 道路監視向け画像処理システムの開 発(1999-2002) – 遠隔講義システムの運用+研究 (2002-2006) – 水中生体観測システムの研究 (2002-2006) – コンピュータビジョン研究(1998 -) 2016/2/27 機械学習勉強会
  4. 4. これまでの研究事例(1) 2016/2/27 4 • 3次元情報の獲得とその利用 撮影画像 3次元形状 画像ベースカメラ キャリブレーション ユーザーへの提示 アーカイブ 対象の撮影 サブピクセル精度の 画像位置合わせ 3次元ビデオの 情報圧縮 凹面スクリーン上の 相互反射補償機械学習勉強会
  5. 5. これまでの研究事例(2) 2016/2/27 5 • 映像解析によって「人を見る」 背景差分による 移動物体の検出 人物存在事前確率の利用による 人物検出精度の向上 入力映像 人物検出 集団行動の解析 より詳細な人物状態の推定 人物間インタラクションの解析による 集団の発見 機械学習勉強会 デジタルカメラを用いた 白内障スクリーニング
  6. 6. いつの間にか機械学習が大流行です Google Trend Search で「機械学習」を調べた結果 Google Trend Search で「人工知能」を調べた結果 2016/2/27 機械学習勉強会 6
  7. 7. Facebook が人間レベルの顔認識を 72016/2/27 機械学習勉強会
  8. 8. Google の自動走行車が公道を走る 2016/2/27 8 http://www.gizmodo.jp/2015/06/post_17464.html http://www.google.com/selfdrivingcar/ 機械学習勉強会
  9. 9. Buzzword の歴史?・・・ 2016/2/27 機械学習勉強会 9 ニューメディア マルチメディア Web2.0 ウエアラブル ビッグデータ ユビキタス クラウド IoT 機械学習 人工知能 データサイエンス
  10. 10. 本日の内容 • はじめに • 機械学習入門 • コンピュータビジョンと機械学習 • 参考文献 2016/2/27 機械学習勉強会 10
  11. 11. 機械学習とは? • 「データの集合からその法則性を学ぶ」 (データサイエンティスト養成読本:機械学習入門編より) 2016/2/27 機械学習勉強会 11 飛行機 フェリー ? 識別の場合 飛行機は このような特徴があり フェリーは このような特徴がある という法則性
  12. 12. 機械学習とは?(続き) • 一般に「法則性」は写像で表現できる 2016/2/27 機械学習勉強会 12 𝑓𝑓: 𝒙𝒙 → 𝑦𝑦 特徴ベクトル 𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 𝑥𝑥4 ⋮ 𝑥𝑥𝑁𝑁 特徴抽出 識別: 0, 1, 2, … (整数のラベル) 回帰: 実数値 異常検知: 0,1
  13. 13. 機械学習と関連技術 • 人工知能 – 人工知能は人間の知能と同等なもの目指したシ ステム全体を指す – 「機械学習」∈ 「人工知能」 • パターン認識 – パターン認識は音声・画像などからスタート, 機械学習はそれらとは関係ない記号的な世界か らスタート – 現在ではあまり差はない 2016/2/27 機械学習勉強会 13
  14. 14. 機械学習手法で必須になる用語 • 問題設定 – 教師あり学習(Supervised Learning) – 教師なし学習(Unsupervised Learning) – 半教師あり学習(Semi-supervised Learning) • 学習結果の評価 – 汎化性能 – 交差検証 2016/2/27 機械学習勉強会 14
  15. 15. 問題設定:教師あり学習 2016/2/27 15 飛行機 フェリー 学習データ (𝒙𝒙𝑖𝑖, 𝒕𝒕𝑖𝑖) (𝑖𝑖 = 1, … , 𝑁𝑁) 学習データセット 機械学習勉強会
  16. 16. 問題設定:教師なし学習 2016/2/27 16 (𝒙𝒙𝑖𝑖) (𝑖𝑖 = 1, … , 𝑁𝑁) クラスラベルは不明 機械学習勉強会 飛行機 フェリー
  17. 17. 問題設定:半教師あり学習 2016/2/27 17 (𝒙𝒙𝑖𝑖) (𝑖𝑖 = 1, … , 𝑁𝑁) クラスラベルは不明 機械学習勉強会 (𝒙𝒙𝑖𝑖, 𝒕𝒕𝑖𝑖) (𝑖𝑖 = 1, … , 𝑁𝑁) クラスラベルは既知
  18. 18. 汎化性能 2016/2/27 18 限られた学習データを使って 汎用的な識別規則を学習できるか? 飛行機 フェリー ? 機械学習勉強会
  19. 19. 汎化性能と「過学習」 2016/2/27 19 O 真のデータ分布 (観測できない) O 観測可能な データ分布 どちらが良い? 機械学習勉強会
  20. 20. 学習結果の評価方法(1) 2016/2/27 20 ← 手元にある全データ 学習データをそのままテストに用いる 識別 規則 学習用データ 学習 テスト用データテスト 結果 機械学習勉強会 学習時に用いたデータとは違うデータでテストする必要がある ただし 通常手元にあるデータの数は限られているので工夫が必要
  21. 21. 学習結果の評価方法(2) 2016/2/27 21 ← 手元にある全データ 交差検証法(以下は10分割の例:cross-validation) 識別 規則 学習用データ 学習 テスト用データテスト 識別 規則 学習用データ 学習 テスト用データテスト 識別 規則 学習用データ 学習 テスト用データテスト 結果 機械学習勉強会
  22. 22. 主な機械学習手法 • 線形識別/回帰 – リッジ回帰 – ロジスティック回帰 • サポートベクトルマシン • 最近傍識別 • アンサンブル学習 – アダブースト – ランダムフォレスト • ニューラルネットワーク 2016/2/27 機械学習勉強会 22
  23. 23. どの手法を使えばよいの? • Choosing the right estimator http://scikit-learn.org/stable/tutorial/machine_learning_map/ 2016/2/27 23機械学習勉強会
  24. 24. 主な機械学習手法 • 線形識別/回帰 – リッジ回帰 – ロジスティック回帰 • サポートベクトルマシン • 最近傍識別 • アンサンブル学習 – アダブースト – ランダムフォレスト • ニューラルネットワーク 2016/2/27 機械学習勉強会 24
  25. 25. 線形回帰の基本 2016/2/27 機械学習勉強会 25 O 𝑓𝑓 𝒙𝒙 = 𝒘𝒘𝑇𝑇 𝒙𝒙 入力 出力 𝒘𝒘 = argmin � 𝑖𝑖=1 𝑁𝑁 𝑦𝑦𝑖𝑖 − 𝑓𝑓 𝒙𝒙𝑖𝑖 2
  26. 26. 線形識別の基本 2015/05/25 26 識別境界に相当する超平面 O 自動車 飛行機 𝑓𝑓 𝒙𝒙 = 𝒘𝒘𝑇𝑇 𝒙𝒙 𝒘𝒘 = argmin � 𝑖𝑖=1 𝑁𝑁 𝑡𝑡𝑖𝑖 − 𝑓𝑓 𝒙𝒙𝑖𝑖 2 正解ラベル
  27. 27. リッジ回帰 • 予測誤差だけでは「過学習」が起こる – 例)ある一部の変数を無視してしまう(𝑤𝑤𝑖𝑖 = 0 ) • 特定の変数のみを極端に重視しないように制 限を与える 2016/2/27 機械学習勉強会 27 𝒘𝒘 = argmin � 𝑖𝑖=1 𝑁𝑁 𝑦𝑦𝑖𝑖 − 𝑓𝑓 𝒙𝒙𝑖𝑖 2 + 𝛼𝛼 � 𝑗𝑗=1 𝑀𝑀 𝑤𝑤𝑗𝑗 2 正則化項 極端に大きなものが あれば大きくなる
  28. 28. ロジスティック回帰 • 識別問題を「あるクラスに属する確率」を予 測する回帰問題として扱う 2016/2/27 機械学習勉強会 28 O 𝑦𝑦 = 0 𝑦𝑦 →増加 𝑦𝑦 →減少 1 1 + exp −𝑓𝑓 𝒙𝒙 あるクラスに属する確率 パーセプトロンと似てる!
  29. 29. ロジスティック損失 2016/2/27 機械学習勉強会 29 𝒘𝒘 = argmin � 𝑖𝑖=1 𝑁𝑁 log 1 + exp −𝑡𝑡𝑖𝑖 𝑓𝑓 𝒙𝒙𝑖𝑖 + 𝛼𝛼 � 𝑗𝑗=1 𝑀𝑀 𝑤𝑤𝑗𝑗 2 正則化項
  30. 30. 主な機械学習手法 • 線形識別/回帰 – リッジ回帰 – ロジスティック回帰 • サポートベクトルマシン • 最近傍識別 • アンサンブル学習 – アダブースト – ランダムフォレスト • ニューラルネットワーク 2016/2/27 機械学習勉強会 30
  31. 31. 汎化性能の高い識別面は? 2016/2/27 31 O O マージン 機械学習勉強会
  32. 32. サポートベクトル 2016/2/27 32 O 𝝎𝝎 サポートベクトル サポートベクトル 機械学習勉強会 マージンを最大化する
  33. 33. 「マージン最大化」の効果(1) 2016/2/27 33 ノイズデータ 機械学習勉強会
  34. 34. 「マージン最大化」の効果(2) 2016/2/27 34 最小二乗法では すべてのデータと識別境界からの 距離が1/-1に近づくように 識別境界が求まる 間違ってしまう! 機械学習勉強会
  35. 35. 「マージン最大化」の効果(3) 2016/2/27 35 識別境界周辺にある サポートベクトル以外のデータは どこにあっても影響しない 機械学習勉強会
  36. 36. 非線形特徴写像 2016/2/27 36 𝑥𝑥 𝑦𝑦 線形分離不可能 𝑥𝑥 𝑦𝑦2 非線形 変換 線形分離可能! 機械学習勉強会
  37. 37. 線形のSVM 2016/2/27 37機械学習勉強会
  38. 38. 多項式カーネル 2016/2/27 38機械学習勉強会
  39. 39. RBFカーネル 2016/2/27 39機械学習勉強会
  40. 40. 主な機械学習手法 • 線形識別/回帰 – リッジ回帰 – ロジスティック回帰 • サポートベクトルマシン • 最近傍識別 • アンサンブル学習 – アダブースト – ランダムフォレスト • ニューラルネットワーク 2016/2/27 機械学習勉強会 40
  41. 41. 飛行機 フェリー 最近傍法 2016/2/27 41 自動車 𝒙𝒙 一番近い鋳型(template)との距離が t 未満なら それに属するクラスに分類する 個々のデータ:鋳型(template) 機械学習勉強会
  42. 42. 最近傍法の識別境界(1) 2016/2/27 42機械学習勉強会
  43. 43. 最近傍法の識別境界(2) 2016/2/27 43機械学習勉強会
  44. 44. k 最近傍法 2016/2/27 44 飛行機 フェリー 自動車 𝒙𝒙 近傍の4個の鋳型のうち もっとも多いクラス→飛行機 機械学習勉強会
  45. 45. k 最近傍法の識別境界 (k=3) 2016/2/27 45機械学習勉強会
  46. 46. 主な機械学習手法 • 線形識別/回帰 – リッジ回帰 – ロジスティック回帰 • サポートベクトルマシン • 最近傍識別 • アンサンブル学習 – アダブースト – ランダムフォレスト • ニューラルネットワーク 2016/2/27 機械学習勉強会 46
  47. 47. アンサンブル学習 • 三人寄れば文殊の知恵 • 複数の弱学習器を組み合わせて高い性能を得 る – 弱学習器:単独での性能は良くないが後に述べ るような性質をみたす学習器 2015/05/11 47
  48. 48. バイアス・バリアンスと学習器の複雑さ 𝐸𝐸 𝑌𝑌 − ̂𝑓𝑓 𝑥𝑥 2 𝑋𝑋 = 𝑥𝑥 = 𝜎𝜎2 + Bias2 ̂𝑓𝑓 𝑥𝑥 + VarT ̂𝑓𝑓 𝑥𝑥 2015/05/11 48 上田修功:統計的機械学習入門,2011より引用
  49. 49. アンサンブル学習とバリアンス • 複数の学習器を組み合わせると分散が小さく なる 2015/05/11 49 平均をとると真の値に近くなる 自由度大の弱学習器が良い
  50. 50. Adaboost • それまでの学習でうまくいっていなかったも のの重みを増して学習する. 2015/05/11 50
  51. 51. ランダムフォレストとは? • アンサンブル学習 – 複数の決定木(弱識別器)の結 果をあわせて識別・回帰・クラ スタリングを行う • バギング – 入力学習データからのランダム サンプリングを繰り返して弱識 別器を構成 2015/05/25 51 ランダムフォレスト • 高速・シンプル・わかりやすい・精度も良い • 大量データを用いた学習に適している
  52. 52. バギング • 教師データ集合全体から個々の決定木の学習 に利用する教師データをランダムに選ぶ – 重複を許す(w/ replacement) – 使われないデータがあっても良い • ブートストラップサンプル • バギング(bootstrap aggregating) 2015/05/25 52 𝑆𝑆 𝒗𝒗1, 𝑡𝑡1 𝒗𝒗3, 𝑡𝑡3 𝒗𝒗4, 𝑡𝑡4 𝒗𝒗2, 𝑡𝑡2 𝒗𝒗1, 𝑡𝑡1 𝒗𝒗3, 𝑡𝑡3 𝑆𝑆1 𝒗𝒗3, 𝑡𝑡3 𝑆𝑆2 𝒗𝒗4, 𝑡𝑡4 𝒗𝒗3, 𝑡𝑡3 𝒗𝒗4, 𝑡𝑡4
  53. 53. バギングのイメージ 2015/05/25 53 母集団の分布が 不明なデータ 元の分布に 即した識別
  54. 54. テスト • 与えられた入力を全ての決定木に入力して統合 2015/05/25 54 𝒗𝒗 𝑝𝑝1(𝑡𝑡|𝒗𝒗) 𝑝𝑝2(𝑡𝑡|𝒗𝒗) 𝑝𝑝𝑇𝑇(𝑡𝑡|𝒗𝒗) 𝑝𝑝 𝑡𝑡 v = 1 𝑇𝑇 � 𝑡𝑡=1 𝑇𝑇 𝑝𝑝𝑡𝑡(𝑡𝑡|𝒗𝒗) • 多数決 • 積をとる場合もある 並列化可能!!
  55. 55. 主な機械学習手法 • 線形識別/回帰 – リッジ回帰 – ロジスティック回帰 • サポートベクトルマシン • 最近傍識別 • アンサンブル学習 – アダブースト – ランダムフォレスト • ニューラルネットワーク 2016/2/27 機械学習勉強会 55
  56. 56. ニューラルネットワークの進展 • 線形分離できない問題にも対応 • 効率的な学習アルゴリズムの提案 • より複雑な構造に →深層学習(Deep Learning) 2016/2/27 56 入力層 隠れ層 出力層 多層パーセプトロン 機械学習勉強会
  57. 57. 深層学習(Deep Learning) • 学習の中に特徴抽出の枠組みをもっている – 従来:特徴抽出 → 識別/回帰 – これから:それらを統合した枠組み? • 画像識別のコンペで(ILSVRC2012)でぶっち ぎりの一位になって有名に 2016/2/27 57 GoogleNet 機械学習勉強会
  58. 58. 本日の内容 • はじめに • 機械学習入門 • コンピュータビジョンと機械学習 • 参考文献 2016/2/27 機械学習勉強会 58
  59. 59. コンピュータビジョン 2016/2/27 59 物体の位置 3次元形状等 実世界 カメラ 理解 コンピュータ ビジョン 提示 コンピュータ グラフィックス プロジェクタ/ ディスプレイ 計算機 機械学習勉強会
  60. 60. コンピュータビジョンのタスク • 3次元復元 – ステレオ計測 – 大規模構造物の計測 • 物体検出 – 人物などの対象検出 • 位置合わせ – パノラマ画像生成 2016/2/27 機械学習勉強会 60
  61. 61. コンピュータビジョンの歴史(私見) 2016/2/27 機械学習勉強会 61 ルールベース,単純な対象 http://www.cvl.iis.u-tokyo.ac.jp/class2004/ 事例ベース,複雑な対象 機械学習との関係が密接になっている
  62. 62. 画像認識の流れ 2016/2/27 62 飛行機 フェリー 自動車 飛行機 フェリー 自動車 特徴抽出 学習 機械学習勉強会
  63. 63. 代表的な研究事例 • 顔検出&人検出 • 人物姿勢推定 2016/2/27 機械学習勉強会 63
  64. 64. 実例1:顔検出 2016/2/27 64 白領域の画素値の 平均から 黒領域の画素値の 平均を引く 大きな値 小さな値機械学習勉強会
  65. 65. 顔検出に適したフィルタの学習 2016/2/27 65 大量の学習データ どの形・位置の フィルタが顔検出に 適しているかを学習 顔画像 それ以外 機械学習勉強会
  66. 66. フィルタを用いた顔検出 2016/2/27 66 入力画像 𝑣𝑣1 𝑣𝑣2 𝑣𝑣3 統合 機械学習勉強会
  67. 67. 顔検出・顔認識(1) • デジカメ・スマホなどで広く用いられる 2016/2/27 67 https://www.youtube.com/watch?v=fBqOSEOdDKI 機械学習勉強会 カット
  68. 68. 実例2:人物検出 2016/2/27 68 クラス1:人物データ クラス2:人物以外のデータ 機械学習勉強会
  69. 69. 人物検出での問題点 • 姿勢や模様・色にはバリエーションがある • 模様/色は多種多様なので利用できない → 顔検出手法の利用は難しい • 輪郭形状には「ある程度」の規則性がみられ る 2016/2/27 69 人物の「見え方」の変化 機械学習勉強会
  70. 70. HOG特徴量 • Histogram of Oriented-Gradients – 方向付きの明度勾配のヒストグラムを利用 • 物体の大まかな形状が表現可能な特徴量 • 人物や車などの記述に利用されている 70 藤吉弘亘, "Gradientベースの特徴抽出 - SIFTとHOG -", 情報処理学会 研究報告 CVIM 160, pp. 211-224, 2007. 2016/2/27 機械学習勉強会
  71. 71. HOG特徴量の算出 セル (5×5ピクセル) 勾配方向 ヒストグラム ブロック単位で 正規化して 結合する ピクセル単位で 明度勾配を算出 セル単位で ヒストグラム化 ブロック単位で 正規化 ブロック (3×3セル) 712016/2/27 機械学習勉強会
  72. 72. 検出処理の手順(1) 学習過程 (正)人物画像 (誤)背景画像 HOG特徴量 サポートベクターマシン(識別器) 722016/2/27 機械学習勉強会
  73. 73. 検出処理の手順(2) 検出過程 検出ウィンドウでラスタスキャンを行い,人物検出を行う. 732016/2/27 機械学習勉強会
  74. 74. 機械学習を用いたコンピュータビジョン • 学習データが勝負 – 顔データベース – 人物データベース – 苦労して大量のデータを収集 • Hand-Crafted Features – 匠の技で設計された特徴量 – 対象に応じた特徴量を考案 2016/2/27 機械学習勉強会 74
  75. 75. 実例3:身体部位推定 2016/2/27 75 [Shotton et al. 2011] left hand right shoulder neck right foot Input depth image Visual features • 人間の身体を31個の部位 に分割 • 入力:デプスマップ • 出力:部位ラベル 2画素の奥行きの差 機械学習勉強会
  76. 76. 学習データの生成 2016/2/27 76 [Shotton et al. 2011] モーションキャプチャをベースにCGでデプスマップを生成 機械学習勉強会
  77. 77. 身体部位推定結果 2016/2/27 77 [Shotton et al. 2011] 機械学習勉強会
  78. 78. 機械学習を用いたコンピュータビジョン • 学習データが勝負 – 顔データベース – 人物データベース – 苦労して大量のデータを収集 – 生成型のデータ収集 • Hand-Crafted Features – 匠の技で設計された特徴量 – 対象に応じた特徴量を考案 2016/2/27 機械学習勉強会 78
  79. 79. CNN が大流行 • CVPR2015 (トップ国際会議) – 約250件(約40%)が深層学習に関する研究 2016/2/27 機械学習勉強会 79 GoogleNet
  80. 80. 機械学習を用いたコンピュータビジョン • 学習データが勝負 – 顔データベース – 人物データベース – 苦労して大量のデータを収集 – 生成型のデータ収集 – 大量データを収集するプロジェクト(例: ImageNet) • Hand-Crafted Features – 匠の技で設計された特徴量 – 対象に応じた特徴量を考案 2016/2/27 機械学習勉強会 80 不要になる??
  81. 81. 最近の流れ • CNN すごい!(ImageNetすごい!) – データ集めるの大変・・・ – ブラックボックスなので気持ち悪い • CNNなどの可視化の取り組み • 数理的な解析 2016/2/27 機械学習勉強会 81 最新のトレンドについては cvpaper.challenge (最新のトップ国際会議論文を読むプロジェクト)や 各種勉強会のスライドが参考になる
  82. 82. まとめ(take-home message) • 機械学習は 𝑓𝑓: 𝒙𝒙 → 𝑦𝑦 が基本 – 何を入力として何を出力(目標)にするかの選択が 重要 – 黎明期はほぼ自明なものばかりだった – 深い洞察や知識がなければ得られない出力までたど り着けば「人工知能」となる? • データの量と質が重要 – 大量かつノイズが少ないデータがあれば嬉しい – 目前のデータがそれを満たすものかをまず考える – 逆に独自のデータをもっていれば強力な武器となる 2016/2/27 機械学習勉強会 82
  83. 83. 参考文献(1) 832016/2/27 機械学習勉強会 Pattern Recognition and Machine Learning(C. M. Bishop, 2007) (和訳:パターン認識と機械学習,丸善出版, 2012)
  84. 84. 参考文献(2) 2016/2/27 機械学習勉強会 84 Elements of Statistical Learning (T. Hastie et al., 2009) (和訳:統計的学習の基礎:データ マイニング・推論・予測,共立出版, 2014) Computer Vision: Algorithms and Applications(R. Szeliski, 2010) (和訳:コンピュータビジョン:アル ゴリズムと応用,共立出版,2013)
  85. 85. 参考文献(3) 852016/2/27 機械学習勉強会 わかりやすいパターン認識 (石井他,1998) はじめてのパターン認識 (平井,2012)
  86. 86. 参考文献(4) 2016/2/27 機械学習勉強会 86 データサイエン ティスト養成読 本:機械学習入 門編(2015) 機械学習プロフェッ ショナルシリーズ (2015~) 深層学習(人工知 能学会,2015) イラストで学ぶディー プラーニング(山下隆 義,2015)

×