Tải bản đầy đủ (.pdf) (73 trang)

nghiên cứu kỹ thuật nhận dạng khuôn mặt dựa trên phương pháp biến đổi eigenfaces

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.37 MB, 73 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

SOUVANNAKHAMPHONG SAYSAMONE

<b>NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG KHUÔN MẶT DỰA TRÊN PHƯƠNG PHÁP BIẾN ĐỔI EIGENFACES </b>

<b>LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH</b>

<b> Thái Nguyên, 12 - 2022</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

ĐẠI HỌC THÁI NGUYÊN

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG </b>

SOUVANNAKHAMPHONG SAYSAMONE

<b>NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG KHUÔN MẶT DỰA TRÊN PHƯƠNG PHÁP BIẾN ĐỔI EIGENFACES </b>

<b> LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH </b>

<b> Mã số: 84 80 101 </b>

<b>Người hướng dẫn khoa học: TS. NGUYỄN HẢI MINH </b>

<b> </b>

<b>Thái Nguyên, 12-2022</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN </b>

<b>Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc tới thầy TS. Nguyễn Hải Minh, </b>

thầy đã tận tình hướng dẫn và chỉ bảo và giúp đỡ tôi thực hiện luận văn này. Tôi xin chân thành cảm ơn Ban giám hiệu trường Đại học Công nghệ thông tin và Truyền thông đã quan tâm tới các học viên quốc tế; các thầy cô trong trường đã tận tình giảng dạy và tạo điều kiện thuận lợi để tơi có thể học tập và rèn luyện trong suốt thời gian theo học tại Trường.

Tôi xin chân thành cảm ơn những người thân và các bạn bè đã chia sẻ, giúp đỡ tơi hồn thành luận văn này.

Mặc dù đã hết sức cố gắng, nhưng do thời gian và kinh nghiệm nghiên cứu cịn có nhiều hạn chế, tiếng Việt chưa thực sự thơng thạo nên luận văn vẫn cịn một số thiếu sót. Kính mong các Thầy/Cơ và các bạn góp ý để tơi có thể kịp thời chỉnh sửa.

Tôi xin chân thành cảm ơn!

<i> Thái Nguyên, tháng 12 năm 2022 </i>

Học viên thực hiện

SOUVANNAKHAMPHONG SAYSAMONE

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>LỜI CAM ĐOAN </b>

Tôi xin cam đoan nội dung và kết quả nghiên cứu trong luận văn này là trung thực và những nội dung trùng lặp với các đề tài khác đều đã được chú thích tham khảo theo đúng quy định. Tơi cũng xin cam đoan mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thơng tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc.

<i>Thái Nguyên, tháng 12 năm 2022 </i>

SOUVANNAKHAMPHONG Saysamone

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

1.3. CÁC KHÔNG GIAN MÀU VÀ ẢNH MÀU ... 5

1.3.1. Không gian màu RGB ... 6

1.3.2. Không gian màu HSV ... 8

1.3.3. Không gian màu CIE LAB ... 9

1.4. XỬ LÝ HÌNH THÁI TRÊN ẢNH NHỊ PHÂN ... 10

1.4.1 Khái niệm cơ bản ... 10

2.2. MẠNG NƠRON (Artificial Neural Network) ... 32

2.2.1. Giới thiệu về mạng Nơron nhân tạo ... 32

2.2.2. Mơ hình mạng Nơron ... 32

2.3. MƠ HÌNH MARKOV ẨN ... 35

2.3.1. Giới thiệu mơ hình Markov ẩn ... 35

2.3.2. Nhận dạng khn mặt bằng mơ hình Markov ẩn ... 37

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

2.4. SUPPORT VECTOR MACHINE ... 37

2.4.1 Sơ lược lý thuyết SVM ... 37

2.4.2. Nhân dạng khuôn mặt bằng SVM ... 43

CHƯƠNG 3: NHẬN DẠNG KHUÔN MẶT SỬ DỤNG EIGENFACES ... 46

3.1 GIỚI THIỆU VỀ CÔNG CỤ HỖ TRỢ ... 46

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC CHỮ VIẾT TẮT </b>

GFM Geometrical Feature Mtching

SVM Support Vector Machine MCS<small>s</small> Multiple Classifier Systems SE Structuring Element

PCA Principal Component Analysis LIF Linear Image Filter

sRGB Standard Red, Green and Blue

HSV(HSB) Hue, Saturation and Value (Hue, Saturation and Bright) CIE International Commission on Illumination

MIP Morphological Image Processing ANN Artificial Neural Network

MLP Multi Layer Perceptron

RL Reinforcement Learning

OpenCV Open Source Computer Vision CSV Comma Separated Values

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>DANH MỤC CÁC HÌNH VẼ </b>

Hình 1. 1: Các bước chính trong xử lý ảnh số ... 3

