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

Báo cáo dự án học phần trí tuệ nhân tạo 1

16 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Báo Cáo Dự Án Học Phần Trí Tuệ Nhân Tạo
Tác giả Nguyễn Quốc Huy, Lưu Gia Luân
Người hướng dẫn TS. Trần Quang
Trường học Trường Đại Học Nguyễn Tất Thành
Chuyên ngành Kỹ Thuật - Công Nghệ
Thể loại báo cáo
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 1,29 MB

Nội dung

Sử dụng mô hình ANN Artifcial Neural Network đề học và thử các ảnh chữ số viết tay và sẽ đưa ra kết quả mà chương trình đã nhận dạng được qua ảnh đã cung cấp.. Phương pháp nghiền cứu: 1.

Trang 1

_ BQ GIAO DỤC VÀ ĐÀO TẠO

TRUONG DAI HOC NGUYEN TAT THANH

KHOA KỸ THUẬT - CÔNG NGHỆ

BAO CAO DU AN HOC PHAN

TRI TUE NHAN TAO

Giảng viên hướng dan: TS TRAN QUANG HUY Sinh viên thực hiện: NGUYỄN QUỐC HUY - 2100012170

Trang 2

LOI CAM ON Kính thưa thầy,

Nhóm chúng em xin gửi lời cảm ơn sâu sắc và chân thành nhất đến thầy vì sự hỗ trợ nhiệt tình và những chỉ dẫn quý báu trong suốt quá trình học Nhờ có sự giúp đỡ cua thay, nhóm em đã có thé hiểu sâu sắc hơn về bài học và phương pháp học tập nghiên cứu, từ đó hoàn thành báo cáo một cách xuất sắc nhất

Chúng em vô cùng trân trong va biết ơn những kiến thức quý giá cùng kinh nghiệm thực

tế mà thầy đã không ngân ngại chia sẻ Em hy vọng rằng, trong tương lai, em sẽ tiếp tục được học hỏi và phát triển bản thân dựa trên nền tảng kiến thức vững chắc này

Một lần nữa, nhóm chúng em xin bày tỏ lòng biết ơn sâu sắc đến thây

(Sinh viên thực hiện)

Huy,Luân

Trang 3

NHẬN XÉT CUA GIẢNG VIÊN HƯỚNG DÂN

DANH GIA CUA GIANG VIEN CHAM BAO CÁO

Giảng viên 1 Giảng viên 2

Họ tên: Họ tên:

Xác nhận (Ký và ghi rõ họ tên) Xác nhận (Ký và ghi rõ họ tên)

Trang 4

MỤC LỤC

LỜI CÁM ƠN

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

MỤC LỤC

DANH MỤC SƠ ĐỒ, HÌNH VẼ

CHUGNG | GIGI THIEU

1.1 Giới thiệu tông quát về dé tài 1.2 Tính cấp thiết của đề tài -. 55-552 <2<<2s£+sc+seeeeeeeeeeeeeeersee 1 1.3 Mục tiêu nghiên cứu của để tải - 5-2 s552<+z<+z<e se se sseszerxs 1

1.4 Đối tượng và phạm vi nghiên cứu - + -s<+s<ss=s==s==s==ss=s==x+ 1

1.4.1 Đối tượng nghiên cứu

1.4.2 Phạm vi nghiên cứu: - ch kh 1 1.5 Phương pháp nghiên cứu SH km 1 1.5.1 Cosoé phuong phap ludin cee eee cree cece teen eee eeeaaeeeeeeeeeae 1 1.5.2 Cac phuong phap nghién ctru cu thé

CHUONG 2 CO SG LY THUYET .ccccccccescsssscsssscssescsscsccecseceseeceseesasenseseassacateneateneanes 3

2.1 Kién thức cơ sở về cầu tạo và nguyên lý hoạt động của mô hỉnh 3 2.2 Mô hình hóa các tình huống hoạt động thực tế -5- 5= =5- 4 CHƯƠNG 3_ PHƯƠNG HƯỚNG VÀ GIẢI PHÁP

