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

Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo nhận diện màu sắc

44 0 0

Đ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 đề Thiết Kế Mô Hình Mạng Neural Nhân Tạo Nhận Diện Màu Sắc
Tác giả Trịnh Bá Thao, Ngô Tuấn Anh, Xuân Quang Duy, Đỗ Khắc Sơn, Vũ Quang Tiến
Người hướng dẫn TS. Nguyễn Thị Thu
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Điện Tử Viễn Thông
Thể loại Đồ Án
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 44
Dung lượng 1,73 MB

Nội dung

Thực tế cho thấy, việc nhận diện màu sắc không chỉ là vấn đề riêng của con người, mà còn đang được ứng dụng mạnh mẽ trong lĩnh vực xử lý hình ảnh thông qua việc sử dụng mạng neural tích

Trang 1

B Ộ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

-

ĐỒ ÁN MẠNG NEURAL NHÂN TẠO

Ngành Điện tử viễn thông

Thi ết kế mô hình mạng Neural nhân tạo

nh ận diện màu sắc.

Gi ảng viên: TS Nguyễn Thị Thu

Nhóm 3

Hà Nội, năm 2023

Trang 2

B Ộ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

-

ĐỒ ÁN MẠNG NEURAL NHÂN TẠO

Thi ết kế mô hình mạng Neural nhân tạo

nh ận diện màu sắc.

Gi ảng viên: TS Nguyễn Thị Thu

H ọc viên: Nhóm 3

Hà Nội, năm 2023

Trang 3

M ỤC LỤC

M ỤC LỤC 3

DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ CÁI VIẾT TẮT 5

DANH M ỤC CÁC HÌNH ẢNH 6

L ỜI NÓI ĐẦU 8

CHƯƠNG I: T ỔNG QUAN VỀ ĐỀ TÀI 9

1.1 Lý do chọn đề tài 9

1.1.1 Giới thiệu chung về nhận diện màu sắc 9

1.1.2 Lý do lựa chọn đề tài 9

1.2 Mạng neural nhân tạo (ANN) 10

1.2.1 Giới thiệu chung về ANN 10

1.2.2 Các thành phần của ANN 10

1.2.3 Các ứng dụng của ANN 11

1.2.4 ANN trong học máy 12

1.3 Màu sắc và các đặc tính của màu sắc 13

1.3.1 Màu sắc là gì? 13

1.3.2 Đặc tính của màu sắc 13

1.3.3 Xử lý dữ liệu màu sắc với Python 14

CHƯƠNG II: THI ẾT KẾ MÔ HÌNH MẠNG NEURAL NHÂN TẠO NH ẬN DIỆN MÀU SẮC 16

2.1 Bài toán nhận dạng màu sắc 16

2.2 Các bước giải quyết bài toán 16

2.2.1 Xây dựng mô hình 16

2.2.2 Thuật toán huấn luyện 17

2.2.3 Huấn luyện mô hình 18

2.2.4 Thực hiện quá trình kiểm thử code 29

CHƯƠNG III: K ẾT QUẢ CHƯƠNG TRÌNH THỬ NGHIỆM 35

3.1 Môi trường thử nghiệm 35

3.1.1 Ngôn ngữ lập trình Python 35

Trang 4

3.1.2 Visual Studio Code 35

3.2 Thực nghiệm 37

3.2.1 Thực nghiệm phân tích giá trị một số tham số đầu vào 37

3.2.2 Thực nghiệm huấn luyện mạng 37

3.2.3 Thực nghiệm nhận diện màu sắc 38

CHƯƠNG IV: K ẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42

4.1 Kết luận 42

4.2 Hướng phát triển của đề tài 43

TÀI LI ỆU THAM KHẢO 44

Trang 5

DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ CÁI VIẾT TẮT

Trang 6

DANH M ỤC CÁC HÌNH ẢNH

Hình ảnh 1.2.1 Mô hình ANN 11

Hình ảnh 2.2.1 Mô hình nhận diện màu sắc cơ bản 16

Hình ảnh 2.2.2 Mô hình nhận diện màu sắc chi tiết 17

Hình ảnh 2.2.3 Bộ lọc tích chập trên ma trận điểm ảnh 20

Hình ảnh 2.2.4 Hình ảnh sau khi đi qua bộ lọc 20

Hình ảnh 2.2.5 Phương thức Avarage Pooling và Max Pooling 21

Hình ảnh 2.2.6 Mô hình kết nối Fully-Connected 22

Hình ảnh 2.2.7 Kiến trúc CNN đặc trưng 22

Hình ảnh 2.2.8 Mối quan hệ giữa thuật toán Adam và GD 23

Hình ảnh 2.2.9 Quá trình huấn luyện CNN 25

