Trần Quang Huy,người đã tận tình hướng dẫn, hỗ trợ và truyền đạt những kiến thức, kinh nghiệm quý báu đểchúng em hoàn thành đề tài "Phân loại ớt chuông theo màu sắc bằng phương pháp thị
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
Trang 21. LỜI CẢM ƠN
Trước tiên, nhóm chúng em xin bày tỏ lòng biết ơn sâu sắc đến Thầy TS Trần Quang Huy,người đã tận tình hướng dẫn, hỗ trợ và truyền đạt những kiến thức, kinh nghiệm quý báu đểchúng em hoàn thành đề tài "Phân loại ớt chuông theo màu sắc bằng phương pháp thị giácmáy tính" Sự nhiệt huyết và tận tâm của Thầy đã không chỉ giúp chúng em vượt qua nhữngkhó khăn trong nghiên cứu mà còn truyền cảm hứng cho chúng em trong lĩnh vực trí tuệnhân tạo và thị giác máy tính
Chúng em cũng xin cảm ơn Khoa Kỹ Thuật – Công Nghệ và Nhà trường đã tạo điều kiện về
cơ sở vật chất, tài liệu tham khảo cũng như các nguồn tài nguyên cần thiết, giúp nhóm cómôi trường học tập và nghiên cứu thuận lợi
Bên cạnh đó, nhóm xin gửi lời cảm ơn đến các thầy cô, bạn bè và những cá nhân đã đónggóp ý kiến, động viên và hỗ trợ chúng em trong suốt quá trình thực hiện đề tài
Mặc dù đã cố gắng hoàn thiện, nhưng đề tài không tránh khỏi những thiếu sót Nhóm rất mong nhận được sự đóng góp ý kiến từ Thầy, các thầy cô và bạn bè để nghiên cứu này cóthể tiếp tục được phát triển trong tương lai
Một lần nữa, chúng em xin chân thành cảm ơn!
(Sinh viên thực hiện)
Trang 32. NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
ĐÁNH GIÁ CỦA GIẢNG VIÊN CHẤM BÁO CÁO
Xác nhận (Ký và ghi rõ họ tên) Xác nhận (Ký và ghi rõ họ tên)
Trang 43 MỤC LỤC
Contents
1. LỜI CẢM ƠN 2
2. NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 3
3 MỤC LỤC 4
4 CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI 5
1.1 Giới thiệu tổng quát về đề tài 5
1.2 Tính cấp thiết của đề tài 5
1.3 Mục tiêu nghiên cứu của đề tài 7
1.4 Đối tượng và phạm vi nghiên cứu 7
1.4.1 Đối tượng nghiên cứu 7
1.4.2 Phạm vi nghiên cứu 8
1.5 Phương pháp nghiên cứu 8
Thu thập dữ liệu 8
Tiền xử lý dữ liệu 8
Trích xuất đặc trưng 8
Phân loại màu sắc 9
Kiểm nghiệm và đánh giá 9
Ứng dụng thực tế 9
5 CHƯƠNG 2 PHƯƠNG PHÁP NGHIÊN CỨU 9
1 2.1 Phần mềm Pycharm 9
2 2.2 Phần Mềm DroiCam 12
3 2.3 Sơ đồ khối và nguyên lý hoạt động 15
1 2.3.1 Sơ đồ khối 15
2 2.3.2 Nguyên lý hoạt động 15
4 2.4 Lưu đồ giải thuật 16
6 CHƯƠNG 3 PHÂN TÍCH PHƯƠNG PHÁP NGHIÊN CỨU 17
1 3.1 Thư viện được sử dụng 17
Các tính năng chính của NumPy 19
2 3.2 Phương hướng thực hiện 19
1 3.2.1 Khai báo các thư viện 19
2 3.2.2 Kết nối với Camera DroidCam 20
3 3.2.3 Định nghĩa các ngưỡng màu trong không gian HSV 21
4 3.2.4 Vòng lặp chính, đọc khung hình 23
5 3.2.5 Giảm kích thước khung hình 23
6 3.2.6 Chuyển đổi không gian màu sang HSV 23
7 3.2.7 Tạo mặt nạ (Mask) 23
8 3.2.8 Lọc nhiễu trong mặt nạ 24
Trang 53.2.9 Tìm các đường viền ( Contours) 24
3.2.10 Xử lý từng đường viền 24
3.2.11 Hiển thị kết quả 24
3.3 Lựa chọn giải pháp tối ưu hơn 25
7 CHƯƠNG 4 KẾT LUẬN 25
Ưu điểm: 25
Những mặt hạn chế: 25
Những thứ cần cải thiện: 25
Code Pycharm: 26
8 TÀI LIỆU THAM KHẢO 28
MỤC LỤC HÌNH ẢNH Hình 4-1 Một số dây chuyền phân loại sản phẩm 6
Hình 5-1 Biểu tượng Pycharm 11
Hình 5-2 Biểu tượng Droicam 14
Hình 5-3 Sơ đồ khối 16
Hình 5-4 Lưu đồ giải thuật 18
Hình 6-1 Biểu tượng Open-cv 18
Hình 6-2 Biểu tượng Numpy 20
Hình 6-3 Các thư viện đã được khai báo 21
Hình 6-4 Kết quả sau khi kết nối máy tính với camera smartphone 22
Hình 6-5 Bảng màu HSV 23
Trang 6-4 CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI
1.1 Giới thiệu tổng quát về đề tài
Trong thời đại công nghiệp hóa và tự động hóa hiện nay, việc áp dụng công nghệ thị giác máy tính vào nông nghiệp đang ngày càng trở nên phổ biến và mang lại nhiều giá trị thực tiễn Một trong những ứng dụng tiêu biểu là việc sử dụng hệ thống thị giác máy tính để phân loại sản phẩm nông nghiệp theo các tiêu chí như
kích thước, hình dạng, và màu sắc Đề tài "Phân loại ớt chuông theo màu sắc"
là một ví dụ điển hình cho sự kết hợp giữa công nghệ và nông nghiệp thông minh
Ớt chuông (Capsicum annuum) là một loại rau củ quan trọng, không chỉ được sử dụng rộng rãi trong ẩm thực mà còn có giá trị cao trong xuất khẩu Quá trình phân loại ớt chuông theo màu sắc, như đỏ, vàng, xanh, không chỉ giúp cải thiện chất lượng sản phẩm mà còn tối ưu hóa quá trình đóng gói và phân phối Tuy nhiên, việc phân loại bằng phương pháp thủ công thường tốn thời gian, thiếu chính xác,
và không hiệu quả khi áp dụng trên quy mô lớn
Bằng cách sử dụng các phương pháp thị giác máy tính, hệ thống phân loại tự động dựa trên màu sắc có thể giải quyết các vấn đề này một cách hiệu quả Hệ thống không chỉ nhận diện màu sắc nhanh chóng và chính xác mà còn có khả năng tích hợp vào các dây chuyền sản xuất công nghiệp, từ đó tăng năng suất và giảm chi phí vận hành
Hình CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI-1 Một số dây chuyền phân loại sản phẩm
1.2 Tính cấp thiết của đề tài
Trang 7Đề tài "Phân loại ớt chuông theo màu sắc" là một nghiên cứu có tính cấp thiết cao, xuất phát
từ nhu cầu thực tế trong các lĩnh vực sản xuất nông nghiệp, chế biến và xuất khẩu nông sản Những lý do chính cho tính cấp thiết của đề tài bao gồm:
Nhu cầu tự động hóa trong nông nghiệp:
o Trong bối cảnh cuộc cách mạng công nghiệp 4.0, việc áp dụng công nghệ hiện đại vào sản xuất nông nghiệp ngày càng trở nên phổ biến Tuy nhiên, tại nhiều nơi, các quy trình phân loại nông sản, bao gồm ớt chuông, vẫn chủyếu dựa vào lao động thủ công, dẫn đến năng suất thấp và độ chính xác không cao
o Hệ thống tự động phân loại ớt chuông dựa trên màu sắc sẽ giúp cải thiện đáng kể hiệu suất, giảm sự phụ thuộc vào lao động tay chân, đặc biệt trong các giai đoạn cao điểm sản xuất và thu hoạch
Đáp ứng tiêu chuẩn thị trường:
o Trong ngành nông sản, màu sắc của ớt chuông là một yếu tố quan trọng để phân loại chất lượng và giá trị thương mại Các thị trường lớn như châu Âu,
Mỹ, và Nhật Bản có những yêu cầu khắt khe về độ đồng nhất và chất lượngsản phẩm, bao gồm màu sắc
o Việc phân loại chính xác theo màu sắc không chỉ nâng cao giá trị của sản phẩm mà còn tạo uy tín và tăng khả năng cạnh tranh trên thị trường quốc tế
Giảm chi phí và thời gian xử lý:
o Quá trình phân loại thủ công thường tốn nhiều thời gian, đòi hỏi nhiều nhâncông, và dễ xảy ra sai sót Hệ thống tự động hóa không chỉ giảm chi phí vận hành mà còn rút ngắn thời gian phân loại, giúp tối ưu hóa quy trình sản xuất
Ứng dụng của công nghệ thị giác máy tính:
o Thị giác máy tính đã chứng minh được khả năng ứng dụng rộng rãi trong nhiều lĩnh vực, từ công nghiệp, y tế đến nông nghiệp Việc áp dụng công nghệ này vào bài toán phân loại ớt chuông sẽ là một bước tiến quan trọng, vừa giải quyết bài toán thực tế, vừa mở ra cơ hội nghiên cứu sâu hơn trong lĩnh vực này
o Đề tài cũng là cơ hội để sinh viên và nhà nghiên cứu thực hành và phát triển các kỹ thuật xử lý ảnh, học máy, và trí tuệ nhân tạo, đáp ứng xu hướngcông nghệ hiện đại
Góp phần phát triển bền vững nông nghiệp:
Trang 8o Sử dụng công nghệ phân loại giúp giảm thiểu lãng phí trong chuỗi cung ứng, nâng cao chất lượng sản phẩm và giảm tác động tiêu cực đến môi trường thông qua việc tối ưu hóa tài nguyên.
1.3 Mục tiêu nghiên cứu của đề tài
Xây dựng một hệ thống thị giác máy tính có khả năng phân loại ớt chuông theo màu sắc chính xác và hiệu quả
Ứng dụng các kỹ thuật xử lý ảnh như trích xuất đặc trưng, phân tích màu sắc và phân loại dựa trên thuật toán học máy
Đánh giá hiệu quả của hệ thống thông qua các chỉ số như độ chính xác, thờigian xử lý, và khả năng hoạt động trong môi trường thực tế
1.4 Đối tượng và phạm vi nghiên cứu
1.4.1 Đối tượng nghiên cứu
Trong đề tài "Phân loại ớt chuông theo màu sắc", các đối tượng nghiên cứu bao gồm:
Ớt chuông (Capsicum annuum):
o Ớt chuông được chọn làm đối tượng chính của nghiên cứu, tập trung vào bamàu sắc đặc trưng phổ biến:
Màu xanh (Green): Thường là giai đoạn đầu của ớt chuông chưa chín
Màu vàng (Yellow): Giai đoạn ớt chuyển dần sang chín
Màu đỏ (Red): Giai đoạn chín hoàn toàn, thường có giá trị cao hơn
o Các biến thể về màu sắc, kích thước, và hình dạng của ớt chuông cũng sẽ được xem xét để đảm bảo hệ thống phân loại có khả năng hoạt động trong các điều kiện thực tế
Hình ảnh ớt chuông:
o Dữ liệu hình ảnh của ớt chuông được thu thập làm cơ sở để xử lý và phân tích Hình ảnh bao gồm:
Các ảnh chụp ớt chuông trong điều kiện ánh sáng khác nhau
Góc chụp và vị trí ớt chuông đa dạng để kiểm tra khả năng nhận diện
o Hình ảnh sẽ được xử lý bằng các phương pháp thị giác máy tính để trích xuất thông tin về màu sắc
Đặc trưng màu sắc:
o Màu sắc của ớt chuông là đặc trưng chính để phân loại Mô hình sẽ dựa vàokhông gian màu (như RGB, HSV) để trích xuất và phân tích đặc trưng màu sắc
o Các yếu tố ảnh hưởng đến màu sắc, như ánh sáng môi trường, bóng đổ, cũng được nghiên cứu để cải thiện độ chính xác của hệ thống
Hệ thống thị giác máy tính:
Trang 9o Nghiên cứu về quy trình tổng thể bao gồm:
Thu thập dữ liệu (hình ảnh ớt chuông)
Tiền xử lý dữ liệu (loại bỏ nhiễu, chuẩn hóa màu sắc)
Trích xuất đặc trưng và phân loại
Hiển thị kết quả và đánh giá hiệu suất
1.4.2 Phạm vi nghiên cứu
Nghiên cứu chủ yếu tập trung vào việc phân loại theo màu sắc, không xét đến các yếu tố khác như kích thước, hình dạng hoặc chất lượng bên trong của ớt chuông
Nghiên cứu ứng dụng trên quy mô nhỏ, có thể mở rộng cho hệ thống thực
tế trong tương lai1.5 Phương pháp nghiên cứu
Thu thập dữ liệu
Nguồn dữ liệu:
o Hình ảnh của ớt chuông ở ba màu chủ đạo (đỏ, xanh lá, vàng) được thu thập từ thực tế (chụp ảnh) hoặc từ các nguồn trực tuyến
o Hình ảnh đa dạng về góc chụp, điều kiện ánh sáng, và nền ảnh để đảm bảo
hệ thống hoạt động tốt trong các điều kiện khác nhau
Tiền xử lý dữ liệu
Chuyển đổi không gian màu:
o Hình ảnh được chuyển từ không gian màu BGR sang HSV, một không gianmàu dễ xử lý hơn để phân tích đặc trưng màu sắc
Tạo mặt nạ màu (Color Mask):
o Sử dụng các phạm vi màu HSV để tạo mặt nạ (mask), giúp cô lập các pixel thuộc từng màu cụ thể:
Đỏ (Red): Sử dụng hai phạm vi màu HSV để bao phủ toàn bộ phổ màu đỏ
Xanh lá (Green): Phạm vi màu xanh lá cây từ nhạt đến đậm
Vàng (Yellow): Phạm vi màu vàng từ sáng đến tối
Trích xuất đặc trưng
Tính toán diện tích màu:
o Dùng cv2.countNonZero() để đếm số lượng pixel trong mỗi mặt nạ, tương ứng với diện tích của từng màu
So sánh diện tích:
o So sánh diện tích màu đỏ, xanh lá, và vàng để xác định màu sắc chiếm ưu thế trong mỗi hình ảnh
Trang 10 Phân loại màu sắc
Quy tắc phân loại:
o Màu sắc chiếm ưu thế được xác định dựa trên diện tích lớn nhất trong ba màu (đỏ, xanh lá, vàng)
o Màu sắc được hiển thị trên ảnh với nhãn thích hợp (Red, Green, hoặc Yellow)
Hiển thị và lưu kết quả:
o Kết quả được hiển thị trực tiếp qua giao diện OpenCV
o Có thể mở rộng để lưu kết quả vào file CSV hoặc lưu ảnh đã được gắn nhãnvào thư mục riêng
Kiểm nghiệm và đánh giá
Kiểm tra trên tập dữ liệu kiểm thử:
o Hệ thống được áp dụng trên một tập dữ liệu kiểm thử để đánh giá độ chính xác
Đánh giá hiệu suất:
o Độ chính xác (Accuracy): Tỷ lệ ảnh được phân loại đúng
o Tốc độ xử lý: Thời gian xử lý trung bình cho mỗi ảnh
Trang 11Hình CHƯƠNG 2 PHƯƠNG PHÁP NGHIÊN CỨU-2 Biểu tượng Pycharm
❖ PyCharm là gì?
PyCharm là một nền tảng hybrid được JetBrains phát triển như một IDE cho
Python Nó thường được sử dụng để phát triển ứng dụng Python Một số tổ chức kỳ lân như Twitter, Facebook, Amazon và Pinterest cũng sử dụng PyCharm làm IDE Python củahọ!
Chúng ta có thể chạy PyCharm trên Windows, Linux hoặc Mac OS Ngoài ra, nó chứa các module và các package giúp các lập trình viên phát triển phần mềm bằng Pythontiết kiệm thời gian và công sức Hơn nữa, nó cũng có thể được tùy chỉnh theo yêu cầu củacác nhà phát triển
❖ Các tính năng của PyCharm:
➢ Trình sửa code thông minh
• Giúp chúng ta viết mã chất lượng cao hơn
• Nó bao gồm các lược đồ màu (color schemes) cho từ khóa, lớp vàhàm Điều này giúp tăng khả năng đọc và hiểu mã
Trang 12• Với điều hướng mã, lập trình viên có thể dễ dàng điều hướng đến mộthàm, lớp hoặc tệp
• Một lập trình viên có thể xác định vị trí một phần tử, một ký hiệu hoặcmột biến trong mã nguồn trong thời gian ngắn
• Hơn nữa, bằng cách sử dụng chế độ thấu kính, nhà phát triển có thểkiểm tra và vá lỗi toàn bộ mã nguồn một cách kỹ lưỡng
➢ Tái cấu trúc :
• Nó có lợi thế là thực hiện các thay đổi hiệu quả và nhanh chóng đối với
cả biến cục bộ (local variables) và biến toàn cục (global variables)
• Tái cấu trúc trong PyCharm cho phép các nhà phát triển cải thiện cấutrúc bên trong mà không thay đổi hiệu suất bên ngoài của code
• Pycharm cũng giúp phân chia các lớp và chức năng mở rộng tốt hơnvới sự trợ giúp của phương pháp trích xuất
➢ Hỗ trợ cho nhiều công nghệ web khác :
• Nó giúp các nhà phát triển tạo các ứng dụng web bằng Python
• Nó hỗ trợ các công nghệ web phổ biến như HTML, CSS vàJavaScript
• Các nhà phát triển có lựa chọn chỉnh sửa trực tuyến với IDE này Đồngthời, họ có thể xem trước trang web đã cập nhật/đã tạo
• Các nhà phát triển có thể theo dõi các thay đổi trên trình duyệt webtrực tiếp
• PyCharm cũng hỗ trợ AngularJS và NodeJS để phát triển các ứngdụng web
➢ Hỗ trợ cho các web framework Python phổ biến :
• PyCharm hỗ trợ các web framework như Django
• Cung cấp tính năng tự động điền và gợi ý cho các thông số củaDjango
• Giúp vá lỗi các code của Django
• Hỗ trợ các web framework thông dụng như web2py và Pyramid
➢ Hỗ trợ cho Thư viện Khoa học Python :
Trang 13• PyCharm hỗ trợ các thư viện khoa học của Python như Matplotlib,NumPy và Anaconda
• Các thư viện khoa học này giúp xây dựng các dự án về Khoa học Dữliệu và Học máy
• Hỗ trợ các biểu đồ tương tác giúp các nhà phát triển hiểu dữ liệu tốthơn
• Nó có khả năng tích hợp với những công cụ khác nhau như IPython,Django và Pytest Sự tích hợp này giúp thúc đẩy các giải pháp độc đáo
❖ Ưu và nhược điểm của việc sử dụng PyCharm :
➢ Ưu điểm :
• Cài đặt PyCharm rất dễ dàng
• PyCharm là một IDE dễ sử dụng
• Có rất nhiều plugin hữu ích và phím tắt hữu ích trong PyCharm
• PyCharm tích hợp các tính năng của thư viện và IDE như tự động hoàn thành
và tô màu
• Nó cho phép xem mã nguồn trong một cú nhấp chuột
• Tiết kiệm thời gian phát triển phần mềm
• Tính năng đánh dấu lỗi trong code giúp nâng cao hơn nữa quá trình phát triển
• Cộng đồng các nhà phát triển Python vô cùng lớn và chúng ta có thể giảiquyết các thắc mắc/ nghi ngờ của mình một cách dễ dàng
➢ Nhược điểm :
• PyCharm không miễn phí và phiên bản Professional của nó khá đắt
• Tính năng tự điền (auto-complete) sẽ không tốt cho các lập trình viên newbie
• Nó có thể gây ra sự cố trong khi sửa chữa các công cụ như venv
2 2.2 Phần Mềm DroiCam
Trang 14Hình CHƯƠNG 2 PHƯƠNG PHÁP NGHIÊN CỨU-3 Biểu tượng Droicam
DroidCam là một phần mềm miễn phí có thể biến điện thoại di động và máy tính bảng thành webcam Phần mềm miễn phí này yêu cầu ứng dụng webcam không dây DroidCamđược cài đặt trên thiết bị di động và một thành phần PC Client đang chạy trên máy tính Mọi người cần cả ứng dụng dành cho thiết bị di động và PC Client vì client cần cài đặt driver webcam để kết nối máy tính với thiết bị di động
❖ Ứng dụng webcam thân thiện với người dùng :
DroidCam là một phần mềm đa nền tảng và nhẹ, có quy trình thiết lập dễ dàng, thựchiện bằng cách cài đặt ứng dụng DroidCam và ứng dụng khách Trong khi phiên bản Pro