1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ứng dụng thuật toán MobileNet – SSD kết hợp cánh tay Robot trong việc nhận diện và phân loại hoa quả

5 100 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 450,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài viết nghiên cứu trình bày một ứng dụng của thuật toán nhận diện MobileNetV1-SSD trong việc nhận diện và phân loại hoa quả, cụ thể ở bài báo này là quả chanh. Ứng dụng kiến trúc MobileNetV1-SSD, là một thuật toán phát hiện vật thể được thiết kế với số lượng tham số tính toán nhỏ và thời gian thực thi tác vụ nhanh.

Trang 1

Tóm tắt – Bài báo nghiên cứu trình bày một ứng dụng của

thuật toán nhận diện MobileNetV1-SSD trong việc nhận diện và

phân loại hoa quả, cụ thể ở bài báo này là quả chanh Ứng dụng

kiến trúc MobileNetV1-SSD, là một thuật toán phát hiện vật thể

được thiết kế với số lượng tham số tính toán nhỏ và thời gian thực

thi tác vụ nhanh Do đó, bằng việc tích hợp thuật toán phát hiện

và phân loại chanh MobileNetV1-SSD trên nền tảng máy tính

nhúng Jetson Nano với thời gian phân loại hoa quả theo thời gian

thực

Từ khóa – Trí tuệ nhân tạo, Mạng Nơ ron tích chập,

MobileNet, Single Shot MultiBox Detector

I GIỚI THIỆU

Đề tài “Ứng dụng thuật toán nhận diện MobileNet – SSD

trong việc nhận diện chanh ta, sử dụng cánh tay robot thực hiện

phân loại” được khởi xướng từ một thực trạng của ngành nông

nghiệp Việt Nam Theo số liệu thống kê, chanh được trồng ở

Việt Nam với số lượng cực kỳ lớn và đạt chất lượng cao, có khả

năng xuất khẩu sang các nước như Thái Lan, Malaysia,

Singapore, Liên minh Châu Âu và các nước Trung Đông

Tuy nhiên, những quả chanh tốt ngoài khâu canh tác tốt,

cần có các giai đoạn xử lý khi thu hoạch quả đạt chuẩn để chọn

lựa ra những sản phẩm có chất lượng tốt và phải đảm bảo những

sản phẩm đó giữ nguyên trạng thái tốt nhất, đáp ứng các tiêu chí

khắt khe của các thị trường khó tính như Nhật Bản, Hàn

Quốc,…

Về vấn đề kinh tế, con người có nhiều nhược điểm để có

thể nâng cao hiệu suất Thứ nhất, cần một số lượng lớn nhân

công cho việc phân loại Thứ hai, tốc độ của con người chưa đủ

khả năng để đáp ứng mỗi mùa thu hoạch Cuối cùng, con người

bị cản trở bởi nhiều yếu tố như cảm tính, sức khỏe, … Bởi vậy,

giải pháp cần nghiên cứu tới là nhờ máy móc làm những công

việc lặp đi lặp lại, cải thiện tốc độ và giảm sức người

Hệ thống cần đảm bảo về các yếu tố:

Nhỏ gọn, bền bi, dễ dàng hoạt động để có thể dễ dàng

vận chuyển

Phát hiện nhanh và phân loại chính xác hình ảnh quả

chanh được đưa vào

Xử lý các và đưa ra kết quả phân loại chất lượng hoa quả theo thời gian thực

Năm 2016, nhóm tác giả Wei Liu đã đưa ra một kiến trúc mới (Kiến trúc thuật toán) có tên Single Shot MultiBox Detector (SSD) [1] Đến năm 2017, nhóm tác giả của Andrew

G Howard đưa ra một một kiến trúc mạng trích xuất đặc trưng mới là MobileNet [2] Mạng mới này giúp giảm thiểu khối lượng tính toán so với kiến trúc mô hình mạng nơ-ron tích chập truyền thống Kết hợp với phương pháp SSD xử lý trên từng lớp đặc trưng, khiến cho kỹ thuật MobileNetV1 – SSD đạt hiệu quả cao việc nhận diện các vật thể di chuyển Tốc độ tăng lên do số lượng phép tính được giảm từ tám đến chín lần so với phương pháp truyền thống nhờ kiến trúc MobileNet Khả năng trích xuất đặc trưng cũng được cải thiện nhờ phương pháp SSD MobileNetV1 – SSD dễ dàng được cải đặt và triển khai trên các