Hình 1. 2 : Có nhiều hệ màu trong color space ... 6

Hình 1. 3 : Khơng gian màu RGB ... 7

Hình 1. 4 : Khơng gian màu HSV ... 9

Hình 1. 5 : Khơng gian màu CIE ... 10

Hình 1. 6: Tốn tử hình thái (Morphological Operator) ... 11

Hình 1. 7 : Phần tử cấu trúc (Structuring Element) ... 12

Hình 1. 8 : Minh họa về cách hoạt động của phép dãn ... 13

Hình 1. 9 : Minh họa về cách hoạt động của phép co ... 14

Hình 1. 10 : Kết quả phép dãn và phép co ... 14

Hình 1. 11 : Phép mở và đóng nhị phân ... 15

Hình 1. 12 : Phép mở và đóng nhị phân các đường vân tay ... 15

Hình 1. 13: Ứng dụng khác của phép mơ và đóng nhị phân ... 16

Hình 1. 14: Phép tốn (Hit or Miss) ... 17

Hình 2. 6: siêu mặt phân cách tuyến tính cho trường hợp phân cách được và ký hiệu các support vestor chính là các điểm được bao bằng viền trịn ... 39

Hình 2. 7:ảnh, trong H, với hình vng [1,-1] €R2 dưới ánh xạ ϴ ... 42

Hình 2. 8: cây nhị phân: Cấu trúc cây nhị phân với số lớp bằng số mũ của 2. Phải: số mũ không bằng số mũ của 2 ... 44

Hình 3 1:Kết quả phân tách ảnh dựa trên kỹ thuật Eigenface ... 51

Hình 3 2: Kết quả phân tách ảnh khi sử dụng ảnh chụp với các góc nghiêng ... 51

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>MỞ ĐẦU </b>

Nhận diện khn mặt là thuật tốn xác định danh tính của một cá nhân bằng đặc trưng dựa trên khuôn mặt của họ. Hệ thống nhận diện khuôn mặt thường được sử dụng để xác định một người thơng qua hình ảnh hoặc video trong thời gian thực. Công nghệ nhận diện khuôn mặt mang lại nhiều ứng dụng hữu ích và thiết thực trong cuộc sống hàng ngày như phần mềm mở khóa điện thoại, hệ thống chấm cơng khơng chạm, hay các hệ thống camera giám sát an ninh, an toàn trong các trung tâm thương mại, trường học, bệnh viện… Các hệ thống công nghệ trên khn mặt có thể khác nhau, nhưng nhìn chung, chúng có xu hướng hoạt động theo như sau: nhận diện khn mặt, phân tích khn mặt, chuyển đổi hình ảnh thành dữ liệu, tìm kết quả nhận diện khn mặt phù hợp. Hiện nay có rất nhiều phương pháp và kỹ thuật đã được các nhà khoa học áp dụng để xây dựng hệ thống như: hệ thống nhận dạng vân tay, nhận dạng và phát hiện cử chỉ, nhận dạng biển số xe …. Các phương pháp phổ biến hiện nay được áp dụng như: Eigenfaces, Neural Network, Geometrical Feature Matching, Support Vector Machine (SVM)… Nhưng tơi đã chứng có hiệu quả cao và ổn định. Do đó, đề tài này tơi tập trung vào nghiên cứu, tìm hiểu và vận dụng kỹ thuật của phương pháp Eigenfaces. Để hỗ trợ phát triển hệ thống nhận dạng khuôn mặt cho sinh viên trường Cao đẳng Sư phạm Bankuen – Lào với mục tiêu việc nhận dạng trên dữ liệu chụp với góc nghiêng khơng đáng kể (không quá 10<sup>0</sup>).

Nội dung báo cáo của luận văn gồm có 3 chương:

<b>Chương 1: Tổng quan về xử lý ảnh </b>

Chương này giới thiệu tổng quan về các kỹ thuật xử lý ảnh số, các không gian màu RGB, HSV, CIE, …

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b> Chương 2: Các phương pháp nhận dạng khn mặt </b>

Chương này trình bày các phương pháp nhận dạng khuôn mặt phổ biến hiện nay như Eigenfaces, mạng Nơron, SVM, Mơ hình Markov ẩn …

<b> Chương 3: Nhận dạng khuôn mặt sử dụng Eigenfaces </b>

Chương này trình bày hệ thống và phương pháp nhận dạng khuôn mặt được thực hiện trong đề tài.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH </b>

<b>1.1. GIỚI THIỆU CHUNG VỀ XỬ LÝ ẢNH SỐ VÀ ỨNG DỤNG </b>