3.1 Yêu cầu của để tài / Thông số thiết kế -s ==5- 7 3.2 Phương hướng và giải pháp thực hiện .-cSSSẶSSSSĂSSS<SS 7

3.2.1 Giai phap | / Phương án 1 oe ee eee e rere eee eeeaeeaeaeaee 7 3.2.2 Giải pháp 2 / Phương án 2 c ST kxy 7 3.3 Lựa chọn giải pháp / Phương án

3.4 Trình tự công việc tiem DANN acc 8 CHƯƠNG4_ CHẾ TẠO SẢN PHẨM / THỰC NGHIỆM - ĐÁNH GIÁ 9

CHƯƠNG 5_ KẾT LUẬN - ĐÈ NGHỊ

TÀI LIỆU THAM KHA O

Trang 5

DANH MỤC HÌNH ẢNH

082 B9inig l0, n6 “-A ŒŒŒŒH||ÄH 6 0828:4000 1i “44 ((.|Ỏ|ÃA ,ÔỎ 6 Bang 2.3: Chit VÀ na 43)3)3 , 6

082 804m 6ì n5 .(dAjÃÄAẦ 6

058280908 VÀ 0 - d |||Ä 6

08804 0ì 8n .dAAqHÄäÂẬHẬHẬH,)àà 6 Bảng 4.1: Code trainning chương trình - - cọ ch kh 9 Bảng 4.2: Kết quả hiển thị nhận biết chữ viết tay 7-5252 5<5s5scecssse2 9

Ghi chú:

-_ Chữ số thứ nhất chỉ tên chương

- Chir sé thir hai chỉ thứ tự bảng biểu trong mỗi chương

- Ở cuối mỗi bảng biểu trong mỗi chương phải có ghi chú, giải thích, nêu rõ nguồn trích hoặc sao chụp,

Trang 6

1.1

1.2

1.3

1.4

1.5

CHUONG 1 TONG QUAN VE DU AN

Giới thiệu chung:

Nhận diện chữ số viết tay (Handwriting - HWR) từ các tài liệu giấy, ảnh, màn hình

ảm ứng, vv Sử dụng mô hình ANN (Artifcial Neural Network) đề học và thử các ảnh chữ số viết tay và sẽ đưa ra kết quả mà chương trình đã nhận dạng được qua ảnh đã cung cấp

Tính cấp thiết của đề tài:

Việc nhận diện số viết tay trong thời đại số hiện nay là rất lớn, đặc biệt trong các lĩnh vực cần đến sự chính xác và tự động hóa cao

Mục tiêu nghiên cứu của đề tài:

Giúp chúng ta cơ thể phân loại được các số viết tay trên giấy, ảnh và các chứ số đã

bị mờ hoặc mắt đi một số nét một cách chính xác và nhanh

Đối tượng và phạm vi nghiên cứu:

1.4.1 Đối tượng nghiên cứu:

Các chữ số viết tay từ nhiều nguồn khác nhau như biên lai, séc, ghi chú học tập, giấy viết, vv

1.4.2 Phạm ví nghiên cứu:

Thu thập và phân tích dữ liệu từ các chữ số trong một khoảng thời gian cụ thé Phat triển và thử nghiệm các mô hình nhận diện số trong một môi trường kiểm soát hoặc tren một tập dữ liệu cụ thé Ung dụng các mô hình nhận diện trong các lĩnh vực cụ thê như ngân hàng, giáo dục, hoặc thương mại

Phương pháp nghiền cứu:

1.5.1 Cơ sở phương pháp luận:

Tiền xử lý: Hình ảnh chữ số viết tay được xử lý để loại bỏ nhiễu và tăng cường chất lượng hình ảnh, nhằm cải thiện khả năng nhận dạngI