hệ máy tính có cấu hình thấp [2]

Năm 2020, nhóm tác giả Valdez, Paolo đã ứng dụng các

mô hình thuật toán nhận diện YOLOv3 và SSD vào nhận diện

và phân loại táo trên thời gian thực [3] [4] Nhóm tác giả đã đánh giá tốc độ và độ chính xác của hai mô hình vào bài toán nhận diện thực tế Machine Learning ngày càng được ứng dụng rộng rãi vào mọi mặt cuộc sống Trong bài báo khoa học về Ứng dụng nhận diện nông sản sử dụng Machine Learning vào các ứng dụng bán lẻ, nhóm tác giả Frida Femling thực hiện việc nhận diện nông sản để truy xuất nhanh các dữ liệu liên quan đến sản phẩm đó, thay vì việc phải gán mã số cho từng sản phẩm, thuận tiện cho người bán hàng [5] Vận dụng các ý tưởng đó, bài báo này sử dụng MobileNetV1-SSD trong việc nhận diện, phân loại vật thể và sử dụng cánh tay Robot để gắp quả chanh tương ứng với chất lượng phân loại được nhận diện

Trong bài báo này trình bày ba đóng góp chính:

Tổng quan về cấu trúc hệ thống Trong mục này chúng tôi giải thích về các chức năng của hệ thống, những thành phần chính và vai trò tương ứng

Kỹ thuật AI (Artificial Intelligence – Trí tuệ nhân tạo) được sử dụng trong bài toán Tại phần này bài báo trình

Ứng dụng thuật toán MobileNet – SSD kết hợp cánh tay

Robot trong việc nhận diện và phân loại hoa quả

Hán Trọng Thanh, Nguyễn Việt Hoàng, Trần Hải Quân

Viện Điện tử Viễn thông, Trường Đại học Bách Khoa Hà Nội

Email: thanh.hantrong@hust.edu.vn

Trang 2

bày cơ sở về thuật toán MobileNetV1 – SSD, để thấy rằng

thuật toán phù hợp cho các thiết bị có cấu hình thấp

Cuối cùng là kết quả ứng dụng Bài báo đưa ra các số liệu

về đánh giá về hàm Mất mát, độ chính xác của mô hình

đã được đào tạo

II CÂ ́ U TRÚC HÊ ̣ THÔ ́ NG

A Tổng quan hệ thống

Hệ thống Nhận diện và phân loại hoa quả được phát triển

hai chức năng chính, đó là Chức năng nhận diện và Chức năng

xử lý kết quả nhận diện Hệ thống được vận hành bởi máy tính

nhúng Jetson Nano, trực tiếp nhận diện và điều khiển cánh tay

Robot

Hình 1 Sơ đồ tổng quan hệ thống phân loại hoa quả

Khi chanh được đưa vào băng chuyền trước tiên sẽ được

vận chuyển đến khu vực đặt camera dùng để thu thập dữ liệu

cho quá trình xử lí Camera sẽ chụp lại ảnh chanh từ băng

chuyền và gửi tới Jetson Nano Jetson Nano là một máy tính

nhúng được tối ưu với thuật toán phát hiện và phân loại chanh

theo thời gian thực Khi hình ảnh đã được gửi tới Jetson Nano

thì sẽ được xử lý bằng mô hình phân loại chanh đã qua đào tạo

từ trước trên bộ dữ liệu ảnh chanh tự thu thập Đầu ra của hệ

thống là ảnh chanh đã được gán nhãn chất lượng: hình ảnh gán

nhãn “good” khi là chanh chất lượng tốt và hình ảnh được gán

nhãn “bad” khi là chanh chất lượng xấu Kết quả phân loại được

dùng để điều khiển hành động của cánh tay Robot

B Chi tiết các thành phần

Thành phần nhận diện và phân loại

Phần cứng bao gồm bộ xử lý trung tâm Jetson Nano,

camera ghi lại hình ảnh của quả chanh trong thời gian thực

