MARATTO

article · AI Computer Science and Robotics Technology

Evaluation of Interoperability of CNN Models between MATLAB and Python Environments Using ONNX Runtime Model

Abstract

Recently, machine learning models such as CNNs (Convolutional Neural Networks) are implemented on various frameworks, such as PyTorch, TensorFlow, MATLAB, and others. However, it is not easy to ensure interoperability of a CNN model while maintaining complete equivalence on different frameworks. We developed a MATLAB application to efficiently design, train, and test prediction models for various kinds of defect detection tasks in CNN, SVM (Support Vector Machine), CAE (Convolutional Autoencoder), FCN (Fully Convolutional Network), VAE (Variational Autoencoder), YOLO (You Only Look Once), and FCDD (Fully Convolutional Data Description). In this study, a VGG19-based transfer learning CNN model built on MATLAB was exported to an ONNX (Open Neural Network eXchange) model and applied to a picking robot running on Python to detect defects. Two user interfaces for MATLAB and Python were developed to ensure pixel-level equivalence and ascertain interoperability on both frameworks. Experimental data show that the achievement of equivalence is dependent on the method used to interpolate images for downsizing. The validity and effectiveness are shown through classification experiments by an ONNX model and a peg-in-hole task by a small-sized industrial robot incorporated with the ONNX model.

Research topics

  • Advanced Neural Network Applications
  • Neural Networks and Applications
  • COVID-19 diagnosis using AI

Sustainable Development Goals

Read the original research

This page summarises published work. The authoritative version sits with the publisher.

DOI: 10.5772/acrt.20240043

Is something wrong with this record? Report it or request removal.

Discussion

Discuss this research

Have you built on this work, tried to replicate it, or seen it applied in practice? Share what you know. Verified researchers and MARATTO™ domain experts can open a discussion, and any member can reply. Contributions are reviewed before they appear.

No discussion yet. Open the first thread.