Chương 1 PHƯƠNG PHÁP NHẬN DẠNG VẬT THỂ DỰA THEO MÀU SẮC và HÌNH DẠNG 1. Phương pháp nhận dạng vật thể theo màu sắc Luận văn dùng phương pháp nhận dạng vật thể theo màu được thực hiện theo lưu đồ giải thuật sau.1: Lưu đồ giải thuật nhận dạng màu 1. Tạo vùng ROI (Region of Interest) Vùng ROI được tạo nhằm mục đích giới hạn vùng ảnh cần xử lý (vùng ảnh chứa thông tin cần để nhận dạng), loại bỏ các phần ảnh dư thừa (phần ảnh không chứa thông tin có ích cho quá trình nhận dạng). Nhờ đó, quá trình này sẽ loại bỏ đáng kể các thành phần nhiễu làm sai lệch kết quả nhận dạng.
Mỗi một ảnh số đều được biểu diễn ở dạng tập hợp các pixel (điểm ảnh), mỗi pixel có một tọa độ (x; y) trong không gian ảnh 2 chiều. Do đó, để tạo vùng ROI, phải dựa vào tọa độ của các pixel ảnh.2 minh họa cách tạo vùng ROI dạng hình chữ nhật cho một ảnh I dựa vào tọa độ của 3 pixel A, B, C. Các pixel có tọa độ 9 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy nằm trong phạm vi hình chữ nhật ABCD trong hệ tọa độ ảnh Oxy (xA ≤ x ≤ xB và yA ≤ y ≤ yC) sẽ được giữ lại, còn lại bị lọa bỏ. O xA xB x yA A B yC C D Ảnh I y Hình 1.2: Hình minh họa tạo vùng ROI ABCD cho ảnh I 1.
Decompose channels Quá trình này sẽ tách vùng ảnh được giới hạn bởi ROI ra 3 thành phần Red, Green, Blue, đây là ba thành phần cơ bản trong không gian màu RGB của một ảnh màu. Việc tách này là cần thiết cho quá trình nhận dạng màu. Transform color space Ảnh màu là tập hợp của 3 thành phần Red, Green, Blue trong không gian màu RGB (hình 1. Mỗi thành phần có dạng là một ảnh xám (ảnh xám là ảnh có các pixel được gán một giá trị mức xám nằm trong đoạn [0, 255] như trong hình 1.
Nếu nhận dạng màu trực tiếp trong không gian màu RGB thì sẽ gặp khó khăn vì phải dựa trên cả 3 thành phần Red, Green, Blue để nhận dạng cho một màu. Nếu chỉ dựa trên một thành phần thì không nhận dạng một màu so với các màu khác được vì sẽ có nhiều màu có cùng giá trị trên một thành phần. Ví dụ như các màu đỏ, trắng, vàng đều có giá trị thành phần Red là 255 hay màu lam, tím, trắng đều có giá trị thành phần Blue là 255. Vấn đề trên được giải quyết bằng cách chuyển ba thành phần Red, Green, Blue sang một không gian màu khác, đó là không gian màu HSV như trong hình 1.4 gồm 3 thành phần Hue, Saturation và Value.
Trong đó, thành phần Hue thể hiện màu thuần túy, tức là một giá trị thể hiện cho duy nhất một màu. Thành phần Saturation thể hiện độ bão hòa màu (mức độ tươi hoặc xẫm của màu) và Value thể hiện độ sáng 10 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy màu, cả hai thành phần này liên quan đến độ sáng của ảnh gây ra do điều kiện ánh sáng khi thu ảnh. Luận văn chỉ giới hạn thực hiện nhận dạng trong một điều kiện ánh sáng phòng, do đó chỉ cần dựa vào một thành phần Hue để nhận dạng màu.3 thể hiện không gian màu RGB. Trong đó, ở hình bên trái, màu đỏ chuẩn (red primary) ứng với giá trị R = 255, G = 0, B = 0; màu lục chuẩn (green primary) ứng với giá trị R = 0, G = 255, B = 0; màu lam chuẩn (blue primary) ứng với giá trị R = 0, G = 0, B = 255.
Hình bên phải là dạng chuẩn hóa các giá trị R, G, B về thang [0; 1].4 thể hiện không gian màu HSV. Trong đó, đi theo vòng tròn từ 0 -360 độ là trường biểu diễn màu sắc (Hue). Bắt đầu từ màu đỏ chuẩn (red primary) tới màu lục chuẩn (green primary) nằm trong khoảng 0 – 120 , từ 120 – 240 độ là màu lục tới lam chuẩn (green primary - blue primary). Từ 240 – 360 là từ màu lam chuẩn quay về màu đỏ chuẩn.
Giá trị độ sáng (V) được biểu diễn bằng cách đi từ đáy hình trụ lên đỉnh và nằm trong khoảng từ 0 – 1 (chuẩn hóa). Ở đáy hình trụ V có giá trị là 0, là tối nhất và trên đỉnh hình trụ là sáng nhất (V = 1). Đi từ tâm hình trụ ra mặt trụ là giá trị bão hòa của màu sắc (S). S có giá trị từ 0 – 1 (chuẩn hóa), 0 ứng với tâm hình trụ là chỗ màu sắc nhạt nhất, 1 ở ngoài mặt trụ là nơi màu sắc đậm nhất.
Các bước chuyển đổi từ hệ màu RGB sang HSV được thực hiện như sau: Đặt M = max(R, G, B), m = min(R, G, B) và C = M – m - Nếu M = R: H = mod 6 (mod 6: phép chia modulo cho 6) (1.4) Giá trị V (thành phần Value) được tính: V = M (1.6) 11 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy Hình 1.3: Không gian màu RGB Hình 1.4: Không gian màu HSV 1. Nhận dạng Quá trình nhận dạng được thực hiện trên thành phần Hue để xác định màu của vật thể. Phương pháp nhận dạng vật thể theo hình dạng 1. Nhận dạng dựa vào mẫu 1.
Sử dụng mẫu là mô hình chứa các đặc trưng nhận dạng Các đặc trưng nhận dạng là các đặc điểm giúp phân biệt vật thể cần nhận dạng với các vật thể khác trong ảnh. Các đặc điểm này chủ yếu nằm ở các vị trí thuộc đường viền của vật thể như các phần góc, cạnh hay các họa tiết trên vật thể. 12 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy a) b) Hình 1.5: Ảnh gốc (a) và ảnh thể hiện đường viền của vật thể (b) Trong phương pháp này, mẫu sẽ được tạo từ ảnh mẫu chứa duy nhất vật thể cần nhận dạng hoặc bao gồm cả các vật thể khác.6: Ảnh dùng để tạo mẫu: a) Chỉ chứa vật thể cần nhận dạng, b) Chứa cả các vật thể khác, c) mẫu được tạo Các đặc trưng nhận dạng cho vật thể sẽ được rút trích từ các pixel thuộc về phần ảnh của vật thể trong ảnh mẫu, và lưu vào một mô hình mẫu. Mẫu này sẽ được dùng để nhận dạng vật thể trong ảnh.
Mẫu được tạo chứa các đặc trưng nhận dạng chủ yếu nằm ở vị trí đường viền nên có dạng như trong hình minh họa 1. Để tạo được một mẫu dạng này, một trong những phương pháp hữu hiệu nhất là dựa vào mức xám của các pixel trong ảnh. Tại vị trí đường viền, mức xám của pixel sẽ có sự thay đổi đột ngột, tức là giá trị mức xám của một pixel sẽ tăng hoặc giảm một khoảng lớn so với mức xám của pixel kế cận. Đối với ảnh màu RGB cơ bản, mức xám G của mỗi pixel được tính theo công thức sau (đây cũng là công thức chuyển ảnh màu RGB sang ảnh xám): G = 0.7) Giải thuật của phương pháp sẽ được trình bày cụ thể trong chương 3.
13 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy 1. Sử dụng mẫu là ảnh chứa duy nhất vật thể cần nhận dạng Khác với phương pháp sử dụng mẫu là mô hình chứa các đặc trưng nhận dạng, phương pháp này sẽ dùng trực tiếp mẫu (ảnh chứa duy nhất vật thể cần nhận dạng) đối chiếu với ảnh (chứa vật thể cần nhận dạng và các vật thể khác) theo các điểm đặc trưng để nhận dạng chính xác. Mẫu và ảnh sẽ được rút trích các điểm đặc trưng, sau đó so sánh đối chiếu nhau để nhận dạng chính xác vật thể trong ảnh. Có nhiều giải thuật đã được giới thiệu cho phương pháp này, trong đó một trong những giải thuật nổi bật về tốc độ xử lý và độ chính xác là giải thuật SURF (Speeded-Up Robust Features).
Lưu đồ giải thuật SURF như sau Hình 1.7: Lưu đồ giải thuật SURF a. Interest Point Detection Là quá trình tìm các điểm đặc trưng, được thực hiện dựa trên ma trận Hessian. Cho trước một pixel p = (x, y) trên ảnh I, ma trận Hessian H(p, σ) tại p theo tỉ lệ σ được xác định bằng công thức: L L H(p, σ) = (1. Giải thuật SURF tính đạo hàm cấp 2 của hàm Gaussian bằng các bộ lọc (box filter) được xấp xỉ từ mô hình rời rạc.
14 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy Hình 1.8 thể hiện mô hình rời rạc của đạo hàm cấp hai hàm Gaussian với tỉ lệ σ=1.2 và các bộ lọc được xấp xỉ có kích thước tương ứng là 9x9.8: Xấp xỉ đạo hàm cấp 2 của hàm Gaussian bằng bộ lọc Trong hình 1.8, từ trái qua, ảnh thứ nhất là mô hình rời rạc đạo hàm cấp 2 của hàm Gaussian theo trục y, ảnh thứ hai theo trục x và y. Ảnh thứ ba và thứ tư lần lượt là các bộ lọc xấp xỉ của ảnh một và hai. Phép tích chập của ảnh I với các bộ lọc này được thực hiệc rất nhanh bằng việc sử dụng ảnh tích lũy của ảnh I. Ảnh tích lũy được thiết lập bằng cách thay đổi giá trị mức xám của các pixel trong ảnh gốc.
Gọi G là giá trị mức xám của pixel có tọa độ (x, y) trong ảnh gốc, giá trị mức xám của pixel có tọa độ tương ứng trong ảnh tích lũy là G được tính theo công thức sau: G (x) = ∑ ∑ G(i, j) (1.9) Nhờ ảnh tích lũy, việc tìm tổng giá trị mức xám trong một phân vùng ảnh (có dạng hình chữ nhật) của ảnh gốc trở nên đơn giản, chỉ cần thực hiện cộng trừ các giá trị mức xám của 4 pixel trong ảnh tích lũy như trong hình minh họa 1. O x Ảnh tích lũy của ảnh I D B C A y Σ ứ á = A−C−B+D Hình 1.9: Tính tổng giá trị mức xám trong một phân vùng ảnh DBAC dựa vào ảnh tích lũy (A, B, C, D là giá trị mức xám của 4 pixel tại 4 góc của vùng ảnh) 15 Ứng dụng xử lý ảnh nhận dạng vật thể theo màu sắc và hình dạng cho robot tay máy Vị trí của điểm đặc trưng được xác định bằng cách sử dụng thuật toán non- maximum suppression 3x3x3 neigbourhood để xét xấp xỉ định thức của ma trận Hessian trong không gian ảnh và không gian tỉ lệ.