Trích xuất đặc trưng: Các đặc trưng quan trọng của chữ viết tay được rút trích, ví

dụ như hỉnh dạng của các nét chữ, kích thước, độ dày, góc nghiêng, và các đặc điểm khác

Phân loại: Sử dụng các thuật toán học máy như SVM (Support Vector Machine), KNN (K-Nearest Neighbors), hoặc các mô hình học sâu nhu CNN (Convolutional Neural Networks) đề phân loại chữ số dựa trên các đặc trưng

1

Trang 7

1.5.2 Các phương pháp nghiên cứu cụ thể:

Có nhiều cách nghiên cứu nhận diện chữ số viết tay khác nhau:

Một số phương pháp nghiên cứu phô biến:

HOG (Histogram of Oriented Gradients) và SVM (Support Vector Machine):

HOG được sử dụng để trích xuất các đặc trưng từ hình ảnh, và SVM là một thuật toán phân loại để nhận diện chữ số viết tay Phương pháp này đơn giản và có chỉ phí tính toán thấp I

Deep Learning (Học Sâu):

Deep Learning là một thuật toán mạnh mẽ dựa trên cầu trúc của não bộ, có khả năng tiếp thu nhiều tầng biểu đạt từ cụ thể đến trừu tượng Các mô hinh như mạng nơ-ron tích chập (CNN) thường được sử dụng trong nhận diện chữ số viết tay với độ chính xác cao2

Phương pháp truyền thống:

Bao gồm các kỹ thuật như logic mờ, giải thuật di truyền, mô hình xác xuất thống kê, mô hình mạng nơ-ron Các phương pháp này có thể không hiệu quả băng Deep Learning nhưng vẫn có giá trị trong một số ứng dụng cụ

thé2,

Tiền xử lý và Trích xuất đặc trưng:

Tiền xử lý hình ảnh để loại bỏ nhiễu và tăng cường chất lượng hình ảnh,

sau đó trích xuất các đặc trưng quan trọng như hình dạng, kích thước, độ

dày, góc nghiêng3

Phương pháp rút trích thông tin theo chiều:

Làm mỏng nét ký tự để giữ lại bộ khung của chúng và rút trích thông tin đặc trưng dựa trên bộ khung này

Phương pháp được sử dụng mạng nơ-ron nhân tạo (ANN):

cụ thê là một Perceptron nhiều lớp (MLP) Đây là một kiến trúc mạng nơ- ron cơ bản nhưng khá mạnh mẽ, có khả năng học các mối quan hệ phức tạp từ dữ liệu Mô hình MLP này có cấu trúc gồm các lớp: đầu vào có kích thước 64 (tương ứng với kích thước của hình ảnh sau khi làm phăng), hai lớp ân với 32 và 16 nút, và lớp đầu ra với L0 nút (tương ứng với 10 chữ số

từ 0 đến 9)

Trang 8

CHƯƠNG 2 PHƯƠNG PHÁP ÁP DUNG 2.1 Kiến thức cơ sớ về cấu tạo và nguyên lý hoạt động của mô hình

2.1.1 Kiến thức cơ sở về cấu tạo của mô hình

Pyimagesearch.nn

PyImageSearch là một trang web chuyên về thị giác máy tính và xử lý hình ảnh, cung cấp các tài liệu và mã nguồn mở liên quan đến các dự án trong lĩnh vực này Thư viện pyimagesearch.nn có thê là một phần của hệ thống mà PyImageSearch cung cấp

sklearn.preprocessing

Thư viện sklearn.preprocessing trong Python là một phần của scikit-learn, một thư viện phô biến cho học máy và khoa học dữ liệu sklearn.preprocessing cung cấp các công cụ để tiền xử lý đữ liệu trước khi đưa vào mô hình học máy

sklearn.model_ selection

sklearn.model_selection là một phần quan trọng của scikit-learn, thường được sử dụng để chia dữ liệu thành các tập huấn luyện vả kiểm tra, lựa chọn các siêu tham

