Tải bản đầy đủ (.docx) (20 trang)

Phân lớp hình ảnh (nhận dạng tría cây)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (788.25 KB, 20 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ

MƠN HỌC: CƠ SỞ VÀ ỨNG DỤNG AI
ĐỀ TÀI

NHẬN DẠNG TRÁI CÂY TỪ HÌNH ẢNH
DÙNG MẠNG NƠ-RON TÍCH CHẬP

Giảng viên hướng dẫn: PGS.TS. Trương Ngọc Sơn
Mã lớp học phần: AIFA436864_04
Sinh viên thực hiện:
Thái Tuấn Vũ

19161327

Trương Nguyễn Thảo Nguyên

19161269

Học kì II năm học: 2021 – 2022
TP. Thủ Đức, tháng 5 năm 2022

1


Bảng phân công thực hiện nội dung đề tài
ST
T


Nội dung

1

Chuẩn bị tập dữ liệu

2

Thiết kế vào kiểm tra mơ hình

3
4
5
6

Người thực hiện
Trương Nguyễn Thảo Nguyên
Thái Tuấn Vũ
Trương Nguyễn Thảo Nguyên
Thái Tuấn Vũ

Viết báo cáo chương 1, mục 2.1 và mục
2.2 chương 2
Viết báo cáo mục 2.2 chương 2 và
chương 3
Kiểm tra và chỉnh sữa báo cáo
Chuẩn bị Slide trình bày

Họ và tên sinh viên
Thái Tuấn Vũ

Trương Nguyễn Thảo Nguyên

Thái Tuấn Vũ
Trương Nguyễn Thảo Nguyên
Trương Nguyễn Thảo Nguyên
Thái Tuấn Vũ

Mức độ đóng góp trong đề tài
50%
50%

Link bài báo cáo do nhóm sinh viên thực hiện:

2


Danh mục bảng và hình ảnh

3


MỤC LỤC

4


Phần mở đầu
Bài toán về nhận dạng và phân loại trái cây là một trong những vấn đề cần
được nghiên cứu để đáp ứng trong việc phát triển ngành nông nghiệp, cũng như
cơng nghiệp hóa ngành chế biến và xuất khẩu trái cây. Thời gian gần đây, có nhiều

sự phát triển vượt bậc trong lĩnh vực thị giác máy tính nên phương pháp tự động
trong việc nhận dạng, phân loại và đánh giá chất lượng của các loại hoa quả đã
được đẩy mạnh nghiên cứu và đưa vào ứng dụng trong thực tế. Tuy nhiên, các
phương pháp xử lý ảnh đơn thuần vẫn chưa thật sự đáp ứng được yêu cầu của bài
tốn do cịn tồn tại một số hạn chế bởi các đặc trưng của bài toán đang được đặt ra:
số lượng chủng loại củ trái cây lớn, nhiều loại hoa quả có hình dạng, màu sắc
tương tự nhau. Để giải quyết vấn đề này, mạng nơ-ron tích chập (Convolutional
Neural Network) được xây dựng dựa trên nguyên lý phép tích chập của ảnh để tách
riêng biệt các đặc điểm của từng mẫu ảnh đưa vào dựa vào nhờ các bộ lọc trong
quá trình huấn luyện để giảm thiểu việc tính tốn.
Trong bài báo cáo này, nhóm sinh viên thực hiện xây dựng một mơ hình đơn
giản phân lớp 7 loại trái cây dựa vào cấu trúc mạng nơ-ron tích chập. Bài tốn được
xây dựng bằng ngơn ngữ Python, sử dụng Google Colap để chạy chương trình và
sử dụng thư viện hỗ trợ là TensorFlow và Keras.

5


Chương 1: Kiến trúc tổng quát mạng nơ-ron tích chập
Mạng nơ-ron tích chập hay mạng CNN (Convolutions Neural Network) là
một mơ hình mạng học sâu rất phổ biến để xử lý dữ liệu trong không gian hai chiều
và được ứng dụng hiệu quả trong lĩnh vực thị giác máy tính. Một mạng tích chập có
thể được định nghĩa là một mạng nơ-ron sử dụng tích chập thay vì phép nhân bình
thường trong ít nhất một lớp của mạng. Do đó, kiến trúc mạng tích chập cũng bao
gồm các lớp mạng tương tự như mạng nhiều lớp, nhưng phải có ít nhất một lớp sử
dụng tích chập.
Trong một mạng CNN bao gồm các lớp cơ bản sau: Lớp ngõ vào (Input layer),
Lớp chập (Convolution layer), Hàm kích hoạt cho lớp tích chập (Activation
function), Lớp gộp (Pooling layer), Lớp kết nối đầy đủ (Fully connected layers).
Các lớp này sẽ được thay đổi về số lượng cũng như trình tự sắp xếp để tạo ra các

mơ hình sao cho phù hợp nhất với những yêu cầu khác nhau của từng bài toán. Tùy
thuộc vào yêu cầu của ứng dụng mà số lượng các lớp trong mạng có thể tăng lên.
Hình 1 cho thấy kiến trúc tổng qt của mạng nơ-ron tích chập.

Hình 1: Kiến trúc tổng quát của mạng nơ-ron tích chập

Sau đây, nhóm tác giả sẽ phân tích chức năng của từng lớp:
-

Lớp ngõ vào (Input layer): có chức năng lưu dữ liệu ảnh được đưa vào. Giả
sử một ảnh có 100 điểm ảnh phân bố theo chiều ngang và 100 điểm ảnh phân
bố theo chiều dọc, độ sâu là 3 cho 3 màu đỏ, xanh lá và xanh dương sẽ có
kích thước lớp ngõ vào là 100×100×3.
6


-

-

-

Lớp chập (Convolution layer): có chức năng thực hiện phép tích chập cho
hình ảnh từ lớp trước đó. Trong đó, số lượng của bộ lọc tạo sẽ quyết định số
kênh ảnh ngõ ra. Tùy thuộc vào số lượng bộ lọc (hoặc kernel) mà ta có số
lượng ảnh ngõ ra tương ứng. Các ảnh ngõ ra này được gọi là các bản đồ đặc
điểm của ảnh (output feature map). Kernel phụ thuộc vào lớp ngõ vào,
trường hợp ảnh xám, các kernel là các bộ lọc 2D trong khi ảnh màu thì các
kernel phải là 3D cho 3 kênh R, G, B tương ứng.
Hàm kích hoạt (Activation function): Hàm ReLU thường được dùng làm

hàm kích hoạt cho lớp tích chập. Ngõ vào và ngõ ra của lớp hàm kích hoạt có
cùng kích thước.
Lớp Pooling: lớp này có chức năng giảm bớt số lượng các phần tử của
feature map từ đó làm giảm kích thước ảnh
Lớp kết nối đầy đủ (Fully connected layers): là lớp cuối cùng của mạng nơron tích chập. Các lớp kết nối đầy đủ có kiến trúc giống như các mạng nơron truyền thống. Các ma trận ngõ ra ở lớp Pooling là dạng ma trận 2 chiều
được chuyển đổi thành vector và đƣa đến lớp kết nối đầy đủ. Tùy thuộc vào
từng ứng dụng mà có thể thay đổi số lượng lớp cũng như số lượng nơ-ron
trong lớp kết nối đầy đủ.

1.1 Lớp tích chập
Có thể nói, lớp tích chập trong mạng CNN có vai trị quan trọng, cấu trúc của
lớp này sẽ thể hiện ý tưởng xây dựng sự liên kết cục bộ của các điểm ảnh. Các liên
kết này sẽ được tính tốn bằng phép tích chập giữa các bộ lọc (filters) với giá trị
của các điểm ảnh trong một vùng ảnh đang được xét.
Trong ví dụ ở Hình 2 [12], sử dụng bộ lọc có kích thước 3x3. Bộ lọc này sẽ
di chuyển lần lượt đến từng vùng ảnh cho đến khi đã thực hiện quét toàn bộ bức
ảnh và 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 phụ thuộc vào kích thước Padding (vùng trắng) thêm vào viền
của bức ảnh gốc và được tính theo cơng thức (1) [13]:

Với:

o là kích thước ảnh ở đầu ra
i là kích thước ảnh ở đầu vào
p là kích thước Padding thêm vào ảnh
k là kích thước của bộ lọc
s là bước trượt của bộ lọc
7



Hình 2: Ví dụ về bộ lọc tích chập

Hình 3: Trường hợp có Padding và khơng Padding vào ảnh khi dùng

Hình 3 [2] cho thấy sự khác nhau giữa hai trường hợp có thêm viền trắng và
khơng thêm Padding vào ảnh khi thực hiện phép tích chập. Sau khi đưa một ảnh từ
lớp ngõ vào đến lớp tích chập sẽ có được đầu ra là một loạt ảnh mới có đặc tính phụ
thuộc vào các bộ lọc đã được dùng để thực hiện phép tích chập.Ban đầu, các bộ lọc
có trọng số được khởi tạo ngẫu nhiên và sẽ được cập nhật dần suốt quá trình huấn
luyện để đạt hiệu quả tốt nhất.
1.2 Lớp hàm kích hoạt
Sau khi thực hiện phép tích chập ở lớp tích chập, chúng ta có được một ma
trận bao gồm các giá trị dương và không dương. Các giá trị này được đưa qua các
hàm kích hoạt để hiệu chỉnh . Lớp hàm kích hoạt được xây dựng với ý nghĩa đảm
bảo được tính phi tuyến của mơ hình đang thực hiện huấn luyện sau khi tiến hành
các phép tính tốn tuyến tính thơng qua các lớp Tích chập.. Trong những hàm kích
8


hoạt (ReLU, Sigmoid, Tanh….), hàm ReLU được sử dụng với lý do cài đặt đơn
giản, tốc độ xử lý nhanh mà vẫn đảm bảo được tính tốn hiệu quả. Đặc điểm đơn
giản của hàm ReLU là nó lọc bỏ đi các giá trị âm, tức là các giá trị bé hơn hoặc
bằng 0 sẽ được gán bằng 0 và các giá trị lớn hơn 0 được giữ nguyên. Đồ thị hàm
ReLU được mơ tả trong Hình 4 [1]. Thơng thường, hàm ReLU được dùng ngay sau
lớp tích chập, với ảnh đầu ra có cùng kích thước với ảnh đầu vào, các giá trị điểm
ảnh bé hơn ) sẽ được chuẩn hóa bằng 0.
1.3 Lớp pooling
Lớp Pooling cũng được xem là một
lớp tính tốn quan trọng trong mạng CNN,
vị trí của lớp này là sau lớp Tích chập và


Hình 5: Phương pháp Average Pooling và Max Pooling

Hình 4: Biểu thức cùng đồ thị hàm kích hoạt ReLU

lớp ReLU. Lớp Pooling giúp giảm kích thước của ảnh nhưng vẫn đảm bảo các đặc
tính quan trọng, nổi bật của ảnh được đưa vào. Khi đã giảm kích thước hình ảnh sẽ
giúp làm giảm được số lượng tham số và việc tính tốn cũng trở nên đơn giản hơn.
Lớp pooling cũng sử dụng một cửa sổ trượt để quét toàn bộ ảnh để lựa chọn lưu lại
một giá trị đại diện cho toàn bộ thơng tin của vùng ảnh đó. Hình 5 trình bày hai
phương pháp: lấy giá trị điểm ảnh lớn nhất (Max Pooling ) và lấy giá trị trung bình
của các điểm ảnh trong vùng ảnh (Average Pooling )là 2 phương pháp lấy mẫu
thường dùng nhất trong lớp Pooling [3].

9


1.4 Lớp kết nối đầy đủ
Lớp kết nối đầy đủ có cấu trúc tương tự như trong mạng nơ-ron thơng
thường, tất cả các điểm ảnh được kết nối đầy đủ với nơ ron trong lớp kế tiếp. Điểm
khác biệt lớn với mạng nơ-ron thơng thường là kích thước các ảnh đầu vào của lớp
này đã được giảm bớt rất nhiều nhưng các thơng tin quan trọng của hình ảnh dùng
để nhận dạng vẫn được giữ ngun. Chính vì điều này việc tính tố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 thông thường. Lớp kết nối đủ sử dụng mạng nhiều lớp với hàm kích
hoạt softmax cho lớp nơ-ron ngõ ra. Ngõ vào của các lớp kết nối đủ là các vector
một chiều. Do đó, các ma trận lớp pooling cuối cùng phải được chuyển thành
vector trước khi đưa đến lớp kết nối đủ minh họa ở Hình 6 [1].

Hình 6: Chuyển đổi từ ma trận sang vector cho lớp kết nối đầy đủ


10


Chương 2: Thiết kế và thực thi ứng dụng nhận dạng trái cây
2.1 Mô tả tập dữ liệu
Tập dữ liệu gồm có 984 ảnh, một phần được sưu tầm từ google, một phần
được sưu tầm từ kaggle [4], vì thế, các hình ảnh có kích thước khơng đồng đều. Tập
dữ liệu được chia thành 2 thư mục “Train” với 672 hình ảnh và thư mục “Test” với
276 hình ảnh để upload lên Google Drive. Mục đích chia tập mẫu thành 2 tệp là các
ảnh trong thư mục “Train” dùng làm dữ liệu gốc để máy học và các ảnh nằm trong
thư mục “Test” khác các ảnh ở thư mục “Train” để đưa vào mơ hình sau khi đã học
xong các ảnh ở thư mục “Train”, để giúp mơ hình tiếp tục học và đánh giá được độ
chính xác. Trong mỗi thư mục “Train” và “Test” các ảnh sẽ được phân vào 7 vào
thư mục con tương ứng với 7 loại trái cây nhóm mong muốn mơ hình nhận dạng
được: Cam, Chuối, Dưa hấu, Khế, Táo, Thanh long và Thơm. Bảng 1 trình bày chi
tiết số lượng từng loại quả trong các tập dữ liệu. Hình 7 minh họa cho các loại trái
cây mà nhóm thực hiện đề tài sử dụng trong mơ hình.

