Có thể thấy, ở mơ hình của Baidu, với lượng người càng lớn và số khuôn mặt càng nhiều, hệ thống càng trở nên chính xác.
2.6 Kết luận
Bài tốn nhận dạng đã có từ rất lâu với nhiều phương pháp khác nhau. Tuy nhiên, với các kỹ thuật mới, ta có thể thấy rằng độ chính xác của các phương pháp ngày càng tăng trong khi chi phí tính tốn ngày càng giảm.
Hình 2.17: Thống kê các mơ hình, số lượng bộ dữ liệu sử dụng, và các mốc thời gian xuất bản
Qua cách thức hoạt động và các mơ hình được sử dụng trong bài tốn nhận dạng, ta có thể thấy dữ liệu là chìa khóa rất quan trọng trong việc đào tạo. Nếu mơ hình cịn hạn
thiện ở mức đáng kể. Có thể thấy, các mơ hình có độ chính xác cao trên 97% đều sử dụng trên 100 nghìn ảnh để huẩn luyện. Ngoài ra, việc xử lý nhiều phần khn mặt cũng giúp ích rất nhiều cho độ chính xác của nhận diện, tuy nhiên hệ thống sẽ cần số lượng tính tốn lớn hơn để có thể nhận diện.
Các phương pháp nhận dạng bằng mạng nơ ron tích chập hiện nay có độ sai số rất nhỏ và nằm trong ngưỡng chấp nhận được. Nên việc áp dụng mạng nơ ron tích chập để xây dựng một hệ thống nhận diện là hoàn tồn khả thi và có thể đáp ứng nhiều nhu cầu khi chúng ta đang dần tiến tới cách mạng công nghiệp 4.0.
CHƯƠNG 3.
SỬ DỤNG MẠNG NƠ RON TÍCH CHẬP TRONG NHẬN DẠNG ĐỐI TƯỢNG
3.1 Sơ lược về áp dụng mạng nơ ron tích chập vào các giải pháp thơngminh trong thực tế minh trong thực tế
Hiện nay, xã hội đang tiến dần đến kỷ nguyên cách mạng công nghiệp 4.0. Với cách mạng cơng nghiệp 4.0, các mức tự động hóa, cũng như học máy đều ở mức cao, có thể thay thế con người khỏi nhiều việc, nhằm góp phần giải phóng sức lao động. Ngoài ra, việc khai phá dữ liệu cũng đem lại nhiều tối ưu cho các mơ hình kinh doanh, cũng như cho xã hội. Để hướng đến cách mạng công nghiệp 4.0, rất cần các giải pháp tự động hóa cho các mơ hình cơng hoặc mơ hình kinh doanh như bệnh viện, cửa hàng hoặc siêu thị. Ở các giải pháp này, hệ thống thơng minh sẽ tự động phân tích số lượng người ra/vào, hay nhận diện thời điểm xuất hiện của khách hàng thân thiết.
Ở phạm vi của đề tài, luận văn áp dụng hai giải pháp về nhận diện người và nhận diện khuôn mặt sử dụng CNN để áp dụng xây dựng các hệ thống thực tế. Các phương pháp nhận diện người cũng như khuôn mặt qua thực tế đã có độ chính xác và có khả năng thương mại hóa cao.
3.2 Áp dụng mạng nơ ron tích chập để xây dựng hệ thống nhận diện người vào/ra và đánh giá thực nghiệm, so sánh với phương pháp HOG
3.2.1 Giới thiệu hệ thống nhận diện và đếm lượt người vào/ra sử dụng mạngnơ ron tích chập nơ ron tích chập
Mơ tả bài tốn: Hiện nay, camera rất thông dụng và được lắp ở mọi nơi. Tuy nhiên, camera dân dụng thơng thường chỉ có chức năng chụp ảnh hoặc ghi hình mà khơng có chức năng thơng minh nào khác. Do đó, giải pháp hướng đến là lập nên một hệ thống có chức năng thống kê người vào/ra. Hệ thống có thể áp dụng cho nhiều địa điểm như các cổng ra vào ở bệnh viện, trường học, siêu thị, ... Dựa trên kết quả thống kê, người dùng có thể nắm được các thơng tin về trạng thái hiện tại của khu vực đặt camera. Hệ thống này được xây dựng theo kiến trúc như trong hình. Trong đó:
2. Máy chủ xử lý nhận diện và đếm lượng người: máy chủ có cấu hình mạnh,
tốc độ xử lý cao, có thể xử lý tồn bộ dữ liệu của hệ thống camera, tạo thành báo cáo để đẩy vào hệ thống trích xuất dữ liệu.
3. Hệ thống trích xuất dữ liệu và hình ảnh đối chiếu: sau khi được xử lý qua
máy chủ xử lý, dữ liệu được gom nhóm kèm video, và được lưu trữ ở đây trước khi được đẩy về máy chủ trung tâm.
4. Cơ sở dữ liệu chứa thông tin nhận diện đối tượng: đây là dữ liệu bao gồm
số liệu và hình ảnh và video của hệ thống nhận diện đối tượng.
5. Quản trị viên: quản trị viên là người kết nối lên máy chủ tổng, là người xem
xét dữ liệu để nắm được thông tin số lượng người ra/vào theo khung giờ, và lập các báo cáo cần thiết.
Hình 3.1: Hình ảnh thiết kế của hệ thống nhận diện đối tượng
3.2.2 Giới thiệu kiến trúc của máy chủ xử lý nhận diện và đếm lượng người
Máy chủ xử lý nhận diện và đếm lượng người được sử dụng trong hệ thống là mơ hình YOLO sử dụng kiến trúc mạng nơ ron tích chập. Mơ hình YOLO là một cách tiếp cận mới để phát hiện đối tượng. Với phương pháp này, ta có thể huấn luyện mạng với bộ dữ liệu được gán nhãn. Sau đó, khi sử dụng để nhận diện, phương pháp này xác định và đóng khung đối tượng qua một cửa sổ phân tách trong hình ảnh, kèm theo xác suất của các đối tượng liên quan được phát hiện.
Mơ hình mạng YOLO sử dụng một mạng thần kinh duy nhất để dự đoán các hộp giới hạn và xác suất nhãn trực tiếp từ tồn bộ hình ảnh trong một lần chạy. Vì tồn bộ hệ thống phát hiện là một mạng duy nhất, nên nó được tối ưu hóa từ đầu đến cuối, dựa trên hiệu suất phát hiện. Kiến trúc đơn của YOLO rất nhanh, với mơ hình thường, mạng có thể xử lý được trong thời gian thực với 45 khung hình trên giây, cịn với mơ hình nhỏ hơn là FastYOLO, hệ thống có thể xử lý tới 155 khung hình trên giây.
Hình 3.2: Phương pháp mạng YOLO sử dụng để nhận diện đối tượng.
Mơ hình YOLO được thiết kế với 24 tầng nơ ron tích chập và 2 tầng nơ ron được kết nối đầy đủ. Các lớp chập 1x1 xen kẽ làm giảm dữ liệu từ các tầng trước. Các lớp tích chập được sử dụng để trích xuất các đặc điểm từ hình ảnh, các lớp kết nối đầy đủ được sử dụng để dự đoán xác suất và tọa độ đầu ra. Kiến trúc YOLO được lấy cảm hứng từ mơ hình GoogLeNet cho phân loại hình ảnh
Hình 3.3: Mơ hình mạng yolo
Ở hệ thống nhận diện đối tượng, hệ thống sử dụng mơ hình YOLO, cùng bộ dữ liệu trọng số đã được huấn luyện là yolov3.weights, có sử dụng thêm tối ưu bằng học tăng cường để: tăng cường độ chính xác bằng cách huấn luyện thêm bộ dữ liệu đã có.
3.2.3 Giới thiệu sơ lược về phương pháp mô tả đặc trưng HOG sẽ được dùng để so sánh
HOG trở nên phổ biến vào năm 2005 khi Navneet Dalal và Bill Triggs, các nhà nghiên cứu của Viện Nghiên cứu Khoa học và Tự động hóa Quốc gia Pháp cho thấy cơng việc của họ trên HOG, đây là một giải pháp đáng tin cậy. Thuật tốn cũng là một trình trích xuất các tính năng cho mục đích phát hiện đối tượng. Thay vì xem xét cường độ điểm ảnh như phương pháp Viola Jones, kỹ thuật này đếm các lần xuất hiện của vectơ độ dốc biểu thị hướng ánh sáng để định vị các phân đoạn hình ảnh. Phương pháp sử dụng chuẩn hóa tương phản cục bộ chồng chéo để cải thiện độ chính xác.
3.2.1.1 Giới thiệu sơ lược về phương pháp HOG sử dụng để phát hiện đối tượng
Có 5 bước cơ bản để xây dựng một vector HOG phát hiện đối tượng cho hình ảnh, bao gồm:
1. Tiền xử lý
Bước tiền xử lý sẽ, cắt hình ảnh thành các khối, chuyển kích thước về kích thước chuẩn, sau đó sử dụng các khối để tính tốn đặc trưng ở các bước tiếp theo.
2. Tính độ dốc
Hình 3.4: Tiền xử lý để xác định khung hình
Để tính tốn mơ tả HOG, ta tính tốn độ dốc trên trục Ox và Oy. Độ dốc được tính bằng phép nhân chập ảnh gốc với véc tơ hai chiều tương ứng là:
Đối với hình ảnh màu, độ dốc của ba màu cơ bản (đỏ, xanh lá và xanh da trờii) được tính tốn. Độ lớn của dốc tại một điểm ảnh là giá trị lớn nhất của cường độ dốc của ba kênh màu.
Trong đó:
Hình 3.5: Độ dốc sau khi tính tốn
Hình bên Trái: giá trị tuyệt đối của độ dốc theo x. Hình ở giữa: giá trị tuyệt đối của độ dốc theo y. Hình bên phải: độ lớn của độ dốc
Dựa vào độ dốc, trên mỗi ơ, ta tính tốn các véc tơ đặt trưng theo hướng trên từng ơ. Trong đó ta chia không gian hướng thành p chiều vector đặt trưng của ơ. Sau đó chúng ta rời rạc hóa góc hướng nghiêng tại mỗi điểm ảnh vào trong các chiều véc tơ đặc trưng của ơ
Hình 3.6: Kết quả sau khi tính tốn véc tơ đặc trưng cho từng ơ
Trong đó:
Hình bên Trái: dữ liệu hình ảnh được chia theo từng ơ 8x8. Hình ở giữa: độ dốc được biểu diễn trên hình ảnh bằng mũi tên. Hình bên phải: cường độ dốc và hướng dốc được biểu thị bằng số. 4. Chuẩn hóa khối(ví dụ 2x2 ơ)
Bằng cách tính một ngưỡng cường độ trong một khối và sử dụng giá trị đó để chuẩn hóa tất cả các ơ trong khối, các biểu đồ cục bộ sẽ được chuẩn hóa về độ tương phản để tăng cường khả năng nhận dạng. Kết quả sau bước chuẩn hóa sẽ là một vector đặc trưng được tính theo tỉ lệ ánh sáng, do đó nó có tính bất biến cao hơn đối với các thay đổi về điều kiện ánh sáng.
5. Tính tốn vector HOG
Với một ơ, ta sẽ có một véc tơ có kích thước là 9 x 1. Với một khối chứa 2x2 ô, ta sẽ có một véc tơ có kích thước là 9 x 1 x 4 = 36 x 1. Tương tự, với ví dụ một khung hình có 7 khối ngang và 15 khối dọc, khi nối toàn bộ các véc tơ trong khối lại, ta sẽ thu được một vec tơ HOG với kích thước là 36 x 1 x 7 x 15 = 3780 x 1.
Hình 3.7: Biểu diễn các véc tơ chỉ hướng theo HOG thu được sau khi tính tốn
Sau khi hồn thiện các bước trên, ta có thể sử dụng véc tơ HOG để tính tốn và nhận diện đối tượng.
3.2.4 So sánh khả năng nhận diện của hệ thống nhận diện người vào/ra sử dụng mạng nơ ron tích chập với phương pháp HOG đã có dụng mạng nơ ron tích chập với phương pháp HOG đã có
Dựa trên thử nghiệm thực tế, ta thu được hình ảnh là kết quả của hai phương pháp HOG và CNN như sau:
Hình 3.9: Hình ảnh nhận diện bằng phương pháp CNN
So sánh hai phương pháp, ra có thể rút ra được một số kết luận sau:
Ở phương pháp HOG, ta có thể thấy phương pháp này khơng thể nhận diện tồn bộ người xuất hiện trong bức hình, trong đó có nhận diện nhầm vị trí nơi em bé thành một người.
Ở phương pháp CNN, ta có thể thấy phương pháp này nhận diện gần như tồn bộ số người có trong bức hình (trừ một người áo hồng đứng ở cửa hàng). Ngồi ra, hệ thống CNN vẫn có thể nhận diện người với độ lỗi mất hình rất lớn (một người đứng sau cột điện)
Bảng 3.1 Kết quả so sánh nhận diện người 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
Bức ảnh rõ người 95% 73% Kích cỡ người trong bức ảnh rất lớn 96% 62% Kích cỡ người trong bức ảnh rất nhỏ 93% 43% Bức ảnh có người bị che khuất 92% 13%
Có thể thấy rằng, về độ chính xác, phương pháp nhận diện bằng CNN có khả năng nhận diện đối tượng người tốt hơn nhiều so với phương pháp HOG.
3.2.5 Mô tả cơ chế chạy nhận diện người trong lõi máy chủ tính tốn
Bước 1: Dữ liệu là các video được đầy vào hệ thống để xử lý. Hệ thống trích xuất các hình ảnh từ video
Hình 3.10: Hệ thống sử dụng ffmpeg để trích xuất các khung hình trong video
Bước 2: Các hình ảnh lần lượt được đẩy vào lõi nhận diện đối tượng để lấy thông số nhận diện. Thơng số nhận diện gồm có: vị trí và kích cỡ đối tượng được phát hiện
Hình 3.11: Các khung hình lần lượt được hệ thống trích xuất và đưa vào lõi để xử lý.
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ả quá 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 khuôn 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