1. Trang chủ
  2. » Luận Văn - Báo Cáo

nhận diện số viết tay

59 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhận Diện Số Viết Tay
Tác giả Đặng Hào Phú, Đặng Tấn Phát, Bùi Nguyễn Khôi Nguyên, Nguyễn Nhật Duy, Nguyễn Huỳnh Thiên Quốc
Người hướng dẫn ThS. Nguyễn Nhựt Quỳnh
Thể loại Báo Cáo
Định dạng
Số trang 59
Dung lượng 6,7 MB

Nội dung

Phần 2 MÔ HÌNH MẠNG NEURAL TÍCH CHẬP Phần 3 NHẬN DẠNG CHỮ SỐ VIẾT TAY VỚI MẠNG NƠ RON TÍCH CHẬP Phần 4... Phần 3 - Mạng Neural tích chập CNN Cấu trúc mạng Neural tích chập Mạng neural

Trang 1

Báo cáo

NHẬN DIỆN SỐ

VIẾT TAY

KHMT0121 Giảng viên hướng dẫn ThS Nguyễn Nhựt Quỳnh

Trang 3

LÝ DO CHỌN ĐỀ TÀI

Báo cáo

Nhận diện số viết tay đóng vai trò quan trọng trong quá trình học và công việc của lập trình viên Việc này bắt nguồn từ sự kết nối sâu sắc giữa việc viết tay và lập trình Lập trình viên thường phải viết code, ghi chú và vẽ sơ

đồ trước khi thực hiện công việc trên máy tính Tính cơ bản và cần thiết

của việc này là không thể phủ nhận, bởi nhận diện số viết tay giúp tự động hóa và tối ưu hóa quá trình chuyển đổi từ ý tưởng trên giấy thành mã

nguồn hoạt động trên máy tính Ngoài ra, công nghệ này còn có khả năng ứng dụng rộng rãi trong nhiều lĩnh vực lập trình, từ việc phát triển ứng

dụng di động đến xử lý ngôn ngữ tự nhiên và học máy Việc nghiên cứu và phát triển trong lĩnh vực này cũng khơi dậy sự sáng tạo và đổi mới, mở ra

cơ hội cho việc tạo ra các sản phẩm và dịch vụ công nghệ mới, mang lại lợi ích to lớn cho cả lập trình viên và cộng đồng người dùng

Trang 4

Phần 2

MÔ HÌNH MẠNG NEURAL TÍCH CHẬP

Phần 3

NHẬN DẠNG CHỮ

SỐ VIẾT TAY VỚI MẠNG NƠ RON TÍCH CHẬP

Phần 4

Trang 5

Phần 1

Báo cáo

MÔ HÌNH TỔNG QUÁT CỦA

MỘT HỆ NHẬN DẠNG SỐ VIẾT TAY

Trang 6

Tiền xử lý:

Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng, tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm lại.

Khối tiền xử lý bao gồm một số chức năng: Nhị phân hóa ảnh, lọc nhiễu, chuẩn hóa kích thước ảnh, làm trơn biên chữ, làm đầy chữ, làm mảnh chữ

và xoay văn bản.

Phần 1

Trang 7

Nhị phân hóa ảnh:

Nhị phân hóa ảnh là một kỹ thuật

chuyển ảnh đa cấp xám sang ảnh nhị

phân Trong bất kỳ bài toán phân tích

hoặc nâng cao chất lượng ảnh nào, nó

Trang 8

Lọc nhiễu:

Nhiễu là một tập các điểm sáng thừa

trên ảnh Khử nhiễu là một vấn đề

thường gặp trong nhận dạng, nhiễu có

nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu

phương pháp lọc tỏ ra kém hiệu quả,

trong trường hợp này sử dụng phương

pháp khử các vùng liên thông nhỏ tỏ ra

có hiệu quả hơn.

Phần 1

Nhiễu đốm và nhiễu vệt.

Trang 9

Chuẩn hóa kích thước ảnh:

Việc chuẩn hóa kích thước ảnh dựa

trên việc xác định trọng tâm ảnh, sau

đó xác định khoảng cách lớn nhất từ

tâm ảnh đến các cạnh trên, dưới, trái,

phải.

Thông qua khoảng cách lớn nhất đó,

có thể xác định được một tỷ lệ co, giãn

của ảnh gốc so với kích thước đã xác

định.

Thuật toán chuẩn hóa kích thước ảnh

luôn luôn đảm bảo được tính cân bằng

khi co giãn ảnh.

Phần 1

Chuẩn hóa kích thước ảnh các ký tự “A” và “P”

Trang 10

Làm trơn biên số:

Đôi khi do chất lượng quét ảnh quá

