NHẬN DẠNG ẢNH MẶT NGƯỜI SỬ DỤNG MẠNG NƠRON - Pdf 13


BỘ GIÁO DỤC & ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP. HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN MÔN HỌC 2
NGÀNH:CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG Đề tài :
NHẬN DẠNG ẢNH MẶT NGƢỜI
SỬ DỤNG MẠNG NƠRON

TP. HỒ CHÍ MINH – 1/2014
GVHD : ThS HUỲNH THỊ THU HIỀN
SVTH :NGUYỄN THANH VIỆT Đồ án môn học 2
Trang ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN

8
9
10

Sinh viên thực hiện Đồ án môn học 2
Trang iii LỜI CẢM ƠN

Sinh viên thực hiện xin gửi lời cảm ơn chân thành đến Cô Huỳnh Thị Thu Hiền
đã tận tình hƣớng dẫn giúp đỡ trong quá trình thực hiện đồ án.
Sinh viên thực hiện cũng xin bày tỏ lòng biết ơn đến các thầy cô trƣờng Đại học
Sƣ phạm kỹ thuật TPHCM đã tận tình giảng dạy trong thời gian qua để giúp sinh
viên có đƣợc những kiến thức để hoàn thành đồ án.

2.1.6. Cơ sở tri thức (Knowledge Base) 5
2.2. Những vấn đề cơ bản trong hệ thống xử lí ảnh 5
2.2.1. Điểm ảnh (Picture Element) 5
2.2.2. Độ phân giải của ảnh 5
2.2.3. Mức xám của ảnh 6
2.2.4. Định nghĩa ảnh số 6
2.3. Trích chọn đặc trƣng ảnh 7
2.3.1 Thuật toán biến đổi hình thái(Morphological Operations) 7
2.3.2 Thuật toán his-and-miss 8
2.4 Phƣơng pháp hạ Gradient 9
2.5 Mạng nơron 10
2.5.1 Giới thiệu sơ nét về mạng nơron 10
2.5.2 Phân loại mạng nơ-ron nhân tạo 12
Đồ án môn học 2
Trang v 2.5.3 Học tham số(Parameter Learning) 12
2.5.4 Mạng lan truyền ngƣợc 13
2.5.5 Luật học lan truyền ngƣợc(Backpropagation Learning Rule) 14
CHƢƠNG 3: NỘI DUNG NGHIÊN CỨU 16
3.1 Thiết kế chƣơng trình nhận dạng 16
3.1.1 Đọc ảnh dữ liệu và ảnh kiểm tra 16
3.1.2 Huấn luyện ảnh dữ liệu và ảnh kiểm tra 17
3.1.3 Chọn ảnh cần kiểm tra 20
3.1.4 So sánh ngƣỡng 21
CHƢƠNG 4: KẾT QUẢ NGHIÊN CỨU 22
4.1. Phần lý thuyết 22
4.2. Phần mô phỏng 22
CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 25

Hình 3.2 Lƣu đồ đọc ảnh 17
Hình 3.3 Lƣu đồ giải thuật cho mạng lan truyền ngƣợc 19
Hình 3.4 Ảnh kiểm tra 20
Hình 3.5 So sánh ngƣỡng và chọn ảnh phù hợp 21
Hình 3.6 Ảnh thông báo lỗi 21
Hình 4.1 Chƣơng trình chính 22
Hình 4.2 Chƣơng trình nhận dạng 23
Hình 4.3 Chỉ số ảnh 23
Hình 4.3 Command window trong quá trình huấn luyện 24
Hình 4.4 Kết quả nhận dạng 24
Đồ án môn học 2
Trang 1

CHƢƠNG 1: MỞ ĐẦU
CHƢƠNG 1: MỞ ĐẦU
1.1.Đặt vấn đề

