Giter Club home page Giter Club logo

person-blocker's Introduction

Person Blocker

img4

A script to automatically "block" people in images (like the Black Mirror episode White Christmas) using Mask R-CNN pretrained on the MS COCO dataset. No GPU required!

But you can block more than just people: up to 80 different types of objects can be blocked, including giraffes and busses!

Setup

This project relies on a handful of dependencies, use the following command to install your dependencies:

pip3 install -r requirements.txt

Note: Depending on your environment, you may need to use sudo. You may also want to use virtualenv.

Usage

Person Blocker is used from the command line:

python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'
  • -i/--image: specifies the image file.
  • -m/--model: path to the pretrained COCO model weights (default: current directory): if not specified, it will download them automatically to the current directory if not already present (note: the weights are 258 MB!)
  • -c/--color: color of the mask, in either quote-wrapped hexidecimal or 3-element RGB tuple format. (default: white)
  • -o/--object: list of types of objects to block (or object IDs of specific objects). You can see the allowable choices of objects to block in classes.py or by using the -names flag. (default: person)
  • -l/--labeled: saves a labeled image annotated with detected objects and their object ID.
  • -n/--names: prints the class options for objects, then exits.

The script outputs two images: a static (pun intended) image person_blocked.png and an animated image person_blocked.gif like the one at the beginning of this README.

Examples

python3 person_blocker.py -i images/img1.jpg

img1

python3 person_blocker.py -i images/img2.jpg -c '#c0392b' -o 'giraffe'

img2

python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'

img3

Blocking specific object(s) requires 2 steps: running in inference mode to get the object IDs for each object, and then blocking those object IDs.

python3 person_blocker.py -i images/img4.jpg -l

img4 labels

python3 person_blocker.py -i images/img4.jpg -o 1

img4

Requirements

The same requirements as Mask R-CNN:

  • Python 3.4+
  • TensorFlow 1.3+
  • Keras 2.0.8+
  • Numpy, skimage, scipy, Pillow, cython, h5py

plus matplotlib and imageio

Maintainer

Max Woolf (@minimaxir)

Max's open-source projects are supported by his Patreon. If you found this project helpful, any monetary contributions to the Patreon are appreciated and will be put to good creative use.

License

MIT

Code used from Mask R-CNN by Matterport, Inc. (MIT-Licensed), with minor alterations and copyright notices retained.

person-blocker's People

Contributors

minimaxir avatar madmaze avatar

Watchers

James Cloos avatar

Forkers

arran4

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.