Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mrtj's full-sized avatar

Janos Tolgyesi mrtj

View GitHub Profile
from yolox_postprocess import demo_postprocess, multiclass_nms
class Application(panoramasdk.node):
# ...
def process_results(self, inference_results, stream, ratio):
media_height, media_width, _ = stream.image.shape
media_scale = np.asarray([media_width, media_height, media_width, media_height])
for output in inference_results:
import cv2
class Application(panoramasdk.node):
# ...
def preprocess(self, img, input_size, swap=(2, 0, 1)):
if len(img.shape) == 3:
padded_img = np.ones((input_size[0], input_size[1], 3), dtype=np.uint8) * 114
else:
@mrtj
mrtj / panorama-create-package.sh
Last active November 26, 2021 22:09
AWS Panorama tutorial
panorama-cli add-panorama-package --type camera --name camera_input
panorama-cli add-panorama-package --type data_sink --name display_output
panorama-cli create-package --type Container --name application_logic
panorama-cli create-package --type Model --name yolox_s
"interfaces": [
{
"name": "interface",
"category": "business_logic",
"asset": "code_asset",
"inputs": [
{
"name": "video_in",
"type": "media"
},
{
"name": "code_node",
"interface": "${AWS_ACCOUNT_ID}::application_logic.interface",
"overridable": false,
"launch": "onAppStart"
}
panorama-cli build-container \
--container-asset-name code \
--package-path packages/${AWS_ACCOUNT_ID}-application_logic-1.0
{
"runtimeDescriptor": {
"envelopeVersion": "2021-01-01",
"entry": {
"path": "python3",
"name": "/panorama/application.py"
}
}
}
def main():
logger = get_logger(level=logging.DEBUG)
try:
logger.info('INITIALIZING APPLICATION')
app = Application(logger)
logger.info('PROCESSING STREAMS')
# video processing loop:
while True:
app.process_streams()
except:
import panoramasdk
import numpy as np
class Application(panoramasdk.node):
def __init__(self, logger):
super().__init__()
self.logger = logger
self.threshold = 0.
self.MODEL_NODE = 'model_node'
self.MODEL_INPUT_NAME = 'images'
import logging
from logging.handlers import RotatingFileHandler
def get_logger(name=__name__, level=logging.INFO):
logger = logging.getLogger(name)
logger.setLevel(level)
handler = RotatingFileHandler(
"/opt/aws/panorama/logs/app.log",
maxBytes=10000000,
backupCount=2