Ejemplo n.º 1
0
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 glob import glob
  from pathlib import Path
Ejemplo n.º 2
0
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',
              'opt_drawframes',
              is_flag=True,
              default=False,
Ejemplo n.º 3
0
# 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
    import imutils
Ejemplo n.º 4
0
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',
              'opt_pyramids',
              default=2,
              help='Number of image pyramids for dlib')
Ejemplo n.º 5
0
@click.command()
@click.option('--inline/--no-inline',
              'opt_inline',
              is_flag=True,
              default=True,
              help='Process items inline or all at once')
@click.option(
    '-t',
    '--type',
    'opt_metadata_types',
    default=None,  # default uses original mappings
    type=cfg.MetadataVar,
    show_default=True,
    multiple=True,
    required=True,
    help=click_utils.show_help(types.Metadata))
@processor
@click.pass_context
def cli(ctx, sink, opt_inline, opt_metadata_types):
    """Removes metadata"""

    # -------------------------------------------------
    # imports

    from tqdm import tqdm

    from vframe.utils import file_utils, logger_utils

    # -------------------------------------------------
    # process
Ejemplo n.º 6
0
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"""

    # -------------------------------------------------
    # imports
Ejemplo n.º 7
0
# --------------------------------------------------------
@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',
    default=None,  # default uses original mappings
    type=cfg.MetadataVar,
    show_default=True,
Ejemplo n.º 8
0
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)"""

    # -------------------------------------------------------------
    # imports
Ejemplo n.º 9
0
from vframe.settings import vframe_cfg as cfg


@click.command()
@click.option('-i',
              '--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',
Ejemplo n.º 10
0
              '--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))
@click.option('--media-format',
              'opt_media_format_type',
Ejemplo n.º 11
0
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',
              'opt_net',
              type=cfg.SceneTextNetVar,
              default=click_utils.get_default(types.SceneTextNet.EAST),
Ejemplo n.º 12
0
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
    from vframe.settings.paths import Paths
Ejemplo n.º 13
0
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',
              'opt_normalize',
              is_flag=True,
              default=True,
Ejemplo n.º 14
0

@click.command('gen_sugarcube', short_help='Generate Sugarcube metadata')
@click.option('-i',
              '--input',
              'fp_in',
              required=True,
              type=str,
              help="Path to mappings CSV files from sugarcube/littlefork")
@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('--media-format',
              'opt_media_type',
              default=types.MediaFormat.VIDEO.name.lower(),
              type=cfg.MediaFormatVar,
              show_default=True,
              help=click_utils.show_help(types.MediaFormat))
@click.option('--minify/--no-minify',
              'opt_minify',
              default=False,
              help='Minify output if using JSON')
@click.option('--all/--filter-status',
              'opt_all',
              is_flag=True,
              default=False,
              help='Keep all or filter by verified status')