April 13, 2017 | Author: Tran Duy Quang | Category: N/A
Download Histogram of Oriented Gradients (HOG)...
Computer Vision
Trần Duy Quang (HCMUS) Email:
[email protected]
1 2 3 4 5
• Tông quan về Gradient Histogram • HOG Descriptor
• Ứng dụng nhận dạng người sử dụng HOG • Cải tiến • Demo ứng dụng
Trần Duy Quang - HCMUS
1
Trần Duy Quang - HCMUS
Lược đồ Gradients tính toán dựa trên thông tin về hướng và cường độ biến thiên màu/mức xám tại mỗi vùng trên ảnh.
Trần Duy Quang - HCMUS
Các descriptors chỉ dựa trên sự thay đổi thành phần cường độ gradient có thật sự bền vững?
Nhạy cảm với sự thay đổi về cường độ sáng! [Freeman and Roth, 1995]
Trần Duy Quang - HCMUS
Đặc trưng được dùng nhiều trong lĩnh vực phát hiện đối tượng. Đề xuất bởi Bill Triggs và Navel Dalal vào năm 2005 tại viện nghiên cứu INRIA.
Ý tưởng: hình dạng và trạng thái xuất hiện của vật có thể được đặc trưng bằng sự phân bố về cường độ và hướng của cạnh.
Trần Duy Quang - HCMUS
1 2 3 4 5
• Tông quan về Gradient Histogram • HOG Descriptor
• Ứng dụng nhận dạng người sử dụng HOG • Cải tiến • Demo ứng dụng
Trần Duy Quang - HCMUS
1
Quy trình rút trích đặc trưng
2
Ví dụ minh họa
3
Tóm tắt
4
Thống kê – So sánh
Trần Duy Quang - HCMUS
Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Ví dụ: Ảnh: 64x128 pixels Scale ảnh chứa đối tượng nhận dạng
Trần Duy Quang - HCMUS
• Mục đích: Làm giảm bớt ảnh hưởng của sự thay đổi ánh sáng và ảnh hưởng của bóng mờ (shadowing).
Thử nghiệm với: • RGB • CIELAB • Grayscale Phương pháp chuẩn hóa: • Square root • Log Compression
Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
f ' ( x) lim h0
One sided: Two sided:
f ' ( x) lim h0
f ( x h) f ( x ) h f ( x h ) f ( x h) 2h
Kernel: One sided: Two sided:
-1 -1
Gradient:
Ảnh Input
Chuẩn hóa Gamma & Colour
1 0
Diagonal
Sobel
1
Cường độ:: Hướng:: Tính Gradients
s s x2 s y2 s
arctan( y )
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
sx
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Lấy gradient theo phương x: Ảnh X-Gradient Kernel: 1 0 1 Lấy gradient theo phương y: Ảnh Y-Gradient Kernel:
1 0 1
Trần Duy Quang - HCMUS
Trần Duy Quang - HCMUS
Thông tin Gradient tại các pixels: Vị trí & cường độ biến thiên của pixel:
Magnitude I x 2 I y 2 Hướng tại mỗi pixel:
Ix Orientation arctan( ) Iy Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Việc lưu trữ chính xác giá trị hướng biến thiên của từng diểm ảnh (x,y) tốn nhiều chi phí. Chia không gian hướng biến thiên thành các bin (Interpolation) Góc hướng nghiêng r tại pixel (x,y) có độ lớn được rời rạc hóa giá trị vào một trong p bins.
( x, y))
Trường hợp rời rạc hóa unsigned-HOG: p * ( x, y) B( x, y) round ( ) mod p Trường hợp rời rạc hóa signed-HOG: B( x, y) round (
Signed HOG
p * ( x, y) ) mod p 2
Trần Duy Quang - HCMUS
Unsigned HOG
2 dạng phổ biến
R-HOG: mỗi cell có hình dạng là hình chữ nhật.
C-HOG: Gồm 1 cell trung tâm có dạng hình tròn và các cell có dạng hàm log bao quanh.
Trần Duy Quang - HCMUS
Một số dạng khác: Bar HOG:
I'' I xx cos2 2I xy cos sin I yy sin 2
Công thức xác định hướng trội:
2 I xy 1 arctan( ) 2 I yy I xx Centre-Surround HOG
Trần Duy Quang - HCMUS
6 Biên Độ
5 4
3 2 1 0
Hướng
Giá trị bin được định lượng bởi tổng cường độ biến thiên của các pixels thuộc về bin đó.
Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Lựa chọn tham số:
Số bin hướng Kích thước Cell Kích thước Block
Trần Duy Quang - HCMUS
9 bins / 18 bins 8 x 8 pixels 2 x 2 cells
Vector đặc trưng của khối được tính bằng cách ghép vector đặc trưng của từng ô lại với nhau. Số thành phần của vector đặc trưng tại mỗi khối: sizefeature/Block = ncells * sizefeature/cell Trong đó: • ncells là số cell có trong 1 Block • sizefeature/cell là kích thước vector đặc trưng tại mỗi cell Ví dụ, 1 số tham số cho bài toán nhận dạng người: ncells =2x2 = 4 (cells) sizefeature/cell = 9 (histogram tại mỗi cell được chia thành 9 bins) => sizefeature/Block = ncells * sizefeature/cell = 4 * 9 = 36 (thành phần) Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Chuẩn hóa vector đặc trưng trên từng block. Quy tắc chuẩn hóa:
L1 – Norm:
L2 – Norm:
L1-sqrt:
Trong đó: v: vector đặc trưng ban đầu của một block (chưa chuẩn hóa). ||v||2: k-norm của v với k = 1, 2 e: Hằng số nhỏ (Ví dụ: e = 0.00001)
Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Một cửa sổ được tạo bởi các khối xếp gối lên nhau (Overlapping) Đặc trưng của một cửa sổ sẽ được tính bằng cách ghép vector đặc trưng của từng block tạo nên cửa sổ đó. Số thành phần của vector đặc trưng:
nBlocks /Window
Ww WBlock *WCell H w H Block * H Cell ( 1)*( 1) WCell H Cell
size feature /Window nBlocks /Window * size feature / Block Trong đó:
Ww, ,WBlock , WCell lần lượt là chiều rộng của cửa sổ, Block và Cell Hw, ,HBlock , HCell lần lượt là chiều cao của cửa sổ, Block và Cell. nBlocks/Window là số block có trong 1 cửa sổ. sizefeature/Window là kích thước vector đặc trưng của cửa sổ.
Giả thiết: các block trong cửa sổ overlap nhau 1 cell. Ảnh Input
Chuẩn hóa Gamma & Colour
Tính Gradients
Chia hướng & Gom nhóm đặc trưng tại mỗi cell
Trần Duy Quang - HCMUS
Tính đặc trưng cho khối & chuẩn hóa
Tính vector đặc trưng cho cửa số detector
Bảng thống kê ảnh hưởng kích thước overlap giữa các Blocks:
Trần Duy Quang - HCMUS
Trần Duy Quang - HCMUS
Đối tượng nhận dạng: Xe hơi Xét ảnh Input: Kí hiệu là: I
Đặc trưng sử dụng: R-HOG Trần Duy Quang - HCMUS
Bước 1: Tính Gradient
DX = [-1 0 1]
DY = [-1 0 1]T
Tính đạo hàm ảnh theo phương X:
I X I * DX
Tính đạo hàm ảnh theo phương Y:
IY I * DY Trần Duy Quang - HCMUS
Bước 1: Tính Gradient
DX = [-1 0 1]
DY = [-1 0 1]T
Tính cường độ và hướng biến thiên Gradient tại mỗi pixel:
| G | I X IY 2
2
IX arctan IY
Trần Duy Quang - HCMUS
Bước 2: Lượng hóa hướng không gian pixel
Chia ảnh thành nhiều cell. Xét trường hợp kích thước mỗi cell là: 8x8 (pixels)
Trần Duy Quang - HCMUS
Bước 2: Lượng hóa hướng không gian pixel
Tính histogram cho từng cell với các tham số: Không gian hướng biến thiên xét trong miền 0 – 3600 (signed HOG) Số bin hướng là 18 (bins) (=> độ mở của mỗi bin là 200)
Vector đặc trưng của mỗi cell gồm 18 thành phần Trần Duy Quang - HCMUS
Bước 3: Tính & Chuẩn hóa vector đặc trưng cho từng khối Vector đặc trưng của mỗi khối được tính bằng cách ghép nối các vector đặc trưng của từng cell trong khối với nhau. Xét tham số thiệt lập: mỗi block gồm 2 x 2 (cells). => Vector đặc trưng của 1 block có thể được minh họa như sau:
Vector đặc trưng của Block
Trần Duy Quang - HCMUS
Bước 3: Tính & Chuẩn hóa vector đặc trưng cho từng khối Câu hỏi: Kích thước vector đặc trưng tại mỗi Block?
Xét giả thiết: Kích thước block: 2 x 2 (cells) Số thành phần của vector đặc trưng tại mỗi cell: 18
Số thành phần của vector đặc trưng tại mỗi Block: 18 * (2 * 2) = 72 (thành phần) Trần Duy Quang - HCMUS
Bước 4: Tính vector đặc trưng cho cửa sổ Ghép nối vector đặc trưng của các block, ta thu được vector đặc trưng cho cửa sổ. Lưu ý: Các Block trong cửa sổ có thể nằm overlap lên nhau. u1 u5 u11
Vector đặc trưng cho cửa sổ:
[ u1 ,...,u5 ,...,u11 ,...] Trần Duy Quang - HCMUS
Bước 4: Tính vector đặc trưng cho cửa sổ Câu hỏi: Kích thước vector đặc trưng của cửa sổ??? Xét giả thiết: Kích thước cửa sổ: 104 x 56 (pixels) Số overlap cell giữa 2 Block: 1 (cell) Số thành phần của vector đặc trưng tại mỗi Block: 72
Số Blocks có trong 1 cửa sổ:
nBlocks
104 2*8 56 2*8 ( 1)*( 1) 12*6 72(blocks) 8 8
Số thành phần của vector đặc trưng cho cửa sổ: 72 * nBlocks = 72 * 72 = 5184 (tp) Trần Duy Quang - HCMUS
Minh họa quá trình Test: Multiscale Classifier
Car/non-car Car Detected Classifier
Trần Duy Quang - HCMUS
Object/Non-object
[ ..., ..., ...,
...]
Đưa descriptor vào bộ học (SVM) Thu thập vector đặc trưng cho cửa sổ Tính & chuẩn hóa vector đặc trưng cho khối Chia hướng và gom nhóm dặc trưng tại mỗi cell Tính Gradients Gamma compression Ảnh Positive Trần Duy Quang - HCMUS
Bảng thống kê các tham số tối ưu đặc trưng HOG ứng với một số loại đối tượng:
Trần Duy Quang - HCMUS
Hiệu suất của các Descriptors xét trong bài toán “Nhận dạng đối tượng”: HOG > Haar-wavelet > PCA-SIFT > Shape Context.
Trần Duy Quang - HCMUS
Bảng so sánh đặc trưng HOG và SIFT:
Trần Duy Quang - HCMUS
1 2 3 4 5
• Tông quan về Gradient Histogram • HOG Descriptor
• Ứng dụng nhận dạng người sử dụng HOG • Cải tiến • Demo ứng dụng
Trần Duy Quang - HCMUS
1
Thách thức bài toán
2
Một số hướng tiếp cận
3
Một số Dataset chuẩn
4
Train & Test
Trần Duy Quang - HCMUS
Sự đa dạng về dáng Đa dạng về thể hiện (apperance)/ quần áo Backgrounds phức tạp Sự thay đổi mạnh về độ sáng Sự che khuất Đối tượng ở các mức tỉ lệ khác nhau
Trần Duy Quang - HCMUS
Haar wavelets + SVM: Papageorgiou & Poggio, 2000; Mohan et al 2000 Rectangular differential features + adaBoost: Viola & Jones, 2001 Model based methods: Felzenszwalb 2008 Local Binary Pattern: Wang 2009 Histogram of Oriented Gradients: Dalal and Trigg 2005 Trần Duy Quang - HCMUS
Viola-Jones
Felzenszwalb CVPR 2008
Wang ICCV 2009
@Động lực: Các phương pháp rút trích đặc trưng cạnh, cường độ gradient không bền vững. Các phương pháp dựa trên cấu trúc blob cho hiệu suất nhận dạng thấp. HOG cho hiệu suất cao và bền vững với các phép biến đổi. (Theo Dalal) Giới hạn của lớp bài toán nhận dạng đối tượng. @Nhược điểm: Vector đặc trưng HOG có số thành phần lớn (thường ~4000).
Trần Duy Quang - HCMUS
Cho kết quá khá chính xác và ổn định trên nhiều tập dữ liệu khác nhau.
Trần Duy Quang - HCMUS
Positive Negative INRIAimages pedestrian images
Positive windows
dataset
Tiền xử lý dữ liệu (Crop, scale ảnh,…)
Trần Duy Quang - HCMUS
Negative windows
PHA HỌC
PHA NHẬN DẠNG
Tạo tập dữ liệu Train (Đã chuẩn hóa)
Scan toàn vùng ảnh ở nhiều mức tỷ lệ
Thu hẹp không gian ảnh thành không gian đặc trưng
Sử dụng classifier để phân lớp đối tượng
Tạo bộ phân lớp nhị phân Phân loại Object/ Non-Object
Kết hợp các detector trong không gian 3D (vị trí, tỉ lệ) Khoanh vùng dối tượng
Trần Duy Quang - HCMUS
Trần Duy Quang - HCMUS
Trần Duy Quang - HCMUS
• • • •
Test Set gồm 287 ảnh Resolution ~640x480 589 persons Avg. size: 288 pixels
Trần Duy Quang - HCMUS
1 2 3 4 5
• Tông quan về Gradient Histogram • HOG Descriptor
• Ứng dụng nhận dạng người sử dụng HOG • Cải tiến • Demo ứng dụng
Trần Duy Quang - HCMUS
4 1
Tăng tốc thuật toán sử dụng Integral Image
2
fastHOG – GPU Implementation
Trần Duy Quang - HCMUS
Nhận xét: Trong HOG, việc tính vector đặc trưng cho từng cell được thực hiện rất nhiều lần Có thể sử dụng kĩ thuật Integral Image để tăng tốc độ tính toán.
Khái niệm Integral image?
Trong đó: i: ảnh ban đầu ii: ảnh Integral
Trần Duy Quang - HCMUS
Việc áp dụng integral image giúp tăng tốc đáng kể quá trình tính giá trị thành phần của vector đặc trưng (giá trị của bin) trên từng cell . Giả sử ta cần tính giá trị thành phần i của vector đặc trưng tại cell D (như hình bên). Khi đó giá trị cần tính sẽ bằng:
Trần Duy Quang - HCMUS
Motivation: Tận dụng khả năng xử lý song song một số lượng lớn tác vụ đơn giản của vi xử lý đồ họa. Việc tính toán cường độ & hướng biến thiên tại mỗi pixel trên ảnh có thể thực hiện đồng thời & độc lập. Có thể dùng nhiều thread để tăng tốc độ tính vector đặc trưng của từng block trong cửa sổ. Tài liệu tham khảo: fastHOG - a real-time GPU implementation of HOG _ V A Prisacariu, I D Reid, 2009
Trần Duy Quang - HCMUS
1 2 3 4 5
• Tông quan về Gradient Histogram • HOG Descriptor
• Ứng dụng nhận dạng người sử dụng HOG • Cải tiến • Demo chương trình
Trần Duy Quang - HCMUS
Trần Duy Quang - HCMUS
1. N. Dalal and B. Triggs, “Histograms of oriented
gradients for human detection,” in IEEE Conference on Computer Vision and Pattern Recognition, 2005.
2. D. G. Lowe. Distinctive image features from scaleinvariant keypoints. International Journal of Computer Vision, 60(2):91–110, 2004.
Trần Duy Quang - HCMUS
3. C. Harris and M. Stephens. A combined corner and edge detector. In Alvey Vision Conference, pages 147– 151, 1988. 4. Subhransu
Maji
et
al.
Classification
using
Intersection Kernel Support Vector
Machines
Efficient.
and
IEEE
Computer
Vision
Recognition 2008.
Trần Duy Quang - HCMUS
is
Pattern
Cám ơn Thầy Cô và các bạn đã chú ý lắng nghe
Trần Duy Quang - HCMUS
HOG3D
Tính mạnh mẽ và bền vững của đặc trưng HOG đã được chứng minh qua các áp dụng trên bài toán phát hiện đối tượng. Mục tiêu nghiên cứu hiện nay?
Phân lớp/ Nhận dạng hành động Đặc trưng không gian, thời gian HOG3D: bất biến với biến đổi không gian, thời gian
Trần Duy Quang - HCMUS