Hình ảnh 2.2.10 Ví dụ về một trường cục bộ 5x5 26

Hình ảnh 2.2.11 Tạo neural ẩn đầu tiên trong lớp ẩn thứ nhất 26

Hình ảnh 2.2.12 Tạo neural ẩn thứ hai trong lớp ẩn thứ nhất 26

Hình ảnh 2.2.13 Feature map được tạo ra 27

Hình ảnh 2.2.14 Neural được tạo ra sau sau khi qua lớp max pooling 28

Hình ảnh 2.2.15 Một CNN với đầu ra gồm các neural 28

Hình ảnh 2.2.16 Import các thư viện 29

Hình ảnh 2.2.17 Dữ liệu huấn luyện 29

Hình ảnh 2.2.18 Dữ liệu kiểm tra 30

Hình ảnh 2.2.19 Các classes của mô hình 30

Hình ảnh 2.2.20 Mô hình mạng Neural 31

Hình ảnh 2.2.21 Thuật toán adam sử dụng trong mô hình 31

Hình ảnh 2.2.22 Huấn luyện mô hình bằng hàm Fit 31

Hình ảnh 2.2.23 Vòng lặp dự đoán và hiển thị kết quả 32

Hình ảnh 2.2.24 Kết thúc chương trình 32

Hình ảnh 2.2.25 Thuật toán Adam 33

Hình ảnh 2.2.26 Mô hình CNN 33

Hình ảnh 2.2.27 Kết quả huấn luyện mô hình 34

Trang 7

Hình ảnh 3.1.1 Phần mềm Visual Studio Code 36

Hình ảnh 3.2.1 Hiển thị kết quả nhập dữ liệu 38

Hình ảnh 3.2.2 Nhận diện thành công màu đỏ 38

Hình ảnh 3.2.3 Nhận diện thành công màu lục 38

Hình ảnh 3.2.4 Nhận diện thành công màu lam 39

Hình ảnh 3.2.5 Nhận diện màu đỏ có sự pha lẫn 39

Hình ảnh 3.2.6 Nhận diện màu lục có sự pha lẫn 39

Hình ảnh 3.2.7 Nhận diện màu lam có sự pha lẫn 40

Hình ảnh 3.2.8 Nhận dạng ảnh màu đỏ từ định dạng JPEG 40

Hình ảnh 3.2.9 Nhận dạng ảnh màu lục từ định dạng JPG 40

Hình ảnh 3.2.10 Nhận dạng hình ảnh màu lam từ định dạng PNG 41

Trang 8

L ỜI NÓI ĐẦU

Hẳn ai trong chúng ta cũng từng trải qua những trải nghiệm thú vị khi nhận

diện và tận hưởng vẻ đẹp của các sắc màu xung quanh Cảm giác ấm áp của

mặt trời buổi sáng, bức tranh màu mè của thiên nhiên, hay những sắc thái đa

dạng trên các tác phẩm nghệ thuật – tất cả đều là những khung cảnh mà màu

sắc tạo nên Thực tế cho thấy, việc nhận diện màu sắc không chỉ là vấn đề riêng

của con người, mà còn đang được ứng dụng mạnh mẽ trong lĩnh vực xử lý hình ảnh thông qua việc sử dụng mạng neural tích chập (CNN)

CNN đã khẳng định vị thế của mình trong thế giới xử lý hình ảnh bằng

khả năng nắm bắt cấu trúc không gian trong dữ liệu ảnh Nhờ cách mạng này, chúng ta có thể dễ dàng học được các đặc trưng phức tạp trong ảnh, đặc biệt là đối với việc nhận diện màu sắc CNN học cách kết hợp các đặc trưng cục bộ từ các kênh màu, tạo ra mô hình phân loại màu sắc đáng tin cậy

s ắc”, chúng ta sẽ tiếp cận thế giới thú vị của việc nhận diện màu sắc thông qua

CNN Chúng ta sẽ tìm hiểu cụ thể cách mạng này hoạt động, từ việc tiền xử lý

dữ liệu đến cách thức huấn luyện mạng và đánh giá hiệu suất của mô hình Đồng thời, chúng ta sẽ thấy rõ ảnh hưởng to lớn của CNN trong việc giúp máy tính nhận diện màu sắc một cách nhanh chóng và chính xác

Qua đây, chúng ta không chỉ hiểu rõ hơn về cách mà CNN có thể ứng

dụng trong xử lý hình ảnh, mà còn thấy rõ giá trị thực sự của nó trong việc tạo nên những khả năng mới cho thị giác máy tính và nhiều lĩnh vực ứng dụng khác Đồ án này chắc chắn sẽ giúp chúng ta mở rộng tầm hiểu biết và tận hưởng

