Cân bằng histogram riêng biệt cho bên trái và bên phải của khuôn mặt

Một phần của tài liệu Xây dựng trung tâm xử lý cho tòa nhà thông minh trên hệ thống nhúng linux (Trang 81 - 84)

Trong điều kiện thực tế, thường thì một nửa khuôn mặt sẽ có ánh sáng mạnh hơn phía còn lại. Điều này có ảnh hưởng rất lớn đối với các thuật toán nhận dạng khuôn mặt, khi đó nó sẽ làm cho hai bên trái và bên phải của cùng một khuôn mặt sẽ có vẻ như là khuôn mặt của người khác. Vì vậy, chúng ta sẽ thực hiện việc cân bằng biểu đồ histogram một cách riêng biệt trên hai nửa trái và nửa phải của khuôn mặt, để cho độ sáng và độ tương phản được chuẩn hóa trên mỗi bên của khuôn mặt.

Trang 74

Nếu chúng ta chỉ đơn giản áp dụng cân bằng biểu đồ histogram trên nửa bên trái và sau đó cho nửa bên phải, thì ta sẽ thấy cạnh giữa rất khác biệt vì độ sáng trung bình có thể sẽ khác nhau ở bên trái và bên phải, vì vậy để loại bỏ cạnh này, chúng ta sẽ áp dụng hai phép cân bằng biểu đồ histogram dần dần từ phía bên trái hoặc bên phải về trung tâm và kết hợp nó với việc cân bằng biểu đồ histogram toàn bộ khuôn mặt. Do đó, phía xa bên trái sẽ sử dụng biểu đồ histogram bên trái, phía xa bên phải sẽ sử dụng biểu đồ histogram bên phải, và phần chính giữa sẽ là sự trộn giữa khuôn mặt bên trái và bên phải để làm dịu cạnh giữa hai nửa trái và phải (Hình 3.6).

Để thực hiện điều này, chúng ta cần sao chép toàn bộ khuôn mặt đã cân bằng cũng như một nửa bên trái và nửa bên phải đã cân bằng, việc này thực hiện như sau:

Bây giờ chúng ta sẽ kết hợp ba ảnh với nhau. Do các ảnh là nhỏ, nên ta có thể dễ dàng truy cập các điểm ảnh trực tiếp bằng cách sử dụng hàm

image.at<uchar>(y,x) ngay cả khi hàm này thực hiện chậm, để hợp nhất

ba ảnh này bằng cách truy cập trực tiếp các điểm ảnh của ảnh ba đầu vào và ảnh đầu ra ta thực hiện như sau:

Trang 75

Việc cân bằng biểu đồ histogram riêng lẽ này giúp ta làm giảm đáng kể ảnh hưởng của sự khác nhau của ánh sáng ở hai bên trái và bên phải của khuôn mặt, nhưng chúng ta phải hiểu rằng nó sẽ không hoàn toàn loại bỏ các tác động của ánh sáng theo một chiều, do khuôn mặt là một hình dạng 3D phức tạp với nhiều điểm có bóng đổ.

3.1.3.5 Làm mịn

Để giảm ảnh hưởng của các điểm nhiễu trong ảnh, ta sẽ sử dụng một bộ lọc Bilateral cho khuôn mặt, đây là phương pháp tốt nhất để làm mịn một ảnh mà vẫn giữ được các cạnh sắc nét. Việc cân bằng biểu đồ histogram có thể làm tăng đáng kể các điểm nhiễu, vì vậy chúng ta sẽ làm tăng độ lợi của bộ lọc lên khoảng 20 lần để có thể lọc được hết các điểm nhiễu mạnh trong ảnh:

Trang 76

Một phần của tài liệu Xây dựng trung tâm xử lý cho tòa nhà thông minh trên hệ thống nhúng linux (Trang 81 - 84)