How to apply MLOps to Computer Vision? Introducing CVOps

Valentin
Picsellia
Published in
5 min readDec 2, 2021

We are all familiar with the Software Development lifecycle, in which development and operations teams collaborate to create software and applications. They develop and test these applications using a Continuous Integration and Continuous Delivery pipelines, ensuring that the software has the most up-to-date features and updates to solve any user or business problems.

What is Machine Learning?

The process of learning from data to achieve valuable insights is called machine learning. It is a more technical term that refers to the tools and techniques to create Artificial Intelligence algorithms.

With the digital transformation of the last 50 years, data has spread all over the world, and professionals across all sectors have developed a keen interest in learning from this sea of data to find insights and predictions or prevent repeating mistakes.

Before, programmers used to write algorithms using a programming language that defined the tasks to perform. Now, the paradigm has changed in the sense that the algorithm is just a canvas that defines how the machine is supposed to learn on itself from some input data, for a given task.‍

What is MLOps? And why it matters

We all know about DevOps, it is a development process that became popular in the early 2000' s with agile project development methodologies as its background, and it has been working well until now.

At this point, every organization started wanting to add machine learning capabilities to its product. Since the ML lifecycle is similar to the software development lifecycle, a new field called MLOps was developed that included steps dedicated to machine learning systems.

This concept refers to a set of steps and processes the data scientists, IT, and production teams use to deliver efficient machine learning products.

MLOps involve the following steps:

- Framing the business objectives

- Searching for the relevant data

- Preparing and processing the data (Data Engineering)

- Developing and training the Machine Learning model

- Building and automating a machine learning pipeline

- Deploy the model via static or dynamic deployment

In MLOps, the development/production teams use the CI/CD/CT method to deliver high-performing machine learning systems.

  • Continuous Integration (CI) is not only about testing and validating the codes and components, but also testing and validating data, data schemas, and models.
  • Continuous Delivery (CD) is not only about delivering a single software or a web application but, instead, a machine learning system (an ML training pipeline).
  • Continuous Training (CT) is a step exclusive to machine learning systems where the deployed models are retrained with changing data to prevent them from degrading.

Recently, there has been an increasing interest in MLOps since every organization is looking to deploy ML systems faster, at scale, and reliably. In March 2021, a research report on what data scientists seek to accomplish with MLOps, states that according to 40% of the respondents, a majority of work revolves around solving problems in the categories of computer vision, predictive analysis, and time-series data. Many data scientists felt that the most significant issues were related to data management, when data was messy, inaccessible, or plain non-identifiable.

How can MLOps help achieve Computer Vision goals?

Computer vision is a field of Artificial Intelligence where learning algorithms are applied on image-like input types like videos, pictures and hyper-spectral images. It really differs from the other types of data like tabular data or text because of the size of the files (therein datasets) where Tera Octets is a common order of magnitude.

In short, computer vision enables machines to see, observe and make sense of the images presented before them, just like how humans do.

CV models that helps applications to understand visual cues and make sense of them. When enough data is fed into them, algorithms will train themselves to differentiate one image from the other or detect and segment objects for example.

From the above explanation, it is clear that computer vision involves:

  • Data management
  • The creation of algorithmic models
  • Deployment
  • Error Analysis and review
  • Other MLOps features discussed above

Hence, it becomes clear that MLOps is critical when trying to benefit from Computer Vision Algorithms.

Today, it is easy to say that prototyping Computer Vision models is a simple task, but building an integrated ML system that is continuously improving is extremely difficult. This is because ML code is only a small portion of the whole system.

To run a project, there are numerous complex systems that work around the code as shown in the image below.

The afore-mentioned research paper shows the types of data researchers, engineers, and application developers are working with. From the following figure, we can infer that image and video data form a decent chunk of the data used. Hence, the natural progression would be to develop a fusion of Computer Vision and MLOps to build something called CVOps. This new concept helps create a set of steps and processes dedicated exclusively for computer vision projects (as they have they own challenges).

Introducing CVOps: The fusion of CV and MLOps

CVOps is nothing but using the steps and processes of MLOps exclusive to computer vision to achieve the development and deployment of computer vision projects.

Let’s take a look at the stages of CVOps.

1 — Data and feature management that involve data collection, data creation, management, verification, processing, and managing data features.

2 — Model development, where the ML models are trained, metadata is managed, along with hyperparameter tuning and model registry maintenance.

3 — Operationalization involves:

- Deploying the ML model to a suitable server

- Implementing CI/CD/CT in your ML pipeline

- Continuously Monitoring your CV model in production

To achieve the different steps and even automate the pipeline (that’s the point after all) we commonly use some ML platforms, that might be end-to-end, associated with custom AutoML parts.

Using MLOps, Computer Vision projects can make it to the deployment stage following a CI/CD/CT pipeline. Employing MLOps for Computer Vision creates an automated ML pipeline making model improvements faster and more reliable.

As a result, CVOps assists organizations in rapidly bringing reliable Computer Vision systems into production.

Article originally published on Picsellia website.

--

--