Kili Technology is constantly looking for innovative ways to improve the efficiency and effectiveness of machine learning workflows. In our latest endeavor, we have created a comprehensive tutorial that showcases how to seamlessly integrate Google Vertex AI AutoML with our platform to automate object detection.
What is object detection and why is it challenging?
Object detection is a computer vision technique that identifies and locates objects within an image or video. Unlike image recognition, which categorizes an entire image, object detection pinpoints specific objects and classifies them. This process is challenging due to variations in object appearance, scale, and context. For instance, an object detection model used in autonomous vehicles must accurately identify and locate pedestrians, other vehicles, and road signs under varying lighting and weather conditions. Similarly, in manufacturing, object detection aids in finding defective parts by recognizing and tracking cracks, scratches, and other visible issues, a task complicated by the variability of defects, lighting, and shadow effects in different environments, and potentially complex backgrounds. These real-world applications underscore the complexity and importance of robust object detection systems.
The tutorial has been designed to address three critical pain points associated with object detection: time-consuming data annotation, processing unlabeled data efficiently, and the complexity of model training. In this tutorial, you will learn how the combined capabilities of Google Vertex AI AutoML and Kili Technology can effectively address these challenges. Let's dive in!
What is Google Vertex AI?
What exactly is Google Vertex AI, and how does it fit into the picture? Google Vertex AI is a state-of-the-art machine learning platform developed by Google Cloud. It's designed to be a comprehensive solution for training, deploying, and managing ML models, including the intricate tasks involved in object detection.
At its core, Vertex AI simplifies and streamlines the machine learning workflow. This platform is especially beneficial in addressing our identified pain points through its advanced features:
Simplified Model Training: Vertex AI reduces the complexity of the model training process. It offers a user-friendly environment where novice and experienced ML practitioners can efficiently develop and fine-tune object detection models. This simplification is crucial for reducing the barriers to entry in ML projects.
Efficient Data Annotation and Processing: Vertex AI integrates with various tools and platforms, like Kili Technology, to facilitate quicker and more accurate data annotation. This integration is particularly useful in handling large volumes of unlabeled data, enabling faster conversion into valuable, labeled datasets for training and validation purposes.
Advanced ML Capabilities: The platform provides advanced machine learning capabilities, including AutoML features, which automate many aspects of the model development process. These features allow for the rapid prototyping and deployment of models, further speeding up the ML workflow.
Vertex AI AutoML
Google's Vertex AI offers a range of AutoML tools to streamline the machine learning workflow from data preprocessing to model evaluation and deployment. It simplifies model development and deployment, making it accessible to users with varying levels of expertise. This technology is particularly useful for tasks like object detection, where it can save time and resources.
Get to know Kili's Python SDK
If you're new to Kili Technology, you should know that besides an intuitive platform designed for data labeling tasks, we also have an SDK that allows for advanced automation, integration, and customization of these tasks using Python. This SDK facilitates scripting and automating repetitive data annotation and management aspects, seamlessly blending into your existing machine learning or data science workflows.
Now let's get started: Object Detection Model Tutorial
This tutorial will show you how to train an object detection model with annotated data on Google Vertex AI AutoML and use it to make predictions on unlabeled data to speed up the annotation process.
The tutorial covers the following steps:
Fetching and preparing data from Kili
Training a model with Vertex AI
Running predictions on unlabeled images from your Kili dataset
Uploading predictions to our Kili project for faster annotation
This tutorial focuses on performing actions exclusively through the AI Platform Python SDK and Kili Python SDK to provide a deeper integration. However, these steps can be performed through the Google Cloud Console UI.
In this tutorial, we will work with the BCCD dataset (Blood Cell Count and Detection). The dataset can be found on GitHub and is also hosted on Hugging Face. It contains three classes, namely platelets, RBCs (red blood cells), and WBCs (white blood cells), which are highly unbalanced.
The full tutorial can be found on the Jupyter notebook we prepared. Use it to easily follow the tutorial and develop complex models for various object detection tasks.
We trained our model on a small dataset and for a short period of time, yet we have already achieved satisfying results.
This tutorial successfully demonstrates the seamless synergy between Google Vertex AI AutoML and the Kili platform for efficient object detection model training and preannotation generation. By combining the strengths of Vertex AI and Kili, we have established a workflow that optimizes the training process and speeds up data annotation.
Next step: Focus on the Quality of your Dataset
After learning how to automate pre-annotations to enhance your data labeling project, you can now devote more time to improving the quality of your dataset. At Kili, our platform's user interface is designed to optimize quality workflows, allowing you to quickly develop your dataset while maintaining its quality. This is crucial for ensuring that a high-quality model is deployed for production. Let's take a closer look at the essential quality features that you can use in your next object detection project:
Human-in-the-loop and collaboration: Human reviewers and labelers can check, correct, and refine annotations that might be of lower quality. With Kili's collaborative environment, labelers and reviewers can ask questions to verify the pre-annotations' quality further.
Feedback Loop for Model Improvement: The corrections made by human reviewers can be used as feedback to improve the object detection algorithm, enabling it to learn from its mistakes and improve over time.
Programmatic QA: Using automated scripts to check for the model's common errors, such as bounding box size anomalies or improbable object classifications, can be used to spot errors immediately. These assets are sent quickly to a queue for review so human labelers and reviewers don't miss a beat.
Filtered Review: A best practice is to leverage the capabilities of Kili's custom search queries for filtering assets. This feature allows you to efficiently sort through your dataset to focus on specific subsets requiring more attention or review. For example, you can filter assets pre-annotated by the AI model to quickly identify and review those with lower confidence scores or anomalies. This targeted approach streamlines the review process, ensuring that your team focuses their efforts on the most critical areas, thereby enhancing your dataset's overall quality and accuracy.
Combining Google Vertex AI AutoML with Kili Technology is a powerful way to boost object detection projects. With this integration, you can automate pre-annotations and take advantage of Kili's advanced data labeling features to address common machine learning challenges. This includes the time-consuming task of data annotation, unlabeled data processing, and model training complexity.
Kili makes it easy to maintain high-quality datasets with its human-in-the-loop and programmatic QA features. You can filter and review pre-annotated assets, ensuring that your dataset is developed quickly and accurately. This collaboration helps you deploy efficient and robust object detection models, making your machine-learning journey more efficient and hassle-free.