Skip to main content

Extract sections from your image by using OpenAI CLIP and Facebooks Detr implemented on HuggingFace Transformers

Project description

clipcrop

  • Extract sections of images from your image by using OpenAI's CLIP and Facebooks Detr implemented on HuggingFace Transformers
  • Added new capability for segmentation using CLIP and Detr segmentation models

Why Detr?

Facebook's Detr is one of most effective object detection algorithm developed in the recent years. It simply expands to Detection Transformers and effectively a CNN architecture followed by Transformers encoders and decoders. It uses biopartite matching loss to compare objects detected in an image and reasons the predictions with the global image. Images are processed via CNN and encoder layer to output hidden states [number of images, seq_length, d_model] and object_queries [number of images, num of objects, d_model] are sent through decoders to get the neccessary logits for classification and MLP for regression(bounding box) Below are reason why you should prefer Detr over some popular algorithms

  • It's single step detector and it's efficiency is on par and better than two stage detectors like RCNN and Fast RCNN.
  • Compared to Yolo and SSD which are one stage detector DeTr performs detection on the whole image rather than grids of images unlike what we see in Yolo.

Installation

pip install clipcrop

Clip Crop

Extract sections of images from your image by using OpenAI's CLIP and Facebooks Detr implemented on HuggingFace Transformers (Inspired from @vijishmadhavan)

Implementation

from clipcrop import clipcrop
clipc = clipcrop.ClipCrop("/content/nm.jpg", "woman in white frock")
DFE, DM, CLIPM, CLIPP = clipc.load_models()
result = clipc.extract_image(DFE, DM, CLIPM, CLIPP)
# gives a list of dicitonary of top images and its relative similarity score and you can override this by setting num = 5  to get top 5 etc while initiating the class

Clip Segmentation

Segment out images using Detr Panoptic segmentation pipeline and leverage CLIP models to derive at the most probable one for your query

Implementation

from clipcrop import clipcrop
clipseg = clipcrop.ClipSeg("/content/input.png", "black colored car")
segmentor, clipmodel, clipprocessor = clipseg.load_models()
result = clipseg.segment_image(segmentor, clipmodel, clipprocessor)
# gives a list of dicitonary of top images and its relative similarity score and you can override this by setting num = 5  to get top 5 etc

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipcrop-1.0.10.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file clipcrop-1.0.10.tar.gz.

File metadata

  • Download URL: clipcrop-1.0.10.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for clipcrop-1.0.10.tar.gz
Algorithm Hash digest
SHA256 0ef44f93440155581515d6c84d58769e66bfc7d3c84b971a76c4ca32699bef7c
MD5 bd3f026829b590fd21349576de19f67e
BLAKE2b-256 d6956aeb079f9baeeb2efd08874912bd9b22ca9d16418f87e50643d3a6551fba

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page