Tính góc và biên độ theo X-gradient và Y-gradient

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp phát hiện mặt người sử dụng đặc trưng HOG (Trang 42 - 47)

Việc lưu trữ chính xác từng giá trị góc (orientation) của từng vị trí (𝑥, 𝑦)

không mang lại nhiều kết quả, do vậy ta sẽ chia không gian góc ra thành các bin. Việc phân chia bin càng nhỏ sẽ càng làm tăng độ chính xác, thực nghiệm [8] cho thấy kích thước bin khoảng 200 cho kết quả tốt nhất. Do đó từ 0° - 180° ta chia thành 9 bin như sau:

[0° - 20°], [21° - 40°] [41° -60°], [61° - 80°], [81° - 100°], [101°- 120°], [121° - 140°], [141°- 160°], [161° - 180°]

 Bước 4: Ứng với mỗi bin trên ta tiến hành thống kê biên độ (magnitude) tại từng vị trí. Với mỗi bin, tại vị trí (𝑥, 𝑦) nếu như góc (orientation) thuộc về bin đó thì

giá trị của bin đó tại vị trí (𝑥, 𝑦) bằng giá trị biên độ (magnitude), ngược lại giá trị bin tại vị trí (𝑥, 𝑦) bằng 0.

 Bước 5: Tính toán vector đặc trưng cho từng cell (8x8). Vector đặc trưng của mỗi cell sẽ gồm 9 thành phần tương ứng với 9 bin, và giá trị tại thành phần 𝑖 bằng tổng giá trị của các điểm trong bin 𝑖 mà có tọa độ nằm trong cell đó.

 Bước 6: Tính toán vector đặc trưng cho từng block (16x16). Ta chỉ cần ghép các vector đặc trưng của từng cell trong block lại với nhau để được vector đặc trưng của một block và chuẩn hóa lại vector đặc trưng của block này. Số thành phần của vector đặc trưng tại mỗi khối được tính theo công thức:

𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑏𝑙𝑜𝑐𝑘 = 𝑛𝑐𝑒𝑙𝑙× 𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑐𝑒𝑙𝑙

Trong đó: 𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑏𝑙𝑜𝑐𝑘 là đặc trưng trong block, 𝑛𝑐𝑒𝑙𝑙 là số cell trong một block, 𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑐𝑒𝑙𝑙 là số feature trong một cell. Với giả thiết mỗi cell có kích thước 8x8 pixels, mỗi block có kích thước 2x2 cells (16x16 pixels), không gian hướng biến thiên xét trong miền miền từ 00 - 1800 và được chia thành 9 bin thì số đặc trưng trong mỗi khối sẽ được tính bằng 4x9 = 36 thành phần.

 Bước 7: Tính toán vector đặc trưng cho toàn bộ ảnh (64x128). Ta chỉ cần ghép các vector đặc trưng của từng block lại với nhau để được vector đặc trưng của các window. Trong đó, một cửa sổ (Window) được tạo bởi các khối xếp gối nhau overlapping. Đặc trưng của một cửa sổ sẽ được tính bằng cách ghép các vector đặc trưng của từng block tạo lên cửa sổ đó. số thành phần đặc trưng của mỗi cửa sổ được xác định như sau:

𝑛𝑏𝑙𝑜𝑐𝑘/𝑤𝑖𝑛𝑑𝑜𝑤 = (𝑊𝑤𝑖𝑛𝑑𝑜𝑤 − 𝑊𝑏𝑙𝑜𝑐𝑘× 𝑊𝑐𝑒𝑙𝑙

𝑊𝑐𝑒𝑙𝑙 + 1)

× (𝐻𝑤𝑖𝑛𝑑𝑜𝑤 − 𝐻𝑏𝑙𝑜𝑐𝑘× 𝐻𝑐𝑒𝑙𝑙

𝐻𝑐𝑒𝑙𝑙 + 1)

𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑤𝑖𝑛𝑑𝑜𝑤 = 𝑛𝑏𝑙𝑜𝑐𝑘/𝑤𝑖𝑛𝑑𝑜𝑤 × 𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑏𝑙𝑜𝑐𝑘

- Trong đó: 𝑊𝑤𝑖𝑛𝑑𝑜𝑤 𝑊𝑏𝑙𝑜𝑐𝑘 𝑊𝑐𝑒𝑙𝑙 lần lượt là chiều rộng của window, block và cell (tính theo đơn vị pixel); 𝐻𝑤𝑖𝑛𝑑𝑜𝑤 𝐻𝑏𝑙𝑜𝑐𝑘 𝐻𝑐𝑒𝑙𝑙 lần lượt là chiều cao của window, block và cell (tính theo đơn vị pixel); 𝑛𝑏𝑙𝑜𝑐𝑘/𝑤𝑖𝑛𝑑𝑜𝑤 là số block trong một

cửa sổ, 𝑆𝑖𝑧𝑒𝑓𝑒𝑎𝑡𝑢𝑟𝑒/𝑤𝑖𝑛𝑑𝑜𝑤 là số đặc trưng trong một cửa sổ. Ở bước xử lý cuối cùng, toàn bộ vector đặc trưng thu được trên mỗi cứa sổ sẽ được sử dụng làm đầu vào của bộ phân lớp tuyến tính SVM. [9]

Lưu ý rằng các block không đặt tách biệt nhau mà gối lên nhau, cách nhau một khoảng bằng kích thước của cell theo mỗi chiều (hoặc bằng phân nửa kích thước của cell). Như vậy vector đặc trưng của window = số block trong window*36=((64- 16)/8+1)*((128-16)/8+1)*36 = 7*15*36=3780 thành phần.

 Bước 8: Sau cùng ta chuẩn hóa lại vector đặc trưng của cả window.

