コード例 #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
コード例 #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,
コード例 #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
コード例 #4
0
ファイル: detect_face.py プロジェクト: prototypefund/vframe
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')
コード例 #5
0
ファイル: remove_data.py プロジェクト: prototypefund/vframe
@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
コード例 #6
0
ファイル: filter.py プロジェクト: prototypefund/vframe
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
コード例 #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,
コード例 #8
0
ファイル: classify_cv.py プロジェクト: prototypefund/vframe
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
コード例 #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',
コード例 #10
0
ファイル: media_records.py プロジェクト: prototypefund/vframe
              '--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',
コード例 #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),
コード例 #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
コード例 #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,
コード例 #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')