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

Báo Cáo Đồ Án Cơ Sở 5 - Đề Tài - Xây Dựng Hệ Thống Nhận Diện Khuôn Mặt Và Kết Hợp Báo Động

26 9 0

Đ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

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Thống Nhận Diện Khuôn Mặt Và Kết Hợp Báo Động
Tác giả Nhóm chúng em
Người hướng dẫn PTS. Phạm Nguyễn Minh Nhựt
Trường học Đại Học Đà Nẵng
Chuyên ngành Khoa Học Máy Tính Và Công Nghệ Thông Tin
Thể loại Báo cáo đồ án cơ sở
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 26
Dung lượng 2,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VIỆT HÀN BÁO CÁO ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI XÂY DỰNG HỆ THỐNG NHẬN DIỆN KHUÔN MẶT VÀ KẾT HỢP BÁO ĐỘNG LỜI CẢM ƠN NHẬN XÉT (C[.]

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CƠ SỞ 5

ĐỀ TÀI:

XÂY DỰNG HỆ THỐNG NHẬN DIỆN KHUÔN

MẶT VÀ KẾT HỢP BÁO ĐỘNG

Trang 2

LỜI CẢM ƠN

NHẬN XÉT

(Của cơ quan thực tập, nếu có)

Bold, size 16, xếp sau trang Lời cảm ơn

size 13………

………

………

………

………

………

Nhóm chúng em xin gửi lời cảm ơn chân thành đến thầy Phạm Nguyễn Minh Nhựt – giảng viên hướng dẫn môn đồ án cơ sở (5) đã trang bị cho chúng em những kiến thức, kỹ năng cơ bản cần có để hoàn thành đề tài này

Tuy nhiên trong quá trình nghiên cứu đề tài, do kiến thức chuyên ngành còn hạn chế nên nhóm chúng em vẫn còn nhiều thiếu sót khi tìm hiểu, đánh giá và trình bày về

đề tài Rất mong nhận được sự quan tấm và góp ý của thầy/cô bộ môn để tài của em được đầy đủ và hoàn chỉnh hơn

Xin chân thành cảm ơn

Trang 3

Mục LụcPHẦN I : GIỚI THIỆU 5

PHẦN II : NỘI DUNG 7 Chương 1 : TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT 7

Trang 4

PHẦN I : GIỚI THIỆU

1 Tổng quan

Hệ thống nhận dạng khuôn mặt là một ứng dụng tự động xác định hoặc nhậndạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình video từmột nguồn video Một trong những cách để thực hiện điều này là so sánh các đặc điểmkhuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt

Qua đó để ứng dụng vào trong thực tế hàng ngày của mỗi chúng ta như :

 Hệ thống nhận dạng để điểm danh học sinh trong lớp học

 Hệ thống tích lũy điểm thưởng dành cho khách hàng

 Phân tích nét mặt của khách hàng khi vào cửa hàng

- Tìm hiểu tài liệu về công nghệ nhận diện khuôn mặt trong thực

- Tìm hiểu về thư viện OpenCv trong Android để xây dựng nên App nhậndạng

- Tìm hiểu về Arduino và một số module khác trong việc xây dựng hệ thống báo động

- Xây dựng App nhận diện khuôn mặt kết nối với hệ thống báo động bằngArduino

Phương pháp

- Đọc, dịch , nghiên cứu tài liệu

Trang 5

- Tìm hiểu, nghiên cứu xây dựng hệ thống từ những tài liệu đã có sẵn

Kết quả mong muốn

- Xây dựng báo cáo một cách tổng quan về hệ thống

- Xây dựng thành công “Hệ thống nhận diện khuôn mặt kết hợp với Arduino

để đưa ra cảnh báo”

Trang 6

PHẦN II : NỘI DUNG

Chương 1 : TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT

1 Nhận dạng khuôn mặt là gì ?

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à so sánhcá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ánhvới các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay tròng mắt

2 Cách hoạt động

Cơ bản :

Trước hết, để có thể phân tích khuôn mặt và nhận diện, cần phải tách khuôn mặt

ra khỏi khung cảnh còn lại trước

Tiếp đến, chính là việc phân tích gương mặt Chúng ta nhận diện gương mặtmọi người qua các đặc điểm, hệ thống nhận diện cũng vậy, nhưng nó thực hiện đánhgiá các đặc điểm ở 1 level cao hơn, chính xác hơn là việc cảm nhận bằng mắt như củachúng ta, vì thị giác có thể bị đánh lừa

Mỗi khuôn mặt đều có nhiều điểm mốc, những phần lồi lõm tạo nên các đặcđiểm của khuôn mặt Các hệ thống nhận diện gương mặt định nghĩa những điểm này lànhững điểm nút Mỗi mặt người có khoảng 80 điểm nút Có thể nhận diện một số điểmnút như sau: Khoảng cách giữa 2 mắt ,chiều cao của mũi , độ sâu của hốc mắt ,hìnhdạng xương gò má , độ dài của xương hàm , vv

Một số thuật toán nhận dạng khuôn mặt xác định các đặc điểm khuôn mặt bằngcách trích xuất các ranh giới, hoặc đặc điểm, từ một hình ảnh khuôn mặt của đối tượng

Từ đó các thuật toán sẽ trích xuất được các thông tin, và những tính năng này sau đóđược sử dụng để tìm kiếm các hình ảnh khác với các tính năng phù hợp Trong trường

Trang 7

hợp sử dụng để nhận diện, cần phải lưu lại thông tin khuôn mặt để ghi nhớ trước Cácthuật toán sẽ đơn giản hóa một tập các hình ảnh khuôn mặt và sau đó nén dữ liệukhuôn mặt, chỉ lưu dữ liệu hình ảnh nào là hữu ích cho việc nhận dạng khuôn mặt Khi

đó, muốn nhận diện sẽ so sánh hình ảnh mấu với các dữ liệu khuôn mặt đã lưu

Các thuật toán nhận dạng có thể được chia thành hai hướng chính, là hình học,

đó là nhìn vào tính năng phân biệt, hoặc trắc quang (đo sáng), là sử dụng phương phápthống kê để 'chưng cất' một hình ảnh thành những giá trị và so sánh các giá trị với cácmẫu để loại bỏ chênh lệch

Tuy nhiên, các trường hợp nhận diện thường không phải lúc nào cũng được đođạc trong môi trường ổn định, có thể bị ảnh hưởng ngay chỉ bởi sự thiếu sáng, hay gócnghiêng của khuôn mặt, do đó ảnh hưởng đáng kể đến độ chính xác của kết quả

Nâng cao nhận dạng 3D :

Ngày nay, với sự phát triển của công nghệ, và với xu hướng 3D đang thịnhhành, thì cũng tương tự vậy, chúng ta có nhận dạng khuôn mặt 3 chiều Và tất nhiên,nghe là biết kỹ thuật này sẽ cải thiện được độ chính xác nhờ việc phân tích được nhiềuthông tin để so sánh hơn rồi Kỹ thuật này sử dụng các cảm biến 3D để nắm bắt thôngtin về hình dạng của khuôn mặt, rồi dùng các điểm nổi bật trên khuôn mặt – nơi những

mô cứng và xương nhìn thấy rõ nhất như đường cong của hốc mắt, mũi và cằm đểnhận ra đối tượng Các đặc điểm này là độc nhất đối với mỗi khuôn mặt và không thayđổi theo thời gian

Cách thức sử dụng độ sâu và trục của các phần trên khuôn mặt không bị ảnhhưởng bởi ánh sáng, vì thế việc nhận dạng khuôn mặt 3D có thể được sử dụng cả trongbóng tối và có thể nhận ra khuôn mặt từ nhiều góc độ khác nhau với độ chênh lệch lêntới 90 độ Và nhờ có việc xác định khuôn mặt dựa trên hình ảnh 3 chiều, nên nhậndạng 3D có khả năng xác định 1 khuôn mặt từ nhiều góc nhìn hơn Số lượng các điểm

dữ liệu 3 chiều khiến cho độ chính xác tăng lên đáng kể bởi sự phát triển của các bộcảm biến tinh vi giúp nắm bắt hình ảnh chụp khuôn mặt 3D được tốt hơn Các cảmbiến hoạt động bằng cách chiếu ánh sáng có cấu trúc lên gương mặt Hàng chục hoặcnhiều hơn nữa các bộ cảm biến hình ảnh này có thể được đặt lên trên cùng một conchip CMOS-mỗi cảm biến sẽ thu một phần khác nhau của hình ảnh

Trang 8

Hiện đại thì hại điện, để có thể nhận dạng 3 chiều, ngoài việc phải sử dụng phần mềm3D, hệ thống nhận diện này cần trải qua một loạt bước để nhận diện một đối tượng:

a Nhận dạng

Việc ghi lại một hình ảnh có thể thực hiện bằng cách quét một tấm ảnh 2D sẵn

có, hoặc sử dụng video để có được một hình ảnh 3D sống của đối tượng

b Liên kết

Sau khi đã ghi lại một khuôn mặt, hệ thống này sẽ tính toán vị trí, kích cỡ và tưthế của đầu Như đã đề cập từ trước, hệ thống có thể nhận ra một khuôn mặt ở góc lệchlên tới 90 độ, trong khi với hình ảnh 2D, khuôn mặt của đối tượng phải nghiêng ít nhất

e So sánh

Nếu như hình ảnh này có dạng 3D và cơ sở dữ liệu cũng chứa các hình ảnh 3D,thì việc đối chiếu có thể tiến hành mà không phải thực hiện bất kỳ thay đổi nào đối vớihình ảnh đó Tuy vậy, nếu như hình ảnh vẫn ở dạng 2D thì sẽ có đôi chút khó khănhơn, bởi công nghệ 3D đem lại hình ảnh thực và sống động hơn so với một hình ảnh2D phẳng lì, bất động Nhưng công nghệ mới có thể giải quyết được khó khăn này Ví

dụ, phần bên ngoài và bên trong của con mắt cùng với phần đỉnh mũi sẽ được lấy ra đođạc Sau khi việc đo đạc này hoàn tất, một thuật toán sẽ được áp dụng để chuyển hìnhảnh trong cơ sở dữ liệu sang dạng 2D Sau khi chuyển đổi, phần mềm sẽ so sánh haihình ảnh 2D này với nhau để tìm ra đối tượng

f Xác minh hay nhận diện :

Trang 9

Xác minh có nghĩa là một hình ảnh sẽ được đối chiếu với chỉ 1 hình ảnh trong

cơ sở dữ liệu (tỉ lệ 1:1) Ví dụ như, một hình ảnh của một đối tượng nào đó sẽ được đốichiếu với một hình ảnh trong cơ sở dữ liệu của Uỷ ban phương tiện giao thông để xácminh xem đối tượng đó là ai

Còn nhận diện có nghĩa là một hình ảnh sẽ được đối chiếu với tất cả các hìnhảnh trong cơ sở dữ liệu để tìm ra đối tượng (tỉ lệ 1:N) Khi đó, bạn phải ghi lại hình ảnhđối tượng và so sánh với toàn bộ cơ sở dữ liệu để biết được đối tượng đó là ai

Tuy nhiên, ngay cả một kỹ thuật 3D hoàn hảo cũng có thể gặp khó khăn bởi cácsắc thái biểu cảm trên gương mặt, bởi vì nó có thể gây sai lệch cho sự đo đạc cũng nhưxác định vị trí các điểm cần thiết cho nhận diện

Nâng cao: Phân tích kết cấu da

Một xu hướng khác mới nổi lên đó là kỹ thuật phân tích kết cấu da Quá trìnhnày được gọi là Phân tích cấu trúc bề mặt, cũng hoạt động giống như hệ thống nhậndiện khuôn mặt Đầu tiên, đưa các đường đặc trưng, hình dạng, và các điểm nốt trênlàn da của một người vào một không gian toán học Một mảng da, gọi là dấu da(SkinPrint), sẽ được chụp thành hình ảnh Sau đó, mảng da này được chia nhỏ ra thànhnhiều khối Bằng cách sử dụng thuật toán để chuyển mảng da thành một không giantoán học có thể đo đạc được, công nghệ này sau đó sẽ phân biệt từng đường nét, từng

lỗ chân lông, và cấu trúc thực của bề mặt da Điều này giúp phân biệt được cả một cặpsong sinh giống hệt nhau mà một mình phần mềm nhận dạng khuôn mặt không thểthực hiện được Các thử nghiệm đã chỉ ra rằng, bằng cách kết hợp công nghệ nhậndạng khuôn mặt với công nghệ phân tích cấu trúc da, độ chính xác có thể tăng thêm từ

- Thiếu ánh sáng, đeo kính mát, tóc dài, hoặc một phần khuôn mặt bị che

Trang 10

- Hình ảnh độ phân giải thấp

- Hệ thống sẽ kém hiệu quả nếu biểu hiện khuôn mặt khác nhau, ví dụ như khi

cười lớn cũng có ảnh hưởng Vì vậy nên chụp ảnh hộ chiếu, chứng minh thư, hay khi

đi 1qua cửa hộ chiếu chụp ảnh hộ không cho mình cười là vì thế đấy

Ứng Dụng

a Mở khóa điện thoại

Một loạt các điện thoại trong đó có iPhone hiện đang sử dụng tính năng nhậndạng khuôn mặt để mở khóa điện thoại Công nghệ này là một cách để bảo vệ dữ liệu

cá nhân của bạn một cách an toàn nhất và đảm bảo rằng, nếu điện thoại bị đánh cắp,tội phạm vẫn không thể tiếp cận được các dữ liệu nhạy cảm trên điện thoại bạn

b Quảng cáo thông minh

Nhận dạng khuôn mặt có khả năng làm cho quảng cáo nhắm được đúng mụctiêu hơn bằng cách đưa ra các phỏng đoán về giáo dục về tuổi và giới tính của mọingười Các công ty như Tesco đã có kế hoạch lắp đặt màn hình tại các trạm xăng vớinhận diện khuôn mặt được tích hợp sẵn Tất cả chỉ còn là vấn đề thời gian trước khinhận dạng khuôn mặt trở thành một công nghệ quảng cáo hiện đại

c Thanh toán online

Alipay đã ra mắt hệ thống nhận diện gương mặt “Smile to Pay” đầu tiên trênthế giới tại một cửa hàng của KFC ở Hàng Châu, Trung Quốc

Ant Financial, đơn vị điều hành nền tảng thanh toán điện tử Alipay được dùngtrong các trang mua sắm trực tuyến Tmall và Taobao của Alibaba, vừa triển khai ứngdụng thương mại đầu tiên của hệ thống thanh toán nhận diện gương mặt

Việc ứng dụng “Smile to Pay”, sử dụng công nghệ Face++ do startup Megviiphát triển, cho thấy Trung Quốc, quốc gia đông dân nhất thế giới, đang trở thành môitrường thử nghiệm các ứng dụng và dịch vụ mới nhất

Ngoài ra rất nhiều những ứng dụng khác, được ứng dụng trong hiện tại và sẽphát triển trong tương lai

Trang 11

Chương 2 : TỔNG QUAN VỀ ARDUINO VÀ MỘT SỐ

MODULE

1 Arduino Uno R3

Arduino Uno là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển

Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch được trang bị các

bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộngkhác nhau Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê vềđiện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xâydựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắtled…)

