Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
Ứ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 Hồng, Trần Hải Qn
Viện Điện tử Viễn thơng, Trường Đại học Bách Khoa Hà Nội.
Email:
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.
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 tố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.
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 tố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 tốn so với kiến trúc mơ hình mạng nơ-ron tích chập
Từ khóa – Trí tuệ nhân tạo, Mạng Nơ ron tích chập,
MobileNet, Single Shot MultiBox Detector.
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ả
I. GIỚI THIỆU
cao việc nhận diện các vật thể di chuyển. Tốc độ tăng lên do số
Đề 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 ngồ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,
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 tố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.
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.
ISBN: 978-604-80-5076-4
336
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
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
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
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.
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.
III. KỸ TḤT AI
A. Sơ đồ tổng quan thuật tốn
Hình 2. Sơ đồ tổng quan phân loại chanh
Bắt đầu thuật toán là bài tốn Phát hiện vật thể. Bài tốn
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 q 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 tố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
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 tố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 tốn Phân loại là q
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 tố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 tố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)
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
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
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.
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).
ISBN: 978-604-80-5076-4
337
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
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.
∗
∗
∗
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 tốn của DSC ít hơn rất
nhiều. MobileNet sử dụng 3x3 DSC, các phép tính tố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
Hình 3. Depthwise Convolution Filter
SSD 300
Đối với phép tính tích chập truyền thống (standard
convolution), hàm chi phí tính tố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
Mạng trích xuất
đặc trưng
mAP
Số lượng tham số
Deeplab-VGG
21.1%
33.1 M
Inception V2
22.0%
13.7 M
MobileNetV1
19.3%
6.8 M
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
convolution, hàm chi phí tính tố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
tốn tại Depthwise convolution khơng phụ thuộc vào số lượng
kênh của đầu vào.
Hình 5. Kiến trúc mơ hình MobileNet
C. MobileNet - SSD
Hình 4. Pointwise Convolution Filter
Với thành phần Pointwise Convolution, số lượng các phép tốn
cần có sau khi đi qua sẽ là:
( , , ) =
∗
∗
∗
(2.3)
Hình 6. Kiến trúc của MobileNetV1 - SSD
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 tốn của Depthwise
Separable Convolution sẽ là:
( ,
, , )=
∗
∗
ISBN: 978-604-80-5076-4
∗
∗
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.
(2.4)
338
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
Hàm Mất mát
Hàm Mất mát của thuật tốn SSD có cơng thức:
( , , , ) =
1
(
( , ) +
( , , ))
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
(2.6)
Trong đó N là số lượng matched default boxes. Nếu
hướng ổn định và ít dao động. Điều này chứng tỏ mơ hình đã
=
0, loss có giá trị mặc định là 0.
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.
IV. KẾT QUẢ ỨNG DỤNG
Tiến hành thử nghiệm trên tập Test
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
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 (%)
MobileNet
106
96.23%
V1
Số lượng hình ảnh trên tập Test là 106, kết quả nhận diện
lemon.onx
Hình 7. Sơ đồ q trình huấn luyện
Q 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
hồn chỉnh thì q trình đào tạo hệ thống bắt dầu. Hệ thống
đú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:
đượ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ị q khớp.
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ự đố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.
Hình 8. Biểu đồ hàm Mất mát của mơ hình MobileNetV1 – SSD
ISBN: 978-604-80-5076-4
Tốc độ xử lý khung hình với thuật tố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
339
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
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 q 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 q 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 SignalImage 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.
ISBN: 978-604-80-5076-4
340