Những năm gần đây, các bài toán nhận dạng đã có những bƣớc tiến khá
quan trọng. Đối tƣợng nhận dạng ngày càng phong phú và đa dạng hơn, việc nhận
dạng bây giờ không còn là nhận dạng offline nữa và các góc độ của mặt ngƣời
không phải cố định mà nó liên tục thay đổi. Để thực hiện các bài toán nhận dạng
này đòi hỏi phải có những thuật toán hiệu quả để giải quyết công việc nhận dạng
chính xác và trong thời gian chấp nhận đƣợc.
1.2.Lý do chọn đề tài

Ngày nay, công việc nhận dạng khuôn mặt có nhiều ứng dụng quan trọng
trong hệ thống bảo mật nhƣ khóa bằng vân tay, giọng nói, giác mạc mắt đến các
thiết bị an ninh, truy tìm tội phạm…Ngoài ra nó còn đƣợc sử dụng trong thiết kế
robot nhận dạng.
Xuất phát từ những yêu cầu thực tế trên ngƣời thực hiện tiến hành tìm

Chƣơng 5: Kết luận và hƣớng phát triển
Đồ án môn học 2
Trang 3

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
CHƢƠNG 2:CƠ SỞ LÝ THUYẾT

2.1. Giới thiệu về hệ thống xử lí ảnh
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành
khoa học mới mẻ so với nhiều ngành khoa học khác nhƣng tốc độ phát triển của nó rất
nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên
dụng riêng cho nó.
Đối với một hệ thống xử lý ảnh, các công việc của nó bao gồm các bƣớc nhƣ
hình 2.1.
Hình 2.1: Các bƣớc cơ bản trong xử lý ảnh
2.1.1. Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng. Thƣờng ảnh nhận qua camera
là ảnh tƣơng tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng
có loại camera đã số hoá (nhƣ loại CCD – Change Coupled Device) là loại photodiot
tạo cƣờng độ sáng tại mỗi điểm ảnh.
Camera thƣờng dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều. Chất lƣợng

phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của
ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này.
2.1.4.Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn)
cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành dạng
thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể
hiện ảnh gọi là trích chọn đặc trƣng (Feature Selection) gắn với việc tách các đặc tính
của ảnh dƣới dạng các thông tin định lƣợng hoặc làm cơ sở để phân biệt lớp đối tƣợng
này với đối tƣợng khác trong phạm vi ảnh nhận đƣợc. Ví dụ: trong nhận dạng ký tự
trên phong bì thƣ, chúng ta miêu tả các đặc trƣng của từng ký tự giúp phân biệt ký tự
này với ký tự khác.
2.1.5. Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thƣờng thu đƣợc bằng
cách so sánh với mẫu chuẩn đã đƣợc học (hoặc lƣu) từ trƣớc. Nội suy là phán đoán
theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên
phong bì thƣ có thể đƣợc nội suy thành mã điện thoại. Có nhiều cách phân loai ảnh
khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh đƣợc
phân theo hai loại nhận dạng ảnh cơ bản:
o Nhận dạng theo tham số.
o Nhận dạng theo cấu trúc.
Một số đối tƣợng nhận dạng khá phổ biến hiện nay đang đƣợc áp dụng trong
khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận
dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt ngƣời…
Đồ án môn học 2
Trang 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1.6. Cơ sở tri thức (Knowledge Base)
Ảnh là một đối tƣợng khá phức tạp về đƣờng nét, độ sáng tối, dung lƣợng điểm
ảnh, môi trƣờng để thu ảnh phong phú kéo theo nhiễu. Trong nhiều khâu xử lý và

Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân
giải 320*200. Lý do: cùng một mật độ (độ phân giải) nhƣng diện tích màn hình rộng
hơn thì độ mịn (liên tục của các điểm) kém hơn.
2.2.3. Mức xám của ảnh
Một điểm ảnh (pixel) có hai đặc trƣng cơ bản là vị trí (x, y) của điểm ảnh và độ
xám của nó. Dƣới đây là một số khái niệm và thuật ngữ thƣờng dùng trong xử lý ảnh.
+ Mức xám của điểm ảnh là cƣờng độ sáng của nó đƣợc gán bằng giá trị số
tại điểm đó.
+ Các thang giá trị mức xám thông thƣờng: 16, 32, 64, 128, 256 (Mức 256
là mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn
mức xám: Mức xám dùng 1 byte biểu diễn: 28=256 mức, tức là từ 0 đến 255).
+ Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với
mức xám ở các điểm ảnh có thể khác nhau.
+ Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 2
mức khác nhau. Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể
là 0 hoặc 1. Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue,
Green) để tạo nên thế giới màu, ngƣời ta thƣờng dùng 3 byte để mô tả
mức màu, khi đó các giá trị màu: 28*3=224≈ 16,7 triệu màu.
2.2.4. Định nghĩa ảnh số
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần
với ảnh thật. Ảnh là một sự vật đại diện cho con ngƣời,sinh vật hay sự vật nào đó
.v.v… ảnh động nhƣ ta thấy trên truyền hình thực chất là tập hợp của rất nhiều ảnh
tĩnh liên tiếp.khi một ảnh đƣợc số hóa thì nó trở thành ảnh số và ảnh số này lại là một
tập hợp của rất nhiều phần tử ảnh đƣợc gọi là điểm ảnh hay là “pixel”.mỗi điểm ảnh
lại đƣợc biểu diễn dƣới dạng một số hữu hạn các bit.
Chúng ta có thể chia ảnh ra làm ba loại khác nhau :
+ Ảnh đen trắng :mỗi điểm ảnh đƣợc biểu diễn bởi một bit.
+ Ảnh Gray – scale :mỗi điểm ảnh đƣợc biểu diễn bằng các mức chói khác
nhau,thƣờng thì ảnh này đƣợc biểu diễn bằng 256 mức chói hay là 8 bit
cho mỗi điểm ảnh.

