Ứ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ả

pdf 5 trang Gia Huy 19/05/2022 4390
Bạn đang xem tài liệu "Ứ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ả", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfung_dung_thuat_toan_mobilenet_ssd_ket_hop_canh_tay_robot_tro.pdf

Nội dung text: Ứ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ả

  1. 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 Mobile Net – 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 Tóm tắt – Bài báo nghiên cứu trình bày một ứng dụng của Xử lý các và đưa ra kết quả phân loại chất lượng hoa quả thuật toán nhận diện MobileNetV1-SSD trong việc nhận diện và theo thời gian thực. phân loại hoa quả, cụ thể ở bài báo này là quả chanh. Ứng dụng Năm 2016, nhóm tác giả Wei Liu đã đưa ra một kiến trúc 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 mới (Kiến trúc thuật toán) có tên Single Shot MultiBox thi tác vụ nhanh. Do đó, bằng việc tích hợp thuật toán phát hiện Detector (SSD) [1]. Đến năm 2017, nhóm tác giả của Andrew và phân loại chanh MobileNetV1-SSD trên nền tảng máy tính G. Howard đưa ra một một kiến trúc mạng trích xuất đặc trưng nhúng Jetson Nano với thời gian phân loại hoa quả theo thời gian mới là MobileNet [2]. Mạng mới này giúp giảm thiểu khối thực. lượng tính toá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, truyền thống. Kết hợp với phương pháp SSD xử lý trên từng lớp MobileNet, Single Shot MultiBox Detector. đặ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ố lượng phép tính được giảm từ tám đến chín lần so với phương Đề tài “Ứng dụng thuật toán nhận diện MobileNet – SSD pháp truyền thống nhờ kiến trúc MobileNet. Khả năng trích trong việc nhận diện chanh ta, sử dụng cánh tay robot thực hiện xuất đặc trưng cũng được cải thiện nhờ phương pháp SSD. phân loại” được khởi xướng từ một thực trạng của ngành nông MobileNetV1 – SSD dễ dàng được cải đặt và triển khai trên các nghiệp Việt Nam. Theo số liệu thống kê, chanh được trồng ở hệ máy tính có cấu hình thấp [2]. 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, Năm 2020, nhóm tác giả Valdez, Paolo đã ứng dụng các Singapore, Liên minh Châu Âu và các nước Trung Đông. 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ả đã Tuy nhiên, những quả chanh tốt ngoài khâu canh tác tốt, đánh giá tốc độ và độ chính xác của hai mô hình vào bài toán cần có các giai đoạn xử lý khi thu hoạch quả đạt chuẩn để chọn nhận diện thực tế. Machine Learning ngày càng được ứng dụng lựa ra những sản phẩm có chất lượng tốt và phải đảm bảo nhữ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 sản phẩm đó giữ nguyên trạng thái tốt nhất, đáp ứng các tiêu chí dụng nhận diện nông sản sử dụng Machine Learning vào các khắt khe của các thị trường khó tính như Nhật Bản, Hàn ứng dụng bán lẻ, nhóm tác giả Frida Femling thực hiện việc Quốc, nhận diện nông sản để truy xuất nhanh các dữ liệu liên quan đến Về vấn đề kinh tế, con người có nhiều nhược điểm để có sản phẩm đó, thay vì việc phải gán mã số cho từng sản phẩm, thể nâng cao hiệu suất. Thứ nhất, cần một số lượng lớn nhân thuận tiện cho người bán hàng [5]. Vận dụng các ý tưởng đó, công cho việc phân loại. Thứ hai, tốc độ của con người chưa đủ bài báo này sử dụng MobileNetV1-SSD trong việc nhận diện, khả năng để đáp ứng mỗi mùa thu hoạch. Cuối cùng, con người phân loại vật thể và sử dụng cánh tay Robot để gắp quả chanh bị cản trở bởi nhiều yếu tố như cảm tính, sức khỏe, Bởi vậy, 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 Trong bài báo này trình bày ba đóng góp chính: việc lặp đi lặp lại, cải thiện tốc độ và giảm sức người. Tổng quan về cấu trúc hệ thống. Trong mục này chúng Hệ thống cần đảm bảo về các yếu tố: 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. Nhỏ gọn, bền bi, dễ dàng hoạt động để có thể dễ dàng Kỹ thuật AI (Artificial Intelligence – Trí tuệ nhân tạo) vận chuyển. được sử dụng trong bài toán. Tại phần này bài báo trình 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
  2. 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 Thành phần xử lý kết quả thuật toán phù hợp cho các thiết bị có cấu hình thấp. Phần cứng bao gồm bộ xử lý trung tâm Jetson Nano, mạch Cuối cùng là kết quả ứng dụng. Bài báo đưa ra các số liệu PCA9685, cánh tay robot 6 bậc tự do. PCA9685 được kết nối về đánh giá về hàm Mất mát, độ chính xác của mô hình với Jetson Nano thông qua giao tiếp I2C qua bus thứ nhất. Chân đã được đào tạo. 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 II. CẤU TRÚC HỆ THỐNG Jetson Nano. PCA9685 đóng vai trò giải mã địa chỉ và nhận tín A. Tổng quan hệ thống hiệu điều khiển năm động cơ từ Jetson Nano. Hệ thống Nhận diện và phân loại hoa quả được phát triển III. KỸ THUẬT AI 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 A. Sơ đồ tổng quan thuật toán nhúng Jetson Nano, trực tiếp nhận diện và điều khiển cánh tay Robot. Hình 2. Sơ đồ tổng quan phân loại chanh Hình 1. Sơ đồ tổng quan hệ thống phân loại hoa quả 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 Khi chanh được đưa vào băng chuyền trước tiên sẽ được ảnh và xác định từng đối tượng. Bài toán có đầu vào là ảnh màu vận chuyển đến khu vực đặt camera dùng để thu thập dữ liệu và kết quả là vị trí của các đối tượng trong ảnh. 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 Tiếp đến là bài toán Phân loại. Bài toán Phân loại là quá nhúng được tối ưu với thuật toán phát hiện và phân loại chanh trình phân lớp một đối tượng dữ liệu vào một hay nhiều lớp đã theo thời gian thực Khi hình ảnh đã được gửi tới Jetson Nano cho trước nhờ một mô hình phân lớp. Thuật toán được xây dựng thì sẽ được xử lý bằng mô hình phân loại chanh đã qua đào tạo dựa trên một tập dữ liệu được xây dựng trước đó có gán nhãn. từ trước trên bộ dữ liệu ảnh chanh tự thu thập. Đầu ra của hệ B. Mô hình kiến trúc MobileNet thống là ảnh chanh đã được gán nhãn chất lượng: hình ảnh gán MobileNet là một mô hình kiến trúc mạng tích chập (CNN – nhãn “good” khi là chanh chất lượng tốt và hình ảnh được gán convolution neural network) được sử dụng cho việc Phân loại nhãn “bad” khi là chanh chất lượng xấu. Kết quả phân loại được hình ảnh và Tìm vật thể trong ảnh hoặc video . Mô hình này dùng để điều khiển hành động của cánh tay Robot. được thiết kế tối ưu về tốc độ tính toán các lớp tích chập và B. Chi tiết các thành phần giảm bớt số lượng tham số trong mô hình. Điều này khiến cho Thành phần nhận diện và phân loại kiến trúc MobileNet phù hợp với các thiết bị di động, hay những Phần cứng bao gồm bộ xử lý trung tâm Jetson Nano, chiếc máy tính nhúng với cấu hình thấp như Rasberry Pi hay camera ghi lại hình ảnh của quả chanh trong thời gian thực. Jetson Nano, Google TPU Dev Board, Chanh được di chuyển từ nơi bắt đầu tới khi khu vực camera Spatitial Separable Convolutions (SSC) nhận diện trên một băng chuyền. Camera sẽ truyền hình ảnh tới So với mạng nơ-ron tích chập truyền thống, SSC giúp giải Jetson Nano để xử lý và phân loại chanh. Kết quả phân loại quyết các bài toán theo thời gian thực khả thi hơn rất nhiều. SSC được đưa vào một mảng kết quả, sau đó, tiến trình điều khiển 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 tham số về chiều của không gian của ảnh và kernel, nghĩa là với tay Robot, đưa quả chanh tới hộp chất lượng tương ứng. chiều rộng (width), chiều dài (height) và số lượng kênh (depth). ISBN: 978-604-80-5076-4 337
  3. 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 Từ công thức (2.4), so sánh với Standard convolution (2.1), Convolutions [2]. DSC chia một kernel thành hai kernel riêng ta thu được: biệt là Depthwise Convolution và Pointwise Convolution để (, , , ) 1 1 (, ) = = + (2.5) 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. 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] Mạng trích xuất Kiến trúc mAP Số lượng tham số đặc trưng Hình 3. Depthwise Convolution Filter Deeplab-VGG 21.1% 33.1 M Đối với phép tính tích chập truyền thống (standard SSD 300 Inception V2 22.0% 13.7 M convolution), hàm chi phí tính toán có công thức: MobileNetV1 19.3% 6.8 M (, , , ) = ∗ ∗ ∗ ∗ ∗ (2.1) Từ Bảng 1 ta nhận thấy số lượng phép tính và số lượng Trong đó, hàm chi phí trên phụ thuộc vào số lượng kênh đầu tham số của MobileNet so với các kiến trúc tiền nhiệm ít hơn rõ rệt. 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 Kiến trúc của MobileNet 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 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 toá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 Kiến trúc của MobileNet - SSD được xây dựng trên kiến thức (2.2) và (2.3), hàm chi phí tính toán của Depthwise trúc MobileNet. SSD có thể nhận diện vật thể với các lớp khác Separable Convolution sẽ là: nhau. (, , , ) = ∗ ∗ ∗ ∗ (2.4) ISBN: 978-604-80-5076-4 338
  4. 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 Từ đồ thị trên Hình 8 ta có nhận xét, hàm Mất mát trong Hàm Mất mát của thuật toán SSD có công thức: quá trình đào tạo là dạng dốc thoải. Từ epoch 0 đến 60 hàm Mất 1 mát giảm mạnh sau đó từ epoch 90 đến 99 thì hàm Loss có xu (, , , ) = ( (, ) + (, , )) (2.6) 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 Trong đó N là số lượng matched default boxes. Nếu = hàm Mất mát đạt giá trị nhỏ nhất xấp xỉ 0.4027, ta chọn mô hình 0, loss có giá trị mặc định là 0. 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 Bảng 2. Kết quả tiến hành thử nghiệm trên tập Test Tiến hành thử nghiệm trên tập Training Mô hình Kiến trúc mô Số lượng Độ chính hình hình ảnh xác (%) trên tập Test MobileNet lemon.onx 106 96.23% V1 Hình 7. Sơ đồ quá trình huấn luyện Số lượng hình ảnh trên tập Test là 106, kết quả nhận diện Quá trình như mô tả trên Hình 7 bắt đầu bằng việc đưa bộ đúng là 102 ảnh, sai 4 ảnh. Bài báo kết luận độ chính xác của đưa bộ dữ liệu bao gồm tập Train và tập Validation đã được thu mô hình đạt 96.23%. thập từ trước lên Google Colab. Khi bộ dữ liệu đã được tải lên Một vài hình ảnh về kết quả thử nghiệm trên tập Test: 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ó Hình 9. Kết quả thực nghiệm nhận diện thể dừng lại để tránh hiện tượng mô hình bị quá khớp. 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 Hình 8. Biểu đồ hàm Mất mát của mô hình MobileNetV1 – SSD loại chanh trên Jetson Nano là ấn tượng với 40 FPS (Frame per ISBN: 978-604-80-5076-4 339
  5. 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 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. ISBN: 978-604-80-5076-4 340