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

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

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.39 MB, 40 trang )


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



STT
Tuần/ngày
Nội dung
Xác nhận GVHD
1



2



3



4



5



6



7




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.

Cuối cùng sinh viên thực hiện xin chân thành cảm ơn sự đóng góp ý kiến của
các bạn sinh viên.



Sinh viên thực hiện
Nguyễn Thanh Việt

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


MỤC LỤC
LỊCH TRÌNH ĐỒ ÁN MÔN HỌC………………………………………………….ii
LỜI CẢM ƠN iiii
MỤC LỤC ……………………………………………………………………iv
LIỆT KÊ HÌNH……………………………………………………………….……vi
CHƢƠNG 1: MỞ ĐẦU 1
1.1.Đặt vấn đề 1
1.2.Lý do chọn đề tài 1
1.3.Mục tiêu đề tài 1
1.4.Giới hạn đề tài 2
1.5.Bố cục của đồ án. 2
CHƢƠNG 2:CƠ SỞ LÝ THUYẾT 3
2.1. Giới thiệu về hệ thống xử lí ảnh 3
2.1.1. Phần thu nhận ảnh (Image Acquisition) 3
2.1.2.Tiền xử lý (Image Processing) 3
2.1.3. Phân đoạn (Segmentation) hay phân vùng ảnh 4
2.1.4.Biểu diễn ảnh (Image Representation) 4
2.1.5. Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) 4

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

5.1. Kết luận 25
5.2.Hƣớng phát triển 25
PHỤ LỤC 26
Phụ lục A: Code của chƣơng trình 26
Giao diện 1 26
Giao diện 2 26
Chƣơng trình msnn1 30
Giao diện 3…………………………………………………………………………32
Phụ lục B: Tài liệu tham khào…………………………………………………… 34







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


LIỆT KÊ HÌNH

Hình 2.1: Các bƣớc cơ bản trong xử lý ảnh 3
Hình 2.2 Ảnh sau khi biến đổi hình thái 8
Hình 2.3 Kết quả của thuật toán hit-and-miss 9
Hình 2.4 Cấu trúc của nơ-ron sinh hoc 10
Hình 2.5 Nơ-ron nhân tạo 11
Hình 2.6 Đồ thị hàm ngƣỡng 12
Hình 2.7 Mạng lan truyền ngƣợc dùng n lớp ẩn 14
Hình 3.1 Lƣu đồ chƣơng trình nhận dạng 16

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

hiểu và nghiên cứu đề tài :“NHẬN DẠNG ẢNH MẶT NGƢỜI DÙNG MẠNG
NƠRON”.
1.3.Mục tiêu đề tài
Ngƣời thực hiện nghiên cứu với các mục tiêu sau:
- Tìm hiểu sơ lƣợc về lý thuyết xử lý ảnh.
- Tìm hiểu về cấu trúc của nơron nhân tạo, mạng nơron.
- Tìm hiểu về thuật toán biến đổi hình thái.
- Tìm hiểu các thuật toán nhận dạng và xử lý ảnh.
- Nâng cao kỹ năng thiết kế và lập trình bằng ngôn ngữ matlab.
- Rèn luyện kỹ năng nghiên cứu, đọc hiểu tài liệu tiếng anh.



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

CHƢƠNG 1: MỞ ĐẦU

1.4.Giới hạn đề tài
Với thời gian có hạn nên ngƣời nghiên cứu chỉ thực hiện nghiên cứu những vấn
đề cơ bản sau:
- Nghiên cứu thuật toán lan truyền ngƣợc để nhận dạng khuôn mặt sử dụng mạng
nơron.
- Nghiên cứu trích đặc trƣng dùng phƣơng pháp biến đổi hình thái.
- Nghiên cứu giải thuật và thực hiện phần mền nhận dạng trên matlab.
1.5.Bố cục của đồ án.
Chƣơng 1: Giới thiệu
Chƣơng 2: Cơ sở lý thuyết
Chƣơng 3: Nội dung nghiên cứu
Chƣơng 4: Kết quả nghiên cứu và thực hiện

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

