/caer

High-performance Vision library in Python. Scale your research, not boilerplate.

Primary LanguagePythonMIT LicenseMIT

Caer Logo

Python PyPI Twitter Downloads ReadTheDocs license

Caer - Modern Computer Vision on the Fly

Caer is a lightweight, high-performance Vision library for high-performance AI research. We wrote this framework to simplify your approach towards Computer Vision by abstracting away unnecessary boilerplate code giving you the flexibility to quickly prototype deep learning models and research ideas. The end result is a library quite different in its design, that’s easy to understand, plays well with others, and is a lot of fun to use.

Our elegant, type-checked API and design philosophy makes Caer ideal for students, researchers, hobbyists and even experts in the fields of Deep Learning and Computer Vision.

Overview

Caer is a Python library that consists of the following components:

Component Description
caer A lightweight GPU-accelerated Computer Vision library for high-performance AI research
caer.color Colorspace operations
caer.data Standard high-quality test images and example data
caer.path OS-specific path manipulations
caer.preprocessing Image preprocessing utilities.
caer.transforms Powerful image transformations and augmentations
caer.video Video processing utilities

Usually, Caer is used either as:

  • a replacement for OpenCV to use the power of GPUs.
  • a Computer Vision research platform that provides maximum flexibility and speed.

Installation

See the Caer Installation guide for detailed installation instructions (including building from source).

Currently, caer supports releases of Python 3.6 onwards; Python 2 is not supported (nor recommended). To install the current release:

$ pip install --upgrade caer

Getting Started

Minimal Example

import caer

# Load a standard 640x427 test image that ships out-of-the-box with caer
sunrise = caer.data.sunrise(rgb=True)

# Resize the image to 400x400 while MAINTAINING aspect ratio
resized = caer.resize(sunrise, target_size=(400,400), preserve_aspect_ratio=True)

caer.resize()

For more examples, see the Caer demos or Read the documentation

Resources

Contributing

We appreciate all contributions, feedback and issues. If you plan to contribute new features, utility functions, or extensions to the core, please go through our Contribution Guidelines.

To contribute, start working through the caer codebase, read the Documentation, navigate to the Issues tab and start looking through interesting issues.

Current contributors can be viewed either from the Contributors file or by using the caer.__contributors__ command.

Asking for help

If you have any questions, please:

  1. Read the docs.
  2. Look it up in our Github Discussions (or add a new question).
  3. Search through the issues.

License

Caer is open-source and released under the MIT License.

BibTeX

If you want to cite the framework feel free to use this (but only if you loved it 😊):

@article{jasmcaus,
  title={Caer},
  author={Dsouza, Jason},
  journal={GitHub. Note: https://github.com/jasmcaus/caer},
  volume={2},
  year={2020-2021}
}