số và đánh giá hiệu suất của các mô hình học máy

sklearn.metrics sklearn.metrics là một phần quan trọng của scikit-learn, cung cấp các công cụ đề đo lường hiệu suất của mô hình học máy và đánh giá dự đoán của chúng

sklearn

Dung dé import cac module va ham cy thé tir scikit-learn vao dir an PyCharm

NeuralNetwork

Mạng nơ-ron (Neural Networks) thường được thực hiện thông qua sử dụng các thư viện phổ biến như TensorFlow, Keras, hoặc PyTorch

LabelBinarizer

LabelBinarizer là một công cụ trong sklearn.preprocessing của thư viện phân Điều này thường được sử dụng khi có một cột hoặc một mảng chứa các nhãn (labels) và muốn chuyên đôi thành các vectơ nhị phân đề sử dụng trong các mô hình học máy train_test_ split

Trang 9

tram test split là một hàm trong sklearn.model_ selection cua thu vién scikit-learn

Nó được sử dụng để chia tập đữ liệu thành hai phần: một phần dùng để huấn luyện

mô hình và một phần dùng để kiêm tra hiệu suất của mô hình

classification_ report

classification_report là một hàm trong sklearn.metrics của thư viện scikit-learn Nó được sử dụng để tính toán và hiền thị các metrics đánh giá hiệu suất của mô hình phân loại trên tập dữ liệu kiểm tra

Datasets

Các tập đữ liệu này thường được import từ các nguồn khác nhau và được sử dụng

để huấn luyện mô hinh, đánh giá hiệu suất của mô hình và thực hiện các phân tích

đữ liệu

cv2

OpenCV (cv2) là một thư viện mã nguồn mở rất phô biến trong xử lý hình ảnh và computer vision trong Python Trong ngữ cảnh của PyCharm, sử dụng OpenCV thường đề cập đến việc import và sử dụng các chức năng từ thư viện này để thực hiện các nhiệm vụ xử lý hình ảnh

2.1.2 Nguyên lý hoạt động của mồ hình

Đọc và Chuyén đỗi Hình ảnh:

Hình ảnh số được đọc từ đường dẫn và chuyển đổi sang hình ảnh mức xám

Điều chỉnh Kích thước Hình ảnh:

Hình ảnh số được điều chỉnh kích thước đề phù hợp với kích thước đầu vào của mô hình (8x8 pixels)

Chuyên đổi Hình ảnh thành Máng một chiều:

Hinh ảnh sô được chuyên đôi thành một mảng một chiêu đề có thê được đưa vào

mô hình Mỗi pixel của hình ảnh được biểu diễn bởi một giá trị từ 0 đến 255 Load Tập dữ liệu MNIST và Scale:

Trang 10

Tập dữ liệu MNIST (bộ dữ liệu mẫu) được tải và các giá trị pixel được scale về khoảng giá trị [0, 1] bằng cách str dung min/max scaling

Chia thành Tập huấn luyện và Tập kiểm tra:

Tập dữ liệu được chia thành tập huấn luyện và tập kiểm tra, trong đó tập kiểm tra chiếm 25% tông số dữ liệu

Chuyên đối Nhãn thành Véc-tơ:

Nhãn của tập huấn luyện và tập kiểm tra được chuyền đôi từ dạng số nguyên thành dạng véc-tơ nhị phân

Huan luyện Mang no-ron:

Mạng nơ-ron được khởi tạo với kiến trúc [64, 32, 16, 10] (64 la SỐ lượng đặc trưng của mỗi hình ảnh, và L0 là số lượng lớp đầu ra tương ứng với các số từ 0 đến 9), sau

đó được huấn luyện trên tập dữ liệu huấn luyện với 1000 epochs

Dự đoán Số từ Hình ảnh:

Sử dụng mạng nơ-ron đã huấn luyện để dự đoán số từ hình ảnh đã chuẩn bị Kết quả

