So với nhận dạng vân tay và mống mắt, nhận dạng mặt có nguồn dữ liệu phong phú hơn bạn có thể nhìn thấy mặt người ở bất cứ tấm ảnh, video clip nào liên quan tới con người trên mạng và ít
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CƠ KHÍ
***************************************
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: XỬ LÍ ẢNH
ĐỀ TÀI: NHẬN DIỆN KHUÔN MẶT MỞ KHÓA CỬA
Giảng viên hướng
Trang 2BẢN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Giáo viên hướng dẫn:
Sinh viên thực hiện: Nhóm 3
Lớp: 129476
1 Nội dung
Nhóm em đã thực hiện bài tập lớn này với hai nội dung chính là “Tìm hiểu
về nhận diện khuôn mặt” và “Kết nối dữ liệu để mở cửa”
2 Nhận xét của giáo viên hướng dẫn
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Hà Nội, ngày………tháng………năm Giáo viên hướng dẫn ký tên
1
Trang 3MỤC LỤC
CHƯƠNG 1: N i dung
MỞ ĐẦU 3
A Đặt vấn đề 3
B Mục đích nghiên cứu 3
C Phạm vi nghiên cứu 3
D Bố cục báo cáo 4
CHƯƠNG 2: TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT 5
2.1 Khái niệm và lịch sử 5
2.2 Mục đích nhận diện khuôn mặt 7
2.3 Ưu điểm và nhược điểm 7
CHƯƠNG 3: QUY TRÌNH THỰC HIỆN 8
3.1 Các phần mềm sử dụng 8
3.1.1 OpenCV 8
3.1.2 DB Browser (SQLite) 11
3.2 Quy trình thực hiện 13
3.2.1 Tìm đối tượng, ghi hình 13
3.2.2 Tạo DataBase, Chuyển sang màu gray và lưu vào database 15
3.2.3 Tạo lớp training dữ liệu => Chuyển tập ảnh gray thành tập dữ liệu dạng ma trận 17 3.2.4 Nhận diện 17
3.2.5 Mở cửa 20
Xây dựng mô hình cánh cửa: 20
CHƯƠNG 4: KẾT LUẬN 24
2
Trang 4MỞ ĐẦU
A Đặt vấn đề
Nhận dạng mặt người (Face recognition) là một lĩnh vực nghiên cứu của ngànhComputer Vision, và cũng được xem là một lĩnh vực nghiên cứu của ngànhBiometrics (tương tự như nhận dạng vân tay – Fingerprint recognition, hay nhậndạng mống mắt – Iris recognition) Xét về nguyên tắc chung, nhận dạng mặt có sựtương đồng rất lớn với nhận dạng vân tay và nhận dạng mống mắt, tuy nhiên sựkhác biệt nằm ở bước trích chọn đặt trưng (feature extraction) của mỗi lĩnh vực.Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên thực tế một cách rộng rãi thì nhận dạng mặt người vẫn còn nhiều thách thức và vẫn là một lĩnh vực nghiên cứu thú vị với nhiều người So với nhận dạng vân tay và mống mắt, nhận dạng mặt có nguồn dữ liệu phong phú hơn (bạn có thể nhìn thấy mặt người ở bất cứ tấm ảnh, video clip nào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có kiểm soát hơn (để thực hiện nhận dạng vân tay hay mống mắt, dữ liệu input lấy từ con người đòi hỏi có sự hợp tác trong môi trường có kiểm soát)
Hiện nay các phương pháp nhận dạng mặt được chia thành nhiều hướng theo các tiêu chí khác nhau: nhận dạng với dữ liệu đầu vào là ảnh tĩnh 2D (still image based FR) là phổ biến nhất, tuy nhiên tương lai có lẽ sẽ là 3D FR (vì việc bố trí nhiều camera 2D sẽ cho dữ liệu 3D và đem lại kết quả tốt hơn, đáng tin cậy hơn), cũng có thể chia thành 2 hướng là: làm với dữ liệu ảnh và làm với dữ liệu video.Hiểu rõ tầm quan trọng của Xử lí ảnh nhận diện khuôn mặt, với kiến thức học được và sự giúp đỡ của các thầy cô hướng dẫn trong học phần Xử Lí Ảnh, nhóm 3 chúng em xin được phép trình bày đề tài của mình trong bài tập lớn môn học
“Nhận diện khuôn mặt mở khóa cửa”.
B Mục đích nghiên cứu
Mục đích của đề tài là tìm hiểu về phương thức và cách mã hóa một khuôn mặt,tiến hành mô phỏng và thực nghiệm hoạt động của chúng Từ nghiên cứu thực tế giúp em nâng cao kiến thức, tiếp cận những vấn đề mới của thực tế cũng như làm nền tảng vững chắc cho sau này
C Phạm vi nghiên cứu
Nội dung của nghiên cứu gồm các phần sau:
Tìm hiểu về cách tạo dữ liệu và mã hóa 1 khuôn mặt
3
Trang 5Tìm hiểu về cách kết nối dữ liệu để mở cửa
D Bố cục báo cáo
Báo cáo bài tập được trình bày thành 3 chương với nội dung cơ bản của từngchương được tóm tắt như sau:
Chương 1 – Tổng quan về đề tài: Giới thệu chung về xử lí ảnh nhận diện
khuôn mặt, nêu lên tầm quan trọng và các ứng dụng của xử lí ảnh nhận diện khuôn mặt
Chương 2 – Quy trình thực hiện: Nêu các bước thực hiện và các phần mềm
cần dùng
Chương 3 – Kết luận: Tổng kết những kết quả đạt được.
4
Trang 6CHƯƠNG 2: TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT2.1 Khái niệm và lịch sử
Hệ thống nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác địnhhoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khunghình video từ một nguồn video Một trong những cách để thực hiện điều này là sosánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu vềkhuôn mặt
Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được
so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vântay hay tròng mắt
Lịch sử phát triển “Nhận dạng khuôn mặt” có thể tóm tắt ngắn gọn với những dấu mốc quan trọng như sau:
“Bình minh” của công nghệ Nhận diện khuôn mặt – những năm 1960
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 Do kinh phí của dự án được bắt nguồn từ một cơ quan tình báo giấu tên, phần lớn công việc đều không được công bố Tuy nhiên, sau này người ta tiết lộrằng hầu hết các công việc đều liên quan đến việc đánh dấu bằng tay các điểm khác nhau trên khuôn mặt như tâm mắt, miệng, v.v Khoảng cách giữa các điểmmốc cũng được tự động tính toán và so sánh giữa các hình ảnh khác nhau để xác định danh tính
Bắt đầu quá trình nâng cao độ chính xác của công nghệ – những năm 1970
Tiếp tục từ công việc ban đầu của Bledsoe, vào năm 1970, Goldstein, Harmon
và Lesk đã mở rộng phạm vi của công việc bằng cách phân tích những đặc điểm
cụ thể như màu tóc, độ dày của môi để phục vụ cho công việc nhận diện khuôn mặt
Chương trình FERET – những năm 1990/2000
Cơ quan Dự án Nghiên cứu Tiên tiến Quốc phòng (DAPRA) và Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) đã triển khai chương trình Công nghệ Nhận diện Khuôn mặt (FERET) vào đầu những năm 1990 để khuyến khích thị trường của công nghệ này Dự án liên quan đến việc tạo ra một cơ sở dữ liệu về hình ảnh khuôn mặt Trong bộ thử nghiệm, có tới 2.413 ảnh tĩnh đại diện cho
856 người Chương trình này là bước ngoặt lớn cho công nghệ nhận diện khuônmặt và những ngành nghề liên quan tới nó
5
Trang 7Truyền thông xã hội – 2010 – Hiện tạ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ínhnă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ấylê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ườidù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
Iphone X – 2017
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
Hình 1.1: Công nghệ xử lí ảnh
Tương lai của công nghệ nhận diện khuôn mặ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 Một số ngành nghề sử dụng công nghệ này bao gồm:
Bán lẻ
Khách sạn và Khu nghỉ dưỡng
Máy ATM
6
Trang 8Quảng cáo kỹ thuật số
An toàn xe buýt
Các hãng hàng không
Trải nghiệm khách hàng được cá nhân hóa
Cửa hàng không cần nhân viên
Sử dụng công nghệ này một cách chính xác có thể tạo ra những khác biệt to lớn cho cuộc sống của chúng ta
Trong suốt quá trình phát triển, có rất nhiều Humanoid Robot được phát triển khác nhau Ngày nay, Robot hình người vẫn được nghiên cứu, phát triển không ngừng để phục vụ nhu cầu của con người
Ứng dụng truy tìm tội phạm, tìm người mất tích
Mở khóa các hệ thống an ninh bảo mật cao
2.3 Ưu điểm và nhược điểm
Khi sử dụng để đếm người trong bán lẻ, công nghệ nhận diện khuôn mặt còn
có thể cung cấp thông tin cá nhân của từng khách hàng cho doanh nghiệp giúpdoanh nghiệp có dữ liệu đưa ra các chiến lược tiếp thị cá nhân hóa đến khách hàng
Cụ thể hiện nay, công nghệ nhận diện khuôn mặt đã được ứng dụng trong bán
lẻ thông qua các giải pháp sau:
7
Trang 9Nhận diện khách hàng Vip/Loyalty
Xác định giới tính & độ tuổi khách hàng
Phát hiện đối tượng khả nghi, đảm bảo an ninh
Loại bỏ nhân viên khỏi lưu lượng người ra vào cửa hàng
Cá nhân hóa màn hình quảng cáo
Chính vì vậy, rất khó để cam kết độ chính xác về thông tin khi sử dụng camerađếm người
8
Trang 10CHƯƠNG 3: QUY TRÌNH THỰC HIỆN
OpenCV cho phép cải thiện tốc độ của CPU khi thực hiện các hoạt động real time Nó còn cung cấp một số lượng lớn các mã xử lý phục vụ cho quy trình của thị giác máy tính hay các learning machine khác.
9
Trang 11Kể từ lần đầu xuất hiện từ năm 1999, giờ đây OpenCV đã sở hữu đội ngũ ngườidùng hùng hậu, con số ước tính có thể lên tới 47.000 người Tất cả là nhờ những
ưu điểm vượt trội của OpenCV
b Ứng dụng của OpenCV
OpenCV được cho là một phần mềm đa nhiệm Nó được ứng dụng trong rấtnhiều trường hợp khác nhau Ví dụ, ta sẽ nói về các phần mềm định vị, bản đồ nóichung Hẳn rằng trong chúng ta ai cũng đã có ít nhất một lần cần sử dụng đến cácmap online đúng không Bạn sử dụng các map để tìm đường, tra cứu tình hình giaothông hoặc đơn giản là xem xét các hình ảnh thực tế của địa điểm cần đến Nhữnglúc như vậy, OpenCV đóng vai trò là nhà cung cấp dữ liệu hình ảnh cho các app vềMap này OpenCV sẽ đem đến cho người dùng hình ảnh về đường phố hay các cănnhà, con người xung quanh địa điểm được chỉ định
OpenCV còn được dùng để khởi tạo ra những hình ảnh 3 chiều phức tạp Hoạt động này rất được yêu thích, nhất là trong thời đại trí tuệ nhân tạo AI phát triển như thế này
Thậm chí OpenCV xuất hiện cả trong lĩnh vực y tế, nghiên cứu khoa học Nó cho phép phân tích các hình ảnh ở mức độ rất tinh vi Điều này giúp ích rất nhiều cho sự phát triển của các ngành nghề cao cấp
Đối với các công nghệ hiện đại, OpenCV cũng là một yếu tố không thể thiếu Tất cả những ứng dụng công nghệ như robot, xe tự lái, bảng cảm ứng thông minh… đều có sự góp mặt của OpenCV trong khâu xử lý hình ảnh Ví dụ gần gũi nhất trong cuộc sống có thể kể đến hệ thống mở khóa điện thoại bằng cách nhận diện khuôn mặt người dùng
10
Trang 12có cấu tạo quá đơn giản nên một số tính năng cần sự phức tạp sẽ bị hạn chế.
11
Trang 13Hình 2.4- Hình ảnh SQLite
b.Ưu nhược điểm
* Ưu điểm
SQLite không cần mô hình client – server để hoạt động
SQLite không cần phải cấu hình tức là bạn không cần phải cài đặt
12
Trang 14Với SQLite database được lưu trữ trên một tập tin duy nhất.
SQLite hỗ trợ hầu hết các tính năng của ngôn ngữ truy vấn SQL theo chuẩn SQL92
SQLite rất nhỏ gọn bản đầy đủ các tính năng nhỏ hơn 500kb, và có thể nhỏ hơn nếu lược bớt một số tính năng
Các thao tác dữ liệu trên SQLite chạy nhanh hơn so với các hệ quản trị cơ sở
dữ liệu theo mô hình client – server
SQLite rất đơn giản và dễ dàng sử dụng
SQLite tuân thủ 4 tính chất ACID (là tính nguyên tổ (Atomic), tính nhất quán (Consistent), tính cô lập (Isolated), và tính bền vững (Durable) ).Với đặc tính nhỏ gọn, truy xuất dữ liệu nhanh SQLite thường được sử dụng
SQLite không phải là lựa chọn hoàn hảo để đáp ứng các nhu cầu xử lý trên một khối lượng dữ liệu lớn, phát sinh liên tục
3.2 Quy trình thực hiện
13
Trang 15Hình 2.5- Sơ đồ khối quy trình thực hiện
3.2.1 Tìm đối tượng, ghi hình
Trong quy trình này, từ camera máy tính nhóm sẽ thu thập được video dữ liệu của người dùng, khi đó ảnh khuôn mặt được trích xuất ra và giới hạn bằng ô vuôngmàu xanh
14
Trang 17Có thể lựa chọn số lượng ảnh trong kho dữ liệu Ở đây nhóm sẽ đặt số ảnh nhận diện là 500 ảnh.
3.2.2 Tạo DataBase, Chuyển sang màu gray và lưu vào database
Tạo DataBase:
- Khởi động DB Brower for SQLite
- Tạo bảng bao gồm 2 trường ID và Name
- Cài đặt đặc điểm của 2 trường lần lượt là Interger và Text
Chuyển ảnh Gray và lưu vào file DataSet1:
16
Trang 18Sau khi thu được 500 ảnh từ camera máy tính, các ảnh sẽ được chuyển sang màu Gray và lưu vào file thư mục có tên là DataSet1.
3.2.3 Tạo lớp training dữ liệu => Chuyển tập ảnh gray thành tập dữ liệu dạng ma trận
Lấy 500 ảnh trong thư mục DataSet1 vừa lưu và chuyển chúng sang dưới dạng ma trận
17
Trang 193.2.4 Nhận diện
Trong bước nhận diện bao gồm 2 quy trình dưới đây:
- Trích xuất lại camera máy tính:
- So sánh dữ liệu ảnh và kho dữ liệu trong file thư mục Dataset1:Nếu ĐÚNG: Hiện thị tên người dùng;
Nếu SAI: Hiện thị Unknow
18
Trang 213.2.5 Mở cửa
Xây dựng mô hình cánh cửa:
20
Trang 22Sơ đồ khối cửa tự động
Dựa trên những giới thiệu về tổng quan và cấu tạo của các hệ thống cửa tự độnghiện nay, nhóm đề xuất một ý tưởng xây dựng mô hình cửa tự động (H2.6) với sơ
đồ nguyên lí các chi tiết, bộ phận cơ khí như sau:
Hình 2.6- Sơ đồ nguyên lí các chi tiết cơ khí.
Trên H2.6 đã mô tả các chi tiết cơ khí của hệ thống cửa tự động Tấm hiên trước được mô tả như bức tưởng của hệ thống cửa ngăn cách hai phía trong và ngoài Khi động cơ 2 quay, thông qua 2 pully (1 cái được gắn trên trục động cơ
21
Trang 23chính, 1 cái được gắn ở cuối hành trình) chuyển động quay của động cơ được truyền lên dây đai Dây đai có 2 nửa, nửa trên và nửa dưới Chiều chuyển động của
2 nửa này luôn ngược nhau và phụ thuộc vào chiều quay của động cơ chủ động Khi động cơ quay theo chiều kim đồng hồ, nửa trên chuyển động sang phải, nửa dưới chuyển động sang trái, khi đó cánh cửa A và B được gắn với mỗi nửa dây đai
sẽ chuyển động ngược chiều nhau và khi đó cửa mở Còn khi động cơ quay ngược lại thì đó chính là lúc cửa đóng
Ngoài ra, trên hệ thống còn được gắn thêm công tắc hành trình, công tắc hành trình có tác dụng cảnh báo cánh cửa A hoặc B đã đi đến điểm giới hạn
Cảm biến chuyển động sẽ nhận biết lúc có người đi qua Cánh cửa sẽ tự động đóng lại sau 5s nhận biết được chuyển động
Hình 2.7- Các linh kiện cho cửa tự động
Code thiết lập hàm Opendoor:
Code kiểm tra tính đúng sai của người được nhận diện đang đi vào
22
Trang 24Code gọi hàm mở cửa khi cảm biến chuyển động bắt được hoạt động của người đi ra.
23
Trang 25CHƯƠNG 4: KẾT LUẬN
Trên đây là bản báo cáo môn học Xử lí ảnh của nhóm 3 chúng em Đây là một
đề tài có tính thực tế cao, trong thời đại công nghiệp hóa hiện đại hóa đất nước, ngày càng phát triển với sự cạnh tranh không ngừng từ các nước trên thế giới Đòi hỏi năng suất và chất lượng phải được cải thiện nhờ dây chuyền máy móc hiện đại thay thế lao động thủ công của con người
Như vậy trong báo cáo chúng em đã được tìm hiểu được cách xây dựng một môhình hệ thống cửa tự động xử lí ảnh, từ thiết kế hệ thống cơ khí đến lập trình điều khiển hoạt động Công việc hoàn thành bao gồm:
- Tổng quan về xử lí ảnh;
- Dựng mô hình 3D bằng Solidworks;
- Tạo được kho dữ liệu của nhóm;
- Trích xuất, nhận diện được khuôn mặt các thành viên trong nhóm;
- Lập trình điều khiển cửa hoạt động như mong muốn
Qua đề tài trên em đã biết cách vận dụng những kiến thức chuyên môn được đào tạo ở trường Đại học Bách Khoa Hà Nội trong thời gian qua vào với thực tế cuộc sống nhất là với công nghiệp Không chỉ vậy qua bài tập lớn này chúng em cũng học được rất nhiều như kĩ năng làm việc nhóm, giải quyết vấn đề, tìm tài liệu,viết báo cáo… rất có ích cho sau này Một lần nữa chúng em xin chân thành cảm
ơn sự hướng dẫn tận tình của thầy Phạm Đức An và cô Mạc Thị Thoa trong bộ môn Cơ Điện Tử đã giúp chúng em hoàn thành báo cáo này
Do giới hạn về thời gian cũng như kiến thức trong báo cáo, chúng em mới đã giải quyết một số vấn đề cơ bản trong việc thiết kế hệ thống cửa tự động sử dụng
xử lí ảnh Tuy nhiên, ngoài ra còn rất nhiều vấn đề cần phải giải quyết và khắc phục để có thể trở thành một sản phẩm hoàn thiện và áp dụng tốt, phục vụ tốt trongcuộc sống nói chung và ngành công nghiệp nước nhà nói riêng Vì vậy chúng em mong muốn quý thầy cô và các bạn đóng góp ý kiến để đề tài này hoàn thiện hơn nữa
Chúng em xin chân thành cảm ơn!
24