# royshil/obs-backgroundremoval

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/royshil-obs-backgroundremoval).**

4,120 stars · 261 forks · C++ · gpl-3.0

## Links

- GitHub: https://github.com/royshil/obs-backgroundremoval
- awesome-repositories: https://awesome-repositories.com/repository/royshil-obs-backgroundremoval.md

## Topics

`background-segmentation` `computer-vision` `image-segmentation` `libobs` `mac-osx` `obs` `obs-plugin` `obs-studio` `obs-studio-plugin` `obsproject` `onnx` `onnx-runtime` `onnxruntime` `onnxruntime-gpu` `plugin` `video-segmentation`

## Description

This project is a plugin for OBS Studio that uses neural networks to isolate subjects from backgrounds in real-time video streams. It functions as an AI video segmentation tool that predicts portrait masks to create virtual green-screen effects without the need for physical hardware.

The software includes a real-time depth estimation filter that identifies scene depth to produce a blurred background while keeping the foreground subject in focus. It also provides low-light video enhancement to improve visibility and visual quality for portrait video captured in poorly lit environments.

The plugin covers subject isolation for both humans and non-human objects, alongside image processing capabilities for depth of field simulation and lighting correction.

## Tags

### Graphics & Multimedia

- [Virtual Green Screens](https://awesome-repositories.com/f/graphics-multimedia/virtual-green-screens.md) — Creates a virtual green-screen effect in OBS by removing backgrounds from live video streams without physical hardware.
- [Live Video Manipulation](https://awesome-repositories.com/f/graphics-multimedia/live-video-manipulation.md) — Modifies live video streams in real-time by correcting lighting and adding depth-of-field blur.
- [Video Object Segmentations](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/video-transformation-enhancement/chunked-video-processing/video-processing-apis/video-input-processing/real-time-video-analysis/video-object-segmentations.md) — Performs real-time pixel-level isolation of subjects within video streams.
- [Portrait Video Processing](https://awesome-repositories.com/f/graphics-multimedia/portrait-video-processing.md) — Isolates subjects in portrait-style video to apply custom backgrounds and focus effects.
- [Real-Time Video Filtering](https://awesome-repositories.com/f/graphics-multimedia/real-time-video-filtering.md) — Provides low-latency processing of live video streams to apply real-time background removal and blur effects.
- [Temporal Video Background Removal](https://awesome-repositories.com/f/graphics-multimedia/temporal-video-background-removal.md) — Isolates subjects from video backgrounds in real-time while maintaining temporal consistency. ([source](https://royshil.github.io/obs-backgroundremoval/usage/))
- [Background Segmentation](https://awesome-repositories.com/f/graphics-multimedia/background-segmentation.md) — Separates non-human foreground objects from backgrounds using general-purpose segmentation models. ([source](https://royshil.github.io/obs-backgroundremoval/usage/))
- [Depth of Field](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/post-processing-effects/depth-of-field.md) — Simulates camera lens focus by blurring the background based on estimated scene depth. ([source](https://royshil.github.io/obs-backgroundremoval/usage/))
- [Image Enhancement Tools](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-enhancement-tools.md) — Improves the visibility and visual quality of images captured in poorly lit environments. ([source](https://cdn.jsdelivr.net/gh/royshil/obs-backgroundremoval@main/README.md))
- [Alpha Compositing](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/face-portrait-manipulation/image-blending/premultiplied-alpha-blending/alpha-compositing.md) — Blends isolated subjects with virtual backgrounds or blur layers using alpha channel masks.
- [Video Transformation and Enhancement](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/video-transformation-enhancement.md) — Enhances the visual quality and clarity of portrait video captured in low-light conditions. ([source](https://royshil.github.io/obs-backgroundremoval/))
- [Video Frame Processing](https://awesome-repositories.com/f/graphics-multimedia/video-frame-processing.md) — Performs low-level processing of individual video frames to adjust brightness and contrast for low-light environments.

### Artificial Intelligence & ML

- [AI Subject Isolation](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-subject-isolation.md) — Uses neural network segmentation models to automatically identify and mask subjects in live video.
- [Image Segmentations](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-networks/image-segmentations.md) — Utilizes trained deep learning models to identify and isolate foreground pixels from the background.
- [Depth Estimation](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-pose-estimations/monocular-depth-estimators/multi-view-depth-estimators/depth-estimation.md) — Implements depth estimation to generate grayscale distance maps for applying variable background blur.

### DevOps & Infrastructure

- [Background Removal Tools](https://awesome-repositories.com/f/devops-infrastructure/background-processing/background-removal-tools.md) — Provides neural network-based utilities for isolating human subjects and objects from video backgrounds.
- [OBS Plugins](https://awesome-repositories.com/f/devops-infrastructure/background-processing/background-removal-tools/obs-plugins.md) — Provides a specialized plugin for OBS Studio that isolates subjects from backgrounds using neural networks.
- [Portrait Masking](https://awesome-repositories.com/f/devops-infrastructure/background-processing/background-removal-tools/portrait-masking.md) — Predicts portrait masks to remove background pixels for virtual background applications. ([source](https://cdn.jsdelivr.net/gh/royshil/obs-backgroundremoval@main/README.md))
