3. Phân tích – thiết kế hệ thống phát hiện mặt ngườ i
3.2. Thiết kế hệ thống
Với các chức năng ở trên, chương trình được chia thành thành 3 phần chính: Phần xử lý đầu vào, phần phát hiện khuơn mặt và phần xử lý đầu ra.
a. Xử lý đầu vào: Đầu vào (ảnh, video hoặc webcam) Phát hiện nhanh khuơn mặt bằng Adaboost Lưu khuơn mặt vào CSDL Cĩ khuơn mặt 0 HỆ THỐNG PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH NGƯỜI DÙNG Capture ảnh Khuơn mặt đã được phát hiện
Chương trình nhận đầu vào là file ảnh, video hoặc webcam, tuy nhiên, việc phát hiện khuơn mặt được thực hiện trên các bức ảnh, do đĩ, với đầu vào là webcam hay file video, ta phải chuyển thành các ảnh tĩnh và xử lý trên từng ảnh tĩnh. Sau khi đã cĩ ảnh đầu vào rồi thì sẽ chuyển ảnh cho giai đoạn xử lý tiếp theo, đĩ là phát hiện các khuơn mặt cĩ trong ảnh.
b. Phát hiện khuơn mặt
Phần này xử lý chính nghiệp vụ của hệ thống. Sau khi cĩ ảnh truyền vào, hệ thống sẽ thực hiện chức năng phát hiện khuơn mặt cĩ trong ảnh.
Việc phát hiện khuơn mặt được thực hiện nhanh bằng thuật tốn adaboost thơng qua hàm cvHaarDetectObjects() của OpenCV. Hàm này thực hiện việc phát hiện đối tượng dựa trên các đặc trưng haar-like, cụ thể là nhờ vào một bộ Cascade được truyền vào cho hàm. Bộ Cascade được xây dựng theo dạng cây (tree-node) và đã được huấn luyện từ trước.
Việc huấn luyện bộ Cascade cĩ thể thực hiện từ những dữ liệu thu thập được để phục vụ cho quá trình nhận dạng. Ví dụ, muốn nhận dạng một người A, ta thu thập các ảnh khuơn mặt của người A với nhiều tư thế, gĩc chụp và điều kiện chụp khác nhau, sau đấy cho bộ nhận dạng học theo thuật tốn Cascade training. Tuy nhiên việc nhận dạng khuơn mặt là một cơng việc khĩ và tốn nhiều thời gian, do đĩ, tơi khơng thực hiện nĩ trong khĩa luận của mình.
c. Xử lý đầu ra.
Khuơn mặt sau khi được phát hiện sẽ được tách ra khỏi bức ảnh và lưu dưới dạng ảnh bitmap với phần mở rộng là *.jpg.
Đối với đầu vào là các file ảnh, dữ liệu đầu ra cũng là file ảnh đấy nhưng cĩ lưu vị trí khuơn mặt đã được phát hiện trên bức ảnh, đồng thời tách các riêng khuơn mặt và lưu vào cơ sở dữ liệu.
Đối với đầu vào là các file video hoặc webcam. Các khuơn mặt sẽ được tách ra và lưu lại thành các file ảnh riêng rẽ, và được đánh số thứ tự theo tên file video. Ví dụ như file video test.avi thì ảnh các khuơn mặt phát hiện được sẽđược đánh số theo thứ tự như
Hình 18: Biểu đồ phân rã chức năng.