From a768475835613a31406dc05deb928da17ea1d412 Mon Sep 17 00:00:00 2001 From: Tobias Mosby Date: Fri, 24 Sep 2021 13:12:57 -0700 Subject: [PATCH 01/41] Fix Compliance - PyLint Reporting --- .../gva_event_meta/gva_event_convert.py | 4 +- extensions/gva_event_meta/schema.py | 43 ++++----- .../spatial_analytics/object_line_crossing.py | 14 +-- .../spatial_analytics/object_zone_count.py | 7 +- samples/ava_ai_extension/client/__main__.py | 23 ++--- .../client/media_stream_processor.py | 10 +-- .../common/extension_schema.py | 1 - .../ava_ai_extension/common/shared_memory.py | 6 +- samples/ava_ai_extension/server/__main__.py | 4 +- .../server/media_graph_extension.py | 21 +++-- .../preproc_callbacks/insert_metadata.py | 12 +-- samples/record_playback/record_playback.py | 9 +- tests/config/.pylintrc | 13 +-- tests/requirements.tests.txt | 2 +- tools/model_downloader/downloader.py | 41 ++++----- .../{schema.py => mdt_schema.py} | 4 +- vaclient/results_watcher.py | 88 ++++++++++--------- vaclient/vaclient.py | 16 ++-- vaserving/app_destination.py | 2 +- vaserving/app_source.py | 2 +- vaserving/arguments.py | 3 +- vaserving/common/settings.py | 2 +- vaserving/ffmpeg_pipeline.py | 27 +++--- vaserving/gstreamer_app_destination.py | 4 +- vaserving/gstreamer_pipeline.py | 5 +- vaserving/model_manager.py | 14 ++- vaserving/pipeline_manager.py | 33 ++++--- vaserving/schema.py | 1 - vaserving/vaserving.py | 3 +- 29 files changed, 205 insertions(+), 209 deletions(-) rename tools/model_downloader/{schema.py => mdt_schema.py} (90%) diff --git a/extensions/gva_event_meta/gva_event_convert.py b/extensions/gva_event_meta/gva_event_convert.py index 0c93b90..adf9cdc 100644 --- a/extensions/gva_event_meta/gva_event_convert.py +++ b/extensions/gva_event_meta/gva_event_convert.py @@ -14,8 +14,8 @@ def process_frame(frame): try: add_events_message(frame) except Exception as error: - logger.error(error) - return False + logger.error(error) + return False return True def add_events_message(frame): diff --git a/extensions/gva_event_meta/schema.py b/extensions/gva_event_meta/schema.py index 61cf2be..0ce2054 100644 --- a/extensions/gva_event_meta/schema.py +++ b/extensions/gva_event_meta/schema.py @@ -1,23 +1,24 @@ -{ - "$schema": "https://json-schema.org/draft/2019-09/schema", - "type": "array", - "items": { - "properties": { - "event-type": { - "description": "Event type, known by caller", - "type": "string" +gva_event_schema = { + "$schema": "https://json-schema.org/draft/2019-09/schema", + "type": "array", + "items": { + "properties": { + "event-type": { + "description": "Event type, known by caller", + "type": "string" + }, + "related-objects": { + "description": ("Array of related detections, each refers " + "to index of associated detected object"), + "type": "array", + "items": { + "type": "integer" + } + }, }, - "related-objects": { - "description": "Array of related detections, each entry refers to index of associated detected object", - "type": "array", - "items": { - "type": "integer" - } - }, - }, - "required": [ - "event-type" - ], - "additionalProperties": True + "required": [ + "event-type" + ], + "additionalProperties": True + } } -} diff --git a/extensions/spatial_analytics/object_line_crossing.py b/extensions/spatial_analytics/object_line_crossing.py index 41f8d01..090e038 100644 --- a/extensions/spatial_analytics/object_line_crossing.py +++ b/extensions/spatial_analytics/object_line_crossing.py @@ -24,14 +24,16 @@ class ObjectLineCrossing: # pylint: disable=too-few-public-methods - def __init__(self, lines=[], enable_watermark=False, log_level="INFO"): + def __init__(self, lines=None, enable_watermark=False, log_level="INFO"): self._detected_objects = {} self._lines = [] self._enable_watermark = enable_watermark logger.log_level = log_level if self._enable_watermark and os.getenv("ENABLE_RTSP") != "true": logger.warning("RTSP output is not enabled by environment variable.") - + if not lines: + logger.warning("No line configuration was supplied to ObjectLineCrossing.") + return for line in lines: try: self._lines.append(SpatialAnalysisCrossingLine(line)) @@ -39,7 +41,7 @@ def __init__(self, lines=[], enable_watermark=False, log_level="INFO"): logger.error(error) logger.error("Exception creating SpatialAnalysisCrossingLine: {}".format(line)) if not self._lines: - logger.warn("Empty line configuration. No lines to check against.") + raise Exception('Empty line configuration. No lines to check against.') def process_frame(self, frame): try: @@ -88,7 +90,7 @@ def _add_point(self, frame, point, label): tensor.set_name("watermark_region") def _add_watermark(self, frame): - for index in range(0, len(self._lines)): + for index, _ in enumerate(self._lines): self._add_point(frame, self._lines[index].line_segment.start_point, "{}_Start".format(index)) self._add_point(frame, self._lines[index].line_segment.end_point, "{}_End".format(index)) self._add_point(frame, self._lines[index].get_segment_midpoint(), @@ -127,8 +129,8 @@ def __init__(self, line): if 'focus' in line: try: self._focus_point = self.FocusPoint[line['focus']] - except: - raise ValueError('Got invalid focus point: {}'.format(line['focus'])) + except Exception as exception: + raise ValueError('Got invalid focus point: {}'.format(line['focus'])) from exception def detect_line_crossing(self, previous_position, current_position): previous_position_point = self._get_focus_point(previous_position) diff --git a/extensions/spatial_analytics/object_zone_count.py b/extensions/spatial_analytics/object_zone_count.py index 06bc54e..addc2d2 100644 --- a/extensions/spatial_analytics/object_zone_count.py +++ b/extensions/spatial_analytics/object_zone_count.py @@ -20,14 +20,17 @@ class ObjectZoneCount: DEFAULT_DETECTION_CONFIDENCE_THRESHOLD = 0.0 # Caller supplies one or more zones via request parameter - def __init__(self, zones=[], enable_watermark=False, log_level="INFO"): + def __init__(self, zones=None, enable_watermark=False, log_level="INFO"): self._zones = [] self._logger = logger self._logger.log_level = log_level self._enable_watermark = enable_watermark + if not zones: + logger.warning("No zone configuration was supplied to ObjectZoneCount.") + return self._zones = self._assign_defaults(zones) if not self._zones: - logger.warn("Empty zone configuration. No zones to check against.") + raise Exception('Empty zone configuration. No zones to check against.') # Note that the pipeline already applies a pipeline-specific threshold value, but # this method serves as an example for handling optional zone-specific parameters. diff --git a/samples/ava_ai_extension/client/__main__.py b/samples/ava_ai_extension/client/__main__.py index 0e15b85..bce10ef 100644 --- a/samples/ava_ai_extension/client/__main__.py +++ b/samples/ava_ai_extension/client/__main__.py @@ -37,11 +37,11 @@ import jsonschema from google.protobuf.json_format import MessageToDict -import samples.ava_ai_extension.common.grpc_autogen.inferencing_pb2 as inferencing_pb2 -from samples.ava_ai_extension.common.exception_handler import log_exception -import samples.ava_ai_extension.common.extension_schema as extension_schema from arguments import parse_args from media_stream_processor import MediaStreamProcessor +from samples.ava_ai_extension.common.grpc_autogen import inferencing_pb2 +from samples.ava_ai_extension.common.exception_handler import log_exception +from samples.ava_ai_extension.common import extension_schema class VideoSource: @@ -179,8 +179,9 @@ def validate_extension_config(extension_config): validator = jsonschema.Draft4Validator(schema=extension_schema.extension_config, format_checker=jsonschema.draft4_format_checker) validator.validate(extension_config) - except jsonschema.exceptions.ValidationError as err: - raise Exception("Error validating pipeline request: {},: error: {}".format(extension_config, err.message)) + except jsonschema.exceptions.ValidationError as error: + raise Exception("Error validating pipeline request: {},: error: {}" + .format(extension_config, error.message)) from error def create_extension_config(args): extension_config = {} @@ -192,18 +193,18 @@ def create_extension_config(args): if args.pipeline_parameters: try: pipeline_config["parameters"] = json.loads(args.pipeline_parameters) - except ValueError: - raise Exception("Issue loading pipeline parameters: {}".format(args.pipeline_parameters)) + except ValueError as error: + raise Exception("Issue loading pipeline parameters: {}".format(args.pipeline_parameters)) from error if args.frame_destination: try: pipeline_config["frame-destination"] = json.loads(args.frame_destination) - except ValueError: - raise Exception("Issue loading frame destination: {}".format(args.frame_destination)) + except ValueError as error: + raise Exception("Issue loading frame destination: {}".format(args.frame_destination)) from error if args.pipeline_extensions: try: pipeline_config["pipeline_extensions"] = json.loads(args.pipeline_extensions) - except ValueError: - raise Exception("Issue loading pipeline extensions: {}".format(args.pipeline_extensions)) + except ValueError as error: + raise Exception("Issue loading pipeline extensions: {}".format(args.pipeline_extensions)) from error if len(pipeline_config) > 0: extension_config.setdefault("pipeline", pipeline_config) diff --git a/samples/ava_ai_extension/client/media_stream_processor.py b/samples/ava_ai_extension/client/media_stream_processor.py index fec46cc..66c961f 100644 --- a/samples/ava_ai_extension/client/media_stream_processor.py +++ b/samples/ava_ai_extension/client/media_stream_processor.py @@ -34,10 +34,9 @@ import grpc from samples.ava_ai_extension.common.exception_handler import log_exception from samples.ava_ai_extension.common.shared_memory import SharedMemoryManager -import samples.ava_ai_extension.common.grpc_autogen.media_pb2 as media_pb2 -import samples.ava_ai_extension.common.grpc_autogen.extension_pb2 as extension_pb2 -import samples.ava_ai_extension.common.grpc_autogen.extension_pb2_grpc as extension_pb2_grpc - +from samples.ava_ai_extension.common.grpc_autogen import media_pb2 +from samples.ava_ai_extension.common.grpc_autogen import extension_pb2 +from samples.ava_ai_extension.common.grpc_autogen import extension_pb2_grpc class MediaStreamProcessor: class RequestGenerator: @@ -166,9 +165,6 @@ def get_media_stream_descriptor(self, width, height, extension_config): extension_configuration=extension_config, media_descriptor=media_pb2.MediaDescriptor( timescale=90000, - # pylint: disable=no-member - # E1101: Class 'VideoFrameSampleFormat' has no 'Encoding' member (no-member) - # E1101: Class 'VideoFrameSampleFormat' has no 'PixelFormat' member (no-member) video_frame_sample_format=media_pb2.VideoFrameSampleFormat( encoding=media_pb2.VideoFrameSampleFormat.Encoding.Value("RAW"), pixel_format=media_pb2.VideoFrameSampleFormat.PixelFormat.Value( diff --git a/samples/ava_ai_extension/common/extension_schema.py b/samples/ava_ai_extension/common/extension_schema.py index eae552c..bf26620 100644 --- a/samples/ava_ai_extension/common/extension_schema.py +++ b/samples/ava_ai_extension/common/extension_schema.py @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: BSD-3-Clause ''' -#pylint: disable=R0801 extension_config = { "$schema":"https://json-schema.org/draft/2019-09/schema", diff --git a/samples/ava_ai_extension/common/shared_memory.py b/samples/ava_ai_extension/common/shared_memory.py index f02df09..01f15df 100644 --- a/samples/ava_ai_extension/common/shared_memory.py +++ b/samples/ava_ai_extension/common/shared_memory.py @@ -50,6 +50,9 @@ def __init__(self, shm_flags=None, name=None, size=None): # See the NOTE section here: https://docs.python.org/2/library/os.html#os.open # for details on shmFlags + + # SharedMemoryManager handles the lifetime of resources such as _shm_file + # pylint: disable=consider-using-with if self._shm_flags is None: self._shm_file = open(self._shm_file_full_path, 'r+b') self._shm = mmap.mmap(self._shm_file.fileno(), self.shm_file_size) @@ -111,8 +114,7 @@ def get_empty_slot(self, seq_no, size_needed): else: address = None else: - self._mem_slots = {k: v for k, v in sorted( - self._mem_slots.items(), key=lambda item: item[1])} + self._mem_slots = dict(sorted(self._mem_slots.items(), key=lambda item: item[1])) # find an available memory gap = sizeNeeded prev_slot_end = 0 diff --git a/samples/ava_ai_extension/server/__main__.py b/samples/ava_ai_extension/server/__main__.py index 5e14b3c..99f7538 100644 --- a/samples/ava_ai_extension/server/__main__.py +++ b/samples/ava_ai_extension/server/__main__.py @@ -34,9 +34,9 @@ from concurrent import futures import grpc import extension_pb2_grpc # pylint: disable=import-error +from media_graph_extension import MediaGraphExtension from vaserving.vaserving import VAServing from vaserving.common.utils.logging import get_logger -from media_graph_extension import MediaGraphExtension from samples.ava_ai_extension.common.exception_handler import log_exception PROGRAM_NAME = "DL Streamer Edge AI Extension" @@ -129,7 +129,7 @@ def append_default_server_args(va_serving_args, max_running_pipelines): # create gRPC server and start running server = grpc.server( - futures.ThreadPoolExecutor(max_workers=args.max_running_pipelines) + futures.ThreadPoolExecutor(max_workers=args.max_running_pipelines) # pylint: disable=consider-using-with ) extension_pb2_grpc.add_MediaGraphExtensionServicer_to_server( MediaGraphExtension( diff --git a/samples/ava_ai_extension/server/media_graph_extension.py b/samples/ava_ai_extension/server/media_graph_extension.py index a4ac1af..c36618b 100644 --- a/samples/ava_ai_extension/server/media_graph_extension.py +++ b/samples/ava_ai_extension/server/media_graph_extension.py @@ -32,20 +32,19 @@ import json from queue import Queue import tempfile -import time import datetime import uuid from enum import Enum import jsonschema -import samples.ava_ai_extension.common.grpc_autogen.inferencing_pb2 as inferencing_pb2 -import samples.ava_ai_extension.common.grpc_autogen.media_pb2 as media_pb2 -import samples.ava_ai_extension.common.grpc_autogen.extension_pb2 as extension_pb2 -import samples.ava_ai_extension.common.grpc_autogen.extension_pb2_grpc as extension_pb2_grpc +from samples.ava_ai_extension.common.grpc_autogen import inferencing_pb2 +from samples.ava_ai_extension.common.grpc_autogen import media_pb2 +from samples.ava_ai_extension.common.grpc_autogen import extension_pb2 +from samples.ava_ai_extension.common.grpc_autogen import extension_pb2_grpc from samples.ava_ai_extension.common.shared_memory import SharedMemoryManager from samples.ava_ai_extension.common.exception_handler import log_exception -import samples.ava_ai_extension.common.extension_schema as extension_schema +from samples.ava_ai_extension.common import extension_schema from vaserving.vaserving import VAServing from vaserving.pipeline import Pipeline @@ -332,8 +331,8 @@ def _get_queued_samples(self, queue, block=False): def _validate_ext_config_against_schema(self, extension_config): try: self._extension_config_validator.validate(extension_config) - except jsonschema.exceptions.ValidationError as err: - self._logger.error("Error occured during validation: {}".format(err.message)) + except jsonschema.exceptions.ValidationError as error: + self._logger.error("Error occured during validation: {}".format(error.message)) raise def _set_debug_properties(self, pipeline_config): @@ -390,11 +389,11 @@ def _set_pipeline_properties(self, request): # gRPC stubbed function # client/gRPC will call this function to send frames/descriptions - def ProcessMediaStream(self, requestIterator, context): + def ProcessMediaStream(self, request_iterator, context): requests_received = 0 responses_sent = 0 # First message from the client is (must be) MediaStreamDescriptor - request = next(requestIterator) + request = next(request_iterator) requests_received += 1 # Extract message IDs request_seq_num = request.sequence_number @@ -465,7 +464,7 @@ def ProcessMediaStream(self, requestIterator, context): ) # Process rest of the MediaStream message sequence - for request in requestIterator: + for request in request_iterator: try: if requests_received - responses_sent >= self._input_queue_size: queued_output = self._get_queued_samples(detect_output, block=True) diff --git a/samples/record_playback/preproc_callbacks/insert_metadata.py b/samples/record_playback/preproc_callbacks/insert_metadata.py index 8bfecfd..5f6be10 100644 --- a/samples/record_playback/preproc_callbacks/insert_metadata.py +++ b/samples/record_playback/preproc_callbacks/insert_metadata.py @@ -28,12 +28,12 @@ def __init__(self, metadata_file_path, offset_timestamp=0): def load_file(self, file_name): if path.exists(file_name): - json_file = open(file_name, "r") - lines = json_file.readlines() - lines = lines[:-1] - for line in lines: - data = json.loads(line) - self.json_objects.append(data) + with open(file_name, "r") as json_file: + lines = json_file.readlines() + lines = lines[:-1] + for line in lines: + data = json.loads(line) + self.json_objects.append(data) def process_frame(self, frame: VideoFrame, _: float = DETECT_THRESHOLD) -> bool: while self.json_objects: diff --git a/samples/record_playback/record_playback.py b/samples/record_playback/record_playback.py index 169e478..63dff13 100644 --- a/samples/record_playback/record_playback.py +++ b/samples/record_playback/record_playback.py @@ -6,7 +6,6 @@ ''' import argparse -import json import os import re import sys @@ -63,8 +62,8 @@ def gst_record(options): # Check if have write permissions for metadata file location try: - file_handler = open(options_metadata_file, 'w') - file_handler.close() + with open(options_metadata_file, 'w') as _: + pass except IOError: print("No write permissions for metadata file location") return -1 @@ -80,8 +79,8 @@ def gst_record(options): # Check if directory has write permissions try: file_check_write_permissions = os.path.join(options.output_video_folder, "checkDirWritable.txt") - file_handler = open(file_check_write_permissions, 'w') - file_handler.close() + with open(file_check_write_permissions, 'w') as _: + pass os.remove(file_check_write_permissions) except IOError: print("No write permissions for video output directory") diff --git a/tests/config/.pylintrc b/tests/config/.pylintrc index f93e8c1..96b8b89 100644 --- a/tests/config/.pylintrc +++ b/tests/config/.pylintrc @@ -35,7 +35,7 @@ ignore-patterns= # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). -#init-hook= +init-hook='import sys; sys.path.append("/home/video-analytics-serving/samples/ava_ai_extension/server/")' # Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the # number of processors available to use. @@ -77,7 +77,8 @@ confidence= # --enable=similarities". If you want to run only the classes checker, but have # no Warning level messages displayed, use "--disable=all --enable=classes # --disable=W". -disable=missing-class-docstring, +disable=missing-module-docstring, + missing-class-docstring, missing-function-docstring, superfluous-parens, import-outside-toplevel, @@ -426,8 +427,7 @@ contextmanager-decorators=contextlib.contextmanager # List of members which are set dynamically and missed by pylint inference # system, and so shouldn't trigger E1101 when accessed. Python regular # expressions are accepted. -generated-members= - +generated-members=cv2.* # Tells whether missing members accessed in mixin class should be ignored. A # mixin class is detected if its name ends with "mixin" (case insensitive). ignore-mixin-members=yes @@ -447,7 +447,10 @@ ignore-on-opaque-inference=yes # List of class names for which member attributes should not be checked (useful # for classes with dynamically set attributes). This supports the use of # qualified names. -ignored-classes=optparse.Values,thread._local,_thread._local,extension__pb2.MediaStreamMessage,MediaStreamMessage +ignored-classes=optparse.Values,thread._local,_thread._local, + extension__pb2.MediaStreamMessage,MediaStreamMessage, + VideoFrameSampleFormat,Entity + # List of module names for which member attributes should not be checked # (useful for modules/projects where namespaces are manipulated during runtime diff --git a/tests/requirements.tests.txt b/tests/requirements.tests.txt index 279e44d..a05ee78 100644 --- a/tests/requirements.tests.txt +++ b/tests/requirements.tests.txt @@ -2,6 +2,6 @@ psutil == 5.7.0 pylint == 2.9.3 pytest == 5.4.1 pytest-cov == 2.8.1 -teamcity-messages == 1.28 +teamcity-messages == 1.29 pytest-html == 2.1.1 bandit == 1.6.2 diff --git a/tools/model_downloader/downloader.py b/tools/model_downloader/downloader.py index d550c70..970ceb8 100644 --- a/tools/model_downloader/downloader.py +++ b/tools/model_downloader/downloader.py @@ -14,7 +14,7 @@ import requests import yaml from jsonschema import Draft7Validator, FormatChecker -from schema import model_list_schema +from mdt_schema import model_list_schema MODEL_OPTIMIZER_ROOT = ( "/opt/intel/dldt" @@ -45,9 +45,9 @@ def _validate_schema(model_list): try: validator = Draft7Validator(model_list_schema, format_checker=FormatChecker()) validator.validate(model_list) - except Exception as err: + except Exception as error: print("Yaml input schema validation error.") - print(err) + print(error) sys.exit(1) @@ -104,29 +104,30 @@ def _download_model_proc(target_dir, model_name, dl_streamer_version): for filepath in files: if os.path.splitext(filepath)[0] == model_name: model_proc = os.path.join(root, filepath) + if model_proc: + shutil.move(model_proc, os.path.join(target_dir, "{}.json".format(model_name))) else: url = "{0}/{1}/samples/model_proc/{2}.json".format( DL_STREAMER_REPO_ROOT, dl_streamer_version, model_name ) response = requests.get(url) - temp_dir = tempfile.TemporaryDirectory() - if response.status_code == 200: - with open( - "{0}/{1}.json".format(temp_dir.name, model_name), "wb" - ) as out_file: - out_file.write(response.content) - print( - "Downloaded {0} model-proc file from gst-video-analytics repo".format( - model_name + with tempfile.TemporaryDirectory() as temp_dir: + if response.status_code == 200: + with open( + "{0}/{1}.json".format(temp_dir, model_name), "wb" + ) as out_file: + out_file.write(response.content) + print( + "Downloaded {0} model-proc file from gst-video-analytics repo".format( + model_name + ) ) - ) - model_proc = os.path.abspath( - "{0}/{1}.json".format(temp_dir.name, model_name) - ) - else: - print("WARNING: model-proc not found in gst-video-analytics repo!") - if model_proc: - shutil.move(model_proc, os.path.join(target_dir, "{}.json".format(model_name))) + model_proc = os.path.abspath( + "{0}/{1}.json".format(temp_dir, model_name) + ) + shutil.move(model_proc, os.path.join(target_dir, "{}.json".format(model_name))) + else: + print("WARNING: model-proc not found in gst-video-analytics repo!") def _create_convert_command(model_name, output_dir, precisions): diff --git a/tools/model_downloader/schema.py b/tools/model_downloader/mdt_schema.py similarity index 90% rename from tools/model_downloader/schema.py rename to tools/model_downloader/mdt_schema.py index 55513d1..65b454e 100644 --- a/tools/model_downloader/schema.py +++ b/tools/model_downloader/mdt_schema.py @@ -20,10 +20,10 @@ "FP16-INT8", "FP32-INT8", "FP32-INT1", "FP16-INT1", "INT1"]} }, - "model-proc":{"type": "string"} + "model-proc" : {"type": "string"} }, "required" : ["model"], - "additionalProperties": False + "additionalProperties" : False }, { "type" : "string" diff --git a/vaclient/results_watcher.py b/vaclient/results_watcher.py index c266c5d..3ca490e 100755 --- a/vaclient/results_watcher.py +++ b/vaclient/results_watcher.py @@ -31,18 +31,18 @@ def stop(self): def watch_method(self): try: - file = open(self.filename, 'r') - while not self.trigger_stop: - where = file.tell() - line = file.readline() - if not line: - time.sleep(self.sleep_time) - file.seek(where) - else: - try: - ResultsWatcher.print_results(json.loads(line)) - except ValueError: - pass + with open(self.filename, 'r') as file: + while not self.trigger_stop: + where = file.tell() + line = file.readline() + if not line: + time.sleep(self.sleep_time) + file.seek(where) + else: + try: + ResultsWatcher.print_results(json.loads(line)) + except ValueError: + pass except OSError: self.error_message = "Unable to read from destination metadata file {}".format(self.filename) @@ -51,37 +51,7 @@ def watch_method(self): def print_results(cls, results): object_output = [] for detected_object in results.get("objects", []): - meta = {} - current_object = [] - for key in detected_object: - if key == "detection": - confidence = detected_object[key]["confidence"] - label = detected_object[key]["label"] - x_min = detected_object[key]["bounding_box"]["x_min"] - y_min = detected_object[key]["bounding_box"]["y_min"] - x_max = detected_object[key]["bounding_box"]["x_max"] - y_max = detected_object[key]["bounding_box"]["y_max"] - current_object.append(label) - current_object.append("({:.2f})".format(confidence)) - current_object.append("[{:.2f}, {:.2f}, {:.2f}, {:.2f}]".format(x_min, - y_min, - x_max, - y_max)) - elif key == "id": - meta[key] = detected_object[key] - elif isinstance(detected_object[key], dict) and "label" in detected_object[key]: - meta[key] = detected_object[key]["label"] - elif key == "tensors": - for tensor in detected_object[key]: - if "name" in tensor and tensor["name"] == "action": - confidence = tensor["confidence"] - label = tensor["label"] - current_object.append(label) - current_object.append("({:.2f})".format(confidence)) - if meta: - current_object.append(str(meta)) - if current_object: - object_output.append("- {}".format(" ".join(current_object))) + ResultsWatcher.process_detections(detected_object, object_output) event_output = [] for event in results.get("events", []): current_event = [] @@ -95,3 +65,35 @@ def print_results(cls, results): print("{}".format("\n".join(object_output))) if event_output: print("{}".format("\n".join(event_output))) + + @staticmethod + def process_detections(detected_object, object_output): + meta = {} + current_object = [] + for key in detected_object: + if key == "detection": + confidence = detected_object[key]["confidence"] + label = detected_object[key]["label"] + bbox = detected_object[key]["bounding_box"] + current_object.append(label) + current_object.append("({:.2f})".format(confidence)) + current_object.append("[{:.2f}, {:.2f}, {:.2f}, {:.2f}]" + .format(bbox["x_min"], + bbox["y_min"], + bbox["x_max"], + bbox["y_max"])) + elif key == "id": + meta[key] = detected_object[key] + elif isinstance(detected_object[key], dict) and "label" in detected_object[key]: + meta[key] = detected_object[key]["label"] + elif key == "tensors": + for tensor in detected_object[key]: + if "name" in tensor and tensor["name"] == "action": + confidence = tensor["confidence"] + label = tensor["label"] + current_object.append(label) + current_object.append("({:.2f})".format(confidence)) + if meta: + current_object.append(str(meta)) + if current_object: + object_output.append("- {}".format(" ".join(current_object))) diff --git a/vaclient/vaclient.py b/vaclient/vaclient.py index f4d1b77..f8e5ce1 100755 --- a/vaclient/vaclient.py +++ b/vaclient/vaclient.py @@ -141,8 +141,8 @@ def start_pipeline(request, pass except FileNotFoundError: pass - except OSError: - raise OSError("Unable to delete destination metadata file {}".format(output_file)) + except OSError as error: + raise OSError("Unable to delete destination metadata file {}".format(output_file)) from error if verbose and not show_request: print("Starting pipeline...") @@ -212,8 +212,8 @@ def post(url, body, show_request=False): return instance_id print("Got unsuccessful status code: {}".format(launch_response.status_code)) print(launch_response.text) - except requests.exceptions.ConnectionError: - raise ConnectionError(SERVER_CONNECTION_FAILURE_MESSAGE) + except requests.exceptions.ConnectionError as error: + raise ConnectionError(SERVER_CONNECTION_FAILURE_MESSAGE) from error return None def get(url, show_request=False): @@ -226,8 +226,8 @@ def get(url, show_request=False): return json.loads(status_response.text) print("Got unsuccessful status code: {}".format(status_response.status_code)) print(status_response.text) - except requests.exceptions.ConnectionError: - raise ConnectionError(SERVER_CONNECTION_FAILURE_MESSAGE) + except requests.exceptions.ConnectionError as error: + raise ConnectionError(SERVER_CONNECTION_FAILURE_MESSAGE) from error return None def delete(url, show_request=False): @@ -239,8 +239,8 @@ def delete(url, show_request=False): if stop_response.status_code != RESPONSE_SUCCESS: print("Unsuccessful status code {} - {}".format(stop_response.status_code, stop_response.text)) return stop_response.status_code - except requests.exceptions.ConnectionError: - raise ConnectionError(SERVER_CONNECTION_FAILURE_MESSAGE) + except requests.exceptions.ConnectionError as error: + raise ConnectionError(SERVER_CONNECTION_FAILURE_MESSAGE) from error return None def print_fps(status): diff --git a/vaserving/app_destination.py b/vaserving/app_destination.py index 0f1907c..bf36093 100644 --- a/vaserving/app_destination.py +++ b/vaserving/app_destination.py @@ -73,5 +73,5 @@ def create_app_destination(cls, request, pipeline, dest_type): raise Exception("Error Creating App Destination: {}," "Exception: {} {}".format(requested_destination_class, type(error), - error)) + error)) from error return None diff --git a/vaserving/app_source.py b/vaserving/app_source.py index a32a6a0..e8d0cb7 100644 --- a/vaserving/app_source.py +++ b/vaserving/app_source.py @@ -81,5 +81,5 @@ def create_app_source(cls, request, pipeline): raise Exception("Error Creating App Source: {}," "Exception: {} {}".format(requested_source_class, type(error), - error)) + error)) from error return None diff --git a/vaserving/arguments.py b/vaserving/arguments.py index 1c1275d..705d070 100644 --- a/vaserving/arguments.py +++ b/vaserving/arguments.py @@ -6,8 +6,7 @@ import os import argparse import json -import distutils.util as util - +from distutils import util def parse_options(args=None): diff --git a/vaserving/common/settings.py b/vaserving/common/settings.py index 4291230..ed801c0 100644 --- a/vaserving/common/settings.py +++ b/vaserving/common/settings.py @@ -12,6 +12,6 @@ def set_log_level(level): - # pylint: disable=W0603 + # pylint: disable=global-statement global LOG_LEVEL LOG_LEVEL = level diff --git a/vaserving/ffmpeg_pipeline.py b/vaserving/ffmpeg_pipeline.py index 64a98df..c10b4cc 100644 --- a/vaserving/ffmpeg_pipeline.py +++ b/vaserving/ffmpeg_pipeline.py @@ -206,7 +206,7 @@ def _spawn(self, args): with self._create_delete_lock: if not self.state is Pipeline.State.ABORTED: - self._process = subprocess.Popen(args, + self._process = subprocess.Popen(args, #pylint: disable=consider-using-with stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=1, @@ -427,7 +427,7 @@ def _set_properties(self): self._set_section_properties([], []) def _get_outputs(self, args): - # pylint: disable=R1724,E1137,E1136 + # pylint: disable=unsupported-assignment-operation,unsubscriptable-object result = [] args_remaining = len(args) indices = [args_remaining - (x + 1) for x in range(len(args))] @@ -443,18 +443,17 @@ def _get_outputs(self, args): ] = args[index + 1] args_remaining -= 2 continue - else: - output_index = self._output_format_index[args[current_start + 1]] - output = FFmpegPipeline.Output((current_start, index - 1), "-f", - args[current_start + 1], - current_output_properties) - result.append(output) - self._output_format_map[( - args[current_start + 1], output_index)] = output - self._output_format_index[args[current_start + 1]] += 1 - current_output_list = None - current_output_properties = None - current_start = None + output_index = self._output_format_index[args[current_start + 1]] + output = FFmpegPipeline.Output((current_start, index - 1), "-f", + args[current_start + 1], + current_output_properties) + result.append(output) + self._output_format_map[( + args[current_start + 1], output_index)] = output + self._output_format_index[args[current_start + 1]] += 1 + current_output_list = None + current_output_properties = None + current_start = None else: current_output_list = current_output_properties["_ARGS_"] current_output_list.append(args[index]) diff --git a/vaserving/gstreamer_app_destination.py b/vaserving/gstreamer_app_destination.py index e302f23..9886c39 100644 --- a/vaserving/gstreamer_app_destination.py +++ b/vaserving/gstreamer_app_destination.py @@ -6,9 +6,9 @@ from collections import namedtuple from enum import Enum, auto +from gstgva.video_frame import VideoFrame from vaserving.app_destination import AppDestination from vaserving.gstreamer_pipeline import GStreamerPipeline -from gstgva.video_frame import VideoFrame GvaSample = namedtuple('GvaSample', ['sample', 'video_frame']) GvaSample.__new__.__defaults__ = (None, None) @@ -24,7 +24,7 @@ class Mode(Enum): def _missing_(cls, name): return cls[name.upper()] - def __init__(self, request, pipeline, *args, **kwargs): + def __init__(self, request, pipeline): AppDestination.__init__(self, request, pipeline) request_config = request.get("destination", {}) diff --git a/vaserving/gstreamer_pipeline.py b/vaserving/gstreamer_pipeline.py index 99580e5..a4ab6cd 100755 --- a/vaserving/gstreamer_pipeline.py +++ b/vaserving/gstreamer_pipeline.py @@ -182,9 +182,6 @@ def stop(self): return self.status() def params(self): - # TODO: refactor - # pylint: disable=R0801 - request = copy.deepcopy(self.request) if "models" in request: del request["models"] @@ -247,7 +244,7 @@ def _set_bus_messages_flag(self): def _set_section_properties(self, request_section, config_section): # TODO: refactor - # pylint: disable=R1702 + # pylint: disable=too-many-nested-blocks request, config = Pipeline.get_section_and_config( self.request, self.config, request_section, config_section) diff --git a/vaserving/model_manager.py b/vaserving/model_manager.py index 74a3206..28898b3 100644 --- a/vaserving/model_manager.py +++ b/vaserving/model_manager.py @@ -128,13 +128,9 @@ def convert_version(self, version): def load_models(self, model_dir, network_preference): #TODO: refactor - #pylint: disable=R1702 + #pylint: disable=too-many-nested-blocks - heading = "Loading Models" - banner = "="*len(heading) - self.logger.info(banner) - self.logger.info(heading) - self.logger.info(banner) + self.log_banner("Loading Models") error_occurred = False self.logger.info("Loading Models from Path {path}".format( @@ -198,15 +194,15 @@ def load_models(self, model_dir, network_preference): self.logger.error("Error Loading Model {model_name}" " from: {model_dir}: {err}".format( err=error, model_name=model_name, model_dir=model_dir)) - self.models = models + self.log_banner("Completed Loading Models") + return not error_occurred - heading = "Completed Loading Models" + def log_banner(self, heading): banner = "="*len(heading) self.logger.info(banner) self.logger.info(heading) self.logger.info(banner) - return not error_occurred def get_model_parameters(self, name, version): if name not in self.models or version not in self.models[name]: diff --git a/vaserving/pipeline_manager.py b/vaserving/pipeline_manager.py index e44af33..7a067a0 100644 --- a/vaserving/pipeline_manager.py +++ b/vaserving/pipeline_manager.py @@ -13,8 +13,7 @@ import jsonschema from vaserving.common.utils import logging from vaserving.pipeline import Pipeline -import vaserving.schema as schema - +from vaserving import schema class PipelineManager: @@ -62,24 +61,13 @@ def _import_pipeline_types(self): def _load_pipelines(self): # TODO: refactor - # pylint: disable=R0912,R1702 - - heading = "Loading Pipelines" - banner = "="*len(heading) - self.logger.info(banner) - self.logger.info(heading) - self.logger.info(banner) - + # pylint: disable=too-many-branches,too-many-nested-blocks + self.log_banner("Loading Pipelines") error_occurred = False self.pipeline_types = self._import_pipeline_types() self.logger.info("Loading Pipelines from Config Path {path}".format( path=self.pipeline_dir)) - if os.path.islink(self.pipeline_dir): - self.logger.warning( - "Pipelines directory is symbolic link") - if os.path.ismount(self.pipeline_dir): - self.logger.warning( - "Pipelines directory is mount point") + self.warn_if_mounted() pipelines = defaultdict(dict) for root, subdirs, files in os.walk(self.pipeline_dir): if os.path.abspath(root) == os.path.abspath(self.pipeline_dir): @@ -145,13 +133,22 @@ def _load_pipelines(self): pipelines = {pipeline: versions for pipeline, versions in pipelines.items() if len(versions) > 0} self.pipelines = pipelines + self.log_banner("Completed Loading Pipelines") + return not error_occurred - heading = "Completed Loading Pipelines" + def warn_if_mounted(self): + if os.path.islink(self.pipeline_dir): + self.logger.warning( + "Pipelines directory is symbolic link") + if os.path.ismount(self.pipeline_dir): + self.logger.warning( + "Pipelines directory is mount point") + + def log_banner(self, heading): banner = "="*len(heading) self.logger.info(banner) self.logger.info(heading) self.logger.info(banner) - return not error_occurred def get_loaded_pipelines(self): results = [] diff --git a/vaserving/schema.py b/vaserving/schema.py index 59c5af3..bb537cd 100644 --- a/vaserving/schema.py +++ b/vaserving/schema.py @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: BSD-3-Clause ''' -#pylint: disable=R0801 tags = { "type": "object", diff --git a/vaserving/vaserving.py b/vaserving/vaserving.py index bc9c821..9605fd3 100644 --- a/vaserving/vaserving.py +++ b/vaserving/vaserving.py @@ -13,7 +13,8 @@ from vaserving.common.utils import logging from vaserving.common import settings -#pylint: disable=C0103 +# Allow non-PascalCase class name for __VAServing +#pylint: disable=invalid-name class __VAServing: From e21a240ef8a96901262e7c9379a2698d216d72c7 Mon Sep 17 00:00:00 2001 From: Thanaji Date: Tue, 28 Sep 2021 08:59:30 -0700 Subject: [PATCH 02/41] Fix for Max running pipelines option not working --- ...etection_max_running_pipelines_ffmpeg.json | 22 ++++++++++ ...ction_max_running_pipelines_gstreamer.json | 21 ++++++++++ tests/test_pipeline_execution.py | 40 +++++++++++++------ vaserving/arguments.py | 2 +- vaserving/pipeline_manager.py | 2 +- vaserving/vaserving.py | 1 + 6 files changed, 74 insertions(+), 14 deletions(-) create mode 100644 tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_ffmpeg.json create mode 100644 tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_gstreamer.json diff --git a/tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_ffmpeg.json b/tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_ffmpeg.json new file mode 100644 index 0000000..61148c7 --- /dev/null +++ b/tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_ffmpeg.json @@ -0,0 +1,22 @@ +{ + "options": { + "max_running_pipelines": 1 + }, + "pipeline": { + "name": "object_detection", + "version": 1 + }, + "request": { + "source": { + "type": "uri", + "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/car-detection.mp4" + }, + "destination": { + "type": "file", + "path": "/tmp/object_detection_results.json", + "format": "json" + } + }, + "golden_results": false, + "check_second_pipeline_queued": true +} \ No newline at end of file diff --git a/tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_gstreamer.json b/tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_gstreamer.json new file mode 100644 index 0000000..f7b306b --- /dev/null +++ b/tests/test_cases/pipeline_execution/cpu/object_detection_max_running_pipelines_gstreamer.json @@ -0,0 +1,21 @@ +{ + "options": { + "max_running_pipelines": 1 + }, + "pipeline": { + "name": "object_detection", + "version": "person_vehicle_bike" + }, + "request": { + "source": { + "type": "uri", + "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/car-detection.mp4" + }, + "destination": { + "type": "file", + "path": "/tmp/max_running_pipelines.json", + "format": "json-lines" + } + }, + "check_second_pipeline_queued": true +} \ No newline at end of file diff --git a/tests/test_pipeline_execution.py b/tests/test_pipeline_execution.py index 19d4f16..9d29729 100644 --- a/tests/test_pipeline_execution.py +++ b/tests/test_pipeline_execution.py @@ -84,6 +84,19 @@ def get_results_app(test_case, results): thread.start() return thread +def wait_for_pipeline_completion(pipeline, VAServing): + status = pipeline.status() + transitions = [status] + while (not status.state.stopped()): + if (status.state != transitions[-1].state): + transitions.append(status) + time.sleep(PAUSE) + status = pipeline.status() + transitions.append(status) + assert transitions[0].state == Pipeline.State.QUEUED + assert transitions[-1].state == Pipeline.State.COMPLETED + VAServing.stop() + def test_pipeline_execution(VAServing, test_case, test_filename, generate, numerical_tolerance): _test_case = copy.deepcopy(test_case) test_prefix = os.path.splitext(os.path.basename(test_filename))[0] @@ -102,6 +115,19 @@ def test_pipeline_execution(VAServing, test_case, test_filename, generate, numer VAServing.start(_test_case["options"]) pipeline = VAServing.pipeline(_test_case["pipeline"]["name"], _test_case["pipeline"]["version"]) + assert pipeline is not None, "Failed to Load Pipeline!" + + if _test_case.get("check_second_pipeline_queued", None): + pipeline.start(_test_case["request"]) + pipeline1 = VAServing.pipeline(_test_case["pipeline"]["name"], + _test_case["pipeline"]["version"]) + pipeline1.start(_test_case["request"]) + assert pipeline1 is not None, "Failed to Load second Pipeline!" + while not pipeline.status().state.stopped(): + assert pipeline1.status().state == Pipeline.State.QUEUED, \ + "Concurrent pipeline execution detected when max_running_pipelines set to 1" + wait_for_pipeline_completion(pipeline1, VAServing) + return results_processing.clear_results(_test_case) results = [] src_type = _test_case["request"]["source"]["type"] @@ -112,23 +138,13 @@ def test_pipeline_execution(VAServing, test_case, test_filename, generate, numer _test_case["request"]["source"]["input"] = Queue() _test_case["request"]["destination"]["output"] = Queue() thread = get_results_app(_test_case, results) - assert pipeline is not None, "Failed to Load Pipeline!" + pipeline.start(_test_case["request"]) - status = pipeline.status() - transitions = [status] - while (not status.state.stopped()): - if (status.state != transitions[-1].state): - transitions.append(status) - time.sleep(PAUSE) - status = pipeline.status() - transitions.append(status) - assert transitions[0].state == Pipeline.State.QUEUED - assert transitions[-1].state == Pipeline.State.COMPLETED + wait_for_pipeline_completion(pipeline, VAServing) if (thread): thread.join() else: results_processing.get_results_file(_test_case, results) - VAServing.stop() if generate: test_case["result"] = results with open(test_filename+'.generated', "w") as test_output: diff --git a/vaserving/arguments.py b/vaserving/arguments.py index 705d070..826b6c9 100644 --- a/vaserving/arguments.py +++ b/vaserving/arguments.py @@ -26,7 +26,7 @@ def parse_options(args=None): type=str, default=os.getenv('NETWORK_PREFERENCE', '{}')) parser.add_argument("--max_running_pipelines", action="store", dest="max_running_pipelines", - type=int, default=int(os.getenv('MAX_RUNNING_PIPELINES', '1'))) + type=int, default=int(os.getenv('MAX_RUNNING_PIPELINES', '-1'))) parser.add_argument("--log_level", action="store", dest="log_level", choices=['INFO', 'DEBUG'], default=os.getenv('LOG_LEVEL', 'INFO')) diff --git a/vaserving/pipeline_manager.py b/vaserving/pipeline_manager.py index 7a067a0..8c85f3d 100644 --- a/vaserving/pipeline_manager.py +++ b/vaserving/pipeline_manager.py @@ -17,7 +17,7 @@ class PipelineManager: - def __init__(self, model_manager, pipeline_dir, max_running_pipelines=-1, + def __init__(self, model_manager, pipeline_dir, max_running_pipelines, ignore_init_errors=False): self.max_running_pipelines = max_running_pipelines self.model_manager = model_manager diff --git a/vaserving/vaserving.py b/vaserving/vaserving.py index 9605fd3..109751f 100644 --- a/vaserving/vaserving.py +++ b/vaserving/vaserving.py @@ -143,6 +143,7 @@ def start(self, _options=None): self.model_manager, os.path.abspath(os.path.join(self.options.config_path, self.options.pipeline_dir)), + max_running_pipelines=self.options.max_running_pipelines, ignore_init_errors=self.options.ignore_init_errors) self._stopped = False From 88c010487f2dba02f9775eae512eec8c00603b62 Mon Sep 17 00:00:00 2001 From: vidyasiv Date: Tue, 28 Sep 2021 15:13:26 -0700 Subject: [PATCH 03/41] Clarify impact of extension process_frame return value --- docs/creating_extensions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/creating_extensions.md b/docs/creating_extensions.md index 5341015..c0fcbac 100644 --- a/docs/creating_extensions.md +++ b/docs/creating_extensions.md @@ -18,7 +18,7 @@ This section will outline an example to show how inference results of object det ### Extension `process_frame` is the default function invoked by GVA Python. -> Note: The `process_frame` function needs to `return True` in order for the rest of the pipeline to function. In the absence of this statement, the extension runs and exits without executing the subsequent parts of the pipeline which might be useful for extension debug. +> Note: The `process_frame` function needs to `return True` in order for the rest of the pipeline to function. Without `return True` or with `return False`, the extension runs but drops frames. This could be useful to short circuit processing i.e intentionally drop certain frames. In the example below, in `process_frame`, the number of objects in the frame is obtained by counting the number of detected regions. A statement is printed if the number of objects exceeds a threshold value. From 2c889bd7cbd93daa14955270ec2996abd7673713 Mon Sep 17 00:00:00 2001 From: darrindu Date: Wed, 29 Sep 2021 16:14:53 -0700 Subject: [PATCH 04/41] mqtt client id fix --- docs/customizing_pipeline_requests.md | 18 ++++++++++++++---- vaserving/schema.py | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/customizing_pipeline_requests.md b/docs/customizing_pipeline_requests.md index 6a4ad5c..8e5ff52 100644 --- a/docs/customizing_pipeline_requests.md +++ b/docs/customizing_pipeline_requests.md @@ -196,11 +196,12 @@ The following are available properties: - host (required) expects a format of host:port - topic (required) MQTT topic on which broker messages are sent - timeout (optional) Broker timeout +- mqtt-client-id (optional) Unique identifier for the MQTT client Steps to run MQTT: 1. Start the MQTT broker, here we use [Eclipse Mosquitto](https://hub.docker.com/_/eclipse-mosquitto/), an open source message broker. ```bash - docker run --network=host -d eclipse-mosquitto:1.6 + docker run --network=host eclipse-mosquitto:1.6 ``` 2. Start VA Serving with host network enabled ```bash @@ -219,14 +220,15 @@ Steps to run MQTT: "metadata": { "type": "mqtt", "host": "localhost:1883", - "topic": "vaserving" + "topic": "vaserving", + "mqtt-client-id": "gva-meta-publish" } } }' ``` 4. Connect to MQTT broker to view inference results ```bash - docker run -it --network=host --entrypoint mosquitto_sub eclipse-mosquitto:1.6 --topic vaserving + docker run -it --network=host --entrypoint mosquitto_sub eclipse-mosquitto:1.6 --topic vaserving --id mosquitto-sub ``` ```bash @@ -234,7 +236,15 @@ Steps to run MQTT: {"objects":[{"detection":{"bounding_box":{"x_max":0.3472719192504883,"x_min":0.12164716422557831,"y_max":1.0,"y_min":0.839308500289917},"confidence":0.6197869777679443,"label":"vehicle","label_id":2},"h":69,"roi_type":"vehicle","w":173,"x":93,"y":363}],"resolution":{"height":432,"width":768},"source":"https://github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true","timestamp":14333333333} {"objects":[{"detection":{"bounding_box":{"x_max":0.3529694750905037,"x_min":0.12145502120256424,"y_max":1.0,"y_min":0.8094810247421265},"confidence":0.7172137498855591,"label":"vehicle","label_id":2},"h":82,"roi_type":"vehicle","w":178,"x":93,"y":350}],"resolution":{"height":432,"width":768},"source":"https://github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true","timestamp":14416666666} ``` - + 5. In the MQTT broker terminal, you should see the connection from client with specified `mqtt-client-id` + ``` + + 1632949258: New connection from 127.0.0.1 on port 1883. + 1632949258: New client connected from 127.0.0.1 as gva-meta-publish (p2, c1, k20). + 1632949271: New connection from 127.0.0.1 on port 1883. + 1632949271: New client connected from 127.0.0.1 as mosquitto-sub (p2, c1, k60). + 1632949274: Client gva-meta-publish disconnected. + ``` ### Frame Frame is another aspect of destination and it can be set to RTSP. diff --git a/vaserving/schema.py b/vaserving/schema.py index bb537cd..2b7e4b8 100644 --- a/vaserving/schema.py +++ b/vaserving/schema.py @@ -177,7 +177,7 @@ "type": "string", "element": "destination" }, - "clientId": { + "mqtt-client-id": { "type": "string", "element": "destination" }, From 0c06eca26dfa58b2bf97f8a987c11ae3667a18c2 Mon Sep 17 00:00:00 2001 From: darrindu Date: Wed, 29 Sep 2021 17:46:18 -0700 Subject: [PATCH 05/41] Added wait for running state before starting resultswatcher (#113) --- vaclient/vaclient.py | 44 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/vaclient/vaclient.py b/vaclient/vaclient.py index f8e5ce1..94dea04 100755 --- a/vaclient/vaclient.py +++ b/vaclient/vaclient.py @@ -54,10 +54,11 @@ def run(args): if started_instance_id is None: sys.exit(1) try: - if request['destination']['metadata']['type'] == 'file'and \ - os.path.exists(request['destination']['metadata']['path']): - watcher = ResultsWatcher(request['destination']['metadata']['path']) - watcher.watch() + if request['destination']['metadata']['type'] == 'file': + watcher = launch_results_watcher(request, + args.pipeline, + started_instance_id, + verbose=args.verbose) except KeyError: pass print_fps(wait_for_pipeline_completion(args.pipeline, started_instance_id)) @@ -143,15 +144,13 @@ def start_pipeline(request, pass except OSError as error: raise OSError("Unable to delete destination metadata file {}".format(output_file)) from error - if verbose and not show_request: - print("Starting pipeline...") pipeline_url = urljoin(SERVER_ADDRESS, "pipelines/" + pipeline) instance_id = post(pipeline_url, request, show_request) if instance_id: if verbose: - print("Pipeline running: {}, instance = {}".format(pipeline, instance_id)) + print("Pipeline instance = {}".format(instance_id)) else: print(instance_id) return instance_id @@ -173,6 +172,24 @@ def stop_pipeline(pipeline, instance_id, show_request=False): else: print("Pipeline NOT stopped") +def wait_for_pipeline_running(pipeline, + instance_id, + timeout_sec = 30): + status = {"state" : "QUEUED"} + timeout_count = 0 + while status and not Pipeline.State[status["state"]] == Pipeline.State.RUNNING: + status = get_pipeline_status(pipeline, + instance_id) + if status and status["state"] == "ERROR": + raise ValueError("Error in pipeline, please check vaserving log messages") + time.sleep(SLEEP_FOR_STATUS) + timeout_count += 1 + if timeout_count * SLEEP_FOR_STATUS >= timeout_sec: + print("Timed out waiting for RUNNING status") + break + + return status + def wait_for_pipeline_completion(pipeline, instance_id): status = {"state" : "RUNNING"} @@ -193,6 +210,19 @@ def get_pipeline_status(pipeline, instance_id, show_request=False): "status"])) return get(status_url, show_request) +def launch_results_watcher(request, pipeline, pipeline_instance_id, verbose=True): + status = wait_for_pipeline_running(pipeline, pipeline_instance_id) + if Pipeline.State[status["state"]] == Pipeline.State.RUNNING: + if verbose: + print("Pipeline running") + if os.path.exists(request['destination']['metadata']['path']): + watcher = ResultsWatcher(request['destination']['metadata']['path']) + watcher.watch() + else: + print("Can not find results file {}. Are you missing a volume mount?"\ + .format(request['destination']['metadata']['path'])) + return watcher + def _list(list_name, show_request=False): url = urljoin(SERVER_ADDRESS, list_name) response = get(url, show_request) From 214e9a993f345be11d71d6de3546672c53946dcd Mon Sep 17 00:00:00 2001 From: Tobias Mosby Date: Thu, 30 Sep 2021 11:13:10 -0700 Subject: [PATCH 06/41] Avoid exposing proxy vars in resulting docker images (#112) * Avoid exposing proxy vars set in DOCKER_RUN_ENVIRONMENT * Add tests with one intentionally failing * Add failing test * Case insensitive check Co-authored-by: Andrew Wrobel --- docker/build.sh | 2 +- tests/script_tests/docker_image_environment | 15 +++++++++++++++ .../docker_image_environment_external | 15 +++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100755 tests/script_tests/docker_image_environment create mode 100755 tests/script_tests/docker_image_environment_external diff --git a/docker/build.sh b/docker/build.sh index e04cdab..03576bc 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -419,7 +419,7 @@ cp -f $DOCKERFILE_DIR/Dockerfile $DOCKERFILE_DIR/Dockerfile.env ENVIRONMENT_FILE_LIST= if [[ "$BASE_IMAGE" == *"openvino/"* ]]; then - $RUN_PREFIX docker run -t --rm $DOCKER_RUN_ENVIRONMENT --entrypoint /bin/bash -e HOSTNAME=BASE $BASE_IMAGE "-i" "-c" "env" > $DOCKERFILE_DIR/openvino_base_environment.txt + $RUN_PREFIX docker run -t --rm --entrypoint /bin/bash -e HOSTNAME=BASE $BASE_IMAGE "-i" "-c" "env" > $DOCKERFILE_DIR/openvino_base_environment.txt ENVIRONMENT_FILE_LIST+="$DOCKERFILE_DIR/openvino_base_environment.txt " fi diff --git a/tests/script_tests/docker_image_environment b/tests/script_tests/docker_image_environment new file mode 100755 index 0000000..edd6f60 --- /dev/null +++ b/tests/script_tests/docker_image_environment @@ -0,0 +1,15 @@ +#!/bin/bash +EXPECTED="" + +# Run client with bad option +OUTPUT=$(set -o pipefail; docker inspect video-analytics-serving-gstreamer:latest | grep -i proxy) +RETURN_CODE=$? + +# Expect to not match string +if [[ $RETURN_CODE != 1 ]]; then + error +fi + +if [[ ! "$OUTPUT" == "$EXPECTED" ]]; then + error "Unexpected output" +fi diff --git a/tests/script_tests/docker_image_environment_external b/tests/script_tests/docker_image_environment_external new file mode 100755 index 0000000..c214ff4 --- /dev/null +++ b/tests/script_tests/docker_image_environment_external @@ -0,0 +1,15 @@ +#!/bin/bash +EXPECTED="" +IMAGE_TO_INSPECT=intel/video-analytics-serving:latest + +docker pull $IMAGE_TO_INSPECT +OUTPUT=$(set -o pipefail; docker inspect $IMAGE_TO_INSPECT | grep -i proxy) +RETURN_CODE=$? +# Expect string to not exist +if [ $RETURN_CODE != 1 ]; then + error +fi +if [[ "$OUTPUT" != "$EXPECTED" ]]; then + error "Unexpected output" +fi +docker image rm $IMAGE_TO_INSPECT From 00a17c6c6077789b68be7bf75b2dcb17a63a22d3 Mon Sep 17 00:00:00 2001 From: Tobias Mosby Date: Mon, 4 Oct 2021 12:07:43 -0700 Subject: [PATCH 07/41] Fix ffmpeg stability test --- ...tability_object_detection_many_ffmpeg.json | 9157 ++++++++--------- 1 file changed, 4347 insertions(+), 4810 deletions(-) diff --git a/tests/test_cases/pipeline_stability/cpu/stability_object_detection_many_ffmpeg.json b/tests/test_cases/pipeline_stability/cpu/stability_object_detection_many_ffmpeg.json index f74a98e..8f43705 100644 --- a/tests/test_cases/pipeline_stability/cpu/stability_object_detection_many_ffmpeg.json +++ b/tests/test_cases/pipeline_stability/cpu/stability_object_detection_many_ffmpeg.json @@ -7,7 +7,7 @@ "request": { "source": { "type": "uri", - "uri": "file:///home/video-analytics-serving/samples/pinwheel.ts" + "uri": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4" }, "destination": { "type": "file", @@ -15,42 +15,43 @@ "format": "json" } }, + "numerical_tolerance": 0.3, "stability_duration": 600, "relaunch_on_complete": true, "result": [ { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 0, + "timestamp": 1499976000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005188614130020142, - "y_min": 0.004820734262466431, - "x_max": 0.9938415288925171, - "y_max": 0.996524453163147 + "x_min": 0.6734127998352051, + "y_min": 0.8779282569885254, + "x_max": 0.7446080446243286, + "y_max": 0.999404788017273 }, - "confidence": 0.5977137684822083, - "label_id": 16 + "confidence": 0.5588181018829346, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 53, + "w": 55, + "x": 517, + "y": 379 } ], "tensors": [ { - "confidence": 0.5977137684822083, - "label_id": 16, + "confidence": 0.5588181018829346, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -58,37 +59,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 39999600, + "timestamp": 1666640000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005160242319107056, - "y_min": 0.004784524440765381, - "x_max": 0.9938516616821289, - "y_max": 0.9965190291404724 + "x_min": 0.6762180924415588, + "y_min": 0.8294872045516968, + "x_max": 0.7442803978919983, + "y_max": 1.00227689743042 }, - "confidence": 0.6012904047966003, - "label_id": 16 + "confidence": 0.5395121574401855, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 53, + "x": 519, + "y": 358 } ], "tensors": [ { - "confidence": 0.6012904047966003, - "label_id": 16, + "confidence": 0.5395121574401855, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -96,37 +97,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 79999200, + "timestamp": 1749972000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005165129899978638, - "y_min": 0.004772782325744629, - "x_max": 0.9938451051712036, - "y_max": 0.996515154838562 + "x_min": 0.6827850937843323, + "y_min": 0.8284579515457153, + "x_max": 0.7486807703971863, + "y_max": 0.9993635416030884 }, - "confidence": 0.6021995544433594, - "label_id": 16 + "confidence": 0.6294834017753601, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 51, + "x": 524, + "y": 358 } ], "tensors": [ { - "confidence": 0.6021995544433594, - "label_id": 16, + "confidence": 0.6294834017753601, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -134,37 +135,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 119998800, + "timestamp": 1833304000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005169034004211426, - "y_min": 0.004775136709213257, - "x_max": 0.9938409328460693, - "y_max": 0.9965163469314575 + "x_min": 0.683455228805542, + "y_min": 0.787131667137146, + "x_max": 0.7478116750717163, + "y_max": 0.9984563589096069 }, - "confidence": 0.6018915772438049, - "label_id": 16 + "confidence": 0.8601303100585938, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 91, + "w": 49, + "x": 525, + "y": 340 } ], "tensors": [ { - "confidence": 0.6018915772438049, - "label_id": 16, + "confidence": 0.8601303100585938, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -172,37 +173,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 159998400, + "timestamp": 1916636000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005166679620742798, - "y_min": 0.004770636558532715, - "x_max": 0.9938398599624634, - "y_max": 0.9965170621871948 + "x_min": 0.683600902557373, + "y_min": 0.7701365947723389, + "x_max": 0.750867486000061, + "y_max": 0.9979418516159058 }, - "confidence": 0.6024172902107239, - "label_id": 16 + "confidence": 0.9280875325202942, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 98, + "w": 52, + "x": 525, + "y": 333 } ], "tensors": [ { - "confidence": 0.6024172902107239, - "label_id": 16, + "confidence": 0.9280875325202942, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -210,37 +211,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 199998000, + "timestamp": 1999968000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005175679922103882, - "y_min": 0.004772692918777466, - "x_max": 0.9938313961029053, - "y_max": 0.9965083599090576 + "x_min": 0.6832555532455444, + "y_min": 0.7529524564743042, + "x_max": 0.7522001266479492, + "y_max": 0.9987977743148804 }, - "confidence": 0.6024704575538635, - "label_id": 16 + "confidence": 0.927311897277832, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 106, + "w": 53, + "x": 525, + "y": 325 } ], "tensors": [ { - "confidence": 0.6024704575538635, - "label_id": 16, + "confidence": 0.927311897277832, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -248,37 +249,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 239997600, + "timestamp": 2083300000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005179286003112793, - "y_min": 0.004775047302246094, - "x_max": 0.9938271641731262, - "y_max": 0.9965087175369263 + "x_min": 0.6832446455955505, + "y_min": 0.7441677451133728, + "x_max": 0.7576422095298767, + "y_max": 0.9894292950630188 }, - "confidence": 0.6022436022758484, - "label_id": 16 + "confidence": 0.951309084892273, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 106, + "w": 57, + "x": 525, + "y": 321 } ], "tensors": [ { - "confidence": 0.6022436022758484, - "label_id": 16, + "confidence": 0.951309084892273, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -286,37 +287,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 279997200, + "timestamp": 2166632000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005177289247512817, - "y_min": 0.004773169755935669, - "x_max": 0.993828296661377, - "y_max": 0.9965099096298218 + "x_min": 0.68604975938797, + "y_min": 0.7247669100761414, + "x_max": 0.757122814655304, + "y_max": 0.9735121130943298 }, - "confidence": 0.602329671382904, - "label_id": 16 + "confidence": 0.9686020612716675, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 108, + "w": 54, + "x": 527, + "y": 313 } ], "tensors": [ { - "confidence": 0.602329671382904, - "label_id": 16, + "confidence": 0.9686020612716675, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -324,37 +325,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 319996800, + "timestamp": 2249964000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005175173282623291, - "y_min": 0.004776626825332642, - "x_max": 0.9938293099403381, - "y_max": 0.9965119361877441 + "x_min": 0.6904279589653015, + "y_min": 0.7114542126655579, + "x_max": 0.7573937773704529, + "y_max": 0.9489458203315735 }, - "confidence": 0.6020854711532593, - "label_id": 16 + "confidence": 0.9016656875610352, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 103, + "w": 52, + "x": 530, + "y": 307 } ], "tensors": [ { - "confidence": 0.6020854711532593, - "label_id": 16, + "confidence": 0.9016656875610352, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -362,37 +363,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 359996400, + "timestamp": 2333296000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0052010416984558105, - "y_min": 0.004819959402084351, - "x_max": 0.9938210248947144, - "y_max": 0.9965287446975708 + "x_min": 0.6942427754402161, + "y_min": 0.7033036351203918, + "x_max": 0.7553828358650208, + "y_max": 0.8973957896232605 }, - "confidence": 0.5937080979347229, - "label_id": 16 + "confidence": 0.8900401592254639, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 84, + "w": 47, + "x": 533, + "y": 304 } ], "tensors": [ { - "confidence": 0.5937080979347229, - "label_id": 16, + "confidence": 0.8900401592254639, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -400,37 +401,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 399996000, + "timestamp": 2416628000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005182892084121704, - "y_min": 0.0048126280307769775, - "x_max": 0.9938404560089111, - "y_max": 0.9965304136276245 + "x_min": 0.6978124380111694, + "y_min": 0.6883007287979126, + "x_max": 0.7573485374450684, + "y_max": 0.875929594039917 }, - "confidence": 0.5919352769851685, - "label_id": 16 + "confidence": 0.8667184710502625, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 81, + "w": 46, + "x": 536, + "y": 297 } ], "tensors": [ { - "confidence": 0.5919352769851685, - "label_id": 16, + "confidence": 0.8667184710502625, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -438,37 +439,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 439995600, + "timestamp": 2499960000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005174994468688965, - "y_min": 0.004802435636520386, - "x_max": 0.9938520193099976, - "y_max": 0.9965282678604126 + "x_min": 0.6973814964294434, + "y_min": 0.6681960225105286, + "x_max": 0.7628993988037109, + "y_max": 0.9051385521888733 }, - "confidence": 0.5938101410865784, - "label_id": 16 + "confidence": 0.6548436880111694, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 102, + "w": 50, + "x": 536, + "y": 289 } ], "tensors": [ { - "confidence": 0.5938101410865784, - "label_id": 16, + "confidence": 0.6548436880111694, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -476,37 +477,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 479995200, + "timestamp": 2583292000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051736533641815186, - "y_min": 0.004805862903594971, - "x_max": 0.9938485622406006, - "y_max": 0.9965253472328186 + "x_min": 0.6956170201301575, + "y_min": 0.6510389447212219, + "x_max": 0.7642548680305481, + "y_max": 0.8986994624137878 }, - "confidence": 0.5934598445892334, - "label_id": 16 + "confidence": 0.6839810609817505, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 107, + "w": 53, + "x": 534, + "y": 281 } ], "tensors": [ { - "confidence": 0.5934598445892334, - "label_id": 16, + "confidence": 0.6839810609817505, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -514,37 +515,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 519994800, + "timestamp": 2666624000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005172699689865112, - "y_min": 0.004760712385177612, - "x_max": 0.9938231706619263, - "y_max": 0.996469259262085 + "x_min": 0.7024138569831848, + "y_min": 0.6492985486984253, + "x_max": 0.7640038132667542, + "y_max": 0.8508652448654175 }, - "confidence": 0.6009299159049988, - "label_id": 16 + "confidence": 0.6671476364135742, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 88, + "w": 48, + "x": 539, + "y": 280 } ], "tensors": [ { - "confidence": 0.6009299159049988, - "label_id": 16, + "confidence": 0.6671476364135742, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -552,37 +553,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 559994400, + "timestamp": 2749956000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005154401063919067, - "y_min": 0.004725724458694458, - "x_max": 0.9938170909881592, - "y_max": 0.9964519739151001 + "x_min": 0.7056794166564941, + "y_min": 0.6312656402587891, + "x_max": 0.7669720649719238, + "y_max": 0.8299833536148071 }, - "confidence": 0.6057915687561035, - "label_id": 16 + "confidence": 0.9200981259346008, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 86, + "w": 47, + "x": 542, + "y": 273 } ], "tensors": [ { - "confidence": 0.6057915687561035, - "label_id": 16, + "confidence": 0.9200981259346008, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -590,37 +591,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 599994000, + "timestamp": 2833288000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051524341106414795, - "y_min": 0.004723548889160156, - "x_max": 0.9938207864761353, - "y_max": 0.9964534044265747 + "x_min": 0.7094249725341797, + "y_min": 0.6171458959579468, + "x_max": 0.7727304697036743, + "y_max": 0.8253974914550781 }, - "confidence": 0.6057512760162354, - "label_id": 16 + "confidence": 0.634685754776001, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 90, + "w": 48, + "x": 545, + "y": 267 } ], "tensors": [ { - "confidence": 0.6057512760162354, - "label_id": 16, + "confidence": 0.634685754776001, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -628,37 +629,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 639993600, + "timestamp": 2916620000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005150735378265381, - "y_min": 0.004703223705291748, - "x_max": 0.9938098788261414, - "y_max": 0.9964410662651062 + "x_min": 0.7092350721359253, + "y_min": 0.6104710102081299, + "x_max": 0.7733482122421265, + "y_max": 0.8216234445571899 }, - "confidence": 0.6094069480895996, - "label_id": 16 + "confidence": 0.7693196535110474, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 91, + "w": 49, + "x": 545, + "y": 264 } ], "tensors": [ { - "confidence": 0.6094069480895996, - "label_id": 16, + "confidence": 0.7693196535110474, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -666,37 +667,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 679993200, + "timestamp": 2999952000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005170613527297974, - "y_min": 0.004692018032073975, - "x_max": 0.9937812089920044, - "y_max": 0.9964113831520081 + "x_min": 0.7098239064216614, + "y_min": 0.6015931367874146, + "x_max": 0.7740373015403748, + "y_max": 0.8192803859710693 }, - "confidence": 0.6119624376296997, - "label_id": 16 + "confidence": 0.58549565076828, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 94, + "w": 49, + "x": 545, + "y": 260 } ], "tensors": [ { - "confidence": 0.6119624376296997, - "label_id": 16, + "confidence": 0.58549565076828, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -704,37 +705,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 719992800, + "timestamp": 3166616000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051839351654052734, - "y_min": 0.004700452089309692, - "x_max": 0.993766725063324, - "y_max": 0.9964090585708618 + "x_min": 0.7187693119049072, + "y_min": 0.5737252235412598, + "x_max": 0.7778397798538208, + "y_max": 0.7852489948272705 }, - "confidence": 0.6112960577011108, - "label_id": 16 + "confidence": 0.5143183469772339, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 91, + "w": 45, + "x": 552, + "y": 248 } ], "tensors": [ { - "confidence": 0.6112960577011108, - "label_id": 16, + "confidence": 0.5143183469772339, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -742,37 +743,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 759992400, + "timestamp": 3249948000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051889121532440186, - "y_min": 0.004699885845184326, - "x_max": 0.9937629699707031, - "y_max": 0.9964054226875305 + "x_min": 0.7253412008285522, + "y_min": 0.5522810220718384, + "x_max": 0.783305287361145, + "y_max": 0.7603617906570435 }, - "confidence": 0.6117622256278992, - "label_id": 16 + "confidence": 0.7224569320678711, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 89, + "w": 45, + "x": 557, + "y": 239 } ], "tensors": [ { - "confidence": 0.6117622256278992, - "label_id": 16, + "confidence": 0.7224569320678711, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -780,37 +781,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 799992000, + "timestamp": 3333280000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051787495613098145, - "y_min": 0.004698067903518677, - "x_max": 0.9937673807144165, - "y_max": 0.9964059591293335 + "x_min": 0.7317022085189819, + "y_min": 0.5484567880630493, + "x_max": 0.7883855104446411, + "y_max": 0.7271184921264648 }, - "confidence": 0.6114063262939453, - "label_id": 16 + "confidence": 0.9818903207778931, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 77, + "w": 43, + "x": 562, + "y": 237 } ], "tensors": [ { - "confidence": 0.6114063262939453, - "label_id": 16, + "confidence": 0.9818903207778931, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -818,37 +819,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 839991600, + "timestamp": 3416612000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005177408456802368, - "y_min": 0.0046922266483306885, - "x_max": 0.9937618970870972, - "y_max": 0.9964005947113037 + "x_min": 0.7372883558273315, + "y_min": 0.5409470796585083, + "x_max": 0.7887823581695557, + "y_max": 0.7027069330215454 }, - "confidence": 0.6096791625022888, - "label_id": 16 + "confidence": 0.8577883839607239, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 70, + "w": 40, + "x": 566, + "y": 234 } ], "tensors": [ { - "confidence": 0.6096791625022888, - "label_id": 16, + "confidence": 0.8577883839607239, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -856,37 +857,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 879991200, + "timestamp": 3499944000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005168110132217407, - "y_min": 0.004680842161178589, - "x_max": 0.9937744140625, - "y_max": 0.9964039325714111 + "x_min": 0.7410135865211487, + "y_min": 0.5215580463409424, + "x_max": 0.7954019904136658, + "y_max": 0.691115140914917 }, - "confidence": 0.6111531853675842, - "label_id": 16 + "confidence": 0.8129976987838745, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 42, + "x": 569, + "y": 225 } ], "tensors": [ { - "confidence": 0.6111531853675842, - "label_id": 16, + "confidence": 0.8129976987838745, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -894,37 +895,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 919990800, + "timestamp": 3583276000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005164980888366699, - "y_min": 0.004680067300796509, - "x_max": 0.9937781095504761, - "y_max": 0.9964073896408081 + "x_min": 0.746177077293396, + "y_min": 0.5225647687911987, + "x_max": 0.7999571561813354, + "y_max": 0.6882461309432983 }, - "confidence": 0.6111910343170166, - "label_id": 16 + "confidence": 0.8982786536216736, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 71, + "w": 41, + "x": 573, + "y": 226 } ], "tensors": [ { - "confidence": 0.6111910343170166, - "label_id": 16, + "confidence": 0.8982786536216736, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -932,37 +933,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 959990400, + "timestamp": 3666608000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051541924476623535, - "y_min": 0.0046721696853637695, - "x_max": 0.9937819838523865, - "y_max": 0.9964052438735962 + "x_min": 0.7465308904647827, + "y_min": 0.5088982582092285, + "x_max": 0.8079860210418701, + "y_max": 0.6892118453979492 }, - "confidence": 0.6119005680084229, - "label_id": 16 + "confidence": 0.9006739854812622, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 78, + "w": 48, + "x": 573, + "y": 220 } ], "tensors": [ { - "confidence": 0.6119005680084229, - "label_id": 16, + "confidence": 0.9006739854812622, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -970,37 +971,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 999990000, + "timestamp": 3749940000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051482319831848145, - "y_min": 0.004669129848480225, - "x_max": 0.9937779903411865, - "y_max": 0.9963982701301575 + "x_min": 0.7560437917709351, + "y_min": 0.4955936074256897, + "x_max": 0.8128681182861328, + "y_max": 0.6849269270896912 }, - "confidence": 0.6119604110717773, - "label_id": 16 + "confidence": 0.8902298212051392, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 82, + "w": 43, + "x": 581, + "y": 214 } ], "tensors": [ { - "confidence": 0.6119604110717773, - "label_id": 16, + "confidence": 0.8902298212051392, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1008,37 +1009,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1039989600, + "timestamp": 3833272000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051482319831848145, - "y_min": 0.004668056964874268, - "x_max": 0.9937766790390015, - "y_max": 0.9963976740837097 + "x_min": 0.7638221383094788, + "y_min": 0.4877367913722992, + "x_max": 0.8224636912345886, + "y_max": 0.6864262223243713 }, - "confidence": 0.6119994521141052, - "label_id": 16 + "confidence": 0.8473277688026428, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 86, + "w": 45, + "x": 587, + "y": 211 } ], "tensors": [ { - "confidence": 0.6119994521141052, - "label_id": 16, + "confidence": 0.8473277688026428, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1046,37 +1047,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1079989200, + "timestamp": 3916604000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005148172378540039, - "y_min": 0.004668235778808594, - "x_max": 0.9937768578529358, - "y_max": 0.9963979721069336 + "x_min": 0.7612079977989197, + "y_min": 0.4765152931213379, + "x_max": 0.8228948712348938, + "y_max": 0.6930429935455322 }, - "confidence": 0.6119645833969116, - "label_id": 16 + "confidence": 0.6922434568405151, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 93, + "w": 47, + "x": 585, + "y": 206 } ], "tensors": [ { - "confidence": 0.6119645833969116, - "label_id": 16, + "confidence": 0.6922434568405151, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1084,37 +1085,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1119988800, + "timestamp": 3999936000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005149543285369873, - "y_min": 0.004667431116104126, - "x_max": 0.9937742948532104, - "y_max": 0.9963935613632202 + "x_min": 0.7600260376930237, + "y_min": 0.4642871618270874, + "x_max": 0.8323193192481995, + "y_max": 0.6960529088973999 }, - "confidence": 0.6121615171432495, - "label_id": 16 + "confidence": 0.6348036527633667, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 100, + "w": 55, + "x": 584, + "y": 201 } ], "tensors": [ { - "confidence": 0.6121615171432495, - "label_id": 16, + "confidence": 0.6348036527633667, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1122,37 +1123,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1159988400, + "timestamp": 4249932000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.00516936182975769, - "y_min": 0.004676401615142822, - "x_max": 0.99376380443573, - "y_max": 0.9963814616203308 + "x_min": 0.793422281742096, + "y_min": 0.4378095269203186, + "x_max": 0.8423773646354675, + "y_max": 0.6405870318412781 }, - "confidence": 0.6127926111221313, - "label_id": 16 + "confidence": 0.9644074440002441, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 88, + "w": 38, + "x": 609, + "y": 189 } ], "tensors": [ { - "confidence": 0.6127926111221313, - "label_id": 16, + "confidence": 0.9644074440002441, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1160,37 +1161,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1199988000, + "timestamp": 4333264000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005169659852981567, - "y_min": 0.004675745964050293, - "x_max": 0.9937628507614136, - "y_max": 0.9963811635971069 + "x_min": 0.7964030504226685, + "y_min": 0.44299182295799255, + "x_max": 0.848788857460022, + "y_max": 0.6162917613983154 }, - "confidence": 0.6129139065742493, - "label_id": 16 + "confidence": 0.9073424935340881, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 40, + "x": 612, + "y": 191 } ], "tensors": [ { - "confidence": 0.6129139065742493, - "label_id": 16, + "confidence": 0.9073424935340881, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1198,37 +1199,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1239987600, + "timestamp": 4416596000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005169659852981567, - "y_min": 0.004675745964050293, - "x_max": 0.9937628507614136, - "y_max": 0.9963811635971069 + "x_min": 0.7999505996704102, + "y_min": 0.4296761751174927, + "x_max": 0.8537043333053589, + "y_max": 0.6069327592849731 }, - "confidence": 0.6129139065742493, - "label_id": 16 + "confidence": 0.9073823690414429, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 42, + "x": 614, + "y": 186 } ], "tensors": [ { - "confidence": 0.6129139065742493, - "label_id": 16, + "confidence": 0.9073823690414429, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1236,37 +1237,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1279987200, + "timestamp": 4499928000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005166083574295044, - "y_min": 0.004673272371292114, - "x_max": 0.9937653541564941, - "y_max": 0.9963811635971069 + "x_min": 0.8048784136772156, + "y_min": 0.4277309477329254, + "x_max": 0.8599335551261902, + "y_max": 0.5919975638389587 }, - "confidence": 0.612939715385437, - "label_id": 16 + "confidence": 0.7847642302513123, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 71, + "w": 42, + "x": 618, + "y": 185 } ], "tensors": [ { - "confidence": 0.612939715385437, - "label_id": 16, + "confidence": 0.7847642302513123, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1274,37 +1275,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1319986800, + "timestamp": 4583260000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.00516393780708313, - "y_min": 0.004675179719924927, - "x_max": 0.9937673807144165, - "y_max": 0.9963845014572144 + "x_min": 0.8112742900848389, + "y_min": 0.42043614387512207, + "x_max": 0.8658212423324585, + "y_max": 0.5937005281448364 }, - "confidence": 0.6128054857254028, - "label_id": 16 + "confidence": 0.8251606225967407, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 42, + "x": 623, + "y": 182 } ], "tensors": [ { - "confidence": 0.6128054857254028, - "label_id": 16, + "confidence": 0.8251606225967407, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1312,37 +1313,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1359986400, + "timestamp": 4666592000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051635801792144775, - "y_min": 0.004674792289733887, - "x_max": 0.9937677383422852, - "y_max": 0.9963843822479248 + "x_min": 0.8178002238273621, + "y_min": 0.41338473558425903, + "x_max": 0.8735348582267761, + "y_max": 0.5900363326072693 }, - "confidence": 0.6128286123275757, - "label_id": 16 + "confidence": 0.9657706022262573, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 43, + "x": 628, + "y": 179 } ], "tensors": [ { - "confidence": 0.6128286123275757, - "label_id": 16, + "confidence": 0.9657706022262573, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1350,37 +1351,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1399986000, + "timestamp": 4749924000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051635801792144775, - "y_min": 0.004674792289733887, - "x_max": 0.9937677383422852, - "y_max": 0.9963843822479248 + "x_min": 0.8261576294898987, + "y_min": 0.40377795696258545, + "x_max": 0.8855487704277039, + "y_max": 0.5847491025924683 }, - "confidence": 0.6128286123275757, - "label_id": 16 + "confidence": 0.8051931262016296, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 79, + "w": 46, + "x": 634, + "y": 174 } ], "tensors": [ { - "confidence": 0.6128286123275757, - "label_id": 16, + "confidence": 0.8051931262016296, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1388,37 +1389,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1439985600, + "timestamp": 4833256000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005162626504898071, - "y_min": 0.004674553871154785, - "x_max": 0.9937695264816284, - "y_max": 0.996384859085083 + "x_min": 0.8350329399108887, + "y_min": 0.3869829475879669, + "x_max": 0.8909602165222168, + "y_max": 0.5895990133285522 }, - "confidence": 0.6129191517829895, - "label_id": 16 + "confidence": 0.8279067277908325, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 88, + "w": 43, + "x": 641, + "y": 167 } ], "tensors": [ { - "confidence": 0.6129191517829895, - "label_id": 16, + "confidence": 0.8279067277908325, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1426,37 +1427,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1479985200, + "timestamp": 4916588000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163252353668213, - "y_min": 0.004673361778259277, - "x_max": 0.9937677979469299, - "y_max": 0.9963843822479248 + "x_min": 0.8355488777160645, + "y_min": 0.3944133520126343, + "x_max": 0.9007455110549927, + "y_max": 0.5855798125267029 }, - "confidence": 0.6129677295684814, - "label_id": 16 + "confidence": 0.6674150824546814, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 83, + "w": 50, + "x": 642, + "y": 170 } ], "tensors": [ { - "confidence": 0.6129677295684814, - "label_id": 16, + "confidence": 0.6674150824546814, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1464,37 +1465,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1519984800, + "timestamp": 5166584000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.8540040850639343, + "y_min": 0.37564727663993835, + "x_max": 0.910390317440033, + "y_max": 0.5681222081184387 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.6667394042015076, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 83, + "w": 43, + "x": 656, + "y": 162 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.6667394042015076, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1502,37 +1503,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1559984400, + "timestamp": 5249916000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.8664734363555908, + "y_min": 0.36737266182899475, + "x_max": 0.9125837087631226, + "y_max": 0.5437213182449341 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8699319362640381, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 36, + "x": 665, + "y": 159 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8699319362640381, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1540,37 +1541,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1599984000, + "timestamp": 5333248000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.8701801896095276, + "y_min": 0.3528415262699127, + "x_max": 0.9201374650001526, + "y_max": 0.5304938554763794 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9759781360626221, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 77, + "w": 39, + "x": 668, + "y": 152 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9759781360626221, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1578,37 +1579,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1639983600, + "timestamp": 5416580000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.8758715987205505, + "y_min": 0.3517833948135376, + "x_max": 0.9223876595497131, + "y_max": 0.5213840007781982 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.928128719329834, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 35, + "x": 673, + "y": 152 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.928128719329834, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1616,37 +1617,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1679983200, + "timestamp": 5499912000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.8702958822250366, + "y_min": 0.34546732902526855, + "x_max": 0.9282131195068359, + "y_max": 0.52052903175354 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7125293612480164, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 45, + "x": 668, + "y": 149 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7125293612480164, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1654,37 +1655,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1719982800, + "timestamp": 5583244000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.8830148577690125, + "y_min": 0.342130184173584, + "x_max": 0.9376000761985779, + "y_max": 0.5108840465545654 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9326930046081543, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 42, + "x": 678, + "y": 148 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9326930046081543, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1692,37 +1693,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1759982400, + "timestamp": 5666576000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.8888958096504211, + "y_min": 0.3362312614917755, + "x_max": 0.9449993968009949, + "y_max": 0.5033485889434814 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9043325781822205, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 72, + "w": 43, + "x": 683, + "y": 145 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9043325781822205, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1730,37 +1731,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1799982000, + "timestamp": 5749908000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.8988162279129028, + "y_min": 0.3228757381439209, + "x_max": 0.9546077251434326, + "y_max": 0.5100194811820984 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7630113363265991, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 81, + "w": 43, + "x": 690, + "y": 139 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7630113363265991, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1768,37 +1769,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1839981600, + "timestamp": 5833240000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.9052613973617554, + "y_min": 0.3268545866012573, + "x_max": 0.9607596397399902, + "y_max": 0.5165212154388428 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8265350461006165, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 82, + "w": 43, + "x": 695, + "y": 141 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8265350461006165, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1806,37 +1807,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1879981200, + "timestamp": 6083236000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.9133073091506958, + "y_min": 0.3186033368110657, + "x_max": 0.9737205505371094, + "y_max": 0.4934609532356262 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7388848066329956, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 47, + "x": 701, + "y": 138 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7388848066329956, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1844,37 +1845,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1919980800, + "timestamp": 6166568000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.9246581196784973, + "y_min": 0.3043941855430603, + "x_max": 0.9762004017829895, + "y_max": 0.4826813340187073 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.7867417931556702, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 78, + "w": 40, + "x": 710, + "y": 131 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.7867417931556702, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1882,37 +1883,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1959980400, + "timestamp": 6249900000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.9278860688209534, + "y_min": 0.29626408219337463, + "x_max": 0.9816299080848694, + "y_max": 0.4776894152164459 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7828896641731262, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 78, + "w": 41, + "x": 713, + "y": 128 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7828896641731262, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1920,37 +1921,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 1999980000, + "timestamp": 6333232000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.9321361780166626, + "y_min": 0.29067856073379517, + "x_max": 0.982731819152832, + "y_max": 0.4621286392211914 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9645175933837891, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 39, + "x": 716, + "y": 126 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9645175933837891, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1958,37 +1959,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2039979600, + "timestamp": 6416564000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.9319441318511963, + "y_min": 0.28902244567871094, + "x_max": 0.9850153923034668, + "y_max": 0.4589899182319641 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7262570261955261, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 40, + "x": 716, + "y": 125 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7262570261955261, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -1996,37 +1997,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2079979200, + "timestamp": 6499896000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.9300705194473267, + "y_min": 0.261774480342865, + "x_max": 0.9973998069763184, + "y_max": 0.46789276599884033 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.5797560214996338, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 89, + "w": 52, + "x": 714, + "y": 113 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.5797560214996338, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2034,37 +2035,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2119978800, + "timestamp": 6583228000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.9475647211074829, + "y_min": 0.26791656017303467, + "x_max": 0.9966084957122803, + "y_max": 0.44728755950927734 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5424327254295349, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 77, + "w": 37, + "x": 728, + "y": 116 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5424327254295349, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2072,37 +2073,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2159978400, + "timestamp": 13916444000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11596640944480896, + "y_min": 0.019203782081604004, + "x_max": 1.00587797164917, + "y_max": 0.9972268342971802 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5399076342582703, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 423, + "w": 679, + "x": 89, + "y": 8 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5399076342582703, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2110,37 +2111,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2199978000, + "timestamp": 14333104000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.12354929745197296, + "y_min": 0.8424254655838013, + "x_max": 0.34599506855010986, + "y_max": 1.0025250911712646 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.6707731485366821, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 68, + "w": 171, + "x": 95, + "y": 364 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.6707731485366821, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2148,37 +2149,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2239977600, + "timestamp": 14416436000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.1249007135629654, + "y_min": 0.814952552318573, + "x_max": 0.35160624980926514, + "y_max": 1.0036942958831787 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.7518407106399536, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 80, + "w": 174, + "x": 96, + "y": 352 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.7518407106399536, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2186,37 +2187,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2279977200, + "timestamp": 14499768000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.12201898545026779, + "y_min": 0.784342348575592, + "x_max": 0.3558673560619354, + "y_max": 0.9973203539848328 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8715056777000427, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 92, + "w": 179, + "x": 94, + "y": 339 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8715056777000427, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2224,37 +2225,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2319976800, + "timestamp": 14583100000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11370580643415451, + "y_min": 0.7612596750259399, + "x_max": 0.3590538799762726, + "y_max": 0.9961638450622559 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8592389822006226, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 101, + "w": 189, + "x": 87, + "y": 329 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8592389822006226, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2262,37 +2263,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2359976400, + "timestamp": 14666432000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11230173707008362, + "y_min": 0.7259582877159119, + "x_max": 0.3670547902584076, + "y_max": 1.0007786750793457 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.6108102202415466, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 118, + "w": 196, + "x": 86, + "y": 314 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.6108102202415466, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2300,37 +2301,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2399976000, + "timestamp": 14749764000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.10201224684715271, + "y_min": 0.7005279064178467, + "x_max": 0.3687931001186371, + "y_max": 0.9958691596984863 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8610527515411377, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 127, + "w": 205, + "x": 78, + "y": 303 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.8610527515411377, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2338,37 +2339,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2439975600, + "timestamp": 14833096000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.10744209587574005, + "y_min": 0.6789625287055969, + "x_max": 0.3779268264770508, + "y_max": 1.0000035762786865 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9127089381217957, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 139, + "w": 207, + "x": 83, + "y": 293 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9127089381217957, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2376,37 +2377,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2479975200, + "timestamp": 14916428000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.10694557428359985, + "y_min": 0.648249089717865, + "x_max": 0.3799184560775757, + "y_max": 1.0021778345108032 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9617993235588074, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 152, + "w": 210, + "x": 82, + "y": 280 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9617993235588074, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2414,37 +2415,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2519974800, + "timestamp": 14999760000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11665080487728119, + "y_min": 0.6377010345458984, + "x_max": 0.3768237829208374, + "y_max": 1.000298023223877 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9927833080291748, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 157, + "w": 199, + "x": 90, + "y": 275 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9927833080291748, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2452,37 +2453,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2559974400, + "timestamp": 15083092000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.11942803859710693, + "y_min": 0.6142627596855164, + "x_max": 0.37959182262420654, + "y_max": 1.0005748271942139 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9954034090042114, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 167, + "w": 200, + "x": 92, + "y": 265 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9954034090042114, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2490,37 +2491,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2599974000, + "timestamp": 15166424000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11778374016284943, + "y_min": 0.5890892148017883, + "x_max": 0.37694019079208374, + "y_max": 0.9978364109992981 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9948791265487671, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 177, + "w": 199, + "x": 90, + "y": 254 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9948791265487671, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2528,37 +2529,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2639973600, + "timestamp": 15249756000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11633364856243134, + "y_min": 0.5611193180084229, + "x_max": 0.37818074226379395, + "y_max": 0.9985551834106445 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9884049892425537, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 189, + "w": 201, + "x": 89, + "y": 242 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9884049892425537, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2566,37 +2567,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2679973200, + "timestamp": 15333088000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11545005440711975, + "y_min": 0.5469850301742554, + "x_max": 0.37325653433799744, + "y_max": 1.0026047229766846 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9741663932800293, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 196, + "w": 198, + "x": 89, + "y": 236 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9741663932800293, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2604,37 +2605,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2719972800, + "timestamp": 15416420000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.1327839493751526, + "y_min": 0.5260467529296875, + "x_max": 0.3650442361831665, + "y_max": 1.0008655786514282 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9840590953826904, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 205, + "w": 178, + "x": 102, + "y": 227 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9840590953826904, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2642,37 +2643,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2759972400, + "timestamp": 15499752000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1357005536556244, + "y_min": 0.5031139850616455, + "x_max": 0.3617941737174988, + "y_max": 0.9994630813598633 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9928669929504395, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 215, + "w": 174, + "x": 104, + "y": 217 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9928669929504395, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2680,37 +2681,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2799972000, + "timestamp": 15583084000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.14232614636421204, + "y_min": 0.4963996410369873, + "x_max": 0.3560277223587036, + "y_max": 0.9926905632019043 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.996005117893219, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 215, + "w": 164, + "x": 109, + "y": 214 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.36816641688346863, + "y_min": 0.053846269845962524, + "x_max": 0.9435077905654907, + "y_max": 0.7589074373245239 + }, + "confidence": 0.7171570062637329, + "label_id": 2 + }, + "h": 305, + "w": 442, + "x": 283, + "y": 23 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.996005117893219, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.7171570062637329, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2718,37 +2744,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2839971600, + "timestamp": 15666416000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.14830967783927917, + "y_min": 0.4742969870567322, + "x_max": 0.3563614785671234, + "y_max": 0.9999963641166687 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9980700612068176, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 227, + "w": 160, + "x": 114, + "y": 205 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.37656158208847046, + "y_min": 0.03842857480049133, + "x_max": 0.9512718319892883, + "y_max": 0.886086106300354 + }, + "confidence": 0.6958434581756592, + "label_id": 2 + }, + "h": 366, + "w": 442, + "x": 289, + "y": 17 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9980700612068176, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.6958434581756592, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2756,37 +2807,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2879971200, + "timestamp": 15749748000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.15359345078468323, + "y_min": 0.454115092754364, + "x_max": 0.35834595561027527, + "y_max": 0.9817675948143005 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9975983500480652, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 228, + "w": 157, + "x": 118, + "y": 196 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9975983500480652, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2794,37 +2845,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2919970800, + "timestamp": 15833080000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.15890049934387207, + "y_min": 0.43430987000465393, + "x_max": 0.3497201204299927, + "y_max": 0.9478054046630859 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9978967905044556, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 221, + "w": 147, + "x": 122, + "y": 188 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9978967905044556, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2832,37 +2883,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2959970400, + "timestamp": 15916412000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.16112689673900604, + "y_min": 0.423270583152771, + "x_max": 0.3455852270126343, + "y_max": 0.9355126619338989 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9974404573440552, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 221, + "w": 141, + "x": 124, + "y": 183 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9974404573440552, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2870,37 +2921,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 2999970000, + "timestamp": 15999744000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.16597715020179749, + "y_min": 0.40152478218078613, + "x_max": 0.3381536304950714, + "y_max": 0.907120943069458 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9992467164993286, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 219, + "w": 133, + "x": 127, + "y": 173 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9992467164993286, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2908,37 +2959,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3039969600, + "timestamp": 16083076000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.16594967246055603, + "y_min": 0.3892979621887207, + "x_max": 0.335437148809433, + "y_max": 0.8842259645462036 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9986107349395752, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 214, + "w": 131, + "x": 127, + "y": 168 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9986107349395752, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2946,37 +2997,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3079969200, + "timestamp": 16166408000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1622767448425293, + "y_min": 0.37051695585250854, + "x_max": 0.3325601816177368, + "y_max": 0.863061249256134 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9981282353401184, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 213, + "w": 130, + "x": 125, + "y": 160 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9981282353401184, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -2984,37 +3035,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3119968800, + "timestamp": 16249740000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1600649058818817, + "y_min": 0.3571774363517761, + "x_max": 0.3303433060646057, + "y_max": 0.8324565291404724 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9998267292976379, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 206, + "w": 131, + "x": 123, + "y": 154 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9998267292976379, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3022,37 +3073,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3159968400, + "timestamp": 16333072000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.15725673735141754, + "y_min": 0.3468477725982666, + "x_max": 0.3290403485298157, + "y_max": 0.8079231977462769 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999066591262817, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 199, + "w": 132, + "x": 121, + "y": 150 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.2916393578052521, + "y_min": 0.07992970943450928, + "x_max": 0.9590095281600952, + "y_max": 0.836105465888977 + }, + "confidence": 0.6244098544120789, + "label_id": 2 + }, + "h": 326, + "w": 513, + "x": 224, + "y": 35 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999066591262817, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.6244098544120789, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3060,37 +3136,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3199968000, + "timestamp": 16416404000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.15063917636871338, + "y_min": 0.3292410373687744, + "x_max": 0.32763391733169556, + "y_max": 0.7840467691421509 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999896764755249, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 197, + "w": 136, + "x": 116, + "y": 142 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999896764755249, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3098,37 +3174,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3239967600, + "timestamp": 16499736000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1435127705335617, + "y_min": 0.3213016986846924, + "x_max": 0.32459068298339844, + "y_max": 0.7735633850097656 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999921321868896, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 195, + "w": 139, + "x": 110, + "y": 139 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999921321868896, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3136,37 +3212,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3279967200, + "timestamp": 16583068000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.13695907592773438, + "y_min": 0.3108031153678894, + "x_max": 0.32061851024627686, + "y_max": 0.7566444277763367 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999939203262329, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 193, + "w": 141, + "x": 105, + "y": 134 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999939203262329, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3174,37 +3250,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3319966800, + "timestamp": 16666400000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.12993483245372772, + "y_min": 0.30137327313423157, + "x_max": 0.31766730546951294, + "y_max": 0.737349271774292 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999949932098389, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 189, + "w": 144, + "x": 100, + "y": 130 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999949932098389, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3212,37 +3288,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3359966400, + "timestamp": 16749732000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.11788306385278702, + "y_min": 0.2895679771900177, + "x_max": 0.31424927711486816, + "y_max": 0.7207177877426147 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9999935626983643, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 186, + "w": 150, + "x": 91, + "y": 125 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9999935626983643, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3250,37 +3326,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3399966000, + "timestamp": 16833064000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1054857075214386, + "y_min": 0.28520679473876953, + "x_max": 0.31248632073402405, + "y_max": 0.7089840769767761 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999861717224121, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 183, + "w": 159, + "x": 81, + "y": 123 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999861717224121, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3288,37 +3364,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3439965600, + "timestamp": 16916396000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.08972586691379547, + "y_min": 0.27886930108070374, + "x_max": 0.3075578212738037, + "y_max": 0.6949174404144287 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.999972939491272, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 180, + "w": 167, + "x": 69, + "y": 120 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.999972939491272, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3326,37 +3402,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3479965200, + "timestamp": 16999728000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.07992282509803772, + "y_min": 0.2789849638938904, + "x_max": 0.3025186061859131, + "y_max": 0.6752256751060486 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.999988317489624, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 171, + "w": 171, + "x": 61, + "y": 121 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.999988317489624, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3364,37 +3440,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3519964800, + "timestamp": 17083060000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.07284160703420639, + "y_min": 0.2735762596130371, + "x_max": 0.29544904828071594, + "y_max": 0.6568424105644226 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999994158744812, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 166, + "w": 171, + "x": 56, + "y": 118 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999994158744812, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3402,37 +3478,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3559964400, + "timestamp": 17166392000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.06546320021152496, + "y_min": 0.26595205068588257, + "x_max": 0.2877064347267151, + "y_max": 0.6416342854499817 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999986886978149, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 162, + "w": 171, + "x": 50, + "y": 115 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999986886978149, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3440,37 +3516,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3599964000, + "timestamp": 17249724000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.055775485932826996, + "y_min": 0.26049840450286865, + "x_max": 0.2822268307209015, + "y_max": 0.6367597579956055 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999972581863403, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 162, + "w": 174, + "x": 43, + "y": 113 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999972581863403, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3478,37 +3554,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3639963600, + "timestamp": 17333056000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.043870508670806885, + "y_min": 0.2601318061351776, + "x_max": 0.27794164419174194, + "y_max": 0.6270712614059448 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999901056289673, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 159, + "w": 179, + "x": 34, + "y": 112 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999901056289673, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3516,37 +3592,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3679963200, + "timestamp": 17416388000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.030381090939044952, + "y_min": 0.2578715980052948, + "x_max": 0.2703300714492798, + "y_max": 0.6141258478164673 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999955415725708, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 154, + "w": 185, + "x": 23, + "y": 111 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999955415725708, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3554,37 +3630,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3719962800, + "timestamp": 17499720000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.01892031729221344, + "y_min": 0.2529815137386322, + "x_max": 0.2617058753967285, + "y_max": 0.6005010604858398 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.999988317489624, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 150, + "w": 186, + "x": 15, + "y": 109 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.3566780984401703, + "y_min": 0.04786303639411926, + "x_max": 0.966240406036377, + "y_max": 0.8461965322494507 + }, + "confidence": 0.53726726770401, + "label_id": 2 + }, + "h": 345, + "w": 468, + "x": 274, + "y": 21 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.999988317489624, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.53726726770401, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3592,37 +3693,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3759962400, + "timestamp": 17583052000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.006406545639038086, + "y_min": 0.25011375546455383, + "x_max": 0.25181493163108826, + "y_max": 0.594420313835144 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999843835830688, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 149, + "w": 188, + "x": 5, + "y": 108 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999843835830688, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3630,37 +3731,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3799962000, + "timestamp": 17666384000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0034183859825134277, + "y_min": 0.24995212256908417, + "x_max": 0.24484217166900635, + "y_max": 0.5859204530715942 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999728202819824, + "label_id": 2 }, - "h": 357, - "w": 633, + "h": 145, + "w": 185, "x": 3, - "y": 2 + "y": 108 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.6444863677024841, + "y_min": 0.06924453377723694, + "x_max": 1.0005388259887695, + "y_max": 0.7056286334991455 + }, + "confidence": 0.6336398720741272, + "label_id": 2 + }, + "h": 275, + "w": 273, + "x": 495, + "y": 30 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999728202819824, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.6336398720741272, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3668,37 +3794,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3839961600, + "timestamp": 17749716000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.0014565661549568176, + "y_min": 0.247770756483078, + "x_max": 0.23315390944480896, + "y_max": 0.5775051116943359 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999992847442627, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 142, + "w": 178, + "x": 1, + "y": 107 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999992847442627, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3706,37 +3832,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3879961200, + "timestamp": 17833048000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -4.07099723815918e-05, + "y_min": 0.2451421618461609, + "x_max": 0.22364945709705353, + "y_max": 0.5643712878227234 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999935626983643, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 138, + "w": 172, + "x": 0, + "y": 106 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.39657267928123474, + "y_min": 0.06359893083572388, + "x_max": 0.9582223892211914, + "y_max": 0.7276898622512817 + }, + "confidence": 0.7043145895004272, + "label_id": 2 + }, + "h": 287, + "w": 431, + "x": 305, + "y": 27 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999935626983643, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.7043145895004272, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3744,37 +3895,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3919960800, + "timestamp": 17916380000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0005242079496383667, + "y_min": 0.24142062664031982, + "x_max": 0.21571695804595947, + "y_max": 0.5588368773460388 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999877214431763, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 137, + "w": 166, + "x": 0, + "y": 104 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.3979666829109192, + "y_min": 0.04126647114753723, + "x_max": 0.9645771384239197, + "y_max": 0.7529500722885132 + }, + "confidence": 0.8434672355651855, + "label_id": 2 + }, + "h": 307, + "w": 435, + "x": 306, + "y": 18 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999877214431763, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.8434672355651855, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3782,37 +3958,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3959960400, + "timestamp": 17999712000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.00018643587827682495, + "y_min": 0.2359994500875473, + "x_max": 0.20601454377174377, + "y_max": 0.5536378026008606 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.999954342842102, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 137, + "w": 158, + "x": 0, + "y": 102 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.36403825879096985, + "y_min": 0.03846672177314758, + "x_max": 0.9718368053436279, + "y_max": 0.7574758529663086 + }, + "confidence": 0.9011961221694946, + "label_id": 2 + }, + "h": 310, + "w": 466, + "x": 280, + "y": 17 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.999954342842102, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9011961221694946, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3820,37 +4021,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 3999960000, + "timestamp": 18083044000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.0004027560353279114, + "y_min": 0.23479411005973816, + "x_max": 0.1985584795475006, + "y_max": 0.546837329864502 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9998503923416138, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 135, + "w": 152, + "x": 0, + "y": 101 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.36456364393234253, + "y_min": 0.054398298263549805, + "x_max": 0.9702922701835632, + "y_max": 0.778744101524353 + }, + "confidence": 0.657283365726471, + "label_id": 2 + }, + "h": 312, + "w": 465, + "x": 280, + "y": 24 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9998503923416138, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.657283365726471, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3858,37 +4084,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4039959600, + "timestamp": 18166376000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0004487261176109314, + "y_min": 0.22636054456233978, + "x_max": 0.18768197298049927, + "y_max": 0.5432202816009521 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9998462200164795, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 137, + "w": 144, + "x": 0, + "y": 98 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9998462200164795, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3896,37 +4122,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4079959200, + "timestamp": 18249708000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0021575093269348145, + "y_min": 0.22176212072372437, + "x_max": 0.17442119121551514, + "y_max": 0.5293576121330261 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9989789724349976, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 133, + "w": 132, + "x": 2, + "y": 96 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9989789724349976, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3934,37 +4160,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4119958800, + "timestamp": 18333040000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0031266361474990845, + "y_min": 0.22026404738426208, + "x_max": 0.16523411870002747, + "y_max": 0.5301101207733154 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9972135424613953, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 134, + "w": 127, + "x": 0, + "y": 95 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9972135424613953, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -3972,37 +4198,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4159958400, + "timestamp": 18416372000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": -0.002452939748764038, + "y_min": 0.22297357022762299, + "x_max": 0.15728577971458435, + "y_max": 0.5269065499305725 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9975874423980713, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 132, + "w": 121, + "x": 0, + "y": 96 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9975874423980713, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4010,37 +4236,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4199958000, + "timestamp": 18499704000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.00047751516103744507, + "y_min": 0.22313344478607178, + "x_max": 0.14348477125167847, + "y_max": 0.5240911841392517 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9912697076797485, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 130, + "w": 110, + "x": 0, + "y": 96 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9912697076797485, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4048,37 +4274,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4239957600, + "timestamp": 18583036000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0009466856718063354, + "y_min": 0.23165319859981537, + "x_max": 0.13174189627170563, + "y_max": 0.5227310061454773 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8885208964347839, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 126, + "w": 100, + "x": 1, + "y": 100 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8885208964347839, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4086,37 +4312,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4279957200, + "timestamp": 18666368000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0006035938858985901, + "y_min": 0.24140207469463348, + "x_max": 0.1251387596130371, + "y_max": 0.51657634973526 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7441190481185913, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 119, + "w": 96, + "x": 0, + "y": 104 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7441190481185913, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4124,37 +4350,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4319956800, + "timestamp": 18749700000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.0006059370934963226, + "y_min": 0.239722341299057, + "x_max": 0.11157597601413727, + "y_max": 0.515325665473938 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8880211710929871, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 119, + "w": 86, + "x": 0, + "y": 104 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.8880211710929871, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4162,37 +4388,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4359956400, + "timestamp": 18833032000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.001440584659576416, + "y_min": 0.23769088089466095, + "x_max": 0.09910853207111359, + "y_max": 0.5193971395492554 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.6941346526145935, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 121, + "w": 75, + "x": 1, + "y": 103 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.6941346526145935, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4200,37 +4426,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4399956000, + "timestamp": 18916364000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0005200617015361786, + "y_min": 0.23709367215633392, + "x_max": 0.08774614334106445, + "y_max": 0.5180805325508118 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5993965864181519, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 122, + "w": 67, + "x": 0, + "y": 102 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5993965864181519, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4238,37 +4464,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4439955600, + "timestamp": 18999696000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.000714913010597229, + "y_min": 0.2377401441335678, + "x_max": 0.07843541353940964, + "y_max": 0.5105568170547485 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.809007465839386, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 118, + "w": 60, + "x": 0, + "y": 103 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.809007465839386, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4276,37 +4502,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4479955200, + "timestamp": 19083028000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.0008385665714740753, + "y_min": 0.24205249547958374, + "x_max": 0.06598681211471558, + "y_max": 0.5057999491691589 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.599037230014801, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 114, + "w": 50, + "x": 1, + "y": 105 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.599037230014801, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4314,37 +4540,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4519954800, + "timestamp": 19166360000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0013178102672100067, + "y_min": 0.2496914565563202, + "x_max": 0.05882628262042999, + "y_max": 0.4988504946231842 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7784414887428284, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 108, + "w": 44, + "x": 1, + "y": 108 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7784414887428284, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4352,37 +4578,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4559954400, + "timestamp": 19249692000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.002132358029484749, + "y_min": 0.27205389738082886, + "x_max": 0.04692695289850235, + "y_max": 0.49076080322265625 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5858582854270935, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 94, + "w": 34, + "x": 2, + "y": 118 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5858582854270935, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4390,37 +4616,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4599954000, + "timestamp": 19333024000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0004920084029436111, + "y_min": 0.275369256734848, + "x_max": 0.038340166211128235, + "y_max": 0.4887489378452301 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.545562744140625, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 92, + "w": 29, + "x": 0, + "y": 119 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.545562744140625, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4428,37 +4654,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4639953600, + "timestamp": 22332976000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.827362060546875, + "y_min": 0.29114580154418945, + "x_max": 0.9260216951370239, + "y_max": 0.4126254916191101 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.5569565296173096, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 52, + "w": 76, + "x": 635, + "y": 126 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.5569565296173096, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4466,37 +4692,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4679953200, + "timestamp": 40582684000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.003520183265209198, + "y_min": 0.09614640474319458, + "x_max": 0.05852079391479492, + "y_max": 0.2684183716773987 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7313483953475952, + "label_id": 1 }, - "h": 357, - "w": 633, + "h": 74, + "w": 42, "x": 3, - "y": 2 + "y": 42 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7313483953475952, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4504,37 +4730,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4719952800, + "timestamp": 40666016000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.007050374522805214, + "y_min": 0.10089847445487976, + "x_max": 0.06405963748693466, + "y_max": 0.2735617160797119 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.800372838973999, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 44, + "x": 5, + "y": 44 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.800372838973999, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4542,37 +4768,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4759952400, + "timestamp": 40749348000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.015278883278369904, + "y_min": 0.0923706516623497, + "x_max": 0.073765330016613, + "y_max": 0.26726222038269043 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9022138118743896, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 45, + "x": 12, + "y": 40 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9022138118743896, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4580,37 +4806,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4799952000, + "timestamp": 40832680000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.022376151755452156, + "y_min": 0.09247265756130219, + "x_max": 0.06860356032848358, + "y_max": 0.2647438049316406 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9541775584220886, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 36, + "x": 17, + "y": 40 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9541775584220886, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4618,37 +4844,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4839951600, + "timestamp": 40916012000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.028638632968068123, + "y_min": 0.08783772587776184, + "x_max": 0.06252329051494598, + "y_max": 0.2630442678928375 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7064143419265747, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 26, + "x": 22, + "y": 38 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7064143419265747, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4656,37 +4882,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4879951200, + "timestamp": 40999344000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.03887544572353363, + "y_min": 0.08765244483947754, + "x_max": 0.0701574981212616, + "y_max": 0.27115845680236816 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8522809147834778, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 79, + "w": 24, + "x": 30, + "y": 38 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8522809147834778, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4694,37 +4920,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4919950800, + "timestamp": 41082676000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.04498003423213959, + "y_min": 0.08891790360212326, + "x_max": 0.08996370434761047, + "y_max": 0.2605549693107605 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9793604612350464, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 34, + "x": 35, + "y": 38 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9793604612350464, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4732,37 +4958,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4959950400, + "timestamp": 41166008000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.05017882212996483, + "y_min": 0.0889800563454628, + "x_max": 0.1023634672164917, + "y_max": 0.261782169342041 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9697669148445129, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 40, + "x": 39, + "y": 38 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9697669148445129, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4770,37 +4996,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 4999950000, + "timestamp": 41249340000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.05578610301017761, + "y_min": 0.08782751113176346, + "x_max": 0.11190468072891235, + "y_max": 0.2647019624710083 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9666902422904968, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 43, + "x": 43, + "y": 38 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9666902422904968, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4808,37 +5034,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5039949600, + "timestamp": 41332672000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.06013341248035431, + "y_min": 0.08757153153419495, + "x_max": 0.11493924260139465, + "y_max": 0.2610611021518707 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9735053777694702, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 42, + "x": 46, + "y": 38 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9735053777694702, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4846,37 +5072,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5079949200, + "timestamp": 41416004000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.06902659684419632, + "y_min": 0.08824954926967621, + "x_max": 0.10748405009508133, + "y_max": 0.2566310167312622 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.743285596370697, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 30, + "x": 53, + "y": 38 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.743285596370697, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4884,37 +5110,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5119948800, + "timestamp": 41499336000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.07710953801870346, + "y_min": 0.08698607981204987, + "x_max": 0.10798504203557968, + "y_max": 0.26228195428848267 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.5720993280410767, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 24, + "x": 59, + "y": 38 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.5720993280410767, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4922,37 +5148,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5159948400, + "timestamp": 41582668000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.08448268473148346, + "y_min": 0.08256705105304718, + "x_max": 0.11586420238018036, + "y_max": 0.2598867416381836 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.94560706615448, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 24, + "x": 65, + "y": 36 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.94560706615448, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4960,37 +5186,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5199948000, + "timestamp": 41666000000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0896417647600174, + "y_min": 0.0827476903796196, + "x_max": 0.14263710379600525, + "y_max": 0.2597101926803589 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9793663620948792, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 41, + "x": 69, + "y": 36 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9793663620948792, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -4998,37 +5224,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5239947600, + "timestamp": 41749332000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.09771757572889328, + "y_min": 0.08314508199691772, + "x_max": 0.15318679809570312, + "y_max": 0.2552943825721741 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9093460440635681, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 43, + "x": 75, + "y": 36 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9093460440635681, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5036,37 +5262,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5279947200, + "timestamp": 41832664000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.097109355032444, + "y_min": 0.08081871271133423, + "x_max": 0.15628035366535187, + "y_max": 0.25459712743759155 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9800829291343689, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 45, + "x": 75, + "y": 35 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9800829291343689, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5074,37 +5300,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5319946800, + "timestamp": 41915996000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.10745184123516083, + "y_min": 0.07760567963123322, + "x_max": 0.15793658792972565, + "y_max": 0.2539300322532654 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9863324761390686, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 38, + "x": 83, + "y": 34 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9863324761390686, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5112,37 +5338,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5359946400, + "timestamp": 41999328000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11774111539125443, + "y_min": 0.0729341059923172, + "x_max": 0.14843998849391937, + "y_max": 0.25854355096817017 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9116137027740479, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 80, + "w": 24, + "x": 90, + "y": 32 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9116137027740479, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5150,37 +5376,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5399946000, + "timestamp": 42082660000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.13104873895645142, + "y_min": 0.08312395215034485, + "x_max": 0.15758538246154785, + "y_max": 0.251211017370224 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5447486042976379, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 20, + "x": 101, + "y": 36 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5447486042976379, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5188,37 +5414,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5439945600, + "timestamp": 42165992000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.13294978439807892, + "y_min": 0.0708828791975975, + "x_max": 0.1706470102071762, + "y_max": 0.25432801246643066 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9172146916389465, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 79, + "w": 29, + "x": 102, + "y": 31 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9172146916389465, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5226,37 +5452,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5479945200, + "timestamp": 42249324000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1384216845035553, + "y_min": 0.06915633380413055, + "x_max": 0.1878308355808258, + "y_max": 0.24908126890659332 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9754457473754883, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 78, + "w": 38, + "x": 106, + "y": 30 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9754457473754883, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5264,37 +5490,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5519944800, + "timestamp": 42332656000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1423514038324356, + "y_min": 0.06932604312896729, + "x_max": 0.1978525072336197, + "y_max": 0.24401411414146423 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.94728022813797, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 43, + "x": 109, + "y": 30 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.94728022813797, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5302,37 +5528,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5559944400, + "timestamp": 42415988000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.14545604586601257, + "y_min": 0.06837218999862671, + "x_max": 0.19828087091445923, + "y_max": 0.24140188097953796 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9623384475708008, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 40, + "x": 112, + "y": 30 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9623384475708008, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5340,37 +5566,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5599944000, + "timestamp": 42499320000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.15949654579162598, + "y_min": 0.06967361271381378, + "x_max": 0.1966705620288849, + "y_max": 0.24714766442775726 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9421710968017578, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 77, + "w": 29, + "x": 122, + "y": 30 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9421710968017578, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5378,37 +5604,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5639943600, + "timestamp": 42582652000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.16708043217658997, + "y_min": 0.059558719396591187, + "x_max": 0.19617226719856262, + "y_max": 0.24868381023406982 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.813447892665863, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 81, + "w": 23, + "x": 128, + "y": 26 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.813447892665863, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5416,37 +5642,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5679943200, + "timestamp": 42665984000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1770205795764923, + "y_min": 0.06683304905891418, + "x_max": 0.20688790082931519, + "y_max": 0.24025678634643555 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8465343117713928, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 23, + "x": 136, + "y": 29 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8465343117713928, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5454,37 +5680,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5719942800, + "timestamp": 42749316000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.17684851586818695, + "y_min": 0.06626953929662704, + "x_max": 0.22825394570827484, + "y_max": 0.23396548628807068 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9355576038360596, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 72, + "w": 39, + "x": 136, + "y": 29 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9355576038360596, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5492,37 +5718,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5759942400, + "timestamp": 42832648000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.185580313205719, + "y_min": 0.06710120290517807, + "x_max": 0.23801594972610474, + "y_max": 0.23169371485710144 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8719622492790222, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 71, + "w": 40, + "x": 143, + "y": 29 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.8719622492790222, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5530,37 +5756,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5799942000, + "timestamp": 42915980000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.18934984505176544, + "y_min": 0.06351666152477264, + "x_max": 0.24492235481739044, + "y_max": 0.22783349454402924 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9465517997741699, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 71, + "w": 43, + "x": 145, + "y": 27 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9465517997741699, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5568,37 +5794,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5839941600, + "timestamp": 42999312000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.19826054573059082, + "y_min": 0.0634077787399292, + "x_max": 0.2433423399925232, + "y_max": 0.22424951195716858 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9223278760910034, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 70, + "w": 35, + "x": 152, + "y": 27 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9223278760910034, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5606,37 +5832,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5879941200, + "timestamp": 43082644000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.20872804522514343, + "y_min": 0.05233736336231232, + "x_max": 0.2391643524169922, + "y_max": 0.2301691621541977 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8002424836158752, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 24, + "x": 160, + "y": 23 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8002424836158752, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5644,37 +5870,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5919940800, + "timestamp": 43165976000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.21424375474452972, + "y_min": 0.04551645368337631, + "x_max": 0.24572424590587616, + "y_max": 0.22501105070114136 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8372902274131775, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 77, + "w": 24, + "x": 165, + "y": 20 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.8372902274131775, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5682,37 +5908,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5959940400, + "timestamp": 43249308000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.2207432985305786, + "y_min": 0.04236235469579697, + "x_max": 0.2584760785102844, + "y_max": 0.2220311164855957 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9497457146644592, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 78, + "w": 29, + "x": 170, + "y": 18 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9497457146644592, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5720,37 +5946,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 5999940000, + "timestamp": 43332640000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.22296249866485596, + "y_min": 0.038034990429878235, + "x_max": 0.2679644823074341, + "y_max": 0.22160767018795013 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8677589297294617, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 80, + "w": 35, + "x": 171, + "y": 16 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8677589297294617, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5758,37 +5984,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6039939600, + "timestamp": 43415972000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.2253321409225464, + "y_min": 0.04360928386449814, + "x_max": 0.27870678901672363, + "y_max": 0.2192666232585907 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9470476508140564, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 76, + "w": 41, + "x": 173, + "y": 19 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9470476508140564, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5796,37 +6022,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6079939200, + "timestamp": 43499304000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.22942356765270233, + "y_min": 0.04060845077037811, + "x_max": 0.2780565619468689, + "y_max": 0.2132491022348404 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8956233859062195, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 74, + "w": 38, + "x": 176, + "y": 18 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.8956233859062195, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5834,37 +6060,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6119938800, + "timestamp": 43582636000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.23967245221138, + "y_min": 0.02633826434612274, + "x_max": 0.27834299206733704, + "y_max": 0.2121078073978424 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5786580443382263, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 81, + "w": 30, + "x": 184, + "y": 11 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5786580443382263, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5872,37 +6098,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6159938400, + "timestamp": 43665968000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.25442785024642944, + "y_min": 0.026687629520893097, + "x_max": 0.284124493598938, + "y_max": 0.21455299854278564 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7779613137245178, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 81, + "w": 23, + "x": 195, + "y": 12 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7779613137245178, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5910,37 +6136,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6199938000, + "timestamp": 43749300000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.2591593861579895, + "y_min": 0.021057195961475372, + "x_max": 0.29092317819595337, + "y_max": 0.20710113644599915 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8207446336746216, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 80, + "w": 24, + "x": 199, + "y": 9 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8207446336746216, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5948,37 +6174,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6239937600, + "timestamp": 43832632000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.265623539686203, + "y_min": 0.022368110716342926, + "x_max": 0.30720213055610657, + "y_max": 0.19281572103500366 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9772182106971741, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 32, + "x": 204, + "y": 10 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9772182106971741, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -5986,37 +6212,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6279937200, + "timestamp": 43915964000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.2676101326942444, + "y_min": 0.022761516273021698, + "x_max": 0.31084901094436646, + "y_max": 0.19687843322753906 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9722139239311218, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 33, + "x": 206, + "y": 10 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.10303474962711334, + "y_min": 0.8516966700553894, + "x_max": 0.2944148778915405, + "y_max": 1.0023001432418823 + }, + "confidence": 0.7828809022903442, + "label_id": 2 + }, + "h": 64, + "w": 147, + "x": 79, + "y": 368 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9722139239311218, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.7828809022903442, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -6024,987 +6275,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 6319936800, + "timestamp": 43999296000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.27379584312438965, + "y_min": 0.01969006657600403, + "x_max": 0.31614619493484497, + "y_max": 0.1831187754869461 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9839940071105957, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6359936400, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6399936000, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 - }, - "confidence": 0.613111674785614, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6439935600, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6479935200, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6519934800, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6559934400, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 - }, - "confidence": 0.613111674785614, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6599934000, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6639933600, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6679933200, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6719932800, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 - }, - "confidence": 0.613111674785614, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6759932400, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6799932000, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6839931600, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6879931200, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 - }, - "confidence": 0.613111674785614, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6919930800, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6959930400, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 6999930000, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7039929600, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 - }, - "confidence": 0.613111674785614, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7079929200, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7119928800, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7159928400, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7199928000, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 - }, - "confidence": 0.613111674785614, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7239927600, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7279927200, - "objects": [ + "h": 70, + "w": 33, + "x": 210, + "y": 9 + }, { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.08434255421161652, + "y_min": 0.8253540396690369, + "x_max": 0.3013109564781189, + "y_max": 1.0052653551101685 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8690185546875, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 75, + "w": 166, + "x": 65, + "y": 357 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9839940071105957, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7319926800, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ + }, { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8690185546875, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7012,113 +6338,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7359926400, + "timestamp": 44082628000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.2792358100414276, + "y_min": 0.009584739804267883, + "x_max": 0.31608036160469055, + "y_max": 0.18175002932548523 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8530219197273254, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.613111674785614, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7399926000, - "objects": [ + "h": 75, + "w": 29, + "x": 214, + "y": 4 + }, { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.08915093541145325, + "y_min": 0.7983525395393372, + "x_max": 0.30604496598243713, + "y_max": 1.0010695457458496 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9764792323112488, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 87, + "w": 167, + "x": 68, + "y": 345 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8530219197273254, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7439925600, - "objects": [ - { - "detection": { - "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 - }, - "confidence": 0.612987756729126, - "label_id": 16 - }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ + }, { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9764792323112488, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7126,75 +6401,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7479925200, + "timestamp": 44165960000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.28407979011535645, + "y_min": 0.002706773579120636, + "x_max": 0.31977325677871704, + "y_max": 0.1762460470199585 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9413458108901978, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 - } - ], - "tensors": [ - { - "confidence": 0.612987756729126, - "label_id": 16, - "layer_name": "detection_out", - "layout": "NCHW", - "model_name": "MobileNet-SSD", - "name": "detection", - "precision": "FP32" - } - ] - }, - { - "resolution": { - "width": 640, - "height": 360 - }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", - "tags": {}, - "timestamp": 7519924800, - "objects": [ + "h": 75, + "w": 28, + "x": 218, + "y": 1 + }, { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.09309807419776917, + "y_min": 0.7758338451385498, + "x_max": 0.3174420893192291, + "y_max": 0.9965120553970337 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9990536570549011, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 95, + "w": 173, + "x": 71, + "y": 335 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9413458108901978, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9990536570549011, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7202,37 +6464,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7559924400, + "timestamp": 44249292000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.29081493616104126, + "y_min": -0.0069022104144096375, + "x_max": 0.324205219745636, + "y_max": 0.18154531717300415 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9403790831565857, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 78, + "w": 26, + "x": 223, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.09307057410478592, + "y_min": 0.7559618353843689, + "x_max": 0.32171231508255005, + "y_max": 0.9982390999794006 + }, + "confidence": 0.9966351389884949, + "label_id": 2 + }, + "h": 104, + "w": 176, + "x": 71, + "y": 327 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9403790831565857, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9966351389884949, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7240,37 +6527,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7599924000, + "timestamp": 44332624000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.2964043915271759, + "y_min": -0.0003037452697753906, + "x_max": 0.3379308879375458, + "y_max": 0.1687522530555725 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9741271138191223, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 73, + "w": 32, + "x": 228, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.09235934168100357, + "y_min": 0.7268028259277344, + "x_max": 0.32596927881240845, + "y_max": 0.9985591173171997 + }, + "confidence": 0.9987518787384033, + "label_id": 2 + }, + "h": 117, + "w": 179, + "x": 71, + "y": 314 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9741271138191223, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9987518787384033, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7278,37 +6590,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7639923600, + "timestamp": 44415956000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.2996630072593689, + "y_min": -0.0004722177982330322, + "x_max": 0.3412056565284729, + "y_max": 0.15967386960983276 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9673275947570801, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 69, + "w": 32, + "x": 230, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.09393153339624405, + "y_min": 0.7049237489700317, + "x_max": 0.3319951891899109, + "y_max": 0.9963676929473877 + }, + "confidence": 0.9973854422569275, + "label_id": 2 + }, + "h": 125, + "w": 183, + "x": 72, + "y": 305 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9673275947570801, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9973854422569275, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7316,37 +6653,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7679923200, + "timestamp": 44499288000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.3023771643638611, + "y_min": -0.001138843595981598, + "x_max": 0.3466936945915222, + "y_max": 0.15592274069786072 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9862332344055176, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 67, + "w": 34, + "x": 232, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.09151753038167953, + "y_min": 0.6774777173995972, + "x_max": 0.33974748849868774, + "y_max": 0.9992778301239014 + }, + "confidence": 0.9967327117919922, + "label_id": 2 + }, + "h": 139, + "w": 191, + "x": 70, + "y": 293 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9862332344055176, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9967327117919922, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7354,37 +6716,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7719922800, + "timestamp": 44582620000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.30892443656921387, + "y_min": -0.004717707633972168, + "x_max": 0.3456929326057434, + "y_max": 0.15049003064632416 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9558308124542236, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 65, + "w": 28, + "x": 237, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.09714695811271667, + "y_min": 0.6524867415428162, + "x_max": 0.34563007950782776, + "y_max": 1.0013536214828491 + }, + "confidence": 0.9961705803871155, + "label_id": 2 + }, + "h": 150, + "w": 190, + "x": 75, + "y": 282 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9558308124542236, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9961705803871155, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7392,37 +6779,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7759922400, + "timestamp": 44665952000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.316145658493042, + "y_min": -0.0028254762291908264, + "x_max": 0.3478916883468628, + "y_max": 0.14547988772392273 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9660082459449768, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 63, + "w": 24, + "x": 243, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.11022000014781952, + "y_min": 0.632098376750946, + "x_max": 0.3487919569015503, + "y_max": 0.9972622990608215 + }, + "confidence": 0.9974126219749451, + "label_id": 2 + }, + "h": 158, + "w": 183, + "x": 85, + "y": 273 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9660082459449768, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9974126219749451, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7430,37 +6842,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7799922000, + "timestamp": 44749284000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.32010510563850403, + "y_min": -0.005685113370418549, + "x_max": 0.35274139046669006, + "y_max": 0.14770928025245667 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8981993794441223, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 64, + "w": 25, + "x": 246, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.11684470623731613, + "y_min": 0.6131628751754761, + "x_max": 0.3530047833919525, + "y_max": 0.9939368963241577 + }, + "confidence": 0.9990528225898743, + "label_id": 2 + }, + "h": 164, + "w": 181, + "x": 90, + "y": 265 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8981993794441223, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9990528225898743, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7468,37 +6905,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7839921600, + "timestamp": 44832616000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.32345181703567505, + "y_min": -0.0029996484518051147, + "x_max": 0.35825276374816895, + "y_max": 0.14560502767562866 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.8194749355316162, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 63, + "w": 27, + "x": 248, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.11367812752723694, + "y_min": 0.5902449488639832, + "x_max": 0.3572065234184265, + "y_max": 0.9966704249382019 + }, + "confidence": 0.9964820146560669, + "label_id": 2 + }, + "h": 176, + "w": 187, + "x": 87, + "y": 255 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.8194749355316162, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9964820146560669, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7506,37 +6968,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7879921200, + "timestamp": 44915948000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.3286791741847992, + "y_min": -0.007402099668979645, + "x_max": 0.3615064322948456, + "y_max": 0.14312848448753357 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.6257444024085999, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 62, + "w": 26, + "x": 252, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.11418077349662781, + "y_min": 0.570789098739624, + "x_max": 0.3560735881328583, + "y_max": 0.9964854717254639 + }, + "confidence": 0.9956169128417969, + "label_id": 2 + }, + "h": 183, + "w": 185, + "x": 88, + "y": 247 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.6257444024085999, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9956169128417969, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7544,37 +7031,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7919920800, + "timestamp": 44999280000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.3317735493183136, + "y_min": -0.0060748085379600525, + "x_max": 0.36417290568351746, + "y_max": 0.14243194460868835 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8801973462104797, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 62, + "w": 25, + "x": 255, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.10707895457744598, + "y_min": 0.550262451171875, + "x_max": 0.3620380759239197, + "y_max": 1.0060276985168457 + }, + "confidence": 0.9984036087989807, + "label_id": 2 + }, + "h": 194, + "w": 196, + "x": 82, + "y": 238 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8801973462104797, + "label_id": 1, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9984036087989807, + "label_id": 2, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7582,37 +7094,62 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7959920400, + "timestamp": 45082612000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.3347332775592804, + "y_min": -0.006817735731601715, + "x_max": 0.36854955554008484, + "y_max": 0.13049811124801636 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5752376317977905, + "label_id": 1 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 56, + "w": 26, + "x": 257, + "y": 0 + }, + { + "detection": { + "bounding_box": { + "x_min": 0.1173052042722702, + "y_min": 0.5320181250572205, + "x_max": 0.36141467094421387, + "y_max": 1.003308892250061 + }, + "confidence": 0.9931515455245972, + "label_id": 2 + }, + "h": 202, + "w": 188, + "x": 90, + "y": 230 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5752376317977905, + "label_id": 1, + "layer_name": "detection_out", + "layout": "NCHW", + "model_name": "RMNet_SSD", + "name": "detection", + "precision": "FP32" + }, + { + "confidence": 0.9931515455245972, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7620,37 +7157,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 7999920000, + "timestamp": 45165944000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.11752931028604507, + "y_min": 0.5167419910430908, + "x_max": 0.36498358845710754, + "y_max": 1.0026801824569702 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9842708706855774, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 209, + "w": 190, + "x": 90, + "y": 223 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9842708706855774, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7658,37 +7195,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8039919600, + "timestamp": 45249276000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.11881844699382782, + "y_min": 0.5080917477607727, + "x_max": 0.359694242477417, + "y_max": 1.0054547786712646 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9808247089385986, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 213, + "w": 185, + "x": 91, + "y": 219 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9808247089385986, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7696,37 +7233,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8079919200, + "timestamp": 45332608000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1258331835269928, + "y_min": 0.4862575829029083, + "x_max": 0.35839664936065674, + "y_max": 1.0033698081970215 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9583507776260376, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 222, + "w": 178, + "x": 97, + "y": 210 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9583507776260376, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7734,37 +7271,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8119918800, + "timestamp": 45415940000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.13210563361644745, + "y_min": 0.47293728590011597, + "x_max": 0.36725956201553345, + "y_max": 1.0035967826843262 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9631510376930237, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 228, + "w": 181, + "x": 101, + "y": 204 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9631510376930237, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7772,37 +7309,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8159918400, + "timestamp": 45499272000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.1388271152973175, + "y_min": 0.4516679644584656, + "x_max": 0.37078699469566345, + "y_max": 0.9844309687614441 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9913437366485596, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 230, + "w": 178, + "x": 107, + "y": 195 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9913437366485596, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7810,37 +7347,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8199918000, + "timestamp": 45582604000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1446165144443512, + "y_min": 0.43912655115127563, + "x_max": 0.36464759707450867, + "y_max": 0.9535489678382874 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9956739544868469, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 222, + "w": 169, + "x": 111, + "y": 190 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9956739544868469, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7848,37 +7385,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8239917600, + "timestamp": 45665936000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.15900349617004395, + "y_min": 0.41592368483543396, + "x_max": 0.3655781149864197, + "y_max": 0.9343960285186768 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9988051652908325, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 224, + "w": 159, + "x": 122, + "y": 180 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9988051652908325, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7886,37 +7423,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8279917200, + "timestamp": 45749268000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.16125471889972687, + "y_min": 0.39938512444496155, + "x_max": 0.36593347787857056, + "y_max": 0.9014413356781006 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9996262788772583, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 216, + "w": 157, + "x": 124, + "y": 173 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9996262788772583, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7924,37 +7461,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8319916800, + "timestamp": 45832600000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.17407645285129547, + "y_min": 0.38433194160461426, + "x_max": 0.36556488275527954, + "y_max": 0.8782362937927246 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9997637867927551, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 213, + "w": 147, + "x": 134, + "y": 166 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9997637867927551, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -7962,37 +7499,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8359916400, + "timestamp": 45915932000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.17808517813682556, + "y_min": 0.3662709593772888, + "x_max": 0.36139264702796936, + "y_max": 0.8555702567100525 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9998427629470825, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 212, + "w": 141, + "x": 137, + "y": 158 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9998427629470825, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8000,37 +7537,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8399916000, + "timestamp": 45999264000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1823108047246933, + "y_min": 0.34388411045074463, + "x_max": 0.36295002698898315, + "y_max": 0.8230388164520264 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999207258224487, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 207, + "w": 139, + "x": 140, + "y": 149 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999207258224487, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8038,37 +7575,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8439915600, + "timestamp": 46082596000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.18824753165245056, + "y_min": 0.32287484407424927, + "x_max": 0.36030909419059753, + "y_max": 0.7853133082389832 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999746084213257, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 200, + "w": 132, + "x": 145, + "y": 139 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999746084213257, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8076,37 +7613,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8479915200, + "timestamp": 46165928000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.19106805324554443, + "y_min": 0.3120577931404114, + "x_max": 0.3585693836212158, + "y_max": 0.7668245434761047 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9999792575836182, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 196, + "w": 128, + "x": 147, + "y": 135 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9999792575836182, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8114,37 +7651,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8519914800, + "timestamp": 46249260000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.19487696886062622, + "y_min": 0.2928714156150818, + "x_max": 0.35463863611221313, + "y_max": 0.7392868399620056 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999550580978394, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 192, + "w": 122, + "x": 150, + "y": 127 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999550580978394, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8152,37 +7689,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8559914400, + "timestamp": 46332592000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.19407981634140015, + "y_min": 0.2778220772743225, + "x_max": 0.349772572517395, + "y_max": 0.7182074189186096 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999231100082397, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 190, + "w": 120, + "x": 149, + "y": 120 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999231100082397, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8190,37 +7727,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8599914000, + "timestamp": 46415924000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1996471881866455, + "y_min": 0.2661404609680176, + "x_max": 0.34550178050994873, + "y_max": 0.6879050731658936 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9998117089271545, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 182, + "w": 112, + "x": 153, + "y": 115 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9998117089271545, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8228,37 +7765,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8639913600, + "timestamp": 46499256000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.19898878037929535, + "y_min": 0.25560426712036133, + "x_max": 0.344973623752594, + "y_max": 0.6529581546783447 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999887228012085, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 172, + "w": 112, + "x": 153, + "y": 110 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999887228012085, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8266,37 +7803,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8679913200, + "timestamp": 46582588000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.19431041181087494, + "y_min": 0.24010860919952393, + "x_max": 0.3426505923271179, + "y_max": 0.6370713114738464 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.999858021736145, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 171, + "w": 114, + "x": 149, + "y": 104 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.999858021736145, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8304,37 +7841,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8719912800, + "timestamp": 46665920000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.19016331434249878, + "y_min": 0.22348810732364655, + "x_max": 0.33844250440597534, + "y_max": 0.6314473152160645 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9998179078102112, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 176, + "w": 114, + "x": 146, + "y": 97 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9998179078102112, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8342,37 +7879,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8759912400, + "timestamp": 46749252000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.1869482398033142, + "y_min": 0.2082124948501587, + "x_max": 0.33711379766464233, + "y_max": 0.6009442806243896 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999079704284668, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 170, + "w": 115, + "x": 144, + "y": 90 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999079704284668, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8380,37 +7917,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8799912000, + "timestamp": 46832584000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.17860300838947296, + "y_min": 0.19198086857795715, + "x_max": 0.33069324493408203, + "y_max": 0.5795577764511108 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999840259552002, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 167, + "w": 117, + "x": 137, + "y": 83 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999840259552002, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8418,37 +7955,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8839911600, + "timestamp": 46915916000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.16847428679466248, + "y_min": 0.17181475460529327, + "x_max": 0.33144065737724304, + "y_max": 0.5658245086669922 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9966880679130554, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 170, + "w": 126, + "x": 129, + "y": 74 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9966880679130554, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8456,37 +7993,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8879911200, + "timestamp": 46999248000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.15815109014511108, + "y_min": 0.1630575954914093, + "x_max": 0.33030930161476135, + "y_max": 0.5347641706466675 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999334812164307, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 161, + "w": 133, + "x": 121, + "y": 70 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999334812164307, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8494,37 +8031,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8919910800, + "timestamp": 47082580000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.14546090364456177, + "y_min": 0.1592211127281189, + "x_max": 0.32633206248283386, + "y_max": 0.516521155834198 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999961853027344, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 154, + "w": 139, + "x": 112, + "y": 69 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999961853027344, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8532,37 +8069,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8959910400, + "timestamp": 47165912000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.13375265896320343, + "y_min": 0.15671759843826294, + "x_max": 0.3240237832069397, + "y_max": 0.5026559829711914 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.999997615814209, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 149, + "w": 146, + "x": 103, + "y": 68 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.999997615814209, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8570,37 +8107,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 8999910000, + "timestamp": 47249244000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.12439753860235214, + "y_min": 0.14749115705490112, + "x_max": 0.3173246681690216, + "y_max": 0.48482757806777954 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999957084655762, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 145, + "w": 148, + "x": 96, + "y": 64 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999957084655762, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8608,37 +8145,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9039909600, + "timestamp": 47332576000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.10337574779987335, + "y_min": 0.1447085589170456, + "x_max": 0.31053102016448975, + "y_max": 0.46590709686279297 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999985694885254, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 138, + "w": 159, + "x": 79, + "y": 63 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999985694885254, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8646,37 +8183,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9079909200, + "timestamp": 47415908000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0877276137471199, + "y_min": 0.13578101992607117, + "x_max": 0.3061259686946869, + "y_max": 0.4583093822002411 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999905824661255, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 139, + "w": 168, + "x": 67, + "y": 59 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999905824661255, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8684,37 +8221,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9119908800, + "timestamp": 47499240000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.07414165139198303, + "y_min": 0.13613608479499817, + "x_max": 0.29499655961990356, + "y_max": 0.44501665234565735 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9999843835830688, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 133, + "w": 170, + "x": 57, + "y": 59 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9999843835830688, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8722,37 +8259,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9159908400, + "timestamp": 47582572000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.06372351199388504, + "y_min": 0.13430394232273102, + "x_max": 0.28886139392852783, + "y_max": 0.4283466935157776 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999667406082153, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 127, + "w": 173, + "x": 49, + "y": 58 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999667406082153, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8760,37 +8297,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9199908000, + "timestamp": 47665904000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.04476805776357651, + "y_min": 0.1310632973909378, + "x_max": 0.2812711000442505, + "y_max": 0.41454845666885376 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9999289512634277, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 122, + "w": 182, + "x": 34, + "y": 57 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9999289512634277, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8798,37 +8335,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9239907600, + "timestamp": 47749236000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.031214669346809387, + "y_min": 0.13065342605113983, + "x_max": 0.2697560787200928, + "y_max": 0.40537846088409424 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.999994158744812, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 119, + "w": 183, + "x": 24, + "y": 56 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.999994158744812, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8836,37 +8373,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9279907200, + "timestamp": 47832568000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.01740241050720215, + "y_min": 0.12662234902381897, + "x_max": 0.2577144205570221, + "y_max": 0.3994019329547882 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9999731779098511, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 118, + "w": 185, + "x": 13, + "y": 55 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9999731779098511, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8874,37 +8411,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9319906800, + "timestamp": 47915900000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.004041805863380432, + "y_min": 0.12184710800647736, + "x_max": 0.2474878579378128, + "y_max": 0.39345186948776245 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9996523857116699, + "label_id": 2 }, - "h": 357, - "w": 633, + "h": 117, + "w": 187, "x": 3, - "y": 2 + "y": 53 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9996523857116699, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8912,37 +8449,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9359906400, + "timestamp": 47999232000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.005348794162273407, + "y_min": 0.12305355072021484, + "x_max": 0.23488926887512207, + "y_max": 0.3915954828262329 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9985697269439697, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 116, + "w": 176, + "x": 4, + "y": 53 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9985697269439697, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8950,37 +8487,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9399906000, + "timestamp": 48082564000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0017888173460960388, + "y_min": 0.1247859001159668, + "x_max": 0.2245253622531891, + "y_max": 0.38678228855133057 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9998401403427124, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 113, + "w": 171, + "x": 1, + "y": 54 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9998401403427124, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -8988,37 +8525,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9439905600, + "timestamp": 48165896000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.0016414672136306763, + "y_min": 0.12514449656009674, + "x_max": 0.21423731744289398, + "y_max": 0.3789997100830078 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9995100498199463, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 110, + "w": 164, + "x": 1, + "y": 54 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9995100498199463, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9026,37 +8563,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9479905200, + "timestamp": 48249228000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0010463446378707886, + "y_min": 0.12255397439002991, + "x_max": 0.20339226722717285, + "y_max": 0.37172725796699524 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9997997879981995, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 108, + "w": 155, + "x": 1, + "y": 53 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9997997879981995, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9064,37 +8601,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9519904800, + "timestamp": 48332560000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0009600818157196045, + "y_min": 0.12224481254816055, + "x_max": 0.18527519702911377, + "y_max": 0.3683636486530304 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.9996997117996216, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 106, + "w": 142, + "x": 0, + "y": 53 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.9996997117996216, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9102,37 +8639,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9559904400, + "timestamp": 48415892000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.0024446696043014526, + "y_min": 0.11800922453403473, + "x_max": 0.1734609305858612, + "y_max": 0.36477744579315186 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.994732141494751, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 107, + "w": 133, + "x": 0, + "y": 51 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.994732141494751, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9140,37 +8677,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9599904000, + "timestamp": 48499224000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": -0.0008171945810317993, + "y_min": 0.122039295732975, + "x_max": 0.16088078916072845, + "y_max": 0.36065050959587097 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.9844126105308533, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 103, + "w": 124, + "x": 0, + "y": 53 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.9844126105308533, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9178,37 +8715,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9639903600, + "timestamp": 48582556000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.00014059245586395264, + "y_min": 0.1215287297964096, + "x_max": 0.1478501558303833, + "y_max": 0.3573453426361084 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.944599986076355, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 101, + "w": 114, + "x": 0, + "y": 53 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.944599986076355, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9216,37 +8753,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9679903200, + "timestamp": 48665888000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": -0.00025963038206100464, + "y_min": 0.12402772158384323, + "x_max": 0.13530778884887695, + "y_max": 0.3572295308113098 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.8222958445549011, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 100, + "w": 104, + "x": 0, + "y": 54 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.8222958445549011, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9254,37 +8791,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9719902800, + "timestamp": 48749220000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.004977211356163025, + "y_min": 0.12455517798662186, + "x_max": 0.12559984624385834, + "y_max": 0.35147324204444885 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5192632675170898, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 98, + "w": 92, + "x": 4, + "y": 54 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5192632675170898, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9292,37 +8829,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9759902400, + "timestamp": 48832552000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": 0.0021711327135562897, + "y_min": 0.12542003393173218, + "x_max": 0.11167280375957489, + "y_max": 0.35693034529685974 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.6774740219116211, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 100, + "w": 84, + "x": 2, + "y": 54 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.6774740219116211, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9330,37 +8867,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9799902000, + "timestamp": 48915884000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.003963496536016464, + "y_min": 0.1262444257736206, + "x_max": 0.09858241677284241, + "y_max": 0.3592531383037567 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.7434250712394714, + "label_id": 2 }, - "h": 357, - "w": 633, + "h": 100, + "w": 73, "x": 3, - "y": 2 + "y": 55 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.7434250712394714, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9368,37 +8905,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9839901600, + "timestamp": 48999216000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.0023461058735847473, + "y_min": 0.13048796355724335, + "x_max": 0.08722066134214401, + "y_max": 0.3632868528366089 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.5979925394058228, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 101, + "w": 65, + "x": 2, + "y": 56 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.5979925394058228, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9406,37 +8943,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9879901200, + "timestamp": 49082548000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.005163520574569702, - "y_min": 0.004673361778259277, - "x_max": 0.9937676191329956, - "y_max": 0.9963841438293457 + "x_min": 0.004991490393877029, + "y_min": 0.1470525711774826, + "x_max": 0.0746246874332428, + "y_max": 0.36092686653137207 }, - "confidence": 0.612987756729126, - "label_id": 16 + "confidence": 0.6191385388374329, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 92, + "w": 53, + "x": 4, + "y": 64 } ], "tensors": [ { - "confidence": 0.612987756729126, - "label_id": 16, + "confidence": 0.6191385388374329, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9444,37 +8981,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9919900800, + "timestamp": 49165880000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": -0.006160043179988861, + "y_min": 0.1430838704109192, + "x_max": 0.06290969997644424, + "y_max": 0.34735849499702454 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.680001974105835, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 88, + "w": 48, + "x": 0, + "y": 62 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.680001974105835, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } @@ -9482,37 +9019,37 @@ }, { "resolution": { - "width": 640, - "height": 360 + "width": 768, + "height": 432 }, - "source": "file:///home/video-analytics-serving/samples/pinwheel.ts", + "source": "file:///home/video-analytics-serving/tests/media/person-bicycle-car-detection.mp4", "tags": {}, - "timestamp": 9959900400, + "timestamp": 49249212000, "objects": [ { "detection": { "bounding_box": { - "x_min": 0.0051625072956085205, - "y_min": 0.0046727657318115234, - "x_max": 0.9937688112258911, - "y_max": 0.9963842630386353 + "x_min": -0.0008208621293306351, + "y_min": 0.14316228032112122, + "x_max": 0.049667298793792725, + "y_max": 0.3419255316257477 }, - "confidence": 0.613111674785614, - "label_id": 16 + "confidence": 0.6459780335426331, + "label_id": 2 }, - "h": 357, - "w": 633, - "x": 3, - "y": 2 + "h": 86, + "w": 38, + "x": 0, + "y": 62 } ], "tensors": [ { - "confidence": 0.613111674785614, - "label_id": 16, + "confidence": 0.6459780335426331, + "label_id": 2, "layer_name": "detection_out", "layout": "NCHW", - "model_name": "MobileNet-SSD", + "model_name": "RMNet_SSD", "name": "detection", "precision": "FP32" } From cff8ee66db102f7a528d8f001cf5a7de6eef14f3 Mon Sep 17 00:00:00 2001 From: darrindu Date: Mon, 4 Oct 2021 13:22:37 -0700 Subject: [PATCH 08/41] Updated AVA algorithm test to use numerical tolerance for event count --- samples/ava_ai_extension/tests/test_algorithm.py | 15 +++++++++++++-- .../algorithm/cpu/object_line_crossing_cpu.json | 3 ++- .../cpu/object_line_crossing_no_param_cpu.json | 3 ++- .../algorithm/cpu/object_zone_count_cpu.json | 3 ++- .../cpu/object_zone_count_no_param_cpu.json | 3 ++- .../cpu/object_zone_count_parking_lot_cpu.json | 3 ++- 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/samples/ava_ai_extension/tests/test_algorithm.py b/samples/ava_ai_extension/tests/test_algorithm.py index 3ef479f..f01ccf4 100644 --- a/samples/ava_ai_extension/tests/test_algorithm.py +++ b/samples/ava_ai_extension/tests/test_algorithm.py @@ -46,6 +46,8 @@ def test_algorithm(helpers, test_case, test_filename, generate): output_file = None client_params = test_case["client"]["params"] output_file = client_params["output_location"] + numerical_tolerance = _test_case.get("numerical_tolerance", 0) + if not output_file: workdir_path = tempfile.TemporaryDirectory() output_file = os.path.join(workdir_path.name, "algo.jsonl") @@ -72,5 +74,14 @@ def test_algorithm(helpers, test_case, test_filename, generate): client_params["output_location"] = "" json.dump(test_case, test_output, indent=4) else: - assert event_count == test_case["expected_event_count"], "Incorrect number of events detected" - assert total_count == test_case.get("expected_total_count", 0), "Incorrect total count detected" + expected_event_count = _test_case.get("expected_event_count", 0) + expected_total_count = _test_case.get("expected_total_count", 0) + + if expected_event_count == 0: + assert event_count == expected_event_count, "Incorrect number of events detected" + else: + assert (abs(event_count - expected_event_count) / expected_event_count <= numerical_tolerance), "Incorrect number of events detected" + if expected_total_count == 0: + assert total_count == expected_total_count, "Incorrect total count detected" + else: + assert (abs(total_count - expected_total_count) / expected_total_count <= numerical_tolerance), "Incorrect total count detected" diff --git a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_cpu.json b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_cpu.json index 1ff82c5..4f35351 100644 --- a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_cpu.json +++ b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_cpu.json @@ -66,5 +66,6 @@ }, "expected_return_code": 0, "expected_event_count": 17, - "expected_total_count": 0 + "expected_total_count": 0, + "numerical_tolerance": 0.02 } diff --git a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_no_param_cpu.json b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_no_param_cpu.json index 6d947e9..98b17f2 100644 --- a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_no_param_cpu.json +++ b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_line_crossing_no_param_cpu.json @@ -23,5 +23,6 @@ }, "expected_return_code": 0, "expected_event_count": 0, - "expected_total_count": 0 + "expected_total_count": 0, + "numerical_tolerance": 0.02 } diff --git a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_cpu.json b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_cpu.json index f2912d8..d542397 100644 --- a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_cpu.json +++ b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_cpu.json @@ -90,5 +90,6 @@ }, "expected_return_code": 0, "expected_event_count": 277, - "expected_total_count": 292 + "expected_total_count": 292, + "numerical_tolerance": 0.02 } diff --git a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_no_param_cpu.json b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_no_param_cpu.json index a132dd3..401552f 100644 --- a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_no_param_cpu.json +++ b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_no_param_cpu.json @@ -23,5 +23,6 @@ }, "expected_return_code": 0, "expected_event_count": 0, - "expected_total_count": 0 + "expected_total_count": 0, + "numerical_tolerance": 0.02 } diff --git a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_parking_lot_cpu.json b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_parking_lot_cpu.json index a9c4ce7..44413a3 100644 --- a/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_parking_lot_cpu.json +++ b/samples/ava_ai_extension/tests/test_cases/algorithm/cpu/object_zone_count_parking_lot_cpu.json @@ -49,5 +49,6 @@ }, "expected_return_code": 0, "expected_event_count": 100, - "expected_total_count": 1083 + "expected_total_count": 1083, + "numerical_tolerance": 0.02 } From 3ff3b0f56e4ef55507b5584339356b32aea2d41b Mon Sep 17 00:00:00 2001 From: vidyasiv Date: Wed, 6 Oct 2021 15:54:49 -0700 Subject: [PATCH 09/41] Minor fix to avoid syntax error if /tmp isn't mounted --- vaclient/vaclient.py | 1 + 1 file changed, 1 insertion(+) diff --git a/vaclient/vaclient.py b/vaclient/vaclient.py index 94dea04..a75e6d5 100755 --- a/vaclient/vaclient.py +++ b/vaclient/vaclient.py @@ -212,6 +212,7 @@ def get_pipeline_status(pipeline, instance_id, show_request=False): def launch_results_watcher(request, pipeline, pipeline_instance_id, verbose=True): status = wait_for_pipeline_running(pipeline, pipeline_instance_id) + watcher = None if Pipeline.State[status["state"]] == Pipeline.State.RUNNING: if verbose: print("Pipeline running") From 353ba41246e5fcae0410c127ac281b1fd7fbe1d3 Mon Sep 17 00:00:00 2001 From: darrindu Date: Thu, 7 Oct 2021 13:09:50 -0700 Subject: [PATCH 10/41] Added instructions to extension readmes showing usage --- .../spatial_analytics/object_line_crossing.md | 46 ++++++++++++++++++ .../object_line_crossing_watermark.png | Bin 0 -> 454776 bytes .../spatial_analytics/object_zone_count.md | 42 ++++++++++++++++ .../object_zone_count_watermark.png | Bin 0 -> 321884 bytes 4 files changed, 88 insertions(+) create mode 100644 extensions/spatial_analytics/object_line_crossing_watermark.png create mode 100644 extensions/spatial_analytics/object_zone_count_watermark.png diff --git a/extensions/spatial_analytics/object_line_crossing.md b/extensions/spatial_analytics/object_line_crossing.md index fb5a677..b897c76 100644 --- a/extensions/spatial_analytics/object_line_crossing.md +++ b/extensions/spatial_analytics/object_line_crossing.md @@ -63,3 +63,49 @@ JSON example is shown below ## Line Crossing Algorithm The algorithm to calculate line crossing is based on the following article: https://www.geeksforgeeks.org/check-if-two-given-line-segments-intersect/ + +## Example Run +VA Serving comes with an [example configuration](../../vaclient/parameter_files/object-line-crossing.json) for object-line-crossing + +1. [Build](../../README.md#building-the-microservice) & [Run](../../README.md#running-the-microservice) VA Serving + +2. Run object-line-crossing pipeline with vaclient using example parameter file: + ``` + vaclient/vaclient.sh run object_tracking/object_line_crossing https://github.com/intel-iot-devkit/sample-videos/blob/master/people-detection.mp4?raw=true --parameter-file vaclient/parameter_files/object-line-crossing.json + ``` + You will see events among the detections in vaclient output: + ``` + Timestamp 43916666666 + - person (1.00) [0.38, 0.47, 0.60, 0.91] {'id': 7} + Timestamp 44000000000 + - person (1.00) [0.36, 0.38, 0.58, 0.81] {'id': 7} + Event: event-type: object-line-crossing, line-name: hallway_bottom, related-objects: [0], directions: ['counterclockwise'], clockwise-total: 1, counterclockwise-total: 8, total: 9 + Timestamp 44083333333 + - person (0.92) [0.38, 0.29, 0.58, 0.98] {'id': 7} + Event: event-type: object-line-crossing, line-name: hallway_bottom, related-objects: [0], directions: ['clockwise'], clockwise-total: 2, counterclockwise-total: 8, total: 10 + Timestamp 44166666666 + - person (0.99) [0.38, 0.31, 0.57, 0.98] {'id': 7} + ``` + +## Watermark Example +1. Open the [example configuration](../../vaclient/parameter_files/object-line-crossing.json) and add `enable_watermark` as follows: + ``` + "object-line-crossing-config": { + "lines": [ + + ], + "enable_watermark": true + } + ``` +2. Rebuild and Run VA Serving with additional flag `--enable-rtsp` + ``` + $ ./docker/run.sh -v /tmp:/tmp --enable-rtsp + +3. Run object-line-crossing pipeline with vaclient using example parameter file with additional parameter `rtsp-path`. Note that `rtsp-path` is set to `vaserving`, this path is what will be used to view the rtsp stream: + ``` + vaclient/vaclient.sh run object_tracking/object_line_crossing https://github.com/intel-iot-devkit/sample-videos/blob/master/people-detection.mp4?raw=true --parameter-file vaclient/parameter_files/object-line-crossing.json --rtsp-path vaserving + ``` + +4. Open up a media player with network stream viewing (VLC for example) and connect to `rtsp:://:8554/vaserving`. The stream is real time so you make need to rerun the pipeline request to see the stream. You will see people-detection.mp4 with an overlay of points. Each line x, has a start point (x_Start) and end point (x_End). At the midpoint between start and end, a count displays how many objects have crossed the line. + + ![object_line_crossing_watermark](object_line_crossing_watermark.png) \ No newline at end of file diff --git a/extensions/spatial_analytics/object_line_crossing_watermark.png b/extensions/spatial_analytics/object_line_crossing_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1b5487c3f33822289150b3905d8853477df978 GIT binary patch literal 454776 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