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

điều khiển và giám sát hệ thống phân loại cà chua bằng arduino kết hợp labview

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 (3.33 MB, 81 trang )

MỤC LỤC

1


LIỆT KÊ HÌNH

LIỆT KÊ BẢNG

2


TÓM TẮT
Trái cây nói chung hay cà chua nói riêng có màu sắc, mùi vị, thành phần dinh
dưỡng khác nhau theo các giai đoạn phát triển của trái và ngoài ra kích thước giữa các
trái cà chua cũng có sự khác biệt lớn. Tuỳ theo mục đích sử dụng ứng với từng giai
đoạn phát triển, kích thước của trái cà chua mà các nhà máy, hệ thống hoạt động trong
lĩnh vực thu mua cà chua, chế biến các sản phẩm từ cà chua sẽ phải có quy trình phân
loại cà chua để đảm bảo nguyên liệu cà chua đầu vào đạt mục đích sử dụng. Nhận
thấy những vấn đề trên mà nhóm đã lựa chọn đề tài:
“ ĐIỀU KHIỂN VÀ GIÁM SÁT HỆ THỐNG PHÂN LOẠI CÀ CHUA BẰNG
ARDUINO KẾT HỢP LABVIEW “.
Trong đề tài này, sử dụng camera Logitech C270 để thu ảnh và được xử lý ảnh
bằng phần mềm Labview (nhận diện cà chua theo màu sắc, kích thước, cà chua lỗi).
Sau đó, giao tiếp Arduino Uno với Labview để nhận tín hiệu nhận diện cà chua thu
thập được từ camera. Tiếp đó, Arduino sẽ điều khiển cơ cấu phân loại để phân loại cà
chua vào các hộp khác nhau theo từng loại cà chua. Cuối cùng, dữ liệu hệ thống sẽ
được lưu vào database (Mysql) và cho phép truy vấn dữ liệu đó từ website
(Wordpress) của hệ thống.

3




CHƯƠNG 1. TỔNG QUAN

CHƯƠNG 1. TỔNG QUAN
1.1. ĐẶT VẤN ĐỀ
Trong các nhà máy, doanh nghiệp sản xuất, chế biến, phân loại các sản phẩm
liên quan đến cà chua thì khâu phân loại và phát hiện lỗi cà chua là một khâu quan
trọng, ảnh hưởng trực tiếp đến chất lượng và năng suất sản xuất. Trước kia, việc phân
loại và phát hiện lỗi cà chua được thực hiện chủ yếu dựa vào sức người, công việc này
đòi hỏi sự tập trung cao và lặp đi lặp lại trong một khoảng thời gian dài khiến công
nhân khó có thể đảm bảo tính chính xác và năng suất công việc không được cao.
Công nghệ nhận dạng là một trong những ứng dụng cơ bản của xử lý ảnh. Ngày
nay, công nghệ này đã được ứng dụng rất nhiều trong đời sống như: nhận dạng biển số
xe, nhận dạng khuôn mặt,.... hoặc trong công nghiệp như: phát hiện lỗi trên bo mạch,
đếm số lượng chi tiết giống nhau trên bề mặt sản phẩm, nhận dạng và phân loại chất
lượng các loại trái cây...
Từ những vấn đề, thực trạng ở trên ta có thể thấy nhu cầu về một hệ thống phân
loại cà chua sử dụng công nghệ xử lý ảnh có khả năng thị giác như con người, hoạt
động ổn định, liên tục, chi phí vận hành thấp là vô cùng cấp thiết. Nhưng đa phần
những công trình, đề tài nghiên cứu trong nước liên quan đến đề tài này đều có khuyết
điểm là tốc độ phân loại không cao (chỉ khoảng 500-600 trái/giờ), hoặc không phân
loại được nhiều loại cà chua cùng lúc (khoảng 2-3 loại), chưa lưu trữ được dữ liệu của
hệ thống...