Chanh được di chuyển từ nơi bắt đầu tới khi khu vực camera

nhận diện trên một băng chuyền Camera sẽ truyền hình ảnh tới

Jetson Nano để xử lý và phân loại chanh Kết quả phân loại

được đưa vào một mảng kết quả, sau đó, tiến trình điều khiển

cánh tay Robot sẽ lấy các kết quả từ mảng đó, điều khiển cánh

tay Robot, đưa quả chanh tới hộp chất lượng tương ứng

Thành phần xử lý kết quả

Phần cứng bao gồm bộ xử lý trung tâm Jetson Nano, mạch PCA9685, cánh tay robot 6 bậc tự do PCA9685 được kết nối với Jetson Nano thông qua giao tiếp I2C qua bus thứ nhất Chân SDA và SCL tương ứng được kết nối với chân 3 và 5 của Jetson Nano Chân GND và V++ được kết nối với chân 6 và 1 của Jetson Nano PCA9685 đóng vai trò giải mã địa chỉ và nhận tín hiệu điều khiển năm động cơ từ Jetson Nano

III KY ̃ THUÂ ̣ T AI

A Sơ đồ tổng quan thuật toán

Hình 2 Sơ đồ tổng quan phân loại chanh

Bắt đầu thuật toán là bài toán Phát hiện vật thể Bài toán Phát hiện vật thể cho phép định vị các đối tượng trong một hình ảnh và xác định từng đối tượng Bài toán có đầu vào là ảnh màu

và kết quả là vị trí của các đối tượng trong ảnh

Tiếp đến là bài toán Phân loại Bài toán Phân loại là quá trình phân lớp một đối tượng dữ liệu vào một hay nhiều lớp đã cho trước nhờ một mô hình phân lớp Thuật toán được xây dựng dựa trên một tập dữ liệu được xây dựng trước đó có gán nhãn

B Mô hình kiến trúc MobileNet

MobileNet là một mô hình kiến trúc mạng tích chập (CNN –

convolution neural network) được sử dụng cho việc Phân loại hình ảnh và Tìm vật thể trong ảnh hoặc video Mô hình này

được thiết kế tối ưu về tốc độ tính toán các lớp tích chập và giảm bớt số lượng tham số trong mô hình Điều này khiến cho kiến trúc MobileNet phù hợp với các thiết bị di động, hay những

chiếc máy tính nhúng với cấu hình thấp như Rasberry Pi hay Jetson Nano, Google TPU Dev Board, …

Spatitial Separable Convolutions (SSC)

So với mạng nơ-ron tích chập truyền thống, SSC giúp giải quyết các bài toán theo thời gian thực khả thi hơn rất nhiều SSC

sẽ chia một convolution thành hai bước SSC dùng chủ yếu các tham số về chiều của không gian của ảnh và kernel, nghĩa là với chiều rộng (width), chiều dài (height) và số lượng kênh (depth)

Trang 3

Depthwise Serparable Convolutions (DSC)

Kiến trúc của MobileNet dựa trên Depthwise Serparable

Convolutions [2] DSC chia một kernel thành hai kernel riêng

biệt là Depthwise Convolution và Pointwise Convolution để

thực hiện hai phép tích chập riêng biệt Điều này sẽ giúp giảm

thiểu số lượng phép tính đáng kể, cụ thể sẽ được trình bày dưới

đây

Hình 3 Depthwise Convolution Filter

Đối với phép tính tích chập truyền thống (standard

convolution), hàm chi phí tính toán có công thức:

( , , , ) = ∗ ∗ ∗ ∗ ∗ (2.1)

Trong đó, hàm chi phí trên phụ thuộc vào số lượng kênh đầu

vào M, số lượng kênh đầu ra N, với kernel kích thước DK x DK

và feature map kích thước DF x DF. Đối với Depthwise

convolution, hàm chi phí tính toán được được tính theo công

thức:

( , , ) = ∗ ∗ ∗ ∗ (2.2)

Như vậy, số lượng phép tính trong Depthwise Convolution

đã giảm đi N lần so với standard convolution Số lượng phép

toán tại Depthwise convolution không phụ thuộc vào số lượng

kênh của đầu vào

Hình 4 Pointwise Convolution Filter