Xử lý ảnh số là một trong những lĩnh vực phát triển rất nhanh của ngành Công nghệ thông tin. Trong những năm trở lại đây, phần cứng máy tính và các thiết bị liên quan xử lý ảnh số đã có sự tiến bộ vượt bậc về tốc độ tính tốn, khả năng lưu trữ và xử lý đã thúc đẩy nghiên cứu xử lý ảnh số ngày một đấy mạnh trong cả lý thuyết và ứng dụng. Khái niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong xã hội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việc đưa vào máy tính xử lý đã trở nên đơn giản. Nó được ứng dụng rộng rãi trong nhiều lĩnh vực khoa học và công nghệ. Chẳng hạn như thị giác máy tính, rơ bốt, tìm kiếm tài liệu ảnh, hỗ trợ chẩn đốn hình ảnh y học, thiết kế ảnh, giải trí xử lý ảnh số bằng máy tính đã giúp chúng ta thay đổi cách cảm nhận và sử dụng máy tính, nó đã trở thành những công cụ trực quan quan trọng không thể thiếu trong đời sống hàng ngày.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với q trình xử lý ảnh. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, sensor, máy scanner,v.v… và sau đó các tín hiệu này sẽ được số hóa. Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử lý. Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị.

❖ Tiền xử lý: Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng, khử độ lệch,v.v… với mục đích làm cho chất lượng ảnh trở lên tốt hơn nữa, chuẩn bị cho các bước xử lý phức tạp hơn về sau trong quá trình xử lý ảnh. Quá trình này thường được thực hiện bởi các bộ lọc.

❖ Phân đoạn ảnh: phân đoạn ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để xác định các vùng liên thơng có thể là cùng màu, cùng mức xám v.v… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử khác nhau cấu tạo lên ảnh thơ. Vì lượng thông tin chứa trong ảnh rất lớn, trong khi đa số các ứng dụng chúng ta chỉ cần trích một vài đặc trưng nào đó, do vậy cần có một q trình để giảm lượng thơng tin khổng lồ đó. Q trình này bao gồm phân vùng ảnh và trích chọn đặc tính chủ yếu.

❖ Biểu diễn và mô tả: Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh thơ, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Để chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng ảnh dưới dạng biên hay dưới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó. Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu đến các

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

đặc trưng hình dạng bên ngồi của đối tượng, ví dụ như các góc cạnh và điểm uốn trên biên chẳng hạn. Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất bên trong của đối tượng, ví dụ như vân ảnh hoặc cấu trúc xương của nó. Sự chọn lựa cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là một phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các xử lý về sau. Chúng ta còn phải đưa ra một phương pháp mơ tả dữ liệu đã được chuyển đổi đó sao cho những tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện cho việc xử lý chúng.

❖ Nhận dạng và nội suy ảnh: Đây là bước cuối cùng trong quá trình xử lý ảnh. Nhận dạng ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh. Ví dụ đối với nhận dạng chữ viết, các đối tượng trong ảnh cần nhận dạng là các mẫu chữ, ta cần tách riêng các mẫu chữ đó ra và tìm cách gán đúng các ký tự của bảng chữ cái tương ứng cho các mẫu chữ thu được trong ảnh. Giải thích là cơng đoạn gán nghĩa cho một tập các đối tượng đã được nhận biết.

Chúng ta cũng có thể thấy rằng, khơng phải bất kỳ một ứng dụng xử lý ảnh nào cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu ở trên, ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bước tiền xử lý. Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động, được dùng để rút trích ra những thơng tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng ký tự quang học, nhận dạng chữ viết tay v.v…

<b>1.3. CÁC KHÔNG GIAN MÀU VÀ ẢNH MÀU </b>

Các khơng gian màu là một mơ hình tốn học dùng để mơ tả các màu sắc trong thực tế được biểu diễn dưới dạng số học. Ở đây mình sẽ chỉ đề cập đến một số không gian màu chủ yếu và thường sử dụng để biểu diễn ảnh raster. Đối với những người làm am hiểu về nhiếp ảnh, chắc hẳn nó khơng phải một cụm

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

từ lạ lẫm. Khơng gian màu chính là phương pháp định tính màu sắc được thiết lập công thức một cách khoa học. Hệ thống không gian màu cho phép mỗi màu được xác định theo số học. Bằng cách đó ta có thể chọn và lặp lại những màu đó thật chính xác.

<b>❖ Phân loại khơng gian màu </b>

<b> Đối với hệ tống không gian màu trên các máy ảnh thì người ta dựa vào </b>

nhóm màu sắc mà phân chia các hệ thống không gian màu khác nhau. Ta sẽ tiếp xúc với những khơng gian màu chính sau đây: HLS (sắc thái, quang độ, và độ bão hòa), HSB (sắc thái, mức bão hòa và độ đâm nhạt), CMYM ( xanh hóa học, vàng, hồng sẫm, đen).

<b>Hình 1. 2 : Có nhiều hệ màu trong color space </b>