F j k F j k
G j k M F j k
F j k



  





trong đó MAX{S1, ,S9} trả về giá trị lớn nhất trong các giá trị của chín điểm ảnh của
lân cận 3×3. Tƣơng tự, phép co ảnh đối với ảnh đa mức xám đƣợc định nghĩa nhƣ sau:
( , ), ( , 1)
( , ) ( 1, 1), ,
( 1, 1)
F j k F j k
G j k MIN F j k
F j k



  





với MIN{S1, ,S9} trả về giá trị nhỏ nhất trong các giá trị của chín điểm ảnh của lân

. Thuật toán này giữ các điểm ảnh lân cận của nó sao cho hợp với dạng của
1
K
, nhƣng không hợp với dạng của
2
K
.
1
K

2
K
đƣợc biểu diễn cho đối tƣợng quan
tâm và nền tƣơng ứng. Một ví dụ về chuyển đổi hit-and-miss nhƣ hình sau: Đồ án môn học 2
Trang 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Hình 2.3 Kết quả của thuật toán hit-and-miss

2.4 Phƣơng pháp hạ Gradient
Phƣơng pháp giảm gradient gồm các bƣớc chính sau:
 Chọn ngẫu nhiên một điểm x
0
trong không gian trọng số.
 Tính độ dốc của hàm lỗi tại x
0



. Tuy nhiên, đối với mạng MLP (MultiLayer
Perceptron) thì hàm sai số bình phƣơng thƣờng phức tạp và có nhiều trị cục bộ, vì thế
phép lặp huấn luyện mạng có thể chỉ đạt tới giá trị cục bộ của hàm sai số trung bình
bình phƣơng mà không đạt tới giá trị tổng thể. Vấn đề quá trình huấn luyện sẽ hội tụ
Đồ án môn học 2
Trang 10

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
nhƣ thế nào sẽ phụ thuộc vào điều kiện ban đầu của quá trình huấn luyện mạng. Đặt
biệt là quá trình chọn hệ số học