Arduino Uno.

Trang 12

Điện áp đầu vào (giới hạn) 6-20V

Số chân Digital 14 (of which 6 provide PWM output)

- LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13.

Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp(LOW)

VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC).

Trang 13

- 5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).

- 3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA).

- GND: Là chân mang điện cực âm trên board.

- IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thể

đọc điện áp trên chân IOREF Chân IOREF không dùng để làm chân cấp nguồn

Thông số kĩ thuật Arduino.

Trang 14

BỘ NHỚ

Vi điều khiển ATmega328:

- 32 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB.

- 2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai

báo sẽ được lưu ở đây Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM Khimất nguồn dữ liệu trên SRAM sẽ bị mất

- 1 KB cho EEPROM: (Electrically Eraseble Programmable Read Only

Memory): Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khi mấtnguồn

Các chân đầu vào và đầu ra :

- Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ

liệu (TX) TTL

- Ngắt ngoài: Chân 2 và 3.

- PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit

bằng hàm analogWrite ()

- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân này hỗ trợ giao

tiếp SPI bằng thư viện SPI

- LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13.

Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp(LOW)

- TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị

khác

Trang 15

Thông số kĩ thuật Arduino Uno

2 Module Bluetooth HC05 :

HC05.

Trang 16

- Bảo mật Authentication and encryption

