Phát hiện đèn xe

Để đọc biển số xe được chính xác thì xe cần phải tắt đèn khi chụp ảnh. Bài toán đặt ra là phát hiện đèn xe đang bật để thông báo tắt đèn. Cụ thể là phát hiện đèn xe như trong ảnh.

Dựa vào đặc trưng của đèn xe thông thường là: màu trắng, tạo thành 1 vùng sáng lớn. Dựa vào đó giải quyết bài toán đặt ra bằng hệ màu HLS (HSL). Đọc thêm tại Không gian màu – color space



Lý thuyết

Bên dưới là hệ màu HLS, trong đó phần Lightness có 1 tỉ lệ quan trọng. Do đó sử dụng hệ màu HLS để phát hiện vùng sáng là hợp lý nhất.

hls

Để tìm giá trị phù hợp nhất mình sử dụng tool Lọc màu ảnh – filter color. Tất nhiên có chỉnh sửa đôi chút, trong bài là chuyển từ BGR sang HSV, mình sửa lại từ BGR sang HLS. Sau khi tinh chỉnh các thông số thì giá trị tìm được là:
H = [0; 179] L = [230; 255] S = [0; 0]

light

Thử nghiệm

Qua thử nghiệm với bộ hình ảnh lấy từ bãi xe thì hầu hết thuật toán xử lý đúng

light2

light4

Tuy nhiên có một số trường hợp bị sai do vô tình phù hợp với thuật toán. Các trường hợp xảy ra là do ánh sáng mặt trời, ánh sáng phản chiếu,… Tùy theo vị trí lắp đặt mà có thể chỉnh thông số min size và max size của đèn để chính xác hơn.

light_wrong

Hoặc đèn không đủ sáng như giá trị đã set ở trên, trường hợp này không ảnh hưởng kết quả nhận dạng nên vẫn OK.
light3

Download

Bộ hình ảnh lẫn lộn xe bật và tắt đèn: Google Drive

Source code

Leave a Reply