Để góp phần vào công cuộc đẩy lùi dịch bệnh trong thời đại công nghệ nhóm chúng em đã nghĩ ra ý tưởng “ Máy nhận diện người không đeo khẩu trang ”.. Mô hình sử dụng camera thu lại hình ả
Trang 1
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CƠ KHÍ - -
ĐỒ ÁN MÔN HỌC CƠ ĐIỆN TỬ
ĐỀ TÀI: NHẬN DIỆN NGƯỜI KHÔNG ĐEO KHẨU TRANG
Giáo viên hướng dẫn: ThS Nhữ Quý Thơ Nhóm sinh viên thực hiện:
Vũ Minh Đức 2018603884 Nguyễn Minh Hoàng 2018605201 Phạm Văn Giang 2018603943
Trang 2LỜI NÓI ĐẦU
Thế kỷ XXI chứng kiến sự phát triển vượt bậc của khoa học công nghệ , đánh dấu sự mở đầu của thời đại công nghệ 4.0 Nhưng bên cạnh đó là những thảm họa về môi trường do con người trực tiếp hoặc gián tiếp tạo ra Điển hình như đại dịch Covid- 19 khởi phát vào cuối thập kỷ thứ 2 đã làm cho hàng trăm triệu người mắc bệnh, cướp đi hàng triệu sinh mạng, gây thiệt hại về kinh tế và cũng như làm chậm tiến độ phát triển của loài người Nó đã tạo ra một thách thức lớn đối với nền khoa học công nghệ của con người để chạy đua và thắng được dịch bệnh Để góp phần vào công cuộc đẩy lùi dịch bệnh trong thời đại công nghệ nhóm chúng em
đã nghĩ ra ý tưởng “ Máy nhận diện người không đeo khẩu trang ”
Sản phẩm là một hệ thống camera nhận diện, giám sát được đặt trước các cổng ra vào của văn phòng, siêu thị, nơi công cộng … để nhận diện những người không đeo khẩu trang và cảnh báo ra ngoài bằng loa Mô hình sử dụng camera thu lại hình ảnh khuôn mặt của người ra vào cổng đưa lên máy tính, sau đó sử dụng phần mềm python và thư viện open cv để xử lý ảnh thu được và cuối cùng là phát tín hiệu ra loa để cảnh báo, giúp nâng cao ý thức của mọi người và góp phần đẩy lùi dịch bệnh
Nhóm em xin chân thành cảm ơn đến các thầy, cô trong bộ môn Cơ Điện
Tử của Trường Đại học Công Nghiệp Hà Nội đã giúp đỡ tạo điều kiện thuận lợi và cung cấp tài liệu để hoàn thành đề tài nghiên cứu này Đồng thời, nhóm em muốn gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn là thầy Nhữ Quý Thơ, thầy đã tận tình hướng dẫn, tạo điều kiện thuận lợi nhất và giúp đỡ nhóm trong suốt quá trình thực hiện đồ án môn Nhóm xin gửi lời cảm ơn đến bạn bè đã hỗ trợ và chia sẽ kinh nghiệm cho nhóm trong thời gian qua Cuối cùng nhóm em xin chúc thầy cô
và cùng toàn thể các bạn trong lớp nhiều sức khỏe và thành công trong mọi công
Trang 3Xin chân thành cảm ơn!
Trang 4CHƯƠNG 1 GIỚI THIỆU CHUNG
1.1 Lịch sử nghiên cứu
Những người tiên phong đầu tiên về công nghệ nhận diện khuôn mặt là Woody Bledsoe, Helen Chan Wolf và Charles Bisson Năm 1964 và 1965, Bledsoe cùng với Wolf và Bisson bắt đầu sử dụng máy tính để nhận diện khuôn mặt con người
Trở lại những năm 2010, Facebook đã bắt đầu triển khai chức năng nhận diện khuôn mặt giúp xác định những người xuất hiện trong ảnh đăng Facebook Tính năng này lập tức gây tranh cãi với các phương tiện truyền thông tin tức, làm dấy lên một loại các bài viết liên quan đến quyền riêng tư cá nhân Tuy nhiên, người dùng Facebook nói chung dường như không bận tâm tới điều này và mỗi ngày, hơn 350 triệu ảnh được đăng tải và gắn thẻ mỗi ngày
Công nghệ nhận diện khuôn mặt ngay sau đó đã được ứng dụng nhiều hơn vào các thiết bị thông minh trong cuộc sống Cụ thể, công nghệ này đã được sử dụng thay cho khóa mở điện thoại FaceID ngay lập tức trở thành từ khóa hot nhất,
và là chìa khóa khiến Iphone X bán chạy hơn bao giờ hết
Bước vào năm 2021, công nghệ nhận diện khuôn mặt đang phát triển ở tốc
độ chóng mặt và việc sử dụng công nghệ này ngày càng trở nên phổ biến hơn Không chỉ là trong những lĩnh vực phổ biến như bán lẻ, văn phòng, an toàn xe buýt, các hãng hàng không… mà còn hiện diện trong ngành y tế
Đặc biệt trong thời kỳ dịch bệnh đang phát triển mạnh mẽ việc kiểm soát số lượng người và nhận diện người là một vấn đề khó khăn vì số lượng người rất lớn
và khó kiểm soát Vì vậy công nghệ nhận diện khuôn mặt là một ứng dụng rất thiết thực vào thời đại này
Trang 5Với tính cấp thiết của các biện pháp phòng ngừa trong tình hình hiện nay,
và mong muốn góp một phần công sức giúp đẩy lùi dịch bệnh, bắt kịp với thời đại nhóm chúng em đã nghĩ ra ý tưởng đề tài “THIẾT BỊ NHẬN DIỆN NGƯỜI KHÔNG ĐEO KHẨU TRANG”
Thiết bị này là để góp phần phát hiện và nhắc nhở những người có hàng vi không đeo khẩu trang hoặc đeo khẩu trang không đúng cách tại những nơi công cộng và đưa ra lời cảnh báo với người đó Nó sẽ giúp nhận diện người không đeo khẩu trang một cách chính xác, linh hoạt và có độ phủ rộng rãi
1.2 Các vấn đề đặt ra
Để giải quyết đề tài nhóm nghiên cứu cần giải quyết một số vấn đề như sau:
- Về cơ khí: Hệ thống phân luồng người di chuyển, chỉ cho phép một người đi trên một lane, hệ thống barie đóng mở cửa tự động Hệ thống đảm bảo kết cấu hợp lý, vững chắc và hiệu quả kinh tế Thiết kế lắp đặt một hệ thống cơ khí có vật liệu đủ bền, dễ dàng kiểm tra bảo dưỡng và thay thế các thiết bị, có tính an toàn cao
- Hệ thống điện điều khiển : hệ thống camrera nhận diện được người không đeo khẩu trang , phát tín hiệu cảnh báo, nhắc nhở ra loa Hệ thống đảm bảo có thiết
kế nhỏ gọn, có độ phân giải cao, camera phổ biến trên thị trường,có vật liệu đủ bền, dễ dàng bảo dưỡng, thay thế và giá thành phù hợp
- Phần mềm lập trình: phần mềm lập trình python lập trình trên máy tính Phần mềm lập trình chính xác, phổ biến, có thể tích hợp nhiều thiết bị, nhiều chương trình, có cấu trúc code rõ ràng, có thư viện đầy đủ
Trang 6- Thử nghiệm và đánh giá: Hệ thống phải đảm bảo độ chính xác cao, phạm vi rộng, đảm bảo vẫn nhận diện được trong trường hợp người đeo khẩu trang không đúng quy cách, hoặc đeo các loại khẩu trang khác nhau
1.3 Phương Pháp Nghiên Cứu
1.3.1 Phương pháp nghiên cứu lý thuyết
• Nghiên cứu qua các kênh thông tin, internet, qua các bài viết trong nước và quốc tế về các ứng dụng của xử lý ảnh để áp dụng vào thiết kế
• Tìm hiểu cơ sở lý thuyết, ứng dụng, viết chương trình điều khiển về xử lý ảnh
• Tìm hiểu về cơ sở lý thuyết nhận diện khuôn mặt
1.3.2 Phương pháp nghiên cứu thực nghiệm
• Thiết kế hệ thống, xây dựng mô hình thực tế
• Sử dụng phương pháp thử sai (Trial & Error) để thử nghiệm và sửa lỗi hệ thống
1.4 Giới hạn nghiên cứu
Với giới hạn của đề tài: “ Nhận diện người không đeo khẩu trang” nhóm nghiên cứu đi sâu vào nghiên cứu những vấn đề chính sau đây
- Xây dựng thành công chương trình xử lý ảnh bằng ngôn ngữ Python và thư viện OpenCV và mô phỏng trên laptop
- Tìm hiểu và thiết kế mô hình hoàn chỉnh nhận diện người không đeo khẩu trang sử dụng camera
Trang 71.5 Ý Nghĩa thực tiễn
Đề tài “ Nhận diện người không đeo khẩu trang’’ đã giúp sinh viên có thêm nhiều kiến thức, kinh nghiệm và có cái nhìn tổng quan nhất về quá trình để thực hiện một đồ án, giúp sinh viên đạt được một số kết quả sau:
- Hiểu được trình tự hoạt động của hệ thống
- Xây dựng được lưu đồ thuật toán điều khiển hệ thống
- Xây dựng thành công chương trình kiểm tra sản phẩm bằng ngôn ngữ Python và thư viện OpenCV và mô phỏng trên laptop
- Xây dựng được mô hình thực tế
CHƯƠNG 2 TỔNG QUAN VỀ CÔNG NGHỆ XỬ LÝ ẢNH
2.1 Lý thuyết xử lý ảnh
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó
Xử lý ảnh là kỹ thuật áp dụng trong việc tăng cường và xử lý các ảnh thu nhận từ các thiết bị như camera, webcam… Do đó, xử lý ảnh đã được ứng dụng và phát triển trong rất nhiều lĩnh vực quan trọng như:
+ Trong lĩnh vực quân sự: xử lý và nhận dạng ảnh quân sự
+ Trong lĩnh vực giao tiếp người máy: nhận dạng ảnh, xử lý âm thanh, đồ họa
+ Trong lĩnh vực an, bảo mật: nhận diện khuôn mặt người, nhận diện vân tay, mẫu mắt, …
Trang 8+ Trong lĩnh vực giải trí: trò chơi điện tử
+ Trong lĩnh vực y tế: Xử lý ảnh y sinh, chụp X quang, MRI,…
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng và phân tích ảnh
Sau đây, ta sẽ xét các bước cần thiết trong quá trình xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới bên ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo Mặt khác ảnh có thể được quét từ vệ tinh chụp trực tiếp bằng máy quét ảnh Hình 4.1 dưới đây mô tả các bước cơ bản trong xử lý ảnh
Ảnh 2-1 Quy trình xử lý ảnh
2.1.1 Thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc trắng đen Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hóa (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh
Trang 9Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều Chất lượng ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)
2.1.2 Tiền xử lý (Image processing)
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn
2.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong
bì thư cho mục đích phân loại bưu phẩm, cần chia các câu chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
2.1.4 Biểu diễn ảnh (Image Representation)
Đây là phần sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết ở các vùng lân cận Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Extration) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phận biệt ký tự này với ký tự khác
Trang 102.1.5 Nhận dạng và nội suy ảnh
Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể nội suy thành mã điện thoại Có nhiều cách phân loại ảnh khác nhau về ảnh Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
+ Nhận dạng theo tham số
+ Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người,…
2.1.6 Cơ sơ tri thức (Knowledge Base)
Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người
Vì vậy, ở đây các cơ sở tri thức được phát huy
2.1.7 Mô tả ( biểu diễn ảnh)
Ảnh sau khi số hóa sẽ lưu vào bộ nhớ, hoặc truyền sang các khâu tiếp theo
để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường,
Trang 11Ảnh 2.1-2 Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối
2.2 Cơ sở lý thuyết về nhận dạng khuôn mặt 2.2.1 Cơ sở lý thuyết nhận diện khuôn mặt
Với bài toán này có nhiều cách để làm và mỗi cách có ưu nhược điểm khác nhau
Các cách triển khai gồm:
Cách 1: Phát hiện khuôn mặt, sau đó detect khẩu trang trên mặt (bằng
SSD, YOLO…) Nếu không có khẩu trang thì cảnh báo Ưu điểm là độ chính xác khác cao nhưng nhược điểm là cần phải có data về face mask để train
Trang 12Ảnh 2.2.1-1 Phương pháp nhận diện khuôn mặt theo cách truyền thống
Cách 2: Phát hiện khuôn mặt sau đó sử dụng landmark để detect mouth
area Sau đó tính toán average saturation và compare với 1 threshold do chúng ta đặt ra để check xem có đeo khẩu trang hay không Cách náy có ưu điểm là không cần data, tốc độ chạy cao hơn cách 1 nhưng đôi khi do điều kiện ánh sáng thay đổi thì có thể không detect chuẩn
Trang 13Đối với yêu cầu bài toán đặt ra chúng ta sử dụng barie phân làn và chỉ nhận diện một khuôn mặt trong một khung hình, không mất công đoạn phân tách các khuôn mặt trong cùng một khung hình ra Vì vậy lựa chọn phương pháp 2 sẽ phù hợp và đơn giản hơn, không cần nhiều data và mất công đoạn train
2.2.2 Các công cụ hỗ trợ lập trình
+ Phần mềm lập trình:
Hiện nay xử lý ảnh được giảng dạy trường đại học và ứng dụng vào thực
tế rất nhiều như các phần mềm chỉnh sửa hình ảnh hay nhận biết khuôn mặt Chính vì thế có rất nhiều công cụ để chúng ta lập trình ứng dụng vào thực tế, Như phải kể đến Matlap, hay ngôn ngữ Python, C++, Java, …điểm chung của các ngôn ngữ là đều lập trình trên thư viện mã nguồn mở Open CV
Trên quan điểm cá nhân nhóm xin trình bày một số ý kiến về các ngôn ngữ lập trình khi xử lý ảnh như sau:
- C++: Đây là ngôn ngữ chính, được ưa chuộng nhất vì nó nhanh, nhiều tùy chọn, có IDE là Visual Studio quá tốt Người mới học sẽ khá bối rối với các thiết lập của nó, nhưng sau này các thiết lập đó rất hữu ích
để tối ưu hóa sản phẩm
- Python: Do ngôn ngữ này viết code ngắn gọn nhất, ít phải cài đặt, thiết lập nên Python được dùng để demo OpenCV nhiều nhất Khi code bằng Python thì dễ dàng lập trình trên nhiều hệ điều hành
- Java: Cũng tương tự C++, tốc độ nhanh, đa nền tảng
- Android: Là tương lai của OpenCV vì tích hợp sẵn camera, tiện lợi, linh hoạt
Trang 14=>Trong đề tài này nhóm quyết định chọn ngôn ngữ lập trình Python vì ngôn ngữ này viết code ngắn gọn đồng thời là ngôn ngữ được sử dụng phổ biến
nhất với Open CV
+ Công cụ hỗ trợ lập trình:
Để giải bài toán xử lý bằng hình ảnh, ta có rất nhiều giải pháp khác nhau
Từ phần cứng cho tới các phần mềm Ta có thể điểm qua một vài thiết bị xử lý ảnh hay được sử dụng và có hiệu quả cao như sau:
Máy tính PC, laptop
Đây là một trong những phương pháp đơn giản nhất Có thể tận Dụng các mainboard máy tính hay thậm chí các máy tính xách tay với chức năng là một đơn
vị xử lý ảnh, và đưa ra quyết định Với việc kết nối một camera hay webcam ta hoàn toàn chủ động trong quá trình nhận xử lý ảnh Các giao tiếp ngoại vi phổ biến như UART, Parallel, USB hay KeyboarD Việc sử dụng PC, laptop sẽ có những thu nhược điểm sau:
* Ưu điểm:
- Rất dễ dàng phát triển các ứng dụng dựa trên các phần mềm lập trình như
C, VisualC, VisualBasic , rất phù hợp cho những người mới bắt đầu nghiên cứu
về lĩnh vực xử lý ảnh đặc biệt là hiện nay có rất nhiều thư viện mở phục vụ cho xử
lý ảnh, do đó rất thuận tiện cho người mới bắt đầu tìm hiểu về xử lý ảnh
- Có tốc độ xử lý không cao
- Dễ Dàng lập trình, kiểm lỗi • Hệ điều hành quen thuộc (winDows/linux)
- Các công cụ lập trình biên Dịch phổ biến (C, CE, VisualC, Visual Basic )
* Nhược điểm: