1. Trang chủ
  2. » Công Nghệ Thông Tin

ĐỒ ÁN CƠ SỞ: NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH (IMAGES CLASSIFICATION)

31 90 3
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 đề Nghiên cứu Phân Loại Hình Ảnh (Images Classification)
Tác giả Nguyễn Thanh Toàn
Người hướng dẫn Th.S Vương Xuân Chí
Trường học Trường Đại học Nguyễn Tất Thành
Chuyên ngành Khoa học dữ liệu
Thể loại Đồ án cơ sở
Năm xuất bản 2022
Thành phố TP.HCM
Định dạng
Số trang 31
Dung lượng 629,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CƠ SỞ NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH (IMAGES CLASSIFICATION) Giảng viên hướng dẫn Th S VƯƠNG XUÂN CHÍ Sinh viên thự. Phân loại hình ảnh (Image classification) hay Nhận dạng hình ảnh (Image recognition) là một trong những tác vụ của mạng neural, ở đó thuật toán xem xét và dán nhãn cho hình ảnh từ một tập danh mục được xác định và đào tạo trước. Là quá trình lấy một hình ảnh làm dữ liệu đầu vào và gán cho nó một lớp với một xác suất. Quá trình này sử dụng các mô hình học sâu là các mạng thần kinh sâu, hoặc chi tiết hơn là Mạng thần kinh chuyển đổi. LỜI CẢM ƠN Em bày tỏ lòng biết ơn sâu sắc tới Thầy ThS. Vương Xuân Chí đã tận tình hỗ trợ em hết mình trong quá trình thực hiện đồ án cơ sở. Thầy đã tạo điều kiện rất tốt từ khâu chuẩn bị đến việc hoàn thành đồ án. Bên cạnh những buổi học lý thuyết với rất nhiều kiến thức mới trên lớp, những buổi thực hành với rất nhiều bài tập đa dạng để củng cố kiến thức, Thầy còn tạo thêm nhóm trên các nền tảng mạng xã hội để các sinh viên có thể trao đổi sau giờ học, nhận tài liệu từ Thầy, học tập cùng nhau, cùng nhau giải quyết những bài tập khó. Có thể do thời gian có hạn chế, cùng với khả năng của bản thân có hạn nên việc vướng một vài sai sót trong quá trình làm đồ án cơ sở là việc khó tránh khỏi, em rất mong nhận được sự thông cảm, nhận xét góp ý từ Thầy và các thầy cô khác trong khoa Công nghệ thông tin để có thể làm tốt hơn trong những tiểu luận, đồ án sau. Một lần nữa em xin cảm ơn Thầy và chúc Thầy nhiều sức khỏe. Nhân đây em cũng gửi lời cảm ơn đến bạn Phạm Nguyễn Hoài Phong, người đã cùng em tìm tòi, học hỏi, cùng nhau lên kế hoạch thực hiên và hoàn thiện đồ án cơ sở từ những ngày đầu nhận đề tài.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ

NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH

(IMAGES CLASSIFICATION)

Giảng viên hướng dẫn: Th.S VƯƠNG XUÂN CHÍ

TP.HCM – 06/2022

Trang 2

-BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ

NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH

(IMAGES CLASSIFICATION)

Giảng viên hướng dẫn: Th.S VƯƠNG XUÂN CHÍ

Trang 3

Trường Đại học Nguyễn Tất Thành

Khoa Công Nghệ Thông Tin

(Sinh viên phải đóng tờ này vào báo cáo)

Họ và tên: Nguyễn Thanh Toàn MSSV: 2000001541 Chuyên ngành: Khoa học dữ liệu Lớp: 20DTH2A

Email: contact.thanhtoan@gmail.com SĐT:0334745910

Tên đề tài:Nghiên cứu phân loại hình ảnh (Images classification)

Giáo viên hướng dẫn: Vương Xuân Chí

Thời gian thực hiện: 20 /6 /2022 đến 20 /9 /2022

NỘI DUNG VÀ PHƯƠNG PHÁP:

- Tìm hiểu mạng neural

- Mô hình mạng neural và học sâu (Deep learning)

- Kỹ thuật phân loại classification CNNs - Convolutional Neural Networks

- Kết luận

YÊU CẦU:

- Có kiến thức, đam mê, hiểu biết về công nghệ mới như Mạng neural, Machine

Learning, Deep Learning… Đọc hiểu tài liệu tiếng Anh, kỹ năng trình bày văn bản trênmáy tính tốt

- Có tác phong làm việc chăm chỉ, tinh thần trách nhiệm cao, có khả năng làm việc độc lập hoặc làm việc trong nhóm tốt

Nội dung và yêu cầu đã được thông qua Bộ môn.

TP.HCM, ngày 26 tháng 06 năm 2022

Trang 5

LỜI CẢM ƠN

Em bày tỏ lòng biết ơn sâu sắc tới Thầy ThS Vương Xuân Chí đã tận tình hỗ trợ

em hết mình trong quá trình thực hiện đồ án cơ sở Thầy đã tạo điều kiện rất tốt từ khâuchuẩn bị đến việc hoàn thành đồ án Bên cạnh những buổi học lý thuyết với rất nhiều kiến thức mới trên lớp, những buổi thực hành với rất nhiều bài tập đa dạng để củng cố kiến thức, Thầy còn tạo thêm nhóm trên các nền tảng mạng xã hội để các sinh viên có thể trao đổi sau giờ học, nhận tài liệu từ Thầy, học tập cùng nhau, cùng nhau giải quyết những bài tập khó Có thể do thời gian có hạn chế, cùng với khả năng của bản thân có hạn nên việc vướng một vài sai sót trong quá trình làm đồ án cơ sở là việc khó tránh khỏi, em rất mong nhận được sự thông cảm, nhận xét góp ý từ Thầy và các thầy cô khác trong khoa Công nghệ thông tin để có thể làm tốt hơn trong những tiểu luận, đồ

án sau Một lần nữa em xin cảm ơn Thầy và chúc Thầy nhiều sức khỏe

Nhân đây em cũng gửi lời cảm ơn đến bạn Phạm Nguyễn Hoài Phong, người đã cùng em tìm tòi, học hỏi, cùng nhau lên kế hoạch thực hiên và hoàn thiện đồ án cơ sở

từ những ngày đầu nhận đề tài

Sinh viên thực hiệnNguyễn Thanh Toàn

Trang 6

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

Trang 7

PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁN

Môn thi: Đồ Án Cơ Sở Khoa Học Dữ Liệu Lớp học phần: 20DTH2A

Nhóm sinh viên thực hiện :

1 Tham gia đóng góp: Nguyễn Thanh Toàn

2 Tham gia đóng góp: Phạm Nguyễn Hoài Phong

Ngày thi: Phòng thi:

Đề tài tiểu luận/báo cáo của sinh viên: Nghiên cứu phân loại hình ảnh (Images

classification)

Phần đánh giá của giảng viên (căn cứ trên thang rubrics của môn học):

Cấu trúc của báo cáo

Trang 8

LỜI MỞ ĐẦU

Phân loại hình ảnh, nhận diện hình ảnh hoặc thị giác máy tính, là một kỹ thuật tìm kiếm các cách tự động hóa tất cả các công việc mà một hệ thống thị giác của con người có thể làm Hiện nay, nhận diện hình ảnh đã và đang thể hiện rất tốt tầm quan trọng của mình trong hầu hết các lĩnh vực đời sống Có thể kể đến một vài lợi ích tuyệt vời của việc ứng dụng nhận diện hình ảnh vào đời sống thực tế: việc chấm công bằng phương pháp nhận diện khuôn mặt sẽ thay thế cho việc chấm công theo kiểu vân tay truyền thống, sẽ hạn chế việc lây lan virus trong tình hình dịch bệnh hiện nay; nhận diện đối tượng trong hệ thống CCTV (Closed Circuit Televison - hệ thống giám sát) trong việc quản lý chung cư, khách sạn, doanh nghiệp, cửa hàng hay cả hộ gia đình, giúp theo dõi, phát hiện sớm những bất thường trong khu vực camera an ninh có thể theo dõi; nhận diện hình ảnh trong các ứng dụng như Google Lens giúp tìm kiếm mọi thứ thông qua hình ảnh vừa chụp, dịch nhanh các thông tin với ngôn ngữ khác chỉ với vài giây; hay kể đến Apple, họ đã áp dụng công nghệ nhận diện khuôn mặt vào các thiết bị của họ với tên gọi (Face ID), với khả năng nhận diện và phân biệt đâu mơus là chủ sở hữu thật sự của thiết bị này đã giúp nâng cao khả năng bảo mật cho thiết bị cũngnhư thông tin, dữ liệu của khách hàng Từ các ví dụ trên, có thể thấy, công nghệ phân loại hình ảnh đang ngày càng được sử dụng rộng rãi, ngày càng phát huy được vai trò

vị thế của mình trong quá trình phát triển của xã hội nói chung và sự phát triển của công nghê, đặc biệt là công nghệ thông tin nói riêng

Trang 9

Ảnh 4 Đồ thị của hàm Logistic sigmoid.

Ảnh 5 Mô hình của một mạng thần kinh nhân tạo

Ảnh 6 Mô hình minh họa về cấu trúc của một mạng lưới thần kinh và cách đào tạo hoạt động

Ảnh 7 Định nghĩa của Convolutional

Ảnh 8 Các lớp trong Convolution layer

Trang 11

CHƯƠNG 1 TÌM HIỂU MẠNG NEURAL

1.1 Mạng neural là gì?

Mạng neural có thể coi là một phương thức để miêu tả cách hoạt động trong bộ não của con người Nói một cách đơn giản hơn, mạng neural là một hàm nhận một đầu vào x, xử lý nó và đưa ra một đầu ra y tương ứng Mạng neural nhân tạo, đây

là một chuỗi những thuật toán được đưa ra để tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu Thông qua việc bắt bước cách thức hoạt động từ não bộ con người

Nói cách khác, mạng neural nhân tạo được xem là hệ thống của các tế bào thần kinh nhân tạo Đây thường có thể là hữu cơ hoặc nhân tạo về bản chất NeuralNetwork có khả năng thích ứng được với mọi thay đổi từ đầu vào Do vậy, nó có thể đưa ra được mọi kết quả một cách tốt nhất có thể mà không cần phải thiết kế lại những tiêu chí đầu ra

Khái niệm này có nguồn gốc từ trí tuệ nhân tạo, đang nhanh chóng trở nên phổ biến hơn trong sự phát triển của những hệ thống giao dịch điện tử

1.2 Cấu tạo của một mạng neural nhân tạo.

o Một lớp biểu diễn đầu vào x

o Một số lượng các lớp ẩn (Hidden layers)

o Một lớp biểu diễn đầu ra y

o Một bộ các chỉ số Weights (W) và bias (b) giữa các lớp

o Một hàm kích hoạt (Activation Function) giữa các lớp

Ảnh 1 Mô hình của một neural nhân tạo.

Trang 12

Các hàm kích hoạt phổ biến:

Hàm ngưỡng (Threshold function) là hàm không liên tục và miền giá trị của

hàm chỉ mang hai giá trị là 0 và 1 Hàm này được mô tả theo công thức sau:

Trong kỹ thuật, hàm này còn được gọi là hàm bước Heaviside Tương ứng với

hàm kích hoạt này, giá trị đầu ra y k của neural có nhãn k sẽ là:

Trong đó:

Ảnh 2 Đồ thị của hàm ngưỡng.

Hàm ReLU (Rectified Linear Unit) được giới thiệu bởi Hahnloser vào năm

