from vframe.utils import click_utils from vframe.settings import types from vframe.settings import vframe_cfg as cfg from vcat.settings import vcat_cfg # -------------------------------------------------------- # testing # -------------------------------------------------------- @click.command() @click.option('-i', '--input', 'opt_fp_neg', required=True, help='Negatives CSV') @click.option('-o', '--output', 'opt_dir_project', required=True, help='Path to existing YOLO project') @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.HDD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('--size', 'opt_size', type=cfg.ImageSizeVar, default=click_utils.get_default(types.ImageSize.LARGE), help=click_utils.show_help(types.ImageSize)) @click.pass_context def cli(ctx, opt_fp_neg, opt_dir_project, opt_disk, opt_size): """Generates negative images""" # ------------------------------------------------ # imports import os from os.path import join
from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command('') @click.option('--dir-media', 'opt_dir_media', default=None, help='Path to media folder') @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('--density', 'opt_density', default=click_utils.get_default(types.KeyframeMetadata.BASIC), show_default=True, type=cfg.KeyframeMetadataVar, help=click_utils.show_help(types.KeyframeMetadata)) @click.option('--size', 'opt_size_type', type=cfg.ImageSizeVar, default=click_utils.get_default(types.ImageSize.MEDIUM), help=click_utils.show_help(types.ImageSize)) @click.option('--draw',
# -------------------------------------------------------- # Add source items to chain # Sources can be original mappings or metadata, which always include mappings # -------------------------------------------------------- @click.command() @click.option('-i', '--input', 'fp_in', required=True, help='Override file input path') @click.option('--size', 'opt_size_type', type=cfg.ImageSizeVar, default=click_utils.get_default(types.ImageSize.MEDIUM), help=click_utils.show_help(types.ImageSize) ) # TODO move to add_images @generator @click.pass_context def cli(ctx, sink, fp_in, opt_size_type): """Add mappings data to chain""" # ------------------------------------------------------------- # imports import os import logging import cv2 as cv from tqdm import tqdm
# -------------------------------------------------------- # Add metadata objects to chair items # -------------------------------------------------------- @click.command() @click.option( '-i', '--input', 'fp_in', default=None, # metadata can be filepath help='Override file input path') @click.option( '-e', '--ext', 'opt_format', # shortcut for json, pkl (no csv) default=click_utils.get_default(types.FileExt.PKL), type=cfg.FileExtVar, show_default=True, help=click_utils.show_help(types.FileExt)) @click.option( '-d', '--disk', 'opt_disk', # which storage device to use default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option( '-t', '--type', 'opt_metadata_types',
""" import click from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command() @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.HDD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('-t', '--net-type', 'opt_net', type=cfg.FaceDetectNetVar, default=click_utils.get_default(types.FaceDetectNet.DLIB_CNN), help=click_utils.show_help(types.FaceDetectNet)) @click.option('--size', 'opt_dnn_size', type=(int, int), default=(500, 500), help='Inference image size. Default: 300x300 OpenCV DNN') @click.option('--pyramids',
""" import click from vframe.utils import click_utils from vframe.settings import types from vframe.settings import vframe_cfg as cfg # -------------------------------------------------------- # Shard a pickle into smaller pices # -------------------------------------------------------- @click.command() @click.option('-i', '--input', 'fp_in', default=None, help='Override file input path') @click.option('-e', '--ext', 'opt_format', default=click_utils.get_default(types.FileExt.PKL), type=cfg.FileExtVar, show_default=True, help=click_utils.show_help(types.FileExt)) @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('-t', '--type', 'opt_metadata_types', default=None, # default uses original mappings type=cfg.MetadataVar, show_default=True, required=True, help=click_utils.show_help(types.Metadata)) @click.option('--verified', 'opt_verified',
if as_hex: colors = [ '#{:02x}{:02x}{:02x}'.format(c[0], c[1], c[2]) for c in colors ] return colors # -------------------------------------------------------- # Displays images, no video yet # -------------------------------------------------------- @click.command() @click.option('-t', '--metadata-type', 'opt_metadata', type=cfg.MetadataVar, default=click_utils.get_default(types.Metadata.COCO), help=click_utils.show_help(types.Metadata)) @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.HDD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('--stroke-width', 'opt_stroke_width', default=3, help='Rectangle outline stroke width (px') @click.option('--stroke-color', 'opt_stroke_color', type=(int, int, int),
'--input', 'fp_in', default=None, help='Override file input path') @click.option( '-m', '--metadata', 'opt_metadata_type', default=None, # default uses original mappings type=cfg.MetadataVar, help=click_utils.show_help(types.Metadata)) @click.option('--type', 'opt_type', required=True, type=cfg.SearchParamVar, default=click_utils.get_default(types.SearchParam.SHA256), help=click_utils.show_help(types.SearchParam)) @click.option('--verified', 'opt_verified', type=cfg.VerifiedVar, default=click_utils.get_default(types.Verified.VERIFIED), show_default=True, help=click_utils.show_help(types.Verified)) @click.option('--id', 'opt_id', required=True, help='ID value to search for') @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore))
import click from vframe.utils import click_utils from vframe.settings import types from vframe.settings import vframe_cfg as cfg from cli_vframe import processor # -------------------------------------------------------- # Add source items to chain # -------------------------------------------------------- @click.command('quality', short_help='Filters mapping and metadata') @click.option('--min', 'opt_quality_min', default=click_utils.get_default(types.VideoQuality.HD), type=cfg.VideoQualityVar, show_default=True, help=click_utils.show_help(types.VideoQuality)) @click.option('--max', 'opt_quality_max', default=None, type=cfg.VideoQualityVar, show_default=True, help=click_utils.show_help(types.VideoQuality)) @processor @click.pass_context def cli(ctx, sink, opt_quality_min, opt_quality_max): """Filters video quality by frame size, count, and rate Videos down to and including the min VideoQualityVar are passed through Videos up to and including the max VideoQuality are passed through"""
"""Generates keyframe image stauts, whether file exists locally """ import click from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command('keyframe_status') @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('--density', 'opt_density', type=cfg.KeyframeMetadataVar, default=types.KeyframeMetadata.BASIC, help=click_utils.show_help(types.KeyframeMetadata)) @processor @click.pass_context def cli(ctx, sink, opt_disk, opt_density): """Generates KeyframeStatus metadata""" # Recommended: Use Expanded density to check for all keyframes # -------------------------------------------------
Using CV DNN for classification """ import click from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command() @click.option('-t', '--net-type', 'opt_net', default=click_utils.get_default(types.ClassifyNet.PLACES365), type=cfg.ClassifyNetVar, help=click_utils.show_help(types.ClassifyNet)) @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @processor @click.pass_context def cli(ctx, sink, opt_net, opt_disk): """Generates classification metadata (OpenCV DNN)""" # -------------------------------------------------------------
@click.command('gen_records', short_help='Generates MediaRecords') @click.option('-i', '--input', 'fp_in', required=True, type=str, help="Path to input date for record system (eg sugarcube CSV)") @click.option('-o', '--output', 'fp_out', default=None, help='Path to output file (overrides other settings)') @click.option('--record-type', 'opt_media_record_type', type=cfg.MediaRecordVar, default=click_utils.get_default(types.MediaRecord.SHA256), show_default=True, help=click_utils.show_help(types.MediaRecord)) @click.option('--client-type', 'opt_client_record_type', type=cfg.ClientRecordVar, default=click_utils.get_default(types.ClientRecord.SUGARCUBE), show_default=True, help=click_utils.show_help(types.ClientRecord)) @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.HDD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore))
- under development - about 10FPS? on i7 CPU 12x - using Python Yolo is much faster w/GPU """ import click from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command('gen_darknet_coco') @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.HDD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('-t', '--net-type', 'opt_net', type=cfg.DetectorNetVar, default=click_utils.get_default(types.DetectorNet.SUBMUNITION), help=click_utils.show_help(types.DetectorNet)) @click.option('-g', '--gpu', 'opt_gpu', default=0, help='GPU index') @processor @click.pass_context def cli(ctx, sink, opt_disk, opt_net, opt_gpu): """Generates detection metadata (CV DNN)""" # ----------------------------------------------------------------
""" import click from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command() @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.HDD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('--conf', 'opt_conf_thresh', type=click.FloatRange(0, 1), default=0.95, help='Minimum detection confidence') @click.option('--nms', 'opt_nms_thresh', type=click.FloatRange(0, 1), default=0.4, help='Minimum non-max supression confidence') @click.option('-t', '--net-type',
from vframe.utils import click_utils from vframe.settings import types from vframe.settings import vframe_cfg as cfg from cli_vframe import processor # -------------------------------------------------------- # Add source items to chain # -------------------------------------------------------- @click.command() @click.option('--type', 'opt_search_type', required=True, type=cfg.SearchParamVar, default=click_utils.get_default(types.SearchParam.SHA256), help=click_utils.show_help(types.SearchParam)) @click.option('--id', 'opt_id', required=True, help='ID value to search for') @processor @click.pass_context def cli(ctx, sink, opt_search_type, opt_id): """Isolates media record ID""" # ------------------------------------------------- # imports import os from tqdm import tqdm from vframe.settings import vframe_cfg as cfg
""" import click from vframe.settings import types from vframe.utils import click_utils from vframe.settings import vframe_cfg as cfg from cli_vframe import processor @click.command('feature_extractor') @click.option('-d', '--disk', 'opt_disk', default=click_utils.get_default(types.DataStore.SSD), type=cfg.DataStoreVar, show_default=True, help=click_utils.show_help(types.DataStore)) @click.option('-t', '--net-type', 'opt_net', default=click_utils.get_default(types.PyTorchNet.VGG16), type=cfg.PyTorchNetVar, help=click_utils.show_help(types.PyTorchNet)) @click.option('--gpu', 'opt_gpu', type=int, default=0, help='GPU index (use -1 for CPU)') @click.option('--normalize//no-normalize',