Histogram of Oriented Gradients (HOG)

April 13, 2017 | Author: Tran Duy Quang | Category: N/A
Share Embed Donate


Short Description

Download Histogram of Oriented Gradients (HOG)...

Description

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 h0

 One sided:  Two sided:

f ' ( x)  lim h0

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF