F1-Chương 2 Cơ Sở Lý Thuyết Thuật toán được sử dụng trong đề tài 1 .Giới thiệu về CNN Convolutional Neural Network Convolutional Neural Network CNN là một loại mạng nơ-ron sâu được thiết
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH
KHOA KINH TẾ
BÁO CÁO CUỐI KÌ
ĐỀ TÀI:
NHẬN DẠNG VÀ PHÂN LOẠI TRÁI CÂY
Giảng viên hướng dẫn: Vũ Quang Huy Sinh viên thực hiện : Võ Công Vinh MSSV 21146536
Lê Viết An MSSV 21146422
Lớp : 21146CL04 Khóa : 2021
Hệ : Đào Tạo Chất Lượng Cao
Trang 2Thành phố Hồ Chí Minh, tháng 5 năm 2024
Trang 3Chương 1 Giới Thiệu Tổng Quan.
1 Giới thiệu
Trong lĩnh vực nông nghiệp và thương mại, việc tự động hóa quá trình nhận dạng và phân loại trái cây là một nhu cầu cấp thiết để nâng cao hiệu suất và giảm thiểu chi phí Học máy (Machine Learning) đã chứng minh khả năng vượt trội trong việc giải quyết các bài toán phân loại hình ảnh Đề tài này sẽ tập trung vào việc xây dựng một mô hình nhận dạng và phân loại trái cây sử dụng các thuật toán học máy
2 Mục tiêu
Phát triển một mô hình học máy có khả năng nhận dạng và phân loại các loại trái cây khác nhau từ hình ảnh
So sánh hiệu suất giữa các thuật toán học máy truyền thống và các phương pháp học sâu
Triển khai mô hình để ứng dụng vào các tình huống thực tế như kiểm tra chất lượng và phân loại trái cây trong chuỗi cung ứng
Thay đổi kích thước hình ảnh để đồng nhất kích thước đầu vào
Chuẩn hóa giá trị pixel để giúp mô hình học hiệu quả hơn
Áp dụng các kỹ thuật tăng cường dữ liệu như xoay, lật, và thay đổi độ sáng
3.3 Lựa chọn và xây dựng mô hình
SVM (Support Vector Machines): Sử dụng SVM với kernel thích hợp để phân loại hình
ảnh trái cây
KNN (K-Nearest Neighbors): Sử dụng KNN để phân loại dựa trên khoảng cách giữa
các điểm dữ liệu
Decision Trees và Random Forests: Xây dựng cây quyết định và sử dụng Random
Forests để cải thiện độ chính xác
Naive Bayes: Áp dụng Naive Bayes cho bài toán phân loại với các đặc trưng đơn giản.
3.4 Trích xuất đặc trưng
SIFT (Scale-Invariant Feature Transform) và SURF (Speeded-Up Robust Features):
Trích xuất các đặc trưng mạnh mẽ từ hình ảnh để sử dụng trong các thuật toán học máy
Trang 4 HOG (Histogram of Oriented Gradients): Trích xuất các đặc trưng liên quan đến
gradient hướng trong hình ảnh
3.5 Huấn luyện và tinh chỉnh mô hình
Chia tập dữ liệu thành các phần huấn luyện và kiểm thử
Sử dụng các phương pháp tối ưu hóa như Grid Search hoặc Random Search để tìm các siêu tham số tốt nhất cho các thuật toán
Đánh giá hiệu suất của mô hình bằng các chỉ số như accuracy, precision, recall và score
F1-Chương 2 Cơ Sở Lý Thuyết
Thuật toán được sử dụng trong đề tài
1 Giới thiệu về CNN (Convolutional Neural Network)
Convolutional Neural Network (CNN) là một loại mạng nơ-ron sâu được thiết kế đặc biệt để xử
lý dữ liệu có cấu trúc lưới, chẳng hạn như hình ảnh CNN được lấy cảm hứng từ cơ chế hoạt động của hệ thống thị giác ở động vật Một CNN bao gồm các lớp chính như lớp tích chập (convolutional layer), lớp pooling (pooling layer), và lớp fully connected (fully connected layer)
Ưu điểm của CNN
Trang 51 Tự động trích xuất đặc trưng: CNN có khả năng tự động học và trích xuất các đặc
trưng từ dữ liệu đầu vào mà không cần sự can thiệp của con người Điều này giúp giảm thiểu thời gian và công sức so với các phương pháp truyền thống
2 Giảm số lượng tham số: Thông qua việc sử dụng các lớp tích chập và pooling, CNN
giảm số lượng tham số cần học, giúp tránh hiện tượng overfitting
3 Khả năng tái sử dụng trọng số: Các kernel (bộ lọc) trong các lớp tích chập được sử
dụng để xử lý toàn bộ hình ảnh, giúp giảm thiểu số lượng tham số và cải thiện khả năng tổng quát hóa
4 Phù hợp với dữ liệu lớn: CNN hoạt động hiệu quả với các tập dữ liệu lớn và phức tạp,
đặc biệt là trong lĩnh vực xử lý hình ảnh và video
Nhược điểm của CNN
1 Yêu cầu tài nguyên tính toán cao: Việc huấn luyện CNN đòi hỏi nhiều tài nguyên tính
toán, bao gồm GPU và bộ nhớ lớn
2 Thời gian huấn luyện lâu: Huấn luyện các mô hình CNN lớn có thể mất nhiều thời gian,
đặc biệt là với các tập dữ liệu lớn
3 Khó khăn trong việc giải thích: Mặc dù CNN có khả năng học tốt, nhưng việc giải thích
tại sao nó đưa ra quyết định cụ thể là một thách thức
4 Cần nhiều dữ liệu gắn nhãn: Để đạt được hiệu suất cao, CNN thường cần một lượng
lớn dữ liệu gắn nhãn, điều này có thể khó khăn và tốn kém để thu thập
Ứng dụng của CNN
1 Nhận diện và phân loại hình ảnh: CNN được sử dụng rộng rãi trong nhận diện đối
tượng, phân loại hình ảnh và nhận diện khuôn mặt
2 Phân đoạn ảnh (Image Segmentation): CNN giúp chia hình ảnh thành các phần khác
nhau, chẳng hạn như trong ứng dụng y tế để phân đoạn các mô và cơ quan
3 Nhận diện văn bản trong hình ảnh (OCR): CNN được sử dụng để nhận diện ký tự và
văn bản trong hình ảnh và tài liệu
4 Xử lý video: CNN có thể áp dụng cho các nhiệm vụ như nhận diện hành động trong
video và phân tích nội dung video
5 Phát hiện dị thường: CNN được sử dụng để phát hiện các đối tượng hoặc hành vi bất
thường trong các hệ thống an ninh và giám sát
6 Xe tự hành: CNN đóng vai trò quan trọng trong việc nhận diện làn đường, biển báo giao
thông và các đối tượng khác trong môi trường xung quanh
2 Giới thiệu về Linear Regression
Linear Regression (Hồi quy tuyến tính) là một thuật toán học máy cơ bản được sử dụng để mô hình hóa mối quan hệ giữa một biến phụ thuộc (y) và một hoặc nhiều biến độc lập (X) Mục tiêu của hồi quy tuyến tính là tìm ra một đường thẳng (hoặc mặt phẳng trong trường hợp đa biến) phùhợp nhất với dữ liệu Phương trình tổng quát của hồi quy tuyến tính đơn giản là:
Trang 6Ưu điểm của Linear Regression
1 Đơn giản và dễ hiểu: Hồi quy tuyến tính là một trong những thuật toán dễ hiểu và dễ
triển khai nhất Nó cung cấp một cách tiếp cận rõ ràng và trực quan để mô hình hóa mối quan hệ giữa các biến
2 Tính tuyến tính và dễ diễn giải: Kết quả từ hồi quy tuyến tính dễ diễn giải vì các tham
số của mô hình trực tiếp biểu diễn ảnh hưởng của từng biến độc lập lên biến phụ thuộc
3 Tính toán hiệu quả: Hồi quy tuyến tính có thể được tính toán nhanh chóng ngay cả với
các bộ dữ liệu lớn, do có độ phức tạp tính toán thấp
4 Ít tham số: So với các thuật toán phức tạp hơn, hồi quy tuyến tính có ít tham số cần điều
chỉnh, giúp giảm thiểu nguy cơ overfitting (quá khớp)
Nhược điểm của Linear Regression
1 Giả định tuyến tính: Hồi quy tuyến tính giả định rằng mối quan hệ giữa biến phụ thuộc
và các biến độc lập là tuyến tính Nếu mối quan hệ không tuyến tính, mô hình có thể không chính xác
2 Nhạy cảm với nhiễu (outliers): Các điểm dữ liệu ngoại lệ có thể ảnh hưởng lớn đến mô
hình và dẫn đến kết quả không chính xác
3 Giả định độc lập: Hồi quy tuyến tính giả định rằng các biến độc lập không có mối quan
hệ tương quan mạnh với nhau (không có đa cộng tuyến) Nếu có đa cộng tuyến, kết quả
có thể trở nên không ổn định
4 Giả định về phân phối lỗi: Hồi quy tuyến tính giả định rằng các lỗi (residuals) phân phối
chuẩn và có phương sai đồng nhất Nếu các giả định này không được thỏa mãn, mô hình
có thể không hoạt động tốt
Ứng dụng của Linear Regression
1 Dự báo kinh tế: Hồi quy tuyến tính được sử dụng để dự báo các chỉ số kinh tế như GDP,
lạm phát, tỷ lệ thất nghiệp và giá cổ phiếu
2 Phân tích thị trường: Doanh nghiệp sử dụng hồi quy tuyến tính để phân tích tác động
của giá cả, quảng cáo và các yếu tố khác lên doanh số bán hàng
Trang 73 Y tế: Hồi quy tuyến tính được sử dụng để phân tích mối quan hệ giữa các yếu tố nguy cơ
(như hút thuốc, chế độ ăn uống) và các kết quả sức khỏe (như tuổi thọ, tỷ lệ mắc bệnh)
4 Khoa học xã hội: Các nhà nghiên cứu sử dụng hồi quy tuyến tính để phân tích dữ liệu
khảo sát và xác định mối quan hệ giữa các biến số xã hội, kinh tế và nhân khẩu học
5 Kỹ thuật: Hồi quy tuyến tính được sử dụng trong kỹ thuật để dự đoán và tối ưu hóa các
quá trình sản xuất và kỹ thuật
6 Tài chính: Hồi quy tuyến tính giúp mô hình hóa và dự báo các biến số tài chính như lợi
nhuận cổ phiếu, rủi ro tín dụng và lãi suất
(https://ihoclaptrinh.com/thuat-toan-machine-learning-simple-linear-regression)
Trang 83 Giới thiệu về Multi-Layer Perceptron (MLP)
Multi-Layer Perceptron (MLP) là một loại mạng nơ-ron nhân tạo (Artificial Neural Network) gồm nhiều lớp, bao gồm ít nhất một lớp ẩn giữa lớp đầu vào và lớp đầu ra MLP là một dạng của mạng nơ-ron truyền thẳng (feedforward neural network) và được huấn luyện sử dụng thuật toán lan truyền ngược (backpropagation)
Trang 9Cấu trúc cơ bản của MLP bao gồm:
Lớp đầu vào (Input Layer): Nhận dữ liệu đầu vào.
Lớp ẩn (Hidden Layer): Xử lý và trích xuất các đặc trưng từ dữ liệu đầu vào MLP có
thể có một hoặc nhiều lớp ẩn
Lớp đầu ra (Output Layer): Đưa ra kết quả cuối cùng của mô hình.
Mỗi nút (neuron) trong một lớp kết nối đầy đủ với các nút trong lớp kế tiếp, và các kết nối này cótrọng số được điều chỉnh trong quá trình huấn luyện
(https://machinelearningcoban.com/2017/02/24/mlp/)
Trang 10Ưu điểm của MLP
1 Khả năng mô hình hóa phi tuyến tính: MLP có khả năng học và mô hình hóa các mối
quan hệ phi tuyến tính giữa đầu vào và đầu ra, điều này giúp nó mạnh mẽ hơn so với các
mô hình tuyến tính
2 Linh hoạt và mạnh mẽ: MLP có thể được sử dụng cho nhiều loại vấn đề khác nhau, bao
gồm phân loại, hồi quy và nhận dạng mẫu
3 Khả năng học đặc trưng: Với nhiều lớp ẩn, MLP có thể tự động trích xuất và học các
đặc trưng quan trọng từ dữ liệu đầu vào mà không cần sự can thiệp của con người
4 Khả năng xử lý dữ liệu lớn: MLP có thể hoạt động tốt với các bộ dữ liệu lớn và phức
tạp, đặc biệt khi được kết hợp với các kỹ thuật tối ưu hóa và phần cứng mạnh mẽ như GPU
Nhược điểm của MLP
1 Yêu cầu tài nguyên tính toán cao: Việc huấn luyện MLP đòi hỏi nhiều tài nguyên tính
toán, bao gồm CPU/GPU và bộ nhớ lớn, đặc biệt khi số lượng lớp và số lượng neuron tăng lên
2 Thời gian huấn luyện lâu: Huấn luyện MLP có thể mất nhiều thời gian, đặc biệt với các
bộ dữ liệu lớn và phức tạp
3 Nguy cơ overfitting: MLP có thể dễ bị overfitting nếu không có đủ dữ liệu huấn luyện
hoặc không áp dụng các kỹ thuật phòng ngừa như regularization và dropout
4 Khó khăn trong việc chọn kiến trúc và siêu tham số: Việc xác định số lượng lớp ẩn, số
lượng neuron trong mỗi lớp, và các siêu tham số khác có thể phức tạp và đòi hỏi nhiều thử nghiệm
Ứng dụng của MLP
1 Phân loại ảnh: MLP có thể được sử dụng để phân loại các đối tượng trong ảnh, mặc dù
nó thường được sử dụng cho các bài toán đơn giản hơn so với các mạng nơ-ron tích chập (CNN)
2 Nhận diện giọng nói: MLP có thể được sử dụng trong các hệ thống nhận diện giọng nói
để phân loại các mẫu âm thanh
3 Phân tích văn bản: MLP có thể áp dụng cho các bài toán phân loại văn bản, chẳng hạn
như phân loại email thành spam hoặc không spam
Trang 114 Dự báo tài chính: MLP được sử dụng trong các mô hình dự báo tài chính, chẳng hạn như
dự đoán giá cổ phiếu hoặc rủi ro tín dụng
5 Phát hiện gian lận: Các hệ thống phát hiện gian lận trong các giao dịch tài chính hoặc
thương mại điện tử có thể sử dụng MLP để phân loại các giao dịch bất thường
6 Y tế: MLP có thể được sử dụng để phân tích dữ liệu y tế và hỗ trợ chẩn đoán bệnh dựa
trên các mẫu dữ liệu bệnh nhân
Chương 3 : Dữ liệu huấn luyện
+ Các loại trái cây phổ biến : apple , banana , orange
+ Số lượng các ảnh gốc : từ 100 – 1000 ảnh ,chụp ở các góc đọ khác nhau
+ Sử dụng các thuật toán sửa ảnh ,chỉnh ,ghép
+ Sử dung dữ liệu càng lớn , càng dễ nhận diện độ chính xác càng cao
Trang 12Chương 4: Lưu đồ thuật toán để huấn luyện mô hình
1 lưu đồ thuật toán chi tiết cho mô hình nhận dạng trái cây sử dụng Mạng nơ-ron tích chập
(CNN):
Bắt đầu
Thu thập dữ liệu hình ảnh Các loại trái cây khác nhau Tiền xử lý dữ liệu Chuyển đổi kích thước Chuẩn hóa ảnh Tăng cường dữ liệu Chia dữ liệu
Dữ liệu huấn
Dữ liệu kiểm thử
Xây dựng mô hình CNN Thiết kế kiến trúc CNN Lớp đầu vào (Input Layer) Lớp tích chập (Conv Layer) Lớp kích hoạt (ReLU) Lớp gộp (Pooling Layer) Lớp dropout Lặp lại các lớp trên (n lần) Lớp phẳng (Flatten) Lớp kết nối đầy đủ (FC Layer) Lớp đầu ra (Output Layer)
Trang 13
Biên dịch mô hình Chọn hàm mất mát (Loss) Chọn bộ tối ưu hóa (Optimizer) Định nghĩa các chỉ số (Metrics)
Huấn luyện mô hình
Sử dụng dữ liệu huấn luyện Điều chỉnh tham số mô hình Đánh giá trên dữ liệu kiểm thử
Đánh giá hiệu suất mô hình
Ma trận nhầm lẫn
Độ chính xác, độ nhạy,
độ đặc hiệu
Tinh chỉnh mô hình (nếu cần)
Triển khai mô hình Tích hợp vào ứng dụng Kiểm thử trên môi trường thực
Trang 14Giải thích lưu đồ:
+Bắt đầu: Khởi đầu quy trình.
+Thu thập dữ liệu hình ảnh: Thu thập các hình ảnh của các loại trái cây khác nhau.
+Tiền xử lý dữ liệu: Thực hiện các bước tiền xử lý như chuyển đổi kích thước hình ảnh, chuẩn
hóa ảnh để có các giá trị pixel trong cùng một khoảng, và tăng cường dữ liệu bằng cách tạo ra các biến thể của ảnh gốc
+Chia dữ liệu: Chia dữ liệu thành hai phần: dữ liệu huấn luyện để đào tạo mô hình và dữ liệu
kiểm thử để đánh giá mô hình
+Xây dựng mô hình CNN: Bước này bao gồm việc thiết kế kiến trúc của mô hình CNN.
+Thiết kế kiến trúc CNN: Bao gồm các lớp:
o Lớp đầu vào để nhận dữ liệu hình ảnh
o Lớp tích chập để trích xuất các đặc trưng từ hình ảnh
o Lớp kích hoạt (ReLU) để giới thiệu tính phi tuyến tính
o Lớp gộp để giảm chiều kích thước không gian của các đặc trưng
o Lớp dropout để tránh hiện tượng overfitting
o Lặp lại các lớp trên nhiều lần để trích xuất các đặc trưng phức tạp hơn
o Lớp phẳng để chuyển đổi dữ liệu thành dạng vector
o Lớp kết nối đầy đủ để kết hợp các đặc trưng và đưa ra dự đoán
o Lớp đầu ra để cho ra kết quả phân loại cuối cùng
+Biên dịch mô hình: Chọn hàm mất mát, bộ tối ưu hóa và các chỉ số đánh giá để chuẩn bị cho
quá trình huấn luyện
+Huấn luyện mô hình: Sử dụng dữ liệu huấn luyện để huấn luyện mô hình, điều chỉnh các tham
số và đánh giá trên dữ liệu kiểm thử
+Đánh giá hiệu suất mô hình: Đánh giá mô hình dựa trên các chỉ số như ma trận nhầm lẫn, độ
chính xác, độ nhạy và độ đặc hiệu
+Tinh chỉnh mô hình: Nếu cần thiết, tinh chỉnh mô hình để cải thiện hiệu suất.
+Triển khai mô hình: Triển khai mô hình vào ứng dụng thực tế và kiểm thử trên môi trường
thực
+ Kết thúc: Kết thúc quy trình.
Kết thúc
Trang 152 lưu đồ thuật toán Linear Regression cho mô hình nhận dạng trái cây
| - Mã hóa biến phân loại |
| - Chuẩn hóa dữ liệu
Chia dữ liệu |
| - Dữ liệu huấn luyện |
| - Dữ liệu kiểm thử
Trang 16Giải thích lưu đồ
1 Thu thập dữ liệu: Thu thập các đặc điểm của trái cây (như kích thước, màu sắc) và giá
trị cần dự đoán (như trọng lượng)
2 Tiền xử lý dữ liệu: Làm sạch dữ liệu, xử lý giá trị thiếu, mã hóa các biến phân loại,
chuẩn hóa dữ liệu để đưa các giá trị về cùng một khoảng
3 Chia dữ liệu: Chia dữ liệu thành hai phần: dữ liệu huấn luyện để đào tạo mô hình và dữ
liệu kiểm thử để đánh giá mô hình
4 Xây dựng mô hình hồi quy tuyến tính: Xác định mô hình hồi quy tuyến tính.
5 Huấn luyện mô hình: Sử dụng dữ liệu huấn luyện để huấn luyện mô hình, tối ưu hóa
hàm mất mát để tìm ra các tham số tốt nhất
Xây dựng mô hình hồi quy tuyến tính
| Huấn luyện mô hình |
| - Sử dụng dữ liệu huấn luyện
| Tinh chỉnh mô hình (nếu cần)
Triển khai mô hình |
| - Dự đoán giá trị mới |
| - Tích hợp vào ứng dụng
| Kết thúc
Trang 176 Đánh giá mô hình: Đánh giá mô hình dựa trên các chỉ số như R² (hệ số xác định), MAE
(sai số tuyệt đối trung bình), RMSE (căn bậc hai của sai số trung bình bình phương)
7 Tinh chỉnh mô hình: Nếu cần thiết, tinh chỉnh mô hình để cải thiện hiệu suất.
8 Triển khai mô hình: Sử dụng mô hình để dự đoán giá trị mới và tích hợp vào ứng dụng
thực tế
9 Kết thúc: Kết thúc quy trình.
3 lưu đồ thuật toán Multi-Layer Perceptron (MLP) mô hình nhận dạng trái cây.
Bắt đầu
| Thu thập dữ liệu hình ảnh |
| - Các loại trái cây khác nhau | | Tiền xử lý dữ liệu |
| - Chuyển đổi kích thước |
| - Chuẩn hóa ảnh |
| - Tăng cường dữ liệu |
| Chia dữ liệu thành |
| - Dữ liệu huấn luyện |
| - Dữ liệu kiểm thử |
Xây dựng mô hình MLP
| Thiết kế kiến trúc MLP |
| - Lớp đầu vào (Input Layer) |
| - Các lớp ẩn (Hidden Layers)
|
| - Lớp đầu ra (Output Layer)