<i><b>1.3.1. Không gian màu RGB </b></i>

RGB là không gian màu phổ biến được sử dụng trong máy tính, máy ảnh, điện thoại và một số thiết bị kỹ thuật số khác. Không gian màu khá gần với mắt người. RGB là từ viết tắt của 3 màu: red (đỏ), green (xanh lục) và blue

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

(xanh lam) để biểu diễn tất cả màu sắc. Hiểu cách đơn giản, RGB là khơng gian màu sử dụng hệ màu chung. Vì thế khi trộn lại chúng sẽ cho ra rất nhiều màu khác nhau.

Thơng thường, trong mơ hình 24 bit (không gian màu mặc định sử dụng bởi OpenCV - tuy nhiên OpenCV đảo 2 kênh R và B, trở thành BGR), mỗi kênh màu sẽ sử dụng 8bit để biểu diễn, tức là giá trị R, G, B nằm trong khoảng 0 - 255. Bộ 3 số này biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường độ của một màu. Giới hạn màu trong không gian cũng được quy định như sau. Trong mơ hình 24 bit (không gian màu mặc định sử dụng bởi OpenCV), mỗi kênh màu sẽ có 8 bit để biểu diễn giới hạn màu của mình, có nghĩa là các giá trị R, G, B nằm trong khoảng 0-255. Khi 3 màu này biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường độ của một màu. Trong giới hạn biểu diễn 24 bit, số lượng màu tối đa sẽ là 16581375.

Ngoài ra, trong khơng gian màu cịn có 2 hệ màu chính đó là sRGB và Adobe RGB. Hai hệ màu sẽ có mức độ phân màu khác biệt nhau. Thơng thường hệ màu Adobe RGB sẽ có nhiều màu sắc hơn hệ màu sRGB là 30%.

<i><b>Hình 1. 3 : Không gian màu RGB </b></i>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<i><b>1.3.2. Không gian màu HSV </b></i>

Không gian màu HSV là một cách tự nhiên hơn để mô tả màu sắc, dựa trên 3 số liệu. HSV là một mơ hình màu hình trụ, biến đổi các màu cơ bản RGB thành các kích thước dễ hiểu hơn đối với con người. Giống như hệ màu Munsell, các kích thước này là Hue, Saturation và Value.

- Hue: xác định góc của màu trên vịng trịn màu RGB. Màu 0 ° tạo ra màu đỏ, 120 ° tạo ra màu xanh lục và 240 ° cho kết quả là màu xanh lam.

- Saturation: kiểm soát lượng màu được sử dụng. Màu có độ bão hịa 100% sẽ là màu tinh khiết nhất có thể, trong khi độ bão hòa 0% mang lại thang độ xám. - Value: kiểm sốt độ sáng của màu. Màu có độ sáng 0% là màu đen tuyền, màu có độ sáng 100% khơng có màu đen lẫn vào màu. Bởi vì thứ nguyên này thường được gọi là độ sáng, mơ hình màu HSV đơi khi được gọi là HSB.

Điều quan trọng cần lưu ý là ba chiều của mơ hình màu HSV phụ thuộc lẫn nhau. Nếu thứ nguyên giá trị của một màu được đặt thành 0%, thì lượng màu và độ bão hịa khơng quan trọng vì màu sẽ có màu đen. Tương tự như vậy, nếu độ bão hòa của màu được đặt thành 0%, màu sắc không quan trọng vì khơng có màu nào được sử dụng. Vì kích thước màu là hình trịn nên mơ hình màu HSV được mơ tả tốt nhất dưới dạng hình trụ. Điều này được minh họa trong ví dụ tương tác bên dưới, trong đó tất cả các hỗn hợp màu có thể được thể hiện trong các giới hạn của hình trụ.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>• </small><i><b>H: (Hue) Vùng màu </b></i>

<small>• </small><i><b>S: (Saturation) Độ bão hịa màu </b></i>

<small>• </small><i><b>B (hay V): (Bright hay Value) độ sáng 1.3.3. Không gian màu CIE LAB </b></i>

Không gian màu CIE Lab là khơng gian màu có sự đồng đều trong dải màu sắc, do vậy phù hợp để so sánh sự khác biệt giữa màu sắc này với màu sắc khác. Các giá trị Lab mô tả tất cả những màu mà mắt một người bình thường có thể nhìn thấy được.

Lab được xem là một mơ hình màu độc lập đối với thiết bị và thường được sử dụng như một cơ sở tham chiếu khi chuyển đổi một màu từ một không gian màu này sang một không gian màu khác.

<i><b>Hình 1. 4 : Khơng gian màu HSV </b></i>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Theo mơ hình Lab, tất cả các màu có cùng một độ sáng sẽ nằm trên cùng một mặt phẳng có dạng hình trịn theo 2 trục a* và b_. Màu có giá trị a_ dương thì ngả đỏ, màu có giá trị a* âm thì ngả lục. Tương tự b* dương thì ngả vàng và b* âm thì ngả lam. Cịn độ sáng của màu thì thay đổi theo trục dọc.

<b>1.4. XỬ LÝ HÌNH THÁI TRÊN ẢNH NHỊ PHÂN </b>

Hình ảnh nhị phân có thể chứa nhiều yếu tố khơng hồn hảo. Đặc biệt, các vùng nhị phân được tạo ra bằng các phép phân ngưỡng đơn giản và rất dễ xuất hiện nhiều nhiễu và cấu trúc không mong muốn.

Xử lý ảnh hình thái học (Morphological Image Processing=MIP) giúp loại bỏ nhiễu, làm đẹp cấu trúc và hình thức của ảnh nhị phân. Các phép toán của kỹ thuật này có thể áp dụng được trên ảnh xám.

<i><b>1.4.1 Khái niệm cơ bản </b></i>

Morphological Image Processing (MIP) là tập hợp các phép tốn phi tuyến tính (non-linear) tác động đến hình dạng hoặc hình thái của các điểm nhị phân

<i><b> Hình 1. 5 : Khơng gian màu CIE </b></i>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

trong ảnh. Dựa trên các phép toán AND, OR, XOR và NOT để biến đổi các điểm nhị phân.

Morphological Operator sẽ sử dụng một cấu trúc nhỏ quét qua và áp dụng toàn bộ ảnh được gọi là Structuring Element (SE). SE sẽ qt qua tồn bộ vị trí trong hình ảnh và so sánh với các pixel lân cận nằm trong vùng sẽ tương ứng.

<b> Phần tử cấu trúc (Structuring Element) là một ảnh nhị phân nhỏ. Tức là một ma trận nhỏ gồm các pixel mang giá trị 0 và 1: </b>

<small>• </small> Kích thước của ma trận xác định kích thước của SE.

<small>• </small> Pixel có giá trị 0 được bỏ qua trong q trình tính tốn.

<small>• </small> Ln có một pixel làm mốc trong ma trận SE.

<b> Hình 1. 6: Tốn tử hình thái (Morphological Operator)</b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Structuring Element hoạt động giống như ma trận tích chập (convolution kernel) trong lọc ảnh tuyến tính (linear image filtering). SE sẽ dịch chuyển toàn bộ ảnh với điểm mốc.

<i><b>1.4.2. Phép dãn (Dilation) và phép co (Erosion) </b></i>

<small>➢ </small> <b>Phép dãn của ảnh A bởi phần tử cấu trúc B cho ra ảnh G. Mỗi vị trí cấu trúc B quét qua được sẽ chọn giá trị lớn nhất và trả về điểm mốc tương </b>

ứng trên ảnh G.

<i><b>Hình 1. 7 : Phần tử cấu trúc (Structuring Element) </b></i>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<i><b>Hình 1. 8 : Minh họa về cách hoạt động của phép dãn </b></i>

<small>➢ </small> <b>Phép co của ảnh A bởi phần tử cấu trúc B cho ra ảnh G. Mỗi vị trí cấu trúc B quét qua được sẽ chọn giá trị nhỏ nhất và trả về điểm mốc tương </b>

ứng trên ảnh G.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<i><b>Hình 1. 9 : Minh họa về cách hoạt động của phép co </b></i>

Với thứ tự áp dụng phép dãn và co như thế nào để có thể lọc được các nhiễu như các hình ảnh dưới đây

<i><b>Hình 1. 10 : Kết quả phép dãn và phép co </b></i>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<i><b>1.4.3. Phép mở và đóng nhị phân (Opening and Closing) </b></i>

<b> Mở (Opening) là thực hiện phép co rồi bắt đầu thực hiện phép giãn với </b>

một cấu trúc. Giúp làm mượt các đường viền, phá vỡ các khe nhỏ, loại bỏ các đối tượng nhỏ, làm mượt các đỉnh lồi. 𝐴 ∘ 𝐵 = (𝐴 ⊖ 𝐵) ⊕ 𝐵.

<b> Đóng (Closing) là thực hiện phép giãn rồi bắt đầu thực hiện phép co với </b>

một cấu trúc. Giúp làm mượt các đường viền, loại bỏ các lỗ nhỏ, làm mượt các đỉnh khe hẹp. 𝐴 ⋅ 𝐵 = (𝐴 ⊕ 𝐵) ⊖ 𝐵

<i><b> Hình 1. 11 : Phép mở và đóng nhị phân </b></i>

Có một ảnh nhị phân vân tay bao gồm nhiễu và nhiều vân bị đứt nét. Sử dụng opening và closing lần lượt để loại bỏ nhiễu và nối liền các đường vân tay.

<b>Hình 1. 12 : Phép mở và đóng nhị phân các đường vân tay</b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Một ứng dụng khác về tách biên.

<i><b>Hình 1. 13: Ứng dụng khác của phép mơ và đóng nhị phân 1.4.4. Phép toán (Hit-or-Miss) </b></i>

Phép tốn cho phép trả về kết quả chứa thơng tin vị trí có cấu trúc giống với ma trận phần tử cấu trúc (Structuring Element). Với phép toán này cần cặp SE {B1, B2} lần lượt thực hiện theo công thức sau: 𝐴 ⊗ 𝐵 = (𝐴 ⊝ 𝐵<sub>1</sub>) ∩ (𝐴<small>𝑐</small> ⊖ 𝐵<sub>2</sub>).

Trong đó B (cặp SE {B1, B2}) sẽ mang giá trị -1 0 1. Kết quả ở mỗi vị trí SE quét qua sẽ bằng 1 nếu thoả điều kiện ở những vị trí -1 phải bằng 0, vị trí 1 phải bằng 1 và vị trí 0 khơng bắt buộc. Ví dụ cách tính được thể hiện ở hình ảnh sau:

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>Kết luận chương 1 </b>

Trong chương này, luận văn đã tìm hiểu tổng quan về xử lý ảnh như: 1. Giới thiệu chung về xử lý ảnh số

2. Tổng quan về các kỹ thuật xử lý ảnh số

3. các không gian máu và ảnh màu như: RGB, HSV, CIE...

4. Xử lý hình thái trên ảnh nhị phân như: phép dãn, phép cơ, phép mở và đóng nhị phân...

<i><b>Hình 1. 14: Phép tốn (Hit or Miss) </b></i>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>CHƯƠNG 2: CÁC PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT </b>

<b>2.1. EIGENFACES </b>

Eigenface là phương pháp áp dụng trực tiếp phép phân tích các thành phần PCA, nó đã được áp dụng rất nhiều vào biễu diễn, phát hiện và nhận dạng mặt. Ưu điểm của phương pháp này là biểu diễn được toàn bộ ảnh và có độ nén rất tốt (loại bỏ nhiễu và dư thừa).

<i><b>2.1.1. Các gian đoạn của Eigenfaces </b></i>

<b> Kỹ thuật Eigenfaces (Khuôn mặt riêng) sử dụng việc phân tích những </b>

thành phần chính của hình ảnh trên khn mặt. Việc phân tích này giảm thiểu được số kích thước của tập đào tạo giúp thuân tiện hơn cho việc nhận diện. Eigenfaces là một tập của những vector riêng được sử dụng trong bài toán thị giác máy tính trong nhận diện khuôn mặt người. Hướng giải quyết sử dụng eigenfaces cho nhận dạng đã được phát triển bởi Sirovit và Kirby và sau đó được Mattew Turk và Alex Pentland sử dụng trong phân loại khuôn mặt được coi như là sự thành công đầu tiên trong công nghệ nhận diện khuôn mặt. Những vector riêng được tính tốn từ ma trận hiệp phương sai phân phối xác suất của khơng gian vector kích thước nhiều chiều của những khn mặt người có thể chấp nhận. Việc coi một bức ảnh đầu vào là một đa chiều sẽ giúp cho việc xử lý bức ảnh trở thành việc xử lý tính tốn trên vector trong đại số tuyến tính. Do ảnh được biểu diễn trong khơng gian hai chiều thường có kích thước lớn, để cho việc tính tốn có hiểu quả, cần thiết phải có bước giảm số chiều vector. Thực tế thường sử dụng phương pháp thành phần chính PCA (Principal Component Analysis). Mục tiêu của phương pháp PCA là giảm số chiều của một tập các vector sao cho vẫn đảm bảo được tối đa các thông tin quan trọng nhất. Điều này có nghĩa là vẫn giữ được K đặc tính mới từ các thông tin chứ không phải giữ nguyên K đặc tính ban đầu, những đặc tính mới này được suy

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

ra từ những dặc tính cũ. Nói một cách ngắn gọn, mục tiêu của phương pháp PCA là tìm ra một khơng gian với số chiều nhỏ hơn không gian cũ mà các trục tọa độ của không gian mới được xây dụng sao cho trên mỗi trục, độ biến thiên dữ liệu là lớn nhất có thể. Một điểm nữa là các trục tọa độ trong không gian mới luôn đảm bảo trực giao đôi một với nhau. Vector x ban đầu có N chiều, vector y mới được tạo hình chỉ cịn K chiều. khi loại bỏ một số thành phần của vector x để thu được vector y sẽ gây ra sai số, phương pháp PCA sẽ cố gắng tìm phép biến đổi tuyến tính T thỏa mãn y=Tx sao cho trung bình phương lỗi (MSE) là bé nhất

