--- --- BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: ỨNG DỤNG DEEP LEARNING XÂY DỰNG HỆ THỐNG PHÂN LOẠI TRÁI CAM ĐẠT VÀ KHÔNG ĐẠT CHẤT LƯỢNG DỰA VÀO CÁC ĐẶC ĐIỂM QUẢ Sinh viên thực hiện:
Trang 1- -
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
ỨNG DỤNG DEEP LEARNING XÂY DỰNG
HỆ THỐNG PHÂN LOẠI TRÁI CAM ĐẠT VÀ KHÔNG ĐẠT CHẤT LƯỢNG DỰA VÀO CÁC
ĐẶC ĐIỂM QUẢ
NGUYỄN NGỌC HOÀI
BIÊN HÒA, THÁNG 11/2018
Trang 2- -
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
ỨNG DỤNG DEEP LEARNING XÂY DỰNG
HỆ THỐNG PHÂN LOẠI TRÁI CAM ĐẠT VÀ KHÔNG ĐẠT CHẤT LƯỢNG DỰA VÀO CÁC
ĐẶC ĐIỂM QUẢ
Sinh viên thực hiện: NGUYỄN NGỌC HOÀI Giáo viên hướng dẫn: Th.S Nguyễn Minh Sơn
BIÊN HÒA, THÁNG 11/2018
Trang 3LỜI CẢM ƠN
Em xin chân thành cám ơn tất cả các giảng viên trường Đại Học Lạc Hồng, các thầy cô khoa Công Nghệ Thông Tin đã giảng dạy và hướng dẫn chúng em trong suốt thời gian chúng em theo học tại trường
Em xin gởi lời cảm ơn đến Th.S Nguyễn Minh Sơn, là giáo viên đã tận tình hướng dẫn chúng em hoàn thành đề tài nghiên cứu khoa học này
Em xin gửi lời cảm ơn đến giáo viên phản biện, người đã tận tình giúp em có thể hoàn thành cuốn báo cáo này một cách tốt nhất
Em xin cám ơn các thầy, các cô trong khoa Công Nghệ Thông Tin đã có những ý kiến đóng góp trong các buổi báo cáo tiến độ
Ngoài ra em xin cám ơn thầy Tạ Nguyễn, giáo viên chủ nhiệm lớp 14SE111
và các bạn trong lớp cùng toàn thể gia đình và người thân đã giúp đỡ, động viên chúng em trong quá trình thực hiện đề tài này
Với vốn kiến thức còn hạn chế cùng những điều kiện khách quan không cho phép, đề tài của em khó tránh khỏi những thiếu sót cũng như chưa đáp ứng đầy đủ các yêu cầu Do đó em hy vọng tiếp tục nhận được những ý kiến đóng góp và hướng dẫn của quý thầy cô để đề tài của em được hoàn thiện hơn
Em xin chân thành cảm ơn
Biên Hòa, tháng 11 năm 2018 Sinh viên thực hiện
Nguyễn Ngọc Hoài
Trang 4MỤC LỤC
LỜI CẢM ƠN I MỤC LỤC II DANH MỤC BẢNG IV DANH MỤC HÌNH IV
PHẦN MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Tình hình nghiên cứu 1
2.1 Ngoài nước 1
2.2 Trong nước 2
3 Mục tiêu nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 2
4.1 Đối tượng nghiên cứu 2
4.2 Phạm vi nghiên cứu 3
5 Phương pháp nghiên cứu 3
6 Những đóng góp mới của đề tài và vấn đề mà đề tài chưa thực hiện được 3
6.1 Những đóng góp mới 3
6.2 Những vấn đề chưa thực hiện được 3
7 Kết cấu của đề tài 3
Chương 1 : Tổng quan lý thuyết 5
1.1 Tổng quan về học máy 5
1.1.1 Machine learning là gì? 5
1.1.2 Các phương pháp học máy 5
1.1.3 Giới thiệu về phương pháp học máy Supervised Learning 5
a) Supervised Learning là gì? 5
b) Phân loại Supervised Learning 6
1.2 Keras 6
1.2.1 Keras là gì? 6
1.2.2 Một số khái niệm cơ bản của Keras 6
a) Khái niệm model trong keras 6
b) Layer trong model 6
c) Sequential model 7
d) CNN-Convolutional Neural Network 7
1.3 Giới thiệu về một số phần mềm và thư viện sử dụng trong đề tài 8
1.3.1 Python 3.6.0 trên Raspberry Pi 8
1.3.2 Phần mềm FileZilla và Putty 8
1.3.3 Thư viện OpenCV 8
Trang 51.3.4 Thư viện Tensorflow 8
1.3.5 Thư viện Matplotlib 8
1.3.6 Thư viện Imutils 9
1.3.7 Thư viện RPI.GPIO 9
1.4 Tiểu kết 9
Chương 2 : Thiết kế và xây dựng hệ thống 10
2.1 Thiết kế phần cứng hệ thống 10
2.1.1 Bảng danh sách các thiết bị của hệ thống 10
2.1.2 Thông tin chức năng các thiết bị của hệ thống 11
2.2 Thiết kế phần mềm 14
2.2.1 Cài đặt các thư viện hỗ trợ trên Raspberry Pi và máy tính 14
a) Cài đặt Python3 14
b) Cài đặt thư viện OpenCV 14
c) Cài đặt thư viện Tensorflow 15
d) Cài đặt các thư viện hỗ trợ khác 15
2.2.2 Xây dựng hệ thống thu thập dữ liệu trên Raspberry Pi 15
2.2.3 Xây dựng chương trình đào tạo trên máy tính 19
a) Tổ chức dữ liệu trước khi cho học máy 19
b) Xây dựng mô hình đào tạo 20
c) Tiến hành cho học máy 22
2.2.4 Thử nghiệm kết quả đào tạo trên Raspberry Pi 19
a) Kết quả thử nghiệm trên Raspberry Pi 22
b) So sánh kết quả thử nghiệm trên Raspberry Pi và trên Laptop 22
2.4 Tiểu kết 23
Chương 3 : Xây dựng hệ thống thực nghiệm 24
3.1.Xây dựng hệ thống thực nghiệm 24
3.1.1 Lắp ráp thiết bị Error! Bookmark not defined 3.1.2.Quy trình hoạt động của hệ thống Error! Bookmark not defined 3.1.3.Tiểu kết Error! Bookmark not defined 3.2 Kết quả thu được sau các lần thực nghiệm 26
3.2.1 Kết quả thu được sau khi thực nghiệmError! Bookmark not defined 3.2.2 Giải thích kết quả thu được Error! Bookmark not defined 3.2.3 Rút ra kết luận Error! Bookmark not defined 3.3 Tiểu kết 29
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 6DANH MỤC BẢNG
Bảng 2-1: Bảng danh sách các thiết bị của hệ thống 10
Bảng 2-2: Thông tin Raspberry Pi 11
Bảng 2-3: Thông tin Camera Logitech C310 12
Bảng 2-4: Thông tin Camera Pi V2 13
Bảng 2-5: Các thiết bị còn lại của hệ thống 14
Bảng 2-6: Quá trình thu thập dữ liệu 19
Bảng 2-7: Thông tin tập dữ liệu học máy trong đề tài 19
Bảng 3-1: Kết quả so sánh thử nghiệm trên Raspberry và trên máy tính 25
Bảng 3-2: Bảng kết quả thực nghiệm lần 1 27
Bảng 3-3: Bảng kết quả thử nghiệm lần 2 28
Bảng 3-4: Danh sách đánh giá hệ thống Error! Bookmark not defined DANH MỤC HÌNH Hình 1.1: Phân loại học máy 5
Hình 1.2: Phân loại thuật toán Supervised Learning 6
Hình 1.3: Ví dụ về cách sử dụng Sequential model 7
Hình 1.4: Ví dụ về cách sử dụng Sequential model 7
Hình 1.5: Ví dụ về cách sử dụng function API 7
Hình 1.6: Các lớp của mô hình CNN 7
Hình 2.1: Raspberry Pi 3 model B 11
Hình 2.2: Camera Logitech C310 12
Hình 2.3: Camera Pi V2 13
Hình 2.4: Cấu tạo bên ngoài hệ thống 15
Hình 2.5: Cấu tạo bên trong hệ thống 16
Hình 2.6: Quả cam đạt chất lượng 16
Hình 2.7: Quả cam không đạt chất lượng 17
Hình 2.8: Quy trình thu thập dữ liệu 17
Hình 2.9: Code thu thập dữ liệu hình ảnh của hệ thống 19
Hình 2.10: Các lớp của mô hình đào tạo 20
Hình 2.11: Code xây dựng mô hình trong Keras 21
Hình 2.12: Quy trình đào tạo dữ liệu học máy 22
Hình 2.13: Tiến trình đào tạo trên cửa sổ console 22
Hình 2.14: Đồ thị của quá trình đào tạo dữ liệu 23
Trang 7Hình 3.1: Các đối số của chương trình nhận diện cam trên Raspberry 24
Hình 3.2: Các hàm xử lý ảnh khi nhận diện cam 24
Hình 3.3: Xử lý nhận diện cam 25
Hình 3.4: Quy trình thu thập ảnh 25
Hình 3.5: Quy trình nhận diện quả cam 26
Hình 3.6: Quy trình phân loại quả cam 26
Hình 3.7: Phân loại cam thực nghiệm 27
Trang 8PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Việt Nam là một nước có nền nông nghiệp phát triển Các sản phẩm nông nghiệp đang dần khẳng định giá trị và được xuất khẩu ra các nước khác trên thế giới Trong đó cam là một loại trái cây được trồng nhiều ở Việt Nam với các vùng trồng cam nổi tiếng như Cam Cao Phong Hòa Bình, Cam sành Hà Giang, Cam Xoàn Lai Vung, Cam Sành Hàm Yên Sau khi thu hoạch những quả cam này chủ yếu được phân loại bằng con người hoặc nếu số lượng lớn có thể được phân loại bằng máy móc theo dây chuyền Đặc điểm của những máy móc này là chi phí cao
và phân loại sản phẩm theo từng giai đoạn Và vấn đề đặt ra là có một phương pháp nào có thể cải tiến các loại máy móc đó hay không
Con người có khả năng nhận diện phân biệt các đồ vật, vật dụng bằng mắt thường và trong thời đại hiện nay máy móc cũng có thể làm được việc đó Phương pháp đó được gọi là học máy (Machine Learning) Những ứng dụng của học máy đối với con người thực sự rất nhiều và để giải quyết bài toán phân loại là hoàn toàn
có thể Deep Learning một phần của Machine Learning, nó có thể dự đoán kết quả đầu ra dựa vào một tập các hình ảnh đầu vào Để cho việc xây dựng một một hệ thống học máy trở nên đơn giản các thư viện học máy được ra đời như: TensorFlow, Keras, Scikit-learn, Theano, Caffe
Trong những thư viện học máy này, Thư viện Keras là một thư viện mã nguồn
mở được phát triển vào năm 2015 viết bằng ngôn ngữ python với những ưu điểm sau:
- Keras có thể sử dụng cùng với các thư viện khác như TensorFlow, Theano
- Dễ sử dụng, xây dựng model nhanh
- Có thể chạy trên cả CPU và GPU
Deep Learning cũng đang là một mảng mà các công ty lớn trên thế giới theo đuổi Với những ứng dụng của nó mang lại là rất lớn Vì vậy phương pháp này có thể được áp dụng cho nhiều loại trái cây khác nhau hoặc nhiều sản phẩm khác nhau
2 Tình hình nghiên cứu
2.1 Ngoài nước
Trên thế giới hiện nay, tại các nước tiên tiến trên thế giới như: Mỹ, Nhật Bản, Hàn Quốc… Các hộ nông dân, cũng như các công ty xuất nhập khẩu đều sử dụng máy phân loại trái cây vào công đoạn sau thu hoạch, nhằm lựa và phân loại chất lượng trái cây được đồng đều về trọng lượng, màu sắc, kích cỡ, độ ngọt, độ chua, hình dáng…Deep Learning cũng đang được ứng dụng rất nhiều trong nông nghiệp trên thế giới cụ thể:
Trong bài báo [9] nói về Machine Learning trong nông nghiệp với các ứng dụng như: Quản lý quá trình phát triển của cây trồng, phát hiện sâu bệnh trên cây trồng và phát hiện cỏ dại
Trang 9Trong bài báo [10] nói về cách phân loại xoài bằng thị giác máy tính phân loại 2 loại xoài là Nam Dokmail và Maha Chanok
Trong đó một ví dụ cụ thể về việc chàng kỹ sư người Nhật Makoto Koike dùng Deep Learning để phân loại dưa leo trong bài báo số [8]
Nước ta cũng đã sản xuất được các loại máy cơ giới có thể phân loại nhanh
và chính xác nhưng việc ứng dụng thị giác máy tính vào việc phân loại trái cây vẫn
là một lĩnh vực mới
Trong bài báo số[11] nói về hệ thống sơ chế và phân loại chanh xuất khẩu của nông dân Long An
3 Mục tiêu nghiên cứu
Đề tài thực hiện với các mục tiêu:
Tìm hiểu về thư viện Keras và thư viện OpenCV
Tìm hiểu về Raspberry Pi và cách cài đặt các thư viện trên Raspberry Pi
Xây dựng hệ thống thu thập dữ liệu
Xây dựng được bộ dữ liệu ảnh của đối tượng nghiên cứu
Xây dựng chương trình đào tạo bằng phương pháp học có giám sát
Xây dựng chương trình sử dụng mô hình đã đào tạo kiểm tra độ chính xác
Xây dựng hệ thống phân loại cam với bộ xử lý trung tâm là Raspberry Pi
4 Đối tượng và phạm vi nghiên cứu
4.1 Đối tượng nghiên cứu
Phương pháp học máy
Thư viện học máy Keras
Thư viện xử lý ảnh OpenCV
Thư viện GPIO điều khiển đèn và nút nhấn
Trái cam thường có vỏ màu xanh
Trang 104.2 Phạm vi nghiên cứu
Môi trường nghiên cứu: Phòng B304 với đầy đủ các thiết bị
Điều kiện ánh sáng: Hệ thống phải được gắn đèn led trắng để đảm bảo độ sáng
Số lượng ảnh thu thập được của mỗi quả cam là 12 ảnh
Tổng số lượng ảnh thu thập được 3000 ảnh gồm 1500 ảnh cam đạt chất lượng
và 1500 ảnh cam không đạt chất lượng
Trái cam thuộc giống cam miền Tây thường có màu xanh đậm, có hình dáng tròn, có vỏ mỏng, ruột màu vàng đỏ đặc trưng, cùi dày và có hạt
Quả cam được đặt đúng vị trí nằm trong khoảng tiêu cự của camera
5 Phương pháp nghiên cứu
Nghiên cứu về cách thu thập dữ liệu hình ảnh về trái cam bằng Raspberry Pi
Nghiên cứu phương pháp sử dụng dữ liệu thu thập kết hợp với các thư viện OpenCV, Keras để đào tạo thử nghiệm trên máy tính
Nghiên cứu phương pháp tăng độ chính xác cho mô hình đào tạo
Thực nghiệm hệ thống trên thực tế
6 Những đóng góp mới của đề tài và những vấn đề mà đề tài chưa thực hiện được
6.1 Những đóng góp mới
Áp dụng phương pháp học có giám sát vào việc phân loại trái cam
Có thể tích hợp hệ thống vào quy trình phân loại trái cam
Là một giải pháp giúp người tiêu dùng lựa chọn trái cây khi mua
Áp dụng phương pháp phân loại bằng hình ảnh cho nhiều ứng dụng trong đời sống
6.2 Những vấn đề chưa thực hiện được
Chưa xây dựng được ứng dụng trên thiết bị di động
Chưa thu thập được số lượng lớn ảnh của nhiều loại cam khác nhau
Chưa so sánh được về trọng lượng của những quả cam
7 Kết cấu của đề tài
Đề tài được chia làm ba phần: phần mở đầu, phần nội dung và phần kết luận
Phần mở đầu
Nêu lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu cũng như những đóng góp mới của đề tài Cũng chỉ ra mặt hạn chế mà đề tài chưa thực hiện được để có thể tiếp tục phát triển đề tài
Phần nội dung chính: gồm 3 chương
Trang 11Chương 1: Tổng quan lý thuyết
Trong chương này tác giả sẽ trình bày tổng quan về Machine Learning và
Deep Learning, các phương pháp đào tạo học máy giám sát, học máy không
giám sát… Đồng thời sẽ giới thiệu về thư viện học máy Keras và một số thư viện
mà tác giả đã sử dụng trong đề tài cùng với chức năng của những thư viện đó
Chương 2: Thiết kế và xây dựng hệ thống
Trong chương này tác giả trình bày chi tiết về các thiết bị phần cứng, cách
kết nối các thiết bị phần cứng Phương pháp xây dựng các phần mềm điều khiển
hệ thống, quy trình thu thập dữ liệu hình ảnh trái cam của hệ thống, xây dựng
chương trình đào tạo trên máy tính
Chương 3: Thực nghiệm hệ thống trong thực tế
Trong chương này tác giả nêu quy trình hoạt động của hệ thống trong thực
tế, các bảng số liệu thu thập trong quá trình thử nghiệm Nhận xét các kết quả thu
được
Phần kết luận
Đưa ra những kết luận và kiến nghị về chương trình đã xây dựng
Trang 12Chương 1 : Tổng quan lý thuyết
1.1 Tổng quan về học máy
1.1.1 Machine learning là gì?
Machine learning là một phần của trí tuệ nhân tạo (AI) cho phép các ứng dụng phần mềm tự học hỏi dựa trên dữ liệu đầu vào mà không cần được lập trình cụ thể
Tiền đề cơ bản của việc học máy là xây dựng các thuật toán có thể nhận dữ liệu đầu vào và sử dụng phân tích thống kê để dự đoán một giá trị đầu ra trong phạm
hiện đề tài vì phương pháp này
cho phép tác giả có thể kiểm soát
Supervised Learning là một hệ thống được cung cấp trước đầu vào và đầu ra
Dữ liệu đầu vào và đầu ra được phân loại và dán nhãn để tạo cơ sở cho quá trình xử lý dữ liệu trong tương lai
Ví dụ: Trong đề tài của tác giả, dữ liệu đầu vào là hai thư mục ảnh gồm 1500 ảnh được thu thập từ 125 quả cam đạt chất lượng và 1500 ảnh được thu thập từ
125 quả cam không đạt chất lượng Tên của hai thư mục cũng chính là nhãn được gán cho tập dữ liệu đầu vào
Hình 1.1: Phân loại học máy
Trang 13b) Phân loại Supervised Learning
Thuật toán Supervised Learning
Regression: Kết quả trả về là một số
thực dao động trong (−∞,∞) Ví dụ:
Các hệ thống dự đoán giá xăng, giá cổ
phiếu, giá nhà đất Dựa vào các giá
trị trước đó để tìm ra mối quan hệ giữa
các biến từ đó suy luận ra kết quả
Thuật toán Supervised Learning
Classification: Kết quả trả về của nó là
một trong tất cả các nhãn hệ thống đã
được học Ví dụ: Trong hệ thống nhận
diện phân loại cam gồm có hai thư
mục ảnh là cam không đạt và cam đạt
khi cho một tấm ảnh vào hệ thống sẽ xuất
ra kết quả là cam không đạt hoặc cam đạt
Hiện tại Keras hỗ trợ trên 3 nền tảng:
Trên máy tính: Hộ trợ Windows, Linux, Mac OS Chạy trên CPU hoặc GPU
Trên hệ thống nhúng: Hỗ trợ trên Raspberry Pi
Phần hướng dẫn cài đặt sẽ được tác giả trình bày ở mục 0
1.2.2 Một số khái niệm cơ bản của Keras
a) Khái niệm model trong keras
Model là kết quả thu được sau khi đào tạo một tập dữ liệu bất kì
Để xây dựng được một model dữ liệu phải đi qua nhiều lớp xử lý
Model sau khi đào tạo là một file có đuôi h5
b) Layer trong model
Là các lớp xử lý dữ liệu trong model
Khi đi qua các lớp này giá trị output sẽ thay đổi theo các tham số truyền vào
Có thể có nhiều layer trong model càng nhiều layer model càng phức tạp
Hình 1.2: Phân loại thuật toán Supervised Learning
Trang 14c) Sequential model
- Là một cách để tạo model trong Keras
- Có thể tạo các lớp của model bằng cách truyền vào danh sách các lớp như ví dụ bên dưới:
Trang 15Giải thích các thuật ngữ trong mô hình CNN
Convolution+ Relu nhân tích chập ma trận ảnh cho các ma trận ngẫu nhiên có kích thước là các tham số truyền vào, Relu chuyển các giá trị nhỏ hơn 0 về 0
Max pooling tìm và lấy ra giá trị lớn nhất trong mỗi ma trận nhỏ
Fully connected layer có tác dụng sắp xếp các giá trị của một khối các
ma trận trên một đường thẳng
Softmax có thể tạo ra các khả năng xảy ra của một hình ảnh
1.3 Giới thiệu về một số phần mềm và thư viện sử dụng trong đề tài
1.3.1 Python 3.6.0 trên Raspberry Pi
Python là một ngôn ngữ lập trình bậc cao được sử dụng rộng rãi trong lĩnh vực Machine Learning :
1.3.2 Phần mềm FileZilla và Putty
FileZilla là một phần mềm kết nối FTP cho phép máy tính kết nối với Raspberry Pi để download và upload file qua lại giữa hai thiết bị Có thể chạy trên các hệ điều hành Windows, Linux, Mac OS
Putty là phần mềm được dùng để điều khiển Raspberry Pi thông qua mạng internet sử dụng giao thức SSH
1.3.3 Thư viện OpenCV
OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn
mở về thị giác máy tính, được phát hành dưới giấy phép BSD, miễn phí cho cả việc học tập lẫn thương mại Hỗ trợ lập trình trên các ngôn ngữ: C ++, C, Python
và Java Có thể cài đặt trên các nền tảng Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để mang lại hiệu quả trong việc tính toán và tập trung mạnh vào các ứng dụng thời gian thực
Trong đề tài này, tác giả sử dụng OpneCV để thay đổi hình ảnh trước khi học máy và thay đổi ảnh trước khi nhận diện Hướng dẫn cài OpenCV trên Raspberry
Pi và trên máy tính sẽ được tác giả trình bày trong mục Error! Reference source not found
1.3.4 Thư viện Tensorflow
Tensorflow là một thư viện mã nguồn mở do nhóm Google Brain phát triển, cung cấp khả năng xử lý tính toán số học dựa trên biểu đồ mô tả sự thay đổi của
dữ liệu Trong đề tài này Tensorflow đóng vai trò là một backend hỗ trợ cho Keras
1.3.5 Thư viện Matplotlib
Matplotlib là một thư viện vẽ đồ thị Python 2D Matplotlib có thể được sử dụng trong các mã Python, Python và Ipython shell, các máy chủ ứng dụng web Matplotlib là một lựa chọn tùy chọn để hiển thị khung hình từ video hoặc hình ảnh Đây cũng là lý mục đích của tác giả cài thư viện này Hướng dẫn cài đặt thư viện này được tác giả trình bày ở mục 0
Trang 161.3.6 Thư viện Imutils
Là một thư viện hỗ trợ các chức năng xử lý ảnh cơ bản như dịch, xoay, thay đổi kích thước Dễ dàng kết hợp với OpenCV và Python
1.3.7 Thư viện RPI.GPIO
Thư viện dùng để điều khiển GPIO của Raspberry Pi bằng Python
1.4 Tiểu kết
Qua chương này, tác giả đã nêu lên một số cơ sở lý thuyết và một số thư viện, phần mềm được sử dụng trong đề tài Trong chương tiếp theo, tác giả sẽ tiến hành xây dựng mô hình hệ thống, xây dựng chương trình thu thập dữ liệu, tiến hành cho học máy thử nghiệm
Trang 17Chương 2 : Thiết kế và xây dựng hệ thống
Để xây dựng hệ thống học máy sử dụng Keras, tác giả chia ra bốn bước sau:
Thiết kế phần cứng của hệ thống
Thiết kế phần mềm
Thu thập dữ liệu hình ảnh 3 chiều của quả cam từ 3 camera
Xử lý hình ảnh trước khi cho học máy
Học máy thử nghiệm trên máy tính
Trước khi tiến hành thực hiện các bước này, tác giả cần cài đặt môi trường lập trình và một số thư viện cần thiết Sau đây là quy trình xây dựng hệ thống
2.1 Thiết kế phần cứng hệ thống
2.1.1 Bảng danh sách các thiết bị của hệ thống
Bảng 2-1: Bảng danh sách các thiết bị của hệ thống
Trang 182.1.2 Thông tin chức năng các thiết bị của hệ thống
a) Raspberry Pi 3 model B
Hình 2.1: Raspberry Pi 3 model B
Bảng 2-2: Thông tin Raspberry Pi
Số lượng Thông số kỹ thuật Chức năng trong hệ thống
chipset running at 1.2 GHz
64-bit quad-core ARM Cortex-A53
Được cài đặt hệ điều hành Debian,
Python3 và các thư viện
hỗ trợ cho việc học máy
Trang 19b) Camera Logitech
Hình 2.2: Camera Logitech C310
Bảng 2-3: Thông tin Camera Logitech C310
Số lượng Thông số kỹ thuật Chức năng trong hệ thống
2 Độ phân giải tối đa:
720p/30fps Loại tiêu cự: lấy nét cố định
Công nghệ thấu kính:
tiêu chuẩn Micrô tích hợp: đơn âm Trường ngắm: 60°
Kẹp phổ dụng phù hợp với máy tính xách tay, LCD hoặc màn hình
Hai camera được kết nối với Raspberry Pi qua cổng USB Chụp ảnh quả cam ở hai mặt bên của quả cam khi nhận tín hiệu từ
hệ thống