Với thành phần Pointwise Convolution, số lượng các phép toán

cần có sau khi đi qua sẽ là:

Kết hợp với thành phần Pontwise Convolution, từ công

thức (2.2) và (2.3), hàm chi phí tính toán của Depthwise

Separable Convolution sẽ là:

Từ công thức (2.4), so sánh với Standard convolution (2.1),

ta thu được:

( , ) = ( , , , )

( , , , ) =

1 + 1 (2.5)

Rõ ràng rằng, hàm chi phí tính toán của DSC ít hơn rất nhiều MobileNet sử dụng 3x3 DSC, các phép tính toán ít hơn

từ tám đến chín lần so với phép tích chập truyền thống, trong khi độ chính xác giảm đi một phần nhỏ

Bảng 1 So sánh các mô hình kiến trúc [1]

Kiến trúc Mạng trích xuất

đặc trưng mAP Số lượng tham số

Từ Bảng 1 ta nhận thấy số lượng phép tính và số lượng

tham số của MobileNet so với các kiến trúc tiền nhiệm ít hơn rõ rệt

Kiến trúc của MobileNet

Hình 5 Kiến trúc mô hình MobileNet

C MobileNet - SSD

Hình 6 Kiến trúc của MobileNetV1 - SSD

Kiến trúc của MobileNet - SSD được xây dựng trên kiến trúc MobileNet SSD có thể nhận diện vật thể với các lớp khác nhau

Trang 4

Hàm Mất mát

Hàm Mất mát của thuật toán SSD có công thức:

( , , , ) = 1( ( , ) + ( , , )) (2.6)

Trong đó N là số lượng matched default boxes Nếu =

0, loss có giá trị mặc định là 0

IV K ẾT QUẢ ỨNG DỤNG

A Kết quả thử nghiệm hệ thống phân loại chanh

Tiến hành thử nghiệm trên tập Training

Hình 7 Sơ đồ quá trình huấn luyện

Quá trình như mô tả trên Hình 7 bắt đầu bằng việc đưa bộ

đưa bộ dữ liệu bao gồm tập Train và tập Validation đã được thu

thập từ trước lên Google Colab Khi bộ dữ liệu đã được tải lên

hoàn chỉnh thì quá trình đào tạo hệ thống bắt dầu Hệ thống

được đào tạo bằng thuật toán MobileNet V1-SSD với epoch

bằng 100

Epoch ở đây là số lần học của máy với một epoch hoàn

thành là khi máy đã học đầy đủ và hoàn chỉnh 1102 ảnh đã thu

thập được Epoch cần có được xác định dựa vào hàm Mất mát

Hàm Mất mát là đánh giá xác suất sai lệch khi đưa một hình ảnh

đầu vào mà nhận diện sai Nếu giá trị của hàm Mất mát càng

nhỏ thì mô hình học càng tốt Theo dõi qúa trình đào tạo tại

Epoch thứ 100 hàm Mất mát đã có dấu hiệu hội tụ Việc học có

thể dừng lại để tránh hiện tượng mô hình bị quá khớp

Hình 8 Biểu đồ hàm Mất mát của mô hình MobileNetV1 – SSD

Từ đồ thị trên Hình 8 ta có nhận xét, hàm Mất mát trong quá trình đào tạo là dạng dốc thoải Từ epoch 0 đến 60 hàm Mất mát giảm mạnh sau đó từ epoch 90 đến 99 thì hàm Loss có xu hướng ổn định và ít dao động Điều này chứng tỏ mô hình đã hội tụ và ta tiến hành dừng đào tạo Nhận thấy tại epoch thứ 97 hàm Mất mát đạt giá trị nhỏ nhất xấp xỉ 0.4027, ta chọn mô hình tại lần học này là mô hình phân loại chất lượng chanh trong hệ thống

Tiến hành thử nghiệm trên tập Test

Bảng 2 Kết quả tiến hành thử nghiệm trên tập Test

Mô hình Kiến trúc mô

hình

Số lượng hình ảnh trên tập Test

Độ chính xác (%)

lemon.onx MobileNet

Số lượng hình ảnh trên tập Test là 106, kết quả nhận diện đúng là 102 ảnh, sai 4 ảnh Bài báo kết luận độ chính xác của

