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

Đồ Án Cơ Sở Imagenet Classification With Deep Convolutional Neuron Networks.pdf

18 1 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 đề ImageNet Classification with Deep Convolutional Neuron Networks
Tác giả Trần Thị Ánh Nguyên, Trần Thị Kim Thanh, Nguyễn Thị Hương Sen
Người hướng dẫn Huỳnh Quốc Bảo
Trường học Trường Đại Học Công Nghệ TP. HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án cơ sở
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 746,37 KB

Nội dung

Một trong những ứng dụng nổi bật nhất của CNN là phân loại hình ảnh trên tập dữ liệu ImageNet, một trong những tập dữ liệu lớn và phong phú nhất hiện nay.. Trong những năm gần đây, các m

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

ĐỒ ÁN CƠ SỞ

ImageNet Classification with

Deep Convolutional Neuron Networks

Ngành: Công Nghệ Thông Tin

Giảng viên hướng dẫn : Huỳnh Quốc Bảo

22DTHG3 2280618752 Trần Thị Ánh Nguyên

22DTHG3 2280602926 Trần Thị Kim Thanh

22DTHG3 2280602731 Nguyễn Thị Hương Sen

TP Hồ Chí Minh, 2024

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

ĐỒ ÁN CƠ SỞ

ImageNet Classification with

Deep Convolutional Neuron Networks

Ngành: Công Nghệ Thông Tin

Giảng viên hướng dẫn : Huỳnh Quốc Bảo

22DTHG3 2280618752 Trần Thị Ánh Nguyên

22DTHG3 2280602926 Trần Thị Kim Thanh

22DTHG3 2280602731 Nguyễn Thị Hương Sen

TP Hồ Chí Minh, 2024

Trang 5

Lời Cam Đoan Nhóm 3G3 xin cam đoan rằng nội dung của báo cáo là kết quả của quá trình nghiên cứu độc lập của nhóm chúng tôi Mọi thông tin và dữ liệu trong báo cáo đều đã được trích dẫn và ghi nguồn một cách chính xác, rõ ràng và đầy đủ Nhóm 3G3 không sử dụng bất kỳ công cụ, phần mềm hoặc dịch vụ nào để sao chép hoặc tái tạo lại nội dung của người khác mà không ghi nguồn Chúng tôi đã hiểu rõ yêu cầu của đề tài và cam kết thực hiện đúng tiến độ, hoàn thành đề tài "ImageNet Classification with Deep Convolutional Neural Networks" theo thời hạn đã quy định

Nhóm chúng tôi nhận thức rõ về tầm quan trọng của tính liêm chính trong học thuật và tác động nghiêm trọng của việc đạo văn Nếu vi phạm bất kỳ điều gì trong cam đoan này, nhóm 3G3 sẵn sàng chịu mọi hậu quả theo quy định của nhà trường

Trang 6

LỜI CẢM ƠN Trước hết, tôi xin thay mặt nhóm 3G3 bày tỏ lòng biết ơn sâu sắc đến thầy Huỳnh Quốc Bảo , không chỉ là người hướng dẫn nhóm 3G3 trong quá trình nghiên cứu và thực hiện bài báo cáo về "ImageNet Classification with Deep Convolutional Neuron Networks" mà còn là nguồn động viên, hỗ trợ và góp ý quý báu

Tôi cũng muốn gửi lời cảm ơn tới các bạn bè trong nhóm, đã luôn ủng hộ, động viên

và chia sẻ những kiến thức, nguồn tài liệu tham khảo, đặc biệt là những nghiên cứu và

dữ liệu liên quan đến phòng chống bạo lực học đường, giúp nhóm trong quá trình nghiên cứu làm bài một cách thuận lợi

Cuối cùng, nhóm 3G3 xin gửi lời tri ân đến gia đình của mình, người đã luôn ở bên nhóm 3G3, cung cấp sự yên bình và động viên tinh thần giúp nhóm 3G3 vượt qua những khó khăn và áp lực trong quá trình thực hiện bài báo cáo

Nhóm 3G3 biết rằng lời cảm ơn này chỉ là một phần nhỏ để bày tỏ lòng biết ơn sâu sắc của mình, nhưng nhóm 3G3 mong rằng mọi người sẽ hiểu và cảm nhận được tình cảm chân thành từ trái tim nhóm 3G3

Chân thành cảm ơn!

Trang 7

Mục lục

Trang 8

Danh mục hình ảnh