nhƣ thế nào để tăng khả năng hội tụ của mạng. Vì
thế, với mỗi bài toán khác nhau ta sẽ lựa chọn hệ số học khác nhau.
Nhƣ thế, khi một quá trình huấn luyện theo thuật toán lan truyền ngƣợc hội tụ, ta
chƣa có thể khẳng định đƣợc nó hội tụ có tối ƣu hay không. Ta cần phải thử một số
điều kiện ban đầu để đảm bảo thu đƣợc phƣơng án tối ƣu.
2.5 Mạng nơron
2.5.1 Giới thiệu sơ nét về mạng nơron
Mạng nơron nhân tạo đƣợc thiết kế dựa trên mô hình mạng nơron thần kinh với
các phần tử nơron nhân tạo của nó là sự mô phỏng nơron sinh học.
Đầu tiên, ta tìm hiểu sơ nét về mạng nơ ron sinh học.
Cấu trúc nơron sinh học
Một tế bào nơron gồm bốn phần cơ bản:
- Các nhánh và rễ:Các nhánh và
rễ là các bộ phận nhận thông tin, các
đầu nhạy hoặc các đầu ra của các
nơron khác bám vào rễ hoặc nhánh
của một nơron.
- Thân thần kinh (Soma):Thân

của tất cả các inputs. Sau đó lấy tổng của tất cả các kết quả thu đƣợc. Đƣờng truyền
nào có weight càng lớn thì tín hiệu truyền qua đó càng lớn, nhƣ vậy có thể xem weight
là đại lƣợng tƣơng đƣơng với synapse trong nơron sinh học. Có thể viết kết quả lấy
tổng của nơron nhƣ sau:
1
w
n
ii
i
yx




Tiếp theo, ngõ ra sẽ đƣơc so sánh với một mức ngƣỡng bằng một hàm tác động
nào đó. Có nhiều hàm tác động có thể sử dụng nhƣ hàm bƣớc nhảy đơn vị, hàm dấu,
hàm tuyến tính, hàm Sigmoid lƣỡng cực,…Trong đồ án này chúng ta sử dụng hàm
log-sigmoid làm hàm chuyển đổi.
Đồ án môn học 2
Trang 12

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Dạng này có phƣơng trình tổng
quát nhƣ sau:
1
()
1 exp( )
j
x
x

Trang 13

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
tạo đầu ra. Khi tự tìm ra các đặc điểm này, mạng đã trải qua các thay đổi về tham số
của nó. Quá trình này đƣợc gọi là tự tổ chức.
2.5.4 Mạng lan truyền ngƣợc
Thuật học lan truyền ngƣợc là một trong những phát triển quan trọng trong mạng
nơron. Thuật toán này đƣợc áp dụng cho các mạng nhiều lớp truyền thẳng
(FeedForward) gồm các phần tử xử lý với hàm kích hoạt liên tục. Các mạng nhƣ vậy
kết hợp với thuật toán học lan truyền ngƣợc đƣợc gọi là mạng lan truyền. Về mặt lý
thuyết đã chứng minh đƣợc rằng: mạng ba lớp trở lên có thể nhận biết đƣợc mọi hàm
bất kỳ. Chính vì vậy, luật học truyền ngƣợc có ý nghĩa rất quan trọng trong việc cập
nhật trọng của mạng nhiều lớp truyền thẳng. Nền tảng của thuật toán cập nhật trọng
này cũng là phƣơng pháp hạ Gradient. Thật vậy, cho cặp mẫu đầu vào - đầu ra
( ) ( )
,
kk
xd
thuật toán lan truyền ngƣợc thực hiện 2 pha. Đầu tiên, mẫu đầu vào
()k
x
đƣợc
truyền từ lớp vào tới lớp ra và kết quả của luồng dữ liệu tiến (forward) này là tạo đầu
ra thực sự
()k
y
. Sau đó, tín hiệu lỗi tạo từ sai khác giữa
()k
d