2000 và hàm này được định nghĩa như sau:

Định nghĩa trên có thể được viết lại như sau:

Trang 13

Ảnh 3 Đồ thị hàm ReLU.

Hàm Logistic Sigmoid có đồ thị là đường cong chữ S đặc trưng Hàm này được

định nghĩa như sau:

Ảnh 4 Đồ thị của hàm Logistic sigmoid.

Trang 14

Hàm Logistic Sigmoid là hàm liên tục, có miền xác định là (-∞, +∞) và có miền

giá trị là (-1, 1) Nhìn vào đồ thị ở hình trên, có thể thấy rằng nếu đầu vào của hàm này càng lớn, giá trị đầu ra sẽ càng tiến gần đến 1 Với đầu vào có giá trị càng âm thì đầu racủa hàm càng tiến gần đến 0 Trước đây, hàm logistic sigmoid được ưu tiên sử dụng làm hàm kích hoạt trong các mạng neural do tính chất khả vi và có một đạo hàm đẹp cóthể được tính toán dễ dàng:

1.3 Cách thức hoạt động của một mạng neural.

Với mạng Neural Network thì mỗi nút mạng là một sigmoid neural nhưng chúng lại có hàm kích hoạt khác nhau Thực tế, người ta thường sử dụng có cùng loại với nhau để việc tính toán thuận lợi hơn

Tại mỗi tầng, số lượng nút mạng có thể khác nhau còn tùy vào bài toán hoặc cách giải quyết

Tuy nhiên, khi làm việc người ta sẽ để các tầng ẩn số với số lượng neural khác nhau Ngoài ra, những neural nằm ở tầng thường sẽ liên kết đôi với nhau để tạo thành mạng kết nối đầy đủ nhất Khi đó, người dùng có thể tính toán được kích cỡ của mạng dựa vào tầng và số lượng neural

1.4 Ứng dụng của mạng neural.

Mạng neural nhân tạo được ứng dụng cho rất nhiều lĩnh vực như: tài chính, giao dịch, phân tích kinh doanh, lập kế hoạch cho doanh nghiệp và bảo trì sản phẩm

Neural Network còn được sử dụng khá rộng rãi cho những hoạt động kinh doanh khác như: dự báo thời tiết, và tìm kiếm các giải pháp nhằm nghiên cứu tiếp thị, đánh giá rủi ro và phát hiện gian lận

Trang 15

Nhiều trường hợp còn sử dụng mạng neural nhân tạo để thực hiện đánh giá và khai quật những cơ hội giao dịch dựa vào việc phân tích dữ liệu lịch sử Mạng neural còn được áp dụng rất phổ biến để phân biệt sự phụ thuộc giữa các phi tuyến lẫn nhau của đầu vào Đây là vấn đề mà các mô hình phân tích kỹ thuật khác không thể đáp ứng được Dù vậy, sự chính xác của việc áp dụng mạng neural nhân tạo vào dự đoán giá cổ phiếu hoàn toàn khác nhau.

1.5 Cách dùng của mạng neural.

Mạng neural nhân tạo có khả năng sử dụng được như một loại cơ chế xấp

xỉ hàm tùy ý mà học được từ việc dữ liệu quan sát Tuy nhiên, việc sử dụng chúng khá khó và cần phải có sự hiểu biết tương đối về những lý thuyết cơ bản về mạng neural này

Lựa chọn mô hình: phụ thuộc vào cách trình bày dữ liệu và các ứng dụngcủa nó Đây là mô hình khá phức tạp nên có thể dẫn đến nhiều thách thức cho quá trìnhhọc

Thuật toán học: Thường sẽ có rất nhiều thỏa thuận giữa các thuật toán học Và hầu hết, chúng sẽ làm việc tốt với những tham số đúng nhằm huấn luyện trên

dữ liệu mà không nhìn thấy yêu cầu một số lượng đáng kể các thử nghiệm

