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

báo cáo tốt nghiệp ứng dụng mạng neural trong nhận dạng kí tự

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 (750.41 KB, 31 trang )

1
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
NGÀNH CÔNG NGHỆ THÔNG TIN
BÁO CÁO TỐT NGHIỆP

Đề tài:
ỨNG DỤNG MẠNG NEURAL TRONG
NHẬN DẠNG KÍ TỰ

Giáo viên hƣớng dẫn : Th.s Ngô Trƣờng Giang
Sinh viên thực hiện : Bùi Quang Chiến
Mã sv : 10324
Lớp : CT702

Hải Phòng, 8/2007
2
NỘI DUNG BÁO CÁO
Giới thiệu đề tài.
Chƣơng I: Tìm hiểu tổng quan về mạng neural.
Chƣơng II: Ứng dụng mạng neural nhận dạng kí tự.
Chƣơng III: Cài đặt chƣơng trình thử nghiệm
Kết luận và hƣớng phát triển của đề tài.

3
GIỚI THIỆU CHUNG
Từ những ƣu điểm của bộ óc con ngƣời khả năng
học tập, nhận dạng và phân loại…
Tìm cách bắt chƣớc để thực hiện những máy tính
có khả năng hoạt động nhƣ bộ óc con ngƣời.
 Các mạng neural nhân tạo đã ra đời từ những nỗ
lực đó. Với mục đích là xây dựng các máy thông


minh tiến gần tới trí tuệ con ngƣời.

4
KHÁI NIỆM NEURAL NHÂN TẠO
Khái niệm neural: Là một đơn vị
tính toán có nhiều đầu vào và
một đầu ra, mỗi đầu vào đến từ
một thành phần liên kết.
Các thành phần của neural nhân tạo:
1.Thành phần liên kết.
2.Bộ cộng.
3.Hàm kích hoạt.

Hình1: Mô hình một neural nhân tạo

5
KHÁI NIỆM MẠNG NEURAL NHÂN TẠO
Khái niệm: Là một hệ thống
bao gồm nhiều phần tử xử lý
đơn giản tựa nhƣ neural thần
kinh của não ngƣời.
Mô hình mạng neural :
Lớp nhập (input),
Lớp ẩn (Hidden-nếu có)
Lớp xuất (output).


Hình 2: Mô hình mạng neural nhân tạo

6

PHÂN LOẠI MẠNG NEURAL


Ta có mạng neural truyền thẳng và neural mạng qui hồi.

Lớp nhập
Lớp ẩn
Lớp xuất
Hình 3a: Mạng mạng truyền thẳng đa mức

Hình 3b: Mạng qui hồi có các neural ẩn

7
HUẤN LUYỆN MẠNG NEURAL


Phương pháp học: Mạng neural nhân tạo phỏng theo việc
xử lý thông tin của bộ não ngƣời, do vậy đặc trƣng cơ
bản của mạng là có khả năng học, tái tạo các hình ảnh
và dữ liệu khi đã học.
Có 3 kiểu học chính:
 Học có giám sát.
 Học không giám sát.
 Học tăng cƣờng
8
HUẤN LUYỆN MẠNG NEURAL NHIỀU LỚP
Thuật toán „Lan truyền ngƣợc‟ gồm hai quá trình:
Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn
và đến lớp xuất:
 Thay đổi giá trị của trọng số liên kết W.

 Tính toán lỗi.
Quá trình truyền ngƣợc: Giá trị lỗi sẽ đƣợc truyền ngƣợc
lại sao cho quá trình huyến luyện sẽ tìm ra trọng số Wi
để lỗi nhỏ nhất.
9
THUẬT TOÁN LAN TRUYỀN NGƢỢC
Bƣớc 1: Khởi tạo trọng số W ngẫu nhiên nhỏ.
Bƣớc 2 : Chọn giá trị đầu vào X và đính nó vào lớp
đầu vào .
Bƣớc 3 : Truyền sự kích hoạt qua trọng số đến khi
kích hoạt các nơron đầu ra.
Bƣớc 4: Tính đạo hàm riêng “δE” theo trọng số cho
lớp xuất.
Bƣớc 5: Tính đạo hàm riêng “δE” theo trọng số cho
lớp ẩn.
10
THUẬT TOÁN LAN TRUYỀN NGƢỢC
Bƣớc 6: Cập nhật tất cả trọng số theo




Bƣớc 7: Quay lai “Bƣớc 2” cho đến “Bƣớc 6” cho
tất cả các mẫu.

11
ỨNG DỤNG MẠNG NEURAL NHẬN DẠNG KÍ TỰ
Ý tƣởng bài toán :
 Phân tích ảnh cho kí tự: Chia ảnh theo dòng và
tách ký tự theo từng vùng giới hạn

 Chuyển đổi kí tự sang ma trận điểm ảnh.
 Chuyển thành ma trận tuyến tính và đƣa vào
mạng neural.
 Đƣa và mạng neural tính giá trị đầu ra.
 Hiển thị kí tự của mã Unicode thu đƣợc.
