Trên cơ sở những tiềm năng và chiến lược phát triển của nước ta đãđề ra, nông sản Việt ngày càng khẳng định được vị thế ở cả thị trường trong nước vàquốc tế, trở thành một trong những mặ
Mục tiêu
Mục tiêu chung
Mục tiêu chung của đề tài là nghiên cứu thiết kế và chế tạo được hệ thống phân loại cà chua theo màu sắc sử dụng các thiết bị có giá thành và công nghệ phù hợp.
Mục tiêu cụ thể
Thiết kế hệ thống phân loại cà chua sử dụng ngôn ngữ lập trình Python theo nguyên lý dựa trên tín hiệu thu nhận từ cảm biến Camera.
Chế tạo và thử nghiệm hệ thống với cà chua có 3 loại màu sắc chủ yếu khác nhau trong sản xuất: xanh, đỏ cam, đỏ.
Yêu cầu của đề tài
Nghiên cứu thiết kế và chế tạo ra được một mô hình hệ thống có khả năng tự động phân loại cà chua theo 3 màu sắc khác nhau (xanh, đỏ cam và đỏ) với hệ thống cấp nguyên liệu tự động bằng băng tải. Ảnh đầu vào Xử lý ảnh Ảnh đầu ra
Kết luận Đối chiếu, so sánh và kết luận
Thu nhận ảnh Tiền xử lý Trích chọn đặc điểm Hậu xử lý Hệ quyết định, lưu trữ
TỔNG QUAN CÁC VẤN ĐỀ NGHIÊN CỨU
Tổng quan về xử lý ảnh
2.1.1 Giới thiệu về xử lý ảnh
Xử lý ảnh (Hình 2.1) là quá trình xử lý số tín hiệu với đối tượng xử lý là tín hiệu hình ảnh Trong đó, ảnh đầu vào sẽ được xử lý sao cho ảnh sau khi xử lý đạt kết quả mong muốn Kết quả của xử lý ảnh là một ảnh khác có đặc điểm khác với ảnh ban đầu hoặc một kết luận Xử lý ảnh phát triển rất mạnh mẽ trong thời gian gần đây, bao gồm ở rất nhiều lĩnh vực: y tế, kinh tế, văn hóa, quân sự, quốc phòng… Hiện nay, có bốn khía cạnh chính liên quan đến xử lý ảnh: xử lý và nâng cao chất lượng ảnh, nhận dạng ảnh, truy vấn ảnh và nén ảnh Ở phạm vi đề tài này sẽ tìm hiểu về vấn đề nhận dạng ảnh trên cơ sở màu sắc ảnh thu được từ cảm biến Camera Quá trình xử lý ảnh theo nhận dạng ảnh thực hiện các bước như hình dưới(Hình 2.2)
Hình 2.1: Giới thiệu xử lý ảnh
Hình 2.2: Quá trình xử lý ảnh
Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính 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, cảm biến,máy quét,… và sau đó các tín hiệu này sẽ được số hóa 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ị.
Quá trình 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.
Trích chọn đặc điểm: (hoặc trích chọn đặc trưng) Đặc trưng ảnh ở đây chính là đặc trưng nội dung ảnh, hay nói cách khác là nội dung thực sự của các bức ảnh Nội dung ảnh được thể hiện bằng màu sắc, hình dạng, kết cấu, các đặc trưng cục bộ… hay bất cứ thông tin nào có từ chính nội dung ảnh Phạm vi đề tài bao gồm nhận biết màu sắc từ bề mặt quả cà chua nên đặc trưng được trích chọn là màu sắc.
Hậu xử lý: Có nhiệm vụ xử lý các đặc điểm đã trích chọn, có thể lược bỏ hoặc biến đổi các đặc điểm này để phù hợp với các kỹ thuật cụ thể sử dụng trong hệ quyết định.
Hệ quyết định, lưu trữ: Có nhiệm vụ đưa ra quyết định (phân loại) dựa trên dữ liệu đã học lưu trong khối lưu trữ.
Đối chiếu, so sánh và kết luận: Đưa ra kết luận cuối cùng dựa vào những cơ sở của hệ quyết định.
2.1.2 Những vấn đề xử lý ảnh a Điểm ảnh (Picture Element)
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 điểm ảnh được xem như là một tọa độ (x, y) nào đó Một bức ảnh kỹ thuật số, có thể được tạo ra bằng cách chụp hoặc bằng một phương pháp đồ họa nào khác, được tạo nên từ hàng ngàn hoặc hàng triệu Pixel riêng lẻ Bức ảnh càng chứa nhiều Pixel thì càng chi tiết. Một triệu Pixel thì tương đương với 1 Megapixel. b.Ảnh số Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phân giải càng cao thì càng thể hiện rõ nét các đặc điểm của tấm ảnh và càng làm cho tấm ảnh trở nên thực và sắc nét hơn Một hình ảnh là một tín hiệu hai chiều, nó được xác định bởi hàm toán học f (x, y) trong đó x và y là hai tọa độ theo chiều ngang và chiều dọc.Các giá trị của f (x, y) tại bất kỳ điểm nào là các giá trị điểm ảnh (Pixel) tại điểm đó của một hình ảnh Ảnh số thực tế là biểu diễn số học của hình ảnh trong máy tính,thường là biểu diễn nhị phân Có thể phân ảnh số thành 2 loại: ảnh raster và ảnh vector.
Ảnh raster Ảnh raster là một tập hợp hữu hạn các giá trị số, gọi là điểm ảnh (pixel - picture element) Thông thường một hình ảnh được chia thành các hàng và cột chứa điểm ảnh. Điểm ảnh là thành phần bé nhất biểu diễn ảnh, có giá trị số biểu diễn màu sắc, độ sáng,
… của một thành phần trong bức ảnh. Ảnh raster thường được thu từ Camera, các máy chiếu, chụp, quét… và chính là đối tượng chính của xử lý ảnh và thị giác máy tính.
Ảnh vector Ảnh vector là loại ảnh tạo thành từ các thành phần đơn giản của hình học như điểm, đường thẳng, hình khối… Thay vì được lưu lại thành các ma trận điểm ảnh như ảnh raster, ảnh vector được biểu diễn dưới dạng tọa độ của các thành phần trong ảnh. Chính điều này đã tạo nên sự đặc biệt của ảnh vector, khiến nó có thể được kéo dãn, thu nhỏ tùy ý mà không bị vỡ, không xuất hiện răng cưa như ảnh raster Dữ liệu trong ảnh vector nhỏ, do vậy thường tiết kiệm dung lượng lưu trữ hơn ảnh raster.
Tuy thế, màu sắc trong ảnh vector nhìn không thật, màu sắc ít tinh tế hơn ảnh raster.
Thông thường người ta sử dụng ảnh vector trong thiết kế các logo, banner, giao diện đồ họa… Loại ảnh này gần như không xuất hiện khi đề cập đến xử lý ảnh hay thị giác máy tính. c Phân loại ảnh
Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó Các mức ảnh xám thông thường: 16, 32, 64, 128, 256 Mức được sử dụng thông dụng nhất là 265, tức là dùng 1byte để biểu diễn mức xám Trong đó:
Ảnh nhị phân: Là ảnh có 2 mức trắng và đen, chỉ có 2 giá trị 0 và 1 và chỉ sử dụng 1bit dữ liệu trên 1 điểm ảnh.
Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau. Ảnh màu: Là ảnh kết hợp của 3 màu cơ bản lại với nhau để tạo ra một thế giới màu sinh động Người ta thường dùng 3byte để mô tả mức màu, tức là có khoảng 16,7 triệu màu. d Quan hệ giữa các điểm ảnh
Lân cận ảnh là tập hợp những điểm ảnh có xung quanh điểm ảnh đang xét.
Có 2 loại lân cận ảnh: lân cận 4 và lân cận 8.(Hình 2.3)
Hình 2.3: Các lân cận ảnh Bốn điểm ảnh lân cận 4 theo cột và hàng với tọa độ lần lượt là (x+1, y), (x-1, y), (x, y+1), (x, y-1) ký hiệu là tập N4 (p) 4 điểm ảnh lân cận 4 theo đường chéo có tọa độ lần lượt là (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1) ký hiệu là tập ND (p) Tập
8 điểm ảnh lân cận 8 là hợp của 2 tập trên:
Liên kết ảnh: Các mối liên kết của ảnh được xem như là mối liên kết của 2 điểm ảnh gần nhau, có 3 loại liên kết: liên kết 4, liên kết 8, lên kết m (liên kết hỗn hợp). Trong ảnh đa mức xám, ta có thể đặt V chứa nhiều giá trị như V= {tập con} Cho p có tọa độ (x, y).
Liên kết 4: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 4 của nhau nếu q thuộc về tập N4 (p).
Liên kết 8: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 8 của nhau nếu q thuộc về tập N8 (p).
Liên kết m: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là Liên kết m của nhau nếu thỏa 1 trong 2 điều kiện sau: q thuộc về tập N4 (p), q thuộc về tập ND (p) và giao của hai tập N4 (p), N4 (p) không chứa điểm ảnh nào có giá trị thuộc V. e Lọc nhiễu Ảnh thu nhận được thường sẽ bị nhiễu nên cần phải loại bỏ nhiễu Các toán tử không gian dùng trong kỹ thuật tăng cường ảnh được phân em theo công dụng: làm trơn nhiễu, nổi biên Để làm trơn nhiễu hay tách nhiễu, người ta sử dụng các bộ lọc tuyến tính (lọc trung bình, thông thấp) hoặc lọc phi tuyến (trung vị, giả trung vị, lọc đồng hình) Từ bản chất của nhiễu (thường tương ứng với tần số cao) và từ cơ sở lý thuyết lọc là: bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua, để lọc nhiễu người ta thường dùng lọc thông thấp (theo quan điểm tần số không gian) hay lấy tổ hợp tuyến tính để san bằng (lọc trung bình) Để làm nổi cạnh (ứng với tần số cao), người ta dùng các bộ lọc thông cao, lọc Laplace Lọc nhiễu được chia làm 2 loại: lọc tuyến tính, lọc phi tuyến.
Phương pháp phân loại theo màu sắc
Cà chua là một trong những mặt hàng nông sản cũng như rau quả thực phẩm quen thuộc với chúng ta Quá trình sinh trưởng của quả cà chua từ lúc kết quả đến lúc chín hoàn toàn trải qua các giai đoạn biến đổi hình thái về màu sắc mà bằng mắt thường, con người có thể thấy được sự thay đổi đó Các giai đoạn chuyển hóa của quả cà chua được trình bày cụ thể sau đây:
Thời kỳ quả xanh: Quả và hạt phát triển chưa hoàn thiện Nếu thu hái quả vào lúc này và thông qua thúc chín tới thì quả không bình thường, không có hương vị, không có màu sắc đặc trưng của giống.
Thời kỳ quả chín xanh: chất keo bao quanh hạt được hình thành, quả chưa có màu hồng hoặc màu vàng Nếu thúc chín thì quả sẽ thể hiện màu sắc của giống nhưng hương vị không rõ như quả chín trên cây.
Thời kỳ chín vàng: Đỉnh quả xuất hiện màu vàng hoặc màu hồng với diện tích bề mặt chiếm khoảng 10%.
Thời kỳ chuyển màu: Diện tích bề mặt 10-30%, có màu vàng hoặc đỏ nhạt.
Thời kỳ quả chín hồng diện tích bề mặt 30-60%, có màu đỏ nhạt hoặc vàng.
Thời kỳ chín đỏ, diện tích bề mặt quả 90% có màu đỏ. Ở phạm vi của đề tài, những quả cà chua sẽ được phân thành 3 nhóm quả có màu như sau, dựa trên đặc điểm về màu sắc ở các giai đoạn:
Loại 1: Quả xanh hoặc quả non.
Loại 2: Quả mới chín tới đỏ cam.
2.2.1 Các màu sắc cơ bản của cà chua Ở mỗi giai đoạn chín của mình, quả cà chua mang những đặc điểm riêng về màu sắc Em trích chọn những đặc trưng này của quả cà chua để tiến hành lấy đặc trưng màu sắc ấy làm một trong những cơ sở phân loại. a Hệ màu RGB (Red-Green-Blue) Để biểu diễn màu sắc, người ta thường đưa chúng vào một mô hình màu Ở đó, màu sắc sẽ được biểu diễn bằng một hoặc tập hợp nhiều giá trị thập phân nguyên. Dưới đây là cách biểu diễn một màu sắc trong mô hình màu RGB.
Mô hình màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ, xanh lục và xanh lam được tổ hợp với nhau để tạo thành các màu khác Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (red), xanh lục (green) và xanh lam (blue), là ba màu gốc trong các mô hình ánh sáng bổ sung Mô hình này thường được dùng để hiển thị trên máy tính.
Hình 2.5: Mô hình màu không gian màu RGBNếu mỗi kênh màu được mã hóa bằng 1 byte (8 bit), và giá trị nằm trong đoạn [0, 255], thì ta có ảnh 24bit màu, và mã hóa được tất cả 28 × 28 × 2816.581.375 màu (khoảng 16 triệu màu) Dưới đây là một số màu cơ bản được biển diễn trong hệ màu RGB:
(0, 255, 0) là màu xanh lá cây
(255, 0, 255) là màu hồng cánh sen b Hệ màu HSV (Hue-Saturation-Light)
Trong phạm vi đề tài, ảnh sau khi được Camera chụp và định dạng RGB sẽ được chuyển sang một hệ màu mới thích hợp cho việc phân tích màu sắc hơn, trong đó có sự phân chia biểu diễn về vùng màu, độ bão hòa, và độ sáng Đó là hệ màu HSV.
Không gian màu này còn có tên khác là HSI (Hue-Saturation-Intensity), HSL(Hue-Saturation-Light) Nó dựa trên các đặc tính màu trực quan như sắc (tint), bóng (shade) và tông màu (tone); nói cách khác là họ màu, độ thuần khiết, và độ sáng.
Hệ tọa độ cho không gian màu này là hình trụ:
Giá trị màu thuần khiết (Hue) chạy từ 0 đến 360°.
Độ bão hòa màu (Saturation) là mức độ thuần khiết của màu, có thể hiểu là có bao nhiêu màu trắng được thêm vào màu thuần khiết này Giá trị của S nằm trong đoạn
[0, 255], trong đó S = 255 là màu tinh khiết nhất, hoàn toàn không pha trắng Nói cách khác, S càng lớn thì màu càng tinh khiết, nguyên chất.
Độ sáng của màu (Value), còn được gọi là Intensity, Lightness, có giá trị dao động trong đoạn [0, 255], trong đó V = 0 là hoàn toàn tối (đen), V = 255 là hoàn toàn sáng Nói cách khác, V càng lớn thì màu càng sáng.
Hình 2.6: Mô hình màu HSV
Hình 2.7: Dải màu sắc (H) trong hệ màu HSV
Trong phạm vi đề tài, mỗi màu sắc được biểu diễn bằng một tổ hợp bộ 3 giá trị (H, S, V) Đối với các đặc trưng về độ bão hòa(S) và độ sáng(V), cần lấy toàn bộ các giá trị từ 0÷255 để đảm bảo có thể nhận biết được màu sắc với mọi mức bão hòa và độ sáng khác nhau Riêng giá trị H, cần căn cứ vào dải phổ màu (Hình 2.7) để đưa ra được khoảng giá trị màu sắc phù hợp, phản ánh đúng đặc trưng màu sắc ở bề mặt cà chua.
Các giá trị HSV có được sau nhiều lần lấy mẫu, hiệu chỉnh, đối chiếu và so sánh. Đầu tiên, em căn cứ vào bảng màu HSV để đưa ra những giá trị HSV phù hợp Công đoạn tiếp theo, cà chua được phân tách màu sắc bề mặt với các ngưỡng màu đã có được từ việc đối chiếu thủ công với bảng màu HSV từ trước Ở giai đoạn này, sẽ có sai lệch về màu sắc chọn ngưỡng và màu sắc thực tế của cà chua nhưng không quá lớn. Tuy nhiên, những sai lệch này có thể dẫn đến sự nhầm lẫn về kết luận màu sắc Cần hiệu chỉnh các ngưỡng màu sao cho phù hợp và phản ánh chân thực màu sắc bề mặt quả cà chua.
Sau khi hiệu chỉnh các ngưỡng màu, ta có được kết luận cuối cùng về ngưỡng màu thực tế của màu sắc bề mặt quả cà chua.
Dưới đây là 3 loại màu sắc trong phạm vi đề tài:
Màu xanh (cà chua còn sống) (Hình 2.8)
Màu đỏ cam (cà chua vừa chín tới) (Hình 2.9)
Màu đỏ (cà chua chín) ( Hình 2.10)
Hình 2.9: Cà chua vừa chín tới
2.2.2 Phương pháp phân loại theo màu sắc.
Với sự giúp đỡ của thư viện OpenCV, ngôn ngữ lập trình Python và kit Raspberry Pi 3, công việc nhân biết và phân loại màu sắc của quả cà chua sẽ gồm những công đoạn chính như sau:
-Chụp và lưu ảnh quả cà chua.
-Dùng thuật toán phát hiện màu (tìm màu, tính số lượng Pixel vùng màu, tính phần trăm số lượng Pixel của mỗi màu trên số lượng Pixel toàn bề mặt quả cà chua) và
“dán nhãn” phân loại cà chua (gồm 3 loại đó là xanh, đỏ cam và đỏ) từ ảnh đã được chụp bằng Camera.
-Lưu dữ liệu cho bộ phận phân loại làm việc.
-Bộ phận phân loại phân loại cà chua theo dữ liệu đã cho.
-Cập nhật ảnh chụp mới.
2.2.3 Xác định ngưỡng màu HSV cần phân loại
Giới thiệu các linh kiện trong hệ thống
2.3.1 Raspberry Pi 3 model B+ a Giới thiệu Raspberry Pi 3 model B+
Raspberry Pi là một máy tính chỉ có một board mạch, kích thước tầm bằng thẻ ATM chạy hệ điều hành Linux.
Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman Và được phân phối chính bởi Element14, RS Components và Egoman.
Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra một thế hệ chiếc máy tính thu nhỏ có mức giá thấp nhưng vẫn đảm bảo nhu cầu lập trình cho sinh viên hoặc những người muốn tìm hiểu về lập trình Đặc tính của Raspberry Pi được xây dựng quanh bộ xử lí SoC Broadcom BCM2835 (là chip xử lí mạnh mẽ có kích thước nhỏ hay được dùng trong điện thoại di động), bao gồm CPU, GPU, bộ xử lí âm thanh/video, và các tính năng khác… Tất cả được tích hợp bên trong chip có mức tiêu thụ điện năng khá thấp.
Raspberry Pi không thay thế hoàn toàn hệ thống máy tính để bàn hoặc máy xách tay Chúng ta không thể chạy hệ điều hành Windows trên đó vì BCM2835 dựa trên cấu trúc ARM nên không hỗ trợ mã x86/x64, nhưng vẫn có thể chạy bằng Linux với các tiện ích như lướt web, môi trường Desktop và các tiện ích khác nữa Raspberry Pi là một thiết bị đa năng đáng ngạc nhiên với nhiều phần cứng có giá thành thấp và phù hợp cho những hệ thống điện tử, những dự án DIY,…Raspberry Pi 3 có hai phiên bản: Model A và model B Ở đề tài này em sử dụng kit Raspberry Pi 3 model B+ với số lượng hub USB và cổng GPIO nhiều hơn, hỗ trợ kết nối Ethernet, khả năng xử lý RAM nhanh hơn,… b Thông tin cấu hình Raspberry Pi 3 model B+
Hình 2.15: Sơ đồ Raspberry Pi 3 model B+
Bộ xử lí Broadcom BCM2835 tốc độ xử lí 1.2ghz 64-bit quad-core ARM CortexA53
Bộ xử lý đa phương tiện Videocore IV® Dual Core
Hỗ trợ tất các bản phân phối ARM GNU/Linux mới nhất và Windows 10
Đầu nối microusb cho nguồn điện 2,5A 5VDC
Đầu nối video/âm thanh 1 x HDMI
Đầu nối video/âm thanh 1 x RCA
Kết nối hiển thị DSI
Khe cắm thẻ nhớ MicroSD
Kích thước: 85 x 56 x 17 mm Ưu điểm: kích thước nhỏ gọn, CPU mạnh, phục vụ cho nhiều mục đích khác nhau, khả năng hoạt động liên tục, giá thành rẻ hơn so với máy tính thông thường…
Nhược điểm: Máy tính nhúng xử lý vẫn còn chậm so với máy tính để bàn hay laptop Không chạy được một số chương trình nặng… c Ứng dụng của Raspberry Pi 3 model B+ trong thực tế:
Sử dụng như máy tính để bàn, máy chủ in không dây, bộ điều khiển robot, đài
FM, máy chơi games, máy chủ web, …
Camera Raspberry Pi V1.3 5MP là Version đầu tiên của module Camera cho Raspberry Pi với cảm biến OV5647 độ phân giải 5MP, sử dụng tương thích với tất cả các dòng Raspberry Pi từ trước đến nay, chất lượng hình ảnh tốt, độ phân giải cao và có khả năng quay phim ở chất lượng HD.
Hình 2.16: Camera Pi V1.3 b Thông tin cấu hình
-Độ phân giải hình: 2592x1944 Pixel.
Lõi cảm biến hình ảnh
Bộ xử lý hình ảnh
Tín hiệu ra Tín hiệu vào
Hình 2.17: Sơ đồ khối Camera Pi c Ứng dụng.
Những tác vụ liên quan đến hình ảnh, với chất lượng ảnh đòi hỏi không quá cao, Raspberry Pi V1.3 có thể giúp chúng ta lấy tín hiệu hình ảnh và video thông qua Raspberry Pi Những hình ảnh và video này có thể được sử dụng với nhiều mục đích khác nhau, như giám sát đối tượng, xử lý và khôi phục ảnh, thị giác máy tính và robot
Arduino Uno R3 là một board mạch vi điều khiển được phát triển bởi Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P
Phiên bản hiện tại của Arduino Uno R3 đi kèm với giao diện USB, 6 chân đầu vào analog, 14 cổng kỹ thuật số I / O được sử dụng để kết nối với các mạch điện tử, thiết bị bên ngoài Trong đó có 14 cổng I / O, 6 chân đầu ra xung PWM cho phép các nhà thiết kế kiểm soát và điều khiển các thiết bị mạch điện tử ngoại vi một cách trực quan
Arduino Uno R3 được kết nối trực tiếp với máy tính thông qua USB để giao tiếp với phần mềm lập trình IDE, tương thích với Windows, MAC hoặc Linux Systems, tuy nhiên, Windows thích hợp hơn để sử dụng Các ngôn ngữ lập trình như C và C ++ được sử dụng trong IDE Ngoài USB, người dùng có thể dùng nguồn điện ngoài để cấp nguồn cho bo mạch. b Thông tin cấu hình
Bảng 2.1: Thông số cả Arduino Uno R3:
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
• GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
• 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
• 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
• Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND.
• IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
• RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
Hình 2.18: Các chân của Arduino Uno R3
Arduino UNO có 14 chân dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở kéo lên từ được cài đặt ngay trong vi điều khiển ATmega328.
Một số chân có các chức năng đặc biệt như sau:
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (chuyển giao – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối Bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite. Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
ĐỐI TƯỢNG, PHẠM VI, PHƯƠNG PHÁP VÀ NỘI DUNG NGHIÊN CỨU
Đối tượng nghiên cứu
Đối tượng nghiên cứu chính của đề tài là cà chua sau khi hái có 3 loại màu sắc khác nhau (xanh, đỏ cam và đỏ) Bên cạnh đó các đối tượng của đề tài gồm công nghệ xử lý hình ảnh dựa trên ngôn ngữ lập trình Python.
Phạm vi nghiên cứu
Phạm vi nghiên cứu của đề tài là thực hiện nghiên cứu lý thuyết và thực nghiệm độc lập trên mô hình của hệ thống hoạt động phân loại theo màu sắc cà chua ở phòng nghiên cứu.
Thời gian nghiên cứu 3 tháng từ tháng 09/2021-1/2022
Phương pháp nghiên cứu
3.3.1 Phương pháp nghiên cứu tài liệu.
-Tìm hiểu về cấu tạo nguyên lý hoạt động của hệ thống dây chuyền vận chuyển phân loại cà chua
-Tìm hiểu về bộ điều khiển hệ thống dựa trên các trường hợp phân loại cà chua theo kích thước.
-Tìm hiểu về lập trình Python, hệ điều hành Raspbian.
-Tìm thiểu, thiết kế thi công phần cứng điều khiển động hệ thống phân loại dựa trên kích thước.
-Tìm hiểu giải thuật và cách viết chương trình điều khiển, ứng dụng các thuật toán điều khiển ở trên lên vi điều khiển.
-Tìm hiểu về môi trường sử dụng.
3.3.2 Phương pháp tính toán thiết kế và mô phỏng.
-Thiết kế và mô phỏng hoạt động của mạch trên máy tính.
-Thiết kế các bộ phận phân loại dựa trên màu sắc của quả cà chua.
-Thiết kế các bộ phận khác của hệ thống như bang tải, khung hệ thống, bộ phận phân loại và hệ thống điện tử điều khiển cho hệ thống phân loại.
3.3.3 Phương pháp chế tạo và khảo nghiệm.
-Dưa trên bản vẽ thiết kế cơ cấu và bộ phận của hệ thống, lựa chọn các vật liệu và tiến hành chế tạo theo quy trình và tiêu chuẩn trong chế tạo thiết bị cơ điện tử.
-Tiến hành thực nghiệm đo đếm và quan sát để đánh giá hiệu quả hoạt động của hệ thống Thực nghiệm tiến hành nhiều lần khác nhau (tối thiểu 3 lần lặp) trong phòng nghiên cứu.
3.3.4 Phương pháp phân tích và xử lý số liệu.
-Số liệu được thực nghiệm, quan sát, đo đếm và thu thập xử lý phân tích so sánh tối ưu hóa các thông số của hệ thống.
-Mỗi thí nghiệm được thực hiện lặp lại tối thiểu 3 lần để so sánh thống kê phân tích với mức ý nghĩa 95%.
Nội dung nghiên cứu
-Lựa chọn nguyên lý làm việc của hệ thống để làm cơ sở cho việc tính toán, thiết kế và chế tạo.
-Tính toán, thiết kế, lựa chọn vật liệu và chế tạo, lắp ghép hệ thống.
-Mô phỏng quá trình làm việc của hệ thống
-Chế tạo mô hình đếm và phân loại sản phẩm theo màu sắc
-Tiến hành thực nghiệm và đánh giá hiệu quả làm việc của hệ thống phân loại cà chua theo màu sắc.
Khối thu tín hiệu hình
Khối cảm biến Khối động cơ
Khối xử lý trung tâm
KẾT QUẢ NGHIÊN CỨU
Thiết kế sơ đồ khối cho hệ thống
Sơ đồ khối của hệ thống (Hình 4.1) được thiết kế gồm 6 khối: khối nguồn, khối cảm biến, khối xử lý trung tâm, khối hiển thị, khối thu tín hiệu hình ảnh và khối động cơ.
Hình 4.1: Sơ đồ khối hệ thống
Chức năng các khối trong hệ thống:
Khối nguồn: Cung cấp nguồn điện để khối xử lý trung tâm, khối thu (Camera), hệ thống băng chuyền (động cơ DC) và cơ cấu phân loại dùng động cơ servo.
Khối cảm biến: Có chức năng gửi tín hiệu cho khối xử lý khi nhận được tín hiệu từ cảm biến hồng ngoại E18-D80NK
Khối xử lý trung tâm: Đảm nhận nhiệm vụ xử lý chính, nhận tín hiệu hình ảnh từ khối thu tín hiệu hình ảnh (Camera), sau đó xử lý hình ảnh và so sánh với dữ liệu đã cài đặt và đưa ra kết luận về loại sản phẩm.
Khối hiển thị: nhận tín hiệu từ khối xử lý trung tâm, hiển thị thông tin đặc trưng từng loại sản phẩm và cập nhật số lượng mỗi loại sản phẩm
Khối thu tín hiệu hình ảnh: Có chức năng thu thập tín hiệu hình ảnh từ thực tế chuyển về tín hiệu điện và gửi dữ liệu cho khối xử lý trung tâm Ở đây dùng Camera Raspberry Pi làm khối thu tín hiệu hình ảnh.
Khối động cơ: được điều khiển bởi khối xử lý, sử dụng động cơ cho băng tải và động cơ servo mg995.
Thiết kế và lựa chọn thiết bị cho các khối trong hệ thống
Do hệ thống sử dụng nhiều loại tải với mức điện áp và dòng điện hoạt động khác nhau nên việc sử dụng bộ nguồn chung cho toàn bộ hệ thống không đảm bảo về độ an toàn và tính ổn định cho hệ thống Chính vì vậy, đề tài sử dụng những bộ nguồn độc lập và được thi công sẵn, với các ưu điểm là đáp ứng được mức điện áp và dòng điện một cách ổn định, giá thành hợp lý và được bán rộng rãi trên thị trường, tiết kiệm thời gian thi công mạch nguồn, an toàn cho người sử dụng,… Hệ thống bao gồm các bộ nguồn: 1 dây nguồn Official Raspberry Pi Power Supply 5.1VDC 2.5A Micro USB sử dụng cho Raspberry Pi (Hình 4.2) và 1 bộ nguồn tổ ong (nguồn xung) 12V, 5A (Hình 4.3) dùng cho băng tải, đèn Led sáng (buồng chụp ảnh), các cảm biến cũng như động cơ servo.
Hình 4.2: Dây nguồn cho Raspberry Pi
Hình 4.3: Nguồn tổ ong 12V-5A Đối với Raspberry Pi 3, các thông số sử dụng mức dòng điện sẽ được trình bày ở bảng sau:
Bảng 4.1: Dòng tiêu thụ các ngoại vi cho Raspberry Pi
Thiết bị Dòng tiêu thụ Số lượng Ghi chú
Raspberry Pi 3 900mA 1 Khi kit hoạt động độc lập
Bàn phím và chuột 100 – 1000mA 1
Tổng cộng 2223mA Dòng tối thiểu cung cấp cho
4.2.2 Khối cảm biến Đề tài sử dụng cảm biến hồng ngoại E18-D80NK để gửi tín hiệu cho Arduino khi phát hiện có quả cà chua đi qua.
Chân tín hiệu cảu cảm biển hồng ngoại E18-N80DK được nối với chân 8 trên Arduino.
2 chân còn lại của cảm biến hồng ngoại E18-N80DK được nối với chân GND và chân 5V trên Arduino.
Hình 4.4: Sơ đồ kết nối giữa cảm biến hồng ngoại và Arduino
4.2.3 Khối xử lý trung tâm
Chức năng của khối xử lý trung tâm là nhận tín hiệu hình ảnh từ các khối thu tín hiệu, sau đó Raspberry xử lý ảnh, phân tích và so sánh với dữ liệu đã cài đặt để đưa kết quả ra và truyền tín hiệu cho Arduino Vì vấn đề xử lý ảnh cần nhiều tài nguyên và tốc độ xử lý cao, nên đề tài không sử dụng vi điều khiển thông thường để xử lý Chính vì vậy, máy tính nhúng Raspberry Pi3 Model B+ làm khối xử lý trung tâm được sử dụng cho việc xử lý tín hiệu hình ảnh từ Camera chụp được màu sắc của cà chua Máy tính nhúng Raspberry có CPU với tốc độ xử lý lên tới 1.2GHz Chính vì vậy việc sử dụng vào mô hình là hợp lý Máy tính hỗ trợ tốt cho việc giao tiếp các thiết bị ngoại vi và module từ bên ngoài Raspberry Pi có nhiều cổng giao tiếp nhưng trong phạm vi đề tài chỉ sử dụng một số cổng giao tiếp chính đó là: 1 jack cắm để kết nối Camera; các chân GPIO để giao tiếp với Arduino và các bộ phận ngoại vi, 1 chuột máy tính và 1 bàn phím…
*Kết nối các chân của Raspberry với Arduino:
Chân GND của Raspberry nối với chân GND của Arduino
Chân RX của Raspberry nối với chân TX của Arduino
Chân TX của Raspberry nối với chân RX của Arduino
Hình 4.5: Sơ đồ kết nối của Raspberry và Arduino
Chọn thẻ nhớ lưu dữ liệu: Muốn chạy được chương trình trên máy tính nhúng ta cần phải có hệ điều hành được cài sẵn trên thẻ nhớ Vì hệ điều hành Raspbian chiếm 4GB dung lượng chưa kể các dữ liệu, chương trình, phần mềm liên quan đến, chính vì vậy chọn loại thẻ nhớ tối thiểu 16GB, ở đây nhóm em chọn loại thẻ nhớ Micro SD 16GB có tốc độ đọc lên tới 48MB/s vì tốc độ đọc ảnh hưởng tới tốc độ xử lý dữ liệu của các chương trình chính nên 48MB/s là tốc độ hợp lý.
Trong đề tài này nhóm chúng em sử dụng LCD16x2 để hiển thị kết quả, LCD có tiếp chuẩn 8bit Ở đây chúng em sử dụng chuẩn giao tiếp I2C để kết nối vì chuẩn giao tiếp này sử dụng khá dễ, chỉ cần sử dụng 4 chân VCC,GND, SDA và SCL.
*Kết nối các chân của LCD16x2 với Arduino:
Chân VCC: của I2C trên LCD được nối vào chân 5V trên Arduino
Chân GND: của I2C trên LCD được nối vào chân GND trên Arduino
Chân SDA: của I2C trên LCD được nối vào chân A4 trên Arduino
Chân SCL: của I2C trên LCD được nối vào chân A5 trên Arduino
Hình 4.6: Sơ đồ nối chân của Arduino với LCD16x2
4.2.5 Khối thu tín hiệu hình ảnh.
Nghiên cứu sử dụng module Camera Pi V1.3 bán sẵn trên thị trường Do đặc tính linh hoạt trong việc kết nối giữa Camera với Raspberry Pi thông qua dây cáp, có chiều dài 30cm Để thực hiện kết nối, chỉ cần cắm đầu cáp của Camera vào jack trong kit Raspberry Pi.
Hình 4.7: Sơ đồ kết nối giữa Camera pi V1.3 với Raspberry
Hình 4.8: Hình ảnh kết nối giữa Camera pi V1.3 với Raspberry thực tế
Ngoài ra, để Camera có thể thu được hình ảnh của cà chua với chất lượng ảnh chân thực về màu sắc, nghiên cứu thiết kế và sử dụng một buồng chụp ảnh với chức năng chính là tạo khung đặt Camera, cung cấp nguồn sáng trắng ổn định và phù hợp cho môi trường chụp ảnh, cách ly quả cà chua với những nguồn sáng gây nhiễu từ môi trường bên ngoài Bên cạnh đó, để quá trình chụp ảnh được diễn ra đúng thời gian yêu cầu. Để ổn định nguồn sáng trắng, đề tài sử dụng đèn Led loại 5730 có 8 bóng ánh sáng trắng Bảng đèn được sản xuất với đế nhôm (thuận tiện cho việc tản nhiệt), đèn Led 5730 chất lượng cao và có độ sáng cao Dòng điện làm việc tương đối lớn, dòng điện hiện tại có chuẩn (4 loại) là 80mA ~ 120mA, có thể đảm bảo đủ độ sáng, có thiết kế tản nhiệt tốt hơn để tránh nhiệt độ quá cao Thiết kế giao diện micro USB, thuận tiện để kết nối với bộ sạc điện thoại di động thông thường và nguồn điện di động, và thuận tiện để sử dụng ở mọi nơi trong nhà hoặc ngoài trời.
4.2.6 Khối động cơ a Động cơ giảm tốc JGB37-520
Trong đề tài nhóm em sử dụng Arduino điều khiển module relay 5V để đóng ngắt quá trình chạy của động cơ giảm tốc JGB37-520.
Chân của modun relay 5V được nối với chân 13 của Arduino
Chân GND của module relay 5V được nối với chân GND của Arduino
Chân VCC module relay 5V được nối với chân 5V của Arduino
Hình 4.10: Sơ đồ kết nối giữa động cơ giảm tốc và Arduino b Động cơ servo mg995 Động cơ servo mg995 được kết nối với Arduino nhằm đẩy quả cà chua ra khỏi băng tải để phân từng loại quả cà chua ra các hộp khác nhau.
chân tín hiệu của servo mg995 được nối tương ứng với các chân 9,10,11 trên Arduino.
2 chân còn lại của servo mg995 được nối với chân GND và chân 5V của Arduino.
Hình 4.11: Sơ đồ kết nối giữa động cơ servo và Arduino
4.2.7 Sơ đồ kết nối toàn mạch của hệ thống
Hình 4.12: Sơ đồ kết nối toàn mạch của hệ thống
Chế tạo hệ thống
Sau khi tính toán và thiết kế hệ thống, nghiên cứu tiến hành lựa chọn các thiết bị và chế tạo các bộ phận để lắp đặt hệ thống với các bộ phận chính như sau:
-1 mô hình băng tải (gồm 1 băng tải, 3 động cơ servo, 1 cảm biến tiệm cận hồng ngoại): tải cà chua đến các vị trí servo phân loại đã định vị sẵn, nhằm đẩy cà chua xuống rãnh theo đúng loại màu sắc đã được định sẵn.
-1 buồng chụp ảnh (bao gồm 1 Camera, 1 cảm biến tiệm cận hồng ngoại, 1 mạch gồm 8 bóng đèn Led siêu sáng) có chức năng chụp ảnh và đảm bảo được độ sáng khi chụp ảnh cà chua.
-1 Board mạch thực hiện chức năng kết nối các ngõ IN/OUT GPIO của Raspberry Pi với các ngoại vi.
4.3.2 Mô phỏng trên phần mềm Creo.
Việc mô phỏng hệ thống phân loại cà chua bằng phần mềm mô phỏng Creo với mục đích xem xét khả năng hệ thống hoạt động lý thuyết nhằm hạn chế các sai sót và dễ dàng trong quá trình thi công, lắp đặt các khối lại với nhau thành hệ thống như
Hình 4 13: Mô hình hoàn thiện được vẽ trên phần mềm Creo
4.3.3 Chế tạo và lắp đặt mô hình hệ thống phân loại quả cà chua. a Chế tạo và lắp ráp băng tải
Lắp ráp băng tải và động cơ giảm tốc JGB37-520-107RPM với trục băng tải.
Hình 4.14: Động cơ giảm tốc và băng tải b Thiết kế và chế tạo bộ phận thu ảnh
Thiết kế bộ phận thu hình ảnh gồm 1 Camera Pi, buồng ảnh có đèn Led và cảm biến tiệm cận hồng ngoại Mạch đèn Led siêu sáng được bố trí ở phía trong trên cùng để đảm bộ độ sáng cần thiết cho việc Camera chụp ảnh.
Hình 4.15: Bộ phận thu ảnh nhìn bên ngoài c Thiết kế và chế tạo bộ phận phân loại quả cà chua
Bộ phận phân loại có cấu tạo gồm 3 động cơ servo gắn với 3 cánh tay nhóm em tự chế để thuận tiện cho việc đẩy cà chua ra khỏi băng chuyền và dẫn cà chua vào rãnh phân loại theo từng màu sắc nhất định.
Hình 4.16: 3 động cơ servo để đẩy cà chua vào máng trượt
Hình 4.17: Các máng trượt và khay đựng quả cà chua d Thiết kế, chế tạo và lắp đặt phần hiển thị, công tắc điều khiển
Dùng màn hình LCD16x2 hiển thị số lượng quả cà chua đã phân loại ra bên ngoài để chúng ta dê dàng quan sát số lượng đã phân loại.
Bên cạnh đó để điều khiển được nguồn cấp cho động cơ, Raspberry, Arduino thì cần có bộ phận cấp nguồn điện Bên cạnh đó hệ thống thiết kế nút điều khiển cho việc tắt nguồn tổng trong trường hợp gặp sự cố và cấu tạo thêm 1 nút cho chế độ reset để có thể reset được quá trình hoạt động của hệ thống một cách thuận lợi.
Hình 4.18: Các nút điều khiển và LCD16x2 e Hệ thống sau khi đã hoàn thành
Hình 4.19: Mô hình hệ thống sau khi lắp đặt hoàn thiện
4.3.4 Các linh kiện sử dụng cho hệ thống
Sau khi lắp đặt xong mô hình, tổng các linh kiện cần cho mô hình gồm:
Bảng 4.2: Danh sách các linh kiện
STT Tên linh kiện Số lượng Chú thích
1 Raspberry Pi 3 Model B+ 1 Kèm dây nguồn
2 Arduino Uno R3 1 Kèm dây cáp
3 Camera Pi V1.3 1 Kèm dây cáp
6 Cảm biến hồng ngoại E18-D80NK 1
8 Động cơ giảm tốc JGB37-520 1
10 Module điều khiển động cơ 12V 1
11 Dây băng tải loại 1600x60x3 1 mm
13 Phích cắm, ổ cắm điện 1 Kèm dây điện
14 Thanh domino 1 Kèm keo nến, keo
15 Các nút điều khiển 2 1 nút reset, 1 nút nhấn
Lập trình hệ thống
Từ yêu cầu của đề tài, chúng em xây dựng các lưu đồ giải thuật của hệ thống như sau: a Lưu đồ giải thuật trên Arduino.
Băng tải chạy, khởi tạo giá trị đầu của LCD
Gửi tín hiệu đến Raspi, băng tải dừng 5000ms
Nhận dữ liệu từ Raspi, phân loại dữ liệu
Băng tải dừng, servo vàng đẩy, demvv+1.
Băng tải dừng, servo xanh đẩy, demxx+1.
Băng tải dừng, servo đỏ đẩy, demvv+1.
Hiển thị kết quả lên LCD
Hình 4.20: Sơ đồ giải thuật trên Arduino
Bắt đầu, băng tải chạy và khởi tạo giá trị ban đầu của LCD( giao diện LCD).
Kiểm tra nút Reset có được nhấn hay không, nếu nhấn khởi tạo lại LCD, còn nếu không thì tiếp tục kiểm tra cảm biến có phát hiện vật hay không.
Khi cảm biến phát hiện có vật, băng tải sẽ dừng lại 5s đồng thời Arduino sẽ gửi tín hiệu sang Raspberry Pi.
Sau khi Raspberry Pi nhận tín hiệu xử lý và đưa dữ liệu về cho Arduino, Arduino tiến hành mã hoá và phân loại dữ liệu, băng tải tải tiếp tục chạy.
Nếu dữ liệu nhận được là “do” thì sau 150ms băng tải sẽ dừng lại và servo tại khay đựng cà chua đỏ sẽ gạt cà chua vào khay, số lượng cà chua đỏ sẽ đếm tăng lên 1 đơn vị và được hiển thị trên LCD Nếu dữ liệu nhận được là “xanh” thì sau 955ms băng tải sẽ dừng lại và servo tại khay đựng cà chua xanh sẽ gạt cà chua vào khay, số lượng cà chua xanh sẽ tăng lên 1 đơn vị và được hiển thị trên LCD Nếu dữ liệu nhận được là “vang” thì sau 1760ms băng tải sẽ dừng lại và servo tại khay đựng cà chua vàng sẽ gạt cà chua vào khay, số lượng cà chua vàng sẽ tăng lên 1 đơn vị và được hiển thị trên LCD.
Tiếp tục quay kiểm tra cảm biến và quá trình được lặp đi lặp lại. b Lưu đồ giải thuật của Raspberry Pi
Hình 4.21: Sơ đồ giải thuật trên Raspberry Pi
Sau khi được cấp nguồn Raspberry khởi động xong và tự động chạy chương trình thì nó sẽ tiến hành thiết lập camera khởi tạo giá trị ban đầu (định dạng khung ảnh,…)sau đó chờ tín hiệu từ Arduino gửi về.
Khi có tín hiệu từ Arduino gửi về đã phát hiện vật Raspberry Pi tiến hành chụp và lưu ảnh qua Camera Pi.
Bắt đầu Truyền tín hiệu để camera chụp ảnh
Tìm vùng màu tương ứng và tính lượng pixel trong ảnh
Nhận ảnh và xử lý ảnh Chuyển hệ màu từ GRB sang HSV
So sánh pixel vừa tính với ngưỡng qui định
Lưu thông tin đã xử lý
Sau đó Raspberry Pi sẽ xử lý, tính toán để tính số lượng phần trăm Pixel có trong ảnh thông qua công thức tính số % số lượng pixel là: Si = (Xi*100)/Y.
Trong đó: Si là % pixel mà tương ứng có trong cà chua.
Xi là số lượng pixel của màu tương ứng.
Y là tổng pixel của 3 màu (xanh, đỏ, vàng) trong bức hình.
Raspberry Pi sẽ so sánh % Pixel vừa tính với ngưởng quy định.
Nếu % Pixel xanh(%Pi_x) vừa tính được > 60% gửi dữ liệu “xanh” về Arduino.
Nếu % Pixel đỏ vừa tính được(%Pi_d) > 80% gửi dữ liệu “do” về Arduino.
Nếu % Pixel vàng vừa tính được(%Pi_v) > 20% và % Pixel đỏ vừa tính được > 50% gửi dữ liệu “vang” về Arduino.
Quay lại bước chờ tín hiệu từ Arduino. c Lưu đồ giải thuật xử lý ảnh.
Hình 4.22: Lưu đồ giải thuật của xử lý ảnh
Nhận tín hiệu từ Raspberry
Chụp ảnh và lưu ảnh
Gửi thông tin ảnh cho Raspberry Đ
Khi nhận được hình ảnh từ Camera Pi, Raspberry sẽ tiến hành lưu ảnh, sau đó xuất ảnh và chuyển ảnh từ hệ màu RGB sang hệ màu HSV để do sánh với ngưỡng đã định trước tiến hành tách ảnh.
Sau khi đã tách ảnh tiếp tục tiến hành đếm số Pixel đỏ, xanh và vàng có trong ảnh.
Áp dụng công thức tính phần trăm Pixel của từng màu
Tiếp đến là Raspberry sẽ so sánh giá trị % Pixel có trong quả cà chua và giá trị cần phân loại, nếu thoã mãn thì tiến hành gán và lưu thông tin. c Lưu đồ giải thuật của bộ phận chụp ảnh
Hình 4.23: Lưu đồ giải thuật của bộ phận chụp ảnh.
Khi hệ thống bắt đầu hoạt động, nếu có tín hiệu cho phép chụp từ Raspberry Pi Camera sẽ chụp lại khung ảnh tại thời điểm và vị trí đó Sau đó ảnh sẽ được lưu để phục vụ công việc xử lý ở những bước sau Quá trình này lặp lại với quả cà chua khác khi tiến vào buồng chụp Ảnh của quả cà chua trước sẽ được tự động thay thế bởi ảnh của quả cà chua sau.
4.4.2 Hướng dẫn qui trình vận hành hệ thống
Sau khi lắp ráp hoàn thiện tất cả các linh kiện của hệ thống thì chúng ta sẽ cung cấp nguồn điện và bắt đầu cài đặt hệ điều hành và lập trình cho hệ thống. a Cài hệ điều hành cho Raspberry Pi 3 model B+
Hiện nay có rất nhiều hệ điều hành hổ trợ cho Raspberry pi như: Raspbian, Ubuntu Mate, RiseOS, … Ở đây chúng em chọn Raspbian để cài cho Raspberry pi vì nó là hệ điều hành cơ bản, phổ biến nhất và do chính Raspberry Pi Foundation cung cấp.
Hình 4.24: Hệ điều hành Raspbian.
Raspbian có dung lượng sau khi giải nén khoảng tầm 4 Gb vì thế chúng ta cần thẻ nhớ để cài hệ điều hành cho Raspberry Pi từ 4 GB trở lên Ở đây nhóm em thẻ nhớ 16GB để cài hệ điều hành cho Raspberry Pi. b Truy cập vào Raspberry Pi 3 model B+
Có rất nhiều cách để truy cập vào Raspberry Pi như cắm trực tiếp chuột, màn hình, màn phím trực tiếp lên Raspberry Pi; điều khiển qua mạng LAN truy cập thông qua các phần mềm điều khiển Ở đây nhóm em sử dụng điều khiển Raspberry Pi thông quan phần mềm VNC viewer.
Bước 1: Đầu tiên ta tiến hành kết nối dây LAN giữa Raspberry Pi và Laptop.
Hình 4.25: Kết nối dây LAN giữa Raspberry Pi và Laptop
Bước 2: Mở phần mềm Putty trên Laptop để truy cập vào Raspberry Pi lấy địa chỉ IP.
Tại mục Host Name nhập “rapberrypi” Open Accept, để truy cập vào Raspberry Pi.
Hình 4.26: Truy cập vào Raspberry Pi
Tiếp tục ta tiến hành nhập câu lệnh “ifconfig” Enter để lấy địa chỉ IP củaRaspberry Pi.
Hình 4.27: Lấy địa chỉ IP của Raspberry Pi
Bước 3: Mở phần mềm VNC viewer để truy cập vào Raspberry Pi thông qua tài khoảng đã cài mặt định: “pi” mật khẩu:”123456789”.
Hình 4.28: Tên đăng nhập và mật khẩu truy cập vào Raspberry Pi.
Sau khi đã truy cập vào Raspberry Pi ta tiến hành cài phần Python và Arduino vào Raspberry Pi trực tiếp trên màn hình laptop và tiến hình lập trình.
Hình 4.29: Cài Python và Arduino trên Raspberry Pi c Hướng dẫn sử dụng và thao tác.
Có 2 cách để Rapberry Pi hoạt động: tự động và thủ công Ở đây nhóm thực hiện thao tác tự động vì ta chỉ cần cấp nguồn cho Rapberry Pi nó có thể tự hoạt động mà ta không cần bất kì một thao tác nào khác. Để sử dụng Raspberry Pi tự động ta cần thực hiện các bước sau:
Bước 1: Ta truy cập vào Terminal của Rapberry Pi tiến hành gõ dòng lệnh: “sudo nano /etc/rc.local” Enter.
Bước 2: Nhập đường dẫn file cần chạy khi khởi động
Tại mục Fi ta gõ cấu trúc lệnh: python “đường dẫn file cần chạy” &
Hình 4.30: Các câu lệnh trong Raspberry Pi
Nhấn tổ hợp phím Ctrl+X để lưu thay đổi.
* Hướng dẫn sử dụng phần cứng.
Sau khi đã cấp nguồn, ta tiến hành bật công tắc nút nguồn (nút màu đỏ) và đợi khoảng 1 phút để Raspberry Pi khởi động hoàn tất, hệ thống sẽ tiến hành phân loại. Nếu trong thời gian đang phân loại ta muốn thiết lập lại giá trị ban đầu bằng cách ta tiến hành nhấn nhả nút Reset (nút màu xanh).
Hình 4.31: Các nút điều khiển của hệ thống
Để sản phẩm xa tầm tay trẻ em.
Đặt sản phẩm tại nơi bằng phẳng, khô ráo, thoáng mát tránh tiếp xúc trực tiếp với ánh nắng.
Không để sản phẩm chịu tác động của ngoại lực như va chạm mạnh, rơi rớt.
Cấp đúng nguồn 220VAC và đảm bảo nguồn điện ổn định để hệ thống hoạt động ổn định.
Sản phẩm không hoạt động: Kiểm tra nguồn điện cấp đúng 220VAC, kiểm tra dây cắm,
Kết quả thử nghiệm của hệ thống
Để đánh giá hiệu quả hoạt động của hệ thống, nghiên cứu tiến hành thử nghiệm cho việc phân loại cà chua có độ chín khác nhau theo 3 màu sắc như thiết kế gồm đỏ,xanh và vàng (vừa chín tới) Mỗi lần thực nghiệm cho 2kg (tổng 40 quả) cà chua và tiến hành trong 3 lần lặp lại Kết quả phân loại cà chua cụ thể như sau:
Bảng 4.3: Kết quả thảo nghiệm 2 kilogam cà chua Lần thí nghiệm Số quả chín Số quả vừa chín tới
Dựa vào kết quả trên ta thấy hệ thống chạy khá ổn định, và đạt được những mục tiêu đề ra ban đầu.
Hiệu quả khi xử lý 1 quả cà chua cũng khá chính xác nên có thể áp dụng thực tiễn tăng năng suất sản phẩm.
Vì mô hình được thực hiện để nghiên cứu và học tập là chính nên các công đoạn xử lý trong hệ thống còn hạn chế về thời gian, công suất trung bình để đưa quả cà chua và xử lý hình ảnh và phân loại là tầm 8 giây, công suất trung bình 1 giờ có thể phân loại 450 quả.
Thời gian chụp ảnh và xử lý dường như liên tục.
Bằng mắt thường, chúng ta có thể phân loại được như sau:
Trong 3 lần phân loại (mỗi lần 40 quả, tổng 120 quả) ta nhận thấy được:
Phân loại quả xanh chính xác và ổn định ở số lượng 12 quả
Phân loại quả vàng giao động từ 12-13 quả
Phân loại quả đỏ giao động từ 15-16 quả
Như vậy, ta có được tỷ lệ nhận dạng cà chua như sau:
Tính ổn đinh sau khi phân loại tương đối chính xác, điều này dựa vào sự phân bố màu sắc trên bề mặt quả.
Hình ảnh nhận diện màu sắc của các quả cà chua khi thực hiện quá trình tính toán và xử lý trên Raspberry.
Hình 4.32: Quả cà chua sống khi được xử lý
Hình 4.33: Quả cà chua vừa chín tới khi được xử lý
Hình 4.34: Quả cà chua chín khi được xử lý