xấu, các đường biên của chữ không còn

giữ được dáng điệu trơn tru ban đầu

mà hình thành các đường răng cưa giả

tạo

Trong các trường hợp này, phải dùng

các thuật toán làm trơn biên để khắc

phục.

Phần 1

(a) Ảnh gốc (b) Ảnh sau khi được làm trơn

biên

Trang 11

liên thông của ký tự

thành hai ký tự riêng biệt,

tạo nên sai lầm trong quá

Trang 12

Điều chỉnh độ nghiên của văn

bản:

Do trang tài liệu quét vào không cẩn

thận hoặc do sự cố in ấn, các hàng

chữ bị lệch so với lề chuẩn một góc α,

điều này gây khó khăn cho công

đoạn tách chữ, đôi khi không thể tách

được Trong những trường hợp như

vậy, phải tính lại tọa độ điểm ảnh của

các chữ bị sai lệch.

Phần 1

Hiệu chỉnh độ nghiêng của văn

bản

Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ

biến nhất dựa trên cơ sở biểu đồ chiếu (projection profile)

của ảnh tài liệu; một số kỹ thuật dựa trên cơ sở các phép

biến đổi Hough và Fourier.

Trang 14

Phần 2

Báo cáo

TỔNG QUAN VỀ TRÍCH CHỌN ĐẶC

TRƯNG VÀ MỘT SỐ PHƯƠNG PHÁP TRÍCH CHỌN

ĐẶC TRƯNG TRONG NHẬN DẠNG SỐ VIẾT

Trang 15

Trích chọn đặc trưng:

 Sau đây là một số phương pháp

biến đổi và khai triển chuỗi thường được áp dụng trong lĩnh vực nhận dạng số:

• Biến đổi Fourier

• Biến đổi Wavelet

• Phương pháp mô men

• Khai triển Karhunent-Loeve

Phần 2

Một tín hiệu liên tục thường chứa nhiều thông tin và chúng

có thể sử dụng làm các đặc trưng cho mục đích phân lớp

Một số biến dạng khác như các phép dịch chuyển và phép quay là bất biến dưới các phép biến đổi toàn cục và khai triển chuỗi

01 01

Trang 16

Đặc trưng thông kê

Phần 2

Đặc trưng hình học và hình thái Đặc trưng bất biến

Trang 17

Trích chọn đặc trưng từ ảnh đa cấp xám

Phần 2

Trích chọn đặc trưng từ ảnh nhị phân

Trích chọn đặc trưng từ biên ảnhTrích chọn đặc trưng từ biểu diễn vecter

01 09

01 07

01 08

01 06

Trang 18

Phần 3

Báo cáo

MÔ HÌNH MẠNG NEURAL TÍCH CHẬP

Trang 19

Phần 3

01

02

Mạng Neural nhân tạo

Mạng Neural tích chập (Convolutional Neural Networks - CNN)

Trang 21

Mô hình phân lớp với CNN

Mô hình mạng neural truyền

thống

Trang 22

Phần 3 - Mạng Neural tích chập (CNN)

Cấu trúc mạng Neural tích chập

Mạng neural tích chập là một dạng của mạng neural đa tầng, mỗi tầng

thuộc một trong 3 dạng: tầng tích chập

(C - convolution), lấy mẫu con (S -

subsampling), kết nối đầy đủ (F - full

connection) như hình sau

Trang 23

Phần 3 - Mạng Neural tích chập (CNN)

Convolution tích chập

Tích chập được sử dụng đầu tiên trong xử lý tín hiệu số (Signal processing) Nhờ vào nguyên lý biến

đổi thông tin, các nhà khoa học đã áp dụng kĩ thuật

này vào xử lý ảnh và video số Để dễ hình dung, ta

có thể xem tích chập như một cửa sổ trượt (sliding

window) áp đặt lên một ma trận Ta có thể theo dõi

cơ chế của tích chập qua hình minh họa bên

Minh họa tích chập

Trang 24

Ảnh được phát hiện biên sau khi

chập

Ảnh mờ sau khi tích chập

Trang 26

Phần 3 - Mạng Neural tích chập (CNN)

Phương pháp VALID

Trang 27

Phần 3 - Mạng Neural tích chập (CNN)

Phương pháp SAME

Trang 28

Phần 3 - Mạng Neural tích chập (CNN)

Phương pháp FULL

Trang 30

Phần 3 - Mạng Neural tích chập (CNN)

Blur

Minh họa kết quả tích chập trong kỹ thuật blur

Trang 31

Phần 3 - Mạng Neural tích chập (CNN)

Sharpen

Minh họa kết quả tích chập trong kỹ thuật Sharpen

Trang 32