- Giao tiếp Bluetooth serial port

- Nhiệt độ làm việc -20*C ~ +75*C

- Kích thước 28 x 15 x 2.35mm

3 Module Relay 1 Kênh 5V :

Relay 1 Kênh 5V

Trang 17

- Module sử dụng Relay tốt, đảm bảo hoạt động ổn định, lâu dài.

- Trên module có opto để cách ly dòng ngược về, hiệu suất ổn định

- Có thể set các mức cao thấp bằng cách thiết lập jumper trên module

- Có Led báo nguồn màu xanh, Led báo trạng thái Relay màu đỏ

- Kết nối module với mạch điều khiển đơn giản

Thông số kĩ thuật :

Điện áp tải tối đa AC 250V-10A / DC 30V-10A

Trang 18

Chương 3 : TỔNG QUAN VỀ OPENCV VÀ MỘT SỐ THƯ

VIỆN SỬ DỤNG VỚI ANDROID

1 Thư viện OpenCV

Nhận diện khuôn mặt sử dụng OpenCV trong Java (Face Detection) là một lĩnhvực nghiên cứu của ngành Computer Vision, thư viện OpenCV cung cấp API

giúp nhận diện khuôn mặt dễ dàng Cách hoạt động của OpenCv:

Thuật toán nhận dạng khuôn mặt xác định các đặc điểm khuôn mặt bằng cáchtrích xuất các ranh giới, hoặc đặc điểm, từ một hình ảnh khuôn mặt của đối tượng Ví