một ảnh thu nhận đƣợc phụ thuộc vào thiết bị thu, vào môi trƣờng (ánh sáng, phong
cảnh).
2.1.2.Tiền xử lý (Image Processing)
Sau bộ thu nhận, ảnh có thể nhiễu độ tƣơng phản thấp nên cần đƣa vào bộ tiền
xử lý để nâng cao chất lƣợng. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ
tƣơng phản để làm ảnh rõ hơn, nét hơn.
Phân đoạn
ảnh

Biểu diễn
và mô tả

Nhận dạng và
nội suy

Thu nhận
ảnh
Tiền xử lý
ảnh

Cơ sở trí thức
Đồ án môn học 2
Trang 4

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1.3. Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn
phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thƣ
cho mục đích phân loại bƣu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên ngƣời
thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng. Đây là phần

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à

phân tích ảnh ngoài việc đơn giản hóa các phƣơng pháp toán học đảm bảo tiện lợi cho
xử lý, ngƣời ta mong muốn bắt chƣớc quy trình tiếp nhận và xử lý ảnh theo cách của
con ngƣời. Trong các bƣớc xử lý đó, nhiều khâu hiện nay đã xử lý theo các phƣơng
pháp trí tuệ con ngƣời. Vì vậy, ở đây các cơ sở tri thức đƣợc phát huy.
2.2. Những vấn đề cơ bản trong hệ thống xử lí ảnh
2.2.1. Điểm ảnh (Picture Element)
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng. Để xử lý
bằng máy tính (số), ảnh cần phải đƣợc số hoá. Số hoá ảnh là sự biến đổi gần đúng một
ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng
(mức xám). Khoảng cách giữa các điểm ảnh đó đƣợc thiết lập sao cho mắt ngƣời
không phân biệt đƣợc ranh giới giữa chúng. Mỗi một điểm nhƣ vậy gọi là điểm ảnh
(PEL: Picture Element) hay gọi tắt là Pixel. Trong khuôn khổ ảnh hai chiều, mỗi pixel
ứng với cặp tọa độ (x, y).
Định nghĩa:
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc
màu nhất định. Kích thƣớc và khoảng cách giữa các điểm ảnh đó đƣợc chọn thích hợp
sao cho mắt ngƣời cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của
ảnh số gần nhƣ ảnh thật. Mỗi phần tử trong ma trận đƣợc gọi là một phần tử ảnh.
2.2.2. Độ phân giải của ảnh
Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh đƣợc ấn định trên một ảnh
số đƣợc hiển thị. Theo định nghĩa, khoảng cách giữa các điểm ảnh phải đƣợc chọn sao
cho mắt ngƣời vẫn thấy đƣợc sự liên tục của ảnh. Việc lựa chọn khoảng cách thích
hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và đƣợc phân bố theo trục x
và y trong không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một
lƣới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200).
Đồ án môn học 2
Trang 6

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

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.

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

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
+ Ảnh màu : mỗi điểm ảnh chia ra thành tín hiệu chói và tín hiệu màu.
2.3. Trích chọn đặc trƣng ảnh
Có nhiều phƣơng pháp trích đặc trƣng nhƣ phƣơng pháp phân tích thành phần
chính(PCA-Principal Component Analysis), phƣơng pháp phân tách tuyến tính(LDA
– Linear Discriminant Analysis) và phƣơng pháp biến đổi hình thái, do những ƣu
điểm và sự hiệu quả trong quá trình trích đặc trƣng của phƣơng pháp biến đổi hình
thái nên chúng ta chọn phƣơng pháp này trong quá trình trích chọn đặc trƣng.
2.3.1 Thuật toán biến đổi hình thái(Morphological Operations)
Hai phƣơng pháp PCA và LDA cho phép phân tích dựa trên các đặc điểm
mang tính thống kê của ảnh. Tuy nhiên, các phƣơng pháp này chƣa xét đến
những đặc điểm về hình thái của mặt nguời. Đó chính là những đặc phận trên
khuôn mặt nhƣ mắt, mũi, miệng. Phƣơng pháp biến trƣng về đƣờng nét của các
bộ đổi hình thái sẽ bổ sung cho những thiếu sót này của hai phƣơng pháp trên.
Xử lý ảnh về hình thái là một phép xử lý trong đó dạng không gian hoặc cấu trúc
của các đối tƣợng trong ảnh đƣợc chỉnh sửa.
Thuật toán hình thái là một thuật toán mặc nạ phi tuyến mà có thể dò đƣợc khuôn
mặt. Về mặt toán học thuật toán này dựa trên lý thuyết tập hợp. Nó thêm vào hoặc xóa
đi các điểm ảnh từ ảnh nhị phân theo các luật đã biết phụ thuộc vào các mẫu lân cận.
Phép dãn ảnh và phép co ảnh là hai thao tác xử lý hình thái cơ bản. Với phép dãn
ảnh, một đối tƣợng sẽ nổi đều lên trong không gian, còn với phép co ảnh đối tƣợng sẽ
co đều xuống.
Xét một ảnh đa mức xám F(j,k) đƣợc lƣợng tử hóa với một thang mức xám nào
đó. Khi đó, phép dãn ảnh đối với ảnh đa mức xám đƣợc định nghĩa nhƣ sau:
( , ), ( , 1)
( , ) AX ( 1, 1), ,
( 1, 1)

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