1.2. MỤC TIÊU
Mục tiêu của đề tài là xây dựng mô hình nhận dạng và phân loại cà chua chính
xác, tốc độ cao, ổn định, lưu trữ và hiển thị dữ liệu hệ thống trên giao diện website của
hệ thống.
Dùng băng tải đề vận chuyển cà chua đến vị trí camera để thu thập hình ảnh cà

chua, sau đó xử lý ảnh bằng phần mềm Labview, dữ liệu sau khi xử lý ảnh xong sẽ
được liên kết với Arduino uno để điều khiển cơ cấu chấp hành. Toàn bộ dữ liệu về trái
cà chua trong quá trình phân loại sẽ được lưu vào Mysql database. Cuối cùng, dữ liệu
trong database sẽ được xử lý và hiện thị trên giao diện web của hệ thống.
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

4


CHƯƠNG 1. TỔNG QUAN

1.3. CẤU TRÚC ĐỀ TÀI
Những nội dung chính sẽ được thực hiện trong đề tài này bao gồm:

 Chương 1: Tổng quan: Giới thiệu về đề tài
 Chương 2: Cơ sở lý thuyết: Trình bày các nội dung cơ lý thuyết liên quan
đến đề tài và liệt kê các thiết bị sử dụng trong đề tài
 Chương 3: Tính toán và thiết kế hệ thống: Trình bày sơ đồ kết nối của hệ
thống, lưu đồ giải thuật chương trình
 Chương 4: Thi công hệ thống: Trình bày quá trình thi công hệ thống
 Chương 5: Kết quả thực hiện: Trình bày các kết quả đạt được trên phần cứng
và phần mềm, kết quả thực nghiệm

 Chương 6: Kết luận và hướng phát triển: Tổng kết lại nội dung đã thực hiện
được của đề tài, đưa ra các hướng phát triển thêm cho đề tài.

1.4. GIỚI HẠN CỦA ĐỀ TÀI
1.4.1. Nhiệm vụ của đề tài
 Tìm hiều các thành phần cơ bản, thiết bị, phần mềm hỗ trợ, của hệ
thống nhận diện và phân loại cà chua.

 Tìm hiều cách thức lập trình, các câu lệnh cơ bản trong phần mềm
Labview.
 Tìm hiều cách sử dụng camera để thu thập hình ảnh và các khối, thư
viện có chức năng hỗ trợ xử lý ảnh trong phần mềm Labview.
 Xây dựng chương trình nhận dạng chất lượng bề mặt cà chua bằng
phần mềm Labview.
 Tìm hiều cách sử dụng và lập trình Arduino Uno.
 Tìm hiều cách truyền nhận dữ liệu giữa Arduino và phần mềm
Labview bằng chuẩn giao tiếp Serial.
 Tìm hiều cách sử dụng cảm biến tiện cận 5VDC, điều khiển Servo
bằng Arduino Uno.
 Tính toán và thiết kế mô hình nhận diện và phân loại cà chua.
 Xây dựng thuật toán điều khiển cơ cấu chấp hành để phân loại cà chua
để lập trình cho Arduino Uno.
 Tìm hiểu cách lưu dữ liệu hệ thống vào Mysql database
 Tìm hiều cách lập trình giao diện website bằng Wordpress.
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

5


CHƯƠNG 1. TỔNG QUAN

 Tìm hiều cách xử lý và hiện thị dữ liệu từ Mysql database lên website.
1.4.2. Giới hạn của đề tài
 Phân loại 5 loại cà chua: chín to, chín nhỏ, gần chín to, gần chín nhỏ,
xanh/lỗi ( thối, sâu).
 Sản phẩm phân loại với tốc độ trung bình.
 Hoạt động trong môi trường bình thường.


BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

6


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. LÝ THUYẾT XỬ LÝ ẢNH
2.1.1. Giới thiệu
Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình biến
đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của
người sử dụng. Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tượng, làm
tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch
các thông tin hình ảnh của ảnh.
Quá trình xử lý ảnh [1] bao gồm các bước cơ bản sau:
Thu nhận ảnh

Tiền xử lý

Phân đoạn

Tách các đặc tính

Nhận dạng và
giải thích

Cơ sở tri
thức xử lý ảnh
Hình 2.1: Quá trình

