This repository contains the code for real time background blurring using deep learning model DeeplabV3. We used the Keras implementation of DeeplabV3 with pretrained weights.
Few months back Microsoft introduced Teams with a background blur feature for video calls using AI which catch the attention of the several people. As you can see in the image below.
You can read more about the Microsoft Team here
Blurring the video background using machine learning can help reduce us videoconferencing faux pas. Basically if you have an interview or a very important meeting and you are at home or coffee shop just use this feature and it can save you from lots of embarrassment.
You can read the blog post about it here
DeeplabV3 is a state-of-the-art model for Semantic Segmentation develop by Google Inc. We are using this implementation of DeepLabV3 in Keras.
For the experiement, we used the real-time input from the webcam and blur the background of it. To keep it simple and easy we didn't used any data preprocessing or computer vision techniques to improve the input to the machine learning model. For the testing place the camera in the low light to check effective-ness and completeness of our approach.
Goto the script directory and run the python script
python main.py
For this project to run you need:
- Python 3.5
- Tensorflow 1.4
- OpenCV
- imutils
- Keras
-
Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
Liang-Chieh Chen and Yukun Zhu and George Papandreou and Florian Schroff and Hartwig Adam
[link]. In ECCV, 2018. -
MobileNetV2: Inverted Residuals and Linear Bottlenecks
Mark Sandler and Andrew Howard and Menglong Zhu and Andrey Zhmoginov and Liang-Chieh Chen.
[link]. In CVPR, 2018.
- Amanullah Tariq
- Email: amanullah.tariq@gmail.com
- Website: http://amanullahtariq.com/
- Github: http://github.com/amanullahtariq
- Linkedin: https://www.linkedin.com/in/amanullahtariq/