dự đoán được lấy ra dưới dạng số nguyên là số được dự đoán

In kết quả:

Số được dự đoán được in ra dé hién thi két qua cudi cung

2.2 Mô hình hóa các tình huống thực tế:

Dưới đây là những tỉnh huống thực tế đã sử dụng phần mềm paint để mô phỏng một vài chữ số viết tay để cho chương trình nhận dạng và đưa ra các kết quả

Dưới đây là hình ảnh các kết quả mà chương trình đã đọc được và in ra kết quả đã

dự đoán của sô đã đọc được:

Trang 11

Hình 2.1 Chữ số 6 viết tay

2

Hình 2.3 Chữ số 2 viết tay =

Hình 2.5 Chữ số 7 viết tay

[INF0]

[INFO]

[IMF0]

[INFO]

[INFO]

| THF0] e

[INFO] M

VI 0(sy,

3985

[INF0] epoch=500, l1 900 1114 2-1:1:0 [INF0] e [TNF0] epoch=8909, [INF0] epoch=

[INF0] epoch=106

Số được dự đoán:

Process finished with exit code 6

a

Hình 2.6 Kết quả dự đoan

Trang 12

CHƯƠNG 3_ PHƯƠNG HƯỚNG VẢ GIÁI PHÁP

3.2 Phương hướng và giải pháp thực hiện

3.2.1 Phương án 1

Nhập các thư viện cần thiết cho chương trình, sử sụng openev dé doc anh đầu vào và chuyển ảnh thành ảnh xám làm phẳng đề tạo thành một mảng một chiều

có 64 đặc trưng Tải bộ dữ liệu MNIST, chứa các hình ảnh số viết tay đã được chuẩn hóa Áp dụng phép chia tỷ lệ min/max đề chuẩn hóa giá trị cường độ điểm ảnh về phạm vi [0,1] Chia đữ liệu thành hai phần: dữ liệu huấn luyện và dữ liệu kiêm thử Khởi tạo mạng neural với cấu trúc đã định, bao gồm các lớp ân và lớp đầu ra Huấn luyện mạng trên dữ liệu huấn luyện với số lượng epoch đã cho Sử dụng mô hình đã huấn luyện để dự đoán số từ hình ảnh đã được xử lý Reshape hình ảnh để phù hợp với kích thước đầu vào của mô hình và thực hiện dự đoán In ra số được dự đoán từ

hình ảnh

Giải pháp 1

Để cải thiện hiệu suất, có thé thir nghiệm với việc điều chỉnh cấu trúc mạng, số lượng epoch, hoặc sử dụng các kỹ thuật tăng cường dữ liệu Áp dụng các

kỹ thuật tiền xử lý hình ảnh như làm mịn, loại bỏ nhiễu, và tăng cường độ tương phản để cải thiện chất lượng hình ảnh trước khi đưa vào mô hình Thử nghiệm với việc thay đôi kiến trúc mạng neural, như tăng số lượng nút trong các lớp ân hoặc thêm các lớp ân mới Sử dụng các kỹ thuật như dropout hoặc regularization để ngăn chặn hiện tượng overfitting Áp dụng các phương pháp tăng cường đữ liệu như xoay, phóng to/thu nhỏ, và dịch chuyền hình ảnh để mô hình có thể học được từ một lượng

dữ liệu đa dạng hơn Tĩnh chỉnh các hyperparameters như learning rate, số lượng epoch, va kích thước batch đề cải thiện quá trình học của mô hình

3.2.2 Phương án 2

Nhập các thư viện Python cần thiết cho việc xử lý dữ liệu, xây dựng mạng neural, và xử lý hình ảnh Tải bộ dữ liệu MNISTT và áp dụng phép chia tỷ lệ min/max

7

Ngày đăng: 16/12/2024, 09:21

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

TÀI LIỆU LIÊN QUAN