Thu nhận ảnh: đây là công đoạn đầu tiên mang tính chất quyết định đối với quá
trình xử lý ảnh. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, sensor,
máy scanner,... và sau đó các tín hiệu này sẽ được số hoá. Việc lựa chọn các thiết bị
thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử lý. Các thông số quan
trọng ở bước này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu
nhận ảnh của các thiết bị.
Tiền xử lý: ở bước này, ảnh sẽ được cải thiện về độ tương phản , khử nhiễu, khử
bóng, khử độ lệch,...với mục đích làm cho chất lượng ảnh trở lên tốt hơn nữa, chuẩn bị
cho các bước xử lý phức tạp hơn về sau trong quá trình xử lý ảnh. Quá trình này
thường được thực hiện bởi các bộ lọc.
Phân đoạn ảnh: phân đoạn ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này
phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các
vùng liên thông. Tiêu chuẩn để xác định các vùng liên thông có thể là cùng màu, cùng
mức xám,... Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

7


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
tử khác nhau cấu tạo lên ảnh thô. Vì lượng thông tin chứa trong ảnh rất lớn, trong khi
đa số các ứng dụng chúng ta chỉ cần trích một vài đặc trưng nào đó, do vậy cần có một
quá trình để giảm lượng thông tin khổng lồ đó. Quá trình đó bao gồm phân vùng ảnh
và trích chọn đặc tính chủ yếu.
Tách các đặc tính: kết quả của bước phân đoạn ảnh thường được cho dưới dạng
dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả
các điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trường hợp, sự chuyển đổi dữ
liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần
thiết. Để chuyển đổi chúng, câu hỏi đầu tiện cần phải trả lời là nên biểu diễn một vùng
ảnh dưới dạng biên hay dưới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh

thuộc về nó. Biều diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan
tâm chủ yếu đến các đặc trưng hình dạng bên ngoài của đối tượng, ví dụ như các góc
cạnh và điểm uốn trên biên chẳng hạn. Biểu diễn dạng vùng lại thích hợp cho những
ứng dụng khai thác các tính chất bên trong của đối tượng, ví dụ như vân ảnh hoặc cấu
trúc xương của nó. Sự lựa chọn cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là
một phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các
xử lý về sau. Chúng ta còn phải đưa ra một phương pháp mô tả dữ liệu đã được chuyển
đổi đó sao cho những tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện
cho việc xử lý chúng.
Nhận dạng và giải thích: đây là bước cuối cùng trong quá trình xử lý ảnh. Nhận
dạng ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng
trong ảnh. Ví dụ đối với nhận dạng chữ viết, các đối tượng cần nhận dạng là các mẫu
chữ, ta cần tách riêng các mẫu chữ đó ra và tìm cách gán đúng các ký tự của bảng chữ
cái tương ứng cho các mẫu chữ thu được trong ảnh. Giải thích là công đoạn gán nghĩa
cho một tập các đối tượng đã được nhận biết.
Cơ sở tri thức: xây dựng và mở rộng các phương pháp tiếp nhận và xử lý ảnh
theo trí tuệ con người.
Chúng ta cũng có thể thấy rằng, không phải bất kỳ một ứng dụng xử lý ảnh nào
cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu ở trên, ví dụ như các ứng
dụng chỉnh sửa ảnh nghệ thuật chỉ dùng lại ở bước tiền xử lý. Một cách tổng quát thì
những chức năng xử lý bao gồm cả nhận dạng và giài thích thường chỉ có mặt trong hệ
thống phân tích ảnh tự động hoặc bán tự động, được dùng để rút trích ra những thông
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

8


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng ký tự quang học, nhận dạng
chữ viết tay,...