❖ Chia thành 2 giai đoạn

- Giai đoạn tìm các mặt riêng (Eigenfaces) - Giai đoạn nhận dạng

➢ Giai đoạn tìm các mặt riêng

+ Bước 1: Giả sử tập ảnh huấn luyện gồm M ảnh khuôn mặt: Γ<sub>1</sub>, Γ<sub>2</sub>, … Γ<sub>𝑀</sub>

Với tập ảnh huấn luyện trên ta tính được ảnh trung bình như sau:

+ Bước 3: Tính độ sai khác giữa ảnh huấn luyện Γ<sub>𝑖</sub> so với ảnh trung bình

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

▪ Vấn đề về tìm vector riêng (eigenvector) u<small>i</small> của ma trận C khó thực hiện được vì kích thước q lớn.

❖ Để tìm eigenvector u<small>i</small> của C ta thực hiện như sau: Giả sử v<small>i</small> là vector riêng của ma trận A<small>T</small>A, tức là:

𝚨<sup>𝑻</sup>𝑨𝒗<sub>𝒊</sub> = 𝝁<sub>𝒊</sub>𝒗<sub>𝒊</sub><b> </b>

Nhân 2 về với ma trận A ta được:

𝑨𝑨<sup>𝑻</sup>𝑨𝒗<sub>𝒊</sub> = 𝝁<sub>𝒊</sub>𝑨𝒗<sub>𝒊 (𝟐.𝟒)</sub> ➢ Như vậy Av<small>i</small> là eigenvector của C

❖ Để tìm eigenvector u<small>i</small> của C ta thực hiện như sau(tt): - Tìm eigenvector là eigenvalue của ma trận L: Hay còn gọi là mặt riêng (eigenface)

❖ Từ M eigenvector (u<small>i</small>), chọn ra 𝑀<sup>′</sup> eigenvector ứng với 𝑀<sup>′</sup>giá trị riêng đầu tiên trong mảng các giá rị riêng (được sắp xếp giảm dần).

❖ Thường chọn 𝑀<small>′</small> sao cho [3]:

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

Sử dụng các ảnh khuôn mặt l<small>1</small>, l<small>2</small>,…, l<small>n</small> (tập các khuôn mặt huấn luyện) với khn mặt phải chính diện và tất cả ảnh phải cùng kích thước.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Biểu diễn mọi ảnh l<small>i</small> thành vector Γ<sub>𝑖</sub>