Hình 7: Các loại trái cây sử dụng trong mơ hình

Bảng 1: Số lượng từng loại trái cây trong tập Train và tập Test

11


2.2 Sơ đồ khối thiết kế
Với ứng dụng phân lớp 7 loại trái cây gồm: Cam, Chuối, Dưa hấu, Khế, Táo,
Thanh long và Thơm, nhóm tác giả đưa ra sơ đồ khối của ứng dụng như Hình 8.
Mơ hình sử dụng hai lớp tích chập (theo sau mỗi lớp tích chập là lớp MaxPoling)

và 5 lớp ẩn, 1 lớp ngõ ra ở lớp mạng kết nối đầy đủ. Các khối có chức năng cụ thể
như sau:
-

-

Khối Resize có chức năng định dạng lại hình ảnh với kích thước 100x100.
Khối lớp tích chập 1 và 2 thực hiện phép chập các ảnh được đưa vào với bộ
lọc có kích thước 3x3, sử dụng 32 bộ lọc cho các ảnh ngõ vào để tạo ra 32
ma trận feature map khác nhau và sử dụng hàm kích hoạt ReLU.
Khối MaxPooling có chức năng lấy giá trị lớn nhất trong từng vùng ảnh với
cửa sổ pooling là 2x2, bước trượt bằng 2.
Khối Flatten để chuyển ngõ ra biểu diễn hình ảnh ở dạng ma trận sang dạng

Fully connected 1
Flatten
32, ReLU
MaxPooling 2x2
connected output
ully connectedFully
2 connected 3 Fully connected 4 Fully connected Fully
5
7, ReLU
64, ReLU
128, ReLU
256, ReLU
256, ReLU

-


vector để phù hợp hơn trong việc dùng làm ngõ vào cho lớp Fully Connected
1 có 32 nơ-ron.
Các khối Fully Connected 1, 2, 3, 4, 5 và output là các lớp kết nối đầy đủ
với số lượng nơ-ron lần lượt là: 32, 64, 128, 256, 256 và 7 ; kèm theo hàm
kích hoạt ReLU.

Hình 8: Sơ đồ khối thiết kế

12


2.3 Thực thi thiết kế
2.3.1 Tải tập dữ liệu lên Google Drive
Trước hết, cần tải tập dữ liệu gồm 2 thư mục “Train”và “Test” được mô tả ở
mục 2.1 lên Google Drive như Hình 9. Trong mỗi tập “Train” và “Test” sẽ có 7 thư
mục con bên trong, các thư mục con này chứa hình ảnh các loại trái cây với tên
tương ứng như Hình 10.

Hình 9: Các thư mục con chứa hình ảnh

2.3.2 Định dạng lại kích thước ảnh
Đầu tiên sẽ tiến hành liên kết với Google Drive lưu trữ tập mẫu và khai báo
các thư viện cần sử dụng trong q trình xây dựng mơ hình với các dịng lệnh thực
hiện tại Google CoLab như Hình 11.
Hình 10: Tải hai thư mục train và test lên Google Drive

13


Hình 11: Code liên kết với Google Drive và khai báo thư viện


Các ảnh đã được lưu trữ tại Google Drive sẽ lần lượt được đưa vào khối
“Resize” của mô hình, tại đây các ảnh sẽ được chuẩn hóa dưới dạng nhị phân và do
các ảnh khơng cùng kích thước nên sẽ được điều chỉnh đồng bộ với kích thước
100x100px với các câu lệnh thực thi trên Google Colab như Hình 12.