sự thú vị của việc làm quen với màu sắc thông qua góc nhìn nghiên cứu

Trang 9

CHƯƠNG I: T ỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý do chọn đề tài

1.1.1 Gi ới thiệu chung về nhận diện màu sắc

Màu sắc là một khía cạnh quan trọng trong cuộc sống và thị giác của con người Nó tạo ra sự đa dạng và thú vị trong thế giới xung quanh chúng ta và có vai trò quan trọng trong nhiều lĩnh vực, bao gồm ngành nghệ thuật, thiết kế, thị giác máy tính và khoa học

T ầm quan trọng của màu sắc trong cuộc sống:

Màu sắc không chỉ đóng vai trò thẩm mỹ, mà còn có ảnh hưởng đến tâm

trạng và cảm xúc của con người Mỗi màu sắc có thể gợi lên những cảm xúc và

ý nghĩa riêng biệt

Ví dụ: Màu đỏ thường liên quan đến sự nổi loạn hoặc đam mê, màu xanh

biểu thị sự yên bình và sự trung tính, màu vàng thể hiện niềm vui và sự sáng

sủa

Tính đa dạng của màu sắc:

Màu sắc là một phạm vi rộng lớn của sự tổng hợp màu sắc cơ bản: đỏ, lục

và lam Từ ba màu cơ bản này, chúng ta có thể tạo ra vô số các màu sắc phức

tạp khác thông qua việc kết hợp chúng với nhau hoặc thêm màu trắng và đen

1.1.2 Lý do l ựa chọn đề tài

Tính ứng dụng rộng rãi:

Nhận diện màu sắc là một nhiệm vụ quan trọng trong thị giác máy tính và

có nhiều ứng dụng thực tế hữu ích

Ví dụ: Trong ngành công nghiệp, việc phân loại và nhận diện màu sắc có

thể được sử dụng để kiểm tra chất lượng sản phẩm trong quá trình sản xuất,

đánh giá chất lượng thực phẩm, xử lý hình ảnh và nhiều ứng dụng khác

S ự phát triển của trí tuệ nhân tạo và thị giác máy tính:

Trí tuệ nhân tạo và thị giác máy tính đã phát triển rất nhanh trong những năm gần đây Các mô hình mạng neural nhân tạo (ANN) như CNN đã chứng

Trang 10

tỏ hiệu quả cao trong việc nhận diện màu sắc và các đối tượng trong hình ảnh

Điều này làm cho đề tài hấp dẫn và đáng để nghiên cứu

Ti ềm năng nghiên cứu và đóng góp:

Nghiên cứu về việc sử dụng ANN để nhận diện màu sắc có thể đóng góp vào việc cải thiện hiệu suất của các hệ thống nhận diện màu sắc hiện có và mở

ra những tiềm năng ứng dụng mới trong các lĩnh vực khác nhau Việc áp dụng trí tuệ nhân tạo vào nhận diện màu sắc có thể giúp tiết kiệm thời gian, tăng hiệu suất và giảm thiểu sai sót

S ự quan tâm và nhu cầu nghiên cứu:

Hiện nay, màu sắc đang thu hút sự quan tâm của nhiều ngành công nghiệp

và các nhà nghiên cứu trong lĩnh vực trí tuệ nhân tạo Việc nghiên cứu về việc

nhận diện màu sắc có thể giúp đáp ứng nhu cầu thực tế của xã hội và góp phần phát triển lĩnh vực này

1.2 Mạng neural nhân tạo (ANN)

1.2.1 Gi ới thiệu chung về ANN

ANN là một phương thức trong lĩnh vực trí tuệ nhân tạo, được sử dụng để dạy máy tính xử lý dữ liệu theo cách được lấy cảm hứng từ bộ não con người Đây là một loại quy trình máy học, được gọi là Deep learning (DL), sử dụng các nút hoặc neural liên kết với nhau trong một cấu trúc phân lớp tương tự như

bộ não con người Phương thức này tạo ra một hệ thống thích ứng được máy tính sử dụng để học hỏi từ sai lầm của chúng và liên tục cải thiện Vì vậy, ANN

nhắm tới giải quyết các vấn đề phức tạp, chẳng hạn như tóm tắt tài liệu hoặc

nhận diện khuôn mặt, với độ chính xác cao hơn

1.2.2 Các thành ph ần của ANN

Một ANN cơ bản bao gồm các neural nhân tạo liên kết theo 3 lớp:

Trang 11

Dữ liệu đi vào lớp ẩn đến từ lớp đầu vào hoặc các lớp ẩn khác ANN có

thể có một số lượng lớn lớp ẩn Mỗi lớp ẩn phân tích dữ liệu đầu ra từ lớp trước,

