Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Virtual Video Device for Background Replacement with Deep Semantic Segmentation
| Date | Stars |
|---|---|
| 2026-07-24 | 747 |
| 2026-07-25 | 746 |
| 2026-07-28 | 746 |
| 2026-07-30 | 746 |
| 2026-08-06 | 746 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# BackScrub
(or The Project Formerly Known As DeepBackSub)
## Virtual Video Device for Background Replacement with Deep Semantic Segmentation

(Credits for the nice backgrounds to [Mary Sabell](https://dribbble.com/shots/4686178-Bauhaus-Poster) and [PhotoFunia](https://photofunia.com/effects/retro-wave))
## Maintainers
* Phil Ashby ([@phlash](https://github.com/phlash))
* Benny Baumann ([@BenBE](https://github.com/BenBE))
* Florian Echtler ([@floe](https://github.com/floe))
## License
backscrub is licensed under the Apache License 2.0. See LICENSE file for details.
## Building
Install dependencies (`sudo apt install libopencv-dev build-essential v4l2loopback-dkms curl`).
Clone this repository with `git clone --recursive https://github.com/floe/backscrub.git`.
To speed up the checkout you can additionally pass `--depth=1` to `git clone`.
This is okay, if you only want to download and build the code, however, for development it is not recommended.
Use `cmake` to build the project: create a subfolder (e.g. `build`), change to that folder and run: `cmake .. && make -j $(nproc || echo 4)`.
**Deprecated**: Another option to build everything is to run `make` in the root directory of the repository. While this will download and build all dependencies, it comes with a few drawbacks like missing support for XNNPACK. Also this might break with newer versions of Tensorflow Lite as upstream support for this option has been removed. Use at you own risk.
## Usage
First, load the v4l2loopback module (extra settings needed to make Chrome work):
```
sudo modprobe v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label="VirtualCam" video_nr=10
```
Then, run backscrub (-d -d for full debug, -c for capture device, -v for virtual device, -b for wallpaper):
```
./backscrub -d -d -c /dev/video0 -v /dev/video10 -b ~/wallpapers/forest.jpg
```
Some cameras (like e.g. `Logitec Brio`) need to switch the video source to `MJPG` by passing `-f MJPG` in order for higher resolutions to become available for use.
For regular usage, setup a configuration file `/etc/modprobe.d/v4l2loopback.conf`:
```
# V4L loopback driver
options v4l2loopback max_buffers=2
options v4l2loopback exclusive_caps=1
options v4l2loopback video_nr=10
options v4l2loopback card_label="VirtualCam"
```
To auto-load the driver on startup, create `/etc/modules-load.d/v4l2loopback.conf` with the following content:
```
v4l2loopback
```
## Requirements
Tested with the following dependencies:
- Ubuntu 20.04, x86-64
- Linux kernel 5.6 (stock package)
- OpenCV 4.2.0 (stock package)
- V4L2-Loopback 0.12.5 (stock package)
- Tensorflow Lite 2.5.0 (from [repo](https://github.com/tensorflow/tensorflow/tree/v2.5.0/tensorflow/lite))
- Ubuntu 18.04.5, x86-64
- Linux kernel 4.15 (stock package)
- OpenCV 3.2.0 (stock package)
- V4L2-Loopback 0.10.0 (stock package)
- Tensorflow Lite 2.1.0 (from [repo](https://github.com/tensorflow/tensorflow/tree/v2.1.0/tensorflow/lite))
Tested with the following software:
- Firefox
- 90.0.2 (works)
- 84.0 (works)
- 76.0.1 (works)
- 74.0.1 (works)
- Skype
- 8.67.0.96 (works)
- 8.60.0.76 (works)
- 8.58.0.93 (works)
- guvcview
- 2.0.6 (works with parameter `-c read`)
- 2.0.5 (works with parameter `-c read`)
- Microsoft Teams
- 1.3.00.30857 (works)
- 1.3.00.5153 (works)
- 1.4.00.26453 (works)
- Chrome
- 87.0.4280.88 (works)
- 81.0.4044.138 (works)
- Zoom - yes, I'm a hypocrite, I tested it with Zoom after all :-)
- 5.4.54779.1115 (works)
- 5.0.403652.0509 (works)
## Background
In these modern times where everyone is sitting at home and skype-ing/zoom-ing/webrtc-ing all the time, I was a bit annoyed about always showing my messy home office to the world. Skype has a "blur background" feature, but that starts to get boring after a while (and it's less private tExcerpt of 10,520 characters
Read on GitHub94
48
21
4
4
2
2
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:cac662f8d4a4ffa5, topic:deep-learning, topic:tensorflow
matched fp:cac662f8d4a4ffa5, topic:opencv, desc:semantic segmentation, readme:semantic segmentation