Method and system for interactive semi-automatic labeling

WO2026129308A1PCT designated stage Publication Date: 2026-06-25HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2024-12-20
Publication Date
2026-06-25

Smart Images

  • Figure CN2024141052_25062026_PF_FP_ABST
    Figure CN2024141052_25062026_PF_FP_ABST
Patent Text Reader

Abstract

Methods and systems for semi-automatic video object segmentation combining a plurality of modules, and in particular a coarse mask generation module (CMG) and a mask refinement module (MR). The CMG module uses a vision foundation model (VFM) to generate coarse masks for each frame. The MR module takes user input as clicks on the coarse masks and refines them using a foreground-background segmentation model (FB). The merged mask from the MR module is then passed back to the CMG module for further processing.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND SYSTEM FOR INTERACTIVE SEMI-AUTOMATIC LABELINGTECHNICAL FIELD

[0001] The present technology relates to field of Artificial Intelligence specifically, to human interactive semi-automatic labeling system and methods.BACKGROUND

[0002] Machine learning is a crucial aspect of modern technology, with data labeling playing a significant role in its success. Data labeling accounts for at least 25%of the time required in machine learning processes. Auto-labeling is a specialized branch of data labeling that utilizes automated systems to generate labels. There are three primary types of data labeling: fully automated, manual, and semi-automatic.

[0003] Fully automated labeling involves assuming the system has a high-quality pre-trained model, which automatically labels data without human interaction. While these models offer high labeling efficiency due to their inferencing capabilities, they lack generalization due to distribution discrepancies in the target domain. Potential roadblocks include the requirement of vast amounts of labeled data, longer training times, and limited domain adaptability.

[0004] Manual labeling, on the other hand, involves human performers who manually label data, resulting in high accuracy but low efficiency due to extensive human interaction. Semi-automatic labeling is a hybrid approach that combines a high-quality pre-trained model with human supervision, offering a trade-off between accuracy and efficiency.

[0005] Various methods have been explored to address the auto-labeling problem, including active learning, foundation model learning, and online propagation models. Active learning is a machine learning technique that identifies data requiring human labeling based on the model's performance. Foundation model learning utilizes pre-trained models and their finetuning to generate labels for new data, while online propagation models rely on user input and some propagation methods to generate labels in the following frames.

[0006] Despite their advantages, these methods face challenges such as increased human interaction for higher accuracy, high training costs for foundation models, and heavy reliance on human input for propagation models. These issues necessitate a solution that increases labeling efficiency while preserving high accuracy.

[0007] It is therefore an objective of the present invention to overcome at least in part the above-mentioned disadvantages of the prior art by providing a semi-automatic human interactive system for auto-labeling, reducing human labor and maintaining high-quality labels.SUMMARY

[0008] The present technology has been designed to overcome at least some drawbacks present in prior art solutions.

[0009] According to an aspect, the present technology relates to a computer-implemented method for semi-automatic video object segmentation, the method being configured to be executed by at least one computing system. The method according to the present technology comprises a plurality of steps.

[0010] First, the method comprises a step of receiving a video comprising a plurality of frames; then a step of extracting at least a set of frames from the plurality of frames; followed by a step of applying a pre-processing step to the extracted set of frames.

[0011] Then, the method further comprises generating, by a coarse mask generation module, a coarse mask for each pre-processed frame of the pre-processed set of frames using at least one vision foundation model. This generating step comprises encoding the pre-processed frame into a numerical representation; then providing by at least one user at least one object category via a graphical user interface; then encoding the provided object category as at least one text prompt; then aligning the encoded frame and text prompt to generate aligned features; and decoding the aligned features to generate at least one coarse mask that represents at least one identified object in the frame.

[0012] Then, the method further comprises allowing a user to modify the coarse mask via the graphical user interface; then refining, by a mask refinement module, the coarse mask using at least one foreground-background segmentation model. The refining step comprises, in response to at least one modification of the coarse mask by the user, segmenting user’s modification of the coarse mask into at least one individual object or region of interest to generate at least one segmented mask; and refining the coarse mask based on the segmented mask.

[0013] Finally, the method further comprises propagating the refined mask to the next frame of the extracted set of frames; then generating, by the coarse mask generation module, a new coarse mask for the next frame using the at least one vision foundation model; then merging the propagated mask and the new coarse mask to generate a merged mask; and allowing the user to modify the merged mask via the graphical user interface.

[0014] According to another aspect, the present technology relates to a computer product program for semi-automatic video object segmentation which, when executed by at least one processing unit, executes the method according to the present technology.

[0015] According to another aspect, the present technology relates to a non-transitory computer readable medium comprising at least one computer program product according to the present technology.

[0016] According to another aspect, the present technology relates to a computing system for semi-automatic video object segmentation.

[0017] According to an embodiment, the system comprises a communication module configured to receive at least one video comprising a plurality of frames.

[0018] According to an embodiment, the system further comprises a processing module configured to extract at least a set of frames from the plurality of frames, and apply a pre-processing step to the extracted set of frames.

[0019] The system comprises a coarse mask generation module configured to generate a coarse mask for each pre-processed frame of the pre-processed set of frames using at least one vision foundation model; and generate a new coarse mask for the next frame using the at least one vision foundation model.

[0020] The system further comprises a mask refinement module configured to refine the coarse mask using at least one foreground-background segmentation model.

[0021] The system further comprises a mask propagation module configured to propagate the refined mask to the next frame of the extracted set of frames.