<b> Ví dụ: Để đơn giản ta giả sử chỉ có 4 ảnh trong tập huấn luyện (kích thước </b>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Tính các vector riêng v<small>i </small>(eigenvectors) của ma trận vng 𝐴<sup>𝑇</sup>. 𝐴 này Ở đây ta sẽ tìm được 4 trị riêng của ma trận 𝐴<small>𝑇</small>. 𝐴, tuy nhiên ta sẽ sắp xếp lại theo thứ tự giảm dần, và chỉ lấy các trị riêng “non-Zero”. Kết quả ta được 3 trị riêng (từ đó tính ra 3 vector riêng tương ứng):

Sau khi đã tính được các vector V<small>i </small>(có kích thước Mx1), ta sẽ dễ dàng suy ra được các vector riêng u<small>i </small>(kích thước N<small>2</small>x1) mong muốn cần tìm,

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

➢ Ta rút ra được chú ý sau (theo TOÁN HỌC):

❖ Ma trận 𝐴. 𝐴<small>𝑇</small> có thể có đến N<small>2 </small>trị chỉ riêng (mỗi trị riêng sẽ ứng với vô số vector riêng – nó được gọi là “khơng gian riêng ứng với trị riêng nào đó”).

❖ Ma trận 𝐴<small>𝑇</small>. 𝐴 có thể có đến M trị riêng.

❖ M trị riêng của ma trận 𝐴<small>𝑇</small>. 𝐴 (kèm với các vector riêng tương ứng), sẽ ứng với M trị riêng lớn nhất của 𝐴<sup>𝑇</sup>. 𝐴 (cái này quan trọng bởi ta đang đi tìm các hướng biến thiên quan trọng nhất).

- Bước 5.3:

Tính M vector riêng u<small>i</small> tốt nhất của 𝐴. 𝐴<sup>𝑇</sup> theo công thức (*)

<small>Thành quả cuối cùng. Đây chính là các vector cơ sở của không gian mới. Ta gọi các </small>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

- Sắp xếp theo thứ tự dãy giảm dần các eigenvalues tìm được.

- Theo dõi sự biến thiên của dãy trên, khi khơng cịn biến thiên (hoăc xếp

Sau khi đã có các vector riêng nhờ PCA, ta có thể biểu diễn các khn mặt có sẵn vào khơng gian vector như sau: Mỗi khuôn mặt Φ<sub>𝑖</sub> trong tập huấn luyện có thể được biểu diễn lại thành tổng hợp tuyến tính của K vector riêng có trị riêng lớn nhất.

Φ<sub>𝑖</sub> = ∑<sup>𝑘</sup><sub>𝑗=1</sub><small>w</small>𝑢<sub>𝑗</sub><sup>𝑇</sup>. Φ<sub>𝑖</sub> Trong đó <small>w</small><sub>𝑗</sub> = 𝑢<sub>𝑗</sub><sup>𝑇</sup>. Φ<sub>𝑖</sub>

Ta gọi các vector riêng u<small>i </small>là các Eigenfaces (khuôn mặt riêng). Như vậy, từ bây giờ, mỗi khuôn mặt trong tập huấn luyện Φ<sub>𝑖</sub> sẽ được biểu diễn trong không gian mới.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Để nhận diện một khuôn mặt mới, ta gọi là khuôn mặt chưa xác định được danh tính <small></small> (ảnh chính diện được đưa về kích thước giống trong tập mẫu). Giai đoạn nhận dạng này giống hệt giai đoạn biểu diễn ảnh khuôn mặt trong tập mẫu. Ta thực hiện lượt các bước sau:

+ Bước1: Chuẩn hóa <small> Φ = Γ − Ψ </small>

<small> </small>Điều này cũng tương ứng như quy vector dù về không gian với gốc tọa độ mới (gốc tọa độ này gọi là meanface).

+ Bước2: Biểu diễn Φ thành Ω như sau:

+ Bước4: Nếu e<sub>𝑟</sub> < 𝑇<sub>𝑟</sub> (𝑇<sub>𝑟</sub> là một ngưỡng chọn chấp nhận được nào đó). Tức là ảnh khn mặt cần xác định “đủ gần” với ảnh của người thứ l trong tập mẫu. khi đó, ta kết luận chính là khuôn mặt của người thứ l.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<i><b>2.1.3. Sử dụng Eigenface để phân lớp </b></i>

Hình ảnh Eigenface được tính tốn từ các eigenvectors của L kéo dài một bộ cơ sở để mô tả hình ảnh khn mặt. Sirovich và Kirby đã đánh giá một phiên bản giới hạn của khuôn khổ này trên một tập hợp M = 115 hình ảnh của nam giới da trắng, được số hóa một cách có kiểm sốt, và nhận thấy rằng khoảng 40 biểu tượng mặt chữ là đủ để mô tả rất tốt tập hợp các hình ảnh khn mặt. Với 𝑀<sup>′</sup>= 40 eigenfaces, sai số pixel-by-pixel RMS trong việc biểu diễn các phiên bản cắt xén của hình ảnh khn mặt là khoảng 2%.

Vì các Eigenface có vẻ phù hợp để mơ tả hình ảnh khn mặt trong các điều kiện được kiểm sốt rất chặt chẽ, chúng tơi quyết định điều tra tính hữu dụng của chúng như một công cụ để nhận dạng khuôn mặt. Trong thực tế, 𝑀<sup>′</sup>nhỏ hơn là đủ để nhận dạng, vì khơng cần phải tái tạo chính xác hình ảnh. Trong khn khổ này, nhận dạng trở thành một nhiệm vụ nhận dạng mẫu. Các eigenfaces trải dài một khơng gian con có chiều 𝑀<sup>′</sup>của không gian ảnh ban đầu N<small>2</small>. Các giá trị riêng quan trọng 𝑀<sup>′</sup>của ma trận L được chọn là những giá trị riêng có liên quan lớn nhất. Trong nhiều trường hợp thử nghiệm của chúng tôi, dựa trên hình ảnh khn mặt M = 16, 𝑀<sup>′</sup>= 7 eigenfces đã được sử dụng.

Một hình ảnh khuôn mặt mới (Γ) được chuyển đổi thành các thành phần eigenface của nó (dự án thành "không gian khuôn mặt") bằng một thao tác đơn giản. Với k = 1,…, 𝑀<sup>′</sup>. điều này mô tả một tập hợp các phép nhân và tổng của hình ảnh từng điểm, các phép tốn được thực hiện ở tốc độ khung hình xấp xỉ trên hình ảnh hiện tại và phép chiếu của nó vào không gian mặt bảy chiều.

Các trọng số tạo thành một vectơ Ω<sup>𝑇</sup> = (𝜔<sub>1</sub>, 𝜔<sub>2</sub>, . . , 𝜔<sub>𝑀"</sub>) mơ tả sự đóng góp của mỗi eigenface trong việc đại diện cho hình ảnh khn mặt đầu vào, coi các eigenface như một bộ cơ sở cho các hình ảnh khn mặt. Sau đó, vectơ có thể được sử dụng trong thuật toán nhận dạng mẫu tiêu chuẩn để tìm ra một số

</div>

×