trong đó f(.) là hàm tƣơng tác đầu ra.
+ Lớp ra: giả thiết hàm tƣơng tác đầu ra của lớp ra giống các lớp khác, tức là
f(.)Khi đó tổng đầu vào của nơron thứ i có thể xác định
1 1 1
w w ( )
l l m
i iq q iq qj j
q q j
net z f v x
  

  

Và tạo đầu ra:
Đồ án môn học 2
Trang 14

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1 1 1
( ) ( w ) ( w ( ))
l l m
i i iq q qj qj j
q q j
y f net f z f f v x
  
  
  

)
 
2
2
2
1 1 1 1
1 1 1
(w) ( ) ( ( ) ( ( w )
2 2 2
n n n l
i i i i i qj q
i i i q
E d y d f net d f z
   

     


   

Theo phƣơng pháp hạ Gradient, trọng liên kết giữa lớp ẩn và lớp đầu ra đƣợc
cập nhật bởi:
   
 
'
w
ww
ii
iq
iq i i iq

W
ij

1
W
ij
W
ij

W
ij

W
ij

W
ij

W
ij

W
ij

W
ij

W
ij


      
      
      
      
      

   



Trong đó,
hq

là tín hiệu lỗi của nơ-ron thứ q trong lớp ẩn(h=hidden)
 
 
'
1
w
n
hq oi q
i
f net






   

dO
Điều này cũng dễ hiểu bởi lớp ra là lớp cuối cùng nên không có lớp kề sau.
Đồ án môn học 2
Trang 16

CHƢƠNG 3: NỘI DUNG NGHIÊN CỨU
CHƢƠNG 3: NỘI DUNG NGHIÊN CỨU
3.1 Thiết kế chƣơng trình nhận dạng
Lƣu đồ: Hình 3.2 Lƣu đồ đọc ảnh
Matlab hỗ trợ công cụ đọc ảnh bằng các sử dụng hàm “imread”. Sau khi đã đọc
ảnh chúng ta sẽ xử lý bức ảnh về dạng chuẩn để chuyển qua công đoạn tiếp
theo.Chúng ta sử dụng hàm “rgb2gray” để chuyển từ ảnh màu sang ảnh xám và công
đoạn cuối cùng là chuẩn hóa kích thƣớc ảnh, chúng ta dùng hàm “imresize”.
Sau quá trình trên chúng ta sẽ thu đƣợc hai bộ dữ liệu là “anhdulieu” và
“anhkiemtra”, chúng ta sẽ lƣu lại bằng hàm “save”.
3.1.2 Huấn luyện ảnh dữ liệu và ảnh kiểm tra
Việc huấn luyện ảnh dữ liệu và ảnh kiểm tra sử dụng thuật toán lan truyền
ngƣợc (backpropagation) với một lớp ẩn (hidden).
Thiết kế thuật toán cho mạng lan truyền ngƣợc
Có 7 bƣớc để thực hiện một mạng lan truyền ngƣợc:
Bƣớc 1: Khởi tạo các trọng số ngẫu nhiên và có giá trị nhỏ sử dụng. Chúng ta có
thể sử dụng hàm “randperm” trong MATLAB. Sử dụng một hằng số học α thích
hợp và một giá trị sai số tƣơng ứng E
max
.
Bƣớc 2: Bắt đầu huấn luyện. Biểu diễn bộ huấn luyện
,,
,zd



và tính toán ngõ ra
cho tất cả các lớp.
Ở lớp giấu:

 
2
0.5
new old
E E d o  

Bƣớc 4: Tính toán vector tín hiệu sai số:
Ở lớp ngõ ra:
 
,,
'
o
d o f net






Ở lớp giấu:
 
,
'
w
ho
f net



Bƣớc 5: Điều chỉnh trọng số cho phù hợp.

max
, khởi tạo lại E
new
và E
old
về 0 và chuyển sang bƣớc 2.
 Lƣu đồ giải thuật cho mạng lan truyền ngƣợc

Đồ án môn học 2
Trang 19

CHƢƠNG 3: NỘI DUNG NGHIÊN CỨU sai


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status