2.1.2. Các vấn đề cơ bản trong hệ thống xử lý ảnh
Để có thể làm việc tốt với xử lý ảnh thì trước tiên cần nắm vững những kiến thức
cơ bản về xử lý ảnh. Dưới đây là các vấn đề cơ bản trong một hệ thống xử lý ảnh [2]:
Điểm ảnh (Pixel hay Pel – viết tắt Picture Element ): là một điểm vật lý trong
một hình ảnh raster, hoặc một khối màu rất nhỏ và là đơn vị cơ bản nhất để tạo nên
một bức ảnh kỹ thuật số. Địa chỉ của một điểm ảnh tương ứng với toạ độ vật lý ITS.
Ảnh (Picture): được cấu thành từ các điểm ảnh.
Độ phân giải của ảnh (Picture Resolution): là số lượng chi tiết ảnh trong một bức
ảnh. Độ phân giải cao hơn có nghĩa là chi tiết hình ảnh nhiều hơn. Độ phân giải của
máy ảnh kĩ thuật số có thể được mô tả theo nhiều cách khác nhau: độ phân giải pixel
(pixel resolution), độ phân giải không gian (spatial resolution), độ phân giải phổ
(spectral), độ phân giải tạm thời (temporal resolution), độ phân giải phóng xạ
(radiometric resolution). Thuật ngữ độ phân giải thường được coi là tương đương với
số pixel trong hình ảnh kĩ thuật số. Ví dụ một hình ảnh có chiều rộng 2048 pixels và
chiều dài 1536 pixels thì bức ảnh đó sẽ có tổng số: 2046 x 1536 = 31.145.728 pixels.
Ảnh nhị phân: là ảnh chỉ có hai mức đen và trắng, mỗi điểm ảnh được mô tả bằng
một bit: 0 hoặc 1.
Khử nhiễu: với nhiễu hệ thống là nhiễu có quy luật  khử bằng các phép biến
đổi. Với nhiễu ngẫu nhiên không rõ nguyên nhân  dùng các phép lọc.
Ảnh xám (Grayscale image):
 Grayscale là một hệ thống màu đơn giản nhất với 256 cấp độ xám biến
thiên từ màu đen đến màu trắng. Ảnh xám là ảnh mà mỗi giá trị điểm
ảnh (Pixel) trong ma trận mang giá trị từ 0 đến 255.
 Chuyển đổi hệ thống màu RGB sang Grayscale: trong không gian màu
RGB để có một ảnh xám cần phải có giá trị kênh màu red(x,y),
green(x,y), blue(x,y). Trong đó x,y lần lượt là toạ độ của điểm ảnh.
Phương thức chuyển đổi từ ảnh 24 bit RGB sang ảnh xám 8 bit dựa theo
công thức sau đây: Ix,y = ( 2*Red + 5*Green + 1*Blue) /8. Chú ý rằng giá
trị của mỗi điểm ảnh Ix,y hay còn gọi là cường độ ánh sáng (Luminance

Intensity) trong ảnh grayscale được tính là tổng trọng số khác nhau của
mỗi thành phần màu trong hệ màu RGB. Một trong những lý do của việc
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

9


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
này là nếu chúng ta sử dụng cùng trọng số, ví dụ (R + G + B) / 3 thì màu
đỏ, lục, lam sẽ có cùng mức xam sau khi chuyển đổi. Mặt khác, theo
khoa học đã chứng minh thì mắt người nhạy cảm hơn với thành phần
màu lục và đỏ so với xanh da trời.
Ngưỡng (Threshold): là phương pháp cho phép chọn phạm vi của cường độ
pixel trong ảnh xám và ảnh màu, nén hiệu quả các giá trị bên ngoài phạm vi quy định
đến cực trị tương ứng của chúng. Ví dụ, với bức ảnh xám 8 bit thì mỗi pixel trong ảnh
sẽ có giá trị trong khoảng 0 -255, vậy pixel nào lớn hơn ngưỡng 120 ta sẽ gán cho nó
thành đen (0), ngược lại gán giá trị trắng (255).

Hình 2.1: Ví dụ minh hoạ về Threshold (Ngưỡng)

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

10


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1.3. Thuật toán xử lý các giai đoạn chín của trái cà chua
Dựa theo màu sắc bề mặt của trái cà chua [3], ta có thể phân loại làm 6 giai
đoạn chín của trái cà chua như sau:

 Giai đoạn 1 (Green): là giai đoạn mà bề mặt của trái cà chua có màu xanh
