Bước 3: Sau khi có được thơng số kích cỡ, vị trí và thời gian nhận diện đối tượng của từng khung hình, lõi tính tốn để theo dõi đường đi của đối tượng, xác định đối tượng
có đi qua vùng đếm hay không, và đếm số người ra hoặc vào trong vùng đếm. Sau đó, hệ thống đẩy thơng tin vào cơ sở dữ liệu và xuất ra một video để báo cáo.
Hình 3.12: Dữ liệu số người vào/ra được nhập vào cơ sở dữ liệu, và video báo cáo được hệ thống tự động xuất ra để làm đối chiếu.
3.2.6 Mơ tả q trình sử dụng hệ thống ở giao diện người dùng để hiển thị kết quả
Bước 2: Người sử dụng nhận báo cáo số liệt kê số người vào/ra, cũng như tải video được báo cáo tự động để đối chiếu
Hình 3.14: Kết quả dữ liệu đã được thêm vào cơ sở dữ liệu và hiển trị trên web.
Bước 3: Người sử dụng có thể xem video được báo cáo để đối chiếu và đánh giá độ chính xác của hệ thống.
3.3 Áp dụng mạng nơ ron tích chập để xây dựng hệ thống nhận diện khn mặt và đánh giá thực nghiệm, so sánh với phương pháp HOG khuôn mặt và đánh giá thực nghiệm, so sánh với phương pháp HOG
3.3.1 Xây dựng hệ thống nhận diện khuôn mặt
Mơ tả bài tốn: Hiện nay, camera cá nhân rất thơng dụng và được lắp ở mọi nơi, ví dụ như webcam của laptop, hoặc camera của điện thoại thông minh. Tuy nhiên, cũng giống như camera dân dụng, camera chỉ có thể thực hiện được chức năng chụp hình hoặc ghi video cơ bản. Do đó, giải pháp hướng đến là xây dựng một hệ thống website nhận diện khn mặt, có thể chạy trên mọi hệ điều hành, và mọi thết bị từ máy tính cho tới điện thoại.
Về tính ứng dụng, hệ thống có thể sử dụng các điện thoại thơng minh hoặc một máy tính để bàn cùng webcam để làm hệ thống nhận diện khn mặt. Hệ thống có thể trở thành một phần phụ trợ đối với các mơ hình kinh doanh, như hệ thống nhận diện khách hàng quen biết để tăng độ thân thiện cho nhân viên bán hàng, giúp nhân viên bán hàng chào đúng tên khách khi khách hàng quay lại lần sau. Hoặc kết hợp với các hệ thống khác, như thống kê cùng các đơn hàng khách hàng đã mua, việc gán nhãn đó có thể mở ra một mơ hình khai phá dữ liệu lớn, hứa hẹn có thể cải tiến nhiều cho mơ hình kinh doanh.
Hệ thống này được xây dựng theo kiến trúc như sau:
Trong đó:
1. Hệ thống tính tiền: Giả định một hệ thống tính tiền của siêu thị được tích
hợp vào hệ thống nhận diện khuôn mặt.
2. Hệ thống camera: hệ thống camera nhận diện khuôn mặt được đặt.
3. Máy chủ xử lý nhận diện: một máy chủ mạnh thực hiện nhận diện khn
mặt cho khách hàng thanh tốn. Nhận diện được khách hàng và gửi thông tin về máy chủ trung tâm.
4. Quản trị viên: kết nối, nhập liệu khuôn mặt, duyệt cơ sở dữ liệu và trích
xuất báo cáo. Dựa vào các báo cáo để nắm được trạng thái và làm báo cáo. 5. Hệ thống nhập liệu khuôn mặt: hệ thống nhập liệu để quản trị viên thêm
người dùng vào kho cơ sở dữ liệu.
6. Cơ sở dữ liệu: chứa thông tin nhận diện khuôn mặt, cùng các thông tin khác
tùy vào việc áp dụng hệ thống với mơ hình tương ứng.
3.3.2 Giới thiệu cơ chế của máy chủ xử lý nhận diện
Máy chủ xử lý nhận diện khuôn mặt được xử lý theo ba bước như sau:
Bước 1: Phát hiện vị trí khn mặt trong bức ảnh, sử dụng dlib với bộ dữ liệu nhận diện mmod_human_face_detector.dat.
Bước 2: Sau khi phát hiện khn mặt, hệ thống xử lý đề dị tìm các điểm đặc trưng trên khuôn mặt. Sử dụng bộ dữ liệu
shape_predictor_68_face_landmarks.dat, ta thu được điểm mốc trên khn
mặt.
Hình 3.18: Hình ảnh 68 điểm mốc trên khn mặt được sử dụng trên bộ thư viện dlib
Bước 3: Sau khi có các điểm mốc trên khn mặt, ta thực hiện so sánh với các khuôn mặt đã được huấn luyện, và đưa ra khn mặt có tỉ lệ chính xác cao nhất.
3.3.3 Giới thiệu sơ lược về phương pháp phát hiện khuôn mặt sử dụng HOG sẽđược dùng để so sánh được dùng để so sánh
Tổng quan về các bước:
Bước 1: Tiền xử lý: từ hình ảnh gốc, ta sử dụng phương pháp phát hiện khn mặt và trích xuất khn mặt khỏi bức hình
Hình 3.20: Khn mặt được sử dụng để nhận dạng
Hình 3.21: Khn mặt được trích xuất
Bước 2: Lọc theo bộ lọc Gabor: Bộ lọc Gabor phân tích các thay đổi về ánh sáng và kết cấu để phân tích hình ảnh: thay đổi cạnh và kết cấu trong một hình ảnh làm nổi bật các đặc tính của bức ảnh. Điều này giúp loại bỏ chi tiết khơng mong muốn, do đó các chi tiết mà chúng ta thực sự mong muốn như các đường viền của mơi, mắt, lơng mày và vị trí của chúng trong bức ảnh sẽ rõ ràng hơn. Bộ lọc Gabor được sử dụng để phóng đại hướng của hình ảnh khn mặt, ví dụ Gabor biến nụ cười thành hình tam giác như trong hình minh họa. Các cạnh được phóng đại và sắc nét hơn, các đặc điểm khn mặt trở nên rõ ràng và đơn giản hơn so với hình ảnh gốc, do đó nó tăng cường độ chính xác cho HOG
HOG lấy hình ảnh được chuyển đổi từ Bộ lọc Gabor và tìm hướng nổi bật nhất cho từng nhóm điểm ảnh, được tính tốn theo ơ. HOG tính tốn hướng dốc và cường độ của hình ảnh Gabor để cung cấp một mơ tả tốn học rõ ràng về hình ảnh, tạo ra một véc tơ để mơ tả hình ảnh, phục vụ cho việc nhận diện khn mặt.
Hình 3.23: Các đặc trưng được trích xuất bằng HOG
Bước 3: Phân loại: véc tơ lấy được từ HOG sẽ được sử dụng theo SVM để tính tốn và phân tích, lưu trữ, và sử dụng để tính tốn kết phân loại khuôn mặt
3.3.4 So sánh hệ thống nhận diện khuôn mặt với phương pháp HOG đã có
3.3.4.1 So sánh khả năng phát hiện khuôn mặt giữa HOG và CNN 1. Kết quả phát hiện khn mặt khi khn mặt ở góc trực diện
Kết quả phát hiện khn mặt với HOG:
Hình 3.24: Phát hiện khn mặt sử dụng HOG
Độ chính xác: phát hiện gần như chính xác; Thời gian phát hiện của HOG: 0,37s
Kết quả phát hiện với CNN:
Hình 3.25: Phát hiện khn mặt sử dụng CNN
Độ chính xác: phát hiện gần như chính xác Thời gian phát hiện của CNN: 42s
2. Kết quả phát hiện khn mặt khi khn mặt bị nghiêng một góc lớn(khoảng 70 độ):
Kết quả phát hiện với phương pháp HOG:
Hình 3.26: Phát hiện khn mặt sử dụng HOG với góc nghiêng lớn
Phương pháp hồn tồn khơng thể phát hiện được. Độ chính xác: khơng thể phát hiện được;
Kết quả phát hiện với CNN:
Hình 3.27: Phát hiện khn mặt sử dụng CNN với góc nghiêng lớn
Với phương pháp CNN: phát hiện được với kết quả gần như chính xác Thời gian nhận diện 27.30s
Bảng 3.2: Kết quả so sánh phát hiện khn mặt giữa phương pháp mạng nơ ron tích chập và phương pháp HOG trên kết quả trung bình của dữ liệu thực tế của hệ thống
Trường hợp thử nghiệm Kết quả phương pháp CNN
Kết quả phương pháp HOG
Mặt nhìn trực diện vào camera 100% 100%
Kích cỡ khn mặt trong bức ảnh rất lớn 100% 78%
Kích cỡ khn mặt trong bức ảnh rất nhỏ 98% 38%
Khuôn mặt trong bức ảnh bị xoay 30 độ theo phương ngang
99% 55%
Khuôn mặt trong bức ảnh bị xoay 50 độ theo phương ngang
95% 20%
Khuôn mặt trong bức ảnh bị xoay 70 độ theo phương ngang
85% 1%
Khuôn mặt trong bức ảnh bị xoay 90 độ theo phương ngang
Qua phép so sánh, ta có thể thấy tuy HOG có khả năng tính tốn rất nhanh vì tính chất đơn giản. Tuy nhiên với những hình ảnh có độ phức tạp cao, CNN thể hiện rõ khả năng phát hiện khuôn mặt vượt trội so với công nghệ HOG.
3.3.4 So sánh khả năng nhận diện khuôn mặt giữa HOG và CNN
1. Kết quả nhận diện khn mặt khi khn mặt ở góc trực diện Kết quả phát hiện khn mặt với HOG:
Hình 3.28: Kết quả nhận diện khn mặt với HOG
Độ chính xác: phát hiện gần như chính xác;
Kết quả phát hiện với CNN:
2. Kết quả nhận diện khn mặt khi khn mặt bị nghiêng một góc lớn(khoảng 70 độ) Kết quả phát hiện với phương pháp HOG:
Hình 3. 30: Nhận diện khn mặt sử dụng HOG với góc nghiêng lớn
Độ chính xác: khơng thể nhận diện được;
Kết quả phát hiện với CNN:
Hình 3.31: Phát hiện khn mặt sử dụng CNN với góc nghiêng lớn
Bảng 3.3: Kết quả so sánh nhận diện khuôn mặt giữa phương pháp mạng nơ ron tích chập và phương pháp HOG trên kết quả trung bình của dữ liệu thực tế của hệ thống
Trường hợp thử nghiệm Kết quả phương pháp CNN
Kết quả phương pháp HOG
Mặt nhìn trực diện vào camera 100% 100%
Kích cỡ khn mặt trong bức ảnh rất lớn 100% 62%
Kích cỡ khuôn mặt trong bức ảnh rất nhỏ 98% 35%
Khuôn mặt trong bức ảnh bị xoay 30 độ theo phương ngang
95% 51%
Khuôn mặt trong bức ảnh bị xoay 50 độ theo phương ngang
35% 0%
Khuôn mặt trong bức ảnh bị xoay 70 độ theo phương ngang
12% 0%
Khuôn mặt trong bức ảnh bị xoay 90 độ theo phương ngang
0% 0%
Qua phép so sánh, ta có thể thấy, ở những hình ảnh có độ phức tạp như khn mặt có góc nghiêng lớn, xử lý bằng HOG gần như khơng thể nhận diện được. Nhưng xử lý bằng CNN có sự vượt trội và chính xác hơn.
3.2.5 Kết quả hệ thống web nhận diện khn mặt
3.2.5.1 Giao diện hệ thống
Vì hệ thống web có thể chạy trên 2 nền tảng: nền tảng máy tính và nền tảng thiết bị di động, nên ta có các giao diện hệ thống sau:
Hình 3.32: Giao diện hệ thống trên web (hai hình trên) và giao diện hệ thống trên mobile (hai hình dưới)
3.2.5.2 Kết quả chức năng nhận diện khuôn mặt
Ở hệ thống nhận diện khuôn mặt, kết quả báo cáo được lấy từ thực tế khi sử dụng với dữ liệu được nhận diện bằng camera: Ở phần huấn luyện, dữ liệu đầu vào là một người dùng ngồi trước camera. Hệ thống sẽ nhận diện mơt lượng khung hình của người dùng. Sau đó, ở phần nhận diện, hệ thống sẽ sử dụng dữ liệu đã được huấn luyện trước đó để nhận diện người sử dụng được ghi hình. Các bước kết quả sẽ được báo cáo lần lượt qua các hình ảnh sau:
Hình 3.34: Kết quả nhận diện sau khi huấn luyện
Ở kết quả nhận diện khn mặt, ta có thể thấy hệ thống đã nhận diện tốt với khn măt với góc nhìn thẳng, khn mặt với góc nhìn nghiêng xuống dưới 45 độ so với chiều thẳng đứng, khn mặt với góc nhìn nghiêng lên trên 30 độ so với chiều thẳng đứng, khn mặt với góc nhìn nghiêng sang trái 45 độ và khn mặt với góc nhìn nghiêng sang phải 45 độ. Ngồi ra, thử với các trường hợp đặc biệt khác, như nhận diện user với góc nghiêng khoảng 80 độ, hoặc nhận diện user với góc nghiêng 30 độ trên mặt phẳng Oxz cũng đều cho kết quả chính xác:
Hình 3.35: Nhận diện user có ID 00280 với góc nghiêng khoảng 80 độ và user có ID 00388 với góc nghiêng 30 độ trên mặt phẳng Oxz
Sau khi có danh sách các người dùng sau bước huấn luyện. Ta có được các mốc thời gian các khn mặt xuất hiện được lưu vào hệ thống ở bảng sau:
Bảng 3.4: Cơ sở dữ liệu thời gian phát hiện khuôn mặt của hệ thống
Trong đó:
1. user_id: ID của người dùng hệ thống
2. checkin_time: thời gian phát hiện đối tượng xuất hiện trước camera. Dựa vào thông tin khuôn mặt xuất hiện khi nào, cùng với những thông tin cần thiết khác, hệ thống có thể tạo ra một bộ cơ sở dữ liệu được gán nhãn để phân tích sâu hơn như: thói quen người dùng, hoặc làm cơ sở dữ liệu đảm bảo an ninh, …
3.3 Kết luận
Khi áp dụng mạng nơ ron tích chập vào bài tốn nhận diện khn mặt và đếm số người ra/vào trong thực tế, hệ thống đã hoạt động ổn định và tỉ lệ sai số ở ngưỡng thấp có thể chấp nhận được. Hệ thống đã có thể thay thế các nhân viên thống kê qua camera, cũng như giải phóng sức lao động của con người, góp một phần nhỏ trong q trình tiến lên cách mạng cơng nghiệp 4.0.
KẾT LUẬN
Kết quả đã thực hiện được của luận văn
Với ý tưởng áp dụng trí tuệ nhân tạo vào các nhu cầu của đời sống, nhằm giải phóng sức lao động của con người với những cơng việc đơn giản và góp phần xây dựng cách mạng cơng nghiệp 4.0, đề tài “Nghiên cứu về mạng Neural Convolutional, áp dụng
vào bài toán nhận dạng đối tượng trong lĩnh vực thị giác máy tính” đã hồn thành được
những mục tiêu sau:
Ở chương một, luận văn đã trình bày tổng quan về lịch sử hình thành, cũng như các kiến thức về nơ ron nhân tạo, mạng nơ ron nhân tạo và mạng nơ ron tích chập. Về mạng nơ ron, luận văn đã làm rõ được cấu trúc của một nơ ron nhân tạo, cách hoạt động của từng thành phần nơ ron. Ngoài ra, luận văn cũng đã làm rõ cách mạng nơ ron nhân tạo thực hiện quá trình huấn luyện bằng hình thức lan truyền ngược. Về các kiến trúc mạng, luận văn đã giới thiệu sơ qua về hai kiến trúc mạng phổ biến là mạng nơ ron truyền thẳng và mạng nơ ron hồi quy. Trong đó có đi sâu vào phân tích một mạng nơ ron truyền thẳng đặc biệt là mạng nơ ron tích chập.
Ở chương hai, luận văn đã trình bày tổng quan về bài toán nhận dạng bằng mạng nơ ron tích chập. Luận văn đã đề cập lịch sử và phát triển của bài toán nhận dạng đối tượng, giới thiệu và phân tích phương pháp và các bước đang được sử dụng để nhận diện khuôn mặt với mạng nơ ron tích chập. Ngồi ra luận văn có giới thiệu, phân tích và kết quả chi tiết của một số mạng nơ ron tích chập nổi tiếng hoặc được các cơng ty lớn tạo ra.
Bên cạnh đó, ở chương ba, để tài đã bước đầu xây dựng được mô đun nhận dạng đối tượng với hệ thống đếm người vào/ra cũng như hệ thống web nhận diện khn mặt. Ngồi ra, đề tài có phân tích và so sánh với hệ thống cũ đang được sử dụng cho chức năng nhận diện đối tượng và nhận diện khuôn mặt trước đây là HOG. Về cơ bản, hệ thống mới có khả năng nhận diện với các dữ liệu lỗi, nhiễu với tỉ lệ chính xác cao hơn so với hệ thống HOG. Ngoài ra, hệ thống đã có thể vận hành tự động để thay thế được con người, góp phần giải phóng sức lao động của con người, góp một phần nhỏ trong q trình tiến lên cơng nghiệp 4.0.
Phương hướng phát triển luận văn
Với rất nhiều ứng dụng thực tế của mạng nơ ron nhân tạo. Đề tài có rất nhiều hướng phát triển trong tương lai, để tạo thành một hệ thống toàn diện hơn, khai thác nhiều thông tin hơn như:
Lập một hệ thống nhận dạng với số lượng người dùng lớn, làm cơ sở dữ liệu dân số trong tương lai.
Phân tích hành động qua chuỗi thời gian, để phát hiện, cảnh báo và ngăn chặn những bất thường, giúp xã hội trở nên an tồn hơn;
Nhận diện tiếng nói qua khn miệng của hình ảnh người dùng, hoặc Tạo ra cơng cụ đọc ngơn ngữ hình thể để hỗ trợ giao tiếp với người khuyết tật,…