cận 3×3.
Đồ án môn học 2
Trang 8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Hình sau là một số ảnh mặt ngƣời đã đƣợc biến đổi qua phép xử lý hình thái.
Hình 2.2 Ảnh sau khi biến đổi hình thái
2.3.2 Thuật toán his-and-miss
Thuật toán hit-and-mis là một phép nhân chập dựa trên giản ảnh-co ảnh(dilation-
erosion-based). Nó là một bộ dò dạng hình thái mà có thể đƣợc sử dụng để tìm ra
những đặc trƣng của điểm ảnh trong một bức ảnh. Thuật toán này có phƣơng trình nhƣ
sau:
 
 
12
c
c
F K F K F K    

Trong đó,
1 2 1 2
,,K K K K K K   

Ảnh F đầu tiên đƣợc co với phần tử
1
K
. Phần bù của ảnh thì đƣợc co với phần tử
cấu trúc
2
K

. 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


 Di chuyển điểm x
0
theo hƣớng dốc nhất của hàm lỗi.
Quá trình tính độ dốc và di chuyển này sẽ đƣợc lặp lại cho đến khi x
0
tiến tới giá
trị làm cho hàm lỗi đạt giá trị nhỏ nhất.
Cập nhật trọng số theo phƣơng pháp giảm gradient và sự hội tụ
Phƣơng pháp này sẽ dựa trên đạo hàm riêng của hàm lỗi E đối với các trọng số
đang xét theo công thức sau:
     
w1
ij ij
ij
E
t w t t
w


  


Trong đó:
- t là chỉ số của lần cập nhật trọng số hiện tại.
-

là hệ số học
- w là một trong những trọng bất kỳ trong mạng
Theo công thức trên,ta thấy chúng ta cập nhật trọng số ngƣợc hƣớng với sai số
trung bình bình phƣơng và hệ số học


. 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

