SlideShare a Scribd company logo
1 of 12
Download to read offline
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ORB 特征
高洪臣
cggos@outlook.com
2020 年 7 月 10 日
高洪臣 ORB 特征 2020 年 7 月 10 日 1 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Image Features
feature types
feature extraction(detection) & matching
• feature detector
• feature descriptor
高洪臣 ORB 特征 2020 年 7 月 10 日 2 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Corner / Keypoint / Interest Point
• keypoint detector
• Harris (1988)
• Shi-Tomas (1994)
• FAST1
(Features from Accelerated and Segments Test) (2006)
• AGAST (2010)
• keypoint descriptor
• BRIEF2
(Binary robust independent elementary feature) (2010)
• keypoint detector & descriptor
• SIFT (1999, 2004)
• SURF (2006)
• BRISK (Binary Robust Invariant Scalable Keypoints) (2011)
• ORB3
(2011)
• FREAK (2012)
• KAZE (2012)
1Edward Rosten and Tom Drummond. “Machine Learning for High-Speed Corner Detection.”. In: ECCV (1).
Ed. by Ales Leonardis, Horst Bischof, and Axel Pinz. Vol. 3951. Lecture Notes in Computer Science. Springer,
2006, pp. 430–443. isbn: 3-540-33832-2. url: http://dblp.uni-trier.de/db/conf/eccv/eccv2006-1.html#RostenD06.
2Michael Calonder et al. “BRIEF: Binary Robust Independent Elementary Features”. In:
Proceedings of the 11th European Conference on Computer Vision: Part IV. ECCV’10. Heraklion, Crete,
Greece: Springer-Verlag, 2010, pp. 778–792. isbn: 364215560X.
3Ethan Rublee et al. “ORB: An efficient alternative to SIFT or SURF”. In:
2011 International conference on computer vision. Ieee. 2011, pp. 2564–2571.
高洪臣 ORB 特征 2020 年 7 月 10 日 3 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ORB Overview
ORB = Oriented FAST + Rotated BRIEF
• oFAST (ORB Detector)
• keypoint position - FAST
• keypoint orientation - image patch moment
• keypoint response/score - NMS(Non-Maximal Supression)
• scale-invariant - image pyramid
• rBRIEF (ORB Descriptor)
• keypoint descriptor - BRIEF
• rotation-invariant - keypoint orientation
高洪臣 ORB 特征 2020 年 7 月 10 日 4 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Multiscale Image Pyramid
Parameters
• level: 8
• scale: 1.2
• downsample:
bilinear interpolation
produce FAST features and compute descriptors at each level in the pyramid
高洪臣 ORB 特征 2020 年 7 月 10 日 5 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
FAST
fast-9
•  9 contiguous pixels in a circle (of 16 pixels) brighter than Ip + t or darker than Ip − t
• Rapid rejection by testing 1, 9, 5 then 13
NMS (Non-Maximal Suppression) 1
remove corners which have an adjacent corner with higher score
Uniform Distribution
DistributeOctTree() 2
1all called non-maximum suppression
2use Quad-Tree to iteratively segment image regions in ORB-SLAM2
高洪臣 ORB 特征 2020 年 7 月 10 日 6 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Orientation by Intensity Centroid (IC)
the moments of a patch:
mpq =
∑
x,y
xp
yq
I(x, y)
the first order moment of a patch 1
I (radius = 15):
m10 =
15∑
x=−15
15∑
y=−15
xI(x, y) =
15∑
y=0
15∑
x=−15
x [I(x, y) − I(x, −y)]
m01 =
15∑
x=−15
15∑
y=−15
yI(x, y) =
15∑
y=1
15∑
x=−15
y [I(x, y) − I(x, −y)]
the intensity centroid:
C =
(
m10
m00
,
m01
m00
)
the orientation (from the corner’s center to the centroid):
θ = atan 2 (m01, m10)
1a circular patch
高洪臣 ORB 特征 2020 年 7 月 10 日 7 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Image Gaussian Filtering/Blurring/Smoothing 1
why filtering
start by smoothing image using a Gaussian kernel at each level in the pyramid in order to
prevent the descriptor from being sensitive to high-frequency noise
Gaussian Kernel
G(u, v) =
1
2πσ2
e
− u2+v2
2σ2
Gn(u, v) =
1
s
· e
− u2+v2
2σ2 , s =
w∑
u=−w
w∑
v=−w
e
− u2+v2
2σ2
(a) (u,v) (b) kernel (σ=1.5) (c) normalized
Image Gaussian Filtering: I′(i, j) =
∑w
u=−w
∑w
v=−w
I(i + u, j + v)Gn(u, v)
1low-pass filter
高洪臣 ORB 特征 2020 年 7 月 10 日 8 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Separability of the Gaussian filter
s =
w∑
u=−w
w∑
v=−w
g(u) · g(v) =
( w∑
u=−w
g(u)
)
·
( w∑
v=−w
g(v)
)
= s′
· s′
Gn(u, v) =
1
s
· e− u2
2σ2
· e− v2
2σ2
=
1
s
· g(u) · g(v) =
g(u)
s′
·
g(v)
s′
Separable Kernel Matrix:
G(2w+1)×(2w+1) =
1
s