[0022] The system further comprises a merging module configured to merge the propagated mask and the new coarse mask to generate a merged mask.

[0023] The system further comprises a graphical user interface configured to allow a user to provide at least one object category, allow a user to modify the coarse mask, and allow the user to modify the merged mask.

[0024] Before providing below a detailed review of embodiments of the technology, some optional characteristics that may be used in association or alternatively will be listed hereinafter:

[0025] According to an example, the step of receiving a video comprising a plurality of frames is executed by at least one communication module.

[0026] According to an example, the step of extracting at least a set of frames from the plurality of frames is executed by at least one processing module.

[0027] According to an example, the step of applying a pre-processing step to the extracted set of frames is executed by at least one processing module.

[0028] According to an example, the step of generating a coarse mask for each pre-processed frame of the pre-processed set of frames using at least one vision foundation model is executed by at least one coarse mask generation module.

[0029] According to an example, the step of refining the coarse mask using at least one foreground-background segmentation model is executed by at least one mask refinement module.

[0030] According to an example, the step of propagating the refined mask to the next frame of the extracted set of frames is executed by at least one mask propagation module.

[0031] According to an example, the step of generating a new coarse mask for the next frame using the at least one vision foundation model is executed by at least one coarse mask generation module.

[0032] According to an example, the step of merging the propagated mask and the new coarse mask to generate a merged mask is executed by at least one merging module.

[0033] According to an example, the step of merging the propagated mask and the new coarse mask to generate a merged mask is executed by at least one merging module.

[0034] According to an example, the extracted frames are pre-processed to enhance image quality and remove noise.

[0035] According to an example, the pre-processing comprises at least one of: resizing, normalizing, and converting the extracted frames to a predetermined format, the predetermined format being configured to be processed by the vision foundation model.

[0036] According to an example, the pre-processed frames are encoded into a numerical representation, the numerical representation being configured to be processed by the vision foundation model.

[0037] According to an example, the text prompt is configured to guide the vision foundation model in identifying at least one object of interest within the encoded frame.

[0038] According to an example, aligning the encoded frame and text features comprises using at least one alignment technique taken among at least one of: attention-based alignment or spatial transformer network.

[0039] According to an example, the graphical user interface is configured to provide interactive tools for the user to refine and correct the generated coarse mask.

[0040] According to an example, refining the coarse mask based on the segmented mask comprises at least one of adjusting object boundaries or removing noise or improving accuracy.

[0041] According to an example, propagating the refined mask to the next frame comprises using a temporal propagation technique configured to leverage the spatial coherence between consecutive frames.

[0042] According to an example, the graphical user interface is configured to provide interactive tools for the user to refine or correct the generated masks.

[0043] According to an example, the present technology comprises leveraging active learning techniques to refine or correct the merged mask based on at least one user feedback.

[0044] According to an example, the coarse mask contains at least one label, the label being configured to be related to at least one object in the video.

[0045] According to an example, the present technology comprises storing the merged mask in a storing module.

[0046] According to an example, the propagated mask contains at least one mask for at least one object present in at least one previous frame or modified by the user.

[0047] In the context of the present technology, “object detection” may refer to a computer technology related to computer vision and image processing that deals with detecting instances of semantic objects of a certain class in digital images and / or videos.

[0048] In the context of the present technology, “generalization” may refer to a model's ability to adapt to new, previously unseen data, drawn from the same distribution as the one used to create the model.

[0049] In the context of the present technology, “computer vision” may refer to a field of artificial intelligence (AI) enabling computers to derive information from images and videos.

[0050] In the context of the present technology, “supervised learning” may refer to a machine learning paradigm for problems where the available data consists of labelled examples, meaning that each data point contains features and an associated label.

[0051] In the context of the present technology, “unsupervised learning” may refer to techniques employed by machine learning algorithms to analyze and cluster unlabeled datasets.

[0052] In the context of the present technology, “self-supervised learning” may refer to a machine learning process where the model trains itself to learn one part of the input from another part of the input.

[0053] In the context of the present technology, “semi-supervised learning” may refer to a learning problem that involves a small portion of labeled examples and a large number of unlabeled examples from which a model must learn and make predictions on new examples.

[0054] In the context of the present technology, “image classification” may refer to categorization and labeling of different groups of images.

[0055] In the context of the present technology, “Vision Foundation Model (VFM) ” refers to a general-purpose system designed for various computer vision tasks. These models learn from large-scale vision-language pre-training and can be applied to image-level, region-level, and pixel-level vision tasks.

[0056] In the context of the present technology, “Supervised Fine-tuning” may refer to a step in training machine learning models, especially for vision tasks. Here’s how it may work:

[0057] a. Pre-training: Initially, a model (such as a vision foundation model) is pre-trained on a large dataset using diverse training methods including supervised, semi-supervised, self-supervised and unsupervised learning. During pre-training, the model learns to recognize patterns and features in the data.

[0058] b. Fine-tuning: After pre-training, the model is fine-tuned on a smaller labeled dataset specific to the task at hand. For vision tasks, this dataset contains images with corresponding ground truth labels (e.g., object categories, segmentation masks, etc. ) .

[0059] c. Supervision: During fine-tuning, the model’s weights are adjusted based on the labeled data.

[0060] In the context of the present technology, “Video object segmentation” may refer to the task of segmenting and tracking specific objects within a video. It involves identifying an object mask in the first frame of the video and then tracking its mask throughout subsequent frames.

