Bài viết trình bày về phương pháp nhận dạng các loại hoa quả thân gỗ có độ phức tạp hơn trong bài toán nhận dạng và thu hoạch như táo, cam, xoài,... sử dụng thuật toán SSD. Thuật toán được triển khai thử nghiệm trên phần cứng nhúng Rasberry Pi 3+ cho kết quả nhận dạng các loại quả theo thời gian thực với kết quả độ chính xác khá cao, có thể ứng dụng cho robot tự động thu hoạch.
Trang 1Nh™n d§ng các lo§i qu£ ˘ng dˆng cho Robot t¸ Îng thu ho§ch b¨ng thu™t toán Single Shot
Multibox Detector
Nguyπn Hoài Th˜Ïng⇤, Nguyπn Anh Quang⇤
⇤ Viªn iªn t˚ Viπn thông, §i hÂc Bách Khoa Hà NÎi
Tóm t≠t nÎi dung—D¸a trên s¸ phát tri∫n cıa công nghª trí
tuª nhân t§o, các robot t¸ Îng thu ho§ch trái cây ã và ang
˜Òc nghiên c˘u rÎng rãi và b˜Óc ¶u ˘ng dˆng trong th¸c t∏
s£n xußt Trong ó, bài toán nh™n d§ng các lo§i qu£ d¸a trên
các mô hình hÂc máy là b˜Óc quan trÂng ∫ robot có th∫ nh™n
bi∏t ˜Òc úng lo§i trái cây c¶n thu ho§ch, t¯ ó tính toán các
chuy∫n Îng v∑ cÏ khí và i∑u khi∫n ∫ th¸c hiªn viªc thu ho§ch
trái cây Ngoài ra thu™t toán ˘ng dˆng trong các robot t¸ Îng
c¶n có yêu c¶u tËi ˜u v∑ hiªu n´ng tính toán trên thi∏t b‡ nhúng.
Trong các thu™t toán nh™n d§ng cıa bài toán hÂc máy có giám
sát, thu™t toán Single Shot MutiBox Detector (SSD) cho thßy kh£
n´ng ˘ng dˆng lÓn vÓi tËc Î tính toán nhanh và Î chính xác
cao Bài báo này trình bày v∑ ph˜Ïng pháp nh™n d§ng các lo§i
qu£ thân gÈ có Î ph˘c t§p hÏn trong bài toán nh™n d§ng và thu
ho§ch nh˜ táo, cam, xoài, s˚ dˆng thu™t toán SSD Thu™t toán
˜Òc tri∫n khai th˚ nghiªm trên ph¶n c˘ng nhúng Rasberry Pi
3+ cho k∏t qu£ nh™n d§ng các lo§i qu£ theo thÌi gian th¸c vÓi
k∏t qu£ Î chính xác khá cao, có th∫ ˘ng dˆng cho robot t¸
Îng thu ho§ch.
Index Terms—object detection, fruits detection, SSD
I GIŒI THIõU Thu ho§ch trái cây hiªn t§i là công viªc tËn nhi∑u thÌi
gian, công s˘c và chi phí do chı y∏u s˚ dˆng nhân l¸c t§i
chÈ Trong thÌi §i công nghiªp hóa, hiªn §i hóa h˜Óng tÓi
cuÎc cách m§ng công nghiªp 4.0 thì nông nghiªp thông minh
ang ˜Òc ˜u tiên nghiên c˘u và phát tri∫n, trong ó, robot
t¸ Îng thu ho§ch trái cây, góp ph¶n gi£m s˘c lao Îng cıa
con ng˜Ìi ang ngày càng ˜Òc nghiên c˘u phát tri∫n Có rßt
nhi∑u robot, máy móc ra Ìi giúp cho viªc thu ho§ch tr nên
dπ dàng hÏn [1] [2] th∏ nh˜ng các lo§i máy móc này òi h‰i
viªc quy ho§ch nông s£n ph£i úng theo tiêu chu©n nh˜ nho
hay dâu tây Viªc thu ho§ch các lo§i trái cây thân gÈ khác nh˜
táo, cam, xoài thì l§i ph˘c t§p hÏn vì chúng mÂc khußt sau tán
lá, không dπ dàng nhìn thßy giËng nho vÓi dâu tây Vì v™y, các
lo§i trái cây này c¶n mÎt thi∏t b‡ có th‡ giác máy tính m§nh
m≥, có kh£ n´ng nh™n d§ng chính xác v‡ trí trái cây c¶n thu
ho§ch, Áng thÌi yêu c¶u tËc Î x˚ l˛ nhanh ∫ t´ng n´ng xußt
thu ho§ch Cùng vÓi s¸ phát tri∫n m§nh m≥ cıa công nghª trí
tuª nhân t§o nói chung và th‡ giác máy tính nói riêng, viªc
x˚ l˛ £nh, nh™n d§ng Ëi t˜Òng d¶n mang l§i hiªu qu£ cao
cho các bài toán th¸c t∏ Có rßt nhi∑u thu™t toán nghiên c˘u
tr˜Óc ây s˚ dˆng cho bài toán xác ‡nh Ëi t˜Òng trong £nh
nh˜ RCNN, Faster RCNN, YOLO, th∏ nh˜ng SSD cıa Wei
liu [3] ˜Òc nghiên c˘u mang l§i k∏t qu£ chính xác và tËc Î
x˚ l˛ nhanh và v˜Òt trÎi hÏn Trong bài báo này chúng tôi
∑ xußt s˚ dˆng mô hình Single Shot Detector (SSD) [3] vÓi m§ng cÏ s MobileNet [4] t´ng Î chính xác và tiªn lÒi khi s˚ dˆng cho các máy tính nhúng trên các robot t¸ Îng Bài báo ˜Òc chia làm 2 ph¶n chính Ph¶n 1 là ki∏n trúc thu™t toán SSD mà chúng tôi s˚ dˆng, ph¶n 2 là k∏t qu£ ki∫m tra cıa thu™t toán và th£o lu™n h˜Óng phát tri∫n sau này
II THUäT TOÁNSSDCHO BÀI TOÁN NHäN DÑNG QUÉ Bài toán nh™n d§ng qu£ là mÎt d§ng cıa bài toán nh™n d§ng Ëi t˜Òng (object detection) Mˆc tiêu cıa bài toán này
là xác ‡nh ˜Òc v‡ trí cıa Ëi t˜Òng có trong £nh và phân lo§i
˜Òc Ëi t˜Òng ó d¸a trên quá trình hÂc và ào t§o t¯ tr˜Óc D¸a vào cách th˘c th¸c hiªn bài toán ng˜Ìi ta chia "object detection" ra làm hai nhóm chính là "two-step object detection"
và "one-step object detection" Cˆ th∫, "two-step" là ph˜Ïng pháp nh™n diªn Ëi t˜Òng thông qua 2 b˜Óc, b˜Óc (1) là s˚ dˆng các thu™t toán selective search [5], region proposal [7] tìm ˜Òc hÎp bao quanh Ëi t˜Òng và b˜Óc (2) là s˚ dˆng ki∏n th˘c hÂc máy ∫ phân lo§i Ëi t˜Òng trong hÎp ó Tiêu bi∫u cho nhóm này là các thu™t toán: Regions with Convolutional Neural Network (RCNN) [6], Faster-RCNN [7] Các ph˜Ïng pháp "two-step" có Î chính xác cao khi phát hiªn Ëi t˜Òng nh˜ng vì ph£i qua hai b˜Óc nên tËc Î x˚ l˛ ch™m Chính vì th∏ nhóm ph˜Ïng pháp "one-step" ra Ìi ∫ gi£i quy∏t vßn ∑ v∑ thÌi gian x˚ l˛ "One-step" k∏t hÒp c£ hai b˜Óc là xác ‡nh v‡ trí và phân lo§i Ëi t˜Òng, nó s≥ t§o ra vô sË các hÎp có trong £nh và d¸ oán t˘c thÌi viªc có Ëi t˜Òng trong hÎp £nh
ó không và chÂn ra hÎp có xác sußt ch˘a Ëi t˜Òng cao nhßt Tiêu bi∫u cıa nhóm này là các ph˜Ïng pháp: You Only Look Once (YOLO) [8], Single Shot MultiBox Detector (SSD) [3] Trong bài báo này chúng tôi s˚ dˆng ph˜Ïng pháp SSD cho bài toán nh™n d§ng thÌi gian th¸c vì SSD có Î chính xác và thÌi gian x˚ l˛ d˙ liªu nhanh hÏn
A GiÓi thiªu v∑ SSD
"Single Shot Detector", là mÎt d§ng cıa "one-step detector", dùng ∫ nh™n d§ng nhi∑u Ëi t˜Òng và ph˜Ïng pháp này Î chính xác lÓn hÏn so vÓi thu™t toán "one-step" khác nh˜ YOLO (You Only Look Once) và c£i thiªn áng k∫ v∑ tËc Î so vÓi ph˜Ïng pháp "two-step" khác nh˜ Faster R-CNN Cßu t§o cıa SSD là d¸ oán xác sußt có Ëi t˜Òng và ví trí cıa hÎp bao quanh vÓi nh˙ng hÎp m∞c ‡nh ∞t tr˜Óc s˚ dˆng lÓp tích ch™p
"convolutional" ∫ lßy ra b£n Á ∞c tr˜ng "feature map" T§i mÈi v‡ trí trên "feature map", SSD ∞t các hÎp bao "default
Trang 2bounding box" vÓi kích th˜Óc, t lª khác nhau Trong quá trình
x˚ lí, SSD s≥ ánh giá và tìm Ëi t˜Òng trên các "bounding
box" này nh¨m tìm ra hÎp phù hÒp nhßt vÓi Ëi t˜Òng c¶n
tìm ki∏m Thêm vào ó, b¨ng viªc tìm ki∏m trên các "feature
map" khác nhau, SSD có th∫ tìm ki∏m các Ëi t˜Òng vÓi kích
th˜Óc khác nhau mà không c¶n thay Íi kích th˜Óc cıa các
"bounding box"
fi t˜ng chính cıa SSD ∏n t¯ viªc s˚ dˆng các "bounding
box", b¨ng viªc khi t§o sÆn các box t§i mÈi v‡ trí trên £nh,
SSD s≥ tính toán và ánh giá thông tin t§i mÈi v‡ trí xem v‡
trí ó có v™t th∫ hay không, n∏u có thì là v™t th∫ nào, và d¸a
trên k∏t qu£ cıa các v‡ trí g¶n nhau, SSD s≥ tính toán ˜Òc
mÎt "bounding box" phù hÒp nhßt bao trÂn v™t th∫ Nh˜ mô
Hình 1: Cách ho§t Îng cıa SSD [3]
t£ trên Hình 1, SSD t§o ra rßt nhi∑u box có kích th˜Óc, khác
nhau ∫ bao quanh Ëi t˜Òng Hình 1a là hình £nh c¶n xác
‡nh vÓi "ground truth boxes" (hÎp s¸ th™t) bao quanh hai Ëi
t˜Òng là con mèo và con chó Hình 1b vÓi "feature map" 8x8
ta s≥ chÂn ra ˜Òc hÎp phù hÒp và bao ˜Òc con mèo nh˜ng
không th∫ tìm ra hÎp phù hÒp vÓi con chó Nh˜ng hình 1c
ta có th∫ thßy vÓi "feature map" 4x4 chúng ta s≥ có hÎp phù
hÒp vÓi hình £nh con chó, nh˜ v™y viªc phát hiªn Ëi t˜Òng
tr nên Ïn gi£n hÏn Có th∫ nh™n thßy sau khi xác ‡nh ˜Òc
hÎp phù hÒp vÓi Ëi t˜Òng SSD s≥ tr£ v∑ k∏t qu£ là v‡ trí cıa
Ëi t˜Òng và xác sußt có Ëi t˜Òng có trong £nh
B Ki∏n trúc SSD
Hình 2: Ki∏n trúc cıa SSD s˚ dˆng MobileNets là mô hình
cÏ s cho bài toán nh™n d§ng qu£
Nh˜ mô t£ trên hình 2, SSD chia làm 3 nhóm layers chính
là m§ng nÏ-ron tích ch™p "Convolutional Neural Network"
(CNN) s˚ dˆng m§ng MobileNet [4] làm base network ∫ tìm
các ∞c tr˜ng cıa £nh, t¶ng "extra feature layers" dùng ∫ phát
hiªn Ëi t˜Òng và cuËi cùng là "non-maximum suppression"
∫ l¸a chÂn hÎp tËi ˜u nhßt Wei Liu [3] ã giÓi thiªu v∑ SSD vÓi mô hình ˜Òc ào t§o tr˜Óc là VGG16 [9] tuy nhiên mô hình VGG16 có mÎt sË h§n ch∏ v∑ tËc Î và Î ph˘c t§p Do
ó, trong bài báo này chúng tôi s˚ dˆng ∏n mÎt mô hình ào t§o khác là MobileNet [4]
M∞c dù các m§ng nh˜ VGG16, ResNet, GoogleNet, có
Î chính xác cao nh˜ng Íi l§i, Î ph˘c t§p trong tính toán cÙng cao d®n ∏n tËc Î x˚ l˛ ch™m, gây khó kh´n trong viªc tích hÒp lên các ph¶n c˘ng nhúng hay các robot t¸ hành MobileNet ra Ìi ˜Òc thi∏t k∏ ∫ tËi a hóa Î chính xác mÎt cách hiªu qu£ Áng thÌi l˜u ˛ ∏n các tài nguyên b‡ h§n ch∏ cho ˘ng dˆng trên thi∏t b‡ ho∞c ˘ng dˆng nhúng MobileNet
là các mô hình nh‰, Î trπ thßp, công sußt thßp ˜Òc tham sË hóa ∫ áp ˘ng các h§n ch∏ v∑ tài nguyên cıa nhi∑u tr˜Ìng hÒp s˚ dˆng
B£ng I [4] và b£ng II [4] d˜Ói ây là mÎt sË so sánh cıa 2
mô mình VGG16 và MobileNet MobileNet có Î chính xác g¶n vÓi VGG16 trong khi cßu trúc m§ng nh‰ hÏn 32 l¶n và sË phép tính nh‰ hÏn 27 l¶n Do ó, MobileNet ˜Òc ˘ng dˆng phÍ bi∏n cho các mô hình nhúng trên các thi∏t b‡ ph¶n c˘ng
và phù hÒp vÓi yêu c¶u bài toán cıa robot t¸ Îng thu ho§ch
B£ng I: So sánh MobileNet vÓi VGG16 Model ImageNetAccuracy MillionMult-Adds MillionParameters 1.0 MobileNet-224 70.6% 569 4.2
B£ng II: So sánh k∏t qu£ cıa bài toán nh™n d§ng vÓi COCO dataset s˚ dˆng thu™t toán SSD và ki∏n trúc m§ng khác nhau Model mAP AddsBillion Mult- MillionParameters
Ba công nghª cËt lõi ˜Òc nh≠c ∏n cıa ki∏n trúc m§ng SSD là: "multi-scale feature maps for prediction" (chia nhi∑u
t lª b£n Á ∞c tr˜ng cho d¸ oán), "convolutional predictors for detection" (d¸ oán tích ch™p ∫ phát hiªn) và "default boxes and aspect ratios" (hÎp m∞c ‡nh và t lª khung hình)
1) Multi-scale feature maps for detection: Sau khi trích
xußt các ∞c tr˜ng t¯ m§ng cÏ s VGG16 ng˜Ìi ta thêm các lÓp m§ng tích ch™p vÓi lõi khác nhau B¨ng viªc s˚ dˆng các
bÎ lÂc "filter", kích th˜Óc cıa các "feature map" s≥ gi£m d¶n theo Î sâu cıa m§ng, hÈ trÒ cho viªc phát hiªn v™t th∫ các kích th˜Óc và tø lª khác nhau
2) Convolutional predictors for detection: Nh˜ mô t£ trên
hình 2, các lÓp tích ch™p sau khi ã trích xußt ra m§ng l˜Ói tính n´ng ∞c tr˜ng b¨ng MobileNet s≥ ˜Òc tính toán ∫ tìm
ra các giá tr‡ d¸ oán cho lÓp nh™n d§ng cuËi cùng SSD s˚ dˆng các nhân "kernel" có kích th˜Óc nh‰ trong tích ch™p tính toán luôn s¸ d¸ oán cho viªc phân lo§i Ëi t˜Òng thuÎc phân lÓp nào ây chính là i∫m khác biªt cıa SSD so vÓi các thu™t toán RCNN
Trang 33) Default boxes and aspect ratios: Nh˜ trên hình 1, t§i
mÈi £nh khi t§o mÎt "feature map" có kích th˜Óc mxn, t§i
mÈi ô "cell" cıa "feature map" khi t§o các hÎp m∞c ‡nh
"default boxes" Vì các ô "cell" là cË ‡nh nên các hÎp m∞c
‡nh này cÙng là cË ‡nh Khác vÓi Faster RCNN các hÎp m∞c
‡nh trong SSD ˜Òc s˚ dˆng vÓi các tø lª khác nhau d®n ∏n
các hÎp này s≥ bao chính xác vÓi Ëi t˜Òng c¶n tính hÏn T§i
mÈi hÎp m∞c ‡nh "default box", thu™t toán s≥ tính toán xác
sußt d¸ oán cıa t¯ng lÓp Ëi t˜Òng (class) trong t™p hÒp gÁm
c Ëi t˜Òng (classes) ˜Òc ào t§o và 4 i∫m ban ¶u cıa hÎp
m∞c ‡nh Nh˜ v™y n∏u có k "default boxes" s≥ có (c+4).k
outputs mÈi cell và n∏u có mxn "feature maps" thì s≥ có
(c+4).k.m.n outputs Vì v™y, ∫ ánh giá mô hình SSD, chúng
tôi s˚ dˆng hàm loss ∫ ánh giá d¸a trên sai sË cıa hai Ëi
t˜Òng là localization loss (loc) và confidance loss (conf), t˘c
là hàm lÈi cıa v‡ trí và hàm lõi cıa d¸ oán Ëi t˜Òng Chúng
ta có th∫ tính giá tr‡ hàm loss theo công th˘c (1) d˜Ói ây [3]:
Ł = 1
Trong ó N là sË l˜Òng bounding box phù hÒp trên, n∏u
N=0 thì loss = 0
Hàm loss cıa v‡ trí box ˜Òc tính b¨ng Smooth L1 loss gi˙a
hÎp d¸ oán (l) và hÎp s¸ th™t úng (g) VÓi các tham sË nh˜
i∫m chính gi˙a (cx,cy) cıa default box (d) và chi∑u dài (h)
và chi∑u rÎng (w) Hàm loss v∑ viªc xác ‡nh v‡ trí object
˜Òc tính toán theo công th˘c (2) [3]:
Łloc(x, l, g) =
N
X
i 2P os
X
m 2cx,cy,w,h
xkijsmoothL1(lmi gjm) (2)
gjcx= (gjcx dcxi )/dwi gjcy= (gjcy dcyi )/dhi
gwj = logg
w j
dw j
ghj = logg
h j
dh j
Hàm loss cıa viªc phân lÓp Ëi t˜Òng là softmax loss vÓi
nhi∑u lÓp Ëi t˜Òng (c) ˜Òc tính d¸a theo công th˘c (3) [3]:
Łconf(x, y) =
N
X
i 2P os
xpijlog(cpi)
N
X
i 2Neg
log(c0i) (3) trong ó
cpi = exp c
p i
P
pexp cpi
C Hußn luyªn thu™t toán SSD cho bài toán nh™n d§ng qu£
1) Chu©n b‡ d˙ liªu: Bài toán nh™n d§ng Ëi t˜Òng c¶n
mÎt l˜Òng lÓn d˙ liªu ∫ hußn luyªn mô hình Trong bài báo
này chúng tôi s˚ dˆng £nh hußn luyªn t¯ nhi∑u nguÁn khác
nhau nh˜ Google, Pixabay, và mÎt sË d˙ liªu lßy t¯ £nh chˆp
th¸c t∏ bên ngoài MÈi Ëi t˜Òng chúng tôi chu©n b‡ 200 £nh
bao gÁm 3 lo§i qu£ phÍ bi∏n Viªt Nam: táo, cam, xoài MÈi
£nh trong t™p d˙ liªu ˜Òc gán nhãn t˜Ïng ˘ng vÓi tên Ëi
t˜Òng, và chúng tôi s˚ dˆng công cˆ ∫ gán nhãn là labelImg
[10] Công cˆ này s≥ tr£ v∑ thông tin cıa Ëi t˜Òng theo chu©n
PASCAL VOC cıa ImageNet [11] Hình 3 mô t£ mÎt sË d˙
liªu trong t™p d˙ liªu cıa chúng tôi
Hình 3: MÎt sË hình £nh cıa dataset vÓi hÎp bao quanh ˜Òc gán vÓi Ëi t˜Òng
2) Hußn luyªn mô hình SSD: D¸a trên mô hình SSD ã
nêu lên trên, chúng tôi hußn luyªn mô hình nh™n d§ng các lo§i qu£ b¨ng cách s˚ dˆng n∑n t£ng GPU cıa Geforce GTX 1080Ti (11GB GDDR5X, tËc Î bÎ nhÓ 11Gbps vÓi NVIDIA
3584 Cores) ch§y vÓi Ubuntu 18.04
Chúng tôi s˚ dˆng Tensorflow API ˜Òc ∞t các giá tr‡: learning rate là 0.0001 và tÍng sË vòng ch§y mô hình là 50k ThÌi gian hußn luyªn mô hình là hÏn 10 giÌ
Hình 4: Thi∏t k∏ tri∫n khai hª thËng nh™n d§ng qu£
3) Tri∫n khai mô hình lên máy tính nhúng Raspberry Pi 3B+: Chúng tôi ∑ xußt s˚ dˆng máy tính nhúng nh‰ gÂn
có giá thành r¥, tËc Î tính toán nhanh ó là Raspberry
Pi 3B+ Thi∏t b‡ có chip 4 nhân 64-bit có tËc Î 1.4GHz Phiên b£n mÓi còn hÈ trÒ Wifi Dual-band 2.4GHz và 5GHz, Bluetooth 4.2/Bluetooth Low Energy, cÍng Ethernet tËc Î cao (300Mbps) và Power over Ethernet (PoE) thông qua PoE HAT [12] có th∫ hÈ trÒ giao ti∏p t¯ xa
D¸a trên nh˙ng ˜u i∫m nÍi b™t trên cùng vÓi giá thành r¥, chúng tôi l¸a chÂn Raspberry ∫ tri∫n khai mô hình nh™n d§ng các lo§i qu£ ã hußn luyªn trên và d¸ ki∏n ˘ng dˆng vào robot thu ho§ch nh˜ ˜Òc th∫ hiªn hình 4
III KòT QUÉ VÀ THÉO LUäN Trong ph¶n này, chúng tôi s≥ bi∫u diπn k∏t qu£ nh™n d§ng các lo§i qu£ s˚ dˆng thu™t toán SSD và m§ng MobileNet nh˜
ã trình bày ph¶n II K∏t qu£ có ˜Òc s˚ dˆng máy tính nhúng Raspberry Pi 3B+ ∫ ti∏n hành nh™n d§ng và i∑u khi∫n robot t¸ hành
Trang 4A K∏t qu£
Hình 5 d˜Ói ây là mÎt sË k∏t qu£ khi ch§y mô hình nh™n
d§ng các lo§i qu£ s˚ dˆng SSD ˜Òc hußn luyªn trên
Hình 5: K∏t qu£ nh™n d§ng các lo§i qu£ b¨ng thu™t toán SSD
Khi cho £nh c¶n ki∫m tra có ch˘a Ëi t˜Òng nh™n d§ng s≥
cho ra k∏t qu£ là hÎp bao quanh Ëi t˜Òng, tên Ëi t˜Òng và
xác sußt d¸ oán cıa Ëi t˜Òng ó Nh™n thßy k∏t qu£ thu
˜Òc là chính xác vÓi i∫m sË khá cao K∏t qu£ này là tËt Ëi
vÓi ˘ng dˆng thu ho§ch trái cây mà chúng tôi ang h˜Óng tÓi
B Th£o lu™n
– ph¶n này, chúng tôi s≥ th£o lu™n v∑ ‡nh h˜Óng phát tri∫n
cıa nghiên c˘u này cho bài toán nh™n d§ng các lo§i qu£ cho
robot thu ho§ch t¸ Îng Viªc nh™n d§ng các lo§i qu£ b¨ng
ph˜Ïng pháp SSD em l§i ˜Òc k∏t qu£ tËt, là n∑n t£ng b˜Óc
¶u cho nghiên c˘u ti∏p theo sau này Tuy nhiên ∫ có th∫
áp dˆng cho các lo§i qu£ a d§ng hÏn v∑ hình dáng và màu
s≠c thì mô hình chúng tôi c¶n ph£i ˜Òc c£i thiªn nhi∑u hÏn
n˙a ∫ tËi ˜u v∑ Î chính xác và tËc Î tính toán Công viªc
chu©n b‡ cÏ s d˙ liªu phˆc vˆ cho ào t§o c¶n ˜Òc th¸c
hiªn nhi∑u hÏn vÓi kh£o sát th¸c t∏ t§i v˜Ìn cây vÓi i∑u kiªn
ngo§i c£nh khác nhau, hình d§ng kích th˜Óc, i∑u kiªn ánh
sáng khác nhau
Bên c§nh viªc xác ‡nh ˜Òc Ëi t˜Òng trong £nh thì viªc
tính toán v‡ trí t¯ Ëi t˜Òng ∏n £nh và qua ó là ∏n cánh
tay robot s≥ giúp viªc th¸c hiªn thao tác thu ho§ch ˜Òc chính
xác hÏn
Hª thËng chúng tôi ∑ xußt ˜Òc mô t£ Hình 6 Robot thu
ho§ch ˜Òc trang b‡ k∏t hÒp camera RGB thông th˜Ìng vÓi k∏t
hÒp vÓi mÎt camera o kho£ng cánh (depth camera) Hai b˘c
£nh thu ˜Òc s≥ ˜Òc Áng thÌi x˚ l˛ Énh RGB thông qua
thu™t toán SSD s≥ nh™n d§ng và xác ‡nh ˜Òc các lo§i qu£
cÙng nh˜ óng khung ˜Òc v‡ trí cıa qu£ trên £nh Énh Î
sâu mang thông tin v∑ kho£ng cách t¯ camera ∏n Ëi t˜Òng
Tuy nhiên do 2 camera khác nhau nên £nh thu ˜Òc là khác
nhau ∫ tính toán ˜Òc kho£ng cách t¯ qu£ ∏n robot, thu™t
toán "calibration" ∫ k∏t hÒp hai b˘c £nh này là c¶n thi∏t T¯
ó, vÓi thông tin v∑ v‡ trí cÙng nh˜ kho£ng cách cıa Ëi t˜Òng
qu£ c¶n thu ho§ch, cÏ ch∏ i∑u khi∫n robot có th∫ t¸ Îng thu
ho§ch nông s£n mÎt cách chính xác hÏn
Hình 6: Hª thËng nh™n d§ng trái cây cho robot thu ho§ch k∏t hÒp camera o kho£ng cách
TÀI LIõU [1] Kondo, N.; Monta, M.; Noguchi, N “Agricultural Robots: Mechanisms and Practice“ on Trans Pacific Press: Balwyn North Victoria, Australia, 2011.
[2] Bac, C.W.; van Henten, E.J.; Hemming, J.; Edan, Y “Harvesting Robots for High-Value Crops: State-of-the-Art Review and Challenges Ahead.“
on J Field Robot 2014, 31, 888–911 [3] W.Liu, A Anguelov, D Erhan, C Szegedy, S Reed, C Y Fu and A Berg, “SSD: Single Shot MultiBox Detector.” In ECCV(2016).
[4] A G Howard, M Zhu, B Chen, D Kalenichenko, W Wang, T Weyand,
M Andreetto and Ha Adam, “ MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.” In arXiv:1704.0486v1 (2017)
[5] Jasper R R UijlingsK E A SandeT GeversT GeversArnold W M SmeuldersArnold W M Smeulders, “ Selective Search for Object Recog-nition” in International Journal of Computer Vision, 2013
[6] R Girshick, J Donahue, T Darrell and J Malik, “Rich Feature Hier-archies for Accurate Object Detection and Semantic Segmentation” In
2014 IEEE Conference on Computer Vision and Pattern Recognition [7] S Ren, K He, R Girshick, and J Sun, “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks” In IEEE Transactions on Pattern Analysis and Machine Intelligence ( Volume: 39 , Issue: 6 , June 1 2017 )
[8] J Redmon, S Divvala, R Girshick, and A Farhadi, “You Only Look Once: Unified, Real-Time Object Detection” In 2016 IEEE Conference
on Computer Vision and Pattern Recognition (CVPR) [9] Karen Simonyan, Andrew Zisserman, “Very deep Convolutional Networks for large-scale image recognition“ in Published as a conference paper at ICLR 2015.
[10] labelImg, 2017, [online] Available: https://github.com/tzutalin/labelImg
(accessed on Jul 6, 2020) [11] ImageNet, [online] Available: http://www.image-net.org/ (accessed on Jul 6, 2020)
[12] Raspberry, [online] Available:https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/?resellerType=home