hoàn toàn.

Hình 2.2: Giai đoạn 1 (Green)

 Giai đoạn 2 (Breakers): là giai đoạn mà có sự thay đổi màu sắc từ màu xanh
sang màu vàng nhạt, hồng, hoặc đỏ không quá 10% trên bề mặt trái cà chua.

Hình 2.3: Giai đoạn 2 (Breakers)

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

11


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

 Giai đoạn 3 (Turning): là giai đoạn có từ 10 – 30% trên bề mặt trái cà chua
cho thấy có sự thay đổi nhất định về màu sắc từ màu xanh sang màu vàng
nhạt, hồng hoặc đỏ hoặc sự kết hợp của chúng.

Hình 2.4: Giai đoạn 3 (Turning)

 Giai đoạn 4 (Pink): là giai đoạn có từ 30 – 60% trên bề mặt trái cà chua có
màu hồng hoặc đỏ.

Hình 2.6: Giai đoạn 4 (Pink)

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN


12


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

 Giai đoạn 5 (Light red): là giai đoạn có từ 60 – 90% trên bề mặt trái cà chua
có màu đỏ hồng hoặc đỏ.

Hình 2.7: Giai đoạn 5 (Light red)

 Giai đoạn 6 (Red): là giai đoạn có trên 90% bề mặt trái cà chua là màu đỏ.

Hình 2.8: Giai đoạn 6 (Red)
Trong giới hạn đề tài của nhóm chỉ dựa vào yếu tố màu sắc để phân loại chất
lượng trái cà chua nên bài báo cáo này chỉ trình bày cách phân loại độ chín của trái
cà chua theo màu sắc. Ngoài ra, do giới hạn đề tài của nhóm chỉ phân loại cà chua
làm 3 loại chín dựa theo màu sắc trên bề mặt nên ta có kết quả như sau :
 Loại 1: Giai đoạn 1 & 2
 Loại 2: Giai đoạn 3 & 4
 Loại 3: Giai đoạn 5 & 6
Thuật toán phân loại màu sắc :

 Lý thuyết về định luật K nearest neighbor [4]:

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

13


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT


• K-nearest neighbor là một trong những thuật toán supervised-learning
đơn giản nhất (mà hiệu quả trong một vài trường hợp) trong Machine
Learning.
• Trong phân loại K-Recent Neighbor, vectơ tính năng đầu vào X được
phân loại thành lớp Cj dựa trên cơ chế bỏ phiếu. Trình phân loại tìm K
mẫu gần nhất từ tất cả các lớp. Vectơ tính năng đầu vào của lớp chưa
biết được gán cho lớp với phần lớn số phiếu trong K mẫu gần nhất. Với
X là đầu vào, K = 1 thì kết quả đầu ra là Label 1 và K = 3 thì kết quả
đầu ra là Label 2.

Hình 2.9: Ví dụ minh hoạ định luật K nearest neighbor

 Quy trình xử lý ảnh phân loại màu sắc bề mặt trái cà chua trên Labview:

Hình 2.10: Quy trình xử lý ảnh phân loại màu sắc bề mặt trái chua trên Labview

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

14


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

 Phân loại màu sắc bề mặt trái cà chua dựa theo phương pháp K-nearest
neighbor trên Labview [5]:
• Thu thập các mẫu theo từng lớp màu sắc khác nhau ( màu đỏ, màu vàng,
màu xanh, màu trắng ).
• Đưa dữ liệu vào huấn luyện theo hệ số K chọn trước.
• Sử dụng Metric ( Maximum) để phân loại sự khác nhau giữa các mẫu ở

các lớp khác nhau.
• Hình ảnh thu về sẽ được đem đi so sánh với các mẫu trong các lớp màu
theo K. Tuỳ vào hệ số K mà vùng quét ảnh mẫu sẽ thay đổi, hệ thống sẽ
tổng hợp xem trong vùng quét của K có bao nhiêu mẫu của mỗi lớp
màu. Nếu lớp màu nào có số lượng nhiều hơn thì ảnh gốc sẽ được dự
đoán giống với lớp màu đó nhất.

