-ĐỒ ÁN MẠNG NƠ-RON NHÂN TẠO
THIẾT KẾ ỨNG DỤNG CỦA MÔ HÌNH MẠNG NƠ-RON
TÍCH CHẬP TRONG NHẬN DIỆN MÀU SẮC
Giảng viên: TS Dương Thị Hằng
Nhóm sinh viên: Nhóm 8
Hà Nội, năm 2024
Trang 2MỤC LỤC
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 4
DANH MỤC BẢNG BIỂU 5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ CÁI VIẾT TẮT 6
LỜI CẢM ƠN 7
MỞ ĐẦU 8
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 11
1.1 Xây dựng mô hình máy học 11
1.2 Lý do lựa chọn mô hình mạng nơ-ron tích chập 12
1.3 Mạng nơ-ron tích chập (CNN) 13
1.3.1 Giới thiệu chung về CNN 13
1.3.2 Mô hình CNN 13
1.3.3 Cấu trúc của CNN 17
1.3.4 Thuật toán Adam 17
1.4 Màu sắc là gì 19
1.4.1 Đặc tính của màu sắc 19
1.5 Các bước chính của đề tài 20
1.6 Ứng dụng của đề tài 21
1.7 Nhiệm vụ của để tài 22
1.8 Tổng kết chương 1 22
CHƯƠNG 2 THIẾT KẾ MÔ HÌNH MẠNG NƠ-RON NHÂN TẠO NHẬN DIỆN MÀU SẮC 23
2.1 Bài toán nhận dạng màu sắc 23
2.2 Các bước giải quyết bài toán 23
2.2.1 Xây dựng mô hình 23
2.2.2 Thuật toán huấn luyện 24
2.2.3 Huấn luyện mô hình 26
Trang 32.3 Tổng kết chương 2 31
CHƯƠNG 3 KẾT QUẢ CHƯƠNG TRÌNH THỬ NGHIỆM 32
3.1 Phân tích giá trị tham số đầu vào 32
3.2 Mô tả dữ liệu 32
3.3 Thực nghiệm huấn luyện mạng 33
3.4 Kết quả nhận diện màu sắc 34
3.5 Đánh giá kết quả 35
3.6 Tổng kết chương 3 37
KẾT LUẬN 38
TÀI LIỆU THAM KHẢO 39
PHỤ LỤC 40
Trang 4DANH MỤC HÌNH ẢNH
Hình 1: Mạng nơ-ron cổ điển (ANN) 16
Hình 2: Mạng nơ-ron hồi quy (RNN) 17
Hình 3: Bộ lọc tích chập 18
Hình 4: Hình ảnh sau khi đi qua bộ lọc 19
Hình 5: Pooling giá trị cực đại và giá trị trung bình 20
Hình 6: Mô hình lớp kết nối đầy đủ 21
Hình 7: Mô hình lớp kết nối đầy đủ 21
Hình 8: Mối quan hệ của thuật toán Adam 22
Hình 9: Độ sáng 24
Hình 10: Độ tương phản 24
Hình 11: Độ bão hòa 25
Hình 12: Phân loại trái cây theo màu sắc 26
Hình 13: Trò chơi nhận diện màu sắc 26
Hình 14: Mô hình tổng quát 28
Hình 15: Mô hình chi tiết 29
Hình 16: Quá trình huấn luyện mô hình 31
Hình 17: Ví dụ về 1 trường cục bộ 3x3 32
Hình 18: Nguyên lý tạo ra nơ ron của lớp Convolution 33
Hình 19: Nguyên lý tạo ra nơ ron của lớp Convolution 33
Hình 20: 32 feature map được tạo ra 34
Hình 21: Nguyên lý của lớp Max Pooling 35
Hình 22: Một CNN với đầu ra gồm các nơ-ron 35
Hình 23: Tập dữ liệu huấn luyện 37
Hình 24: Quá trình huấn luyện mạng nơ-ron 38
Hình 25: Nhận diện thành công ảnh có màu đỏ 39
Hình 26: Nhận diện thành công ảnh có màu lục 40
Hình 27: Nhận diện thành công ảnh có màu xanh 40
Hình 28: Đồ thị biểu diễn độ chính xác 41
Hình 29: Đồ thị biểu diễn độ mất mát 41
Trang 5DANH MỤC BẢNG BIỂU
Bảng 1: Thời gian huấn luyện và kiểm thử trung bình 34
Trang 6
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ CÁI VIẾT TẮT
Adam
nhiều lớp
RMS
Studio
Trang 7
LỜI CẢM ƠN
Nhóm 8 xin gửi lời cảm ơn chân thành đến cô Dương Thị Hằng về sựhướng dẫn và hỗ trợ trong quá trình hoàn thành đồ án môn học Sự chỉ dẫn vàđộng viên của cô đã đóng vai trò quan trọng trong việc giúp nhóm em hoànthiện đồ án một cách thành công
Bên cạnh đó, chúng em cũng xin cảm ơn các bạn sinh viên trong Khoa Điện Tử - Viễn Thông đã đóng góp ý kiến cho nhóm em cũng như các bạn
trong khoa, giúp chúng em thực hiện đề tài đạt hiệu quả tốt hơn
Với thời gian thực hiện đề tài còn ngắn, kiến thức bản thân còn hạn hẹp và
dù đã rất cố gắng hết sức nhưng trong quá trình thực hiện đề tài không tránh khỏi những sai sót Do đó em rất mong nhận được những ý kiến đóng góp và chỉ dẫn thêm những sai sót và khuyết điểm của đề tài thực hiện từ của quý thầy cô và các bạn Chính từ điều đó sẽ giúp bản thân em tích lũy thêm được kinh nghiệm và giúp đề tài có thể áp dụng vào thực tế cuộc sống
Nhóm sinh viên
Trang 8Tính cấp thiết của đề tài
Màu sắc là một khía cạnh quan trọng trong cuộc sống hàng ngày của conngười Ta nhận biết, phân loại và tương tác với thế giới xung quanh thông quamàu sắc Tuy nhiên, khả năng nhận diện màu sắc và phân biệt giữa các sắc tháikhác nhau có thể trở thành một thách thức đối với con người, đặc biệt là khiphải xử lý một lượng lớn thông tin
Tình hình nghiên cứu trong nước và ngoài nước
Hiện nay, nghiên cứu về mạng nơ-ron nhân tạo và ứng dụng của nó trongviệc nhận diện màu sắc đã thu hút sự quan tâm của nhiều nhà nghiên cứu trêntoàn thế giới Trên thế giới, đã có những công trình nghiên cứu đáng chú ý vềviệc áp dụng mạng nơ-ron nhân tạo trong việc nhận diện màu sắc như:
Bài báo số 1: Về mặt định tính, hệ thống "DeepLab" của chúng tôi có thểbản địa hóa ranh giới phân khúc ở mức độ chính xác vượt xa các phương pháptrước đó Về mặt định lượng, phương pháp của chúng tôi đặt ra công nghệ tiêntiến mới ở nhiệm vụ phân đoạn hình ảnh ngữ nghĩa PASCAL VOC-2012, đạt độchính xác IOU 71,6% trong bộ thử nghiệm[1]
Bài báo số (2): INet và DenseINet yêu cầu tham số ít hơn lần lượt là 16,9%
và 37,6% so với ResUNet và ResDenseUNet So với sáu phương pháp tiếp cận
bộ mã hóa-giải mã sử dụng chín bộ dữ liệu công cộng, INet và DenseINet thểhiện những cải tiến hiệu quả trong phân đoạn hình ảnh y sinh INet vượt trộihơn DeepLabV3, thực hiện tích chập thay vì giảm mẫu.[2]
Còn trong nước ta, tuy chưa có nhiều nghiên cứu nhưng vẫn có 1 số dự ánnổi bật như:
Trang 9Bài báo số 3: Kết quả thực nghiệm trên hai bộ dữ liệu cifar-10 và mnist chothấy việc sử dụng mạng nơron tích chập kết hợp phương pháp sinh mã nhị phântrong tìm kiếm ảnh đạt độ chính xác xấp xỉ 89% và 98% và cải thiện đáng kểthời gian truy vấn ảnh.[3]
Bài báo số 4: Các kết quả thu được đã chỉ ra rằng phương pháp của chúngtôi dẫn đến hiệu suất tốt nhất về cả độ chính xác và thời gian thực hiện Đặcbiệt, nó có thể xác định chính xác 100% tất cả các ảnh ong mật mang phấn hoa
và không mang phấn hoa từ bộ dữ liệu trong thời gian ngắn nhất Kiểm tra độchính xác của kiến trúc CNN được đề xuất trên các bộ dữ liệu khác để xác minhhiệu suất của nó sẽ là mối quan tâm của chúng tôi cho công việc trong tương lai.[4]
Do đó, việc nghiên cứu và phát triển mạng nơ-ron nhân tạo nhận diện màusắc tại Việt Nam mang tính cấp thiết từ khía cạnh khoa học và ứng dụng
Phương pháp nghiên cứu, mục tiêu, phạm vi và đối tượng nghiên cứu
- Phương pháp nghiên cứu sử dụng trong đề tài này là xây dựng một mạngnơ-ron nhân tạo sử dụng kiến trúc Convolutional Neural Network (CNN) đểnhận diện màu sắc
- Mục tiêu của đồ án là tạo ra một mô hình nhận diện màu sắc chính xác vàlinh hoạt, có khả năng nhận diện và phân loại các màu sắc phổ biến
- Phạm vi của nghiên cứu sẽ tập trung vào việc áp dụng mạng nơ-ron nhântạo vào nhận diện màu sắc trong các ứng dụng thực tế
- Đối tượng nghiên cứu của đồ án là các mẫu màu sắc phổ biến được sửdụng trong các ngành công nghiệp và đời sống hàng ngày
Nội dung nghiên cứu
- Tìm hiểu về mạng nơ-ron nhân tạo và ứng dụng của nó trong việc nhậndiện màu sắc
- Xây dựng kiến trúc mạng nơ-ron nhân tạo dựa trên Convolutional Nơ-ronNetwork (CNN) để nhận diện màu sắc
- Thu thập và chuẩn bị dữ liệu màu sắc để huấn luyện và đánh giá mô hình
- Huấn luyện mô hình mạng nơ-ron nhân tạo trên tập dữ liệu màu sắc
Trang 10- Đánh giá hiệu suất và độ chính xác của mô hình nhận diện màu sắc.
- Thực hiện thử nghiệm và so sánh với các phương pháp nhận diện màu sắckhác
Kết quả dự kiến
Kết quả dự kiến của đề tài này là xây dựng thành công một mô hình mạngnơ-ron nhân tạo nhận diện màu sắc chính xác và hiệu quả Mô hình sẽ có khảnăng nhận diện và phân loại các màu sắc phổ biến với độ chính xác cao, có thểlên đến 90%
Qua đề tài “ứng dụng của mạng nơ-ron tích chập trong việc nhận diện màu sắc”, chúng em sẽ tìm hiểu cách CNN hoạt động, các phương pháp huấn
luyện và ứng dụng thực tiễn của nó trong các lĩnh vực như công nghệ, thiết kế,
và trí tuệ nhân tạo Khi hiểu rõ về khả năng của mạng nơ-ron tích chập trongviệc nhận diện màu sắc, ta có thể khám phá những tiềm năng và cơ hội mà nómang lại và tận dụng những lợi ích to lớn mà công nghệ này mang đến cho cuộcsống hàng ngày
Trang 11
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
Đề tài "Ứng dụng mạng nơ-ron tích chập vào nhận diện màu sắc" tập trungvào việc sử dụng mạng nơ-ron tích chập (Convolutional Neural Network -CNN) để nhận diện và phân loại màu sắc của các hình ảnh
Mạng nơ-ron tích chập là một dạng phổ biến của mạng nơ-ron sử dụngrộng rãi trong lĩnh vực thị giác máy tính Nó có khả năng tự động học các đặctrưng từ dữ liệu ảnh và áp dụng chúng để phân loại và nhận diện đối tượng Kỹthuật này đã chứng minh hiệu quả trong nhiều ứng dụng nhận diện hình ảnh,bao gồm cả nhận diện màu sắc
1.1 Xây dựng mô hình máy học
Có rất nhiều mô hình máy học có thể nhận diện được các màu sắc như:
Hình 1: Mạng nơ-ron cổ điển (ANN)
Hình 1 thể hiện mô hình mạng nơ-ron truyền thẳng, là một kiến trúc mạngnơ-ron phổ biến được sử dụng trong nhiều ứng dụng nhận diện và phân loại, baogồm cả nhận diện màu sắc
Mạng nơ-ron tích chập (Convolutional Nơ-ron Networks - CNNs): CNN
sử dụng lớp tích chập để trích xuất đặc trưng từ hình ảnh và kết hợp chúng vớicác lớp lấy mẫu và kết nối đầy đủ để phân loại đối tượng CNN đã đạt đượcnhiều thành công trong các bài toán như nhận diện khuôn mặt, phân loại ảnh, vànhận diện vật thể
Trang 12Hình 2: Mạng nơ-ron hồi quy (RNN)
Hình 2 là mô hình mạng nơ-ron hồi quy đệ quy (Recurrent NeuralNetworks - RNNs): RNN là một loại mạng nơ-ron được sử dụng cho xử lý dữliệu tuần tự như chuỗi ảnh Chúng có khả năng xử lý thông tin không chỉ dựatrên dữ liệu hiện tại mà còn dựa trên thông tin từ các bước trước đó RNNthường được sử dụng trong các bài toán như nhận diện chữ viết tay và mô hìnhngôn ngữ tự nhiên
1.2 Lý do lựa chọn mô hình mạng nơ-ron tích chập
Mạng nơ-ron tích chập CNN là một trong những mô hình học sâu phổ biến
và hiệu quả nhất trong các bài toán nhận dạng hình ảnh và xử lý dữ liệu khônggian Dưới đây là những lý do chính khiến CNN trở thành lựa chọn đầu tiêntrong ứng dụng này:
Mạng nơ-ron cổ điển có thể được sử dụng cho một số bài toán nhận diệnmàu sắc đơn giản, trong đó các đặc trưng màu sắc được trích xuất và đưa vàomạng để phân loại hoặc dự đoán Tuy nhiên, ANN có hạn chế trong việc xử lýthông tin có tính tuần tự và không thể tự đánh giá các mối quan hệ dữ liệu tuần
tự
Mạng nơ-ron hồi quy (RNN) có thể được sử dụng cho ứng dụng nhận diệnmàu sắc trong một số trường hợp nhất định Tuy nhiên, RNN không phải là kiếntrúc mạng nơ-ron được sử dụng phổ biến cho vấn đề nhận diện màu sắc, màthường được sử dụng cho các tác vụ xử lý dữ liệu có tính tuần tự như dự đoánchuỗi, dịch máy, xử lý ngôn ngữ tự nhiên
Trang 13CNN có khả năng tự động học các đặc trưng cấp cao từ dữ liệu hình ảnh và
xử lý thông tin không gian tốt hơn so với ANN, cho phép CNN nhận diện mẫumàu sắc phức tạp trong một ngữ cảnh lớn hơn
Như vậy, sự kết hợp giữa cấu trúc đặc biệt của CNN, khả năng học và nhậndiện đặc trưng cấp cao, và hiệu suất cao trong xử lý hình ảnh khiến nó trở thànhlựa chọn lý tưởng cho việc nhận diện màu sắc trong đề tài này
1.3 Mạng nơ-ron tích chập (CNN)
1.3.1 Giới thiệu chung về CNN
CNN là một loại mạng nơ-ron sâu (mạng thần kinh sâu) được thiết kế đặcbiệt để xử lý và phân tích dữ liệu có dạng cấu trúc như mạng image CNN đãchứng minh là công cụ mạnh mẽ trong các hình ảnh, video, phân loại, và nhiềuứng dụng khác trong thị giác máy tính
Mạng CNN cho pḥép người dùng xây dựng những hê ‡thống phân loại ṿà
dự ‡đoán với đô ‡chính xác cực cao
Hiện nay, mạng CNN được ứng dụng nhiều hơn trong xử lý ảnh, cu ‡thể lànhận diện đối tượng trong ‡ ảnh
Trang 14- Trong hình 3, ta thấy bộ lọc được sử dụng là một ma trận có kích thước3x3 Bộ lọc này được dịch chuyển lần lượt qua từng vùng ảnh theo các chiềucho đế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íchthướ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 khiqua bộ lọc được tính theo công thức (1):
(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
Hình 4: Hình ảnh sau khi đi qua bộ lọc
Sau khi đưa một bức ảnh đầu vào cho lớp tích chập 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ệnphép tích chập như hình 4 Các trọng số của các bộ lọc này được khởi tạo ngẫunhiên trong lần đầu tiên và sẽ được cải thiện dần xuyên suốt quá trình huấnluyện
Trang 15- Không phù hợp với dữ liệu dạng bảng.
- Khả năng học hạn chế với đặc trưng toàn cục
2 Lớp tổng hợp (POOL)
Là lớp được sử dụng sau lớp tích chập để làm giảm kích thước ảnh đầuvà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
Hình 5: Pooling giá trị cực đại và giá trị trung bình
Có nhiều hướng lấy mẫu được sử dụng trong đó phổ biến nhất là tổng hợptheo giá trị cực đại (max pooling) và tổng hợp theo giá trị trung bình
(Average Pooling) được thể hiện như hình 1.5:
Giá trị trung bình là lấy giá trị trung bình cộng của tất cả các điểm ảnhđược bộ lọc lọc qua
Giá trị cực đại là lấy giá trị điểm ảnh lớn nhất khi 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
Ưu điểm:
- Ít tham số
- Loại bỏ chi tiết ít quan trọng
- Tăng tính khái quát hóa mô hình
Nhược điểm:
- Có thể làm mất mát dữ liệu ít quan trọng khi rút gọn kích thước đầu vào
- Không linh hoạt với đặc trưng toàn cục
Trang 16- Giảm độ phân giải.
3 Lớp kết nối đầy đủ (FC):
Hình 6: Mô hình lớp kết nối đầy đủ
Được sử dụng sau lớp lấy mẫu Lớp kết nối đầy đủ được thiết kế hoàn toàntươ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 các nút trong lớp tiếp theo như hình 6
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 choviệ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ềnthống
Ưu điểm:
- Khả năng kết nối mạnh mẽ giữa các nerol
- Tông hợp gói gọn thông tin từ các layer trước
Nhược điểm:
- Tốn tài nguyên
- Gây ra hiện tượng quá khớp( over fiting)
- Không phù hợp với dữ liệu có cấu trúc
- Không lưu trữ được các thông tin về không gian và thời gian
Trang 171.3.3 Cấu trúc của CNN
Hình 7: Mô hình lớp kết nối đầy đủ
Hình 7 mô tả một mô hình mạng nơ-ron tích chập (CNN) CNN là mộttrong những tập hợp của lớp tích chập được chồng lên nhau CNN còn sử dụngcác hàm kích hoạt không thẳng (như ReLU và tanh) nhằm kích hoạt trọng sốtrong nút 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
Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tintrừu tượng hơn các lớp tiếp theo
Lớp tiếp theo là kết quả tích chập từ lớp trước đó, nhờ vậy mà ta có đượccác kết nối cục bộ Như vậy mỗi nơ-ron ở lớp kế tiếp sinh ra từ kết quả của bộlọc áp đặt lên một vùng ảnh cục bộ nơ-ron trước đó
Mỗi một lớp được sử dụng các bộ lọc khác nhau thông thường có hàngtrăm hàng nghìn bộ lọc như vậy và kết hợp kết quả của chúng lại Ngoài ra cómột số lớp khác như tổng hợp/lớp lấy mẫu con dùng để chắt lọc các thông tinhữu ích hơn (loại bỏ các thông tin nhiễu)
1.3.4 Thuật toán Adam
Hình 8 dưới đây thể hiện rõ mối quan hệ của thuật toán Adam và các thuậttoán khác, qua đó có thể thấy Adam là một thuật toán tối ưu hóa các hàm mụctiêu ngẫu nhiên dựa trên gradient bậc nhất và sự ước tính thích ứng của cácmoment bậc thấp Một phương pháp tối ưu hóa ngẫu nhiên hiệu quả chỉ yêu cầu
Trang 18gradient bậc nhất và bộ nhớ thấp Phương pháp này tính toán từng tỷ lệ họcthích ứng cho các tham số khác nhau
Hình 8: Mối quan hệ của thuật toán Adam
Adam sử dụng ước tính của khoảng thời gian thứ nhất và thứ hai để điềuchỉnh tốc độ học cho mỗi trọng số của mạng nơ-ron
Một trong những thành phần chính của Adam là các trung bình động trọng
số mũ (hay còn được gọi là trung bình rò rỉ) để ước lượng cả động lượng và men bậc hai của gradient Cụ thể, nó sử dụng các biến trạng thái theo công thức(2):
hóa lại các số hạng Tương tự, các biến trạng thái được chuẩn hóa như côngthức (3):
(3)Với các ước lượng thích hợp, bây giờ chúng ta có thể viết ra các phươngtrình cập nhật Đầu tiên, chúng ta điều chỉnh lại giá trị gradient, tương tự như ởRMSProp để có được công thức (4):
(4)
Trang 19Không giống như RMSProp, phương trình cập nhật sử dụng động lượng thay vì gradient Hơn nữa, có một sự khác biệt nhỏ ở đây: phép chuyển đổi đượcthực hiện bằng cách sử dụng thay vì Thông thường, ta chọn ϵ=10−6
để cân bằng giữa tính ổn định số học và độ tin cậy
Sau đó tổng hợp lại tất cả các điều trên để tính toán bước cập nhật
Khi xem xét thiết kế của Adam, ta thấy rõ nguồn cảm hứng của thuật toán.Động lượng và khoảng giá trị được thể hiện rõ ràng trong các biến trạng thái.Định nghĩa của chúng đòi hỏi ta phải giảm độ chênh lệch của các số hạng(có thể được thực hiện bằng cách tinh chỉnh một chút phép khởi tạo và điều kiệncập nhật) Thứ hai, việc kết hợp của cả hai số hạng trên khá đơn giản, dựa trênRMSProp Cuối cùng, tốc độ học tường minh η cho phép ta kiểm soát độ dàibước cập nhật để giải quyết các vấn đề về hội tụ
Trang 20Hình 10: Độ tương phản
Độ tương phản (hình 10): Độ tương phản xác định sự khác biệt giữa cácmàu sắc Đối lập cao giữa màu sáng và màu tối tạo ra độ tương phản lớn, trongkhi đối lập thấp tạo ra độ tương phản nhỏ
Hình 11: Độ bão hòa
Độ bão hòa (hình 11): Độ bão hòa xác định mức độ màu sắc pha trộn vớitrắng Màu sắc hoàn toàn bão hòa không chứa sự pha trộn với trắng, trong khimàu sắc mất đi bão hòa khi có sự pha trộn với trắng
1.5 Các bước chính của đề tài
1 Chuẩn bị dữ liệu huấn luyện: Tạo tập dữ liệu huấn luyện từ các hìnhảnh màu sắc, gán nhãn cho từng ảnh theo lớp màu tương ứng
2 Xây dựng mạng nơ-ron tích chập: Thiết kế một mô hình CNN với cáclớp Convolutional, Pooling và Fully Connected để trích xuất đặc trưng từ ảnhmàu
3 Huấn luyện mô hình: Sử dụng tập dữ liệu huấn luyện để huấn luyệnmạng nơ-ron tích chập Quá trình huấn luyện này sẽ cập nhật các trọng số vàtham số của mô hình để tối ưu hóa việc nhận diện màu sắc
4 Kiểm tra mô hình: Sử dụng tập dữ liệu kiểm tra để đánh giá hiệu suấtcủa mô hình sau khi huấn luyện
Trang 215 Đánh giá mô hình: Đánh giá mô hình dựa trên các giá trị như độ chínhxác (accuracy) và độ lệch (lost)
6 Kết luận: Đưa ra nhận xét về mô hình, đánh giá quá trình thực hiện đồ
án và nêu ra ý tưởng phát triển của nhóm
1.6 Ứng dụng của đề tài
Mô hình mạng nơ-ron có thể được sử dụng để nhận biết màu sắc trongnhiều ứng dụng khác nhau của cuộc sống như:
Hình 12: Phân loại trái cây theo màu sắc
Phân loại màu sắc sản phẩm (hình 12): Trong ngành công nghiệp và bán
lẻ, mạng nơ-ron có thể được sử dụng để phân loại màu sắc của sản phẩm Ví dụ,một mô hình có thể được huấn luyện để phân loại các loại hoa quả theo màu sắc
để phân biệt quả chín và quả chưa chín
Phân loại màu sắc trong bộ lọc màu trong các ứng dụng: Mô hình có thểđược huấn luyện để nhận biết màu sắc của các sản phẩm trong cửa hàng trựctuyến để giúp người dùng tìm kiếm và lựa chọn sản phẩm theo màu sắc mongmuốn
Hình 13: Trò chơi nhận diện màu sắc
Trang 22Phân loại màu sắc trong các ứng dụng trò chơi (hình 13): Nhận diên màusắc có thể ứng dụng trong các trò chơi về tô màu, phán đoán màu sắc giúp pháttriển tư duy cho trẻ em
1.7 Nhiệm vụ của để tài
Nhiệm vụ chính của đề tài là xây dựng thành công mô hình mạng nơrontích chập (CNN) có thể nhận diện màu sắc của ảnh một cách chính xác
Mô hình cần có khả năng học các đặc trưng của màu săc từ dữ liệu đầu vàomột cách tự động, đồng thời xử lí các ảnh phức tạp hoặc có nhiễu
1.8 Tổng kết chương 1
Chương 1 đã giới thiệu khái quát về đề tài Tiếp theo là thiết kế và lập trìnhmột mô hình mạng nơ-ron nhận diện màu sắc sẽ được trình bày trong chương 2
và chương 3 của đồ án
Trang 23CHƯƠNG 2 THIẾT KẾ MÔ HÌNH MẠNG NƠ-RON 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êu cầu chức năng
Đầu vào: Ảnh màu chứa chủ đạo một trong ba màu sắc RGB là đỏ, xanhlam và xanh lục
Đầu ra: Dự đoán được màu sắc chủ đạo của ảnh đưa vào
Yêu cầu kỹ thuật
Mạng sau khi được huấn luyện có thể dự đoán với độ chính xác đạt hơn75%
2.2 Các bước giải quyết bài toán
2.2.1 Xây dựng mô hình
Dựa vào yêu cầu của đề tài, nhóm em đã tạo thành một chương 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 và tiến hành nhận diện trong thời gian thực Sơ đồ khối thực hiện của
mô hình được thể hiện như sau:
Hình 14: Mô hình tổng quát
Hình 14 thể hiện mô hình tổng quát của mô hình mạng CNN gồm các bước thực hiện để dự đoán hình ảnh đầu vào và hiển thị kết quả màu sắc nhận diện được
ở đầu ra