xử lý dữ liệu đó sâu hơn và rồi chuyển dữ liệu sang lớp tiếp theo

L ớp đầu ra:

Lớp đầu ra cho ra kết quả cuối cùng của tất cả các dữ liệu được xử lý bởi ANN Lớp này có thể có một hoặc nhiều nút

1.2.3 Các ứng dụng của ANN

ANN được sử dụng trong nhiều trường hợp trải dài khắp các lĩnh vực

chẳng hạn: Y tế, tiếp thị, tài chính, … Ở đây chúng ta chỉ tìm hiểu 4 ứng dụng quan trọng nhất của ANN

Th ị giác máy tính:

Là khả năng trích xuất dữ liệu, thông tin từ hình ảnh, video của máy tính

Với ANN, máy tính có thể phân biệt và nhận diện hình ảnh như con nguời Thị giác máy tính được sử dụng trong:

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

Trang 12

 Kiểm duyệt nội dung

 Dán nhãn hình ảnh

Nh ận dạng giọng nói:

ANN phân tích giọng nói của con người: mẫu giọng, cao độ, tông, ngôn

ngữ, vùng miền Nhận dạng giọng nói có thể thực hiện các công việc như:

 Tạo phụ đề cho các video, bản ghi âm

 Chuyển đổi âm thanh thành văn bản

 Phân loại nội dung

K ỹ thuật xử lý ngôn ngữ tự nhiên:

Là khả năng xử lý văn bản tự nhiên do con nguời tạo ra ANN giúp máy tính thu thập thông tin từ văn bản và tài liệu Kỹ thuật xử lý ngôn ngữ tự nhiên được ứng dụng trong:

đề xuất sẽ thay họ làm điều đó

1.2.4 ANN trong h ọc máy

Trong lĩnh vực học máy, ANN đã trở thành một công cụ mạnh mẽ và phổ

biến trong việc giải quyết nhiều bài toán phức tạp Mô hình này lấy cảm hứng

từ cấu trúc và hoạt động của hệ thống neural trong não người, cho phép nó tự động học từ dữ liệu và cải thiện hiệu suất trong việc phân loại, dự đoán, và ghi

nhớ thông tin

ANN trong học máy có khả năng học từ các tập dữ liệu lớn, từ đó tạo ra các quy tắc và mô hình phức tạp, mang tính tổng quát cao Các kiến trúc đa lớp như Perceptron đa lớp (MLP), mạng neural sâu (Deep Neural Network - DNN)

Trang 13

đã xuất hiện, cho phép xử lý các bài toán phức tạp và mang tính đòi hỏi cao trong thế giới thực

Không chỉ là công cụ xử lý dữ liệu và giải quyết các bài toán, ANN trong

học máy còn góp phần nâng cao hiệu suất của nhiều ứng dụng thực tiễn Chẳng

hạn, trong xử lý ngôn ngữ tự nhiên, ANN đã đạt được những thành tựu ấn tượng, giúp tạo ra các chatbot thông minh và các hệ thống dịch thuật tự động Tuy nhiên, vẫn còn nhiều thách thức trong việc sử dụng ANN trong học máy Như overfitting (quá khớp), thiếu dữ liệu, thời gian huấn luyện dài đều là những vấn đề cần được giải quyết để tăng cường hiệu quả của mạng neural trong ứng dụng thực tế Bên cạnh đó, việc nghiên cứu và phát triển các kiến trúc và thuật toán mới vẫn tiếp tục là hướng đi quan trọng để nâng cao khả năng

của ANN và học máy nói chung

1.3 Màu sắc và các đặc tính của màu sắc

1.3.1 Màu s ắc là gì?

Màu sắc là một khái niệm về hiện tượng thị giác, được tạo ra bởi sự khác nhau trong bước sóng ánh sáng và cách mắt con người cảm nhận chúng Trong không gian màu sắc, có một loạt các màu đơn sắc và màu phức tạp hơn được

tạo thành từ sự kết hợp của các màu đơn sắc

1.3.2 Đặc tính của màu sắc

Các đặc tính của màu sắc bao gồm:

S ắc thái (Hue):

Đây là thuộc tính chính xác nhất của màu sắc, cho biết màu cụ thể của vật

thể Ví dụ: màu đỏ, màu lục, màu vàng là các sắc thái khác nhau

Độ sáng (Brightness):

Độ sáng liên quan đến mức độ chiếu sáng hoặc bóng tối của màu sắc Nó

thể hiện mức độ sáng hay tối của màu, từ đen (màu tối nhất) đến trắng (màu sáng nhất)

Độ bão hòa (Saturation):

Trang 14