2.1.4. Thuật toán xử lý các trái lỗi (thối, sâu) trên bề mặt trái cà chua
Ngoài 3 loại cà chua đã phân loại ở mục 2.1.3 thì đề tài sẽ thực hiện phân loại
thêm một loại chua nữa là loại cà chua có dấu hiệu bị hư hỏng trên bề mặt (nguyên
nhân do thối, sâu bệnh, xây xát trong quá trình vận chuyển,...). Ví dụ minh hoạ như
hình ảnh bên dưới:

Hình 2.11: Cà chua lỗi (thối, sâu)

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

15


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Quá trình xử lý ảnh đối với cà chua lỗi:

Ảnh gốc (Original image)

Color Plane Extraction

Đặt ngưỡng (Threshold)

Basic Morphology


Advanced Morphology
Advanced Morphology 1

Advanced Morphology 2

Filters

Lookup Table

Find Straight Edge

Hình 2.12: Quá trình xử lý ảnh đối với cà chua lỗi

 Ảnh được thu thập bằng camera.
 Chuyển ảnh gốc thu thập được thành ảnh xám (HSI) [5]:
• Màu sắc (Hue): Thuộc tính màu mô tả màu thuần khiết (vàng, cam hoặc
đỏ).

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

16


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

• Độ bão hoà ( Saturation): Đưa ra số đo màu thuần được pha lẫn so với ánh
sáng trắng.
• Cường độ sáng ( Intensity): Độ sắc nét của ảnh xám.
 Đặt ngưỡng(Threshold): Phát hiện các vùng tối của trái hư


 Ăn mòn ảnh (Erosion) [2]:

Hình 2.13: Ăn mòn ảnh (Erosion)

• Xói mòn đơn giản xảy ra khi áp dụng những điều sau đây: nếu PUI bằng 0,
thì nó vẫn giữ nguyên giá trị của nó; nếu nó là 1 và tất cả các lân cận hồng
y của nó cũng là 1, thì đặt giá trị pixel mới thành 1 (nếu không thì đặt
thành 0).
• Công thức:

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

17


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Hình 2.14: Ví dụ về ăn mòn ảnh

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

18


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

 Loại bỏ viền (Remove border object) [2]: Những vật thể trên viền của khung
hình sẽ bị loại bỏ để có thể dễ dàng xử lý đối tượng chính hơn.

Hình 2.15: Ví dụ về loại bỏ đối tượng trên viền khung hình


 Loại bỏ những đối tượng nhỏ [2]: Loại bỏ các nhiễu nhỏ gây ảnh hương đến
việc kiểm tra, đồng thời làm mượt ảnh.
 Bộ lọc [2]: Sử dụng phương pháp Edge detection- Diff. Tạo các đường viền liên
tục bằng cách làm nổi bật từng pixel trong đó sự thay đổi cường độ xảy ra giữa
chính nó và ba hàng xóm phía trên bên trái của nó.
 Cân bằng (Equalize) [2]: Hàm Equalize thay đổi các giá trị pixel ở mức xám để
chúng được phân bố đồng đều trong phạm vi thang độ xám đã xác định, từ 0
đến 255 cho hình ảnh 8 bit. Hàm này liên kết một lượng pixel bằng nhau trên
mỗi khoảng màu xám không đổi và tận dụng tối đa các sắc thái có sẵn của màu
xám. Sử dụng phép chuyển đổi này để tăng độ tương phản trong ảnh không sử
dụng tất cả các mức xám.
 Phát hiện cạnh thẳng [2]:
• Phát hiện cạnh tìm thấy các cạnh dọc theo một dòng pixel trong ảnh. Sử
dụng các công cụ phát hiện cạnh để xác định và xác định vị trí không liên
tục trong cường độ pixel của hình ảnh.
• Hệ thống sẽ phân tích và chỉ ra cạnh đầu tiên được phát hiện.

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