Trang 10

CHƯƠNG 1: TỔNG QUAN

1.1 Giới thiệu đề tài

Với sự phát triển vượt bậc của trí tuệ nhân tạo (AI) và học máy (Machine Learning), các mạng nơ-ron tích chập sâu (Deep Convolutional Neural Networks - CNN) đã trở thành công

cụ hiệu quả trong việc giải quyết các bài toán nhận dạng hình ảnh phức tạp Một trong những ứng dụng nổi bật nhất của CNN là phân loại hình ảnh trên tập dữ liệu ImageNet, một trong những tập dữ liệu lớn và phong phú nhất hiện nay ImageNet chứa hơn 14 triệu hình ảnh được phân loại vào hơn 20.000 danh mục, là cơ sở quan trọng cho việc phát triển các mô hình học sâu

Trong những năm gần đây, các mô hình CNN đã đạt được những tiến bộ vượt bậc trong việc phân loại hình ảnh trên ImageNet, đặc biệt là sau thành công của mô hình AlexNet (Krizhevsky et al., 2012), ResNet (He et al., 2016), và VGG (Simonyan & Zisserman, 2014) Các nghiên cứu này đã chứng minh hiệu quả vượt trội của CNN trong việc giảm sai số nhận dạng và cải thiện độ chính xác phân loại

1.2 Lý thuyết và nghiên cứu liên quan

Mạng CNN, một dạng mạng nơ-ron nhân tạo đặc biệt, hoạt động dựa trên cơ chế lọc (convolution) và tổng hợp đặc trưng từ các hình ảnh đầu vào Mô hình này được phát triển mạnh mẽ nhờ những bước tiến trong kỹ thuật tính toán như GPU và các thư viện mã nguồn

mở như TensorFlow, PyTorch Các lý thuyết và nghiên cứu cơ bản có liên quan đến CNN bao gồm lý thuyết về quá trình tích chập (LeCun et al., 1998), các phương pháp tối ưu hóa và kỹ thuật giảm thiểu overfitting như dropout (Srivastava et al., 2014) và batch normalization (Ioffe & Szegedy, 2015)

1.2.1 Quá trình tích chập (Convolution Process)

Quá trình tích chập là cốt lõi của CNN, cho phép mạng học các đặc trưng không gian từ hình ảnh đầu vào Mỗi lớp tích chập áp dụng một bộ lọc (kernel) lên hình ảnh để tạo ra các bản đồ đặc trưng (feature maps) Các bộ lọc này được học tự động trong quá trình huấn luyện, giúp mạng nhận diện các đặc trưng quan trọng như cạnh, góc, và hình dạng

1.2.2 Các kỹ thuật giảm thiểu overfitting

Overfitting là vấn đề phổ biến trong việc huấn luyện các mô hình học sâu, khi mô hình học quá kỹ các đặc trưng của dữ liệu huấn luyện dẫn đến hiệu suất kém trên dữ liệu mới Để giảm thiểu overfitting, các kỹ thuật như dropout và batch normalization được áp dụng Dropout ngẫu nhiên loại bỏ một số nơ-ron trong quá trình huấn luyện, giúp mô hình không phụ thuộc quá nhiều vào bất kỳ nơ-ron nào Batch normalization chuẩn hóa các đầu vào của mỗi lớp, giúp tăng tốc độ huấn luyện và ổn định quá trình học

1.3 Nhiệm vụ của đồ án

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

Trong thời đại số hóa hiện nay, việc phân loại và nhận dạng hình ảnh có vai trò vô cùng quan trọng trong các lĩnh vực như nhận diện khuôn mặt, xe tự lái, y tế, và giám sát an ninh Việc phát triển và cải tiến các mô hình CNN để xử lý các tập dữ liệu lớn như ImageNet không chỉ mang lại giá trị khoa học mà còn có ý nghĩa thực tiễn sâu rộng

Ý nghĩa khoa học và thực tiễn

Đề tài "ImageNet Classification with Deep Convolutional Neural Networks" giúp nghiên cứu

và ứng dụng các mô hình CNN hiện đại nhằm nâng cao hiệu quả phân loại hình ảnh Việc hiểu rõ cách thức hoạt động của CNN và tối ưu hóa mô hình sẽ góp phần giải quyết các bài

Trang 11

toán phức tạp trong nhiều lĩnh vực thực tiễn, từ đó nâng cao tính chính xác và hiệu suất của các hệ thống nhận dạng

