Skip to main content

BLIP: Bootstrapping Language-Image Pretraining for Unified Vision-Language Understanding

BLIP is a new vision-language model proposed by Microsoft Research Asia in 2022. It introduces a bootstrapping method to learn from noisy image-text pairs scraped from the web.

The BLIP Framework

BLIP consists of three key components:

  • MED - A multimodal encoder-decoder model that can encode images, text, and generate image-grounded text.
  • Captioner - Fine-tuned on COCO to generate captions for web images.
  • Filter - Fine-tuned on COCO to filter noisy image-text pairs.


The pretraining process follows these steps:
  1. Collect noisy image-text pairs from the web.
  2. Pretrain MED on this data.
  3. Finetune captioner and filter on the COCO dataset.
  4. Use captioner to generate new captions for web images.
  5. Filter noisy pairs using the filter model.
  6. Repeat the process by pretraining on a cleaned dataset.

This bootstrapping allows BLIP to learn from web-scale noisy data in a self-supervised manner.


Innovations in BLIP

Some interesting aspects of BLIP:

  • Combines encoder-decoder capability in one unified model (MED). Can encode, decode, and match images and text.
  • Careful pretraining objectives - image-text contrastive loss, matching loss, conditional language modeling loss.
  • Bootstraping loop to denoise image-text data.
  • Better performance than CLIP and ALIGN on vision-language tasks.

Results

BLIP achieves strong performance on vision-language benchmarks like text-image retrieval, visual question answering, etc. Some examples:

  • 83.5% accuracy on NLVR2 compared to 69.9% for CLIP.
  • 91.5% accuracy on Flickr30K image-text retrieval compared to 89.0% for ALIGN.
  • State-of-the-art on 8/14 vision-language tasks.

Limitations and Future Work

  • Bootstrapping can compound errors if the captioner or filter makes mistakes. Need careful fine-tuning.
  • Requires large supervised datasets (COCO) which can be expensive.
  • Can add iterative bootstrapping rounds to progressively improve the model.
  • Explore other modalities like video, audio, etc.

BLIP provides a scalable approach to learning joint vision-language representations from web data. The bootstrapping framework can pave the way for large multimodal models.


Comments

Popular Posts

Network In Network

In this paper , the authors introduce a new network structure for the traditional CNN to better extract and interpret latent features. It is named "Network In Network (NIN)". NIN vs tradional CNN In a traditional CNN, convolutional layers and spatial pooling layers are stacked followed by fully connected layers and an output layer. The convolution layers generate feature maps by linear convolutional filters followed by non-linear activation functions. The NIN structure addresses the following 2 limitations of a traditional CNN. Kernels/filters used for each CNN layer works well when the features to be extracted are linearly separable. Fully connected layers at the end of the CNN leads to over-fitting the training data.  Convolution with linear filter vs Neural network The convolution layers involve a kernel that slides over the previous field (input or layers) and extracts features. The kernel is usually a matrix with which convolution is done. This is a linear operation. Mea...

Joint Pose and Shape Estimation of Vehicles from LiDAR Data

In this paper , the authors address the problem of estimating the pose and shape of vehicles from LiDAR Data. This is a common problem to be solved in autonomous vehicle applications. Autonomous vehicles are equipped with many sensors to perceive the world around them. LiDAR being one of them is what the authors focus on in this paper. A key requirement of the perception system is to identify other vehicles in the road and make decisions based on their pose and shape. The authors put forth a pipeline that jointly determines pose and shape from LiDAR data.  More about Pose and Shape Estimation LiDAR sensors capture the world around them in point clouds. Often, the first step in LiDAR processing is to perform some sort of clustering or segmentation, to isolate parts of the point cloud which belong to individual objects.  The next step is to infer the pose and shape of the object. This is mostly done by a modal perception . Meaning the whole object is perceived based on partial s...