This is a MODNet portrait video matting demo that allows you to process custom videos.
The basic requirements for this demo are:
- Ubuntu System
- Python 3+
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.
For a better experience, please make sure your videos satisfy:
- the portrait and background are distinguishable, i.e., are not similar
- captured in soft and bright ambient lighting
- the contents 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/custom/requirements.txt
-
Execute the main code:
python -m demo.video_matting.custom.run --video YOUR_VIDEO_PATH
where
YOUR_VIDEO_PATH
is the specific path of your video.
There are some optional arguments:--result-type (default=fg)
: fg - save the alpha matte; fg - save the foreground--fps (default=30)
: fps of the result video