19


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1.5. Thuật toán xử lý ảnh đối với kích thước trái cà chua
Quá trình xử lý ảnh đối vớí kích thước trái cà chua:

Ảnh gốc (Original image)


Color Plane Extraction

Đặt ngưỡng (Threshold)

Basic Morphology

Advanced Morphology
Remove border object

Remove small object

Fill holes

Filters

Clamp

Hình 2.16: Quá trình xử lý ảnh đối vớí kích thước trái cà chua

 Gần như tương tự với phát hiện cà chua hổng, thuật toán xử lý kích thước
chỉ điều chỉnh đôi chút để có thể kiểm tra chính xác yêu cầu.

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

20


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

 Chuyển đổi ảnh xám: Sử dụng hệ màu RGB Blue Plane nhằm trích xuất màu

xanh dương phù hợp với môi trường phân loại
 Làm đầy lỗ (Fill holes): Hàm điền lỗ lấp đầy các lỗ trong hạt
 Kẹp (Clamp) [2]:

Đo khoảng cách giữa hai cạnh của một đối tượng trong một khung hình
chỉ định.

Chức năng kẹp dựa trên cào hỗ trợ cả tính toán khoảng cách tối thiểu và
tối đa. Hàm kẹp phát hiện các điểm dọc theo hai cạnh bằng hàm cào, sau đó
tính khoảng cách giữa các điểm được phát hiện và trả về khoảng cách lớn nhất

Hình 2.17: Ví dụ về công cụ để đo khoảng cách ( Clamp )
hoặc nhỏ nhất.



Có 4 lựa chọn để chúng ta kiểm tra khoảng cách giữa hai cạnh của 1 đối

tượng hoặc hai đối tượng khác nhau ( khoảng cách giữa 2 cạnh của một vật thể
theo chiều ngang hoặc dọc và khoảng cách giữa hai vật thể theo chiều ngang
hoặc chiều dọc ).

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

21


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

Hình 2.18: Các lựa chọn để đo khoảng cách trong Clamp


BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

22


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.2. TỔNG QUAN VỀ ARDUINO
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác
với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board
mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM
Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân
đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác
nhau. Các ứng dụng nổi bật của board mạch Arduino: robot đơn giản, điều khiển nhiệt
độ, phát hiện chuyển động, game tương tác...
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang
đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và
giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường
thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những
người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát
hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy
trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình
cho Aduino bằng ngôn ngữ C hoặc C++.

Hình 2.17: Các board mạch Arduino thường dùng
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung
giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh quan trọng
của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU
của board với các module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield. Vài

shield truyền thông với board Arduino trực tiếp thông qua các chân khách nhau, nhưng
nhiều shield được định địa chỉ thông qua serial bus I2C nhiều shield có thể được xếp
chồng và sử dụng dưới dạng song song. Arduino chính thức thường sử dụng các dòng
chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

23


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
ATmega2560. Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino
tương thích. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh
dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một
vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do
hạn chế về kích cỡ thiết bị.
Một số loại arduino phổ biến trên thị trường có thể kể đến là: Arduino Nano, Arduino
Uno R3, Arduino Mega 2560 R3, Arduino Due, ...Ngoài ra còn có một số dòng
arduino hỗ trợ Internet như Arduino Ethernet, NODEMCU ESP8266,...

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

24


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
3.1. YÊU CẦU ĐIỀU KHIỂN
Hệ thống cần đạt những yêu cầu sau:
 Nhận dạng và phân loại cà chua theo kích thước, màu sắc và phát hiện






các hư hại trên trái cây để loại bỏ.
Nhận dạng, phân loại tự động và xuất dữ liệu hoạt động của hệ thống.
Giám sát trực tuyến thông qua webserver.
Dễ lắp đặt, vận hành trong quá trình sản xuất.
Nhỏ gọn, an toàn, bền đẹp, chi phí thấp.

3.2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1. Thiết kế sơ đồ khối hệ thống
Hệ thống được xây dựng trên sơ đồ khối sau:

Hình 3.1: Sơ đồ khối của hệ thống
Chức năng các khối:
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

25


×