Hình 12: Code thực hiện chuẩn hóa ảnh ngõ vào

14


2.3.3 Xử lý hình ảnh
Các ảnh sau khi đã chuẩn hóa kích thước sẽ được đưa lần lượt sang khối
“Tích chập” và khối “Max Pooling” 2 lần liên tục. Đối với khối “ Tích chập” thì
thơng số filters = 32 nghĩa là sử dụng 32 bộ lọc cho các ảnh ngõ vào để tạo ra 32
ma trận feature map khác nhau, kernel_size = 3 để xác định kích thước cửa sổ chập
là 3x3 và hàm kích hoạt được dùng tại đây là hàm ReLU. Đối với khối “Max
Pooling” thì thơng số pool_size = 2 để xác định kích thước cửa sổ trượt là 2x2
trong mỗi cửa sổ trượt giá trị lớn nhất sẽ được giữ lại điều này sẽ làm giảm kích
thước ảnh và lấy được những điểm nổi bật của hình ảnh và strides = 2 là giá trị
bước trượt của cửa sổ trượt. Hình 13 thể hiện rõ các câu lệnh tương ứng với quá

Hình 13: Code thực hiện Tích chập và Pooling hình ảnh

trình vừa nêu.
Sau khi thực hiện tích chập và MaxPooling hình ảnh, lúc này ảnh có dạng ma
trận nên cần phải chuyển thành dạng vec-tơ trước khi đưa vào mạng nơ-ron ở lớp
kết nối đầy đủ thơng qua khối “Flatten” với câu lệnh trình bày ở Hình 14.

Hình 14: Code thực hiện chuyển hình ảnh sang dạng vec-tơ


15


2.3.4 Training mơ hình
Cuối cùng dữ liệu sẽ được đưa qua lớp “Kết nối đầy đủ” để thực hiện quá
trình học, tại đây mạng nơ rơn được xây dựng có 5 lớp ẩn với các lớp ẩn đều dùng
hàm kích hoạt là hàm ReLU, với lớp ẩn thứ nhất có 32 nơ-ron, lớp ẩn thứ hai có 64
nơ-ron, lớp ẩn thứ ba có 128 nơ-ron, lớp ẩn thứ tư và lớp ẩn thứ 5 có 256 nơ-rơn
trong mỗi lớp. Sau đó dữ liệu sẽ qua lớp ngõ ra với hàm kích hoạt là hàm Softmax
với số nơ-ron cũng như số ngõ ra là 7 tương ứng với 7 nhóm trái cây sẽ được phân
loại, hàm kích hoạt là SoftMax để các ngõ ra có phân bố xác suất làm tăng độ liên
kết giữ các ngõ ra vì tổng xác suất của các ngõ ra luôn bằng 1 và kết quả mong
muốn là ngõ ra tương ứng với từng nhóm trái cây sẽ cao nhất trong 7 ngõ ra và thứ
tự của ngõ ra cao nhất sẽ trùng với thứ tự loại trái cây được dự đoán. Chi tiết code
của quá trình này được biểu diễn trong Hình 15.

Hình 15: Code thực hiện training ở lớp kết nối đầy đủ

Sau khi thực hiện xây dựng được mơ hình thì sẽ tiến hành trainning từ chính
mơ hình vừa xây dựng với tập mẫu lấy từ thư mục “Train” để cập nhật các giá trị
của trọng số sao cho sai số là nhỏ nhất có thể và kiểm tra lại mơ hình bằng các hình
ở tệp “Test” để tiếp tục cập nhật trọng số và đánh giá tính chính xác với số lần thực
hiện bằng giá trị gán cho thông số epochs =15. Sau khi kết thúc q trình học, mơ
hình nhận dạng trái cây sử dụng mạng tích chập sẽ được lưu lại vào Google Drive.
Các câu lệnh tương ứng quá trình này biểu diễn trong Hình 16.
Để kiểm tra lại độ chính xác của mơ hình thì tiến hành tải lại mơ hình

Hình 16: Code thực hiện việc huấn luyện mơ hình và lưu lại mơ hình đã được huấn luyện


model1.5 vừa lưu tại Google Drive. Sau đó, tải hình ảnh dùng để kiểm tra vào
Google Colab sau đó đồng bộ kích thước ảnh 100x100 và chuyển thành nhị phân
rồi lưu trữ các giá trị sau khi xử lí ảnh dưới dạng vec-tơ rồi cho hiển thị ảnh ra màn
hình. Tiếp theo sẽ đưa ảnh sau khi chuẩn hóa vào mơ hình cnn vừa tải từ Google
Drive để tìm ra vị trí ngõ ra có giá trị gần bằng nhất và in ra tên loại trái cây tương
ứng vị trí đó thơng qua một mảng được tạo trước đó dùng để lưu tên các loại trái
16


