Skip to content

turian/donatefaces

Repository files navigation


    by Joseph Turian

Extract faces from video clips; generate training data for pose-invariant face features.

USAGE:
    youtube-dl 'http://www.youtube.com/watch?v=2QlGj_GPPi4'
    ./detect_faces.py 2QlGj_GPPi4.flv > 2QlGj_GPPi4.flv.faces
    ./draw_faces.py 2QlGj_GPPi4.flv 2QlGj_GPPi4.flv.faces 2QlGj_GPPi4.faces.mp4

    ./smooth_faces.py 2QlGj_GPPi4.flv.faces > 2QlGj_GPPi4.flv.facechains
    ./draw_facechains.py 2QlGj_GPPi4.flv 2QlGj_GPPi4.flv.facechains 2QlGj_GPPi4.facechains.mp4

    youtube-dl 'http://www.youtube.com/watch?v=Hde4s-xBhqE'
    ./detect_faces.py Hde4s-xBhqE.flv > Hde4s-xBhqE.flv.faces
    ./draw_faces.py Hde4s-xBhqE.flv Hde4s-xBhqE.flv.faces Hde4s-xBhqE.faces.mp4
    ./smooth_faces.py Hde4s-xBhqE.flv.faces > Hde4s-xBhqE.flv.facechains
    ./draw_facechains.py Hde4s-xBhqE.flv Hde4s-xBhqE.flv.facechains Hde4s-xBhqE.facechains.mp4

If you want to crawl youtube video URLs, check out crawl/


REQUIREMENTS:
    * OpenCV (>=2?) with *old* style (Swig) Python bindings
        * If you are under Ubuntu, this is easy to install:
            sudo apt-get install python-opencv libcv-dev

            Note:
            /usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml
            is contained in libcv-dev so you actually need to install
            that too for the code to run
        * If you are compiling the code from scratch, make sure you use option:
                -D BUILD_SWIG_PYTHON_SUPPORT=ON
            when running 'cmake' to get the old style bindings.
        * Note: The new style Python bindings are incomplete, unfortunately:
            http://stackoverflow.com/questions/2195441/opencv-2-0-and-python
            (See comment by ezod)
    * My Python common library:
        http://github.com/turian/commono
    * youtube-dl:
        http://bitbucket.org/rg3/youtube-dl/

        Always use the latest version of youtube-dl (the HG current version).

    * numpy

TODO:
    * Compute sha1sum after downloading a video

IMPLICIT REQUIREMENTS (things required by REQUIREMENTS):
    * ffmpeg
    * simplejson
        

CREDITS:
    * Python OpenCV face detection code originally based upon code from
    Robert Martin “Marty” McGuire:
        http://creatingwithcode.com/howto/face-detection-in-static-images-with-python/

---------------------

DEPRECATED

    * pyffmpeg
        http://code.google.com/p/pyffmpeg/issues/detail?id=9#c5

        sudo pip install -e git://github.com/tranx/pyffmpeg.git#egg=pyffmpeg

    * PyMedia
        For converting a video into images. I use version 1.3.7.3.
            <http://securfox.wordpress.com/2009/05/15/pymedia-on-debian-lenny/>
            Edit the audio/acodec/acodec.c file and on line 31 insert the following :

            #define HAVE_LRINTF

            So you should have:

            #include <libavcodec/avcodec.h>
            #define HAVE_LRINTF
            #include “libavcodec/dsputil.h”
            #include “version.h”
        TODO: Just use OpenCV cvCaptureFromFile method? PyMedia is old
        and unsupported.

    * Video to image dumping is from PyMedia example code:
        http://pymedia.org/tut/src/dump_video.py.html

About

Extract faces from video clips; generate training data for pose-invariant face features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages