Chương 1: GIỚI THIỆU: Giới thiệu, nêu rõ mục tiêu nghiên cứu, phương pháp nghiên cứu, xác định phạm vi và giới hạn đề tài, đối tượng nghiên cứu. - Chương 2: CƠ SỞ LÝ THUYẾT: Tổng quan về tình hình nghiên cứu và hướng nghiên cứu hiện tại. - Chương 3: THIẾT KẾ HỆ THỐNG: Trình bày mô hình tổng quan của hệ thống, các khối thành phần của hệ thống, thiết kế chi tiết từng khối và các thiết bị sử dụng trong các khối đó. - Chương 4: THI CÔNG HỆ THỐNG: Trình bày kết quả thi công và triển khai mô hình mô hình hệ thống.
- Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Rút ra các kết luận từ kết quả nghiên cứu, đánh giá điểm mạnh và điểm yếu của mô hình, đồng thời đề xuất hướng phát triển tiếp theo. 3 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Thị giác máy tính Thị giác máy tính là một lĩnh vực trong khoa học máy tính học có khả năng tái cấu trúc, làm gián đoạn và hiểu thông tin từ hình ảnh 2D và video, về các thuộc tính của cấu trúc có mặt tại hiện trường. Nó liên quan đến mô hình hóa và tái tạo khả năng nhìn của con người bằng máy tính.
Trong lĩnh vực máy tính, một trong những thách thức lớn từ những năm 1950 là tạo ra các máy tính có khả năng hiểu và xử lý hình ảnh và video giống con người. Thị giác máy tính đã trở thành một lĩnh vực nghiên cứu đầy hứa hẹn và thú vị trong kỹ thuật và khoa học máy tính, cũng như trong trí tuệ nhân tạo. OpenCV là một thư viện được viết bằng C++ và hỗ trợ các ngôn ngữ lập trình khác như Python và Java. Nó đã được phát triển để cung cấp các tính năng và chức năng thị giác máy tính tiêu chuẩn và trở thành một trong những thư viện quan trọng nhất trong lĩnh vực thị giác máy tính.
Với OpenCV, người dùng có thể thực hiện nhiều tác vụ như đọc và ghi ảnh từ các nguồn khác nhau, xử lý ảnh bằng các công cụ như lọc, biến đổi, điều chỉnh màu sắc và độ sáng, phát hiện cạnh, trích xuất đặc trưng và áp dụng các thuật toán máy học để nhận diện và phân loại đối tượng OpenCV có sự hỗ trợ mạnh mẽ từ cộng đồng người dùng và được sử dụng rộng rãi trong nhiều lĩnh vực như công nghệ ô tô tự động, thị giác máy tính, robotics, y tế, an ninh, và nhiều ứng dụng khác. 1 Thư viện Open CV 4 2. Tiền xử lý ảnh Tiền xử lý ảnh là quá trình chuẩn bị và xử lý dữ liệu hình ảnh trước khi áp dụng các thuật toán và phương pháp phân tích hình ảnh. Mục đích của tiền xử lý ảnh là cải thiện chất lượng dữ liệu, loại bỏ nhiễu, tăng cường đặc trưng và chuẩn bị dữ liệu cho các bước tiếp theo của quá trình xử lý hình ảnh.
Tiền xử lý ảnh trong đồ án này là một bước quan trọng để làm sạch và cải thiện chất lượng ảnh trước khi áp dụng các phương pháp thị giác máy tính và học máy. Và phương pháp nhóm thực hiện đề tài sử dụng ở đây là chuyển đổi không gian màu. Sử dụng phương pháp chuyển đổi không gian màu là một cách tiền xử lý ảnh phổ biến để tách biệt các thông tin màu sắc và đặc trưng khác tr ong ảnh. Đối với đồ án này, bạn có thể áp dụng chuyển đổi không gian màu để cải thiện quá trình phân loại chai nhựa.
Dưới đây là các bước cơ bản để thực hiện phương pháp này: - Đọc ảnh: Sử dụng OpenCV AI để đọc ảnh chai nhựa từ nguồn hình ảnh. - Chuyển đổi không gian màu: Áp dụng chức năng chuyển đổi không gian màu từ không gian màu gốc sang không gian màu khác. Ở đây nhóm đã chuyển đổi từ không gian màu RGB sang không gian màu HSV. - Trích xuất thành phần màu: Từ không gian màu mới, nhóm có thể trích xuất các thành phần màu sắc như màu sắc chính, độ bão hòa và giá trị độ sáng trong không gian màu HS.
- Xử lý và phân loại: Sau khi trích xuất các thành phần màu, nhóm đã áp dụng các phương pháp xử lý và phân loại như áp dụng ngưỡng để tách biệt các vùng màu khác nhau, hoặc sử dụng mô hình học máy để phân loại sản phẩm dựa trên các thành phần màu trích xuất. Phát hiện vật thể Phát hiện vật thể là khả năng của hệ thống máy tính và phần mềm để xác định và định vị các đối tượng trong một hình ảnh và video. Nó đã được sử dụng rộng rãi trong nhiều lĩnh vực như phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe tự lái,. Có nhiều phương pháp và thuật toán có thể được sử dụng để nhận diện đối tượng, và sự phát triển của phát hiện vật thể sẽ đến từ các lập trình viên 5 và các nhà phát triển phần mềm.
Phát hiện đối tượng là một trong những thú vị của máy tính kỹ thuật thị giác. Một trong những ứng dụng chính của đối tượng phát hiện là ô tô tự lái nơi hệ thống sử dụng máy tính tầm nhìn, công nghệ cho đa chiều đại diện cho các con đường và LADAR. Từ năm 2012, sự phát triển nhanh chóng của deep learning đã mang đến các thuật toán và phương pháp hiện đại và chính xác hơn trong object detection. Một số thuật toán nổi tiếng bao gồm R-CNN, Fast-RCNN, RetinaNet, SSD và YOLO.
Những phương pháp này dựa trên deep learning và yêu cầu kiến thức sâu về toán học và học máy. Tuy nhiên, việc tích hợp và sử dụng object detection trong các sản phẩm mới vẫn gặp khó khăn và phức tạp đối với hàng triệu chuyên gia lập trình và nhà phát triển phần mềm Sử dụng ImageAI, lập trình viên và nhà phát triển phần mềm có thể áp dụng các công nghệ phát hiện đối tượng vào các ứng dụng hiện có và mới mà không đòi hỏi nhiều mã code. ImageAI cung cấp hỗ trợ cho một danh sách các thuật toán học máy hiện đại nhất để dự đoán hình ảnh, nhận diện đối tượng và phát hiện video. Trích xuất đặc trưng Trích xuất đặc trưng là quá trình chuyển đổi dữ liệu đầu vào thành một tập hợp các đặc trưng có ý nghĩa và thông tin hữu ích để đại diện cho dữ liệu.
Mục tiêu của trích xuất đặc trưng là tạo ra một biểu diễn gọn gàng và ý nghĩa hơn cho dữ liệu ban đầu, giúp cho việc phân loại, nhận dạng và xử lý dữ liệu dễ dàng hơn. Khi làm việc với dữ liệu có một vài vấn đề thường gặp phải dữ liệu có kích thước lớn hoặc có nhiều thông tin không cần thiết. Trích xuất đặc trưng giúp con người tập trung vào các yếu tố quan trọng và loại bỏ các yếu tố không cần thiết. Điều này cũng giúp giảm chiều dữ liệu, tăng tốc quá trình xử lý và cải thiện hiệu suất của các thuật toán máy học.
Trong máy học, trích xuất đặc trưng là một bước quan trọng để làm cho dữ liệu có thể được sử dụng bởi các thuật toán học máy. Thay vì sử dụng dữ liệu đầu vào gốc, thường là dữ liệu không xử lý hoặc dữ liệu có kích thước lớn sẽ trích xuất những thông tin quan trọng từ dữ liệu đó để tạo thành một tập hợp các đặc trưng mới và biểu diễn dữ liệu dưới dạng một vectơ số có kích thước nhỏ hơn. Phân loại Phân loại là một tác vụ quan trọng trong lĩnh vực máy học nhằm xác định lớp hoặc nhãn cho một mẫu dữ liệu dựa trên thông tin và đặc trưng của mẫu đó. Mục tiêu của phân loại là xây dựng một mô hình học máy từ dữ liệu huấn luyện đã được gán nhãn, và sử dụng mô hình này để dự đoán nhãn cho các mẫu dữ liệu mới mà chưa được gán nhãn.
Quá trình phân loại thường bao gồm các bước sau: - Bước 1: Dữ liệu huấn luyện là thu thập một tập dữ liệu huấn luyện có các mẫu dữ liệu đã được gán nhãn, trong đó mỗi mẫu được mô tả bởi một tập hợp các đặc trưng. - Bước 2: Trích xuất đặc trưng là áp dụng các phương pháp và kỹ thuật để trích xuất các đặc trưng quan trọng từ dữ liệu huấn luyện. Việc chọn và trích xuất đặc trưng phụ thuộc vào loại dữ liệu và bài toán cụ thể. - Bước 3: Xây dựng mô hình là chọn và áp dụng một thuật toán học máy phù hợp để xây dựng mô hình phân loại từ dữ liệu huấn luyện và các đặc trưng đã trích xuất.
Một số thuật toán phổ biến trong phân loại bao gồm Support Vector Machine (SVM), K-nearest neighbors (KNN), Decision Tree, Random Forest, Neural Networks, và nhiều thuật toán khác. - Bước 4: Huấn luyện mô hình là sử dụng dữ liệu huấn luyện đã được gán nhãn, huấn luyện mô hình bằng cách điều chỉnh các tham số của thuật toán và tối ưu hóa hiệu suất phân loại. - Bước 5: Đánh giá mô hình bao gồm việc - Sử dụng tập dữ liệu kiểm tra, đánh giá hiệu suất của mô hình phân loại bằng cách so sánh kết quả dự đoán với nhãn thực tế. Các độ đo thông thường bao gồm độ chính xác, độ phủ, độ chính xác dương tính, và F1-score.
- Sử dụng mô hình: Áp dụng mô hình phân loại đã huấn luyện vào dữ liệu mới để dự đoán nhãn cho các mẫu chưa được gán nhãn. Tổng quan về YOLO YOLO là một mô hình nhận diện đối tượng thời gian thực được ra mắt vào năm 2016 bởi Joseph Redmon và đồng nghiệp tại Đại học Washington. YOLO nổi bật với việc xem xét toàn bộ hình ảnh một lần duy nhất để dự đoán các vùng chứa đối 7 tượng và lớp tương ứng. Trước khi YOLO xuất hiện, các phương pháp nhận diện đối tượng truyền thống thường chia nhỏ hình ảnh thành các vùng nhỏ hơn và áp dụng các bước xử lý riêng biệt cho từng vùng này.
Điều này làm giảm hiệu suất và độ chính xác, đồng thời làm tăng thời gian xử lý. YOLO đã giải quyết vấn đề này bằng cách giảm quá trình xem xét và dự đoán đối tượng chỉ trong một lần duy nhất. Phiên bản ban đầu của YOLOv5 rất nhanh chóng, hiệu quả và dễ sử dụng. Mặc dù YOLOv5 không đưa ra bất kỳ kiến trúc mô hình mới nào cho dòng YOLO, nhưng nó cung cấp một khung triển khai và đào tạo PyTorch mới nhằm nâng cao tính hiện đại cho các bộ nhận diện đối tượng.Hơn nữa, YOLOv5 cực kỳ thân thiện với người dùng và sẵn sàng sử dụng trên các đối tượng đặt làm riêng .