SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
1 
静岡Developers勉強会 実践コンピュータビジョン vol.6 6章 画像のクラスタリング 場所: ジョーカーピース㈱ 中部オフィス 日時: 2014/07/19
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
2 
自己紹介 
【名前】 
加畑 俊之介 
【得意なソフト開発分野】 
画像処理・認識/ネットワーク通信/ 
組み込み/デバイスドライバ/OSカーネル 
【勤務先】 
ジョーカーピース㈱ 
http://jokerpiece.co.jp/ 
会社はWebシステム開発を主としてますが、 
浜松オフィスでは上記のような仕事をしてます。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
3 
目次 
画像のクラスタリングについて、3つの手法を勉強します。 
◆k平均クラスタリング 
◆階層クラスタリング 
◆スペクトラルクラスタリング
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
4 
k平均クラスタリング
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
5 
処理手順 
1. 各点にランダムにクラスタを割り当てる。 
2. クラスタの重心を計算する。 
3. 点のクラスタを、一番近い重心のクラスタに変更する。 
4. 変化がなければ終了。変化がある限りは 2. に戻る。 
参考:http://tech.nitoyon.com/ja/blog/2009/04/09/kmeans-visualise/
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
6 
(ステップ1) 1. 初期状態 
各点にランダムにクラスタを割り当てます。 
ここではクラスタ数は5つ(5色)です。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
7 
(ステップ2) 2. 重心を計算する 
クラスタごとに重心(座標の平均値)を求めます。 
×印が重心です。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
8 
(ステップ3) 3. 一番近い重心の色に変わる 
それぞれの点の色を塗り替えます。 
自分から一番近い重心の色に変わります。 
※青の重心は近くに点が少ないので、寂しいクラスタになっちゃっ てますね。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
9 
(ステップ4) 2. 再度、重心を計算する 
重心の位置やクラスタに変化があったので、2. に戻ります。 
新しいクラスタでの重心の位置を求めます。 
×印がクラスタの中心に移動してますね。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
10 
(ステップ5) 3. 再度、色を置き換える 
新しい重心の位置に応じて、もう一度色を置き換えます。 
青と黄が勢力を拡大しました。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
11 
(ステップ6) 2. また重心を計算する 
相変わらず変化があったので、重心の位置をもう1度計算します。 
黄緑の重心が少し右方向に移動しました。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
12 
(ステップ7) 3. また色を置き換える 
再クラスタリングします。 
黄緑が赤を少し奪い、黄色が黄緑を少し奪いました。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
13 
(最後) 4. 変化がなくなった 
・・・これらステップを繰り返して、 
各クラスタに分類される点群に変化がなくなったら、 
クラスタリング終了です。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
14 
主成分分析の考え方 
データの分散が最も大きくなる方向の軸が第1主成分、 
次に分散が大きくなる方向の軸が第2主成分、 
次に分散が・・・第n主成分 
各データを主成分の軸上に射影することにより次元を圧縮が可能 
分散が大きくなる方向の軸なので、次元圧縮しても元のデータの損失が小さい 
参考: http://www.macromill.com/landing/words/b007.html
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
15 
階層クラスタリング
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
16 
処理手順 
参考: http://compsci.world.coocan.jp/OUJ/2012PR/pr_11_a.pdf
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
17 
クラスタ間の距離を求める方法 
参考: http://compsci.world.coocan.jp/OUJ/2012PR/pr_11_a.pdf
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
18 
具体例 
参考: http://compsci.world.coocan.jp/OUJ/2012PR/pr_11_a.pdf
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
19 
具体例 
参考: http://compsci.world.coocan.jp/OUJ/2012PR/pr_11_a.pdf
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
20 
画像ヒストグラム 
◆画像ヒストグラムとは 
「どの位の明るさの点が、どの位有るかの分布」を表したグラフ 
◆教科書6.2.1では、クラスタリング処理に入力するデータを 
RGBの各値を8段階とした画像ヒストグラム(512次元(=8×8×8)) 
としている。 
※C言語的な表現:histgram[r][g][b] の各配列要素でピクセル数をカウント 
参考: http://www16.ocn.ne.jp/~aru777/theme_25.html
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
21 
スペクトラルクラスタリング
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
22 
手法概要 
1. n個の要素の間の類似度を成分としたn×nの行列を作成する。 
※類似度の尺度は「距離」や「個数」など何でもOK 
※「総当り戦の表」のような行列 (教科書P-50を参照) 
2. 類似度行列を次元圧縮する。次元圧縮の手法には 
・ラプラシアン行列のスペクトル分解(教科書の手法) 
・主成分分析 
・特異値分解 
などが用いられる。 
3. 各要素の次元圧縮されたデータをクラスタリングする。 
クラスタリング手法は任意のものでOK。 
教科書ではk平均クラスタリングを適用。
2014/07/19 
静岡Developers勉強会 実践コンピュータビジョン vol.6 
23 
スペクトラルクラスタリングのメリット 
例えばk平均クラスタリングが苦手とする下記のようなデータでメリットがあります。 
参考: http://xn-- p8ja5bwe1i.jp/wiki/%E3%83%90%E3%82%A4%E3%82%AA%E3%83%BB%E3%83%87%E3%83%BC%E3%82%BF%E3%83%BB%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0/R%E3%81%A7%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%88%E3%83%A9%E3%83%AB%E3%83%BB%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%92%E4%BD%BF%E3%81%86/ 
K平均 
スペクトラル 
K平均 
スペクトラル

