Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/frankier/skelshop

📺 📰 🧑‍💼 Toolkit for skeleton & face analysis of talking heads (e.g. news) videos 🧑‍💼 📰 📺
https://github.com/frankier/skelshop

computer-vision facial-recognition openpose pose-estimation

Last synced: 8 days ago
JSON representation

📺 📰 🧑‍💼 Toolkit for skeleton & face analysis of talking heads (e.g. news) videos 🧑‍💼 📰 📺

Awesome Lists containing this project

README

        


SkelShop



Docker/Singularity containers

|

Documentation

SkelShop is a toolkit usable either as a suite of command line tools or a
Python library aimed at *offline analysis* of the ``talking heads'' genre of
videos, typically created in a television studio. This genre includes news
and current affairs programmes, variety shows and some documentaries. The
main attributes of this type of material is:
* Multiple fixed place cameras in a studio with shot changes to different
cameras and non-studio material.
* Mainly upper bodies are visible.
* Frontal shots are the most frequent type.
* Faces are usually visible and most often frontal.
* Occlusion is as often by an OSD (On Screen Display) than by some other
object in the scene.

## Getting started

[See the documentation.](https://frankier.github.io/skelshop/)

## Features

* Dump OpenPose skeletons to a fast-to-read HDF5 file format
* A processing pipeline starting with shot segmentation
* Apply black box person tracking on OpenPose skeletons
* Draw skeletons over video and...
* View the result in real time
* Output the result to another video
* Convert from some existing JSON based dump formats
* Embed faces using dlib
* Using OpenPose's face detection and keypoint estimation
* Or using dlib's own face detection/keypoint estimation
* Select best frames for best quality embeddings
* Dump across heterogeneous HPC environments including GPU and CPU nodes.
* Identify faces based on embeddings
* Identify by direct comparison with references
* Or cluster faces with no reference (also useful re-identitication)
* Identify faces based on clusters, either with a reference or interactively
* Quickly build up libraries of references using data from WikiData/WikiMedia commons

Here's a screenshot of the playsticks command:

![Screenshot of the playsticks
command](https://user-images.githubusercontent.com/299380/87277551-2d9f6180-c4eb-11ea-917c-4336ad36a97f.png)

[Find out more about what SkelShop can do in the documentation.](https://frankier.github.io/skelshop/)

## Contributions & Questions

Contributions are welcome! Feel free to use GitHub discussions to ask any
questions. [See also the contributing section of the
documentation.](https://frankier.github.io/skelshop/development/)

## Acknowledgments

Thanks to the authors of all the useful libraries I have used.

Some of the black box tracking code is based
on [this repository](https://github.com/lxy5513/cvToolkit).

Some code to do with clustering and usage of FAISS is based on [this repository](https://github.com/yl-1993/learn-to-cluster/).

[Icon by Adrien Coquet, FR from the Noun Project used under
CC-BY.](https://thenounproject.com/term/news/2673777)