Пример #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
Пример #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',
Пример #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
Пример #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',
Пример #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',
Пример #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',
Пример #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),
Пример #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))
Пример #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"""
Пример #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

    # -------------------------------------------------
Пример #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)"""

    # -------------------------------------------------------------
Пример #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))
Пример #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)"""

  # ----------------------------------------------------------------
Пример #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',
Пример #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
Пример #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',