Skip to content

CLI Reference#

skelshop#

Usage:

skelshop [OPTIONS] COMMAND [ARGS]...

Options:

  -v, --verbosity LVL  Either CRITICAL, ERROR, WARNING, INFO or DEBUG
  --ffprobe-bin PATH   If you cannot install ffprobe globally, you can provide
                       the path to the version you want to use here

bench#

Commands to benchmark SkelShop's I/O speeds.

Usage:

skelshop bench [OPTIONS] COMMAND [ARGS]...

read-shot-seg#

Benchmark reading a shot segmented skeleton file.

Usage:

skelshop bench read-shot-seg [OPTIONS] SKELS_FN

write-bench-script#

Usage:

skelshop bench write-bench-script [OPTIONS] HEADER YOUTUBE_ID OUT_FN

Options:

  --sif TEXT

calibrate#

Keypoint calibration tools.

Usage:

skelshop calibrate [OPTIONS] COMMAND [ARGS]...

analyse#

Usage:

skelshop calibrate analyse [OPTIONS] DFIN

Options:

  --chart-out PATH
  --kps TEXT
  --thresh FLOAT
  --excl-thresh FLOAT
  --mask TEXT

process-dlib-dir#

Give a directory with dlib facepoint XMLs, run OpenPose on all images and write out where the keypoints are relative to the chips.

Usage:

skelshop calibrate process-dlib-dir [OPTIONS] DIRIN H5IN DFOUT

Options:

  --add-symmetries / --no-add-symmetries
  --add-synthetic / --no-add-synthetic

process-video#

Given a video and a skeleton keypoint file, run the dlib keypoint detection pipeline for each frame and give points where BODY_25 face keypoints would have to map to make the same transformation.

Usage:

skelshop calibrate process-video [OPTIONS] VIDEO H5INFN DFOUT

conv#

Convert a exiting dump from another format into HDF5 format.

LEGACY_DUMP is the dump in the old format. OUT is a file path when run with single-zip, otherwise it is the base of a directory tree which will be created during processing.

Usage:

skelshop conv [OPTIONS] [monolithic-tar|single-zip|ordered-tar] LEGACY_DUMP [OUT]

Options:

  --mode [BODY_25_ALL|BODY_25_HANDS|BODY_25|BODY_135|FACE|BODY_25_FACE]
                                  [required]
  --cores INTEGER                 Number of cores to use (only for monolithic-
                                  tar)

  --suppress-end-fail / --no-suppress-end-fail
  --skip-existing / --overwrite-existing

drawsticks#

Output a video with stick figures from pose dump superimposed.

Usage:

skelshop drawsticks [OPTIONS] H5FN VIDEOIN VIDEOOUT

Options:

  --posetrack / --no-posetrack  Whether to convert BODY_25 keypoints to
                                PoseTrack-style keypoints

  --scale INTEGER
  --overlay / --no-overlay      Whether to draw VIDEOIN below the stick
                                figures or not

dump#

Create a HDF5 pose dump from a video using OpenPose.

This command optionally applies steps from the tracking/segmentation pipeline.

Usage:

skelshop dump [OPTIONS] VIDEO H5FN

Options:

  --compression [none|lossless|lossless9|lossy|lossy9]
  --mode [BODY_25_ALL|BODY_25_HANDS|BODY_25|BODY_135|FACE|BODY_25_FACE]
  --model-folder TEXT             [required]
  --debug / --no-debug
  --dry-run / --write
  --segs-file PATH
  --pose-matcher-config TEXT
  --track-conf [lighttrackish|opt_lighttrack|deepsortlike]
  --track / --no-track
  --shot-seg [bbskel|psd|ffprobe|none]

dumpimgs#

Dump a directory of images to a HDF5 file using OpenPose.

Usage:

skelshop dumpimgs [OPTIONS] INPUT_DIR H5OUT

Options:

  --mode [BODY_25_ALL|BODY_25_HANDS|BODY_25|BODY_135|FACE|BODY_25_FACE]
  --model-folder TEXT             [required]

face#

Commands for creating face embedding dumps

Usage:

skelshop face [OPTIONS] COMMAND [ARGS]...

bestcands#

Select the best frame-person pairs to use for face embedding.

Usage:

skelshop face bestcands [OPTIONS] [conf-face3|conf-face5|conf-face68|conf-adaptive|clear-face3|clear-
 face5|clear-face68|clear-adaptive] SKELIN SEGSOUT

Options:

  --video PATH

embedall#

Create a HDF5 face dump from a video using dlib.

Usage:

skelshop face embedall [OPTIONS] [dlib-hog-face5|dlib-hog-face68|dlib-cnn-face5|dlib-cnn-
 face68|openpose-face68|openpose-face3|openpose-face5] VIDEO H5FN

Options:

  --from-skels PATH
  --start-frame INTEGER
  --skel-thresh-pool [min|max|mean]
  --skel-thresh-val FLOAT
  --batch-size INTEGER
  --write-bboxes / --no-write-bboxes
  --write-chip / --no-write-chip

embedselect#

Embed faces into a sparse face dump according to a predetermined selection of frame-person pairs.

Usage:

skelshop face embedselect [OPTIONS] VIDEO SELECTION H5FN