Phần 3 - Mạng Neural tích chập (CNN)

Outline

Minh họa kết quả tích chập trong kỹ thuật Outline

Trang 33

Phần 3

01

02

03

Mạng Neural nhân tạo

Huấn luyện mạng Neural Mạng Neural tích chập (Convolutional Neural Networks - CNN)

Trang 34

Phần 3 - Mạng Neural nhân tạo

Sơ lược về Neural sinh học

- Qua quá trình nghiên cứu về bộ não: Bộ não con người bao gồm khoảng 1011 neuron tham gia vào khoảng 1015 kết nối trên các đường truyền

- Những thành phần chính trong cấu trúc

của một neural trong bộ não con người:

Soma , Dendrite , Axon , Synapse.

Mô hình neural sinh học

Trang 35

Phần 3 - Mạng Neural nhân tạo

Mạng Neural nhân tạo

Mạng Nơron nhân tạo được thiết kế giống một số tính chất của mạng nơron sinh học Để

mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não con người, trong mạng nơron nhân tạo cũng có các thành phần có vai trò tương tự các thành phần trong nơron thần kinh

Hai thành phần chính cấu tạo nên mạng nơron nhân tạo là các nơron và các synapse

Weight Wi

Output

Mô hình Neural nhân tạo ở mức đơn giản

Trang 36

Phần 3 - Mạng Neural nhân tạo

Kiến trúc mạng

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, hoạt động song song và được nối với nhau bởi các liên kết Neural Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt hoặc ức chế giữa các Neural

Trang 37

Phần 3 - Mạng Neural nhân tạo

Mạng một tầng

Các Neural trong cùng một tầng có hàm chuyển là không giống nhau, ta có thể định nghĩa các Neural trong một tầng có hàm chuyển khác nhau bằng cách kết hợp song song hai mạng Neural giống ở trên Cả hai sẽ có đầu vào giống nhau và mỗi mạng sản xuất ra vài đầu ra

Trang 38

Phần 3 - Mạng Neural nhân tạo

Mạng một tầng

Ma trận trọng số cho các phần

tử trong vector đầu vào W:

Mô hình mạng một tầng

Trang 40

Mô hình mạng đa tầng

Trang 41

Phần 3

01

02

03 Huấn luyện mạng Neural

Mạng Neural nhân tạo

Mạng Neural tích chập (Convolutional Neural Networks - CNN) Mạng Neural nhân tạo

Trang 42

Phần 3 - 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, khả năng tái tạo các hình ảnh và dữ liệu khi đã học Trong trạng thái học thông tin được lan truyền theo hai chiều nhiều lần để học các trọng số Có 3 kiểu học chính, mỗi kiểu học tương ứng với một nhiệm vụ học trừu tượng Đó là học có giám sát (có mẫu), học không giám sát và học tăng cường

Trang 43

Phần 3 - Huấn luyện mạng Neural

02 Huấn luyện mạng Neural

 Học có giám sát

 Học không giám sát

 Học tăng cường

Trang 44

Phần 3 - Huấn luyện mạng Neural

02 Huấn luyện mạng Neural

 Học có giám sát

 Học không giám sát

 Học tăng cường

Trang 46

Phần 3 - Huấn luyện mạng Neural

Thuật toán huấn luyện mạng

Thuật toán lan truyền ngược Back Propagation:

Huấn luyện mạng Neural nhiều lớp sử dụng thuật toán Lan truyền ngược gồm hai quá trình:

+ Quá trình truyền tuyến tính+ Quá trình truyền ngược

Trang 47

Phần 3 - Huấn luyện mạng Neural

Thuật toán huấn luyện mạng

Những hạn chế của phương pháp lan truyền ngược:

Mạng liệt: Xảy ra khi những trọng số được điều chỉnh tới những giá trị rất lớn

Giá trị hiệu chỉnh trọng số gần 0, và quá trình huấn luyện có thể đi đến một trạng thái dừng ảo

Cực tiểu địa phương: Bởi vì sự hạ độ dốc, mạng có thể bị “mắc bẫy” tại một

cực tiểu địa phương khi có nhiều cực tiểu thấp hơn gần bên cạnh

Trang 48

Phần 4

Báo cáo

NHẬN DẠNG CHỮ SỐ VIẾT TAY VỚI MẠNG NEURAL TÍCH CHẬP

Trang 49

Phần 4

Xây dựng Phần trình thử nghiệm

Thông qua ngôn ngữ Python, ta sử dụng thư viện Tensorflow để xây dựng một mô hình mạng nơ-ron tích chập và áp dụng mô hình này để giải bài toán nhận dạng chữ số với tập dữ liệu MNIST

