Code Monkey home page Code Monkey logo

eyeglassblurfilter's Introduction

Webcam Eyeglass Blur Filter

This Python program is used in video conferencing to automatically locate and blur your eyeglass areas in video streams in order to prevent inforamtion leakage from eyeglass optical reflections based webcam peeking.


Introduction

The figure demonstrates the application of a real-time defense against webcam peeking from our prototype developed with Dlib, OpenCV, and pyvirtualcam Python packages. It uses Dlib’s frontal face detector to initially detect the user’s face before predicting the location of 68 facial landmarks. Then, the program uses OpenCV to narrow the region of interest from the user’s entire face to just the eyeglasses region. OpenCV extracts this new region and applies a blur to mitigate the attacker’s ability to interpret any reflections. Pyvirtualcam allows us to feed this new video stream into different virtual cameras of our operating system, essentially treating our program as another ordinary webcam. After running the program, the user can select the virtual camera as their video input instead of the original webcam to directly feed the defense algorithm into their video conference platform. The program only has an approximately 0.035 second delay per frame, so there is no noticeable drop in framerate. Future development can further explore stronger reflection removal algorithms while maintaining an efficient runtime.

Installation & Usage

The program builds upon the virtual webcam funcitonality provided by pyvirtualcam. pyvirtualcam supports virtual webcams in Windows, Linux, and MacOS. Please refer to pyvirtualcam's home page for the setup under different oprating systems.

The current blurring funcitonality employs Guassian filters from cv2. When using the program, simply specify the sigma of the filter to adjust the filter strength, as shown in the figure above.

eyeglassblurfilter's People

Contributors

webcampeeking avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.