Hình 2.12: Các bước rút trích đặc trưng HOG [10]

2.3. Chuẩn hóa vector đặc trưng cho từng block

Để chuẩn hóa vector đặc trưng cho cả window, ta chuẩn hóa đặc trưng cho từng vector của từng block. Ta sử dụng các phương pháp sau để chuẩn hóa vector đặc trưng của từng block. [7]

 L2-norm: 𝑓 = 𝑣 √‖𝑣‖22+𝑒2

 L1-norm: 𝑓 = 𝑣 (‖𝑣‖1+𝑒)

 L1-sqrt: 𝑓 = √(‖𝑣‖𝑣

1+𝑒)

Trong đó:

 𝑣: vector đặc trưng ban đầu của một block (chưa chuẩn hóa).

 ‖𝑣‖k là k-norm của 𝑣 với 𝑘=1,2

 𝑒: Hằng số nhỏ

Theo Dalal và Triggs, L2-norm và L1-sqrt cho kết quả tương tự. Trong khi đó L1-norm cho kết quả kém hơn. Tuy vậy việc chuẩn hóa bằng một trong các phương pháp trên vẫn cho kết quả tốt hơn đối với những vector không chuẩn hóa.

2.4. Integral Image, công thức đệ quy tính Integral Image

Integral Image: Từ bước 5, 6, 7 ta nhận thấy là ta cần tính đặc trưng cho từng cell rất nhiều lần, do vậy ở đây có thể sử dụng kỹ thuật integral image để làm tăng tốc độ tính toán.

Hình 2.13: Integral Image [11]

Ảnh Integral là ảnh có tính chất sau: giá trị của pixel tại vị trí (𝑥, 𝑦) bất kỳ trong ảnh Integral bằng với tổng số các pixel thuộc hình chữ nhật được tạo bởi điểm góc trái trên cùng của ảnh (0,0) và điểm (𝑥, 𝑦) đang xét. Công thức tính integral image:

𝑖𝑖(𝑥, 𝑦) = ∑𝑥′≤𝑥,𝑦′≤𝑦′𝑖(𝑥′, 𝑦′)

Trong đó:

 𝑖: ảnh ban đầu

 𝑖𝑖: ảnh integral của 𝑖

Ảnh integral của một ảnh cho trước được tính theo công thức trên. Như áp dụng integral image vào để tính giá trị tại mỗi bin của vector đặc trưng của từng cell

rất nhanh chóng. Giả sử ta cần tính giá trị vector đặc trưng của cell D (như trên hình) tại thành phần 𝑖, khi đó ta chỉ cần lấy ảnh integral image của anh bin 𝑖 đã tính ở trên, ta thu được ảnh 𝑖𝑖. Khi đó giá trị cần tính sẽ bằng:

𝑉𝑖 = 𝑖𝑖(𝑥1, 𝑥1) + 𝑖𝑖(𝑥4, 𝑥4) − 𝑖𝑖(𝑥2, 𝑥2) − 𝑖𝑖(𝑥3, 𝑥3)

Lưu ý rằng ta chỉ cần tính integral image duy nhất 1 lần và dùng nó để tính cho toàn bộ các cell. Ưu điểm của cách tính này là ta chỉ cần biết giá trị ảnh Integral của bốn góc hình chữ nhật là có thể dễ dàng tính được vector của hình chữ nhật đó.

Công thức đệ quy tính Integral Image: Để tính nhanh Integral Image ta có thể dùng công thức đệ quy sau [11] [5]:

𝑠(𝑥, 𝑦) = 𝑠(𝑥, 𝑦 − 1) + 𝑖(𝑥, 𝑦) 𝑖𝑖(𝑥, 𝑦) = 𝑖𝑖(𝑥 − 1, 𝑦) + 𝑠(𝑥, 𝑦)

Với giá trị khởi tạo: 𝑠(𝑥, −1) = 0 𝑖𝑖(−1, 𝑦) = 0

Trong đó:

𝑖: ảnh ban đầu

𝑖𝑖: ảnh integral của 𝑖 𝑠: giá trị trung gian

Ta có thể hiểu công thức đệ quy trên như sau, để tính 𝑖𝑖 ta sẽ tính theo từng dòng và tính dòng tiếp theo ta sẽ dùng kết quả của dòng trước. Như vậy có thể thấy độ phức tạp của việc tính integral image là 𝑂(𝑛)

2.5. Chuẩn hóa ánh sáng với bộ lọc Retinal filter

Bộ lọc Retinal filter ban đầu được phát triển như một bộ lọc ảnh thông thường dựa vào việc mô phỏng các bước trong hệ thống nhận dạng hình ảnh của con người [12]. Sau đó nó được áp dụng cho bài toán nhận dạng mặt với mục đích chuẩn hóa ánh sáng ở bước tiền xử lý và đã chứng tỏ được tính hiệu quả của mình.

Về cơ bản bộ lọc thực hiện mô phỏng hoạt động của hai lớp chính của hệ thống thị giác của con người là lớp Photoreceptor và Outer Plexiform bằng cách áp dụng liên tiếp hai hàm phi tuyến, bộ lọc DoG và một hàm cắt hậu xử lý như được minh họa trong hình 2.14.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp phát hiện mặt người sử dụng đặc trưng HOG (Trang 42 - 47)

Tải bản đầy đủ (PDF)

(61 trang)