Tập dữ liệu MNIST, tập hợp các bức ảnh nhị phân về các chữ số viết tay

đã được chuẩn hoá và chuyển về kích cỡ 32x32 Dữ liệu được chia thành

60000 mẫu được đưa vào CNN để huấn luyện và 10000 mẫu để kiểm nghiệm độ chính xác của CNN MNIST là một trong những bộ dữ liệu phổ biến dùng để thử nghiệm các thuật toán về Machine Learning

Tập dữ liệu MNIST:

Trang 50

Hình chiếu minh hoạ của tập dữ liệu trong

Trang 51

Phần 4

Convolutional Neural Network

Mô hình dự đoán sử dụng thuật toán Adam để huấn luyện là viết tắt của

"adaptive moment estimation" để huấn luyện Thuật toán Adam kết hợp cả hai ý tưởng từ thuật toán tối ưu hóa gradient khác là RMSprop và momentum

Trong quá trình huấn luyện, Adam tính toán các gradient của hàm mất mát theo các trọng số của mạng, sau đó cập nhật các trọng số dựa trên các giá trị gradient đó và một số siêu tham số như tốc độ học (learning rate), beta1, beta2 và epsilon

Điều này làm cho quá trình huấn luyện nhanh chóng và hiệu quả hơn đối với nhiều loại mô hình và tập dữ liệu

Trang 52

Phần 4

Convolutional Neural Network

Trong mô hình này, lớp Dense được sử dụng với hàm kích hoạt softmax

để xác định xác suất của các lớp đầu ra

Thuật toán softmax là một phương pháp chuẩn hóa giá trị đầu ra thành một phân phối xác suất, đảm bảo rằng tổng các giá trị xác suất là 1 Cụ thể, softmax được sử dụng để chuyển đổi các giá trị đầu ra từ lớp kết nối đầy đủ thành xác suất tương ứng với mỗi lớp đầu ra

Công thức tính toán của softmax cho một vector đầu vào là

Trang 53

Phần 4

Thuật toán Gradient Descent

Gradient Descent là một thuật toán hữu ích và phổ biến trong việc tìm cực trị phương của một hàm số Ý tưởng chính của thuật toán là thực hiện vòng lặp để xấp xỉ cực trị của bài toán, các điểm đang xét của Gradient Descent sẽ dần tiến đến các điểm cực trị địa phương của hàm số, thay vì phải tìm cách giải phương trình đạo hàm riêng

Trang 54

Phần 4

Convolutional Neural Network

categorical_crossentropy được sử dụng để đo lường sự khác biệt giữa các phân phối xác suất dự đoán của mô hình và phân phối xác suất thực tế của các lớp Nó tính toán mất mát bằng cách tính tổng của các logarit của xác suất dự đoán đúng

Trong trường hợp của bạn, dữ liệu đích đã được mã hóa one-hot, vì vậy bạn sử dụng categorical_crossentropy để đo lường sự tương đồng giữa các phân phối xác suất được dự đoán và thực tế

Trang 55

Phần 4

Mô hình đầy đủ

Trang 56

Phần 4

Xử lý dữ liệu (phân tích ảnh)

Bước 1: Lấy ảnh từ kho dữ liệu

Bước 2: Tiền xử lý ảnh 2.1: chuyển ảnh về ảnh xám

2.2: Do chữ viết tay thường là chữ đen nền trắng nên cần chuyển về chữ trắng nền đen

2.3: làm mờ ảnh

2.4: làm mượt ảnh

Bước 3: Thu gọn ảnh về kích thước 28X28

Bước 4: So sánh với mẫu đã học để cho kết quả

Trang 57

Phần 4

Nhận xét

Mô hình có hiệu suất là 99,84 % với tập huấn luyện và 99,08% với tập kiểm tra vì vậy ta thấy được mô hình có khả năng học tốt với tập dữ liệu mnist

Trang 58

LỜI KẾT:

Đầu tiên nhóm em xin cảm ơn cô Nguyễn Nhựt Quỳnh đã hướng dẫn nhóm em trong suốt quá trình học môn này.

Nhóm em hy vọng rằng kiến thức này sẽ là nền tảng tốt để nhóm em có thể áp dụng vào những dự án tương lai Mặc dù chỉ là một đề tài nhỏ, nhưng

nó giúp nhóm em thấy được sự quan trọng của việc học và thử nghiệm trong lĩnh vực học máy Cảm ơn thầy/cô và các bạn đã hỗ trợ và giúp đỡ, và nhóm

em hi vọng sẽ còn nhiều cơ hội học hỏi và thử thách mới trong tương lai.

Trang 59

Thank’s For Watching

Ngày đăng: 11/06/2024, 14:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w