Chặn không cực đại (Non-maximum suppression)

Một phần của tài liệu Ứng dụng dobot magician trong hệ thống phân loại sản phẩm (Trang 33 - 35)

Loại bỏ các pixel ở vị trí không phải là cực đại toàn cục, ta sử dụng bộ lọc kích thước (3x3) lần lượt chạy qua các pixel trên ảnh Gradient - tích chập. Trong quá trình lọc, xét xem độ lớn Gradient của pixel trung tâm có phải là cực đại (lớn nhất trong cục bộ) so với các Gradient ở các pixel xung quanh hay không. Nếu là cực đại ta sẽ giữ pixel đó lại, nếu không phải cực đại lân cận ta sẽ thiết lập độ lớn Gradient của nó về bằng 0 và chỉ so sánh pixel trung tâm với hai pixel lân cận theo hướng Gradient. Ví dụ, nếu hướng Gradient đang là 00, ta so pixel trung tâm với pixel liền kề bên trái và liền kề bên phải nó. Trường hợp khác, nếu hướng Gradient là 450, ta so sánh với hai pixel lân cận là góc trên bên phải và góc dưới bên trái của pixel trung tâm. Tương tự cho hai trường hợp hướng Gradient còn lại. Kết thúc bước này, ta sẽ có được một mặt nạ nhị phân (ảnh trắng đen) chỉ có 2 giá trị là 0 và 255 (số nguyên) hoặc 0 và 1 (số thực).

Hình 2. 17 Phương pháp Non-maximum suppression

Dễ hình dung hơn,kết quả ảnh cuối cùng nên có cách cạnh mỏng thay vì các cạnh dày. Vì vậy, ta thực hiện phương pháp NMS theo nguyên tắc rất đơn giản: thuật toán đi qua tất cả các điểm trên ma trận mật độ Gradient và tìm các pixel có giá trị tối đa theo hướng của cạnh.

17

Khoa ĐT CLC – ĐHSPKT TP.HCM

Xét hình 2.18, ô đỏ góc trên bên trái biểu thị một pixel của ma trận mật độ Gradient đang được xét. Hướng cạnh được biểu thị bằng mũi tên màu cam với góc –𝜋 radians.

Hình 2. 19 Ô màu đỏ góc trên bên trái

Hướng là đường nét đứt màu cam đi từ trái sang phải. Thuật toán sẽ kiểm tra các pixel trên cùng một hướng có cường độ cao hay thấp hơn pixel được xử lý. Trong hình 2.19, pixel (i,j) đang được xử lý, các pixel trên cùng 1 hướng là (i, j-1) và (i, j+1). Pixel (i, j-1) có cường độ cao hơn pixel (i, j) vì nó có màu trắng (255) so với màu xám, do đó pixel (i, j-1) được giữ lại, giá trị mật độ của pixel (i, j) được thiết lập thành 0. Nếu không có pixel nào theo hướng cạnh có giá trị cao hơn thì giá trị pixel hiện tại sẽ được lưu lại.

Hình 2. 20 Trọng tâm ô đỏ ở giữa

Tương tự, xét ô đỏ ở giữa hình 2.18, hướng là đường chéo nét đứt màu cam, do đó pixel có mật độ cao nhất theo hướng này là (i-1, j+1). Tổng hợp lại, mỗi pixel có 2 tiêu chuẩn (hướng cạnh & mật độ pixel). Các bước thực hiện NMS là:

Tạo ma trận ban đầu bằng 0 cùng kích thước với ma trận mật độ Gradient gốc Xác định hướng cạnh dựa trên giá trị góc từ ma trận góc

Kiểm tra pixel trên cùng hướng có mật độ cao hơn pixel được xử lý hay không Trả về hình ảnh sau khi được xử lý với thuật toán NMS

Kết quả là với cùng một ảnh ban đầu, sau khi qua xử lý bằng phương pháp chặn không cực đại Non- maximum suppression (NMS) sẽ cho ra các cạnh mỏng hơn và đều nhau hơn. Tuy nhiên, ta vẫn có thể thấy rằng có một vài pixel liên quan đến mật độ các cạnh sau khi được xử lý dường như sáng hơn các pixel khác. Để khắc phục điều này, ta sẽ áp dụng phương pháp Lọc ngưỡng và Điều chỉnh cạnh bằng độ trễ trong hai bước xử lý cuối cùng.

18

Khoa ĐT CLC – ĐHSPKT TP.HCM

Một phần của tài liệu Ứng dụng dobot magician trong hệ thống phân loại sản phẩm (Trang 33 - 35)