dụ, một thuật toán có thể phân tích các vị trí tương đối, kích thước, và/hoặc hình dạngcủa mắt, mũi, gò má, và cằm

Những tính năng này sau đó được sử dụng để tìm kiếm các hình ảnh khác vớicác tính năng phù hợp.Các thuật toán bình thường hóa một bộ sưu tập các hình ảnhkhuôn mặt và sau đó nén dữ liệu khuôn mặt, chỉ lưu dữ liệu hình ảnh nào là hữu íchcho việc nhận dạng khuôn mặt Một hình ảnh mẫu sau đó được so sánh với các dữ liệukhuôn mặt

Các thuật toán nhận dạng có thể được chia thành hai hướng chính, là hình học,

đó là nhìn vào tính năng phân biệt, hoặc trắc quang (đo sáng), là sử dụng phương phápthống kê để 'chưng cất' một hình ảnh thành những giá trị và so sánh các giá trị với cácmẫu để loại bỏ chênh lệch

2 Camera

Sử dụng thư viện Camera bridge view base để chụp ảnh mẫu tạo thư viện đểxác thực khuôn mặt Những hình chụp trong phần trainning sẽ được OpenCV sử dụngthuật toán để tách khuôn mặt và so sánh khi nhận dạng

Cũng từ những hình được tạo trong phần tranning chúng sẽ được đối chiếu vớinhững khuôn mặt được tách ra trong phần Recognize Lúc này camera scan trực tiếp 1hình ảnh hay một người thật tách khuôn mặt và so sánh với những bức hình đc tạotrước đó để nhận dạng

Ngày đăng: 13/06/2023, 13:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w