[0061] In the context of the present technology, “Coarse mask” may refer to a segmentation mask that provides a rough outline of an object or region in an image or video. Unlike fine-grained masks that precisely delineate object boundaries, coarse masks are less detailed and may cover larger areas. These masks are often used as an initial estimate or for quick processing in computer vision tasks

[0062] In the context of the present technology, “Active learning” may refer to a framework that bridges the gap between limited labeled data and effective model training

[0063] In the context of the present technology, “Human in the loop active learning” may refer to an Active learning involving using a large dataset, of which only a small portion (typically around 10%) is labeled for model training by human labellers, and the human labellers can involve in the verification stage during the automatic labeling of the rest of the data.

[0064] In the context of the present technology, “Generalization” may refer to the ability of a trained model to perform well on unseen data beyond its training examples

[0065] In the context of the present technology, “Specialization” may refer to the process of customizing general-purpose machine learning models (such as large language models) to specific domains

[0066] In the context of the present specification, a “server” is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g., from devices) over a network, and carrying out those requests, or causing those requests to be carried out. The hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology. In the present context, the use of the expression a “server” is not intended to mean that every task (e.g., received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e., the same software and / or hardware) ; it is intended to mean that any number of software elements or hardware devices may be involved in receiving / sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request; and all of this software and hardware may be one server or multiple servers, both of which are included within the expression “at least one server” .

[0067] In the context of the present specification, “device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of devices include personal computers (desktops, laptops, netbooks, etc. ) , smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be noted that a device acting as a device in the present context is not precluded from acting as a server to other devices. The use of the expression “adevice” does not preclude multiple devices being used in receiving / sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.

[0068] In the context of the present specification, a “database” is any structured collection of data, irrespective of its particular structure, the database management software, or the computer hardware on which the data is stored, implemented or otherwise rendered available for use. A database may reside on the same hardware as the process that stores or makes use of the information stored in the database or it may reside on separate hardware, such as a dedicated server or plurality of servers. It can be said that a database is a logically ordered collection of structured data kept electronically in a computer system

[0069] In the context of the present specification, the expression “information” includes information of any nature or kind whatsoever capable of being stored in a database. Thus information includes, but is not limited to audiovisual works (images, movies, sound records, presentations etc. ) , data (location data, numerical data, etc. ) , text (opinions, comments, questions, messages, etc. ) , documents, spreadsheets, lists of words, etc.

[0070] In the context of the present specification, the expression “component” or “module” is meant to include software (appropriate to a particular hardware context) that is both necessary and sufficient to achieve the specific function (s) being referenced.

[0071] In the context of the present specification, the expression “computer usable information storage medium” is intended to include media of any nature and kind whatsoever, including RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drivers, etc. ) , USB keys, solid state-drives, tape drives, etc.

[0072] In the context of the present specification, the words “first” , “second” , “third” , etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms “first server” and “third server” is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of / between the server, nor is their use (by itself) intended imply that any “second server” must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a “first” element and a “second” element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a “first” server and a “second” server may be the same software and / or hardware, in other cases they may be different software and / or hardware.

[0073] Implementations of the present technology each have at least one of the above-mentioned object and / or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and / or may satisfy other objects not specifically recited herein.

[0074] Additional and / or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0075] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:

[0076] FIG. 1 illustrates a schematic combination of two paradigms used to implement any of the methods described herein;

[0077] FIG. 2 depicts a system configured to implement a method according to some non-limiting embodiments of the present technology;

[0078] FIG. 3 depicts a coarse mask generation module in accordance with some non-limiting embodiments of the present technology;

[0079] FIG. 4 is a detailed representation of a mask merging mechanism to label new objects in a scene for consecutive frames in accordance with some non-limiting embodiments of the present technology;

[0080] FIG. 5 is a detailed representation of a method, in accordance with some non-limiting embodiments of the present technology; and

[0081] FIG. 6 depicts a flowchart of a method in accordance with at least some non-limiting embodiments of the present technology.DETAILED DESCRIPTION

[0082] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.

[0083] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.

[0084] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and / or that what is described is the sole manner of implementing that element of the present technology.

[0085] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0086] The functions of the various elements shown in the figures, including any functional block labeled as a "processor" or a “processing module” , may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some embodiments of the present technology, the processor may be a general-purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP) . Moreover, explicit use of the term a "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, application specific integrated circuit (ASIC) , field programmable gate array (FPGA) , read-only memory (ROM) for storing software, random access memory (RAM) , and non-volatile storage. Other hardware, conventional and / or custom, may also be included.

[0087] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and / or textual description. Such modules may be executed by hardware that is expressly or implicitly shown. Moreover, it should be understood that module may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry or a combination thereof which provides the required capabilities.

[0088] With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology.

[0089] According to an embodiment, the present technology relates to an efficient human interactive auto-labeling system for video object segmentation. The method and the system aim to generate object segmentation masks (labels / annotations) of incoming unlabeled frames of a video. Indeed, the present technology focuses on video object segmentation as the downstream task due to its challenges and applications in machine learning. The method is configured to take video as input, segment individual objects in each frame, and allow user interaction via a graphical user interface for modifications, deletions, or additions of object masks. Over time, the system is configured to reduce the need for human interactions, increasing labeling efficiency while maintaining high accuracy.