Độ bão hòa chỉ đến mức độ mạnh yếu của màu sắc Màu sắc có độ bão hòa cao sẽ trông tươi sáng và sặc sỡ, trong khi độ bão hòa thấp sẽ làm màu nhạt

đi

Tương phản (Contrast):

Là sự khác biệt giữa các màu sắc trong một cách thị giác Tương phản giúp phân biệt rõ ràng giữa các đối tượng và màu sắc xung quanh chúng

Tính ch ất tâm lý của màu sắc:

Màu sắc có thể tạo ra ảnh hưởng tâm lý và tạo ra cảm xúc khác nhau Ví

dụ, màu đỏ thường được liên kết với sự nhiệt tình và sức mạnh, trong khi màu

lục có thể gợi lên sự yên bình và sự tự nhiên

S ự thay đổi của màu sắc theo ánh sáng:

Màu sắc có thể thay đổi khi ánh sáng thay đổi Điều này được gọi là hiện

tượng "metamerism."

Những đặc tính này cùng nhau tạo nên một loạt các màu sắc đa dạng và đẹp mắt, được sử dụng rộng rãi trong nghệ thuật, thiết kế, thị giác và nhiều lĩnh

vực khác

1.3.3 X ử lý dữ liệu màu sắc với Python

Nhận diện màu sắc là quá trình xác định màu sắc Quá trình này thu được

bằng cách so sánh với mẫu chuẩn đã được học, lưu từ trước Nội suy là phán đoán trên cơ sở nhận diện Ví dụ: Từ 3 màu sắc chính là đỏ, lam, lục có thể tạo

ra các màu khác bằng cách kết hợp lại với nhau Có nhiều cách để phân biệt được màu sắc, ở đây chúng ta dùng ngôn ngữ Python và chia thành các kỹ thuật

nhận diện sau:

Chuy ển ảnh màu sang Grayscale:

Về cơ bản thì Grayscale (hình trắng đen) là loại ảnh mà tất cả pixels chỉ mang thông tin về độ sáng, hay chỉ thể hiện sắc thái của màu xám (Luminance mode) Trong không gian màu RGB, màu xám là màu mà sắc tố đỏ, lam, lục

có giá trị bằng nhau Ví dụ màu đỏ trong không gian RGB có giá trị (255, 0, 0)

Trang 15

Nếu muốn chuyển sang màu xám thì lấy giá trị trung bình của 3 sub-pixels và

tạo thành 1 pixel mới có giá trị RGB (85, 85, 85)

Thay đổi độ tương phản (Contrast):

Là quá trình điều chỉnh mức độ khác biệt giữa các giá trị màu trong một hình ảnh hoặc trong một khu vực cụ thể của hình ảnh Tương phản màu sắc đo lường sự khác biệt giữa các giá trị màu, chẳng hạn như độ sáng hoặc độ tối,

giữa các điểm trong hình ảnh Ví dụ: Bạn có thể sử dụng bộ lọc “Enhance” (tăng cường) hoặc “Contrast” (tương phản) để làm tăng hoặc giảm độ tương phản

Thay đổi độ sáng (Brightness):

Là quá trình điều chỉnh mức độ sáng của hình ảnh hoặc một khu vực cụ

thể trong hình ảnh làm tăng hoặc giảm độ sáng của màu sắc Kỹ thuật này cho phép điều chỉnh mức độ sáng tổng thể của hình ảnh hoặc làm tăng sáng các màu sắc cụ thể trong hình ảnh Để thay đổi độ sáng của pixels bằng cách thủ công, ta chỉ cần tăng hay giảm giá trị của từng pixel là được, chỉ cần lưu ý giá

trị đó sao cho nằm trong khoảng 0-255 là được

Làm m ờ (Gausian blur):

Là quá trình thay đổi hình ảnh hoặc khu vực cụ thể trong hình ảnh để làm cho nó trở nên mờ đi Kỹ thuật này làm giảm độ chi tiết và độ rõ nét trong hình ảnh, giúp tạo ra hiệu ứng mờ hoặc tập trung vào một phần của hình ảnh, trong khi giữ lại phần còn lại một cách rõ ràng

Ví dụ: Bộ lọc “Gaussian Blur” sẽ làm mờ hình ảnh bằng cách áp dụng

hiệu ứng mờ dựa trên phân phối Gausian Bạn có thể điều chỉnh mức độ mờ

bằng cách thay đổi thông số của bộ lọc này

Trang 16

CHƯƠNG II: THI ẾT KẾ MÔ HÌNH MẠNG NEURAL NHÂN TẠO

NH ẬN DIỆN MÀU SẮC 2.1 Bài toán nhận dạng màu sắc

Bài toán nhận dạng màu sắc là một phần của lĩnh vực thị giác máy tính và

xử lý ảnh Đây là một phần quan trọng của ứng dụng như phát hiện đối tượng, phân loại ảnh hoặc điều chỉnh màu sắc tự động

Ở đây bài toán được đặt ra là để cho ANN phân biệt màu sắc của các hình ảnh Cụ thể, mô hình được huấn luyện để phân loại các hình ảnh thành ba lớp màu sắc khác nhau bao gồm:

 “Mau_Do” (Red): Lớp màu sắc đại diện cho các hình ảnh có màu đỏ

 “Mau_Luc” (Green): Lớp màu sắc đại diện cho các hình ảnh có màu lục

 “Mau_Lam” (Blue): Lớp màu sắc đại diện cho các hình ảnh có màu lam

Mô hình sử dụng CNN (Convolutional Neural Network) để học các đặc trưng từ các hình ảnh và phân loại chúng thành các lớp màu sắc trên Để làm được điều này, CNN được huấn luyện trên một tập dữ liệu chứa các hình ảnh

đã được gán nhãn cho từng lớp màu sắc Sau đó, mô hình có thể được sử dụng

để dự đoán màu sắc của các hình ảnh mới mà nó chưa thấy trước đó

2.2 Các bước giải quyết bài toán

2.2.1 Xây d ựng mô hình

trình có chức năng nhận dạng màu sắc cho 3 loại màu cơ bản Mô hình sẽ nhận ảnh từ đường dẫn đã nhập vào và tiến hành nhận diện thời gian thực Sơ đồ

khối của sản phẩm được thể hiện như sau:

Hình ảnh 2.2.1 Mô hình nhận diện màu sắc cơ bản

Trang 17

Ảnh từ Input sẽ được resize và cho qua 2 lớp convolution, giữa 2 lớp sẽ là

lớp max pooling trước khi qua max pooling 1 lần nữa và qua 1 lớp flatten, cuối cùng là 6 lớp fully connected

Hình ảnh 2.2.2 Mô hình nhận diện màu sắc chi tiết

2.2.2 Thu ật toán huấn luyện

Là một loại thuật toán trong lĩnh vực xử lý ảnh và trí tuệ nhân tạo mà sử

dụng các kỹ thuật khoa học máy để hiểu và điều chỉnh màu sắc trong ảnh và video Cụ thể, các thuật toán học màu sắc thường là các mô hình học máy được

huấn luyện trên tập dữ liệu ảnh có gắn nhãn màu sắc Quá trình huấn luyện này giúp mô hình “học” cách phân loại các màu sắc khác nhau và hiểu cách tương tác giữa chúng

Thuật toán huấn luyện màu sắc trong bài toán nhận dạng màu sắc thực

hiện thông qua các bước sau đây:

Chu ẩn bị dữ liệu huấn luyện: Thu thập và chuẩn bị dữ liệu ảnh chứa các

mẫu màu sắc cần nhận dạng Dữ liệu được chia sẻ thành 2 phần tập huấn luyện (Training set) và tập kiểm tra (Test set)

Ti ền xử lý dữ liệu: Chuẩn hóa và làm sạch dữ liệu ảnh Các bước tiền xử

lý có thể bao gồm chuyển đổi không gian màu, cắt cụm màu, hoặc chuyển đổi

Trang 18

kích thước hình ảnh để đảm bảo dữ liệu đầu vào đồng nhất và thích hợp cho

huấn luyện mô hình

Xây d ựng mô hình máy học: Chọn một mô hình phù hợp để nhận dạng

màu sắc Trong trường hợp này sử dụng mạng neural tích chập (CNN) cho các bài toán liên quan đến thị giác máy tính, vì nó có khả năng học các đặc trưng

phức tạp từ dữ liệu ảnh

Định nghĩa hàm mất mát (loss function): Hàm mất mát sẽ đánh giá sai

khác giữa đầu ra dự đón của mô hình và nhãn thực tế Trong bài toán phân loại màu sắc, thường sử dụng hàm cross-entropy để đo lường sự sai khác giữa phân

phối xác suất dự đoán và nhãn thực tế

T ối ưu hóa mô hình: Chọn một thuật toán tối ưu hóa (ví dụ: Adam, SGD,

RMSprop) để điều chỉnh các trọng số của mô hình dựa trên đạo hàm của hàm

mất mát

Hu ấn luyện mô hình: Đưa dữ liệu huấn luyện vào mô hình và thực hiện

quá trình huấn luyện để tối ưu hóa các tham số của mô hình Mô hình sẽ điều

chỉnh các trọng số sao cho hàm mất mát giảm dần

Ki ểm tra và đánh giá mô hình: Sau khi huấn luyện xong, sử dụng tập

