Chương 1. GIỚI THIỆU TONG QUAN ĐÈ TÀI. Lý do thực hiện khóa luận. Mục tiêu của khóa luận.
Phương pháp thực hiỆn.- «6 tt St ng it 5 Chương2. Giới thiệu tong quan về các thuật toán phát hiện khuôn mặt [4]. Phương pháp dựa trên đặc trưng của bức anh. Phương pháp dựa trên thông tin hình anh.
So sánh 2 cách tiếp cận 2. Thử nghiệm giải thuật phát hiện khuôn mặt dựa trên màu da [5]. Chuyển đổi sang hệ màu YCbCr. Trích xuất màu da.
Lấy ngưỡng màu da (thresholding) và chuyền sang ảnh nhị phan. Xử lý hình thái ảnh. Thực hiện gan nhãn. Thử nghiệm giải thuật của Viola-JOnes.
Tính toán Integral Image và Sqare Integral Image. Phát hiện khuôn mặt dựa trên Haar-like feature. So sánh 2 giải thuật. «+ Sàn HH HH HH ưưn43 2.
Model Haar Cascade — XMIL.-¿- + SH tt HH HH45 Chương3. HIỆN THỰC THIET KÉ. Interface của lõi IP 3. Lưu trữ hình ảnh — Khối IMG buffer.
Tạo ma trận Integral Image. Khối tạo địa chi Address Ø€II€TA(OT. Khối Scale counter. Khối Scale raHo.
KhOi address translate. Khối tạo cửa số Integral WindowBuffer. Khối Square Integral WindowBuffer. Khối features_mem.
Ước tính thời gian xử lý của ÍP. Tiến hành mô phỏng.- 2¿-++++2EE++++2EEE+++tEEEEEzrtrrEExerrrrrkrrrrrr 72 3. Mô phỏng khối IMG buffer. Mô phỏng khối address generatOr.
Mô phỏng khối Integral và Square Integral WindowBuffer. Mô phỏng khối Stddev. M6 phỏng khối Classifier. HIỆN THUC TREN PHAN CỨNG.
Sơ đồ khối của hệ thống. Hiện thực hóa thiết kế trên Zynq SoC. Tài nguyên thiết kế. Phân tích timing thiết kế.
So sánh thiết kế trước và sau cải tiến.---¿-©ccc2cxzcerxserrrxerrrsecer 84 Chương 5. CÀI ĐẶT HE THONG VÀ THỰC NGHIỆM. Cài đặt hệ thống. Kết quả thực nghiGm.
So sánh kết quả thiết ké.ccccccccccecssssssecssssssesssssseeesssseesessssieesssseesesssseeseessseeees 89 Chương 6. KÉT LUẬN VÀ HƯỚNG PHAT TRIÊN.ốẻốốố 90 DANH MỤC HÌNH Hình 2.1 Một số phương pháp phát hiện khuôn mặt.2 Mô hình mạng nơ ron của ÑOWÏ€y.3 Mô tả các bước thực hiỆn.4 Ảnh đầu vào.5 Ảnh sử dụng kênh màu YCbCTr.--¿--22222222++zt2EEEEvvvrrrrrrrrrrrree 24 Hình 2.6 Quá trình thực hiện trích xuất màu đa.---2-¿22+++22+++ecxze+rs+ 25 Hình 2.7 Giá tri Cb va Cr của gương mặt (trên), giá tri của cả bức ảnh (dưới).8 Ảnh sau khi lay ngưỡng mau đa.9 Phép làm co ma trẬN.- ¿+ ¿5E E$%S*EEE#EEE#EEEEEEESEEkgkk tt vưy27 Hình 2.10 Hình ảnh sau khi được lầm cO.11 Phép làm dain ma trẬn. -- «E6 StSS tk #vEvEeEEkekrkrrkrrrrrrevek 28 Hình 2.12 Hình ảnh sau khi được làm dãn.13 Hình anh sau khi loại bỏ vùng nhỏ .- 5c 55255252 £+s+£+c+zx+cs>29 Hình 2.14 Ảnh sau khi trích xuất thông tin cạnh.-----cccc-z-ccc-sssc-3Ù Hình 2.15 Ảnh sau khi được gán nhãn.16 Nhận diện nhầm vào các vùng không phải gương mặt.17 Các bước của giải thuật Viola-JOnes.18 Hình anh minh họa Scale pyramid [6] .19 Nearest-neighbor pooling.- --¿-¿+- 6+5 St 2x+xtxexerekekerererrkekeree 33 Hình 2.20 Ví dụ về ma trận Integral Image và Sqaure Integral Image.21 Ma trận được chia thành các vùng A, B, C, D.22 Quá trình phát hiện trên từng cửa sỐ.--:ccc¿cccsccccccscc--+3Õ Hình 2.23 Ví dụ về cửa số Haar-like feature.24 Mô tả cách tính Haar-like featUTe.25 Mô tả các bước tính tổng stage.26 Mô tả cách hoạt động của cascade cÌaSSIŸI€T.27 Ảnh quá sáng.28 Ảnh quá tố Hình 2.29 Sơ đồ tính Haar-feature.---:-- 2+2222++vE22S+vttEEEExretrrrvrrerrrrrrrrrr 42 Hình 2.30 Hiện tượng chồng lắn do thực hiện trên nhiều tỷ lệ scale.31: Cấu trúc của file XML biểu diễn cho Haar cascade.1 Tổng quan kiến trúc phần cứng.----¿¿z222++++22vvvz++trvsvreerz 48 Hình 3.2 Mô ta interface của khối IMG buffer và mô hình thời gian.3 Thời gian chờ khi chưa tối ưu (trên) và sau khi tối ưu (dưới).4 Các khối đóng vai trò tạo cửa sổ đetect.5 Kiến trúc khối Address generator và mô hình thời gian.6 Mô ta hoạt động của khối sweeper ở 2 tỷ lệ scale khác nhau.7 Tạo bức ảnh scale bằng cách scale address.8 Thiết kế khối addr_trans.9 Cải thiện thiết kế khối addr_trans.10 Mô tả cách cửa số dW được tạo.11 Trường hợp cửa sé dW không hợp lệ.12 Minh họa Sum Column Generate.13 Minh họa Integral Image được tạo ra từ Column Sum.14 Kiến trúc tạo ra các giá trị Integral và cửa số dW[ 17].15 Kiến trúc thay thỂ.16 Thiết kế đáp ứng đọc đồng thời.--:¿-vvcc+ce+tcccvvsccccee 61 Hình 3.17 Nguyên ly truy cập RAM của mỗi hình chữ nhật.18 Kiến trúc khối Square Integral WindowBuffer.19 Mô tả kiến trúc của khối Stddev trước khi pipeline.20 Mô tả kiến trúc của khối Stddev sau khi pipeline.21 Biểu diễn cách sắp xếp của 4 điểm trong hình chữ nhật.22 Mô tả kiến trúc khối Feature_mems .----¿cz+2c5sscezex 64 Hình 3.23 Mô tả kiến trúc khối Classifier.24 Mô phỏng khối feature_sum.25 Mô phỏng kết quả giá tri leaf_val.-----ccccc+¿22222vvvccerrrrrrrreercee 67 Hình 3.26 Mô phỏng kết quả của stage.27 Trình tự thực hiện và thời gian thực hiện Hình 3.28 Mô phỏng khối IMG buffer trước (trên) và sau (dưới) cải tiến.29 Mô phỏng khối address generator Hình 3.30 Mô phỏng Integral WindowBuffer trước (trên) và sau (dưới) cải tiên .31 Mô phỏng trước (trên) và sau (dưới) cải tiến.32 Mô phỏng khối Stddev.33 Mô phỏng hoạt động khối Classifier trước (trên) và sau (dưới) cải tiến.34 Mô phỏng hoạt động IP.---¿- + - + 5£ SE2E2E#E2EEEEkkEkkrkrkrkereree 75 Hình 4.1 Mô tả kiến trúc Zynq [13].------c+z222222vvv+++ttttvvvvvvrrrrrrrrrrrser 71 Hình 4.2 Sơ đồ kết nối IP với Processing System.3 Block Design của hệ thống. Mô tả luồng hoạt động của hệ thống .--:--ccczz+2ccvsss+ 80 Hình 4.5 Hình ảnh tài nguyên sử dung của hệ thống.6 Các Path có delay lớn nhất trong thiết kế IP Hình 4.7 Kết quả phân tích timing trên toàn bộ hệ thống [15] trước (trên) và sau (dưới) khi họ cải tiến.8 Tổng hợp kết qua implementation theo một s .1 Thiết lập hệ thống thực tẾ.2 Một số hình ánh thực tế thu được từ hệ thống.-------- 87 DANH MỤC BANG Bang 2.1 So sánh phương pháp phát hiện khuôn mặt.2 Số lượng feature mỗi stage.3 So sánh 2 phương pháp đã tìm hiểu.4 Định lượng tài nguyên sử dụng dựa trên độ phân giải bức ảnh.1 Thể hiện tổng bộ nhớ cần lưu trữ các giá trị của Haar feature.2 Thống kê số chu kỳ xử lý của khối Classifier Bảng 3.3 Tóm tắt nhiệm vụ và thời gian xử lý của các khối Bảng 3.4 Số lượng cửa số thực hiện ở mỗi lần scale.1 Bảng phân bé tài nguyên thiết kế Bảng 4.2 So sánh tài nguyên sử dụng giữa thiết kế [15] và sau khi cải tiến.1 So sánh độ chính xác khi hiện thực trên phần cứng và trên phần mềm .2 Bảng so sánh kết quả thực nghiệm.---¿--©2¿+2222+cz+ccvsvrerr 89 DANH MỤC TU VIET TAT AdaBoost Adaptive Boosting AXI Advanced eXtensible Interface BRAM Block RAM DDR Double Data Rate DSP Digital signal processor dw Detection Window FPGA Field Programmable Gate Array I Integral Image SII Square Integral Image Ip Intellectual Property Core JTAG Joint Test Action Group MM Memory Mapped OpenCV Open Source Computer Vision Library PL Programmable Logic PS Processing System RAM Random Access Memory ROM Read Only Memory SDK Software Development Kit SoC System on Chip VGA Video Graphics Array TÓM TÁT KHÓA LUẬN Khóa luận đề xuất kiến trúc thiết kế phát hiện gương mặt trên FPGA.
Trong đó, kiến trúc đề xuất sẽ hiện thực một giải thuật phát hiện gương mặt nổi tiếng của Viola-Jones. Phương pháp sử dụng các đặc trưng Haar-like dé làm đặc trưng cơ sở, Integral Image để tăng tốc độ tính toán bằng cách cộng dồn các pixel ảnh, cuối cùng sử dụng một bộ phân lớp nhiều tang dé xác định xem đối tượng có phải là gương mặt hay không. Các đặc trưng Haar-like sẽ được huấn luyện trước đó, độ chính xác của phương pháp sẽ phụ thuộc vào kết quả huấn luyện. Sau khi thiết kế lõi IP được hoàn thiện, nó sẽ được tích hợp vào một hệ thống SoC thực thụ bằng cách sử dụng các board mạch Zynq 7000 của Xilinx.
Từ đó công việc đánh giá kiểm tra tính chính xác, độ hiệu quả của thiết kế IP trở nên đơn giản hơn. Hình ảnh gương mặt phát hiện được, qua đó cũng được hiển thị lên trên màn hình thông qua cổng VGA đề dễ dàng kiểm tra, đánh giá. Kết quả sẽ được đánh giá theo hai tiêu chí: e Tinh chính xác của thuật toán: Kết quả sẽ được đánh giá dựa vào kết quả tính toán của phần cứng (hardware) và so sánh với kết quả dựa trên mô hình cơ sở lý thuyết (software). e Tai nguyên phần cứng: Việc đánh giá các thông số này sẽ được thực hiện trên phân mêm vivado của Xilinx.
Khi hoàn thiện, thiết kế lõi IP hoàn toàn có thể được tích hợp vào trong các hệ thống SoC hiện đại, từ đó giúp các công việc phát hiện gương mặt trở nên đơn giản, hiệu quả, tiết kiệm thời gian và không còn phụ thuộc quá nhiều vào bộ xứ lý trung tâm (CPU). GIỚI THIỆU TONG QUAN ĐÈ TÀI 1. Ly do thực hiện khóa luận Trong thời điểm hiện tại, khi tự động hóa trong công nghiệp và các hệ thống số là điều bắt buộc thì công việc phát hiện đối tượng trong bức ảnh ngày càng trở nên phổ biến. Thiết bị cần ứng dụng phát hiện đối tượng được tìm thấy hau hết ở tat cả các nền công nghiệp như điện, y tế, công nghiệp 6 tô.
Do đó bai toán phát hiện đối tượng càng trở nên quan trọng, đặc biệt là trong các hệ thống nhúng ngày nay. Bởi vì những hệ thống này có hạn chế về tài nguyên phần cứng, năng lượng và tốc độ, do đó rất cấp thiết để tìm ra một giải thuật phát hiện đối tượng thỏa mãn tất cả những tiêu chí trên. Trong số đó, các giải thuật phát hiện khuôn mặt đang được nghiên cứu rộng rãi vì khả năng ứng dụng cao, ví dụ như trong các hệ thống nhận diện khuôn mặt, hệ thống phát hiện ngủ gật, điểm danh tự động. Tuy vậy, việc triển khai trên các hệ thống thời gian thực luôn là thách thức bởi vì gương mặt con người là đối tượng thay đổi linh hoạt theo ngữ cảnh.
Đã có rất nhiều cách tiếp cận được đưa ra từ rất sớm, các phương pháp này sử dụng các đặc trưng trong bức ảnh như: feature-based, appearance-based, knowledge-based, hoặc template-match. Cùng với hai thuật toán học SVM và Adabost, được sử dụng rộng rãi bởi việc tính toán mạnh mẽ và hiệu quả. Một vài báo cáo đã chỉ ra rằng việc triển khai hệ thống phát hiện khuôn mặt trên phần cứng sử dụng FPGA cho kết quả khả quan hơn so với thực hiện hoàn toàn trên phần mềm. [1] Điển hình như báo cáo của C.Gao đã đề xuất một kiến trúc sử dụng Haar-like feature đề phân lớp các đối tượng trong bức ảnh, thiết kế sử dụng bộ phân lớp nhiều tầng (16 tầng) và được thực hiện song song với nhau đem tới tốc độ khung hình 98fps, cải thiện 20 lần so với thực hiện trên phần mềm.
Tuy nhiên, tài nguyên phan cứng sử dụng vô cùng lớn, khó có thể hiện thực trong thực tế. Phương pháp sử dụng các đặc trưng Haar-like dé làm đặc trưng cơ sở, Integral Image dé tăng tốc độ tính toán bằng cách cộng don các pixel ảnh, cuối cùng sử dụng một bộ phân lớp nhiều tang dé xác định xem đối tượng có phải là gương mặt hay không.