[0090] According to an embodiment, the main objective of this system is to generate object segmentation masks for incoming unlabeled frames of a video while saving labeling time across all objects present in the scene and frames in the video. The present technology can be utilized as a cloud service for auto-labeling and is most suitable for scenarios involving videos, such as video object segmentation tools, autonomous driving perception data labeling tools, sports data labeling tools, medical imaging data labeling tools, robotic perception data labeling tools, and cloud-based data-labeling services.

[0091] As illustrated by FIG. 1, the present technology relates to a semi-automatic labeling pipeline combining vision foundation model (VFM) and active learning AL.

[0092] As described, the system follows a sequential process to process Video Object Segmentation (VOS) . The input video is passed to the frame extraction module, which extracts frames from the given video sequentially. The first frame is extracted and pre-processed before being passed to the coarse mask generation (CMG) module. CMG generates a coarse mask using VFM, which is then refined by the user in the mask refinement (MR) module. The refined mask is later passed to the mask propagation module, which predicts and propagates masks of the next frame based on the current mask. This process repeats for each subsequent frame.

[0093] The proposed method reduces the number of user interactions per object, per frame for the entire video, thereby increasing labeling efficiency while preserving high accuracy of the labels. The combination of CMG and MR modules promotes generalization and specialization, providing higher accuracy and efficiency. The mask merging mechanism allows users to merge propagated masks with coarse masks, enabling them to annotate new objects in consecutive frames without having to re-annotate them from scratch. This results in significant time savings while preserving high accuracy for new objects.

[0094] The system consists of a vision foundation model (VFM) , which is a general-purpose system designed for various computer vision tasks, and supervised fine-tuning, where the model's weights are adjusted based on labeled data during fine-tuning. Video object segmentation involves identifying an object mask in the first frame of the video and tracking its mask throughout subsequent frames. Coarse masks provide a rough outline of an object or region in an image or video, while active learning is a powerful framework that bridges the gap between limited labeled data and effective model training. The human in the loop active learning involves using a large dataset, of which only a small portion is labeled for model training. Generalization refers to the ability of a trained model to perform well on unseen data beyond its training examples, while specialization refers to customizing general-purpose machine learning models to specific domains.

[0095] The invention is most suitable for video object segmentation tasks and can be utilized as a cloud service for auto-labeling. The method follows a sequential process to extract frames from the input video, generate coarse masks using VFM, refine masks with user interaction, propagate masks to the next frame, and merge masks for further processing. This pipeline reduces labeling time while maintaining high accuracy for both old and new objects in consecutive frames.

[0096] As illustrated by FIG. 2, according to an embodiment of the present invention, the proposed computing system comprises a plurality of modules that work together to generate accurate and efficient object masks, for example in real-time.

[0097] According to an example, the computing system comprises:

[0098] a. A communication module;

[0099] b. A processing module;

[0100] c. A coarse mask generation module (CMG) ;

[0101] d. A graphical user interface;

[0102] e. A mask refinement module (MR) ;

[0103] f. A mask propagation module; and

[0104] g. A merging module.

[0105] According to an embodiment, the communication module is configured to receive at least one video comprising a plurality of frames. This module can be implemented as part of a larger software or hardware platform, such as a cloud service or an embedded system.

[0106] According to an embodiment, the processing module is configured to extract at least a set of frames from the received video and applying a pre-processing step to each frame in the extracted set of frames. Pre-processing may include various image enhancement techniques, such as normalization, denoising, and color space conversion. For example, pre-processing can comprise enhancing image quality and / or removing noise from extracted frames.

[0107] According to an embodiment, the coarse mask generation module is configured to generate a coarse mask for each pre-processed frame using at least one vision foundation model (VFM) . VFMs are general-purpose systems designed to perform various computer vision tasks, including image segmentation. The VFM is trained on large-scale datasets and can be applied to image-level, region-level, or pixel-level vision tasks. In the context of video object segmentation, the VFM can be used to generate a coarse mask that provides a rough outline of objects in each frame. VFM provides generalization as it was trained on a huge diverse dataset, while AL provides specialization by boosting the label / mask accuracy. By combining active learning and VFM under the same pipeline, the system takes advantage of VFM's generalization capability in the form of coarse masks and promotes high accuracy with labeling efficiency.

[0108] In more detail, and as illustrated by FIG. 3, the coarse mask generation module can comprise at least three components: encoders (image and text) , alignment and decoder. For example, the user only provides object categories to the coarse mask generation module, thanks to the graphical user interface discussed hereafter. The coarse mask generation module (CMG) is configured to take frames as input and produces coarse masks as output, which serve as the foundation for subsequent refinement and user interaction. Initially, the video frame is extracted and converted to a BGR image format, for example. Necessary transformations and normalization can be applied to ensure optimal processing conditions. The pre-processed image is then fed into an image encoder of the Vision Foundation Model (VFM) , a powerful deep-learning model trained on extensive image datasets for segmentation tasks. This encoder generates distinctive image features that will be used for object identification and segmentation. Simultaneously or not, user-provided object categories can be encoded using the Text Encoder within VFM in text prompt format, for example. The text encoder generates corresponding text features that align with the image features. These features are then aligned and passed through the decoder, which is tasked with performing panoptic segmentation. Panoptic segmentation distinguishes between two primary categories: things and stuff. Things consist of countable objects with defined geometries such as cars, animals, and pedestrians, for example. Stuff refers to uncountable, amorphous regions primarily identified by texture and material, including the sky, grass, and roads, for example. Following the inference process on the extracted image, the model returns panoptic masks. These masks undergo post-processing to generate semantic coarse masks, which contain labels for user-defined objects. In ideal situations, these generated masks satisfy the user; however, they may require modifications in average cases or even miss certain objects in worst-case scenarios. These coarse masks can be stored in a memory buffer for further processing by subsequent modules. This approach provides significant time savings as users do not need to label anything from scratch and improved labeling efficiency per frame due to the automatic generation of masks for newly entering objects. Additionally, the VFM used in this pipeline can be trained on vast amounts of data and does not require retraining, introducing generalization through the coarse mask generation module.