Options:

  --from-skels PATH
  --batch-size TEXT               The batch size to use. Valid values are
                                  'guess' or an integer. The default is to
                                  guess on GPU otherwise use 16

  --write-bboxes / --no-write-bboxes
  --write-chip / --no-write-chip

savechips#

Extract chips into image files from a face dump with chips embedded inside it.

Usage:

skelshop face savechips [OPTIONS] H5FIN GROUPIN IMGOUT

Options:

  --group-fmt [psd|ffprobe|trackshot]

filter#

Apply tracking to an untracked HDF5 pose dump.

Usage:

skelshop filter [OPTIONS] H5INFN H5OUTFN

Options:

  --segs-file PATH
  --pose-matcher-config TEXT
  --track-conf [lighttrackish|opt_lighttrack|deepsortlike]
  --track / --no-track
  --shot-seg [bbskel|psd|ffprobe|none]
  --compression [none|lossless|lossless9|lossy|lossy9]
  --start-frame INTEGER
  --end-frame INTEGER

iden#

Commands to do with identification based on face embedding dumps

Usage:

skelshop iden [OPTIONS] COMMAND [ARGS]...

applymap#

Apply a mapping from clusters to known IDs (e.g. Wikidata Q-ids)

Usage:

skelshop iden applymap [OPTIONS] SEGS_IN ASSIGN_IN SEGS_OUT

Options:

  --filter-unlabeled / --keep-unlabeled

buildrefs#

Build a reference face library from a list of entities or categories.

Usage:

skelshop iden buildrefs [OPTIONS] [entities|categories] LISTIN REFOUT [[wikidata|commons]]

Options:

  --oauth-creds FILENAME

clus#

Clusters embeddings from multiple videos descriped in a corpus description file.

Usage:

skelshop iden clus [OPTIONS] COMMAND [ARGS]...
fixed#

Performs dbscan with fixed parameters.

Usage:

skelshop iden clus fixed [OPTIONS] CORPUS_DESC

Options:

  --n-jobs INTEGER
  --sample-size INTEGER
  --knn INTEGER
  --pool [med|min|vote]
  --ann-lib [pynndescent|faiss-exact]
  --algorithm [dbscan|optics-dbscan|rnn-dbscan]
  --num-protos INTEGER
  --model-out PATH
  --proto-out PATH
  --corpus-base PATH
  --eps FLOAT
  --min-samples INTEGER

Performs grid search to find best clustering parameters.

Usage:

skelshop iden clus search [OPTIONS] CORPUS_DESC

Options:

  --n-jobs INTEGER
  --sample-size INTEGER
  --knn INTEGER
  --pool [med|min|vote]
  --ann-lib [pynndescent|faiss-exact]
  --algorithm [dbscan|optics-dbscan|rnn-dbscan]
  --num-protos INTEGER
  --model-out PATH
  --proto-out PATH
  --corpus-base PATH
  --eps TEXT
  --min-samples TEXT
  --score [both|silhouette|tracks-acc]

embedrefs#

Pre-embed a face reference directory structure into a HDF5 file.

Usage:

skelshop iden embedrefs [OPTIONS] INPUT_DIR H5OUT

idclus#

Identifies clusters by comparing against a reference and forcing a match

Usage:

skelshop iden idclus [OPTIONS] REF_IN PROTOS CORPUS_DESC ASSIGN_OUT

Options:

  --thresh FLOAT
  --corpus-base PATH

idrnnclus#

Identifies clusters by comparing against a reference and forcing a match

Usage:

skelshop iden idrnnclus [OPTIONS] REF_IN MODELIN ASSIGN_OUT

Options:

  --thresh FLOAT

idsegsfull#

Identifies shots with a particular person from reference headshots using face dumps which contain all face embeddings in a clip.

Usage:

skelshop iden idsegsfull [OPTIONS] REF_IN GROUPIN FACES SEGSOUT

Options:

  --group-fmt [psd|ffprobe|trackshot]
  --min-detected-frames INTEGER
  --detection-threshold FLOAT
  --median-threshold FLOAT

idsegssparse#

Identifies shots with a particular person from reference headshots using face dumps with only a few (fixed number) embeddings per person-shot pair.

Usage:

skelshop iden idsegssparse [OPTIONS] REF_IN GROUPIN FACES SEGSOUT

Options:

  --group-fmt [psd|ffprobe|trackshot]
  --detection-threshold FLOAT

whoisthis#

Given a directory of prototype images as generated by writeprotos, produces a cluster identification mapping by interactively asking the you to identify people.

Usage:

skelshop iden whoisthis [OPTIONS] PROTOS_DIR ASSIGN_OUT

Options:

  --thumbview-cmd TEXT

writeprotos#

Given prototypes description file as produced by clus, dumps the corresponding images.

Usage:

skelshop iden writeprotos [OPTIONS] PROTOS CORPUS_DESC PROTOS_DIR

Options:

  --corpus-base PATH

playsticks#

Play a video with stick figures from pose dump superimposed.

Usage:

skelshop playsticks [OPTIONS] VIDEOIN

Options:

  --skel PATH
  --face PATH
  --posetrack / --no-posetrack  Whether to convert BODY_25 keypoints to
                                PoseTrack-style keypoints

  --seek-time FLOAT
  --seek-frame INTEGER
  --scale INTEGER
  --paused / --playing

stats#

Output stats about dumps in INPUT_DIR.

Usage:

skelshop stats [OPTIONS] INPUT_DIR