Edward.K Thinking

Azure Custom Vision Service v.s Azure ML for Vision

For Microsoft Vision Solution, we can use the two ways to do it,especially enterprise. One way is the Customer Vision , other is the ML to trainning vision model.Usually we want to do the training image detection model. There are three ways base on ML

  • Supervised Learning
    • Must tell the machine this image answer. Need to a lot of man power to tag / labeled image during the training process and collect the data
    • We must have to a clear define label. Maybe need to more images data.
    • One of the ways most people adopt
  • Unsupervised Learning
    • There is no standard answer to the training materials, no need to input the label manually
    • Training only provides input examples to the machine, and it automatically finds potential rules from these examples
    • High difficulty, accuracy to be verified
  • Semi-supervised learning
    It is very labor-intensive to tag a large amount of image data. The most common situation is that a small number of images are tagged, and most of the data are not tagged and the number is much larger than the tagged data. So maybe we can use Semi-supervised learning to do the enterprice AI vision.
    • In the process of data grouping, first use the tagged data to cut out a dividing line first, and then use the overall distribution of the remaining unlabeled data.
    • Can be used with reinforcement learning

In Azure, we can both use azure Custom Vision Service and Azure ML to do image training model for us.If we want to do the AI vision,what are the differences between the two for us?

Use Azure Custom Vision Service

The Azure Custom Vision API is a cognitive service that lets you build, deploy and improve custom image classifiers. An image classifier is an AI service that sorts images into classes (tags) according to certain characteristics. Custom Vision allows you to create your own classifications.It is based on Deep Neural Nets and use the ResNet, AlexNet and Resnet-152 algorithms on image classification. It is similar Semi-supervised learning

  • Advantage
    • We don’t need to a lot of time to develop algorithms for image
    • Algorithms will be continuous optimization and evolution by Microsoft’s Data scientist
    • In future , we can intergrade ONNX (Computer vision model ) and combine machine learn mode to use
  • Disadvantage
    • Not sure if it is suitable for all the customer situation.
    • Currently we will be limited to the algorithms provided by Microsoft and We can mobilize very few parameters to fit model
    • Accuracy to be verified for your case before you want to use it in your production stage

You can use 7 step to finish custom vision training model

  • First-round training
  • Add more images and balance data
  • Retrain
  • Add images with varying background…etc
  • Retrain & feed in image for prediction
  • Examine prediction results
  • Modify existing training data

Use Azure Custom Vision Service

There are two ways for Machine Learning.

  • Machine Learning Studio : Machine Learning Studio is a collaborative, drag-and-drop tool you can use to build, test, and deploy predictive analytics solutions on your data.

  • Machine Learning Service : Machine learning is a data science technique that allows computers to use existing data to forecast future behaviors, outcomes, and trends

    Azure Machine Learning you can build, test, and deploy machine learning solutions without needing to write code. It uses prebuilt and preconfigured machine learning algorithms and data-handling modules. When you want to experiment with machine learning models quickly and easily,and the built-in machine learning algorithms are sufficient for your solutions.Use Machine Learning service if you work in a Python environment, you want more control over your machine learning algorithms, or you want to use open-source machine learning libraries.

  • Advantage
    • We can try to combine multiple algorithms to fit our situation.
    • Have advanced hyperparameter tuning the model
    • Reduce development algorithm time, if these algorithms are available to us
    • The algorithm will also increase
  • Disadvantage
    • Must speed a lot of time to tune parameter to build better models
    • Still need to know which algorithms are best for image detection

What algorithms we can use in Machine Learning Service

What algorithms we can use in Azure Machine Learning Studio

What is the better for image detection? I don’t know. Sometimes we must try it. But I think if your situation is very specially, you may use ML service.