Nhận Dạng Đối Tượng Dùng PCA - Noron Network: University Of Technical Education Ho Chi Minh City

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

University Of Technical Education

Ho Chi Minh City

NHẬN DẠNG ĐỐI TƯỢNG


DÙNG
PCA – NORON NETWORK

1
1. CHUẨN BỊ DỮ LIỆU

 Chuẩn bị tập các đối tượng: Các đối tượng cần nhận dạng
được tập hợp và phân loại vào các tập khác nhau và được
đặt tên theo một chuẩn nhất định như hình 1:

Hình 1. Các đối


tượng được phân
chia vào 3 tập s1,
s2, s3 và được đặt
tên theo chuẩn

2
1. CHUẨN BỊ DỮ LIỆU

 Chuẩn hóa dữ liệu:


- Các ảnh về đối tượng cần chuẩn hóa theo cùng một kích thước
giống nhau.
- Dùng hàm B = imresize(A,[numrows numcols] để resize lại kích
thước ảnh.
- Số lượng các ảnh trong các tập phải bằng nhau.

3
2. Trích đặc trưng dùng PCA

Hình 3. Quá trình trích rút


đặc trưng dùng PCA
4
2. Trích đặc trưng dùng PCA

 Tạo một tập ảnh học


- Tạo một tập S gồm m ảnh kích thước RxC.
- Mỗi ảnh được chuyển thành một vector (N = mxn) chiều dùng
hàm reshape(M,N,1) như mô tả sau:

S = {S1, S2, …, Sm}

Hình 4. Biểu diễn ảnh thành vectơ

5
2. Trích đặc trưng dùng PCA

 Tính ảnh trung bình

Hay:

6
2. Trích đặc trưng dùng PCA

 Tính sai lệch của các ảnh đầu vào so với trung bình
- Nhằm tạo ra sự khác biệt tương đối của các ảnh ngõ vào

- Xây dựng ma trận từ các vector tìm được

A = {n1, n2, …, nm}

7
2. Trích đặc trưng dùng PCA

 Xây dựng ma trận hợp phương sai

C = A.AT
- Vì ma trận C có kích thước quá lớn (NxN) nên để tìm
eigenvector của C ta tìm eigenvector và eigenvalue của ma
trận L:
L = AT A
- Trị riêng (eigenvalue λi), và vectơ riêng (eigenvectơ xi) của
ma trận hợp phương sai này chính là đặc trưng thành phân
thiết yếu của ảnh.
- Dùng hàm [V,D] = eig(L) để tìm trị riêng D và vectơ riêng V
của ma trận L
8
2. Trích đặc trưng dùng PCA

 Phép chiếu
- Chiếu lần lượt các ảnh trong cơ sở dữ liệu đến không gian
đặc trưng m hướng này, để sinh ra các ảnh đặc trưng trong
không gian ảnh mới.

 
 i  x1 x2 ....xn .nim
T
i  1, m

- Với X T  x1 x2 .... xM  là ma trận đặc trưng các ảnh mẫu đã


T

rút trích ra được gọi là các eigensignal, nim là vectơ ảnh thứ
i trừ ảnh trung bình.

9
3. Huấn luyện dữ liệu

 Cấu trúc mạng nơ-ron


- Ba loại khác nhau của cấu trúc mạng:
 Mạng truyền thẳng một lớp.
 Mạng truyền thẳng đa lớp.
 Mạng tự tái tạo.

Hình 6. Mạng 3 ngõ vào, 4 nút ẩn, 2 ngõ ra Hình 7. Cấu trúc mạng nơ-ron
10
3. Huấn luyện dữ liệu

 Huấn luyện mạng


- Quá trình huấn luyện mạng chính là quá trình huấn luyện
các mẫu học S = {S1, S2, …,Sm} để có được giá trị cuối
cùng T = {T1, T2, …,Tn} như mong muốn.

Hình 8. Mô tả tập dữ liệu ngõ vào với 3 loại đối tượng khác nhau 11
3. Huấn luyện dữ liệu

 Huấn luyện mạng


• Khởi tạo mạng cần có:
net : loại mạng nơ-ron
P : tập vector ngõ vào
T : tập vector ngõ ra
Ví dụ:
net = newff(minmax(P),[S1 S2],{'tansig‘ 'logsig'},'traingdx')
Hàm kích hoạt cho ngõ ra của lớp vào là tansig và lớp ra là
logsig. Thuật toán học theo phương pháp thích nghi, số nút
lớp ẩn là S1, số ngõ ra là S2

12
3. Huấn luyện dữ liệu

 Huấn luyện mạng

Ví dụ:
- Tập dữ liệu ngõ vào gồm 15 vector chia cho 3 loại, mỗi
vector là một ngõ vào như hình 8, vậy có 15 ngõ vào
- Cần chia dữ liệu thành 3 loại nên có 3 ngõ ra tương ứng. Ma
trận ngõ ra tương ứng có số cột bằng số vector ngõ vào.

Hình 9. Ma trận ngõ ra tương ứng với 3 loại đối tượng

13
3. Huấn luyện dữ liệu

 Huấn luyện mạng


- Để chọn số nút ẩn cho mạng ta làm các bước sau:
+ Bước1 : Chọn số nút ẩn đủ để mạng hội tụ.
+ Bước 2: Tính sai số trên tập kiểm tra. Nếu sai số trên tập
kiểm tra tăng theo số lần luyện thì mạng chưa đủ nút ẩn để
quá khớp. Tăng nút ẩn cho đến khi sai số giảm đến giá trị
mong muốn.

14
3. Huấn luyện dữ liệu

 Huấn luyện mạng


• Các thông số chính mạng nơron:
net.performFcn = 'sse' : cách tính sai số (sum squared error)

net.trainParam.goal = 0.001 : Sai số mong muốn

net.trainParam.epochs = 2000 : Số lần học

• Khi huấn luyện mạng đạt được sai số mong muốn thì dừng
lại để kiểm tra.

15
3. Huấn luyện dữ liệu

 Ví dụ Matlab
• Chạy chương trình main.m sẽ có giao diện sau:

Hình 10. Giao diện chương trình 16


3. Huấn luyện dữ liệu

 Ví dụ Matlab
• Nhấn nút Training,
chương trình sẽ tiến
hành huấn luyện tập
dữ liệu.
• Nếu như sai số đạt
yêu cầu thì dừng, nếu
chưa đạt tiến hành
huấn luyện cho tới
khi đạt.
Hình 11. Tiến trình huấn luyện mạng nơ-ron

17
3. Huấn luyện dữ liệu

Hình 12. Tổng sai số bình phương trong quá


trình huấn luyện đạt đến giá trị mong muốn 18
3. Huấn luyện dữ liệu

 Ví dụ Matlab
• Sau khi huấn luyện xong, tiến hành nhận dạng.
• Có thể chọn ảnh trong tập train hoặc tập test để kiểm tra

Hình 13. Nhận dạng đối tượng 19


THE END

20

You might also like