Thông tin chung về môn học Môn học Công nghệ tri thức và ứng dụng là một môn học thuộc dạng bắt buộc trongnội dung chương trình khung đào tạo cao học tại trường đại học Công nghệ thông t
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Giáo viên HD : GS.TSKH Hoàng Văn Kiếm
Họ tên học viên : Nguyễn Trọng Ngân
Mã số học viên : CH1101107 Cao học : Khóa 6 Chuyên ngành : Khoa học máy tính - Mã số: 60.48.01
Tháng 05/2012
Trang 2LỜI CÁM ƠN
LỜI CÁM ƠN
Trong quá trình thực hiện bài tiểu luận, với sự hướng dẫn nhiệt tình của thầy
Hoàng Văn Kiếm và những ý kiến đóng góp của bạn bè đã cho em nguồn động viên lớn
để hoàn thành nhiệm vụ của bài tiểu luận Qua đó, bản thân đã đạt được nhiều tiến bộ về kiến thức và hoạch định được hướng nghiên cứu, tìm hiểu để phát triển thành luận văn tốt nghiệp trong tương lai.
Em chân thành cám ơn quý Thầy Cô trong khoa Khoa học máy tính, phòng đào tạo sau đại học, trường đại học Công nghệ thông tin – đại học Quốc gia Tp Hồ Chí Minh đã tận tình giảng dạy, hướng dẫn, giúp đỡ và tạo điều kiện cho em thực hiện tiểu luận này Mặc dù rất cố gắng, song tiểu luận vẫn còn nhiều thiếu sót Em mong nhận được nhiều sự thông cảm và góp ý của thầy Hoàng Văn Kiếm
Xin chân thành gửi lời cám ơn sâu sắc đến quý thầy.
Tp.Hồ Chí Minh, ngày 31 /5 / 2012
NHẬN DẠNG CÁC ĐỐI TƯỢNG 3D VÀ ỨNG DỤNG i
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN
NHẬN XÉT CỦA GIẢNG VIÊN
MỤC LỤC
NHẬN DẠNG CÁC ĐỐI TƯỢNG 3D VÀ ỨNG DỤNG ii
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN
LỜI CÁM ƠN i
NHẬN XÉT CỦA GIẢNG VIÊN ii
MỤC LỤC iii
DANH MỤC CÁC HÌNH v
1 CHƯƠNG 1 – GIỚI THIỆU CHUNG 1
1.1 Thông tin chung về môn học 1
1.2 Giới thiệu về đề tài tiểu luận và lý do chọn đề tài 1
1.2.1 Tình hình nghiên cứu nhận dạng đối tượng 3D trên thế giới 1
1.2.2 Tình hình nghiên cứu ảnh nhận dạng đối tượng 3D trên trong nước .1
1.2.3 Lý do chọn đề tài 1
2 CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT 3
2.1 Giới thiệu về kỹ thuật đồ họa 2D, 2.5D và 3D 3
2.1.1 Đồ họa 2D và nhận dạng ảnh trên ảnh 2D 3
2.1.2 Đồ họa 2.5D, 3D 4
2.2 Thuật toán ICP (Iterative Closest Point) và nhận dạng gương mặt 3D 8
2.2.1 Thuật toán ICP 8
2.3 Nhận dạng gương mặt 3D trên nền tảng thuật toán ICP 9
2.3.1 Thu thập dữ liệu 9
2.3.2 Ứng dụng ICP cho nhận dạng gương mặt 10
2.3.3 Tinh chỉnh thô 10
2.3.4 Tinh chỉnh lại, nhận dạng 11
2.3.5 Một số biến thể của thuật toán ICP để nâng cao độ chính xác khi nhận dạng 12
3 CHƯƠNG 3 – ĐỀ XUẤT HƯỚNG NGHIÊN CỨU VÀ CÁC HƯỚNG ỨNG DỤNG TRIỂN KHAI TRONG THỰC TẾ 13
3.1 Ứng dụng triển khai trong thực tế 13
3.1.1 Ứng dụng trong lĩnh vực giám sát an ninh, xác thực người dùng 13
3.1.2 Ứng dụng trong lĩnh vực điều khiển, robot thông minh, các hệ chuyên gia trong y tế 14
NHẬN DẠNG CÁC ĐỐI TƯỢNG 3D VÀ ỨNG DỤNG iii
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN
3.2 Đề xuất hướng nghiên cứu, phát triển 14
4 TÀI LIỆU THAM KHẢO 16
NHẬN DẠNG CÁC ĐỐI TƯỢNG 3D VÀ ỨNG DỤNG iv
Trang 6DANH MỤC CÁC HÌNH
DANH MỤC CÁC HÌNH
Hình 1-1 Các điểm tương đồng và điều kiện xuất hiện của các đối tượng 3D 2
Hình 2-1 Thu thập ảnh 2.5D 9
Hình 2-2 Quy trình nhận dạng gương mặt 3D 10
Hình 2-3 Tinh chỉnh thô giữa mô hình thăm dò và mô hình bên trong Database 11
Hình 3-1 Mô hình giám sát an ninh 13
Trang 7TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
1 CHƯƠNG 1 – GIỚI THIỆU CHUNG
1.1 Thông tin chung về môn học
Môn học Công nghệ tri thức và ứng dụng là một môn học thuộc dạng bắt buộc trongnội dung chương trình khung đào tạo cao học tại trường đại học Công nghệ thông tin.Môn học cung cấp cho học viên các khái niệm về công nghệ tri thức, nền tảng nghiêncứu, nâng cao hiệu quả ứng dụng máy tính thông qua các hệ thống máy tính thông minh,
có thể xữ lý một phần các công việc như con người
1.2 Giới thiệu về đề tài tiểu luận và lý do chọn đề tài
1.2.1 Tình hình nghiên cứu nhận dạng đối tượng 3D trên thế giới
Hiện nay, việc nghiên cứu nhận dạng trên các đối tượng đồ họa 2D và đã có nhiềuứng dụng được triển khai phát triển trên nền tảng công nghệ này như ứng dụng trong việcxác thực người dùng trong các máy tính xách tay, ứng dụng trong lĩnh giám sát Tuynhiên, việc tham gia nghiên cứu công nghệ nhận dạng trên các đối tượng 3D chỉ đangtriển khai trong các phòng thí nghiệm và chưa đưa ra phổ biến trong các ứng dụng trênthực tế
1.2.2 Tình hình nghiên cứu ảnh nhận dạng đối tượng 3D trên
trong nước
Nghiên cứu nhận dạng đối tượng đồ họa 3D tại Việt Nam chưa được phổ biến rộngrãi Gần như không có hoặc có rất ít công trình nghiên cứu được công bố thông qua cáctạp chí khoa học trong nước
1.2.3 Lý do chọn đề tài
Nhận dạng đối tượng nói chung là một phạm vi nghiên cứu khá rộng Vì vậy trong
đề tài này, em chỉ giới hạn tìm hiểu các kỹ thuật, phương pháp và thao tác nhận dạnggương mặt người
Công nghệ nhận dạng gương mặt 2D đã được ứng dụng trong rất nhiều lĩnh vực nhưxác thực người dùng trong máy tính cá nhân, ứng dụng trong các tài liệu điện tử nhưpassport, Identity card, phát hiện mặt người trong các máy ảnh số… Tuy nhiên, công nghệnày đã bộc lộ một số điểm yếu như:
- Các đối tượng có các đăt điểm tương đồng, xuất hiện với các đặc điểm tương tựnhư: cha-con trai, anh-em song sinh… Vì vậy, để máy tính có thể tạo ra những mô
tả cho các đối tượng này để nhận dạng một cách chính xác là một điều khó khăn
- Điều kiện xuất hiện của các đối tượng (ánh sáng, sắc thái, biểu lộ của nét mặt)ảnhhưởng rất lớn đến kết quả nhận Minh họa theo hình bên dưới Trong thực tế, việcđiều chỉnh ảnh đầu vào của các hệ thống nhận dạng thông qua kỹ thuật xữ lý ảnh sốkhông làm tăng đáng kể hiệu quả nhận dạng của máy tính
Trang 8TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Hình 1-1 Các điểm tương đồng và điều kiện xuất hiện của các đối tượng 3D
- Máy tính không thể phân biệt được ảnh đầu vô được chụp hay đang phân tích trựctiếp từ gương mặt người dùng Năm 2008, trung tâm Bkis đã công bố kết quả kiểmđịnh trên các chương trình xác thực mặt người của một số hãng máy tính nỗi tiếng(Asus, Lenovo và Toshiba) Hàng rào xác thực người dùng thông qua kỹ thuật nhậndạng gương mặt (được thiết lập ở mức an ninh cao nhất) đã dễ dàng bị đánh lừabằng các hình chụp của người sử dụng [L-1]
Vì các hạn chế đã phân tích ở trên và sự phát triển của các thiết bị công nghệ thôngtin hiện nay ( có nhiều thiết bị hỗ trợ ảnh 3D…), đề tài này em sẽ tập trung và việc nghiêncứu, tiếp thu công nghệ nhận dạng gương mặt trên nền tảng ảnh 3D nhằm khắc phục đượccác nhược điểm của công nghệ nhận dạng gương mặt trên ảnh 2D đồng thời đề xuất các
xu hướng áp dụng công nghệ nhận dạng 3D vào trong việc phát triển các ứng dụng thựctế
Trang 9TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
2 CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về kỹ thuật đồ họa 2D, 2.5D và 3D
2.1.1 Đồ họa 2D và nhận dạng ảnh trên ảnh 2D
Đồ họa máy tính 2D là một thế hệ ảnh kỹ thuật số trên nền tảng máy tính Đồ họa2D là dạng biểu diễn các điểm, mô hình trên không gian 2 chiều Nghiên cứu về đồ họa2D là một nhánh của ngành khoa học máy tính Hiện nay, đồ họa máy tính 2D đã có đượcnhiều công trình nghiên cứu và được áp dụng khá phổ biến trong cuộc sống Đồ họa 2Dchủ yếu được sử dụng trong các ứng dụng được phát triển theo công nghệ in ấn truyềnthống và vẽ: kiểu chữ, bản đồ, bản vẽ kỹ thuật, quảng cáo…
Trong vài thập kỷ gần đầy, việc phân tích, đo lường, mô tả, phát hiện gương mặtthông qua các đặc điểm sinh trắc học đã được áp dụng rộng rãi trong nhiều ứng dụng như:tài liệu điện tử như passport, Identity card, phát hiện mặt người trong các máy ảnh số…
Từ năm 2002, công nghệ xác định gương mặt đã nâng độ chính xác lên khá cao(khoảng từ 90%95%) và được ứng dụng rộng rãi trong các máy chụp ảnh kỹ thuật số
Để nhận dạng mặt người, trước hết phải tiến hành phát hiện gương mặt và chụp lạiảnh gương mặt và so sánh với các hình ảnh lưu trong cơ sở dữ liệu Việc chụp ảnh nàyảnh hưởng rất lớn đến kết quả nhận dạng (độ sang, nét mặt ) Độ chính xác này chỉ đạtkhoảng 30% 35%,bộ lộ nhiều khiếm khuyết do các đặc điểm sinh trắc học con người đểnhận dạng không được thể hiện trên không gian hai chiều Vì vậy, các phần mềm nhậndạng mặt người được áp dụng trong các dòng máy tính xách tay tung ra thị trường đã bộ
lộ nhiều lỗ hỏng về mặt an ninh[L-1]
2.1.1.1 Nhận dạng dựa trên các đặc trưng khuôn mặt
Đây là phương pháp nhận dạng khuôn mặt dựa trên việc xác định các đặc trưng hìnhhọc của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt, mũi,miệng,…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách củahai lông mày,…)
Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhậnbiết khuôn mặt Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp này
có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị xoayhoặc ánh sáng thay đổi
Nhược điểm của phương pháp này là cài đặt thuật toán phức tạp do việc xác địnhmối quan hệ giữa các đặc tính đòi hỏi các thuật toán phức tạp Mặt khác, với các ảnh kíchthước bé thì các đặc tính sẽ khó phân biệt do đó khó tính toán được các đặc trưng trênkhuôn mặt
Trang 10TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
2.1.1.2 Nhận dạng dựa trên xét toàn diện khuôn mặt:
Nhận dạng đựa trên toàn diện khuôn mặt, có nghĩa mình sẽ không đi xét đến từngthành phần đặc trưng trên khuôn mặt nữa… Khuôn mặt là một không gian cụ thể và cóthể tìm những đặc trưng, những đặc điểm chính trên không gian đó
Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích thước RxC là mộtvector trong không gian RxC chiều Ta sẽ xây dựng một không gian mới có chiều nhỏhơn sao cho khi biểu diễn trong không gian đó các đặc điểm chính của một khuôn mặtkhông bị mất đi Trong không gian đó, các ảnh của cùng một người sẽ được tập trung lạithành một nhóm gần nhau và cách xa các nhóm khác
Hai phương pháp thường được sử dụng là trong hướng tiếp cận này:
PCA (Principle Components Analysis)
LDA (Linear Discriminant Analysis)
Ngoài ra, hiện nay đã có nhiều phương pháp kết hợp mạng neural và thuật toán PCA
để làm tăng độ chính xác của nhận dạng
2.1.2 Đồ họa 2.5D, 3D
Đồ họa máy tính 3D là một dạng đồ họa máy tính dựa trên không gian 3 chiều đểbiểu diễn một đối tượng hình học 3D lưu trữ trong máy tính và được thể hiện cho ngườixem trong thời gian thực Đồ họa máy tính 3D cũng dựa trên các thuật toán cơ bản của đồhọa 2D
2.1.2.1 Lưu trữ các file đồ họa 3D
Hiện nay có rất nhiều định dạng cho phép lưu trữ các file dạng số trong máy tínhnhư định dạng PLY, OBJ, VRML…Tuy nhiên, trong bài báo cáo( và trong định hướngthực hiện luận văn về sau), em sẽ tập trung thao tác trên dạng dữ liệu PLY và sẽ thực hiệnchuyển đổi từ các dạng dữ liệu khác về dạng PLY để tiến hành nhận dạng, so sánh…
2.1.2.2 Cấu trúc file đồ họa 3D dưới định dạng PLY
PLY là một dạng file số lưu trữ trong máy tính để biểu diễn, lưu trữ thông tin của cáđối tượng đồ họa 3D Kỹ thuật nhận dạng các ảnh 3D (được trình bày ở phần sau) sẽ tậptrung xữ lý các đối tượng 3D được lưu trữ dạng file PLY Cấu trúc file PLY còn đượcbiết đến như là Polygon File Format hay là Stanford Triangle Format File PLY được pháttriển bởi Greg Turk và các cộng sự tại phòng thí nghiệm Stanford graphics vào giữanhững thập niên 90 Các tập tin được tổ chức gồm phần tiêu đề(header), các yếu tố xácđịnh thuộc tính của các Mesh như danh sách đỉnh(Vertex), danh sách các mặt (Face).Ngoài ra còn có thể kèm theo các tập hợp các yếu tố riêng Thông thường các yếu tố riêngnày là các cạnh, mẫu của các vùng bản đồ, các dải tam giác …
Cấu trúc file PLY cơ bản bao gồm các thành chính:
Trang 11TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
- Header: chứa các thông tin chung của file
- Vertex List: danh sách các đỉnh
- Face List: Danh sách các mặt của đối tượng đồ họa
- Lists of other elements: các danh sách về các thuộc tính khác
Hiện tại, có 2 dạng phiên bản của file PLY: file dạng nhị phân (binary file) và filedạng ký tự mã ASCII
Sau đây là mô tả cho một file PLY đơn giản:
Trang 12TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Header của cả 2 dạng file (binary và ASCII) đều được thể hiện bằng dạng ký tựthông thường (text) Phần thuộc tính dữ liệu phía header sẽ được thể hiện khác nhau( bằng
mã ASCII hoặc dạng binary) Dưới đây là mô tả một header của một file PLY đơn giản:
comment This is a comment!
Từ khóa “element” ở dòng tiếp theo chỉ ra các thành phần của file như danh sáchđỉnh, danh sách các mặt:
element vertex 8
property float32 x
property float32 y
property float32 z
Định nghĩa trên cho ta thấy file PLY này sẽ bao gồm 8 đỉnh và các thuộc tính sau
đó sẽ định nghĩa kiểu dữ liệu cho từng đỉnh Trong phần mô tả trên đang sử dụng hệ trụcOxyz và kiểu dữ liệu ứng với từng trục tọa độ là float32
element face 6
property list uint8 int32 vertex_index
Tiếp theo, sẽ là thành phần các mặt Hiện tại, đang có 6 mặt trong mô tả trên
Trang 13TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
element material 6
property ambient_red uint8 { ambient color }
property ambient_green uint8
property ambient_blue uint8
property ambient_coeff float32
property diffuse_red uint8 { diffuse color }
property diffuse_green uint8
property diffuse_blue uint8
Trang 14TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
property diffuse_coeff float32
property specular_red uint8 { specular color }
property specular_green uint8
property specular_blue uint8
property specular_coeff float32
property specular_power float32 { Phong power }
2.2 Thuật toán ICP (Iterative Closest Point) và nhận dạng gương mặt 3D
2.2.1 Thuật toán ICP
Thuật toán ICP[ B-3] (Iterative Closest Point) được Paul J Besl và Neil D Mackaygiới thiệu tại tạp chí khoa học IEEE lần đầu tiên vào tháng 2 năm 1992 ICP được sử dụng
để làm giảm tối đa sự khác biệt giữa hai tập hợp điểm ICP được ứng dụng rộng rãi trongviệc tinh chỉnh các ảnh trong không gian 3 chiều, tái tạo bề mặt của các ảnh 2D, 3D…
2.2.1.1 Thuật toán ICP
Trang 15TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
thị trường Ngoài ra, việc thu thập ảnh 3D có thể gắn kết, ghép nối các ảnh chụp ở nhiềukhía cạnh khác nhau (trước, trái, phải, sau) để tạo ra ảnh 3D hoàn chỉnh
Sau khi thu thập được ảnh 3D vào cơ sở dữ liệu, hình ảnh để đưa vào để nhận dạnggương mặt người có thể sử dụng ảnh 2.5D (chụp ở 3 hướng khác nhau: trái, phải, trước)
Hình 2-2 Thu thập ảnh 2.5D
Quy trình khái quát của phương pháp thu thập và nhận dạng gương mặt 3D được mô
tả ở hình bên dưới:
Hình 2-3 Quy trình nhận dạng gương mặt 3D
Trang 16TIỂU LUẬN MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
2.3.2 Ứng dụng ICP cho nhận dạng gương mặt
Việc nhận dạng mặt người thông qua ảnh 3D cơ bản sử dụng các chiều thông tin màảnh 2D không thể hiện được để nâng cao độ chính xác và khắc phục các bất lợi của việcnhận dạng trên nền tảng ảnh 2D đã được nêu ở phần trên
Ngoài ra, ta không thể tiến hành phép so sánh 1-1 từ những điểm ảnh thu thập(2.5D)được và các điểm của tập ảnh 3D từ cơ sở dữ liệu Việc làm này sẽ chiếm rất nhiều thờigian và tài nguyên của máy tính khi thực hiện Kết quả thực hiện lại có thể sẽ không nhưmong muốn Trạng thái của người, thể hiện của nét mặt sẽ làm sai lệch quá trình nhậndạng
Vì vậy, để tiến hành nhận dạng một gương mặt người, ta cần có các bước tinh chỉnhnhằm giảm thiểu tiêu tốn về mặt thời gian trong khi tiến hành nhận dạng
Quá trình nhận dạng trên cơ sở thuật toán ICP theo các bước như sau:
2.3.3 Tinh chỉnh thô
Việc tinh chỉnh sẽ được thực hiện một cách tự động Tuy nhiên, trong mô tả này sẽ tập trung minh họa việc tinh chỉnh thông qua việc lựa chọn từ 2 điểm tương ứng trở lên trên các mô hình thăm dò so sánh và mô hình được lưu trữ bên trong cơ sở dữ liệu thông qua biến đổi ridid[L-2] Thao tác này sẽ tạo ra một trạng thái tốt trước khi tiến hành nhận
dạng Hình sau sẽ mô tả cách thức tiến hành tinh chỉnh
Hình 2-4 Tinh chỉnh thô giữa mô hình thăm dò và mô hình bên trong Database