Contenu connexe

Tendances

20150608 初心者によるazure machinelearning入門
20150608 初心者によるazure machinelearning入門20150608 初心者によるazure machinelearning入門
20150608 初心者によるazure machinelearning入門
Toshiyuki Manabe
 
Tensor flowを使った キュウリの仕分け あれこれ
Tensor flowを使った キュウリの仕分け あれこれTensor flowを使った キュウリの仕分け あれこれ
Tensor flowを使った キュウリの仕分け あれこれ
Makoto Koike
 

Tendances (14)

TensorFlowによるFizz Buzz
TensorFlowによるFizz BuzzTensorFlowによるFizz Buzz
TensorFlowによるFizz Buzz
 
SimGAN 輪講資料
SimGAN 輪講資料SimGAN 輪講資料
SimGAN 輪講資料
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
Tensor flow勉強会 (ayashiminagaranotensorflow)
Tensor flow勉強会 (ayashiminagaranotensorflow)Tensor flow勉強会 (ayashiminagaranotensorflow)
Tensor flow勉強会 (ayashiminagaranotensorflow)
 
Pythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnPythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearn
 
Tensor flow勉強会3
Tensor flow勉強会3Tensor flow勉強会3
Tensor flow勉強会3
 
Chainer meetup2016 03-19pub
Chainer meetup2016 03-19pubChainer meetup2016 03-19pub
Chainer meetup2016 03-19pub
 
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
 
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
 
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learningChaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
 
20150608 初心者によるazure machinelearning入門
20150608 初心者によるazure machinelearning入門20150608 初心者によるazure machinelearning入門
20150608 初心者によるazure machinelearning入門
 
Tensor flowを使った キュウリの仕分け あれこれ
Tensor flowを使った キュウリの仕分け あれこれTensor flowを使った キュウリの仕分け あれこれ
Tensor flowを使った キュウリの仕分け あれこれ
 
Azure MLで機械学習をやってみよう
Azure MLで機械学習をやってみようAzure MLで機械学習をやってみよう
Azure MLで機械学習をやってみよう
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方
 

En vedette (8)

実践コンピュータビジョン8章
実践コンピュータビジョン8章実践コンピュータビジョン8章
実践コンピュータビジョン8章
 
コンピュータビジョン7章資料_20140830読書会
コンピュータビジョン7章資料_20140830読書会コンピュータビジョン7章資料_20140830読書会
コンピュータビジョン7章資料_20140830読書会
 
静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料
 
エンジョイ☆スクレイピング
エンジョイ☆スクレイピングエンジョイ☆スクレイピング
エンジョイ☆スクレイピング
 
コンピュータビジョン 1章
コンピュータビジョン 1章コンピュータビジョン 1章
コンピュータビジョン 1章
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画
 
サザエさんのじゃんけん データ分析
サザエさんのじゃんけん データ分析サザエさんのじゃんけん データ分析
サザエさんのじゃんけん データ分析
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
 

Similaire à 2014/07/19_静岡Developers勉強会_実践コンピュータビジョンvol.6_「6章:画像のクラスタリング」

AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
Akiko Kosaka
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
Akiko Kosaka
 
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
俊仁 小林
 

Similaire à 2014/07/19_静岡Developers勉強会_実践コンピュータビジョンvol.6_「6章:画像のクラスタリング」 (20)

ユーザーストーリーワークショップ実践編
ユーザーストーリーワークショップ実践編ユーザーストーリーワークショップ実践編
ユーザーストーリーワークショップ実践編
 
Scrumワークショップ
ScrumワークショップScrumワークショップ
Scrumワークショップ
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
 
Scrum"再"入門
Scrum"再"入門Scrum"再"入門
Scrum"再"入門
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計
 
ディープラーニングによるラーメン二郎全店舗識別と生成
ディープラーニングによるラーメン二郎全店舗識別と生成ディープラーニングによるラーメン二郎全店舗識別と生成
ディープラーニングによるラーメン二郎全店舗識別と生成
 
20120522 アジャイルサムライ読書会第5回
20120522 アジャイルサムライ読書会第5回20120522 アジャイルサムライ読書会第5回
20120522 アジャイルサムライ読書会第5回
 
サービス開発者の読書会#5
サービス開発者の読書会#5サービス開発者の読書会#5
サービス開発者の読書会#5
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
 
ユーザーストーリーワークショップ
ユーザーストーリーワークショップユーザーストーリーワークショップ
ユーザーストーリーワークショップ
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
 
ユーザーストーリーワークショップ
ユーザーストーリーワークショップユーザーストーリーワークショップ
ユーザーストーリーワークショップ
 
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
 

2014/07/19_静岡Developers勉強会_実践コンピュータビジョンvol.6_「6章:画像のクラスタリング」