Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
niku9Tenhou
8,164 views
静岡Developers勉強会コンピュータビジョンvol2
Read more
8
Save
Share
Embed
Embed presentation
Download
Downloaded 54 times
1
/ 106
2
/ 106
3
/ 106
4
/ 106
5
/ 106
6
/ 106
7
/ 106
8
/ 106
9
/ 106
10
/ 106
11
/ 106
12
/ 106
13
/ 106
14
/ 106
15
/ 106
16
/ 106
17
/ 106
18
/ 106
19
/ 106
20
/ 106
21
/ 106
22
/ 106
23
/ 106
24
/ 106
25
/ 106
26
/ 106
27
/ 106
28
/ 106
29
/ 106
30
/ 106
31
/ 106
32
/ 106
33
/ 106
34
/ 106
35
/ 106
36
/ 106
37
/ 106
38
/ 106
39
/ 106
40
/ 106
41
/ 106
42
/ 106
43
/ 106
44
/ 106
45
/ 106
46
/ 106
47
/ 106
48
/ 106
49
/ 106
50
/ 106
51
/ 106
52
/ 106
53
/ 106
54
/ 106
55
/ 106
56
/ 106
57
/ 106
58
/ 106
59
/ 106
60
/ 106
61
/ 106
62
/ 106
63
/ 106
64
/ 106
65
/ 106
66
/ 106
67
/ 106
68
/ 106
69
/ 106
70
/ 106
71
/ 106
72
/ 106
73
/ 106
74
/ 106
75
/ 106
76
/ 106
77
/ 106
78
/ 106
79
/ 106
80
/ 106
81
/ 106
82
/ 106
83
/ 106
84
/ 106
85
/ 106
86
/ 106
87
/ 106
88
/ 106
89
/ 106
90
/ 106
91
/ 106
92
/ 106
93
/ 106
94
/ 106
95
/ 106
96
/ 106
97
/ 106
98
/ 106
99
/ 106
100
/ 106
101
/ 106
102
/ 106
103
/ 106
104
/ 106
105
/ 106
106
/ 106
More Related Content
PDF
コンピュータビジョン7章資料_20140830読書会
by
Nao Oec
PDF
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
by
Unity Technologies Japan K.K.
PDF
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
by
Unity Technologies Japan K.K.
PDF
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
by
Unity Technologies Japan K.K.
PDF
【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
by
Unity Technologies Japan K.K.
PDF
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
by
UnityTechnologiesJapan002
PDF
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
by
Unity Technologies Japan K.K.
PPTX
SQL Server Performance Tuning Essentials
by
Masaki Hirose
コンピュータビジョン7章資料_20140830読書会
by
Nao Oec
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
by
Unity Technologies Japan K.K.
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
by
Unity Technologies Japan K.K.
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
by
Unity Technologies Japan K.K.
【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
by
Unity Technologies Japan K.K.
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
by
UnityTechnologiesJapan002
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
by
Unity Technologies Japan K.K.
SQL Server Performance Tuning Essentials
by
Masaki Hirose
What's hot
PPTX
人狼エージェント作成講座
by
kengo009
PPTX
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
by
fukuoka.ex
PPTX
人狼知能エージェント作成方法
by
kengo009
PDF
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
by
Unity Technologies Japan K.K.
PDF
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
by
聡 中川
PDF
実験心理学者のためのPython
by
Masataka Miyoshi
PPTX
人狼知能エージェント作成方法
by
kengo009
PDF
人狼知能セミナー資料案20170624
by
Kosuke Shinoda
PPTX
HCL Nomad と OCR
by
Haruyuki Nakano
PDF
Elasticsearch勉強会#44 20210624
by
Tetsuya Sodo
PPTX
人狼知能セミナー資料20160507
by
Fujio Toriumi
人狼エージェント作成講座
by
kengo009
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
by
fukuoka.ex
人狼知能エージェント作成方法
by
kengo009
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
by
Unity Technologies Japan K.K.
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
by
聡 中川
実験心理学者のためのPython
by
Masataka Miyoshi
人狼知能エージェント作成方法
by
kengo009
人狼知能セミナー資料案20170624
by
Kosuke Shinoda
HCL Nomad と OCR
by
Haruyuki Nakano
Elasticsearch勉強会#44 20210624
by
Tetsuya Sodo
人狼知能セミナー資料20160507
by
Fujio Toriumi
Viewers also liked
PDF
実践コンピュータビジョン 3章 画像間の写像
by
yaju88
ODP
コンピュータビジョン 1章
by
motimune
PDF
20110415 Scattering in CG and CV
by
Toru Tamaki
PPTX
20120629PRMU CVPR2012報告
by
Toru Tamaki
PDF
20110326 CG・CVにおける散乱
by
Toru Tamaki
PDF
201109CVIM/PRMU Inverse Composite Alignment of a sphere under orthogonal proj...
by
Toru Tamaki
PDF
広島大学工学部における医用画像処理の取り組み:放射線科,眼科,内科
by
Toru Tamaki
PDF
ICASSP2012 Poster Estimating the spin of a table tennis ball using inverse co...
by
Toru Tamaki
PDF
静岡Developers勉強会コンピュータビジョンvol4発表用資料
by
keima_12
PDF
20090924 姿勢推定と回転行列
by
Toru Tamaki
PDF
20110606PRMU 2D-3Dマッチングを用いた3次元点群の時間的な剛体変化検出
by
Toru Tamaki
PDF
SSII2012 2D&3Dレジストレーション ~画像と3次元点群の合わせ方~ 第1部
by
Toru Tamaki
PDF
人工知能のための哲学塾 東洋哲学篇 第零夜 資料
by
Youichiro Miyake
PDF
Chainer v1.6からv1.7の新機能
by
Ryosuke Okuta
PDF
20140131 R-CNN
by
Takuya Minagawa
PPTX
50分でわかるブループリントについて
by
Masahiko Nakamura
PPTX
猫でもわかるUnreal Engine4
by
pafuhana 1213
PDF
NumPy闇入門
by
Ryosuke Okuta
PDF
ディープラーニングフレームワーク とChainerの実装
by
Ryosuke Okuta
PPTX
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
by
Ryosuke Okuta
実践コンピュータビジョン 3章 画像間の写像
by
yaju88
コンピュータビジョン 1章
by
motimune
20110415 Scattering in CG and CV
by
Toru Tamaki
20120629PRMU CVPR2012報告
by
Toru Tamaki
20110326 CG・CVにおける散乱
by
Toru Tamaki
201109CVIM/PRMU Inverse Composite Alignment of a sphere under orthogonal proj...
by
Toru Tamaki
広島大学工学部における医用画像処理の取り組み:放射線科,眼科,内科
by
Toru Tamaki
ICASSP2012 Poster Estimating the spin of a table tennis ball using inverse co...
by
Toru Tamaki
静岡Developers勉強会コンピュータビジョンvol4発表用資料
by
keima_12
20090924 姿勢推定と回転行列
by
Toru Tamaki
20110606PRMU 2D-3Dマッチングを用いた3次元点群の時間的な剛体変化検出
by
Toru Tamaki
SSII2012 2D&3Dレジストレーション ~画像と3次元点群の合わせ方~ 第1部
by
Toru Tamaki
人工知能のための哲学塾 東洋哲学篇 第零夜 資料
by
Youichiro Miyake
Chainer v1.6からv1.7の新機能
by
Ryosuke Okuta
20140131 R-CNN
by
Takuya Minagawa
50分でわかるブループリントについて
by
Masahiko Nakamura
猫でもわかるUnreal Engine4
by
pafuhana 1213
NumPy闇入門
by
Ryosuke Okuta
ディープラーニングフレームワーク とChainerの実装
by
Ryosuke Okuta
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
by
Ryosuke Okuta
Similar to 静岡Developers勉強会コンピュータビジョンvol2
PDF
ICCV2011 report
by
Hironobu Fujiyoshi
PDF
大規模画像認識とその周辺
by
n_hidekey
PDF
画像認識における幾何学的不変性の扱い
by
Seiji Hotta
PDF
Opencv object detection_takmin
by
Takuya Minagawa
PPTX
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
by
Yusuke Uchida
PDF
コンピュータビジョンで作る未来の栽培技術POL共催セミナー_20220527
by
ssuser5ec200
PPTX
Bachelor Presentation
by
Dzul Fahmi
PDF
画像処理でのPythonの利用
by
Yasutomo Kawanishi
PDF
画像認識の初歩、SIFT,SURF特徴量
by
takaya imai
PPTX
Ocha 20191204
by
Atsushi Hashimoto
PDF
VIEW2013 Binarycode-based Object Recognition
by
Hironobu Fujiyoshi
PDF
20141127 py datatokyomeetup2
by
Akira Shibata
PDF
20101023 cvsaisentan tsubosaka
by
正志 坪坂
PDF
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
by
Hironobu Fujiyoshi
PDF
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
by
harmonylab
PDF
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
by
MPRG_Chubu_University
PPT
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
by
kanejaki
PDF
20110904cvsaisentan(shirasy) 3 4_3
by
Yoichi Shirasawa
PDF
オープンソースで作るスマホ文字認識アプリ
by
陽平 山口
PDF
Deformable Part Modelとその発展
by
Takao Yamanaka
ICCV2011 report
by
Hironobu Fujiyoshi
大規模画像認識とその周辺
by
n_hidekey
画像認識における幾何学的不変性の扱い
by
Seiji Hotta
Opencv object detection_takmin
by
Takuya Minagawa
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
by
Yusuke Uchida
コンピュータビジョンで作る未来の栽培技術POL共催セミナー_20220527
by
ssuser5ec200
Bachelor Presentation
by
Dzul Fahmi
画像処理でのPythonの利用
by
Yasutomo Kawanishi
画像認識の初歩、SIFT,SURF特徴量
by
takaya imai
Ocha 20191204
by
Atsushi Hashimoto
VIEW2013 Binarycode-based Object Recognition
by
Hironobu Fujiyoshi
20141127 py datatokyomeetup2
by
Akira Shibata
20101023 cvsaisentan tsubosaka
by
正志 坪坂
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
by
Hironobu Fujiyoshi
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
by
harmonylab
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
by
MPRG_Chubu_University
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
by
kanejaki
20110904cvsaisentan(shirasy) 3 4_3
by
Yoichi Shirasawa
オープンソースで作るスマホ文字認識アプリ
by
陽平 山口
Deformable Part Modelとその発展
by
Takao Yamanaka
静岡Developers勉強会コンピュータビジョンvol2
1.
実践コンピュータビジョン 第2章 画像の局所記述子
2.
はじめに • 本資料は静岡Developers勉強会コンピュータビジョン vol.2のための資料です • オライリー社の実践コンピュータビジョン www.oreilly.co.jp/books/9784873116075/ (以降では教科書と呼びます) 第2章の説明です
3.
はじめに <共通開発環境> • python 2.7
(3.x系では本書に沿わないのでNG) <私の開発環境> • pyCharm 3.1(IDEはあった方が便利です) • MacOSX 10.9.2 (Windows等でもOKです) ここは皆 えて! 参考までに…
4.
はじめに • サンプルコードを実践コンピュータビジョンのHP( www.oreilly.co.jp/books/ 9784873116075/
)の関連ファイルタブからダウンロードしてください • 今回はサンプル コードを見たり 弄ったりして、 理解を進めます
5.
はじめに • 使用する画像はwww.oreilly.co.jp/pub/ 9784873116075/index.htmlにリンクが貼られた pcv_data.zipにあるので、ダウンロードしてください
6.
はじめに • 第1章までに必要なライブラリ (PIL,SciPy,NumPy,Matplotlib)は、第一回の資料 www.slideshare.net/motimune/ss-d 31241704?cmp_src=analytics&utm_source=anal ytics_dashboard&utm_medium=email&utm_camp aign=analytics_weekly_teaser&cmp_src_from=an alytics_weekly_teaser を参考にインポートしておいてください
7.
今日の目標 • 本資料を通して、以下のことを修得する • 画像から局所特徴量を抽出し、画像間の特徴点を対応づ けることが出来るようになる •
局所特徴量:Harris特徴量,SIFT特徴量 • マッチング:正規化相互相関,SIFTマッチング • 画像間の関係をPydotを用いてグラフ表示することが出来 るようになる
8.
第2章の目次 • 2.1 Harrisコーナー検出器 •
2.1.1 画像間の対応点を見つける • 2.2 SIFT • 2.2.1 特徴点 • 2.2.2 記述子 • 2.2.3 特徴点を検出する • 2.2.4 記述子を対応づける • 2.3 ジオタグ付きの画像を対応づける • 2.3.1 Panoramioからジオタグ付きの画像をダウンロードする • 2.3.2 局所記述子を使って対応づける • 2.3.3 関連画像を可視化する • 2.4 演習問題
9.
2.1 Harrisコーナー検出器 • 周辺に複数方向のエッジがある点=コーナーを検出 画像引用
http://d.hatena.ne.jp/nodamushi/20131206/1386355795 コーナー! エッジ
10.
2.1 Harrisコーナー検出器 • 周辺に複数方向のエッジがある点=コーナーを検出 ! ! ! •
一次微分ガウシアンフィルタが二階微分相当の物に 変換する処理になる ガウス分布などの重み行列 画像の勾配
11.
2.1 Harrisコーナー検出器 • ガウス関数を一次微分することでエッジ検出が行える ガウス関数
一次微分ガウス関数
12.
2.1 Harrisコーナー検出器 • の固有値(
)に応じてコーナーか判定する • 実際は固有値を求めず以下の判別関数を使う ! • この判別関数が大きければ コーナーとする ¯MI 1, 2 行列の判別式 行列の対角成分の和 画像引用 http://www.isl.titech.ac.jp/ nagahashilab/member/longb/iip/LectureNotes/lecture3.pdf
13.
2.1 Harrisコーナー検出器【実装】 後述する3つの関数を使用してコーナー検出する array:すべての要素は同一の型という 制限を持つリスト(のようなもの) 2.1 harris.py こんな結果が出ればOKです
14.
• harris.pyを作り以下の関数を追加する 1. compute_harris_response 2.
get_harris_points 3. plot_harris_points 2.1 Harrisコーナー検出器【実装】
15.
2.1 Harrisコーナー検出器【実装】 1. compute_harris_response
16.
2.1 Harrisコーナー検出器【実装】 1. compute_harris_response im
: array 入力画像 sigma : ガウシアンフィルタ の標準偏差
17.
2.1 Harrisコーナー検出器【実装】 1. compute_harris_response Ix Iy Ixx
18.
2.1 Harrisコーナー検出器【実装】 1. compute_harris_response Ix Iy Ixx 各画素の
の値が格納された行列(Harris応答画像)が返り値(array)
19.
2.1 Harrisコーナー検出器【実装】 2. get_harris_points
20.
2.1 Harrisコーナー検出器【実装】 2. get_harris_points harrisim
: Harris応答画像(array) min_dist : コーナーや画像境界から 分離する最小ピクセル数 threshold : 最大Harris応答値の 何倍をしきい値とす るかのパラメータ
21.
2.1 Harrisコーナー検出器【実装】 numpy.nonzero: 要素が0じゃない位置を返す 垂直方向(dim=0) 水平方向(dim=1) 0
1 1 0 1 0 0 1 0 入力画像 垂 直 方 向 水平方向 2. get_harris_points
22.
2.1 Harrisコーナー検出器【実装】 2. get_harris_points 画像境界付近を除外した領域内に おける候補点位置に1を立てる
23.
2.1 Harrisコーナー検出器【実装】 2. get_harris_points Harris応答値の大きい特徴点 から順に、見つけたコーナー の周囲min_dist内のコーナー を除外し(allowed_locations の要素を0にし)、 コーナー位置(x,y)を格納した 行列(array)を返り値とする
24.
2.1 Harrisコーナー検出器【実装】 3. plot_harris_points
25.
2.1 Harrisコーナー検出器【実装】 3. plot_harris_points image
: 入力画像(array) filtered_coords : コーナー位置を格納した行列 (array(array(x,y))) 入力画像のコーナー位置に * を表示する
26.
2.1 Harrisコーナー検出器【実装】 前述した3つの関数を使用してコーナー検出する こんな結果が出ればOKです 2.1 harris.py min_dist=6
, threshold = 0.1
27.
2.1.1画像間の対応点を 見つける • 画像間の対応を見つける = 画像間で一致する特徴点を見つける そのためには…各特徴点の記述子どうしの比較が必要 →記述子の記述方法と類似度の評価方法を選択
28.
2.1.1画像間の対応点を 見つける • 教科書ではまず、Harrisコーナー点を使用した代表 的な方法を紹介している • 記述子:着目点中心の長方形画像パッチのグレー レベル •
類似度の評価方法:正規化相互相関
29.
2.1.1画像間の対応点を 見つける • 画像パッチ: • 画像パッチの相関: •
関数 は手法により異なる。正規化相互相関は ! ! 値が大きいほど、類似度が高いと評価される。 I1(x) I2(x) f(.) 標準偏差 平均輝度値パッチのピクセル数
30.
2.1.1画像間の対応点を 見つける 後述する5つの関数を使用してコーナー検出する 2.1.1harris_match.py こんな結果が出ればOKです ※結果が出るまで5分くらい待つ
31.
• harris.pyに以下の関数を追加する 1. get_descriptors 2.
match 3. match_twosided 4. appendimages 5. plot_matches 2.1.1画像間の対応点を 見つける
32.
2.1.1画像間の対応点を 見つける
33.
image : 入力画像 filtered_coords
: コーナー位置を格納した行列 (array(array(x,y))) wid : 画像パッチの一辺の長さ(pix) 2.1.1画像間の対応点を 見つける
34.
2.1.1画像間の対応点を 見つける ネストしたリストをフラットにする 例:[[1,2],[3,4]] → [1,2,3,4] image :
入力画像 filtered_coords : コーナー位置を格納した行列 (array(array(x,y))) wid : 画像パッチの一辺の長さ(pix)
35.
ネストしたリストをフラットにする 例:[[1,2],[3,4]] → [1,2,3,4] 一つのパッチの特徴量(輝度値)を一行に表現 したimage画像中のパッチのリスト image :
入力画像 filtered_coords : コーナー位置を格納した行列 (array(array(x,y))) wid : 画像パッチの一辺の長さ(pix) 2.1.1画像間の対応点を 見つける
36.
2.1.1画像間の対応点を 見つける
37.
desc : パッチ特徴量のリスト threshold : ncc相関値のしきい値 2.1.1画像間の対応点を 見つける
38.
desc : パッチ特徴量のリスト threshold : ncc相関値のしきい値 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 d d e s c 2 desc1 2.1.1画像間の対応点を 見つける
39.
2.1.1画像間の対応点を 見つける
40.
desc : パッチ特徴量のリスト threshold : ncc相関値のしきい値 2.1.1画像間の対応点を 見つける
41.
desc : パッチ特徴量のリスト threshold : ncc相関値のしきい値 例
: where(a > 5) a の要素が 5より大きな要素のindexを返す where(条件) : 条件を満たす要素のindexを返す 2.1.1画像間の対応点を 見つける
42.
2.1.1画像間の対応点を 見つける
43.
2画像間の行数を合わせるため、 少ない行の画像には0を詰める 2.1.1画像間の対応点を 見つける
44.
2画像間の行数を合わせるため、 少ない行の画像には0を詰める 2画像の結合 2.1.1画像間の対応点を 見つける
45.
2.1.1画像間の対応点を 見つける
46.
2画像間で対応する点間を線分でつなぐ 2.1.1画像間の対応点を 見つける
47.
先述した5つの関数を使用してコーナー検出する 2.1.1harris_match.py こんな結果が出ればOKです ※結果が出るまで5分くらい待つ 2.1.1画像間の対応点を 見つける
48.
2.1.1画像間の対応点を 見つける 問題点 ! • 正規化相互相関の、記述力が足らず誤対応が多い • スケールや回転に対して不変でない
49.
2.2 SIFT 局所画像特徴量の代表的な手法:SIFT SIFTは特徴点の検出と記述の両方を行う <SIFT特徴量> • スケール、回転、明度に不変な特徴量
50.
SIFTの参考文献 [1]Lowe氏(SIFT開発者)の論文 http://www.cs.ubc.ca/ lowe/papers/ijcv04.pdf [2]藤吉先生による日本語論文 http://www.vision.cs.chubu.ac.jp/sift/PDF/ sift_tutorial.pdf 一度読むことをオススメします! 本資料もこの論文の図を引用します
51.
SIFTアルゴリズム SIFTアルゴリズムは以下の4ステップで行う 1. スケールとキーポイントの検出 2. キーポイントのローカライズ 3.
オリエンテーションの算出 4. 特徴量の記述 検出 記述
52.
1. 複数の に対するDoG(Difference of
gaussian)画像を生成する スケールとキーポイントの検出 平滑化画像 入力画像 DoG画像 ガウス関数
53.
2. 注目画素と26近傍を比較し、極大値の画素をキーポ イント候補点として検出する。これを の小さなDoG 画像から順に行う 特徴を最も含むスケール を自動で決めるため、拡大、 縮小に不変な特徴量となる スケールとキーポイントの検出
54.
2.2.2 記述子 • また、特徴点の勾配方向から、特徴点の方向を求める。 これにより回転不変の特徴量になる •
これ以上の説明は教科書の範囲を超えるので割愛
55.
VLFeatのインストール 2.2.3sift.pyを実行するにはVLFeatが必要 <Windows> HP(http://www.vlfeat.org/)に行きダウンロードする フォルダ(vlfeat-0.9.18)のsift.exeとvl.dllを 2.2.3sift.pyと同じディレクトリに置く ! <Mac> HPに行きダウンロードする フォルダ(vlfeat-0.9.18)下のMaci64フォルダ下の siftとlibvl.dylibを2.2.3sift.pyと同じディレクトリに置く sift.pyの18行目のstr( sift …)
-> str( ./sift )に変更する !
56.
2.2.3 特徴点を検出する 後述する4つの関数を使用してSIFT特徴点を検出する 2.2.3 sift.py こんな結果が出ればOKです
57.
2.2.3 特徴点を検出する • sift.pyに以下の関数を追加 1.
process_image 2. read_features_from_file 3. write_features_to_file 4. plot_features
58.
2.2.3 特徴点を検出する 1. process_image
59.
2.2.3 特徴点を検出する 1. process_image imagename
: 入力画像の名前 resultname : 出力画像の名前 params :SIFTパラメータ
60.
2.2.3 特徴点を検出する 2. read_features_from_file !
61.
2.2.3 特徴点を検出する 2. read_features_from_file ! filename(.sift) 第一列から順に xの座標値
yの座標値 スケール 回転角度記述子の情報(128次元) 特徴点の位置、スケール、回転情報
62.
2.2.3 特徴点を検出する 3. write_features_to_file
63.
2.2.3 特徴点を検出する 3. write_features_to_file
64.
2.2.3 特徴点を検出する 4. plot_features
65.
2.2.3 特徴点を検出する 4. plot_features 特徴点のスケール
66.
2.2.3 特徴点を検出する 先述した4つの関数を使用してSIFT特徴点を検出する 2.2.3 sift.py こんな結果が出ればOKです
67.
2.2.4 記述子を対応づける 後述する4つの関数を使用してコーナー検出する 2.2.4 sift_match.py こんな結果が出ればOKです
68.
2.2.4 記述子を対応づける • sift.pyに以下の関数を追加する 1.
match 2. match_twosided 3. appendimages (harris.pyから移植) 4. plot_matches (harris.pyからほぼ移植)
69.
2.2.4 記述子を対応づける 1. match
70.
2.2.4 記述子を対応づける 1. match 内積のarccosが小さい
= 特徴量が似ている
71.
2.2.4 記述子を対応づける 2. match_twosided
72.
2.2.4 記述子を対応づける 3. appendimages
73.
2.2.4 記述子を対応づける 4. plot_matches harris.pyとの変更点
74.
2.2.4 記述子を対応づける 先述した4つの関数を使用してコーナー検出する 2.2.4 sift_match.py こんな結果が出ればOKです
75.
2.3 ジオタグ付きの画像を 対応づける • ジオタグ:撮影場所の付加情報 •
Panoramio:Googleの画像共有サービス • APIが用意されており プログラムから アクセス可能
76.
2.3.1 Panoramioからジオタグ付きの 画像をダウンロードする • urllib.urlopen()で以下のURLを指定してオブジェ クトを読み込む •
http://www.panoramio.com/map/get_panoramas.php?order=popularity& set=public&from=0&to=20&minx=-77.037564&miny=38.896662& maxx=-77.035564&maxy=38.898662&size=medium' • ! !!!!!!!!!!!!!!! •ホワイトハウスを中心 0.001の範囲にある画像を、 人気度の高いものから 20 個取得する 人気度順 先頭から20番 目まで選ぶ 最小経度 最小緯度最大経度 最大緯度
77.
2.3.1 Panoramioからジオタグ付きの 画像をダウンロードする • 結果はJSON形式で得られる •
python2.6以上は標準でjson形式が扱える
78.
2.3.1 Panoramioからジオタグ付きの 画像をダウンロードする simplejsonじゃなくて標準jsonを使用します
79.
2.3.1 Panoramioからジオタグ付きの 画像をダウンロードする • 実行すると、panoramioフォルダにダウンロードした画像が保存される
80.
2.3.2 局所記述子を使って 対応づける • 画像からSIFT記述子を抽出して.siftファイルに保存 する •
その後、すべてのsiftファイルの組み合わせで特徴 点のマッチングを行い、相互マッチした数を保存す る
81.
2.3.2 局所記述子を使って 対応づける
82.
2.3.2 局所記述子を使って 対応づける (画像名前).siftというファイルに (画像名前)のsift特徴量リストを 作成する
83.
2.3.2 局所記述子を使って 対応づける panoramioフォルダ下の画像数 の正方行列を作成
84.
2.3.2 局所記述子を使って 対応づける その正方行列に、相互マッチし た特徴点の数を格納
85.
2.3.2 局所記述子を使って 対応づける panoramio_matchscores.pklに 結果をダンプする
86.
2.3.2 局所記述子を使って 対応づける 2.3.2 pano_sift_matchを実行すると、panoramioフォルダ下に 各画像の特徴量を記述した.siftファイルが作成される
87.
2.3.2 局所記述子を使って 対応づける また、2.3.2 pano_sift_matchを実行すると、各画像間の相関値を 記述したpanoramio_matchscores.pklファイルが作成される
88.
2.3.2 局所記述子を使って 対応づける • 単純な画像間の距離を用いて、 見た目が似た画像同士を結びつ ける ある画像群のmatchscores行列
89.
2.3.3 関連画像を可視化する • 似たもの同士の画像を図 のように結びつけて表示 したい •
描画ライブラリGraphvis のPythonインターフェー ス:Pydotを使う
90.
2.3.3 関連画像を可視化する Pydotを使用するには… graphvizとpygraphvizとpyparsing(1.x系)をインストールしたあとにPaydotをインストール (※pyparsingには2.xと1.x系がある。Pydotを使うには1.x系のpyparsingを使う必要がある。) ! < Macでpipを使用してPydotをインストールする方法
> sudo pip uninstall pyparsing #すでに2.x系が入っている人はアンインストール sudo pip install -Iv https://pypi.python.org/packages/source/p/pyparsing/ pyparsing-1.5.7.tar.gz#md5=9be0fcdcc595199c646ab317c1d9a709 brew install graphviz sudo pip install pygraphviz sudo pip install pydot ! ———————————————————————————- ! 2.x系だと(pip install pyparsingとすると標準でインストールされる)以下のエラーが発生する。 >>> import pydot Couldn't import dot_parser, loading of dot files will not be possible.
91.
2.3.3 関連画像を可視化する < WindowsやMacでpipを使用せずPydotをインストールする方法
> 以下のサイトでダウンロードおよびインストールしてください • Pydotパッケージ(http://code.google.com/p/pydot/)! • Pyparsing(http://pyparsing.wikispaces.com/)! • GraphViz (http://www.graphviz.org/)
92.
2.3.3 関連画像を可視化する • (ここでジオタグ画像から離れて…)Pydotの描画例 • 深さ2,5つの枝ノードをもつグラフ
93.
2.3.3 関連画像を可視化する
94.
2.3.2でダンプした panoramio_matchscores.pklを読み込む 2.3.3 関連画像を可視化する
95.
グラフ化した画像をwhitehouse.pngという 名前で保存する 2.3.3 関連画像を可視化する
96.
2.3.3 関連画像を可視化する 2.3.3 pano_pydot.pyを実行すると、各画像間の相関値を記述した panoramio_matchscores.pklを読み込み画像間の関係をグラフィ カルに表示した画像whitehouse.pngが作成される
97.
本日習得したこと • 画像から局所特徴量を抽出し、画像間の特徴点を対 応づけることが出来るようになった • 局所特徴量:Harris特徴量,SIFT特徴量 •
マッチング:正規化相互相関,SIFTマッチング • 画像間の関係をPydotを用いてグラフ表示すること が出来るようになった
98.
今後の展望 • 本章で習得した局所特徴量の抽出方法および画像間 のマッチング手法を用いて、第3章のパノラマ画像 の作成や、ロバストなホモグラフィー推定を行う。 また第4章のカメラキャリブレーションやARにも 応用する。
99.
演習問題 • 時間のある人だけ挑戦してください
100.
演習問題 2.4.1 • Harrisコーナー点を対応づける関数を変更して、点の間の 最大距離を指定できるようにし、対
応づけをよりロバス トにしてください。
101.
演習問題 2.4.2 画像のぼかし(もしくはROFによるノイズ除去)を徐々に強く しながら、Harrisコーナーを抽 出してください。どのように なりますか?
102.
演習問題 2.4.3 • Harris以外のコーナー検出器に、FASTコーナー検出器と いうものがあります。すべてPython
で書かれたもの(http:// www.edwardrosten.com/work/fast.html)など、その実装は たくさんあ ります。この検出器を試して、感度の閾値を セットし Harris コーナーと比較してください。
103.
演習問題 2.4.4 • 異なる解像度で画像のコピーを作ってください(例 えば、何倍かに拡大します)。それぞれの画
像から SIFT 特徴量を抽出してください。特徴点の対応を 描画し、スケールに対する不変性が 破たんする状 況を確認してください。
104.
演習問題 2.4.5 • VLFeatのコマンドラインツールには、 MSER(Maximally
Stable Extremal Regions)と い う 領 域 検 出 器 の 実 装 も 含 ま れ て い ま す(http://en.wikipedia.org/wiki/ Maximally_stable_ extremal_regions)。MSER 領域を抽出し、--read-frames オプションを使っ て SIFT 記述 子計算処理に渡す関数と、楕円領域 を描画する関数を作ってください。
105.
演習問題 2.4.6 • 2枚の画像間の特徴点を対応づけ、その対応に基づ いて、スケールの違いや平面内での回転を
推定す る関数を作ってください。
106.
演習問題 2.4.7 • ホワイトハウスの例のように、選んだ場所の画像を ダウンロードして対応づけしてください。
画像を 関連づけるよい指標を見つけられますか? 地理上の 代表画像を選ぶために、グラフ構 造は使えそうで すか?
Download