Mạnh mẽ: Nếu như các mô hình, thuật toán học và hàm chi phí được lựa chọn một cách thích hợp thì Neural Network có thể cho ra kết quả vô cùng hợp lý

Nếu thực hiện chính xác, có thể sử dụng Neural Network một cách tự nhiên và có thể ứng dụng vào những tập dữ liệu lớn

CHƯƠNG 2 MÔ HÌNH MẠNG NEURAL VÀ HỌC SÂU (DEEP LEARNING)

2.1 Deep learning là gì?

Deep Learning là một tập hợp con của Machine Learning, có khả năng khác biệt ở một số khía cạnh quan trọng so với machine learning truyền thống, cho

Trang 16

phép máy tính giải quyết một loạt các vấn đề phức tạp không thể giải quyết được Một

ví dụ về một nhiệm vụ machine learning đơn giản, nông cạn có thể dự đoán doanh số bán kem sẽ thay đổi như thế nào dựa trên nhiệt độ ngoài trời Việc đưa ra dự đoán chỉ

sử dụng một vài tính năng dữ liệu theo cách này là tương đối đơn giản và có thể được thực hiện bằng cách sử dụng một kỹ thuật machine learning gọi là hồi quy tuyến tính với độ dốc giảm dần Vấn đề là hàng loạt vấn đề trong thế giới thực không phù hợp vớinhững mô hình đơn giản như vậy Một ví dụ về một trong những vấn đề thực tế phức tạp này là nhận ra các số viết tay Để giải quyết vấn đề này, máy tính cần phải có khả năng đối phó với sự đa dạng lớn trong cách thức trình bày dữ liệu Mỗi chữ số từ 0 đến

9 có thể được viết theo vô số cách: kích thước và hình dạng chính xác của mỗi chữ số viết tay có thể rất khác nhau tùy thuộc vào người viết và trong hoàn cảnh nào Đối phó với sự biến đổi của các tính năng này và sự lộn xộn tương tác lớn hơn giữa chúng, là nơi học tập sâu và mạng lưới thần kinh sâu trở nên hữu ích Mạng lưới thần kinh là các

mô hình toán học có cấu trúc được lấy cảm hứng lỏng lẻo từ bộ não Mỗi neural trong mạng neural là một hàm toán học lấy dữ liệu thông qua đầu vào, biến đổi dữ liệu đó thành dạng dễ điều chỉnh hơn và sau đó phun ra thông qua đầu ra Các neural trong mộtmạng lưới thần kinh như được sắp xếp theo lớp, như hình dưới đây

Trang 17

Tất cả các mạng thần kinh đều có một lớp đầu vào, trong đó dữ liệu ban đầu được đưa vào và một lớp đầu ra, tạo ra dự đoán cuối cùng Nhưng trong một mạng lưới thần kinh sâu, sẽ có nhiều "lớp tế bào" ẩn giữa các lớp đầu vào và đầu ra, mỗi lớp cho dữ liệu vào nhau Do đó, thuật ngữ "Deep" trong "Deep Learning" và "mạng lưới thần kinh sâu", nó liên quan đến số lượng lớn các lớp ẩn – thường lớn hơn ba – tại trung tâm của các mạng thần kinh này.

Sơ đồ đơn giản hóa ở trên hy vọng sẽ giúp cung cấp một ý tưởng về cách cấu trúc một mạng lưới thần kinh đơn giản Trong ví dụ này, mạng đã được đào tạo để nhận ra các số liệu viết tay, chẳng hạn như số 2 được hiển thị ở đây, với lớp đầu vào được cung cấp các giá trị đại diện cho các pixel tạo thành hình ảnh của một chữ số viết tay và lớp đầu ra dự đoán số viết tay nào đã được hiển thị trong hình ảnh

Trong sơ đồ trên, mỗi vòng tròn đại diện cho một neural trong mạng, với các neural được tổ chức thành các lớp thẳng đứng