Mục tiêu nghiên cứu

1 Phân tích các mô hình CNN hiện đại như AlexNet, ResNet, VGG, và các biến thể

khác trên tập dữ liệu ImageNet

2 Đánh giá hiệu quả của các kỹ thuật tối ưu hóa và cải tiến mô hình để nâng cao độ

chính xác phân loại hình ảnh

3 Ứng dụng các mô hình CNN vào bài toán phân loại hình ảnh trên ImageNet và so

sánh kết quả

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

Đối tượng nghiên cứu: Các mô hình CNN và tập dữ liệu ImageNet.

Phạm vi nghiên cứu: Phân tích, tối ưu hóa các mô hình CNN và áp dụng chúng vào

bài toán phân loại trên tập dữ liệu ImageNet

1.4 Cấu trúc đồ án

Chương 1: Tổng quan

Giới thiệu chung về đề tài, tóm tắt các lý thuyết và nghiên cứu liên quan đến mạng nơ-ron tích chập (CNN) và phân loại hình ảnh trên ImageNet Trình bày nhiệm vụ và cấu trúc của đồ án

Chương 2: Cơ sở lý thuyết

Trình bày các lý thuyết cơ bản về mạng CNN, cách thức hoạt động và cấu trúc của các mô hình CNN phổ biến Phân tích chi tiết các thành phần chính như lớp tích chập, lớp pooling, và lớp fully connected

Chương 3: Kết quả thực nghiệm

Mô tả kết quả thực nghiệm của mô hình CNN trên tập dữ liệu ImageNet Đánh giá và so sánh hiệu quả của các mô hình dựa trên các tiêu chí như độ chính xác và tốc độ huấn luyện

Chương 4: Kết luận và kiến nghị

Tổng kết các kết quả đạt được, những đóng góp của nghiên cứu, và đề xuất các hướng phát triển tiếp theo cho việc phân loại hình ảnh dựa trên CNN

Chương 5: Tài liệu tham khảo

Liệt kê các tài liệu tham khảo đã sử dụng trong quá trình nghiên cứu và viết báo cáo

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

2.1 Giới thiệu về Mạng Nơ-ron Tích Chập (CNN)

Mạng Nơ-ron Tích Chập (Convolutional Neural Networks - CNN) là một kiến trúc mạng nơ-ron nhân tạo được thiết kế đặc biệt để xử lý dữ liệu có cấu trúc dạng lưới, chẳng hạn như hình ảnh CNN nổi bật với khả năng tự động trích xuất và học các đặc trưng quan trọng từ dữ liệu đầu vào thông qua các lớp tích chập (convolutional layers)

2.1.1 Lịch sử phát triển của CNN

CNN được giới thiệu lần đầu tiên bởi Yann LeCun và cộng sự vào năm 1989 với mô hình LeNet-5, được sử dụng để nhận dạng chữ số viết tay Từ đó, CNN đã trải qua nhiều giai đoạn phát triển, đặc biệt là sau sự xuất hiện của các mô hình sâu hơn như AlexNet, VGG, và ResNet, mở ra kỷ nguyên học sâu trong lĩnh vực thị giác máy tính

2.2 Các thành phần chính của CNN

2.2.1 Lớp Tích Chập (Convolutional Layer)

Trang 12

Lớp tích chập là thành phần cốt lõi của CNN, thực hiện việc áp dụng các bộ lọc (kernels) lên

dữ liệu đầu vào để tạo ra các bản đồ đặc trưng (feature maps) Mỗi bộ lọc được học tự động trong quá trình huấn luyện, giúp mạng nhận diện các đặc trưng cơ bản như cạnh, góc, và hình dạng

Công thức tích chập:

Hình 2.1 Công thức tính tích chập

Trong đó, M×NM \times NM×N là kích thước của kernel

2.2.2 Lớp Pooling (Pooling Layer)

Lớp pooling giúp giảm kích thước không gian của các bản đồ đặc trưng, từ đó giảm số lượng tham số và tính toán cần thiết Hai kỹ thuật pooling phổ biến nhất là Max Pooling và Average Pooling

Max Pooling: Chọn giá trị lớn nhất trong mỗi vùng được chia nhỏ.

Average Pooling: Tính giá trị trung bình trong mỗi vùng được chia nhỏ.

2.2.3 Lớp Fully Connected (Fully Connected Layer)

