Thuật toán nhận diện đối tượng dựa trên màu sắc của đối tượng đó dựa trên không gian màu IHSL (Improved Hue Luminance Saturation) [7]
Mục đích của thuật toán, đầu vào là ảnh RGB, đầu ra là ảnh trắng đen với những pixel trắng là pixel giống màu tham khảo, ngược lại pixel đó có màu đen.
Không gian màu IHLS được lựa chọn để tránh việc biến đổi theo độ sáng. Ngưỡng lựa chọn linh động theo giá trị độ sáng của tất cả các pixel chứ không cố định như việc sử dụng YcbCr rồi chọn 1 ngưỡng Cr. Bên cạnh tính hiệu quả cao, nó cũng có nhược điểm là quá trình tính toán phức tạp, sẽ làm tăng kích thước chương trình và tốc độ xử lý chậm đi.
Thuật toán được áp dụng cho từng giá trị pixel, gồm các bước sau :
Bước 1: Chuyển từ không gian màu RGB sang không gian màu IHSL theo công thức sau: 𝑆 = max(𝑅, 𝐺, 𝐵) − min(𝑅, 𝐺, 𝐵) (3.4) 𝐿 = 0.2125𝑅 + 0.7154𝐺 + 0.0721𝐵 (3.5) 𝜃𝐻 = { 0, 𝑛ế𝑢𝑐𝑟 = 0 arccos (𝑐𝑟1 𝑐𝑟) , 𝑛ế𝑢𝑐𝑟 ≠ 0𝑣à𝑐𝑟2 ≤ 0 3600− arccos (𝑐𝑟1 𝑐𝑟) , 𝑛ế𝑢𝑐𝑟 ≠ 0𝑣à𝑐𝑟2 > 0 (3.6) Trong đó:
𝑅, 𝐺, 𝐵 lần lượt là các giá trị đỏ, lục, lam của pixel trong không gian màu RGB
𝑐𝑟1 = 𝑅 −𝐺+𝐵
2 (3.7)
𝑐𝑟2 =√3
2 (𝐵 − 𝐺) (3.8) 𝑐𝑟 = √𝑐𝑟12+ 𝑐𝑟22 (3.9)
16
Vì 𝜃𝐻 ∈ [0, 3590], 𝑆 ∈ [0,255], 𝐿 ∈ [0,255], ta chuẩn hóa 𝜃𝐻 về [0,255] để phù hợp với kiểu dữ liệu 8 bit, thuận tiện cho việc tính toán:
𝜃𝐻 =255359𝜃𝐻 (3.10)
Bước 2: Tính ngưỡng thích nghi:
𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 = 𝑒−𝑁𝑚𝑒𝑎𝑛 (3.11)
Trong đó, 𝑁𝑚𝑒𝑎𝑛được xác định như sau:
𝑁𝑚𝑒𝑎𝑛 = 1
256. 1
𝑀.𝑁∑ ∑𝑁−1𝐿(𝑖, 𝑗)
𝑗=0 𝑀−1
𝑖=0 ,với M, N là 2 kích thước của bức ảnh
Bước 3: Tính giá trị khoảng cách dựa vào H và S
𝑑 = √(𝑆2𝑐𝑜𝑠𝐻2− 𝑆1𝑐𝑜𝑠𝐻1)2+ (𝑆2𝑠𝑖𝑛𝐻2− 𝑆1𝑠𝑖𝑛𝐻1)2 (3.12) Trong đó:
𝐻1, 𝐻2 lần lượt là góc Hue của màu chuẩn và màu đang xét
𝑆1, 𝑆2 lần lượt là giá trị Saturation của màu chuẩn và màu đang xét
Hình 3.6 Hình tròn không gian màu HSL
Nguồn:
http://vi.wikipedia.org/wiki/Kh%C3%B4ng_gian_m%C3%A0u_HSB#mediaviewer /File:HLSColorSpace.png
17
Màu chuẩn chính trong nhận diện biển báo giao thông gồm có: màu đỏ (cho các biển báo cấm, và biển báo nguy hiểm), màu vàng (cho biển báo nguy hiểm), màu
lam (cho biển báo chỉ dẫn).
Bảng 3.1 Các thông số S và H của các màu chuẩn
Màu chuẩn S H H chuẩn hóa
Đỏ 255 00 0
Vàng 255 600 42.6
Lam 255 2400 170.5
Bước 4: So sánh kết quả giữa khoảng cách tính được và giá trị ngưỡng
𝑁ế𝑢𝑑 ≤ 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑𝑡ℎì𝑜𝑢𝑡𝑝𝑢𝑡 = 1, pixel đang xét có màu như màu chuẩn
𝑁ế𝑢𝑑 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑𝑡ℎì𝑜𝑢𝑡𝑝𝑢𝑡 = 0, pixel đang xét có là background
Ví dụ 3.3: Ứng dụng thuật toán. Ta lấy màu chuẩn là màu đỏ: S = 255, H = 0
Hình 3.7 Ảnh vào
18
Ví dụ 3.4: Chọn màu chuẩn là màu lam S =255, H =170.5
Hình 3.9 Ảnh vào
Hình 3.10 Ảnh ra
Nhận xét:
Phương pháp chuyển sang không gian màu IHLS so với phương pháp chuyển qua YCBCr có cả các ưu điểm và nhược điểm. Ưu điểm là áp dụng được cho nhiều màu sắc, chỉ cần xác định được màu chuẩn, và không cần phải chọn ngưỡng vì nó thay đổi linh động theo từng bức ảnh. Tuy nhiên, khối lượng tính toán cho thuật toán này lại phức tạp và cồng kềnh.
19