Blogs > Developing an Object Detection Model Using HUAWEI CLOUD ModelArts

Developing an Object Detection Model Using HUAWEI CLOUD ModelArts

HUAWEI CLOUD Jun 01, 2021
Share
ModelArts is a one-stop AI development platform that enables developers and data scientists of any skill level to rapidly build, train, and deploy models anywhere, from the cloud to the edge. Accelerate end-to-end AI development and foster AI innovation with key capabilities, including data preprocessing, semi-automated data labeling, distributed training, and automated model building.


ModelArts is a one-stop development platform that HUAWEI CLOUD provides to support the entire development process for AI applications. Since its launch, ModelArts has served hundreds of thousands of developers from a wide range of industries. ModelArts makes AI application development simpler and more efficient by providing comprehensive, basic AI capabilities via a unified platform, along with industry-specific knowledge and know-how distilled into development suites.

Besides simplifying AI application development, ModelArts also slashes costs and lowers the bar for AI application developers. If you are wondering how is it possible for a person who knows virtually nothing about coding to develop an AI application, let me explain how I used ModelArts to develop a model for object detection.

Getting familiar with ModelArts

In my experience, I think it's safe to say that the best place to start is the official documentation. ModelArts is a one-stop AI development platform HUAWEI CLOUD has invested heavily in. You can visit the HUAWEI CLOUD ModelArts official website to find tutorials on ModelArts and other related AI services.


Developing an object detection model to find "Yunbao", the mascot for HUAWEI CLOUD

0. Preparing the environment

First, you need to create a HUAWEI CLOUD account and complete real-name authentication. Before using ModelArts for the first time, you need to configure global settings. You can authorize ModelArts to access OBS, SWR, IEF, and other dependent services by configuring an agency. This allows you to put fine-grained access control in place. Alternatively, you can configure keys for access control. In this case study, OBS is used as the data storage service. See ModelArts documents about how to prepare the OBS service.

1. Preparing datasets

Search the ModelArts AI marketplace by entering "Yunbao", and you will find a dataset containing some labeled Yunbao images. Using the dataset management module of the AI marketplace, you can download the dataset directly to your ModelArts project. That way, you do need to first download the dataset to your local PC, upload the dataset to OBS, and then create a new dataset. This simplifies the development process.

2. Data labeling

Create an object detection task under ExeML using the downloaded dataset, and label the data manually.

3. Training

For the purpose of this experiment, some of the Yunbao images are already labeled. We can skip labeling and start training right away. However, the results may not be as good as you would get with a fully labeled dataset. After you create a training task, which is a fairly simple process, ModelArts starts training the model automatically.

In the figure below, V003 is the results for a fully labeled dataset, where the accuracy is 100%. A fully labeled dataset takes twice as long to train as a partially labeled dataset, but the improved accuracy makes it worth the extra time.

4. Deployment

The trained model can be deployed in one click and becomes available almost immediately. In this case study, the V003 model is deployed. ModelArts also provides a free online deployment instance, which further reduces the costs of AI development.

After simple debugging, the model can be used to accurately identify Yunbao in images. It's worth noting that I never had to do any coding, which is pretty cool.