Chương 5 Thiết kế chương trình nhận dạng mặt ngườ

Một phần của tài liệu đề tài “nghiên cứu và xây dựng chương trình tự động dò tìm mặt người và nhận dạng ảnh chân dung” (Trang 59 - 68)

5.1: Yêu cầu của chương trình

Với yêu cầu xây dựng hệ thống tự động dò tìm mặt người trên ảnh và nhận dạng mặt người, các yêu cầu đặt ra đối với chương trình là:

- Thiết kế giao diện rõ ràng, dễ hiểu, tối ưu các thao tác

- Xây dựng các công cụ phân tích ảnh trên một số không gian màu cơ bản: RGB, HLS, YCbCr.

- Dữ liệu đầu vào của chương trình đầy đủ các dạng: file ảnh tĩnh, file *avi, thu nhận ảnh từ camera.

- Ảnh đầu vào của chương trình mặt người là ảnh màu. Chương trình phải dò tìm được tất cả các khuôn mặt người trong ảnh có nền phức tạp. - Lưu các khuôn mặt dò tìm được ra cơ sở dữ liệu làm tập mẫu huấn luyện hoặc nhận dạng.

- Nhận dạng được ảnh khuôn mặt dò tìm được trong cơ sở dữ liệu. 5.2: Thiết kế các chức năng của chương trình

5.2.1: Các bộ lọc phân tích ảnh trên không gian màu RGB

Ảnh biểu diễn trong không gian màu RBG gồm có 3 thành phần màu RGB, mỗi lớp thành phần màu trong ảnh tương đương với một ảnh đa cấp xám. Chương trình đã xây dựng chức năng trích ảnh màu thành ảnh theo các

kênh: R, G, B. (Filters → RGBColor →

    Channel Blue Extract Channel Green Extract Channel Red Extract

Bộ lọc các thành phần R, G, B màu trong một phạm vi, dùng để phân tích ảnh. Dùng bộ lọc này thực hiện thay các điểm ảnh có giá trị màu gồm các thành phần màu (R, G, B) không nằm trong phạm vi được chọn bằng một màu nhất định (Fill color) - kiểu đổ màu Fill Outside. Đối với kiểu Fill Inside thì ngược lại. Các khoảng chọn có thể điều chỉnh được bằng thanh

trượt . Dưới đây là một ví dụ về tác dụng của bộ lọc trên không gian màu RGB

Hình 5.1: Bộ lọc trên không gian màu RGB

Hình 5.2: Kết quả áp dụng bộ lọc trên không gian màu RGB

Tương tự như bộ lọc trên không gian màu RGB, bộ lọc trên không gian màu HLS cũng thay các điểm ảnh có giá trị H (Hue), S (Saturation), L (Luminance) nằm ngoài hoặc nằm trong (tuỳ thuộc vào lựa chọn kiểu fill là Outside hay Inside) một khoảng giá trị nào đó (các khoảng giá trị có thể điều chỉnh được) bằng một màu xác định (Fill color). Ảnh đầu vào là ảnh màu biểu diễn theo không gian màu RGB, chương trình thực hiện chuyển đổi giữa 2 hệ màu RGB → HSL và HSL → RGB để xác định điểm ảnh nào có giá trị H, S, L trong khoảng đã chọn và loại bỏ trong ảnh gốc. Các khoảng lựa chọn có thể điều chỉh được. Ví dụ:

Hình 5.4: Kết quả áp dụng bộ lọc trên không gian màu HSL

5.2.3: Các bộ lọc phân tích ảnh trên không gian màu YCbCr

Trong bộ lọc YCbCr ảnh đầu vào cũng là ảnh màu được biểu diễn trên không gian màu RGB. Chương trình thực hiện chuyển đổi giữa 2 không gian màu RGB → YCbCr để xác định các điểm ảnh nào có giá trị Y, Cb, Cr trong khoảng đã chọn. Nếu các điểm ảnh có giá trị YCbCr nằm trong khoảng đã chọn và kiểu fill là Outside thì sẽ thay bằng một màu đã chọn (Fill color) và ngược lại với tuỳ chọn fill Inside.Ví dụ:

Hình 5.5: Bộ lọc trên không gian màu YCbCr

Hình 5.6: Kết quả áp dụng bộ lọc trên không gian màu YCbCr

5.2.4.: Dò tìm và nhận dạng ảnh khuôn mặt trong ảnh màu

Chương trình thực hiện dò tìm tất cả các khuôn mặt trong ảnh màu có màu nền phức tạp. Ví dụ:

Hình 5.7: Dò tìm các khuôn mặt trong ảnh và cắt ảnh chân dung

Sau khi dò tìm được các khuôn mặt chọn menu Face Recognition → 2.Recognition để nhận dạng ảnh các khuôn mặt dò được. Các ảnh dò tìm được hiển thị ở bên trái cửa sổ, để nhận dạng ảnh khuôn mặt nào click chọn ảnh khuôn mặt đó.

Để cắt các ảnh chân dung và lưu vào cơ sở dữ liệu chọn Face Recognition → View Faces

Để tạo các mẫu huấn luyện cho chương trình hoặc cắt ảnh chân dung từ các ảnh tập thể hoặc ảnh cá nhân của mỗi người sử dụng chức năng tạo mẫu huấn luyện của chương trình (CreateSamples). Chọn Face Recognition → CreateSamples

Hình 5.8: Tạo mẫu huấn luyện và cắt ảnh chân dung

Chọn thư mục chứa ảnh tập thể, thư mục lưu mẫu được tạo ra, các kiểu file ảnh (*.bmp. *.jpg,…) để tạo các mẫu theo ý muốn.

5.2.5: Dò tìm, nhận dạng ảnh thu được qua camera

Các hệ thống ứng dụng dò tìm khuôn mặt trong thực tế thường thu nhận và xử lý ảnh trực tiếp trên camera để có kết quả và ra quyết định kịp thời. Đáp ứng yêu cầu đó, chương trình thiết kết chức năng kết nối tới camera và dò tìm khuôn mặt trên các ảnh thu nhận được từ camera. Tốc độ dò tìm tương đối nhanh đáp ứng yêu cầu xử lý ảnh thời gian thực của hệ thống. (adsbygoogle = window.adsbygoogle || []).push({});

Nhấn nút lệnh Connect Camera để chọn kết nối đến camera. Chức năng này cũng cho phép chụp và lưu ảnh từ camera. Các tuỳ chọn FaceDetect

Recognition dùng để bật/tắt chế độ tự động dò tìm và tự động nhận dạng sau khi đã kết nối tới camera.

5.2.6: Dò tìm, nhận dạng ảnh trích từ file *.avi

Chương trình thiết kế chức năng đọc, ghi hình từ camera ra file *.avi lưu trữ kết quả xử lý để có thể kiểm tra lại. Với chức năng đọc hình ảnh từ file *.avi có thể truy cập vào các khung ảnh có vị trí bất kỳ, dò tìm vị trí các khuôn mặt trong khung ảnh đó.

Các tuỳ chọn detect faceRecognition dùng để bật/tắt chế độ tự động dò tìm và nhận dạng ảnh. Thanh trượt dùng để truy cập đến khung ảnh bất kỳ trong file *.avi.

Một phần của tài liệu đề tài “nghiên cứu và xây dựng chương trình tự động dò tìm mặt người và nhận dạng ảnh chân dung” (Trang 59 - 68)