Lớp fully connected kết nối tất cả các nơ-ron của lớp trước đó với tất cả các nơ-ron của lớp hiện tại Đây là lớp cuối cùng trong CNN, chịu trách nhiệm kết hợp các đặc trưng đã học được để đưa ra dự đoán cuối cùng

2.2.4 Các kỹ thuật hỗ trợ

Batch Normalization: Chuẩn hóa dữ liệu đầu vào của mỗi lớp để tăng tốc độ huấn

luyện và ổn định quá trình học (Ioffe & Szegedy, 2015)

Dropout: Ngăn ngừa overfitting bằng cách ngẫu nhiên loại bỏ một số nơ-ron trong

quá trình huấn luyện (Srivastava et al., 2014)

2.3 Các mô hình CNN nổi bật

2.3.1 AlexNet (Krizhevsky et al., 2012)

AlexNet là một trong những mô hình CNN đầu tiên đạt được thành công lớn trong cuộc thi ImageNet 2012, giành chiến thắng với độ chính xác cao hơn đáng kể so với các đối thủ khác AlexNet sử dụng các lớp tích chập sâu, ReLU activation, và kỹ thuật Dropout để ngăn ngừa overfitting

2.3.2 VGGNet (Simonyan & Zisserman, 2014)

VGGNet nổi bật với cấu trúc đơn giản nhưng hiệu quả, sử dụng các bộ lọc nhỏ (3x3) và tăng

số lượng lớp sâu hơn Mô hình này cho thấy rằng việc tăng số lượng lớp và chiều sâu mạng có thể cải thiện hiệu suất phân loại mà không cần tăng kích thước của các bộ lọc

2.3.3 ResNet (He et al., 2016)

ResNet giới thiệu cơ chế kết nối dư (Residual Connections) giúp giải quyết vấn đề suy giảm đạo hàm trong các mạng rất sâu Cơ chế này cho phép mô hình học các hàm dư thừa, giúp việc huấn luyện các mạng sâu hơn trở nên khả thi và hiệu quả hơn

2.4 Các kỹ thuật tối ưu hóa trong CNN

Trang 13

2.4.1 Gradient Descent và các biến thể

Gradient Descent là thuật toán tối ưu hóa cơ bản trong việc huấn luyện mạng nơ-ron Các biến thể như Stochastic Gradient Descent (SGD), Adam, và RMSprop được sử dụng để cải thiện tốc độ hội tụ và hiệu quả huấn luyện

2.4.2 Learning Rate Scheduling

Điều chỉnh learning rate theo thời gian giúp mô hình hội tụ nhanh hơn và tránh bị kẹt ở các điểm cực tiểu cục bộ Các chiến lược như giảm learning rate theo từng epoch hoặc dựa trên hiệu suất trên tập validation thường được áp dụng

2.4.3 Data Augmentation

Data Augmentation là kỹ thuật tăng cường dữ liệu bằng cách áp dụng các phép biến đổi như xoay, lật, thay đổi độ sáng, giúp tăng tính đa dạng của dữ liệu huấn luyện và cải thiện khả năng tổng quát hóa của mô hình

2.5 Ứng dụng CNN trong phân loại hình ảnh

CNN đã được ứng dụng rộng rãi trong nhiều lĩnh vực như nhận diện khuôn mặt, xe tự lái, y tế (chẩn đoán bệnh từ hình ảnh y khoa), và giám sát an ninh Đặc biệt, việc phân loại hình ảnh trên tập dữ liệu ImageNet đã trở thành tiêu chuẩn để đánh giá hiệu suất của các mô hình CNN

2.5.1 Nhận diện khuôn mặt

CNN được sử dụng để trích xuất các đặc trưng quan trọng từ ảnh khuôn mặt, giúp phân biệt

và nhận diện từng cá nhân với độ chính xác cao

2.5.2 Xe tự lái

Trong lĩnh vực xe tự lái, CNN giúp nhận diện và phân loại các đối tượng xung quanh như xe khác, người đi bộ, tín hiệu giao thông, từ đó hỗ trợ quyết định lái xe an toàn

2.5.3 Y tế

CNN được áp dụng trong chẩn đoán hình ảnh y khoa như MRI, CT scans để phát hiện các bất thường, bệnh lý một cách nhanh chóng và chính xác

2.5.4 Giám sát an ninh

CNN giúp phân loại và nhận diện các hoạt động bất thường trong hệ thống giám sát an ninh, nâng cao khả năng phản ứng kịp thời và hiệu quả

Trang 14

CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM

3.1 Môi trường thực nghiệm

Để thực hiện các thí nghiệm liên quan đến phân loại hình ảnh trên tập dữ liệu ImageNet bằng

mô hình ResNet50, môi trường thực nghiệm được thiết lập với các thông số kỹ thuật và phần mềm như sau:

Phần cứng:

o CPU: AMD Ryzen

o GPU: NVIDIA GeForce GTX

o RAM: 16 GB

o Ổ cứng: SSD 1TB

Phần mềm:

o Hệ điều hành: Windows 11

o Ngôn ngữ lập trình: Python 3.8

o Thư viện: TensorFlow 2.11, Keras, NumPy, Matplotlib, Requests

3.2 Quy trình thực nghiệm

Quy trình thực nghiệm được thực hiện theo các bước chính như sau:

1 Chuẩn bị Dữ liệu:

o Lấy hình ảnh từ các URL được cung cấp

o Tiền xử lý hình ảnh bao gồm thay đổi kích thước về 224x224 pixels và chuẩn hóa dữ liệu theo yêu cầu của mô hình ResNet50

2 Tải và Sử dụng Mô hình ResNet50:

o Sử dụng mô hình ResNet50 đã được huấn luyện trước trên tập dữ liệu ImageNet

o Mô hình được tải từ thư viện Keras với trọng số đã được huấn luyện sẵn (weights='imagenet')

3 Dự đoán và Hiển thị Kết quả:

o Dự đoán lớp của hình ảnh sau khi đã tiền xử lý

o Hiển thị hình ảnh cùng với các dự đoán lớp và xác suất tương ứng

4 Đánh giá Hiệu suất:

o Ghi nhận các dự đoán và so sánh với nhãn thực tế (nếu có) để đánh giá độ chính xác của mô hình

3.3 Mã nguồn thực nghiệm

Dưới đây là mã nguồn Python được sử dụng để thực hiện quá trình phân loại hình ảnh bằng

mô hình ResNet50:

Trang 15

- GitHub

Giải thích mã nguồn

- Các bước để hoàn thành chương trình :

Bước 1: Nhập các thư viện cần thiết

o TensorFlow và Keras: Dùng để xây dựng và sử dụng mô hình CNN.

o NumPy: Xử lý mảng dữ liệu.

o Matplotlib: Hiển thị hình ảnh và kết quả dự đoán.

o Requests: Tải hình ảnh từ các URL.

o BytesIO: Xử lý dữ liệu nhị phân từ các URL.

Bước 2: Tải mô hình ResNet50 đã được huấn luyện trước trên ImageNet

o Sử dụng mô hình ResNet50 với trọng số đã được huấn luyện sẵn trên tập dữ liệu ImageNet

Bước 3: Định nghĩa hàm để tải và tiền xử lý hình ảnh từ URL

o Hàm load_and_preprocess_image nhận vào một URL hình ảnh, tải về, thay đổi kích thước, chuyển đổi thành mảng NumPy, và tiền xử lý theo yêu cầu của ResNet50

Bước 4: Định nghĩa hàm để hiển thị hình ảnh và kết quả dự đoán

o Hàm display_prediction hiển thị hình ảnh và in ra các lớp dự đoán cùng xác suất tương ứng

Bước 5: Tải và dự đoán một hình ảnh từ URL

o Hàm predict_image_from_url sử dụng các hàm đã định nghĩa để tải, tiền xử lý, dự đoán, và hiển thị kết quả cho một hình ảnh từ URL

Bước 6: Sử dụng hàm để dự đoán hình ảnh từ URL

o Danh sách img_urls chứa các URL hình ảnh mẫu Mã nguồn sẽ lặp qua từng URL, thực hiện dự đoán và hiển thị kết quả

3.4 Kết quả thực nghiệm

Các thí nghiệm được thực hiện với bốn hình ảnh mẫu từ các URL khác nhau Dưới đây là bảng kết quả dự đoán của mô hình ResNet50:

URL Hình Ảnh Lớp Dự

Đoán 1

Xác Suất

1 (%)

Lớp Dự Đoán 2

Xác Suất

2 (%)

Lớp Dự Đoán 3

Xác Suất

3 (%)

Hình 3.1

Flat -coated_retri

ever

60.93

%

Curly -coated_retriev er

26.04

%

Labrador_retrie ver

11.06

%

Ngày đăng: 24/10/2024, 17:14

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

TÀI LIỆU LIÊN QUAN

w