1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Bài Tập Lớn Đề Tài Nhận Diện Khuôn Mặt Mở Khóa Cửa.pdf

26 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CƠ KHÍ

BÁO CÁO BÀI TẬP LỚNMÔ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ướngdẫn:

TS Mạc Thị ThoaTS Phạm Đức AnNhóm sinh viên thực hiện: Nhóm 3

Trang 2

BẢ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 3Lớp: 129476

1

Trang 3

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 173.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 4

MỞ ĐẦUA Đặ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 5

Tì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 6

CHƯƠ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ể đượcso 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ểmcụ 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 7

Truyề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ưỡngMáy ATM

6

Trang 8

Quảng cáo kỹ thuật sốAn toàn xe buýtCác hãng hàng không

Trải nghiệm khách hàng được cá nhân hóaCử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.

Khi sử dụng để đếm người trong bán lẻ, công nghệ nhận diện khuôn mặt còncó 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ánlẻ thông qua các giải pháp sau:

7

Trang 9

Nhận diện khách hàng Vip/Loyalty

Xác định giới tính & độ tuổi khách hàngPhát hiện đối tượng khả nghi, đảm bảo an ninhLoại bỏ nhân viên khỏi lưu lượng người ra vào cửa hàngCá 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 10

CHƯƠNG 3: QUY TRÌNH THỰC HIỆN3.1 Các phần mềm sử dụng

3.1.1 OpenCVa Khái niệm

OpenCV là tên viết tắt của open source computer vision library – có thể đượchiểu là một thư viện nguồn mở cho máy tính Cụ thể hơn OpenCV là kho lưu trữcác mã nguồn mở được dùng để xử lý hình ảnh, phát triển các ứng dụng đồ họatrong thời gian thực.

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.

Hình 2.1- Xử lí ảnh bằng OpenCV

Thư viện OpenCV được phát hành với giấy phép BDS Do đó các dịch vụ nó cung cấp là hoàn toàn miễn phí và được hạn chế tối đa các rào cản thông thường Cụ thể, bạn được phép sử dụng phần mềm này cho cả hoạt động thương mại lẫn phi thương mại OpenCV sở hữu giao diện thiên thiện với mọi loại ngôn ngữ lập trình, ví dụ như C++, C, Python hay Java… Ngoài ra, nó cũng dễ dàng tương thích với các hệ điều hành khác nhau, bao gồm từ Windows, Linux, Mac OS, iOS cho đến cả Android.

9

Trang 11

Kể 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 12

Hình 2.2- Ứng dụng giúp định vị hình ảnhC Ngôn ngữ để lập trình OpenCV

C++PythonJava C#

Ngôn ngữ Android

Trong bài tập lớn này, chúng em sử dụng Python để lập trình Nhờ các câu lệnh ngắn gọn cùng thuộc tính đơn giản, Python giúp cho quá trình phát triển phần mềmOpenCV diễn ra dễ dàng hơn Sử dụng ngôn ngữ Python sẽ là biện pháp tốt nhất vìchúng em là những người không mạnh mảng lập trình Điểm trừ của Python là vì có 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 13

Hình 2.3- Phần mềm OpenCV

3.1.2 DB Browser (SQLite)a Khái niệm

SQLite là một hệ quản trị cơ sở dữ liệu hay còn gọi là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, khác với các hệ quản trị khác như MySQL, SQL Server, Ocracle,PostgreSQL… SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine truyền thống, không cần mô hình client-server nên rất nhỏ gọn SQLite được sử dụng vào rất nhiều chương trình từ desktop đến mobile hay là website.

Hì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 14

Vớ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 để nhúng vào các dự án.

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 15

Hình 2.5- Sơ đồ khối quy trình thực hiện3.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 17

Có 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 databaseTạ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 18

Sau 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 21

3.2.5 Mở cửa

Xây dựng mô hình cánh cửa:

20

Trang 22

Sơ đồ 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 23

chí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ủa2 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 24

Code 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 25

CHƯƠ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

Ngày đăng: 29/05/2024, 18:32

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w