thần kinh chứa các nhân và cơ quan
tổng hợp protein. Các ion vào đƣợc
tổng hợp và biến đổi. Khi nồng độ
các ion đạt đến một giá trị nhất định,
xảy ra quá trình phát xung (hay kích
thích). Xung đó đƣợc phát ở các đầu
ra của nơron. Dây dẫn đầu ra xung
đƣợc gọi là dây thần kinh.
Hình 2.4 Cấu trúc của nơ-ron sinh hoc
- Dây thần kinh (Axon):Dây thần kinh là đầu ra. Đó là phƣơng tiện truyền dẫn tín
hiệu. Dây thần kinh đƣợc cấu tạo gồm các đốt và có thể dài từ micro mét đến vài mét
tuỳ từng kết cấu cụ thể. Đầu ra này có thể truyền tín hiệu đến các nơron khác.
- Khớp thần kinh là bộ phận tiếp xúc của đầu ra nơron với rễ, nhánh của các nơron
khác.
Đồ án môn học 2
Trang 11

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu khi có sự chênh lệch về
nồng độ ion giữa bên trong và bên ngoài. Nếu độ lệch về nồng độ càng lớn thì việc
truyền các ion càng nhiều và ngƣợc lại. Mức độ thẩm thấu của các ion có thể coi là
một đại lƣợng thay đổi tuỳ thuộc vào nồng độ nhƣ một giá trị đo thay đổi đƣợc gọi là
trọng.
Cấu trúc nơron nhân tạo
Dựa vào cấu trúc trên chúng ta cũng có thể tạo ra một tế bào nơ-ron cơ bản có các
thành phần tƣơng tự nhƣ trên đó là perceptron.
Hình 2.5 Nơ-ron nhân tạo
Một perceptron đƣợc mô tả nhƣ hình sau:
Nơron này sẽ hoạt động nhƣ sau: giả sử có n inputs, nơron sẽ có n
weights(trọng số) tƣơng ứng với n đƣờng truyền inputs. Nơron sẽ lấy tổng có trọng số

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










Hình 2.6 Đồ thị hàm ngƣỡng
2.5.2 Phân loại mạng nơ-ron nhân tạo
Có nhiều cách để phân loại mạng nơ-ron nhân tạo, tùy theo tiêu chí đề ra:
Dựa vào số lƣợng lớp có trong mạng, ta phân thành:
+ Mạng một lớp
+ Mạng nhiều lớp
Dựa vào đƣờng truyền tín hiệu trong mạng, ta phân thành:
+ Mạng truyền thẳng
+ Mạng phản hồi
+ Mạng tự tổ chức
2.5.3 Học tham số(Parameter Learning)
Mục tiêu của việc học tham số là thay đổi, cập nhật các trọng liên kết. Hầu hết các
luật học tồn tại thuộc kiểu học tham số. Các kiểu học điển hình mà chúng ta sẽ nghiên
cứu trong phần sau. Thông thƣờng, luật học tham số đƣợc chia thành ba dạng chính,
đó là: Học giám sát, học không giám sát và học củng cố.
Học có thầy (Học giám sát: Supervised Learning): Với kiểu học này, tại mỗi thời
điểm có đầu vào mạng nơron thì đầu ra mong muốn của hệ sẽ đƣợc cho sẵn.
Học không có thầy (Học không giám sát: Unsupervised Learning): Với kiểu học
này, không có bất kì một thông tin phản hồi từ môi trƣờng nào. Mạng phải tự tìm ra
các mẫu, đặc tính, tính quy tắc, sự tƣơng quan trong dữ liệu đầu vào và tập hợp lại để
Đồ án môn học 2

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


()k
y
sẽ đƣợc lan truyền
ngƣợc từ lớp ra quay trở lại các lớp trƣớc đó để chúng cập nhật trọng. Để minh hoạ
chi tiết thuật toán lan truyền ngƣợc, xét một mạng 3 lớp:lớp vào có m nơron, lớp ẩn có
l nơron và lớp ra có n nơron:
 Cấu trúc
+ Lớp ẩn: với tập mẫu đầu vào x, nơron thứ q của lớp ẩn nhận tổng đầu vào l

1
w
m
q jq j
j
net x



trong đó j=1,2,3,…,m; q= 1,2,3,…,l
Và tạo đầu ra của lớp ẩn là
1
()
m
q q qi j
j
z f net f v x








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
  
  
  


W
ij
,V
iq



W
ij
W
ij
,V
iq



…… …… ……



Hình 2.7 Mạng lan truyền ngƣợc dùng n lớp ẩn

