- i -
MỤC LỤC
Danh mục hình vẽ iii
Lời nói ñầu iv
Mở ñầu 1
Chương 1. ðặt vấn ñề 4
Chương 2. Phân tích hệ thống và các cơ sở lý thuyết 6
2.1. Tổng quan về ảnh số và xử lý ảnh số 6
2.1.1. Ảnh số 6
2.1.2. Xử lý ảnh số 7
2.2. Thu thập ảnh số 9
2.3. Nhận dạng mặt người từ ảnh 9
2.4. Tách mặt người trong ảnh số 10
2.4.1. Sử dụng ngưỡng màu 11
2.4.2. Trừ ảnh với nền không ñổi 12
2.5. Một số phương pháp tiếp cận với nhận dạng mặt người 12
2.5.1. Nhận dạng dựa trên mối quan hệ giữa các phần tử (Feature Based) 13
2.5.2. Nhận dạng dựa trên xét toàn diện khuôn mặt (Appearance Based) 13
2.6. Nội dung phương pháp PCA 17
2.7. Sơ ñồ khối và nhiệm vụ từng khối trong hệ thống 18
2.7.1. Sơ ñồ khối phần cứng 18
2.7.2. Sơ ñồi khối phần mềm: 20
Chương 3. Thiết kế chi tiết và triển khai hệ thống 24
3.1. Thu thập và tách mặt người trong ảnh 24
3.2. Chuẩn hóa ảnh 25
3.2.1. Cắt và xoay chuẩn ảnh: 25
3.3. Trích chọn ñặc tính bằng phương pháp PCA 29
3.3.1. Quá trình học 30
3.3.2. Quá trình tạo ñặc tính 37
3.4. Quá trình nhận dạng 39
Chương 4. Các kết quả triển khai hệ thống và áp dụng 41
4.1. Lựa chọn thiết bị và công cụ lập trình 41
4.1.1. Camera 41
4.1.2. PC 41
4.1.3. Công cụ lập trình 41
- ii -
4.2. Các hàm sử dụng 41
4.2.1. Khối tách ảnh ñối tượng 41
4.2.2. Khối tiền xử lý 42
4.2.3. Khối trích chọn ñặc tính 42
4.2.4. Khối nhận dạng: 43
4.3. Giao diện 44
4.2. Kết quả nhận dạng 47
4.2.1. Test với bộ dữ liệu có sẵn 47
4.2.2. Test với bộ dữ liệu ñược lấy từ webcam hệ thống 49
Chương 5. Kết luận và hướng phát triển 52
Tài liệu tham khảo 55
- iii -
Danh mục hình vẽ
Hình 2.1. Mô hình tổng quát 2 khối chính của hệ thống 6
Hình 2.2. Một số hệ tọa ñộ màu cơ bản 7
Hình 2.3. Hệ thống ñánh giá chất lượng ống thép trên cơ sở xử lý phim X-Quang số 8
Hình 2.4. Mô hình tổng quát khối thu thập ảnh số 9
Hình 2.5. Phương pháp tách mặt người sử dụng ngưỡng màu da 11
Hình 2.6. Phương pháp trừ ảnh với nền không ñổi. 12
Hình 2.7. Không gian mới (u1, u2) theo hướng phân bố mạnh nhất của các vector trong
không gian (x1, x2), tìm theo PCA 14
Hình 2.8. Phân loại theo PCA 14
Hình 2.9. Phân loại với LDA 15
Hình 2.10. Phân loại dựa trên between và within theo LDA. 16
Hình 2.11. Mô hình phần cứng của hệ thống 18
Hình 2.12: Thu thập hình ảnh từ webcam theo các chuẩn khác nhau bằng thư viện Image
Acquisition Toolbox của MATLAB 19
Hình 2.13: Luồng dữ liệu ảnh và thu nhận frame ảnh bằng MATLAB 20
Hình 2.14. Sơ ñồ khối phần mềm hệ thống nhận dạng mặt người 20
Hình 3.1. Quá trình thu thập và tách ñối tượng khỏi ảnh 24
Hình 3.2. Khối chuẩn hóa ảnh 25
Hình 3.3. Xác ñịnh vùng mắt bằng phân tích lược ñồ mức xám 26
Hình 3.4. Quá trình ñặt ngưỡng tách vùng mắt. 26
Hình 3.5. Xác ñịnh tâm mắt của ñối tượng 27
Hình 3.6. Xác ñịnh góc nghiêng của khuôn mặt dựa trên tâm mắt. 27
Hình 3.7. Xoay chuẩn ñối tượng theo góc
α
28
Hình 3.8. Kết quả cân bằng mức xám. 29
Hình 3.9. Sơ ñồ bên trong khối Trích chọn ñặc tính sử dụng PCA 30
Hình 3.10 (a). Các ảnh học của bộ dữ liệu 1 31
Hình 3.10 (b). Các ảnh học của bộ dữ liệu 2 32
Hình 3.11. Chuẩn hóa ma trận ảnh 33
Hình 3.12. Trung bình ảnh của các tập dữ liệu học 33
Hình 3.13. Biều ñồ giá trị riêng của covariance matrix cho bộ 1. 35
Hình 3.14. 34 eigenfaces tìm ñược 36
Hình 3.15. Biều ñồ giá trị riêng của covariance matrix cho bộ 2 36
Hình 3.16. 26 eigenfaces tìm ñược 37
Hình 3.17. Khôi phục ảnh từ các vec-tơ ñặc tính 38
Hình 3.18. Nhận dạng theo khoảng cách Euclide. 39
Hình 4.1. Giao diện chương trinh, với kết quả là nhận dạng ñược ñối tượng 44
Hình 4.2. Giao diện chương trinh, với kết quả là không nhận dạng ñược ñối tượng 45
s
Hình 4.3. Cửa sổ Create Data 46
Hình 4.4. Kết quả nhận dạng ñúng, trường hợp “dễ nhận dạng”. . 47
Hình 4.5. Kết quả nhận dạng ñúng,trường hợp “khó nhận dạng”. 47
Hình 4.6. Một số trường hợp nhận dạng sai hoàn toàn 48
Hình 4.7. .Kết quả nhận dạng sai do vượt ngưỡng 48
Hình 4.8. Kết quả nhận dạng ñúng,trường hợp “dễ nhận dạng”. 49
Hình 4.9. Kết quả nhận dạng ñúng,trường hợp “khó nhận dạng”. 49
Hình 4.10. Trường hợp nhận dạng sai do vượt ngưỡng. 50
Hình 4.11. Trường hợp nhận dạng sai hoàn toàn do ñối tuợng ñứng quá gần camera 50
Hình 4.12. Các trường hợp nhận dạng sai hoàn toàn của bộ dữ liệu 51
- iv -
Lời nói ñầu
Hiện nay, cùng với sự phát triển của xã hội, vấn ñề an ninh bảo mật ñang ñược yêu
cầu khắt khe tại mọi quốc gia trên thế giới. Các hệ thống xác ñịnh, nhận dạng con
người ñược ra ñời với ñộ tin cậy cao. Một trong những bài toán nhận dạng con người
ñược quan tâm nhất hiện nay ñó là nhận dạng qua khuôn mặt. Vì nhận dạng qua khuôn
mặt là cách mà con người sử dụng ñể phân biệt nhau. Bên cạnh ñó, ngày nay việc thu
thập, xử lý thông tin qua ảnh ñể nhận biết ñối tượng ñang ñược quan tâm và ứng dụng
rộng rãi. Với phương pháp nay, chúng ta có thể thu nhận ñược nhiều thông tin từ ñối
tượng mà lại không cần tác ñộng nhiều ñến ñối tượng nghiên cứu. Với sự phát triển
của khoa học máy tính, bài toán nhận dạng mặt người từ ảnh số ñang có ñược môi
trường phát triển hết sức thuận lợi. Các hệ thống nhận dạng offline ñã ra ñược ra ñời
và có ñộ tin cậy phù hợp, tuy nhiên các hệ thống nhận dạng online lại chưa ñáp ứng
ñược nhiều.
Dựa trên các lý thuyết về tách mặt người và nhận dạng mặt người, ñồ án ñã tìm hiểu
và xây dựng một hệ thống thu thập và nhận dạng mặt người online từ ảnh số. ðồ án ñã
ñạt ñược một số kết quả nhất ñịnh.
Em xin chân thành cảm ơn PGS. TSKH. TRẦN HOÀI LINH ñã tận tình hướng dẫn.
Xin cảm ơn Công ty TNHH Tin học và ðiện tử Thăng Long cùng chú VŨ QUANG
THÀNH ñã tạo ñiều kiện giúp ñỡ, cho em nhiều lời khuyên bổ ích trong quá trình thực
tập tốt nghiệp và làm ñồ án.
Hà Nội, ngày 20 tháng 5 năm 2009
Sinh viên thực hiện
Nguyễn ðăng Dũng
- 1 -
Mở ñầu
Hiện nay, vấn ñề kiểm soát an ninh ñang là một trong những vấn ñề ñược quan tâm
hàng ñầu trên toàn thế giới. Bài toán nhận dạng vì vậy ñược quan tâm rất nhiều. Trong
vấn ñề nhận dạng con người, ñã có nhiều phương pháp ñược ñưa ra và có ñộ chính xác
cao.
Các bài toán nhận dạng ñược áp dụng theo hai con ñường: nhận dạng offline và
nhận dạng online.
Nhận dạng offline
: ðối tượng ñược thu thập thành các file dữ liệu và ñược chuyển
về trung tâm. Tại ñó, các số liệu sẽ ñược phân tích xử lý, thời xử lý không yêu cầu quá
khắt khe.
Nhận dạng online
: ðối tượng ñược thu thập và xử lý trực tiếp tại hiện trường. Thời
gian xử lý luôn ñược yêu cầu khắt khe ñể có thể bám theo ñược ñối tượng.
Một bài toán nhận dạng con người ñang phổ biến hiện nay:
- Nhận dạng vân tay
- Nhận dạng bàn tay
- Nhận dạng vân mắt
- Sử dụng thẻ xác nhận
…
Các phương án nhận dạng trên ñã qua một thời gian dài phát triển nên ñã ñạt ñược
ñộ chính xác cao.
Tuy nhiên, các phương pháp này vẫn còn gặp phải một số hạn chế như sau:
- Các hệ thống trên ñòi hỏi người sử dụng phải tiếp xúc trực tiếp với hệ thống,
người ñó ý thức ñược rằng mình ñang ñược nhận dạng.
- Với các hệ thống thẻ xác nhận, người nhận biết yêu cầu phải có thẻ, ñiều này chỉ
có thể áp dụng với các thành viên thường xuyên ra vào hệ thống.
- Với các hệ thống vân mắt, vân tay,… không phải bao giờ ta cũng có thể lấy
ñược mẫu của ñối tượng.
- Nhận dạng dựa vào vân tay, bàn tay, vân mắt, thẻ xác nhận,… không phải là
cách tự nhiên mà con người sử dụng ñể nhận biết.
- …
Hiện nay, với sự phát triển của toán học và khoa học máy tính, một trong các bài
toán nhận dạng ñang ñược quan tâm nghiên cứu nhiều là nhận dạng khuôn mặt. Mặc
dù nhận dạng khuôn mặt hiện nay chưa ñạt ñược ñộ chính xác cao như một số phương
pháp khác ñã nêu trên (ví dụ nhận dạng vân tay), nhưng nhận dạng khuôn mặt vẫn
luôn nhận ñược nhiều sự quan tâm của khoa học vì một số các lý do như sau:
- Nó gắn liền với cách mà con người nhận biết.
- 2 -
- Với các hệ thống camera số, ta có thể dễ dàng lấy ñược thông tin về ñối tượng
mà không cần tiếp xúc trực tiếp.
- Giám sát ñược ñối tượng một cách kín ñáo.
- Các thuật toán phức tạp ñược hỗ trợ bởi các hệ máy tính có tốc ñộ cao.
- …
Nhận dạng khuôn mặt offline ñã có nhiều công trình công bố và các thuật toán có
ñộ chính xác tương ñối cao. Tuy nhiên ñể kết hợp với các hệ thống khác ñể tạo ra một
hệ thống nhận dạng online thì vẫn chưa ñạt ñược kết quả mong ñợi. Hệ thống nhận
dạng mặt người online sẽ mang lại thêm một giải pháp kiểm soát an ninh phù hợp với
các ñiều kiện mà các hệ thống nhận dạng khác không thỏa mãn ñược.
Với hệ thống nhận dạng mặt người online có ñược ñộ tin cậy cao hơn, thì các ñiều
kiện ñầu vào nên ñược quy ñịnh chặt chẽ hơn.
ðồ án ñược thực hiện với mục ñích nghiên cứu xây dựng một hệ thống nhận dạng
mặt người online như trên.
Yêu cầu ñặt ra của ñồ án như sau: xây dựng một hệ thống nhận dạng mặt người
online với ñầu vào là ảnh khuôn mặt người cần nhận dạng, ñược thu thập bằng camera
số, ñầu ra là kết quả nhận dạng cho khuôn mặt ñó.
Nhiệm vụ ñặt ra của ñồ án là giải quyết yêu cầu trên.
ðể có thể xử lý ñược bài toán trên, ñồ án ñề xuất hướng tiếp cận là sử dụng các kỹ
thuật xử lý ảnh số. Các ảnh số ñược thu thập bằng camera số và xử lý thông qua máy
tính PC.
ðây là hệ thống nhận dạng online nên có yêu cầu về thời gian
Bài toán nhận dạng mặt người online là sự kết hợp của 2 bài toán:
- Bài toán xác ñịnh mặt người trong ảnh số (Human Face Detection)
- Bài toán nhận dạng mặt người (Face Recognition)
Trong hai bài toán này, bài toán xác ñịnh mặt người là bài toán mang tính quyết
ñịnh tới ñộ chính xác của hệ thống. Khuôn mặt ñược xác ñịnh “tốt” sẽ mang lại kết
quả cao cho quá trình nhận dạng.
Việc lựa chọn phương án giải quyết hai bài toán trên phải tính toán tới thời gian xử
lý. Do hệ thống là online, nên ñể có thể theo dõi ñược ñối tượng thì thời gian xử lý
phải ñủ nhanh.
Trong khuôn khố thời gian cho phép, ñồ án ñã ñặt ra một số ñiều kiện cụ thể và giải
quyết các bài toán liên quan, ñề xuất hệ thống phần cứng và xây dựng chương trình
phần mềm ñể phục vụ các yêu cầu trên.
ðây là bài toán thuộc lĩnh vực xử lý ảnh số nên ñồ án sẽ tập trung nghiên cứu nhiều
nhất về ảnh số và xử lý ảnh số. ði kèm theo ñó, ñồ án tìm hiểu về thu thập ảnh, các
phương pháp tách mặt người và nhận dạng mặt người. Sau ñó, ñồ án lựa chọn phương
- 3 -
án ñể thực hiện giải quyết bài toán ñề ra. Sau khi lựa chọn phương án, ñồ án sẽ ñi vào
thiết kế và thi công các khối của hệ thống. Cuối cùng ñồ án trình bày về các kết quả ñã
ñạt ñược, những tồn tại và hướng phát triển của ñề tài.
Nội dung trình bày của ñồ án bao gồm 5 chương chính và danh sách các tài liệu
tham khảo.
- Chương 1 trình bày về yêu cầu ñối với ñầu vào và ñầu ra, thời gian thực hiện
của hệ thống.
- Chương 2 trình bày về ảnh số và xử lý ảnh số, ứng dụng của xử lý ảnh số trong
tách và nhận dạng mặt người, các phương pháp hiện có và lựa chọn phương án
ñể giải quyết yêu cầu ñề ra.
- Chương 3 nói về quá trình thiết kế và thi công các phần của ñồ án.
- Chương 4 là các kết quả, giao diện chương trình, các trường hợp ñúng, các
trường hợp sai và phân tích các trường hợp sai.
- Chương 5 trình bày về các kết quả ñã ñạt ñược, các tồn tại và hướng phát triển
của ñồ án.
- Chương 6 là danh mục các tài liệu tham khảo.
.
1. ðặt vấn ñề
- 4 -
Chương 1. ðặt vấn ñề
Như ñã trình bày, hiện nay nhiều phương pháp ñã ñược ñưa ra phục vụ cho nhận
dạng khuôn mặt và ñã ñạt ñược ñộ tin cậy nhất ñịnh khi kiểm tra bằng các hệ thống
nhận dạng offline. Tuy nhiên khi áp dụng cho hệ thống online, kết quả thu ñược chưa
cao. Lý do dẫn ñến kết quả ñó, phần lớn là do tác ñộng của ñiều kiện xung quanh.
Các yếu tố ảnh hưởng tới kết quả nhận dạng (ảnh hưởng của ñiều kiện biên):
- Ánh sáng: Ảnh số biểu diễn cường ñộ sáng của ñối tượng, do ñó khi ánh sáng
thay ñổi, thông tin về ñối tượng sẽ bị ảnh hưởng.
- Cự ly của ñối tượng so với camera: khoảng cách ñối tượng so với camera sẽ xác
ñịnh số pixel ảnh quy ñịnh nên khuôn mặt.
- Cảm xúc biểu cảm trên khuôn mặt: các nét biểu cảm cảm xúc trên khuôn mặt
gây ra nhiễu, việc loại nhiễu này vẫn chưa có phương pháp hiệu quả.
- Tư thế ñứng của ñối tượng (nghiêng, xoay,…): tư thế của ñối tượng sẽ xác ñịnh
thông tin của ñối tượng ñó. Việc tư thế thay ñổi quá lớn sẽ làm thay phần lớn
thông tin về ñối tượng, dẫn ñến kết quả nhận dạng sai.
- Trang phục của ñối tượng: Kết quả nhận dạng có thể bị ảnh hưởng lớn nếu như
ñối tượng có các trang phục khác biệt so với mẫu như ñeo kính, ñội mũ,
ðể giải quyết ñược bài toán này, ñồ án ñưa ra các biện pháp ñể giảm thiểu các khả
năng gây sai số ñã nêu trên như yêu cầu ánh sáng ổn ñịnh, tư thế của ñối tượng là
tương ñối thẳng, cự ly từ ñối tượng ñến camera ñược quy ñịnh cụ thể, ….
Bài toán ñược ñặt ra như sau:
Xây dựng hệ thống thu thập và nhận dạng mặt người với ñầu vào là ảnh số chứa
ñối tượng cần nhận dạng, hệ thống sẽ ñưa ra 3 ảnh trong cơ sở dữ liệu có mức ñộ
tương khớp cao nhất và kết luận kết quả nhận dạng. Phương pháp nhận dạng dựa trên
phân tích xử lý ảnh số và theo mô hình khoảng cách ngắn nhất. Thời gian thực hiện
ñược yêu cầu
5s
≤
.
Yêu cầu của ảnh ñầu vào:
- Ảnh ñược lấy từ Camera kỹ thuật số, có chứa hoặc không chứa ñối tượng, ñược
truyền về PC ñể lưu trữ, xử lý và phân tích.
- Yêu cầu ñối với ảnh:
o Nền không ñổi, ánh sáng tương ñối ổn ñịnh, camera ñược ñặt cố ñịnh
o Người cần nhận dạng ñứng cách camera khoảng 1m, tư thế tương ñối
thẳng và ngay ngắn.
o Người cần nhận dạng không nên ñể tóc phủ mắt, không ñeo kính (yêu cầu
này ñược ñặt ra khi hệ thống sử dụng phương pháp tìm mắt ñể ñịnh vị
khuôn mặt)
1. ðặt vấn ñề
- 5 -
Yêu cầu ñầu ra:
- Nếu ảnh không chứa ñối tượng, hoặc là người chưa có trong cơ sở dữ liệu
(tương ứng với hệ số tương thích nhỏ) thì kết quả trả lời là không nhận biết
ñược.
- Nếu ảnh chứa ñối tượng và người ñó có trong cơ sở dữ liệu, hệ thống ñưa ra màn
hình ảnh và thông tin về người ñó.
Thời gian thực hiện: Hệ thống này ñang ñược dự kiến triển khai phối hợp với các hệ
thổng cảnh báo tại các cửa vào ra, trong ñó các người ra vào sẽ ñược chụp ảnh tại các
cửa và so sánh với các ảnh ñã có trong cơ sở dữ liệu ñể ñưa ra các cảnh báo cần thiết.
Với yêu cầu này, khi lưu lượng người vào ra không lớn thì ta có thể cho phép quá
trình thu thập và nhận dạng diễn ra trong khoảng thời gian < =5s, ở phần hướng phát
triển của ñồ án, các phương pháp nâng cao tốc ñộ xử lý sẽ ñược trình bày.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 6 -
Chương 2. Phân tích hệ thống và các cơ sở lý thuyết
ðể giải quyết bài toán ñặt ra một cách tương ñối trọn vẹn, hệ thống sẽ bao gồm cả
phần thu thập ảnh bằng các thiết bị số và phần xử lý các ảnh số ñể ñưa ra kết quả nhận
dạng. ðồ án thiết lập sơ ñồ khối tổng quát của hệ thống như trên hình 3:
Hình 2.1. Mô hình tổng quát 2 khối chính của hệ thống.
Trong chương 2, ñồ án sẽ trình bày về tổng quan ảnh số và xử lý ảnh số, ứng dụng
của xử lý ảnh số trong tách và nhận dạng mặt người, các phương pháp hiện có và lựa
chọn phương án ñể giải quyết yêu cầu ñặt ra.
2.1. Tổng quan về ảnh số và xử lý ảnh số
2.1.1. Ảnh số
Ảnh số là kết quả của quá trình ghi lại hình ảnh của sự vật, ñược mã hóa thành tín
hiệu số.
Ảnh số là một dạng tín hiệu hai chiều, biểu diễn sự quan hệ về ñộ sáng giữa các
ñiểm trong một mặt phẳng. Mỗi phần tử của ma trận ảnh biểu diễn cho mức xám hay
còn gọi là cường ñộ sáng tại ñiểm ñó. Mỗi phần tử ảnh trong thông thường ñược kí
hiệu là pixel. Mức xám của mỗi ñiểm ảnh ñược mã hóa, và dựa vào số bit mã hóa,
người ta phân loại ảnh số thành một số dạng sau:
- Ảnh ñen trắng: sử dụng một bit ñể mã hóa. Nếu pixel nhận giá trị 0, ñiểm ñó có
màu ñen. Nếu pixel nhận giá trị 1, ñiểm ñó có màu trắng.
- Ảnh xám: Sử dụng 8 bit ñể biểu diễn mức xám, giá trị của mỗi pixel nhận giá trị
nguyên từ 0 - 255. Với mức 0 biểu diễn cho mức cường ñộ tối nhất và 255 biểu diễn
cho mức cường ñộ sáng nhất.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 7 -
- Ảnh màu: Cách biểu diễn cũng tương tự như với ảnh xám, chỉ khác là mỗi pixel
ñược tổ hợp bởi các màu riêng biệt. Ví dụ hệ màu Red-Green-Blue (RGB), mỗi pixel
ñược tổng hợp từ 3 màu Red, Green và Blue. Mỗi màu ñược biểu diễn bởi 8 bit và có
dải từ 0 - 255. Các kênh màu thường ñược sử dụng: RGB, YCbCr, HSV,… Tùy vào
việc ứng dụng ñể lựa chọn kênh màu phù hợp. Giữa các kênh màu có các phép chuyển
ñổi.
'
x x
P A P
= ×
(2.1)
với:
P
x
: Không gian biểu diễn màu ban ñầu
P
x
’: Không gian biểu diễn màu mới
A: Ma trận biểu diễn phép biến ñổi
Hệ tọa ñộ RGB Hệ tọa ñộ HSV
Hình 2.2. Một số hệ tọa ñộ màu cơ bản
2.1.2. Xử lý ảnh số
Ảnh số mang thông tin về hình ảnh ñối tượng, biểu diễn thông tin ñó dưới dạng mức
xám của ñiểm ảnh và mối quan hệ giữa các mức xám ñó. Do vậy, qua việc phân tích
các mối quan hệ ñó ta có thể xác ñịnh hoặc ước lượng ñược thông tin về vật thể cần
quan tâm. Tùy vào lĩnh vực và mục ñích mà xử lý ảnh số ñược áp dụng theo các mức
ñộ khác nhau. Trong lĩnh vực ño lường - ñiều khiển, kết quả từ xử lý ảnh số (nhận
dạng vật thể, ước lượng vật thể,…) ñược sử dụng làm tín hiệu cho các cơ cấu ñiều
khiển về sau.
Hình 2.1 minh họa một hệ thống ñánh giá chất lượng thép bằng kỹ thuật xử lý ảnh
số. Các ảnh số sử dụng trong hệ thống này ñược chụp bằng tia X-quang, còn gọi là ảnh
X-quang số. Kết quả ñánh giá ñược truyền về các khâu ñiều khiển về sau.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 8 -
(a)
(b)
Hình 2.3. Hệ thống ñánh giá chất lượng ống thép trên cơ sở xử lý phim X-Quang số: a- sơ ñồ khối, b –
hệ thống thực tế
MATLAB là công cụ rất mạnh cho việc xử lý tín hiệu nói chung và xử lý ảnh nói
riêng. Hầu hết các thuật toán về ảnh và xử lý ảnh cơ bản ñều có mặt trong thư viện, ví
dụ các hàm ñọc, xuất ảnh, chuyển ñổi giữa các hệ màu của ảnh, các thuật toán phát
hiện biên, tách ñối tượng, khớp mẫu, các phép biến ñổi ảnh như xoay ảnh, chuẩn kích
thước, tịnh tiến, Các hàm xử lý ảnh của Matlab ñều ñược tích hợp trong thư viện
Toolbox /Images.
Câu lệnh Matlab ñược viết rất sát với các mô tả kỹ thuật, câu lệnh ñơn giản. Vì vậy
các thuật toán, chương trình trong ñồ án ñều ñược thể hiện qua ngôn ngữ của phần
mềm Matlab.
Như ñã trình bày, bài toán gồm 2 khối là khối thu thập ảnh và khối xử lý ảnh số. sau
khi ñiểm qua về ảnh số và xử lý ảnh số, ñồ án tiếp cận với vấn ñề thu thập và xử lý ảnh
số trong nhận dạng mặt người. ðây là 2 bài toán có quan hệ với nhau mật thiết, việc
tách mặt tốt sẽ chiếm vai trò quan trọng tới ñộ tin cậy của hệ thống nhận dạng.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 9 -
2.2. Thu thập ảnh số
Hệ thu thập ảnh số ñược thể hiện qua sơ ñồ sau:
Hình 2.4. Mô hình tổng quát khối thu thập ảnh số.
Bộ thu thập ảnh số bao gồm thiết bị thu thập (Camera, sensor,…) và thiết bị thu
nhận. Hiện nay, thông dụng trên thị trường là Camera số, là bộ thu thập tích hợp cả 2
thiết bị trên, ñầu ra là ảnh số với nhiều mức ñộ phân giải có thể lựa chọn ñược. ðồ án
lựa chọn bộ thu thập là Webcam có các ñặc ñiểm sau:
- ðầu vào: Hình ảnh thực.
- ðầu ra: ảnh số có ñộ phân giải các mức: 480×680 pixels, 600×800 pixels .
- Truyền nhận theo chuẩn USB. ðây là chuẩn có tốc ñộ ñảm bảo và thông dụng
trên thị trường hiện nay.
Tín hiệu vào của khối xử lý ảnh là ảnh lấy ra từ Webcam. ðể tận dụng phần cứng
sẵn có, ñồ án sử dụng máy tính PC với khả năng giao tiếp theo chuẩn USB. Hình ảnh
ñược thu về MATLAB, ñược xử lý và hiện thị bằng MATLAB.
2.3. Nhận dạng mặt người từ ảnh
Nhận dạng mặt người là cách dễ dàng nhất mà con người sử dụng ñể phân biệt
người với người. Tuy nhiên, công việc dễ dàng ñối với con người này lại rất khó ñể thể
hiện bằng công thức toán học. Cùng với sự phát triển của toán học và khoa học máy
tính, vấn ñề nhận dạng mặt người ñang có ñược ñiều kiện thuận lợi ñể ñược giải quyết.
Nhận dạng mặt người là một dạng của bài toán nhận dạng mẫu vật (pattern
recognition) dựa trên những ñặc ñiểm của một khuôn mặt. Khuôn mặt cần nhận dạng
sẽ ñược ñem so sánh với các khuôn mặt mẫu theo một cách nào ñó. Kết quả của quá
trình nhận dạng là cho biết khuôn mặt có trong ảnh ñầu vào là “ñã ñược biết ñến” hay
“chưa ñược biết ñến”. Trong một hệ thống ñiều khiển, kết quả ñó sẽ ñược sử dụng ñể
thực hiện các chức năng ñiều khiển của hệ thống.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 10 -
Cho một ảnh ñầu vào có chứa khuôn mặt người cần nhận dạng. Khi ñó mối quan hệ
giữa mức xám của các ñiểm ảnh trên ảnh ñầu vào sẽ phản ánh các ñặc tính của khuôn
mặt, ví dụ như:
- Vị trí, diện tích của các vùng tóc, vùng mắt, vùng miệng, vùng da mặt,…
- Hình dạng khuôn mặt, hình dạng mắt, mũi, miệng,…
- Khoảng cách giữa 2 mắt, khoảng cách lông mày,…
Từ các mối quan hệ ñó, sử dụng kỹ thuật xử lý ảnh số ta có thể tìm ñược các ñặc
trưng cho mỗi khuôn mặt. So sánh ñối chiếu giữa các ñặc trưng của khuôn mặt trong
ảnh với cơ sở dữ liệu, ta có thế xác nhận ñược gương mặt ñó là “ñã ñược biết ñến” hay
“chưa ñược biết ñến”.
Quá trình ñược nhìn theo 2 khối là khối thu thập và khối xử lý nhận dạng như ñã
trình bày.
Khối thu thập có nhiệm vụ ghi lại ñược hình ảnh xuất hiện trước Camera khi ñược
yêu cầu và tách ñược mặt người ra khỏi nền theo một tiêu chuẩn cho trước. Tiêu chuẩn
mà ñồ án ñặt ra ñó là:
- Khung chứa ảnh bao ñủ khuôn mặt
- Cùng ñộ sáng, kích thước
- Xoay chuẩn tư thế thẳng ñứng
Khối xử lý có nhiệm vụ tìm ra ñặc tính riêng biệt của khuôn mặt ñầu vào ñể so sánh
với bộ dữ liệu mẫu. Nếu sự sai lệch nằm trong phạm vi cho phép, tín hiệu ñầu vào sẽ
ñược xác ñịnh là “ñã ñược biết ñến” và chỉ ra người ñó trong bộ mẫu. Nếu sự sai lệch
trên nằm ngoài phạm vi cho phép, hệ thống sẽ xác ñịnh ảnh ñưa vào là “chưa ñược
biết ñến”.
Bài toán ban ñầu ñược tổng hợp bởi 2 bài toán: tách mặt người, và nhận dạng mặt
người. ðồ án ñi vào phân tích và lựa chọn các phương án sử dụng cho từng bài toán
riêng biệt trên.
2.4. Tách mặt người trong ảnh số
Tìm và tách mặt người ra khỏi ảnh số là một bài toán gắn liền với hệ thống nhận
dạng mặt người tự ñộng.
Hiện nay có một số phương pháp ñể tách mặt người trong ảnh là:
- Sử dụng ngưỡng màu ñối với ảnh màu ñể xác ñịnh vùng có màu da của người.
- Kỹ thuật trừ ảnh ñối với hệ thống có Camera ñặt cố ñịnh.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 11 -
2.4.1. Sử dụng ngưỡng màu
Phương pháp thường ñược dùng ñối với ảnh màu ñể tách vùng có màu da người. ðể
sử dụng phương pháp này, các hệ màu thường dùng là HSV, YCbCr và một số hệ màu
khác. Ảnh ñầu vào từ Webcam thường mặc ñịnh là ảnh trong hệ màu RGB. Vì vậy ñể
chuyển sang các hệ màu khác, ta cần có ma trận chuyển hệ màu. Ví dụ ñối với hệ
YCbCr:
16 65.481 128.553 24.966
128 37.797 74.203 112.000
112.000 93.786 18.214128
Y R
Cb G
Cr B
= + − −
− −
(2.2)
Thông thường, với hệ màu YCbCr, ngưỡng màu ñể xác ñịnh da người là:
77 127
133 173
Cb
Cr
≤ ≤
≤ ≤
(2.3)
Kết quả ví dụ cho phương pháp phân ngưỡng màu da:
Ảnh ban ñầu Ảnh sau khi tách màu da
Hình 2.5. Phương pháp tách mặt người sử dụng ngưỡng màu da
Ưu ñiểm của phương pháp:
- Phương pháp ñơn giản
- Thực hiện ñược trong ảnh có nhiều người
- Có thể thực hiện ñược với các ảnh có nền khác nhau.
- Ánh sáng có thể thay ñổi.
Nhược ñiểm của phương pháp:
- Bắt buộc phải sử dụng ảnh màu, có dung lượng gấp 3 lần so với ảnh xám của
của ảnh ñó.
- Ngưỡng màu da là tương ñối vì làn da con người có nhiều nhiều loại màu, và
màu da thể hiện trên ảnh số có thể bị thay ñổi.
- Màu da có thể trùng với màu nền sinh ra nhiễu.
- Với ảnh có kích thước lớn, nhiều nhiễu, khối lượng tính toán sẽ lớn và ñòi hỏi
nhiều về cấu hình phần cứng.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 12 -
2.4.2. Trừ ảnh với nền không ñổi
Nội dung của phương pháp này là so sánh ảnh khi có người với ảnh không có
người. Sự chênh lệch mức xám giữa hai ảnh thể hiện sự xuất hiện của ñối tượng.
Hai ñiểm ảnh cùng một vị trí trên hai ảnh, nếu hiệu mức xám giữa chúng lớn hơn
ngưỡng cho phép, ta chấp nhận mức xám tại ñiểm ñó có sự thay ñổi và xác ñịnh ñược
ñối tượng.
(a) Ảnh nền (b) Ảnh mới (c) ðối tượng ñược tách
Hình 2.6. Phương pháp trừ ảnh với nền không ñổi.
Ưu ñiểm của phương pháp:
- Phương pháp ñơn giản, thời gian thực hiện ngắn.
- Chỉ cần thực hiện với ảnh xám.
Nhược ñiểm của phương pháp:
- Phạm vi ứng dụng hẹp, chỉ dùng ñược với nền không ñổi.
- ðiều kiện ánh sáng không ñược thay ñổi nhiều giữa các lần chụp.
Từ phân tích ưu nhược ñiểm của 2 phương pháp trên, với ñiều kiện ñầu vào ñược
quy ñịnh là camera ñặt cố ñịnh, ñiều kiện ánh sáng tốt, ñồ án lựa chọn phương pháp
trừ ảnh ñể tách ñối tượng cần nhận dạng.
Sau khi lựa chọn phương pháp ñể tách mặt người ra khỏi ảnh số, ñồ án sẽ tìm hiểu
về một số phương pháp nhận dạng mặt người hiện nay và ưu nhược ñiểm của từng
phương pháp. Dựa trên các yêu cầu ñầu vào, ñồ án sẽ lựa chọn phương án trong các
phương pháp ñó ñể sử dụng trong việc nhận dạng của hệ thống.
2.5. Một số phương pháp tiếp cận với nhận dạng mặt
người
Hai phương pháp tiếp cận với nhận dạng khuôn mặt hiện nay là: Nhận dạng dựa
trên ñặc trưng của các phần tử trên khuôn mặt (Feature Based Face Recognition), và
nhận dạng dựa trên xét tổng thể toàn khuôn mặt (Appearance Based Face
Recognition).
2. Phân tích hệ thống và các cơ sở lý thuyết
- 13 -
2.5.1. Nhận dạng dựa trên mối quan hệ giữa các phần tử (Feature
Based)
ðâ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ình họ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, khuôn dạng của khuôn mặt,…), và mối quan hệ giữa chúng (ví dụ khoảng
cách của hai mắt, khoảng cách của hai lông mày, khoảng cách từ mũi tới cằm,…).
Ưu ñiểm của phương pháp:
- Phương pháp này gần với cách mà con người sử dụng ñể nhận biết khuôn mặt .
- 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ị xoay, ánh
sáng thay ñổi.
Nhược ñiểm của phương pháp:
- Việc một xác ñịnh một lúc nhiều ñặc tính và các mối quan hệ ñòi hỏi các thuật
toán phức tạp.
- Nếu ảnh có ñộ phân giải bé, các mối quan hệ giữa cùng một cặp ñặc tính trên
các khuôn mặt ñều rất sát nhau, ñiều này dẫn ñến kết quả nhận dạng không
chính xác. Với ảnh có ñộ phân giải lớn hơn thì khối lượng tính toán sẽ rất lớn,
ñòi hỏi cao về cấu hình phần cứng.
2.5.2. Nhận dạng dựa trên xét toàn diện khuôn mặt (Appearance
Based)
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
R C
×
là một
vec-tơ trong không gian
R C
×
chiều. Ta sẽ tìm một không gian mới có chiều nhỏ hơn,
sao cho khi ñược biểu diễn trong không gian ñó các ñặc ñiểm chính của một khuôn
mặt vẫn không bị mất ñi. Trong không gian mới ñó, các ảnh của cùng một người sẽ tập
hợp lại thà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 dùng hiện nay là PCA (Principle Components
Analysis) và LDA (Linear Discriminant Analysis).
2.5.2.1. Nhận dạng bằng PCA
PCA (Principle Components Analysis) là một thuật toán ñể tạo ra một ảnh mới từ
ảnh ban ñầu. Ảnh mới này có kích thước nhỏ hơn rất nhiều so với ảnh ñầu vào và vẫn
mang những ñặc trưng cơ bản nhất của khuôn mặt cần nhận dạng. PCA không cần
phải quan tâm ñến việc phải tìm ra cụ thể các ñặc ñiểm trên khuôn mặt (mắt, mũi,
miệng…) và các mối quan hệ. Tất cả những chi tiết ñó ñều ñược thể hiện ở ảnh mới
ñược tạo ra từ PCA.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 14 -
Mục tiêu của PCA là ảnh mới ñược tạo ra có kích thước nhỏ nhất và chứa nhiều
nhất các ñặc trưng của ảnh khuôn mặt ñầu vào.
Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của
một tập hợp các vec-tơ trong một không gian cho trước. Trong không gian mới, người
ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban ñầu.
Hình 2.7. Không gian mới (u1, u2) theo hướng phân bố mạnh nhất của các vector trong không
gian (x1, x2), tìm theo PCA
Hình 2.8. Phân loại theo PCA
Ưu ñiểm của phương pháp PCA:
- Tìm ñược các ñặc tính tiêu biểu cho một khuôn mặt mà không cần phải xác ñịnh
các thành phần và mối liên hệ giữa các thành phần trên khuôn mặt ñó.
- Thuật toán thực hiện tốt với các ảnh ñầu vào có ñộ phân giải cao, do PCA sẽ thu
gọn ảnh ñầu vào thành một ảnh mới có kích thước rất nhỏ.
- Khối lượng tính toán không nhiều.
- PCA có tính mở và có thể kết hợp ñược với các phương pháp khác (như mạng
nơ-rôn, Support Vector Machine – SVM,…) ñể mang lại hiệu quả nhận dạng cao
hơn.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 15 -
Nhược ñiểm của PCA:
- PCA phân loại theo chiều phân bố lớn nhất của tập vec-tơ. Tuy nhiên, không
phải bao giờ chiều phân bố lớn nhất lại mang lại hiệu quả cao nhất cho nhận
dạng. ðây là nhược ñiểm cơ bản của PCA.
- PCA rất nhạy với nhiễu, vì vậy nhiệm vụ tiền xử lý (lọc nhiễu, chuẩn hóa,…)
ñòi hỏi phải thực hiện rất kỹ
2.5.2.2. Nhận dạng bằng LDA
Tương tự như PCA, LDA (Linear Discriminants Analysis) cũng là một phương
pháp nhận dạng theo hướng tiếp cận Apprearance Based.
Mục ñích của LDA là tìm ra một không gian mới ñể tách rời các nhóm ảnh với
nhau. Không gian ñó ñược tạo bởi các vec-tơ không nhất thiết phải trực giao từng ñôi
một.
Trong không gian tạo ra từ LDA, các ảnh trong cùng một nhóm sẽ gần nhau, và các
nhóm khác nhau sẽ cách xa nhau. LDA khắc phục ñược nhược ñiểm của PCA, ñó là
“không phải hướng biến thiên mạnh nhất luôn mang thông tin nhận dạng cao nhất”.
ðối với một nhóm, gọi d
within
là khoảng cách lớn nhất các phần tử trong nhóm ñó,
và d
between
là khoảng cách bé nhất từ tâm của nhóm ñó tới tâm của các nhóm khác.
Mục tiêu của LDA là trong không gian mới, ta có d
within
bé nhất và d
between
lớn nhất.
ðể tính các khoảng cách d
within
, d
between
, ta dựa trên tính toán mối tương quan của
các thành viên trong một nhóm và sự tương quan giữa các nhóm với nhau. Các mối
tương quan này thể hiện qua các ma trận scatter.
Các Hình 2.9 và Hình 2.10 minh họa cho tư tưởng của phương pháp LDA.
(a) Các ñiểm trong không gian khi chiếu lên
một trục bị lẫn với nhau
(b) Các ñiểm ñó chiếu lên một trục khác. ðây
là mục tiêu của phương pháp LDA.
Hình 2.9. Phân loại với LDA
2. Phân tích hệ thống và các cơ sở lý thuyết
- 16 -
(a) Kết quả phân loại tốt khi khoảng cách d
within
bé
nhất và khoảng cách d
between
lớn nhất.
(b) Kết quả phân loại không tốt.
Hình 2.10. Phân loại dựa trên between và within theo LDA.
Ma trận scatter biểu diễn within-class là:
w
1 1
( )( )
j
N
C
j j T
i j i j
j i
S
µ µ
= =
= Γ − Γ −
∑∑
(2.4)
Với
j
i
Γ
là vec-tơ thứ i trong nhóm thứ j,
j
µ
là trung bình của nhóm thứ j, C là số
nhóm,
j
N
là số phần tử trong nhóm j.
Ma trận scatter biểu diễn between-class là:
1
( )( )
C
T
b j j
j
S
µ µ µ µ
=
= − −
∑
(2.5)
Với
µ
là trung bình của tất cả các nhóm.
Không gian tạo ra bởi phương pháp LDA là một tập các vec-tơ
[
]
1 2
W W ,W , ,W
d
=
ñược xác ñịnh bởi công thức:
argmax
T
b
T
W
w
W S W
W
W S W
=
(2.6)
Ưu ñiểm của phương pháp:
- LDA mang hầu hết các ưu ñiểm của phương pháp PCA, ñồng thời khắc phục
ñược nhược ñiểm cơ bản của PCA.
Nhược ñiểm của phương pháp:
- LDA ñòi hỏi một khối lượng tính toán rất lớn. Nếu ảnh có kích thước
200 200
×
,
thì ma trận biểu diễn
b
S
,
w
S
sẽ có kích thước là
40000 40000
×
. Hiện nay vẫn
chưa có cách tính nhanh phương pháp LDA.
- LDA cũng nhạy với nhiễu giống như PCA, ñiều này ñòi hỏi nhiệm vụ tiền xử lý
ảnh phải ñược thực hiện kỹ lưỡng.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 17 -
Qua phân tích ưu nhược ñiểm của từng phương pháp nhận dạng, với ñiều kiện ảnh
ñầu vào có kích thước là
600 800
×
, thời gian xử lý ngắn, ta lựa chọn phương pháp
PCA ñể nhận dạng. PCA có nhiệm vụ tạo ra vec-tơ ñặc tính dùng cho việc nhận dạng.
2.6. Nội dung phương pháp PCA
Trong nhận dạng mặt người, khi sử dụng PCA, ta coi một ảnh xám
R C
×
pixels là
một vec-tơ trong không gian
N R C
= ×
chiều.
Không gian mới ñược tạo ra bởi PCA ñược cấu thành từ K vec-tơ ñơn vị có chiều là
N
,
N R C
<< ×
. Mỗi vec-tơ ñược gọi là một Eigenface.
Phép biến ñổi:
1 1
2 2
N
K
= → =
a
w
a
w
A W
a
w
⋮
⋮
với
K N
≪
Theo công thức:
= ⋅
W T A
(2.7)
Với T là ma trận chuyển ñổi. T có kích thước là
K N
×
- Gọi M là số ảnh ñầu vào, mỗi ảnh ñã ñược chuyển thành một vec-tơ N chiều. Ta
có tập hợp ñầu vào
1 2
{ , , , }
M
=
X x x x
(
N
i
∈
x
ℝ
).
- Trung bình của các vec-tơ ñầu vào (tâm của tập hợp ñầu vào):
1
1
M
i
i
M
=
=
∑
x x
(2.8)
- Sai lệch so với tâm:
i i
Φ = −
x x
(2.9)
- Gọi
1 2
[ , , , ]
M
= Φ Φ Φ
A
, ta có covariance matrix của A:
1
1
M
T T
i i
i
M
=
= Φ Φ = ⋅
∑
C A A
(2.10)
- Gọi các giá trị riêng của C là
1 2
, , ,
N
λ λ λ
sắp xếp theo thứ tự giảm dần, tương
ứng với N vec-tơ riêng
1 2
, , ,
N
u u u
…
. Các vec-tơ riêng này trực giao từng ñôi
một. Mỗi vec-tơ riêng
i
u
ñược gọi là một eigenface. Tập hợp vec-tơ ban ñầu
ñược biểu diễn trong không gian tạo bởi N eigenface theo mô tả sau:
1 1 2 2
1
N
N N i i
i
w w w w
=
− = + + + =
∑
x x u u u u
(2.10)
- Chọn lấy K vec-tơ riêng u tương ứng với K giá trị riêng
λ
lớn nhất. Ta có:
2. Phân tích hệ thống và các cơ sở lý thuyết
- 18 -
ɵ
1 1 2 2
1
K
K K i i
i
w w w w
=
− = + + + =
∑
x x u u u u
với
K N
≪
(2.11)
Véc-tơ các hệ số khai triển
1 2
[ , , , ]
K
w w w
chính là biểu diễn mới của ảnh ñược tạo ra
trong không gian PCA. Ảnh mới
ˆ
x
vẫn giữ ñược các ñặc ñiểm chính của khuôn mặt
ñầu vào. Véc-tơ
1 2
[ , , , ]
K
w w w
ñược tính theo công thức sau:
1
1
2
2
( ) ( )
T
T
T
T
K
K
w
w
w
= − = ⋅ −
u
u
x x U x x
u
⋮
⋮
(2.12)
Vấn ñề cần giải quyết ở ñây là ma trận covariance
T
= ⋅
C A A
có kích thước
2
N
.
Với N = 200 × 200 = 40000, khối lượng tính toán sẽ rất lớn. Do ñó, ñể tính ñược các
eigenface mà không cần phải tính cả ma trận C, người ta ñưa ra phương pháp tính
nhanh dựa vào tính vec-tơ riêng và giá trị riêng của ma trận
T
= ⋅
L A A
có kích thước
M×M, với M là số ảnh ñầu vào. Ta có thể chứng mình như sau: gọi
i
v
,
i
µ
lần lượt là
vec-tơ riêng và giá trị riêng của ma trận L:
T
i i i
µ
⋅ ⋅ = ⋅
A A
ν ν
(2.13)
Nhân cả 2 vế với A ta có:
T
i i i
µ
⋅ ⋅ ⋅ = ⋅ ⋅
A A A
ν A ν
(2.14)
Ta thấy
i
⋅
A
ν
chính là vec-tơ riêng của
T
= ⋅
C A A
, ứng với giá trị riêng
i
µ
.
2.7. Sơ ñồ khối và nhiệm vụ từng khối trong hệ thống
2.7.1. Sơ ñồ khối phần cứng
Sơ ñồ các khối phần cứng của hệ thống như sau:
Hình 2.11. Mô hình phần cứng của hệ thống
2. Phân tích hệ thống và các cơ sở lý thuyết
- 19 -
Trong khuôn khổ của ñồ án, ảnh số của ñối tượng ñược thu thập thông qua một
webcam. Tín hiệu webcam truyền về PC là một luồng hình ảnh với tốc ñộ 25 hình/s
theo kênh truyền thông qua cổng USB. Khối thu thập ảnh có chức năng lấy ra một
hình ảnh trong ñó có chứa ñối tượng cần nhận dạng. MATLAB sẽ ñiều khiển toàn bộ
quá trình thu nhận từng luồng và giữ lại ảnh cần chọn.
MATLAB cho phép chúng ta ñiều khiển quá trình hoạt ñộng và truyền dữ liệu của
camera có kết nối với máy tính theo các chuẩn khác nhau. ðể ñiều khiển thiết bị,
MATLAB sẽ thông qua driver Windows API (Application Programming Interface) ñể
tác ñộng tới các phần cứng kết nối với máy tính. Thư viện chuyên dụng Image
Acquisition Toolbox của MATLAB ñược thiết kế riêng dành cho mục ñích ñiều khiển
thiết bị và thu nhận ảnh.
Chức năng ñiều khiển của MATLAB thông qua thư viện Image Acquisition Toolbox
ñược minh họa trên Hình 2.12
Hình 2.12: Thu thập hình ảnh từ webcam theo các chuẩn khác nhau bằng thư viện Image Acquisition
Toolbox của MATLAB
Từ Hình 2.12 ta thấy khối thu thập ảnh và xử lý ảnh ñược kết nối với nhau thông
qua Image Acquisition Toolbox.
Luồng tín hiệu ñược truyền về PC và ñược MATLAB thu nhận. Cơ chế lấy ảnh theo
luồng tín hiệu của MATLAB ñược thể hiện trong Hình 2.13.
2. Phân tích hệ thống và các cơ sở lý thuyết
- 20 -
Hình 2.13: Luồng dữ liệu ảnh và thu nhận frame ảnh bằng MATLAB
Luồng tín hiệu theo chuẩn USB ñược truyền lên liên tục khi có lệnh start từ máy
tính ñiều khiển Webcam hoạt ñộng. Mỗi frame là một ảnh. Dữ liệu sẽ ñược ghi vào bộ
nhớ bắt ñầu từ khi có lệnh Trigger và kết thúc quá trình lưu bởi lệnh Acquisition stop.
Khi ta cần lấy một ảnh, thời gian giữa Trigger và Acquisition Stop sẽ có chiều dài
bằng 1 frame. Khi ñó ta sẽ có ảnh cần chụp. Các tín hiệu Trigger và Acquisition có thể
ñược ñiều khiển tự ñộng (automatic) hoặc bằng tay (manual). ðồ án lựa chọn phương
pháp manual, các lệnh Trigger và Acquisition ñược ñiều khiển bởi người sử dụng.
2.7.2. Sơ ñồi khối phần mềm:
Phần mềm chủ yếu là ñược viết ñối với khối Xủ lý ảnh số.
Tiền xử lý
Trích chọn ñặc
tính
Thu thập và
tách mặt người
trong ảnh
Cơ sở
dữ liệu
Phân loại, nhận
dạng
Xử lý kết quả
Ảnh cần
nhận dạng
Ảnh ñược
chuẩn hóa
Vec-tơ
ñặc tính
Xử lý ảnh số
Hình 2.14. Sơ ñồ khối phần mềm hệ thống nhận dạng mặt người
2. Phân tích hệ thống và các cơ sở lý thuyết
- 21 -
2.7.2.1. Cơ sở dữ liệu
Các ảnh mẫu ñược chọn và ñược xử lý qua hai bước Tiền xử lý và Trích chọn ñặc
tính. Các vec-tơ ñặc tính của các ảnh học ñược lưu vào cơ sở dữ liệu, sử dụng ñể ñối
chiếu với các ñối tượng mới cần nhận dạng.
Ảnh ñối tượng cần nhận dạng cũng ñược xử lý qua các bước trên. Qua bước xử lý
Phân loại và nhận dạng, vec-tơ ñặc tính của ảnh ñầu vào sẽ ñược so sánh lần lượt với
vec-tơ ñặc tính của từng ảnh học trong cơ sở dữ liệu ñể ñưa ra kết quả nhận dạng.
Trong ñồ án này, cơ sở dữ liệu ñược dùng là hai bộ ảnh:
- Bộ ảnh thứ nhất ñược download từ thư viện của trường ñại học Cambridge, ảnh
khuôn mặt ñược cắt thủ công bằng chương trình Photoshop 7.0. ðộ phân giải
của các ảnh là 220×170 pixels và ñược lưu trong ổ cứng máy PC với ñịnh dạng
JPEG.
- Bộ thứ hai là ảnh ñược chụp trực tiếp bằng webcam, ñược tách ra từ khối thu
thập ảnh của hệ thống. Ảnh ñược tách có ñộ phân giải 310×250 pixels, lưu trong
ổ cứng máy PC dưới ñịnh dạng JPEG.
2.7.2.2. Thu thập và tách mặt người trong ảnh
Ảnh ñược chụp bằng Webcam kỹ thuật số, ñược mã hóa thành file ảnh dạng
JPEG có kích thước 600×800 pixel, hệ màu RGB 24 bits. Chương trình MATLAB
ñiều khiển việc thu thập ảnh, hình ảnh ñược xử lý, hiển thị lên màn hình PC và lưu trữ
trong bộ nhớ máy tính. Nhiệm vụ của khối là sau khi thu thập ñược ảnh, tự ñộng tách
mặt người ra khỏi ảnh số.
2.7.2.3. Tiền xử lý
Nhiệm vụ của khối: tách mặt ra khỏi ảnh và chuẩn hóa.
ðầu vào của khối: hóa ảnh ñầu vào, là các ảnh ñược trích trực tiếp từ webcam (có
ñộ phân giải là 800×600 pixel, ảnh màu RGB 24 bits).
ðầu ra của khối: Ảnh mặt người ñược tách khỏi nền và ñược chuẩn hóa.
Chức năng của khối gồm:
- Tách mặt người ra khỏi ảnh.
- Chuẩn kích thước về 310×250 pixel.
- Căn tư thế thẳng ñứng (xoay ngang theo ñường nối hai mắt).
- Chuẩn ánh sáng
- Chuẩn mức xám
- Lọc nhiễu
2.7.2.4. Trích chọn vec-tơ ñặc tính
Nhiệm vụ của khối là tạo ra vec-tơ ñặc tính mang những ñặc tính riêng của khuôn
mặt cần nhận dạng. Số chiều của vec-tơ ñặc tính phải nhỏ hơn rất nhiều so với tín hiệu
ñầu vào.