[0109] According to an embodiment, the graphical user interface (GUI) is configured to allow users to provide at least one object category, or modify the coarse mask, or modify the merged mask. The GUI provides a convenient way for users to interact with the system and fine-tune the generated masks as needed. The graphical user interface can comprise tools for drawing bounding boxes around objects and assigning labels to them. According to an embodiment, the graphical user interface is equipped with interactive tools. These tools enable the user to fine-tune and correct the coarse mask generated in the method. Providing interactive tools within the GUI enhances the user experience by allowing for more precise control over the mask generation process. This can lead to improved accuracy and better overall results. For example, the interactive tools may include adjustment sliders, selection boxes, or other graphical elements that allow the user to make real-time modifications to the mask. Additionally, these tools may provide visual feedback to help guide the user in making informed decisions during the refinement process. Moreover, the present technology can incorporate error correction features within the GUI. For instance, the system could automatically highlight areas of potential errors or inconsistencies and suggest corrections based on historical data or machine learning algorithms. This can save time and reduce the likelihood of human error in the mask generation process. Furthermore, the present technology may comprise a validation step to ensure that the refined mask meets certain quality standards before being finalized. The GUI could display a preview of the validated mask for user approval before it is applied to the underlying data or system. This can help prevent costly mistakes and improve overall efficiency in the mask generation process.

[0110] According to an embodiment, the mask refinement module (MR) is configured to uses AL to refine the initial masks generated by the CMG. To refine the coarse masks generated by the VFM, the mask refinement module (MR) uses at least one pretrained foreground-background (FB) segmentation model. FB models are designed to locate and segment objects based on user interaction, such as clicks for example. The FB model segments the user's clicks over the coarse masks and refines them accordingly. For example, the user interacts with the model by clicking on the masks, and the FB segmentation model segments the foreground object based on each click. Both the user modification and the initial coarse masks are internally aggregated to create a refined mask for current frame.

[0111] In more detail, the mask refinement module (MR) is configured to enhance and refine coarse masks generated from previous frame sequences. This module accepts either individual coarse masks or a merged version as input, depending on the sequence of frames. The primary goal of MR is to produce more accurate and complete masks through user interaction and implicit refinement processes. The mask refinement module comprises at least two components: a user interaction module and a refinement component. The user interaction module is configured to cooperate with the graphical user interface and to enable users to modify coarse masks by clicking on specific areas within the mask. These clicks are then processed by the Foreground Background (FB) Segmentation Module, which locates and segments the user's clicks over the masks. Each click results in a segmented mask that refines the original coarse mask in the desired area. According to an embodiment, the MR architecture comprises an encoder, ViT (Vision Transformer) , and a decoder, which form the FB model. Using the mask refinement module allows for greater specialization on top of generalized coarse masks. Coarse masks may not be complete, but refined masks are more accurate based on user satisfaction. Furthermore, for incoming frames, users do not need to annotate new objects from scratch since they are partially or fully annotated by the previous module. This saves a considerable amount of time and resources required for manual annotation of sequential video frames.

[0112] According to an embodiment, and as illustrated by FIG. 4, the mask propagation module is configured to propagate the predicted mask to the next frame. This establishes the temporal relationship between consecutive frames. The propagated mask contains the masks of objects that were seen in the previous frames and modified by the user. The current frame is passed through the CMG to generate a coarse mask, which contains the mask of new objects as well as old objects. The quality of the mask for the old objects in the refined mask is not any better than the masks in the coarse mask. So, new masks detected by the CMG are added to the refined mask using a soft merging approach, for example.

[0113] According to an embodiment, the merging module is configured to combine the new coarse mask with the propagated mask into a single merged mask that contains the masks of both old and newly seen objects. This process saves labeling time by reducing the need for user interaction in annotating new objects in consecutive frames.

[0114] By combining VFMs and FB models in a single pipeline, the system can leverage the generalization capabilities of VFMs and the specialization capabilities of FB models to achieve higher accuracy and efficiency. The use of coarse masks as a warm-up step for each frame also saves user interaction time by allowing users to modify pre-existing masks instead of annotating objects from scratch.

[0115] Moreover, the system's ability to propagate refined masks to subsequent frames reduces labeling time and preserves consistency in mask generation. The merging module further enhances this efficiency by combining propagated masks with new coarse masks generated for each frame, allowing users to modify merged masks instead of annotating new objects from scratch.

[0116] The system's design is also domain-invariant, as it combines generalization from the VFM and specialization from the FB model without requiring any model updates or retraining. This makes the system adaptable to various video object segmentation tasks and applications.

[0117] According to an embodiment, the present relates to a computer-implemented method for semi-automatic video object segmentation. The method is configured to be executed by at least one computing system and comprises several steps as illustrated in FIGS. 5 and 6.