mô hình đạt 96.23%

Một vài hình ảnh về kết quả thử nghiệm trên tập Test:

Hình 9 Kết quả thực nghiệm nhận diện

Qua kết quả ta thấy, mô hình AI đã có khả năng phân loại với độ chính xác cao Mô hình đã phân loại chính xác chanh chất lượng tốt và chanh chất lượng kém Mô hình phát hiện và phân loại chính xác với đa dạng về nền ảnh trong ảnh và xác định đúng quả chanh với các loại quả khác Tuy nhiên với những đồ vật và loại quả có hình dáng và màu sắc có độ tương đồng cao với quả chanh như: quả lê màu vàng, nắp chai màu xanh, … mô hình vẫn đưa ra dự đoán nhầm lẫn

B Tốc độ xử lý sản phẩm đã được phân loại

Tại chức năng nhận diện, quả nhận diện được rất tốt, đạt độ chính xác xấp xỉ 97% với phông nền được chọn màu trắng là màu của băng chuyền

Tốc độ xử lý khung hình với thuật toán phát hiện và phân loại chanh trên Jetson Nano là ấn tượng với 40 FPS (Frame per

Trang 5

Second – Khung hình trên giây) Điều này cho phép hệ thống

hoạt động theo thời gian thực và không bỏ lỡ quả chanh nào khi

đi qua băng chuyền với tốc độ nhanh

V K ẾT LUẬN

Bài báo đề xuất phát triển hệ thống phân loại hoa quả và đã

đạt được những kết quả khả quan Đầu tiên, mô hình được đào

tạo đạt khả năng nhận diện quả chanh và phân loại chất lượng

chanh với độ chính xác cao Bên cạnh đó, bài báo đề xuất một

hệ thống phân loại chanh khép kín và các nền tảng phần cứng

đi kèm Cuối cùng, bài báo đưa ra kết quả phân loại hoa quả ấn

tượng đi kèm với tốc độ phân loại theo thời gian thực trên nền

tảng máy tính nhúng Jetson Nano với tốc độ 40 FPS

Tuy nhiên, hệ thống vẫn tồn tại những hạn chế nhất định

Cánh tay Robot mới dừng lại ở mức mô hình chưa phải là một

cánh tay công nghiệp do đó tốc độ phân loại của cánh tay còn

chậm Điều này sẽ được cải thiện khi lắp đặt hệ thống vào những

nhà máy có các cơ cấu chấp hành phân loại chuyên nghiệp hơn

Thêm vào đó, mô hình phân loại hoa quả còn có sự nhầm lẫn

trong quá trình phân loại đối với các vật thể và loại quả có hình

dáng gần giống quả chanh Hạn chế này có thể cải thiện bằng

việc thu thập thêm dữ liệu ngoài thực tế trong quá trình triển

khai hệ thống sau đó đào tạo lại mô hình AI Từ đó có thể đạt

được mục đích ban đầu đặt ra là nâng cao năng suất thu hoạch,

phân loại chất lượng hoa quả, giảm sức lao động của con người

và tiến lên hiện đại hóa quy trình phân loại hoa quả khép kín

T ÀI LIỆU THAM KHẢO

[1] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian

Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C Berg, “SSD

Single Shot MultiBox Detertor,” 2016

[2] Andrew G.Howard, Menglong Zhu, Bo Chen, Dmitry

Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetoo,

Hartwig Adam, “MobileNets: Efficient Convolutional Neural

Networks for Mobile Vision Applications,” 2017

[3] P Valdez, “Apple Defect Detection Using Deep Learning Based

Object Detection For Better Post Harvest Handling,” arXiv

preprint arXiv:2005.06089 (2020)

[4] Femling, Frida, Adam Olsson, and Fernando Alonso-Fernandez.,

“Fruit and vegetable identification using machine learning for

retail applications,” 14th International conference on

Signal-Image Technology and Internet-based system (SITIS), pp 9-15

IEEE, 2018

[5] C Klyachin, “Recognition of Various Object from a Certain

Categorical Set in Real Time using Deep Convolution Neural

Networks,” 2020

Ngày đăng: 27/11/2021, 10:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w