12
SƠ ĐỒ MẠNG NEURAL
Điểm ảnh
Điểm ảnh
Điểm ảnh
Điểm ảnh
0 hoặc 1
0 hoặc 1
0 hoặc 1
0 hoặc 1
150 neural Lớp
nhập

500 neural Lớp
ẩn

16 neural Lớp
xuất

13
QUÁ TRÌNH TÁCH DÒNG
Quá trình
tách dòng
Giới hạn trên
Giới hạn dƣới

(0,0)
x
y
Quá trình tách dòng
14
QUÁ TRÌNH TÁCH KÍ TỰ
Gới
hạn
phải
kí tự
Gới
hạn
trái
kí tự
x
y
Quá trình tách
kí tự
(0,0)
Quá trình tách ký tự
15
TÌM GIỚI HẠN KÍ TỰ
Quá
trình
tìm
giới
hạn
Gới hạn trên
kí tự
Gới hạn dƣới

kí tự
Gới hạn trên dòng
Gới hạn dƣới dòng
Y1
X1
Y2
X2
O1
O2
Quá trình tìm giới hạn kí tự
16
CHIA LƢỚI KÍ TỰ
0
15
0 10
(0,0)
(10,15)




Giá trị đƣợc xét

Quá trình chia lƣới
17
ÁNH XẠ VÀO MA TRẬN
0 0 0 0 1 1 0 0 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 1 1 1 1 0 0 0

0 0 0 1 1 1 1 0 0 0
0 0 1 1 1 1 0 0 0
0 0 1 1 0 0 1 1 0 0
0 0 1 1 0 0 1 1 0 0
0 0 1 1 0 0 1 1 0 0
0 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 0
0 1 1 0 0 0 0 1 1
0
0
0 1 1 0 0 0 0 1 1 0
1 1 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 1 1
1 1 1 1 1
1 1 1 1
1 1
0
1 1
1 1
1 1
1 1 1
1 1
1 1 1
1 1 1 1
1 1 1 1 1 1 1
1
0
(0,0)
(10,15)
Quá trình

chuyển từ ma
trận điểm sang
ma trận giá trị
Quá trình ánh xạ vào ma trận
18
Xây dựng mạng
Khởi tạo trọng số
Nạp file huấn luyện
Phân tích ảnh
kí tự tiếp theo
Hết ảnh kí
tự?
Vector tiếp theo
BẮT
ĐẦU
Số lần lặp
lớn nhất?
KẾT THÚC
kí hiệu: Đ : Đúng
S : Sai
S
S
Đ
Đ
Đọc đầu ra mong muốn
Hết kí tự?
Tính đầu ra
Tính lỗi
Cập nhật trọng số
Hết kí tự ?

Tính trung bình lỗi
Đ
S
Lỗi<ngƣỡng?
Đ
Đ
S
S
Sơ đồ huấn luyện mạng neural
nhận dạng kí tự
19
NHẬN DẠNG KÍ TỰ
Phân tích ảnh
Dòng đầu tiên
Ánh xạ kí tự tới vector
Tính đầu ra
Unicode => kí tự
Hết kí tự trên
dòng?
Dòng tiếp theo kí tự tiếp theo
BẮT
ĐẦU
Hết các dòng?
KẾT THÚC
kí hiệu:
Đ : Đúng
S : Sai
S S
Đ
Đ

Sơ đồ nhận dạng kí tự
20
MÔI TRƢỜNG THỰC NGHIỆM
Chƣơng trình thực nghiệm chạy trên:
Phần cứng : Một máy tính pentum IV.
Card đồ họa 256 MB .
Ram 512 MB.
Phần mền : Ngôn ngữ sử dụng: C# trong bộ visual studio
2005
Tập dữ liệu đầu vào: là một số ảnh của font Arial và
Tahoma với các kích thƣớc 8,10,12,14,18,20.
21
GIAO DIỆN CHƢƠNG TRÌNH
22
MẪU HUẤN LUYỆN
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
Ảnh đầu vào
Đầu ra mong muốn
23
Loại font Số ký tự
huấn luyện
Số ký tự lỗi %lỗi Ghi chú
Arial8 124 2 0.016
Arial10 124 2 0.016
Arial12 124 3 0.024

Arial14 124 3 0.024
Arial18 124 2 0.016
Arial20 124 2 0.016
Arial_Số 160 0 0
Arial_Hoa 156 0 0
Arial_Thƣờng 156 0 0
TỔNG HỢP KẾT QUẢ HUẤN LUYỆN
24
TỔNG HỢP KẾT QUẢ HUẤN LUYỆN
Loại font Số ký tự
huấn luyện
Số ký tự
lỗi
%lỗi Ghi chú
Tahoma 8 124 2 0.016
Tahoma 10 124 3 0.024
Tahoma 12 124 2 0.016
Tahoma 14 124 2 0.016
Tahoma 18 124 0 0
Tahoma 20 124 0 0
Tahoma_Số 160 0 0
Tahoma_Hoa 156 0 0
Tahoma_Thƣờng 156 0 0
25
MẪU NHẬN DẠNG
ABCDEFGHlJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijkImnopqrstuvwxyz

0123456789
Ảnh đầu vào
Kết quả nhận dạng

×