g(−w)g(−w) . . . g(−w)g(0) . . . g(−w)g(w)
...
...
...
g(0)g(−w) . . . g(0)g(0) . . . g(0)g(w)
...
...
...
g(w)g(−w) . . . g(w)g(0) . . . g(w)g(w)








=
1
s′








g(−w)
...
g(0)
...
g(w)








·
1
s′
[
g(−w) . . . g(0) . . . g(w)
]
高洪臣 ORB 特征 2020 年 7 月 10 日 9 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Separability of the Gaussian filter
Image Gaussian Filtering:
I′
(i, j) =
w∑
u=−w
w∑
v=−w
I(i + u, j + v)Gn(u, v)
=
w∑
u=−w
w∑
v=−w
I(i + u, j + v)
1
s
g(u)g(v)
=
w∑
u=−w
w∑
v=−w
I(i + u, j + v)
1
s′
g(u)
1
s′
g(v)
=
w∑
u=−w
[ w∑
v=−w
I(i + u, j + v)
g(v)
s′
]
g(u)
s′
=
w∑
u=−w
S(i + u)
g(u)
s′
• kernel size: (2w + 1) × (2w + 1), w = 3
1 int gaussKernel[4] = { 224, 192, 136, 72 };
高洪臣 ORB 特征 2020 年 7 月 10 日 10 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
BRIEF
• vector dim: 256 bits (32 bytes)
• each vector ←→ each keypoint
for each bit, select a pair of points in a patch I which centered a corner p and compare
their intensity
S =
( p1, . . . , pn
q1, . . . , qn
)
∈ R(2×2)×256
τ(I; pi, qi) :=
{
1 : I(pi)  I(qi)
0 : I(pi) ≥ I(qi)
the descriptor (each bit ←→ each pair of points (pi, qi)):
f(n) =
n
∑
i=1
2i−1
τ(I; pi, qi), (n = 256)
高洪臣 ORB 特征 2020 年 7 月 10 日 11 / 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
rBRIEF
• construct a lookup table of precomputed BRIEF patterns
1 static int ORB_pattern[256*4] = {
2 8, -3, 9, 5,
3 4, 2, 7,-12,
4 -11, 9, -8, 2,
5 7,-12, 12,-13, // ...
6 }
• steered BRIEF, for each bit of the descriptor
p′
i = p + Rθ(pi − p)
q′
i = p + Rθ(qi − p)
, Rθ =
[
cos θ − sin θ
sin θ cos θ
]
τ(I; p′
i, q′
i) :=
{
1 : I(p′
i)  I(q′
i)
0 : I(p′
i) ≥ I(q′
i)
1 float angle = (float)kpt.angle*factorPI;
2 float a = (float)cos(angle), b = (float)sin(angle);
3 #define GET_VALUE(idx) 
4 center[cvRound(pattern[idx].x*b + pattern[idx].y*a)*step + 
5 cvRound(pattern[idx].x*a - pattern[idx].y*b)]
高洪臣 ORB 特征 2020 年 7 月 10 日 12 / 12

More Related Content

What's hot

Real time Canny edge detection
Real time Canny edge detectionReal time Canny edge detection
Real time Canny edge detectionShashank Kapoor
 
論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)Masaya Kaneko
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料Fujimoto Keisuke
 
07 regularization
07 regularization07 regularization
07 regularizationRonald Teo
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 
Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAMEdwardIm1
 
確率ロボティクス第11回
確率ロボティクス第11回確率ロボティクス第11回
確率ロボティクス第11回Ryuichi Ueda
 
この手に超高精度GPSを!
この手に超高精度GPSを!この手に超高精度GPSを!
この手に超高精度GPSを!KLab Inc. / Tech
 
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object DetectionTaegyun Jeon
 
Cs231n 2017 lecture9 CNN Architecture
Cs231n 2017 lecture9 CNN ArchitectureCs231n 2017 lecture9 CNN Architecture
Cs231n 2017 lecture9 CNN ArchitectureYanbin Kong
 
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A SurveyAkira Taniguchi
 
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出MPRG_Chubu_University
 
Deep VO and SLAM
Deep VO and SLAMDeep VO and SLAM
Deep VO and SLAMYu Huang
 
Faster R-CNN - PR012
Faster R-CNN - PR012Faster R-CNN - PR012
Faster R-CNN - PR012Jinwon Lee
 
Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行Yoshitaka HARA
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 

What's hot (20)

Real time Canny edge detection
Real time Canny edge detectionReal time Canny edge detection
Real time Canny edge detection
 
論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
07 regularization
07 regularization07 regularization
07 regularization
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAM
 
確率ロボティクス第11回
確率ロボティクス第11回確率ロボティクス第11回
確率ロボティクス第11回
 
この手に超高精度GPSを!
この手に超高精度GPSを!この手に超高精度GPSを!
この手に超高精度GPSを!
 
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
[PR12] You Only Look Once (YOLO): Unified Real-Time Object Detection
 
Cs231n 2017 lecture9 CNN Architecture
Cs231n 2017 lecture9 CNN ArchitectureCs231n 2017 lecture9 CNN Architecture
Cs231n 2017 lecture9 CNN Architecture
 
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
論文紹介 Semantic Mapping for Mobile Robotics Tasks: A Survey
 
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
 
Deep VO and SLAM
Deep VO and SLAMDeep VO and SLAM
Deep VO and SLAM
 
Faster R-CNN - PR012
Faster R-CNN - PR012Faster R-CNN - PR012
Faster R-CNN - PR012
 
Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
Random Forests
Random ForestsRandom Forests
Random Forests
 

Similar to Image ORB feature

CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트YEONG-CHEON YOU
 
Blur Filter - Hanpo
Blur Filter - HanpoBlur Filter - Hanpo
Blur Filter - HanpoHanpo Cheng
 
Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010
Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010
Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010Yahoo Developer Network
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingSteven Tovey
 
Anil Thomas - Object recognition
Anil Thomas - Object recognitionAnil Thomas - Object recognition
Anil Thomas - Object recognitionIntel Nervana
 
AnNguyen_MSThesis
AnNguyen_MSThesisAnNguyen_MSThesis
AnNguyen_MSThesisAn Nguyen
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image ProcessingAzharo7
 
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)Hansol Kang
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...inside-BigData.com
 
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...KAIST
 
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...KAIST
 