[0118] First, a video comprising a plurality of frames is received by the communication module. Next, the processing module extracts a set of frames, for example a set of consecutive frames, from the plurality of frames for further processing. The extracted set of frames undergoes a pre-processing step to prepare them for segmentation. For example, the pre-processing step can comprise at least one of the following processes: resizing, normalization, and conversion to a specific format. The resizing process adjusts the dimensions of each frame to fit within specified size constraints. Normalization involves transforming the pixel values of each frame to have zero mean and unit variance. Conversion to a predetermined format refers to encoding each frame into a particular data representation that is compatible with the vision foundation model for further processing. The predetermined format is specifically configured to be efficiently processed by this model.

[0119] These pre-processing steps help ensure that the input frames are properly prepared and formatted for effective analysis using the vision foundation model. This can lead to improved accuracy and efficiency in the overall image recognition or processing system.

[0120] For example, the resizing process maintains the aspect ratio of each frame while adjusting its dimensions. The normalization step may involve applying standard techniques such as mean subtraction and division by variance for each pixel value within a given color channel. Additionally, the conversion to a predetermined format may include compression techniques to reduce the size of the data without significantly degrading its quality.

[0121] The choice of specific pre-processing steps and their order can depend on the nature of the input frames and the requirements of the vision foundation model. For instance, resizing might be performed before normalization if the original frames have vastly different sizes or aspect ratios. In other cases, normalization could be applied first to ensure that all frames are processed with consistent pixel values.

[0122] In some embodiments, additional pre-processing steps such as denoising, filtering, or cropping may also be included in the method as needed. These steps can help address issues related to image quality, noise, and unwanted background elements. The specific implementation of these steps will depend on the application domain and the capabilities of the vision foundation model.

[0123] According to an embodiment, using at least one vision foundation model, a coarse mask is generated for each pre-processed frame of the pre-processed set of frames. This process involves encoding the pre-processed frame into a numerical representation, providing an object category via a graphical user interface, encoding the provided object category as text prompt, aligning the encoded frame and text prompt to generate aligned features, and decoding the aligned features to generate a coarse mask that represents at least one identified object in the frame. The user is then allowed to modify the coarse mask via the graphical user interface.

[0124] According to an embodiment, the coarse mask is refined using at least one foreground-background segmentation model. In response to a modification of the coarse mask by the user, the segmentation model segments the user's modification into at least one individual object or region of interest to generate at least one segmented mask. The coarse mask is then refined based on the segmented mask.

[0125] The refined mask is propagated to the next frame of the extracted set of frames, and a new coarse mask for the next frame is generated using the same vision foundation model. The propagated mask and the new coarse mask are merged to generate a merged mask, which is then allowed the user to modify via the graphical user interface.

[0126] In summary, according to an embodiment, the computer-implemented method for semi-automatic video object segmentation comprises:

[0127] a. receiving, by the communication module, a video comprising a plurality of frames;

[0128] b. extracting, by the processing module, at least a set of frames from the plurality of frames;

[0129] c. applying, by the processing module, a pre-processing step to the extracted set of frames;

[0130] d. generating, by the coarse mask module, a coarse mask for each pre-processed frame of the pre-processed set of frames using at least one vision foundation model, which comprises:

[0131] 1. encoding the pre-processed frame into a numerical representation;

[0132] 2. providing by at least one user at least one object category via the graphical user interface;

[0133] 3. encoding the provided object category as at least one text prompt;

[0134] 4. aligning the encoded frame and text prompt to generate aligned features;

[0135] 5. decoding the aligned features to generate at least one coarse mask that represents at least one identified object in the frame;

[0136] e. allowing a user to modify the coarse mask via the graphical user interface;

[0137] f. refining, by the mask refinement module, the coarse mask using at least one foreground-background segmentation model, which comprises:

[0138] 1. in response to at least one modification of the coarse mask by the user, segmenting user’s modification of the coarse mask into at least one individual object or region of interest to generate at least one segmented mask;

[0139] 2. refining the coarse mask based on the segmented mask;

[0140] g. propagating, by the mask propagation module, the refined mask to the next frame of the extracted set of frames;

[0141] h. generating, by the coarse mask module, a new coarse mask for the next frame using the at least one vision foundation model;

[0142] i. merging, by the merging module, the propagated mask and the new coarse mask to generate a merged mask;

[0143] j. allowing the user to modify the merged mask via the graphical user interface.

[0144] As illustrated by FIGS. 4 and 5, the method combines at least two modules in a smart way: the coarse mask generation module (CMG) and the mask refinement module (MR) . The CMG module uses a vision foundation model (VFM) to generate coarse masks for each frame. The MR module takes user input as clicks on the coarse masks and refines them using a foreground-background segmentation model (FB) . The refined mask from the MR module is then passed back to the CMG module for further processing.

[0145] This method allows reducing labelling time by allowing users to modify coarse masks instead of annotating objects from scratch, preserving high accuracy by refining masks based on user input, and establishing a temporal relationship between consecutive frames through mask propagation and merging.

[0146] The method is applicable to various scenarios involving videos, such as video object segmentation tools, autonomous driving perception data labeling tools, sports data labeling tools, medical imaging data labeling tools, and robotic perception data labeling tools. It can also be utilized as a cloud-based data-labeling service for video object segmentation (VOS) .

