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
search#
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