2.5.5 Luật học lan truyền ngƣợc(Backpropagation Learning Rule)
Cơ sở của luật học lan truyền ngƣợc đƣợc xây dựng trên phƣơng pháp hạ
Gradient. Đầu tiên, xây dựng hàm chi phí (hay còn gọi là hàm sai số giữa đầu ra mong
muốn d
i
với đầu ra thực tế y
i

)
 
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

i i i q oi q
y net
EE
y net
d y f net z n z



   


  
    

  

  

  

Với
oi

là tín hiệu lỗi tại nơ-ron thứ I trong lớp ra(o=out)
   
oi i i i
d y f net




W
ij

1
W
ij
W
ij

W
ij

W
ij

W
ij

W
ij

W
ij

W
ij

W
ij


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

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Đối với trọng liên kết giữa nơron thứ j của lớp vào và nơron thứ q của lớp ẩn sẽ
đƣợc cập nhật theo:
   
 
 
 
' ' '
11
ww
q q q
qj
qj q qj q q qj
nn
i i i iq q j oi q j hq j
ii
net z net
E E E
v
v net v z net v
d y f net f net x f net x x
  
  
  
     
   


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

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






   

'1
q q q
f net z z
nên suy ra:
 
1
1w
n
hq q q oi iq
i
zz





Nhƣ vậy việc cập nhật trọng cho lớp ra và lớp ẩn có khác nhau một chút, công
thức của lớp ra đơn giản hơn bởi nó không cần tính tổng
1
w
M
pk kj
k



từ lớp kề sau nó
mà chỉ đơn giản là hiệu giữa đầu ra mong muốn và đầu ra thực tại nơron hiện tại
 
pj pj

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.1 Lƣu đồ chƣơng trình nhận dạng
3.1.1 Đọc ảnh dữ liệu và ảnh kiểm tra
Ảnh là tập hợp các điểm ảnh. Việc đọc ảnh vào chƣơng trình thực chất là nạp
ảnh vào một biến của chƣơng trình để xử lý.
Việc đọc ảnh trong đề tài này thực hiện theo lƣu đồ sau:


Đọc ảnh dữ liệu và ảnh kiểm tra
Bắt đầu
Huấn luyện ảnh dữ liệu và ảnh kiểm tra
Chọn ảnh cần kiểm tra
So sánh ngƣỡng
Chọn ứng cử viên
Kết thúc
Lƣu dữ liệu đã huấn luyện
Đồ án môn học 2
Trang 17

CHƢƠNG 3: NỘI DUNG NGHIÊN CỨ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:

, , ,
.y f v z





Đọc dữ liệu ảnh
Chuyển từ ảnh màu
thành ảnh nhị phân
Chuẩn hóa kích thƣớc
ảnh
Lƣu
Đồ án môn học 2
Trang 18

CHƢƠNG 3: NỘI DUNG NGHIÊN CỨU
Ở lớp ngõ ra:
, , ,
w.o f y





Bƣớc 3: Tính toán giá trị sai số tích lũy: ( khởi tạo E
new
=E
old
=0)

 
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.

Ở lớp ngõ ra:
, , ,
w w . .
old
new o
y



Ở lớp giấu:
, , ,

old
new o
v v z



Bƣớc 6: Kiểm tra số lần lặp. Nếu đã lặp đủ số lần thì đến bƣớc 7, còn không thì
quay lại bƣớc 2.
Bƣớc 7: Kiểm tra sai số hiện tại.
Nếu E
new
≤ E
max
, kết thúc quá trình lặp. Lƣu tất cả các trọng số, số lần lặp và
sai số.
Nếu E
new
> E

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


đúng sai

đúng

Hình 3.3 Lƣu đồ giải thuật cho mạng lan truyền ngƣợc
Khởi tạo trọng số
Bắt đầu huấn luyện
Tính toán giá trị sai số
Tính toán các vector tính
hiệu sai số
Điều chỉnh trọng số
Chạy hết số lần
lặp?
E
mới
≤E
max
?
Lưu trọng số,số lần lặp,sai số
E
mới
=0
E

=0

×