[0147] In summary, the present invention provides an efficient human interactive auto-labeling system for video object segmentation using a combination of coarse mask generation and mask refinement modules. The method reduces labeling time while preserving high accuracy by allowing users to modify coarse masks and refining them based on user input. It also establishes a temporal relationship between consecutive frames through mask propagation and merging, making it domain invariant and suitable for various applications in video processing.

[0148] According to an embodiment, the present technology can utilize machine learning algorithms to suggest potential object labels based on previously labeled data. The user can then review these suggestions and make corrections as necessary. This process allows for more efficient labeling and reduces the need for manual labeling of every frame in a video.

[0149] As described previously, the method can comprise pre-processing steps, such as background subtraction and object detection, to identify potential objects in each frame. The system then applies a human interactive auto-labeling pipeline to these objects, allowing for more accurate segmentation and labeling of the video data.

[0150] According to an embodiment, the present technology can comprise a database for storing labeled data and machine learning models for suggesting potential labels based on this data. The graphical user interface can be, for example, configured to display the suggested labels and allow the user to make corrections as needed.

[0151] According to an embodiment, the present technology can comprise post-processing steps, such as smoothing and refining the segmentation results, to improve the accuracy of the object detection and labeling. The system can also include features for exporting the labeled data in various formats for use in other applications.

[0152] According to an embodiment, the numerical representation is specifically designed for being processed by the vision foundation model. For example, the encoding process converts each frame into a set of numbers that retains essential visual information while minimizing data redundancy. The resulting numerical representation can be efficiently transmitted and stored. This feature enables the present technology to effectively interface with deep learning models like the vision foundation model, which relies on numerical data for processing and making predictions. By encoding frames into a suitable numerical format, the present technology ensures seamless integration with these advanced machine learning algorithms.

[0153] Additionally, the use of a numerical representation can lead to faster processing times compared to handling raw image data directly. This is because deep learning models are optimized for dealing with numerical inputs and can perform computations more efficiently on them. Furthermore, this feature allows for easier integration of other advanced machine learning techniques into the method. For instance, it may be desirable to apply additional pre-processing steps or post-processing techniques to the encoded numerical data before feeding it into the vision foundation model. The flexibility offered by encoding frames into a numerical representation makes such modifications straightforward and efficient.

[0154] According to an embodiment, the present technology can be configured to guide the vision foundation model in identifying at least one object of interest within an encoded frame. For example, the text prompt is specifically designed for this purpose, providing instructions or information that assists the model in locating and focusing on the desired object. This feature enhances the efficiency and accuracy of the model's object recognition capabilities, as it can help to overcome challenges such as occlusions, cluttered backgrounds, or ambiguous visual cues. Moreover, the present technology may employ various techniques to optimize the interaction between the text prompt and the vision foundation model. For instance, it could involve fine-tuning the model's parameters based on the specific context of the input frame, or implementing a feedback mechanism that allows the model to learn from its mistakes and improve over time.

[0155] According to an embodiment, the present technology can comprise aligning encoded frame and text features using at least one alignment technique. For example, this alignment is accomplished through the utilization of attention-based alignment or a spatial transformer network. Attention-based alignment refers to a technique where the model focuses on specific regions of the input frames and corresponding text to establish alignments. This method can effectively handle variations in frame content and text layouts by allowing the model to adaptively focus on relevant features.

[0156] According to an embodiment, the present technology can comprise refining the coarse mask based on the segmented mask. This refinement process for example comprises at least one of the following steps:

[0157] a. the object boundaries in the segmented mask are adjusted during this refinement step. By fine-tuning the object boundaries, the accuracy and precision of the mask can be significantly improved.

[0158] b. noise present in the coarse mask or the segmented mask can be removed during the refinement process. For example, this is accomplished using filtering techniques or other signal processing methods. The removal of noise leads to a clearer and more accurate mask.

[0159] c. the accuracy of the mask can be improved by applying various enhancement techniques during the refinement step. These techniques may include edge detection, morphological operations, or thresholding algorithms. By improving the mask's accuracy, the overall performance of the system utilizing this mask is enhanced.

[0160] According to an embodiment, the present technology can comprise propagating the refined mask to the next frame using a temporal propagation technique. For example, this temporal propagation technique leverages the spatial coherence between consecutive frames. The use of this technique can improve the accuracy and efficiency of the mask propagation process.

[0161] In more detail, the temporal propagation technique applies a filter or algorithm to the refined mask based on the spatial information from previous frames. This approach takes advantage of the fact that adjacent frames often contain similar spatial features, allowing for smoother and more accurate mask propagation over time. By leveraging the spatial coherence between frames, the present technology can adapt to these changes more effectively and maintain a high level of accuracy throughout the entire process. This embodiment reduces the need for manual intervention or complex mask adjustments, saving time and resources while improving overall performance. Additionally, it allows for real-time or near real-time processing, making it well-suited for applications where quick response times are essential.

[0162] According to an embodiment, the present technology can be configured to refine or correct a merged mask using active learning techniques and / or user feedback. For example, the present technology can involve obtaining a first mask and a second mask representing different versions of a target image. The masks are then merged to produce a combined mask. Active learning techniques can be employed to analyze the merged mask and identify areas requiring improvement or correction. User feedback can be gathered and incorporated into the active learning process to refine the merged mask.