Mỗi neural được liên kết với mọi neural ở lớp sau, thể hiện thực tế là mỗineural tạo ra một giá trị vào mỗi neural ở lớp tiếp theo Màu sắc của các liên kết trong

sơ đồ cũng khác nhau Các màu khác nhau, đen và đỏ, thể hiện tầm quan trọng của các liên kết giữa các neural Các liên kết màu đỏ là những liên kết có ý nghĩa lớn hơn, có nghĩa là chúng sẽ khuếch đại giá trị khi nó đi qua giữa các lớp Đổi lại, sự khuếch đại giá trị này có thể giúp kích hoạt tế bào thần kinh mà giá trị đang được đưa vào

Một neural có thể được cho là đã được kích hoạt khi tổng các giá trị đượcđưa vào neural này vượt qua ngưỡng đã đặt Trong sơ đồ, các tế bào thần kinh được kích hoạt có màu đỏ Kích hoạt này có nghĩa là khác nhau theo lớp Trong "Lớp ẩn 1" được hiển thị trong sơ đồ, một neural kích hoạt có thể có nghĩa là hình ảnh của hình viết tay chứa một tổ hợp pixel nhất định giống với đường nằm ngang ở đầu số viết tay

7 Theo cách này, "Lớp ẩn 1" có thể phát hiện nhiều đường và đường cong câu chuyện cuối cùng sẽ kết hợp với nhau thành hình viết tay đầy đủ

Trang 18

Một mạng lưới thần kinh thực tế có thể sẽ có cả hai lớp ẩn và nhiều neural hơn trong mỗi lớp Ví dụ: "Lớp ẩn 2" có thể được cung cấp các đường và đườngcong nhỏ được xác định bởi "Lớp ẩn 1" và phát hiện cách chúng kết hợp để tạo thành các hình dạng có thể nhận biết, tạo thành các chữ số, như toàn bộ vòng lặp dưới cùng của sáu Bằng cách cung cấp dữ liệu chuyển tiếp giữa các lớp theo cách này, mỗi lớp ẩntiếp theo xử lý các tính năng ngày càng cao hơn.

Như đã đề cập, tế bào thần kinh được kích hoạt trong lớp đầu ra của sơ

đồ có một ý nghĩa khác Trong trường hợp này, tế bào thần kinh được kích hoạt tương ứng với số lượng mạng thần kinh ước tính nó được hiển thị trong hình ảnh của một chữ

số viết tay mà nó được cung cấp làm đầu vào

Đầu ra của một lớp là đầu vào của lớp tiếp theo trong mạng, với dữ liệu chảy qua mạng từ đầu vào đến đầu ra

Nhưng làm thế nào để nhiều lớp ẩn này cho phép một máy tính xác định bản chất của một chữ số viết tay? Nhiều lớp tế bào thần kinh này về cơ bản cung cấp một cách để mạng lưới thần kinh xây dựng một hệ thống phân cấp thô gồm các tính năng khác nhau tạo nên chữ số viết tay trong câu hỏi Chẳng hạn, nếu đầu vào là một mảng các giá trị đại diện cho các pixel riêng lẻ trong hình ảnh của hình viết tay, lớp tiếp theo có thể kết hợp các pixel này thành các đường và hình dạng, lớp tiếp theo kết hợp các hình dạng đó thành các đặc điểm riêng biệt như các vòng lặp trong 8 hoặc tam giác trên trong 4, và như vậy Bằng cách xây dựng một bức tranh về các tính năng này, các mạng thần kinh hiện đại có thể xác định – với độ chính xác rất cao – con số tương ứng với một chữ số viết tay Tương tự, các loại mạng thần kinh sâu khác nhau có thể được đào tạo để nhận diện khuôn mặt trong hình ảnh hoặc để phiên âm lời nói bằng văn bản

Quá trình xây dựng hệ thống phân cấp ngày càng phức tạp này của các tính năng của số viết tay không có gì ngoài các pixel được mạng học Quá trình học tập

Ngày đăng: 28/10/2022, 09:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w