Khoảng cách Euclid

Một phần của tài liệu Nhận dạng khuôn mặt người và ứng dụng trong bảo toàn thông tin (Trang 35)

Khoảng cách Euclid giữa hai điểm p v{ q l{ chiều d{i đoạn thẳng . Trong hệ tọa độ Descartes, nếu p = (p1, p2,..., pn) v{ q = (q1, q2,..., qn) l{ hai điểm trong không gian Euclid n chiều, thì khoảng c|ch từ p đến q bằng:

Dạng chuẩn Euclid l{ khoảng c|ch của một điểm đến điểm gốc trong không gian Euclid:

trong đó phương trình sau cùng l{ tích vô hướng. Đ}y l{ chiều d{i của p, khi ta xem nó l{ một Véc-tơ Euclid có gốc nằm ở gốc tọa độ. Khoảng c|ch khi đó bằng

36

Chương 3: NHẬN DẠNG MẶT NGƯỜI VÀ VẤN ĐỀAN TOÀN THÔNG TIN

3.1. Vấn đềantoàn thông tin

Nguy cơ mất an to{n thông tin do nhiều nguyên nh}n, đối tượng tấn công đa dạng. Thiệt hại từ những vụ tấn công mạng l{ rất lớn, đặc biệt l{ những thông tin thuộc lĩnh

vực kinh tế, an ninh, quốc phòng… Do đó, việc x}y dựng h{ng r{o kỹ thuật để ngăn chặn những truy cập tr|i phép trở th{nh nhu cầu cấp b|ch trong c|c hoạt động truyền

thông.

Theo so ́ lie ̣u của CERT (Computer Emegency Response Team: Đo ̣i cáp cứu máy tính), so ́ lượng các vụ tán co ng tre n Internet mõi ngày mo ̣t nhièu, qui mô của chúng mõi ngày mo ̣t lớn và phương pháp ta ́n co ng ngày càng hoàn thie ̣n. Ví dụ cùng lúc tin ta ̣c đã tán co ng vào cả 100 000 máy tính có ma ̣t tre n mạng Internet, những máy tính của các co ng ty, các trường học, các cơ quannhà nư- ớc, các tỏ chức qua n sự, các nhà ba ng, ... cùng lúc ngưng hoạt đo ̣ng.

Tóm lại, sự ph|t triển không ngừng của lĩnh vực công nghệ thông tin đ~ tạo điều kiệnthuận lợi cho mọi mặt của đời sống x~ hội, bên cạnh những mặt thuận lợi, cũng có nhiềunguy cơ về an to{n, bảo mật thông tin dữ liệu.

Đe ̉ giải quye ́t tình hình tre n, An toàn thông tinđã được đa ̣t ra cáp thiét. Mục tiêu của An toàn thông tin:

* Bảo đảm bí mật (Bảo ma ̣t):

Bảo đảm tho ng tin “khó” bị lo ̣ (“khó” thể hiểu được) đo ́i với người kho ng được phép. Người kho ng được phép “khó” th ể hiểu (đọc) được nội dung thông tin.

* Bảo đảm toàn vẹn (Bảo toàn):

37

Nga n cha ̣n hay hạn che ́ vie ̣c bo ̉ sung, loại bỏ và sửa đ ổi dữ lie ̣u kho ng được phép. (Họ có thể hiểu được nội dung thông tin, nhưng “khó” thể thay đổi được nó).

* Bảo đảm xác thực (X|c minh, Chứng thực): + Xác thực đúng thực thẻ càn két nói để giao dịch.

+ Xác thực đúng thực thẻ có trách nhie ̣m v ề no ̣i dung tho ng tin (Xác thực đúng nguòn go ́c của TT).

* Bảo đảm sẵn sàng: Thông tin sa ̃n sàng cho người dùng hợp pháp.

Các giải pháp bảo đảm An toàn thông tin.

- Phương pháp che gia ́u, bảo đảm toàn vẹn và xác thực thông tin .

+ ”Che” dữ lie ̣u (Mã hóa): thay đo ̉i hình dạng dữ lie ̣u go ́c, người khác “khó” nha ̣n ra.

M~ ho| l{ “che” đi “ý nghĩa” của thông tin.

+ “Gia ́u” dữ lie ̣u: Ca ́t gia ́u dữ lie ̣u trong bản tin khác. Giấu tin l{ “giấu” đi “sự hiện diện” của thông tin. + Bảo đảm toàn vẹn và xác thực tho ng tin.

Kỹ thuật: Mã hóa, H{m băm, gia ́u tin, ký só, thủy ký,..

Giao thức bảo toàn tho ng tin, Giao thức xác thực tho ng tin, ...

- Phương pháp kie ̉m soát lo ́i vào ra của thông tin.

+ Kie ̉m soát, nga n cha ̣n các tho ng tin vào ra He ̣ tho ́ng máy tính.

+ Kie ̉m soát, ca ́p quye ̀n sử dụng các tho ng tin trong He ̣ tho ́ng máy tính. + Kie ̉m soát, tìm die ̣t “sa u bọ” (Virus, “Trojan horse”,..) vào ra He ̣ thóng máy tính.

Kỹ thuật: Ma ̣t kha ̉u (PassWord), Tường lửa (FireWall),

Mạng rie ng ảo (Virtual Private Network), Xác thực thực thẻ, Ca ́p quye ̀n hạn.

- Phát hiện và xử lý các lỗ hổng trong An toàn thông tin .

+ Các “lõ hỏng” trong các Thua ̣t toán hay giao thức ma ̣t mã, gia ́u tin. + Các “lõ ho ̉ng” trong các Giao thức mạng.

38

+ Các “lõ hỏng” trong các He ̣ đièu hành mạng. + Các “lõ hỏng” trong các Ưng dụng.

- Pho ́i hợp các phương pháp.

Xa y dựng ”hành lang”, “đường đi” An toàn cho tho ng tin go ̀m 3 pha ̀n: + Hạ tàng ma ̣t mã khóa co ng khai (Public Key InfraStructure - PKI). + Kie ̉m soát lo ́i vào - ra: Ma ̣t kha ̉u, Tường lửa, Mạng rie ng ảo, Ca ́p quye ̀n hạn.

+ Kie ̉m soát và Xử lý các lo ̃ ho ̉ng.

3.2. Nhận dạng mặt người trong bảo đảm an toàn thông tin

Trong suốt một thời gian d{i, người ta vẫn cho rằng công nghệ nhận dạng khuôn mặt một công nghệ bảo mật hết sức an to{n, thì giờ đ}y những suy nghĩ n{y buộc phải thay đổi.

Với những thông tin được Bkis công bố thì những công nghệ nhận dạng n{y chỉ mất v{i phút để có thể bị “bẻ g~y”.Sau 4 th|ng nghiên cứu công nghệ nhận dạng khuôn mặt ứng dụng trên m|y tính x|ch tay, Trung t}m An ninh mạng B|ch Khoa (Bkis) nhận định: “tính năng bảo vệ laptop bằng công nghệ n{y của ba h~ng sản xuất Asus, Lenovo, Toshiba đều không đảm bảo an ninh”.

Công nghệ nhận dạng khuôn mặt được Asus, Lenovo v{ Toshiba cung cấp sẵn trong bộ phần mềm chuyên dụng đi kèm m|y tính v{ đưa v{o tất cả c|c dòng laptop có webcam, hỗ trợ hệ điều h{nh Windows Vista, XP. Chủ nh}n, thay vì phải gõ mật khẩu hoặc x|c thực bằng v}n tay, chỉ cần ngồi trước m|y tính l{ có thể đăng nhập được.

Công nghệ nhận dạng khuôn mặt được c|c h~ng giới thiệu l{ một tính năng nổi trội, giúp ngăn chặn người kh|c tiếp cận m|y tính tr|i phép, đảm bảo an to{n thông tin cho chủ nh}n.

Tuy nhiên, những nghiên cứu của Bkis cho thấy, tính năng x|c thực bằng nhận dạng khuôn mặt của cả 3 h~ng sản xuất laptop đều có thể bị vượt

39

qua, mặc dù được thiết lập ở mức an ninh cao nhất.

Kịch bản dễ thực hiện nhất l{ lừa chat webcam để chụp h{ng loạt ảnh. Sau đó, tổng hợp c|c ảnh n{y v{ xử lý theo thuật to|n. Ảnh sau khi xử lý được in ra giấy bằng m|y in m{u. Kẻ xấu có thể dùng bức ảnh n{y dễ d{ng đăng nhập m|y tính mục tiêu.

Với ưu điểm tiện lợi v{ được quảng c|o như một tính năng có độ chính x|c gần như tuyệt đối nhằm ngăn chặn những người sử dụng tr|i phép tiếp cận m|y tính, công nghệ nhận dạng khuôn mặt đang rất được ưa chuộng v{ ng{y c{ng có nhiều người sử dụng. Xuyên thủng được vòng bảo vệ n{y, kẻ xấu sẽ kiểm so|t ho{n to{n m|y tính nạn nh}n, hậu quả rất khó lường. Do đó, nhận dạng khuôn mặt không còn l{ giải ph|p bảo mật an to{n.

3.3. Đề xuất hướng giải quyết và phạm vi ứng dụng của đề tài

Thuật to|n nhận dạng khuôn mặt hiện chia l{m hai loại l{ hình học (geometric) v{ trắc quang (photometric). Hình học nhận diện khuôn mặt dựa trên c|c đặc trưng trên khuôn mặt như mắt, mũi, miệng, gò m|; trong khi trắc quang l{ phương ph|p biến hình ảnh th{nh c|c gi| trị v{ so s|nh với gi| trị mẫu để nhận diện. C|c nh{ nghiên cứu ng{y nay đ~ ph|t triển những kỹ thuật nhận diện khuôn mặt riêng, nhưng phổ biến nhất hiện có ba loại chính l{ ph}n tích th{nh phần chính (PCA), ph}n tích ph}n lớp tuyến tính (LDA) v{ phương ph|p đồ thị đ{n hồi (EBGM).

Với những hạn chế khi sử dụng công nghệ nhận diện khuôn mặt

truyền thống, phương pháp nhận diện 3D đ~ trở th{nh hướng đi mới trong việc ứng dụng công nghệ nhận diện khuôn mặt. Phương ph|p n{y lưu lại hình ảnh 3D của khuôn mặt với c|c điểm đặc trưng như độ cong của cằm, mũi, hốc mắt… Ưu điểm của nó l{ có thể nhận diện khuôn mặt ở nhiều góc độ kh|c nhau, không bị ảnh hưởng bởi |nh s|ng.

Ng{y nay, c|c công ty của Mỹ đ~ cải tiến phương ph|p nhận diện 3D bằng việc bổ sung thêm nhận diện mẫu da, được gọi l{ phương ph|p ph}n tích v}n

40

bề mặt. Phương ph|p n{y cũng sử dụng c|c thuật to|n chia nhỏ vùng da th{nh c|c không gian có thể đo đếm được, giúp x|c định danh tính của cả những cặp sinh đôi.

Nhận diện khuôn mặt 3D vẫn chưa ho{n hảo, nó vẫn bị hạn chế đ|ng kể bởi c|c yếu tố bên ngo{i như khuôn mặt bị tóc che phủ, đeo kính, hình ảnh qu| mờ. C|c công ty của Mỹ hiện vẫn đang liên tục tìm c|ch cải tiến để tăng độ chính x|c cho công nghệ nhận diện khuôn mặt m{ không g}y khó chịu cho người bị nhận diện.

Trong đề t{i n{y, tôi tập trung tìm kiếm v{ đề xuất một thuật to|n hiệu quả cho việc x|c định, nhận dạng khuôn mặt xuất hiện trong thời gian thực chụp từ camera . Do c|c điều kiện khó khăn của b{i to|n, tôi đưa ra những giả định v{ r{ng buộc sau nhằm giảm độ phức tạp của b{i to|n:

- Thuật to|n giải quyết cho ảnh đơn.

- Ảnh gồm một khuôn mặt được chụp thẳng hay góc nghiêng không đ|ng kể (không qu| 100).

- Ảnh được chụp trong điều kiện |nh s|ng bình thường (không chụp ngược s|ng).

Để khắc phục nhược điểm của nhận dạng khuôn mặt, trong bài toán xác thực tôi đề xuất kết hợp cả xác thực bằng mật khẩu và nhận dạng khuôn mặt nhằm nâng cao tính an toàn cho hệ thống thông tin. Trong luận văn n{y tôi tiến h{nh c{i đặt chương trình ứng dụng lý thuyết nhận dạng khuôn mặt v{o chức năng đăng nhập hệ thống quản lý, cụ thể l{ quản lý điểm của sinh viên hệ cao đẳng khoa công nghệ thông tin, trường Đại học Sư phạm kỹ thuật Nam Định.

41

Chương 4: CHƯƠNG TRÌNH THỬ NGHIỆM

Nhận dạng mặt người trong ảnh có nhiều ứng dụng trong cuộc sống. Tuy nhiêntrong luận văn n{y, tôi chỉ x}y dựng một chương trình nhỏ để minh họa cho c|c lý thuyết ở trên. Cụ thể đấy l{ một chức năng đăng nhập hệ thống quản lý điểm sử dụng kết hợp nhận dạng mặt người v{ kỹ thuật mật khẩu để tăng cường độ an to{n cho hệ thống thông tin quản lý. Phần nhận dạng sử dụng Webcam chụp ảnh khuôn mặt. Chương trình được viết trên nền C# (2010) của Microsoft, thư viện m~ nguồn mở EmguCV(2.4.9)

(EmguCV cross platform .Net wrapper to the Intel OpenCV image processing library for C#.Net).

4.1. Sơ lược về EmguCV.

Emgu CV l{ một gói bao bên ngo{i (wrapper) thư viện xử lí ảnh OpenCV của Intel, cho phép lập trình viên có thể gọi c|c h{m của OpenCV từ trong c|c ngôn ngữ .NET C#, VB, VC++, IronPython… Gói n{y có thể được biên dịch trong Mono v{ chạy trên Linux / Mac OS X.

OpenVC l{ thư viện m~ nguồn mở của intel về thị gi|c m|y tính. Nó cung cấp một bộ m~ nguồn bao gồm h{ng trăm h{m, lớp dựa trên c|c thuật to|n về xử lý ảnh cũng như Computer vision dùng ngôn ngữ C/C++. Open CV thể hiện sự đa dạng của trí tuệ nh}n tạo. Được ứng dụng nhiều trong c|c b{i to|n nhận dạng mặt, dò tìm mặt, ph|t hiện mặt, lọc Kalman, …

Cấu trúc tổng quan của OpenCV bao gồm 5 phần chính. 4 trong 5 phần đó được chỉ ra trong hình vẽ dưới.

42

Hình 4.1 : Cấu trúc cơ bản của OpenCV

4.2. Các bước chính trong hệ thống nhận dạng mặt người.

Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xử lý sau: ph|t hiện khuôn mặt (face detection), ph}n đoạn khuôn mặt (face alignment hay segmentation), rút trích đặc trưng (feature extraction), v{ ph}n lớp khuôn mặt (face classification).

Ph|t hiện khuôn mặt dò tìm, định vị những vị trí khuông mặt xuất hiện trong ảnh. Ph}n đoạn khuôn mặt sẽ x|c định vị trí của mắt, mũi, miệng v{ c|c th{nh phần kh|c của khuôn mặt sau đó chuyển kết quả n{y cho bước rút trích đặc trưng. Từ những thông tin về c|c th{nh phần trên khuôn mặt, chúng ta có thể dễ d{ng tính được véc-tơ đặc trưng trong bước rút trích đặc trưng. Những véc-tơ đặc trưng n{y sẽ l{ dữ liệu đầu v{o cho một mô hình đ~

CV

Các hàm về xử lý ảnh và giải thuật về

thị giác máy tính

CXCORE

Các cấu trúc dữ liệu cơ bản, cấu trúc XML, các hàm về đồ họa …

MLL

Các thuật toán học máy, bao gồm các bộ

phân cụm, phân loại thống kê

HighGUI

Các hàm và thủ tục làm việc với file ảnh

43

được huấn luyện trước để ph}n loại khuôn mặt. Bên cạnh những bước chính nêu trên, chúng ta còn có thể |p dụng thêm một số bước kh|c như tiền xử lý, hậu xử lý nhằm l{m tăng độ chính x|c cho hệ thống.

4.3. Phân tích hệ thống.

Nhiệm vụ chính của chương trình l{ dò tìm v{ nhận dạng khuôn mặt webcam, sau đấy so s|nh khuôn mặt với csdl để phục vụ cho mục đích x|c thực.

Hình 4.2: Chức năng nhận dạng của hệ thống Như vậy c|c chức năng chương trình bao gồm:

 Kết nối đến webcam, đọc ảnh.

 Ph|t hiệnkhuôn mặt có trong webcam, trích ảnh khuôn mặt đ~ ph|t hiện được ...

 Nhận dạng khuôn mặt được ph|t hiện.

 Đăng ký người dùng nếungười đó chưa có ảnh trong csdl.  X|c thực người dùng bằng mật khẩu.

 Hệ thống quản lý điểm.

a. Xử lý đầu vào:

Chương trình nhận đầu v{o l{ file ảnhwebcam, tuy nhiên, việc ph|t hiện khuôn mặt được thực hiện trên c|c bức ảnh, do đó, với đầu v{o l{ webcam ta

0 HỆ THỐNG PHÁT HIỆN, NHẬN DẠNG MẶT NGƯỜI NGƯỜI DÙNG Capture ảnh

44

phải chuyển th{nh c|c ảnh tĩnh v{ xử lý trên từng ảnh tĩnh. Sau khi đ~ có ảnh đầu v{o rồi thì sẽ chuyển ảnh cho giai đoạn xử lý tiếp theo, đó l{ ph|t hiện,nhận dạng c|c khuôn mặt có trong ảnh.

b. Phát hiện khuôn mặt

Sau khi có ảnh truyền v{o, hệ thống sẽ thực hiện chức năng ph|t hiện khuôn mặt có trong ảnh.

Việc ph|t hiện khuôn mặt được thực hiện nhanh bằng thuật to|n adaboost thông qua lớp EMGU.CV.CascadeClassifiercủa EmguCV. H{m n{y thực hiện việc ph|t hiện đối tượng dựa trên c|c đặc trưng haar-like, cụ thể l{ nhờ v{o một bộ Cascade được truyền v{o cho h{m. Bộ Cascade được x}y dựng theo dạng c}y (tree-node) v{ đ~ được huấn luyện từ trước.

c. Nhận dạng

Khuôn mặt sau khi được ph|t hiện sẽ được t|ch ra khỏi bức ảnh v{ tiến h{nh nhận dạng.Việc nhận dạng khuôn mặt được thực hiện bằng thuật to|n eigenface thông qua lớp EMGU.CV.EigenFaceRecognizercủa EmguCV.

Lớp EigenFaceRecognizer |p dụng PCA trên mỗi hình ảnh, kết quả sẽ l{ một ảnh c|c gi| trị Eigen đưa v{o học v{ dùng để đo|n nhận.Ở đ}y, h{m khoảng c|ch Euclid được sử dụng để đưa ra ứng cử viên giống nhất so với ảnh đầu v{o.

d.Hệ thống quản lý điểm.

Sau khi nhận dạng th{nh công, người dùng sẽ chuyển sang chức năng đăng nhập mật khẩu. Vượt qua hai vòng đăng nhập người dùng v{o giao diện để l{m việc với hệ hệ thống quản lý điểm của sinh viên với c|c chức năng cơ bản như thêm, sửa, xóa… c|c thông tin về sinh viên, môn học, điểm, v{ danh mục khoa.

45

- CSDL ảnh: Ảnh chưa có trong CSDL sẽ được tiến h{nh qu| trình đăng ký. Mỗi khuôn mặt sẽ được chụp 10 ảnh kh|c nhau v{ lưu v{o csdl , c|c thông tin gồm tên người, tên file lưu trong file XML v{ ảnh của người đó. <Faces_For_Training> <FACE> <NAME>NAME</NAME> <FILE>face_NAME_2057798247.jpg</FILE> </FACE> </Faces_For_Training>

- CSDL chương trình quản lý điểm:

4.4. Kết quả chạy chương trình.

46

- Giao diện Form đăng nhập sử dụng nhận dạng khuôn mặt:

47 - Giao diện đăng nhập bằng mật khẩu:

48

50

KẾT LUẬN

Kết luận

Luận văn có hai kêt quả chính:

1/. Nghiên cứu t{i liệu để trình b{y c|c vấn đề sau:

Một phần của tài liệu Nhận dạng khuôn mặt người và ứng dụng trong bảo toàn thông tin (Trang 35)