[0163] In more detail, and according to an embodiment, the present technology may comprise pre-processing the merged mask to extract features and generating a set of candidate corrections based on the extracted features. The active learning algorithm then selects a subset of these candidates for presentation to a user. The user can provide feedback in the form of a correction and / or an indication of which candidate is most suitable for the given area in the merged mask. This feedback can be used to update the active learning model and refine the selection process for future iterations. Through this iterative process, the merged mask can be progressively improved based on user feedback, resulting in a more accurate representation of the target image.

[0164] According to an embodiment, the coarse mask comprises at least one label. The label is configured to be related to at least one object in the video. The use of labels in the coarse mask enables improved object recognition and tracking in the video. By relating each label to a specific object, the system can maintain accurate identification and location information for each object throughout the video sequence.

[0165] According to an embodiment, the present technology can comprise a propagated mask containing at least one mask for at least one object present in at least one previous frame or modified by the user. For example, the present technology involves generating a mask for each object detected in a current frame. Additionally, the present technology may include storing these masks as part of a propagated mask that can be accessed for subsequent frames. Including masks for objects present in previous frames or modified by the user allows for improved tracking and recognition of these objects across frames. This can lead to more accurate and robust object detection and analysis over time. Furthermore, the present technology may include updating the propagated mask based on new information from the current frame, such as the appearance or position of the objects. This ensures that the mask data remains up-to-date and relevant for ongoing analysis.

Claims

1.A computer-implemented method for semi-automatic video object segmentation, the method being configured to be executed by at least one computing system, the method comprising:receiving a video comprising a plurality of frames;extracting at least a set of frames from the plurality of frames;applying a pre-processing step to the extracted set of frames;generating, by a coarse mask generation module, a coarse mask for each pre-processed frame of the pre-processed set of frames using at least one vision foundation model, which comprises:encoding the pre-processed frame into a numerical representation;providing by at least one user at least one object category via a graphical user interface;encoding the provided object category as at least one text prompt;aligning the encoded frame and text prompt to generate aligned features;decoding the aligned features to generate at least one coarse mask that represents at least one identified object in the frame;allowing a user to modify the coarse mask via the graphical user interface;refining, by a mask refinement module, the coarse mask using at least one foreground-background segmentation model, which comprises:in response to at least one modification of the coarse mask by the user, segmenting user’s modification of the coarse mask into at least one individual object or region of interest to generate at least one segmented mask;refining the coarse mask based on the segmented mask;propagating the refined mask to the next frame of the extracted set of frames;generating, by the coarse mask generation module, a new coarse mask for the next frame using the at least one vision foundation model;merging the propagated mask and the new coarse mask to generate a merged mask;allowing the user to modify the merged mask via the graphical user interface.2.The method according to claim 1 wherein, the extracted frames are pre-processed to enhance image quality and remove noise.3.The method according to any one of claims 1 to 2 wherein, the pre-processing comprises at least one of: resizing, normalizing, and converting the extracted frames to a predetermined format, the predetermined format being configured to be processed by the vision foundation model.4.The method according to any one of claims 1 to 3 wherein, the pre-processed frames are encoded into a numerical representation, the numerical representation being configured to be processed by the vision foundation model.5.The method according to any one of claims 1 to 4 wherein, the text prompt is configured to guide the vision foundation model in identifying at least one object of interest within the encoded frame.6.The method according to any one of claims 1 to 5 wherein, aligning the encoded frame and text features comprises using at least one alignment technique taken among at least one of: attention-based alignment or spatial transformer network.7.The method according to any one of claims 1 to 6 wherein, the graphical user interface is configured to provide interactive tools for the user to refine and correct the generated coarse mask.8.The method according to any one of claims 1 to 7 wherein, refining the coarse mask based on the segmented mask comprises at least one of adjusting object boundaries or removing noise or improving accuracy.9.The method according to any one of claims 1 to 8 wherein, propagating the refined mask to the next frame comprises using a temporal propagation technique configured to leverage the spatial coherence between consecutive frames.10.The method according to any one of claims 1 to 9, wherein the graphical user interface is configured to provide interactive tools for the user to refine or correct the generated masks.11.The method according to any one of claims 1 to 10 comprising leveraging active learning techniques to refine and / or correct the merged mask based on at least one user feedback.12.The method according to any one of claims 1 to 11, wherein, the coarse mask contains at least one label, the label being configured to be related to at least one object in the video.13.The method according to any one of claims 1 to 12, comprising storing the merged mask in a storing module.14.The method according to any one of claims 1 to 13, wherein the propagated mask contains at least one mask for at least one object present in at least one previous frame or modified by the user.15.A computer product program for semi-automatic video object segmentation which, when executed by at least one processing unit, executes the method according to any one of claims 1 to 14.16.A non-transitory computer readable medium comprising at least one computer program product according to claim 15.17.A computing system for semi-automatic video object segmentation, the system comprising:a communication module configured to receive at least one video comprising a plurality of frames;a processing module configured to:extract at least a set of frames from the plurality of frames;apply a pre-processing step to the extracted set of frames;a coarse mask generation module configured to:generate a coarse mask for each pre-processed frame of the pre-processed set of frames using at least one vision foundation model;generate a new coarse mask for the next frame using the at least one vision foundation model;a mask refinement module configured to:refine the coarse mask using at least one foreground-background segmentation model;a mask propagation module configured to:propagate the refined mask to the next frame of the extracted set of frames;a merging module configured to:merge the propagated mask and the new coarse mask to generate a merged mask; anda graphical user interface configured to:allow a user to provide at least one object category;allow a user to modify the coarse mask; andallow the user to modify the merged mask.