Object Embedding Learning via Shared Backbone Branches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Visual recognition models struggle to generate discriminative object embeddings that can effectively distinguish between objects from the same category, as existing methods often lack the necessary features due to training objectives focused on differentiating between categories rather than within-category variations.
Innovation Solution
A visual recognition model is trained with a shared backbone subnetwork that includes both a visual recognition branch for object detection and an embedding branch, where the embedding branch is trained using an embedding loss to enhance object embeddings, allowing for improved separation of objects from the same category without requiring additional labels beyond those used for the visual recognition branch.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If object embeddings are obtained directly from the output of a subnetwork of a visual recognition machine learning model, then computational efficiency is improved, but discriminative features needed to distinguish different objects from the same object category are lost
Solution Approach 1:
The visual recognition model is segmented into two functional branches: a visual recognition branch for object detection and an embedding branch for generating discriminative object embeddings. The embedding branch includes dedicated subnetworks (e.g., ROI pooling layer, embedding subnetwork) that are specifically designed to extract and refine discriminative features within object regions, separating the embedding generation function from the detection function while sharing the backbone feature extractor.
2Measurement precision
If a separate object descriptor module is used to generate object embeddings, then discriminative features are improved, but computational complexity and resource requirements increase
Solution Approach 1:
The object descriptor functionality is merged into the visual recognition model architecture itself. The embedding branch shares the backbone subnetwork with the visual recognition branch, combining feature extraction capabilities. The ROI pooling layer and embedding subnetwork are integrated as additional components within the same model framework, allowing unified training and inference while maintaining discriminative embedding quality.
Solution Approach 2:
The visual recognition model is designed with multi-functionality, serving both object detection and object embedding generation purposes. The shared backbone subnetwork extracts general features used by both branches, while the embedding branch specifically processes detected object regions to generate discriminative embeddings. This universal design allows a single model to perform multiple functions without requiring completely separate systems.
3Measurement precision
If the embedding branch is trained using embedding loss, then within-category object differentiation is improved, but training complexity increases
Solution Approach 1:
The training process uses continuous useful action by leveraging the detection results from the visual recognition branch as input to the embedding branch. The embedding loss is computed continuously based on the generated embeddings and ground truth labels, providing ongoing guidance for optimizing discriminative features. This continuous feedback loop ensures that the embedding branch learns to differentiate objects within categories effectively throughout training.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for Object Embedded Learning. One of the methods includes maintaining data that represents an image; providing, to a machine learning model, the data that represents the image; receiving, from the machine learning model, output data that includes i) an object detection result that indicates whether a target object is detected in the image and ii) an object embedding for the target object; and determining whether to perform an automated action using the output data.