kiểm tra để kiểm tra hiệu suất của mô hình Đánh giá mô hình dựa trên các độ

đo như độ chính xác, độ phủ, precision, recall, F1-score và confusion matrix để đánh giá độ chính xác và hiệu suất của mô hình

D ự đoán màu sắc: Khi mô hình đã được huấn luyện và đánh giá, chúng

ta có thể sử dụng mô hình để dự đoán màu sắc từ các ảnh mới

Quá trình huấn luyện mô hình là một quá trình tối đa hóa hàm mất mát và

tối ưu hóa các tham số của mô hình để có thể nhận dạng màu sắc một cách chính xác từ dữ liệu hình ảnh

2.2.3 Hu ấn luyện mô hình

2.2.3.1 Mô hình CNN

Định nghĩa CNN

Trang 19

Convolutional Neural Network (CNN – Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến Nó giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay

Các l ớp cơ bản của CNN

Một CNN bao gồm ba lớp cơ bản:

 Lớp tích chập: Convolutional (CONV)

 Lớp Pooling: Pooling layer (POOL)

 Lớp kết nối đầy đủ: Fully-connected (FC)

L ớp tích chập (CONV): Đây là phần quan trọng nhất của CNN, nó có

nhiê ̣m vu ̣ thực thi các tính toán Các yếu tố quan trọng trong lớp CONV là: padding, stride, activation function, feature map và filter map

 CNN sử dụng filter để áp dụng vào các vùng của ma trâ ̣n hình ảnh Các filter map là các ma trâ ̣n 3 chiều, bên trong đó là những tham số và

chúng được gọi là parameters

 Stride: di ̣ch chuyển filter map theo từng pixel dựa vào các giá tri ̣ từ trái qua phải

 Padding: giá tri ̣ viền xung quanh của ma trâ ̣n hình ảnh sẽ được gán các

giá tri ̣ 0 để có thể tiến hành nhân tích châ ̣p mà không làm giảm kích thước ma trâ ̣n ảnh ban đầu

 Activation function: hàm kích hoạt (thường sử dụng hàm ReLu) được xây dựng với ý nghĩa đảm bảo tính phi tuyến của mô hình huấn luyện sau khi đã thực hiện một loạt các phép tính toán tuyến tính qua các lớp tích chập

 Feature map: biểu diễn kết quả sau mỗi lần feature map quét qua ma

trâ ̣n ảnh đầu vào Sau mỗi lần quét thì lớp CONV sẽ tiến hành tính

toán

Trang 20

Hình ảnh 2.2.3 Bộ lọc tích chập trên ma trận điểm ảnh

Trong ví dụ, ta thấy bộ lọc được sử dụng là một ma trận có kích thước 3x3 Bộ lọc này được dịch chuyển lần lượt qua từng vùng ảnh đến khi hoàn thành quét toàn bộ bức ảnh, tạo ra một bức ảnh mới có kích thước nhỏ hơn hoặc

bằng với kích thước ảnh đầu vào Kích thước này sau khi qua bộ lọc được tính theo công thức (1):

Trong đó:

 o: kích thước ảnh đầu ra

 i: kích thước ảnh đầu vào

 p: kích thước khoảng trắng phía ngoài viền của ảnh gốc

 k: kích thước bộ lọc

 s: bước trượt của bộ lọc

Trang 21

Như vậy, sau khi đưa một bức ảnh đầu vào cho lớp CONV ta nhận được

kết quả đầu ra là một loạt ảnh tương ứng với các bộ lọc đã được sử dụng để

thực hiện phép tích chập Các trọng số của các bộ lọc này được khởi tạo ngẫu nhiên trong lần đầu tiên và sẽ được cải thiện dần xuyên suốt quá trình huấn luyện

L ớp Pooling (POOL):

Là lớp được sử dụng sau lớp CONV để làm giảm kích thước ảnh đầu vào, tăng tốc độ tính toán và hiệu năng trong việc phát hiện các đặc trưng Có nhiều hướng Pooling được sử dụng trong đó phổ biến nhất là POOL theo giá trị cực đại (max pooling) và POOL theo giá trị trung bình (Avarage Pooling) được thể

hiện như hình dưới đây:

Hình ảnh 2.2.5 Phương thức Avarage Pooling và Max Pooling

 Max Pooling là lấy điểm ảnh lớn nhất khi bộ lọc trượt qua

 Avarage Pooling là lấy trung bình cộng tất cả các điểm ảnh được bộ

lọc trượt qua

Như vậy, với mỗi ảnh đầu vào được đưa qua lấy mẫu ta thu được một ảnh đầu ra tương ứng, có kích thước giảm xuống đáng kể nhưng vẫn giữ được các đặc trưng cần thiết cho quá trình tính toán sau này

Trang 22

L ớp kết nối đầy đủ (FC):

Được sử dụng sau lớp POOL Lớp FC được thiết kế hoàn toàn tương tự như trong ANN truyền thống, tức là tất cả các điểm ảnh được kết nối đầy đủ

với node trong lớp tiếp theo như hình dưới

Hình ảnh 2.2.6 Mô hình kết nối Fully-Connected

So với ANN truyền thống, các ảnh đầu vào của lớp này đã có kích thước được giảm bớt rất nhiều, đồng thời vẫn đảm bảo các thông tin quan trọng cho

việc nhận dạng Do vậy, việc tính toán nhận dạng sử dụng mô hình truyền thẳng

đã không còn phức tạp và tốn nhiều thời gian như trong mạng nơron truyền

thống

C ấu trúc của CNN

CNN là một trong những tập hợp của lớp CONV được chồng lên nhau CNN còn sử dụng các hàm nonlinear activation (như ReLU và tanh) nhằm kích

hoạt trọng số trong node Khi đã thông qua hàm, lớp này sẽ thu được trọng số

trong các node và tạo ra nhiều thông tin trừu tượng hơn cho các lớp tiếp theo

Ngày đăng: 27/03/2024, 15:56

HÌNH ẢNH LIÊN QUAN

Hình  ả nh 1.2.1 Mô hình ANN. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 1.2.1 Mô hình ANN (Trang 11)
Hình  ả nh 2.2.1 Mô hình nh ậ n di ệ n màu s ắc cơ bả n. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.1 Mô hình nh ậ n di ệ n màu s ắc cơ bả n (Trang 16)
Hình  ả nh 2.2.2 Mô hình nh ậ n di ệ n màu s ắ c chi ti ế t. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.2 Mô hình nh ậ n di ệ n màu s ắ c chi ti ế t (Trang 17)
Hình  ả nh 2.2.3 B ộ  l ọ c tích ch ậ p trên ma tr ận điể m  ả nh. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.3 B ộ l ọ c tích ch ậ p trên ma tr ận điể m ả nh (Trang 20)
Hình  ả nh 2.2.5  Phương thứ c Avarage Pooling và Max Pooling. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.5 Phương thứ c Avarage Pooling và Max Pooling (Trang 21)
Hình  ả nh 2.2.8 M ố i quan h ệ  gi ữ a thu ậ t toán Adam và GD. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.8 M ố i quan h ệ gi ữ a thu ậ t toán Adam và GD (Trang 23)
Hình  ả nh 2.2.9 Quá trình hu ấ n luy ệ n CNN. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.9 Quá trình hu ấ n luy ệ n CNN (Trang 25)
Hình ảnh 2.2.11 Tạo neural ẩn đầu tiên trong lớp ẩn thứ nhất. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ảnh 2.2.11 Tạo neural ẩn đầu tiên trong lớp ẩn thứ nhất (Trang 26)
Hình  ả nh 2.2.12 T ạ o neural  ẩ n th ứ  hai trong l ớ p  ẩ n th ứ  nh ấ t. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.12 T ạ o neural ẩ n th ứ hai trong l ớ p ẩ n th ứ nh ấ t (Trang 26)
Hình  ả nh 2.2.10 Ví d ụ  v ề  m ột trườ ng c ụ c b ộ  5x5. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.10 Ví d ụ v ề m ột trườ ng c ụ c b ộ 5x5 (Trang 26)
Hình ảnh 2.2.13 Feature map được tạo ra. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ảnh 2.2.13 Feature map được tạo ra (Trang 27)
Hình ảnh 2.2.15 Một CNN với đầu ra gồm các neural. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ảnh 2.2.15 Một CNN với đầu ra gồm các neural (Trang 28)
Hình  ả nh 2.2.14 Neural  đượ c t ạ o ra sau sau khi qua l ớ p max pooling.  Như vậ y qua l ớ p Max Pooling thì s ố lượ ng neural gi ảm đi phân nử a - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ả nh 2.2.14 Neural đượ c t ạ o ra sau sau khi qua l ớ p max pooling. Như vậ y qua l ớ p Max Pooling thì s ố lượ ng neural gi ảm đi phân nử a (Trang 28)
Hình ảnh 2.2.16 Import các thư viện. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ảnh 2.2.16 Import các thư viện (Trang 29)
Hình ảnh 2.2.19 Các classes của mô hình. - Đồ án mạng neural nhân tạo thiết kế mô hình mạng neural nhân tạo  nhận diện màu sắc
nh ảnh 2.2.19 Các classes của mô hình (Trang 30)

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

TÀI LIỆU LIÊN QUAN

w