Example #1
0
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
Example #2
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('--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',
Example #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
Example #4
0
# --------------------------------------------------------
# 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',
Example #5
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('-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',
Example #6
0
"""

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',
Example #7
0
    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),
Example #8
0
              '--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))
Example #9
0
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"""
Example #10
0
"""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

    # -------------------------------------------------
Example #11
0
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)"""

    # -------------------------------------------------------------
Example #12
0
@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))
Example #13
0
- 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)"""

  # ----------------------------------------------------------------
Example #14
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('-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',
Example #15
0
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
Example #16
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('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',