Video Compression Basics by sahil jain
Video Compression Basics by sahil jainVideo Compression Basics by sahil jain
Video Compression Basics by sahil jainSahil Jain
 
[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...
[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...
[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...npinto
 
Applying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksApplying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksDatabricks
 

Similar to Image ORB feature (20)

CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
 
Blur Filter - Hanpo
Blur Filter - HanpoBlur Filter - Hanpo
Blur Filter - Hanpo
 
Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010
Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010
Parallel Distributed Image Stacking and Mosaicing with Hadoop__HadoopSummit2010
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Extreme dxt compression
Extreme dxt compressionExtreme dxt compression
Extreme dxt compression
 
Anil Thomas - Object recognition
Anil Thomas - Object recognitionAnil Thomas - Object recognition
Anil Thomas - Object recognition
 
AnNguyen_MSThesis
AnNguyen_MSThesisAnNguyen_MSThesis
AnNguyen_MSThesis
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
 
Ijcet 06 10_001
Ijcet 06 10_001Ijcet 06 10_001
Ijcet 06 10_001
 
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
 
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
[AAAI2018] Multispectral Transfer Network: Unsupervised Depth Estimation for ...
 
Video Compression Basics by sahil jain
Video Compression Basics by sahil jainVideo Compression Basics by sahil jain
Video Compression Basics by sahil jain
 
[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...
[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...
[Harvard CS264] 16 - Managing Dynamic Parallelism on GPUs: A Case Study of Hi...
 
Dr,system abhishek
Dr,system abhishekDr,system abhishek
Dr,system abhishek
 
Cbir ‐ features
Cbir ‐ featuresCbir ‐ features
Cbir ‐ features
 
Applying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksApplying your Convolutional Neural Networks
Applying your Convolutional Neural Networks
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Image ORB feature

  • 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Image Features feature types feature extraction(detection) & matching • feature detector • feature descriptor 高洪臣 ORB 特征 2020 年 7 月 10 日 2 / 12
  • 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Corner / Keypoint / Interest Point • keypoint detector • Harris (1988) • Shi-Tomas (1994) • FAST1 (Features from Accelerated and Segments Test) (2006) • AGAST (2010) • keypoint descriptor • BRIEF2 (Binary robust independent elementary feature) (2010) • keypoint detector & descriptor • SIFT (1999, 2004) • SURF (2006) • BRISK (Binary Robust Invariant Scalable Keypoints) (2011) • ORB3 (2011) • FREAK (2012) • KAZE (2012) 1Edward Rosten and Tom Drummond. “Machine Learning for High-Speed Corner Detection.”. In: ECCV (1). Ed. by Ales Leonardis, Horst Bischof, and Axel Pinz. Vol. 3951. Lecture Notes in Computer Science. Springer, 2006, pp. 430–443. isbn: 3-540-33832-2. url: http://dblp.uni-trier.de/db/conf/eccv/eccv2006-1.html#RostenD06. 2Michael Calonder et al. “BRIEF: Binary Robust Independent Elementary Features”. In: Proceedings of the 11th European Conference on Computer Vision: Part IV. ECCV’10. Heraklion, Crete, Greece: Springer-Verlag, 2010, pp. 778–792. isbn: 364215560X. 3Ethan Rublee et al. “ORB: An efficient alternative to SIFT or SURF”. In: 2011 International conference on computer vision. Ieee. 2011, pp. 2564–2571. 高洪臣 ORB 特征 2020 年 7 月 10 日 3 / 12
  • 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ORB Overview ORB = Oriented FAST + Rotated BRIEF • oFAST (ORB Detector) • keypoint position - FAST • keypoint orientation - image patch moment • keypoint response/score - NMS(Non-Maximal Supression) • scale-invariant - image pyramid • rBRIEF (ORB Descriptor) • keypoint descriptor - BRIEF • rotation-invariant - keypoint orientation 高洪臣 ORB 特征 2020 年 7 月 10 日 4 / 12
  • 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiscale Image Pyramid Parameters • level: 8 • scale: 1.2 • downsample: bilinear interpolation produce FAST features and compute descriptors at each level in the pyramid 高洪臣 ORB 特征 2020 年 7 月 10 日 5 / 12
  • 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FAST fast-9 • 9 contiguous pixels in a circle (of 16 pixels) brighter than Ip + t or darker than Ip − t • Rapid rejection by testing 1, 9, 5 then 13 NMS (Non-Maximal Suppression) 1 remove corners which have an adjacent corner with higher score Uniform Distribution DistributeOctTree() 2 1all called non-maximum suppression 2use Quad-Tree to iteratively segment image regions in ORB-SLAM2 高洪臣 ORB 特征 2020 年 7 月 10 日 6 / 12
  • 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Orientation by Intensity Centroid (IC) the moments of a patch: mpq = ∑ x,y xp yq I(x, y) the first order moment of a patch 1 I (radius = 15): m10 = 15∑ x=−15 15∑ y=−15 xI(x, y) = 15∑ y=0 15∑ x=−15 x [I(x, y) − I(x, −y)] m01 = 15∑ x=−15 15∑ y=−15 yI(x, y) = 15∑ y=1 15∑ x=−15 y [I(x, y) − I(x, −y)] the intensity centroid: C = ( m10 m00 , m01 m00 ) the orientation (from the corner’s center to the centroid): θ = atan 2 (m01, m10) 1a circular patch 高洪臣 ORB 特征 2020 年 7 月 10 日 7 / 12
  • 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Image Gaussian Filtering/Blurring/Smoothing 1 why filtering start by smoothing image using a Gaussian kernel at each level in the pyramid in order to prevent the descriptor from being sensitive to high-frequency noise Gaussian Kernel G(u, v) = 1 2πσ2 e − u2+v2 2σ2 Gn(u, v) = 1 s · e − u2+v2 2σ2 , s = w∑ u=−w w∑ v=−w e − u2+v2 2σ2 (a) (u,v) (b) kernel (σ=1.5) (c) normalized Image Gaussian Filtering: I′(i, j) = ∑w u=−w ∑w v=−w I(i + u, j + v)Gn(u, v) 1low-pass filter 高洪臣 ORB 特征 2020 年 7 月 10 日 8 / 12
  • 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Separability of the Gaussian filter s = w∑ u=−w w∑ v=−w g(u) · g(v) = ( w∑ u=−w g(u) ) · ( w∑ v=−w g(v) ) = s′ · s′ Gn(u, v) = 1 s · e− u2 2σ2 · e− v2 2σ2 = 1 s · g(u) · g(v) = g(u) s′ · g(v) s′ Separable Kernel Matrix: G(2w+1)×(2w+1) = 1 s         g(−w)g(−w) . . . g(−w)g(0) . . . g(−w)g(w) ... ... ... g(0)g(−w) . . . g(0)g(0) . . . g(0)g(w) ... ... ... g(w)g(−w) . . . g(w)g(0) . . . g(w)g(w)         = 1 s′         g(−w) ... g(0) ... g(w)         · 1 s′ [ g(−w) . . . g(0) . . . g(w) ] 高洪臣 ORB 特征 2020 年 7 月 10 日 9 / 12
  • 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Separability of the Gaussian filter Image Gaussian Filtering: I′ (i, j) = w∑ u=−w w∑ v=−w I(i + u, j + v)Gn(u, v) = w∑ u=−w w∑ v=−w I(i + u, j + v) 1 s g(u)g(v) = w∑ u=−w w∑ v=−w I(i + u, j + v) 1 s′ g(u) 1 s′ g(v) = w∑ u=−w [ w∑ v=−w I(i + u, j + v) g(v) s′ ] g(u) s′ = w∑ u=−w S(i + u) g(u) s′ • kernel size: (2w + 1) × (2w + 1), w = 3 1 int gaussKernel[4] = { 224, 192, 136, 72 }; 高洪臣 ORB 特征 2020 年 7 月 10 日 10 / 12
  • 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BRIEF • vector dim: 256 bits (32 bytes) • each vector ←→ each keypoint for each bit, select a pair of points in a patch I which centered a corner p and compare their intensity S = ( p1, . . . , pn q1, . . . , qn ) ∈ R(2×2)×256 τ(I; pi, qi) := { 1 : I(pi) I(qi) 0 : I(pi) ≥ I(qi) the descriptor (each bit ←→ each pair of points (pi, qi)): f(n) = n ∑ i=1 2i−1 τ(I; pi, qi), (n = 256) 高洪臣 ORB 特征 2020 年 7 月 10 日 11 / 12
  • 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rBRIEF • construct a lookup table of precomputed BRIEF patterns 1 static int ORB_pattern[256*4] = { 2 8, -3, 9, 5, 3 4, 2, 7,-12, 4 -11, 9, -8, 2, 5 7,-12, 12,-13, // ... 6 } • steered BRIEF, for each bit of the descriptor p′ i = p + Rθ(pi − p) q′ i = p + Rθ(qi − p) , Rθ = [ cos θ − sin θ sin θ cos θ ] τ(I; p′ i, q′ i) := { 1 : I(p′ i) I(q′ i) 0 : I(p′ i) ≥ I(q′ i) 1 float angle = (float)kpt.angle*factorPI; 2 float a = (float)cos(angle), b = (float)sin(angle); 3 #define GET_VALUE(idx) 4 center[cvRound(pattern[idx].x*b + pattern[idx].y*a)*step + 5 cvRound(pattern[idx].x*a - pattern[idx].y*b)] 高洪臣 ORB 特征 2020 年 7 月 10 日 12 / 12