This is a MODNet portrait video matting demo based on WebCam. It will call your local WebCam and display the matting results in real time. The demo can run under CPU or GPU.
The basic requirements for this demo are:
- Ubuntu System
- WebCam
- Python 3+
NOTE: If your device does not satisfy the above conditions, please try our online Colab demo.
We use ~400 unlabeled video clips (divided into ~50,000 frames) downloaded from the internet to perform SOC to adapt MODNet to the video domain. Nonetheless, due to insufficient labeled training data (~3k labeled foregrounds), our model may still make errors in portrait semantics estimation under challenging scenes. Besides, this demo does not currently support the OFD trick, which will be provided soon.
For a better experience, please:
- make sure the portrait and background are distinguishable, i.e., are not similar
- run in soft and bright ambient lighting
- do not be too close or too far from the WebCam
- do not move too fast
We recommend creating a new conda virtual environment to run this demo, as follow:
-
Clone the MODNet repository:
git clone https://github.com/ZHKKKe/MODNet.git cd MODNet
-
Download the pre-trained model from this link and put it into the folder
MODNet/pretrained/
. -
Create a conda virtual environment named
modnet
(if it doesn't exist) and activate it. Here we usepython=3.6
as an example:conda create -n modnet python=3.6 source activate modnet
-
Install the required python dependencies (please make sure your CUDA version is supported by the PyTorch version installed):
pip install -r demo/video_matting/webcam/requirements.txt
-
Execute the main code:
python -m demo.video_matting.webcam.run
We thank @tkianai and @mazhar004 for their contributions to making this demo available for CPU use.