cây theo thứ tự các ngõ ra của mạng nơ-ron tích chập. Các lệnh thực hiện q trình
này ở Hình 17.

Chương 3: Kết quả và thảo luận
3.1 Kết quả
Từ Hình 18, có thể thấy rằng trong q trình huấn luyện mạng nơ-ron tích
chập 15 lần (epoch=15) thì sau mỗi lần học xong sẽ in ra loss, accurate là lỗi và độ
chính xác khi dùng các ảnh trong thư mục “Train” đưa vào mạng nơ-ron tích chập,
val_loss, val_accurate là lỗi và độ chính xác khi dùng các ảnh trong thư mục “Test”
đưa vào mạng cnn. Sau hoàn tất 15 lần huấn luyện, nhìn chung loss và val_loss

Hình 17: Code kiểm tra hoạt động của mơ hình nhận dạng trái cây
Hình 18: Kết quả huấn luyện mơ hình

giảm , accurate và val_accurate tăng từ đó có thể nhận xét được là quá trình học
của mơ hình đạt u cầu và hiệu quả khá cao biểu hiện rõ khi độ chính xác ban đầu
chỉ đạt khoảng 38% đối với mẫu ở thư mục “Train”, 60% đối với mẫu ở thư mục
“Test” và khoảng 94% đối với mẫu ở thư mục “Train”, 95% đối với mẫu ở thư
mục “Test”.

17



Nhóm sinh viên thực hiện kiểm tra hoạt động của mơ hình vừa xây dựng
bằng cách đưa ảnh của 9 loại trái cây khác nhau vào mơ hình thì kết quả nhận được
như Hình 19, 7 loại trái cây nằm thuộc 7 nhóm trái cây nhóm lựa chọn cho mạng
cnn học thì mơ hình đã nhận dạng đúng nhưng trái ổi và trái măng cụt khơng thuộc
nhóm trái cây nhóm lựa chọn nên mạng đưa ra kết quả là loại trái có thuộc tính
tương tự: trái măng cụt có màu sắc giống trái thanh long và trái ổi có màu sắc giống
trái chuối nên mơ hình đã phân trái măng cụt vào nhóm “Thanh long” và phân trái
ổi vào nhóm “Chuối”.

Hình 19: Kết quả nhận dạng các loại trái cây

3.2 Hạn chế của đề tài và hướng phát triển
Trong quá trình kiểm tra nhiều lần, nhóm sinh viên thực hiện đề tài nhận thấy
mơ hình nhóm xây dựng thì một số hạn chế vẫn cịn tồn tại, mơ hình đơi khi cịn
nhầm lẫn giữa các nhóm trái cây có chung một số đặc điểm như màu sắc, hình
dạng… một phần là do tập dữ liệu nhóm thu thập chưa đủ lớn. Ngoài ra khi nhận
18


dạng một lúc có nhiều loại quả trong hình ảnh đưa vào thì kết quả chỉ nhận được
một loại quả.
Để hồn thiện hơn mơ hình vừa xây dựng, nhóm tác giả đề xuất cải thiện về
chất lượng cũng như số lượng của tập mẫu, nghiên cứu và phát triển để mơ hình có
thêm chức năng nhận dạng và đưa ra tên của các loại trái cây trong cùng một bức
ảnh, hơn thế nữa là có thể tính tốn được cân nặng của từng loại quả đưa vào cũng
như là tình trạng của quả đó ( sống hay chín, cịn sử dụng được không…).

19



Tài liệu tham khảo
[1] Trương Ngọc Sơn, Giáo trình Trí tuệ nhân tạo cơ sở và ứng dụng, Nhà xuất bản
Đại học Quốc gia Tp. Hồ Chí Minh – 2020, 93 – 113.
[2] Sik-Ho Tsang.(2/16/2019), Review: DRN-Dilated Residual Networks,vvvvvvvv
/>[3] Samer Hijazi, Rishi Kumar, and Chris Rowen. (2015). Image Recognition
Using Convolutional Neural Networks. Cadence Whitepaper, 1–12, truy cập ngày
19/5/2022, />[4] Kaggle, truy cập ngày 22/5/2022.

20



×