From 2a40e3d9ab92a55d524f9ae8071e5abdd80568a6 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Thu, 25 Sep 2025 07:19:32 -0600 Subject: [PATCH] Cleanup --- frigate/track/norfair_tracker.py | 3 +- frigate/track/stationary_classifier.py | 6 +- notebooks/YOLO_NAS_Pretrained_Export.ipynb | 171 +++++++++++---------- 3 files changed, 89 insertions(+), 91 deletions(-) diff --git a/frigate/track/norfair_tracker.py b/frigate/track/norfair_tracker.py index 84dc71453..9cddb17ed 100644 --- a/frigate/track/norfair_tracker.py +++ b/frigate/track/norfair_tracker.py @@ -5,7 +5,6 @@ from typing import Any, Sequence, cast import cv2 import numpy as np -from frigate.track.stationary_classifier import StationaryMotionClassifier from norfair.drawing.draw_boxes import draw_boxes from norfair.drawing.drawer import Drawable, Drawer from norfair.filter import OptimizedKalmanFilterFactory @@ -13,12 +12,12 @@ from norfair.tracker import Detection, TrackedObject, Tracker from rich import print from rich.console import Console from rich.table import Table -from scipy.ndimage import gaussian_filter from frigate.camera import PTZMetrics from frigate.config import CameraConfig from frigate.ptz.autotrack import PtzMotionEstimator from frigate.track import ObjectTracker +from frigate.track.stationary_classifier import StationaryMotionClassifier from frigate.util.image import ( SharedMemoryFrameManager, get_histogram, diff --git a/frigate/track/stationary_classifier.py b/frigate/track/stationary_classifier.py index 2cd8a50a2..45e51b839 100644 --- a/frigate/track/stationary_classifier.py +++ b/frigate/track/stationary_classifier.py @@ -80,7 +80,7 @@ class StationaryMotionClassifier: y1, x2, y2, - crop.shape if 'crop' in locals() else None, + crop.shape if "crop" in locals() else None, ) return result @@ -115,9 +115,7 @@ class StationaryMotionClassifier: """ if id not in self.anchor_crops or id not in self.anchor_boxes: - logger.debug( - "evaluate: id=%s has no anchor; default keep stationary", id - ) + logger.debug("evaluate: id=%s has no anchor; default keep stationary", id) return True # Compare same spatial region across frames diff --git a/notebooks/YOLO_NAS_Pretrained_Export.ipynb b/notebooks/YOLO_NAS_Pretrained_Export.ipynb index e9ee22314..30184e380 100644 --- a/notebooks/YOLO_NAS_Pretrained_Export.ipynb +++ b/notebooks/YOLO_NAS_Pretrained_Export.ipynb @@ -1,88 +1,89 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "rmuF9iKWTbdk" - }, - "outputs": [], - "source": [ - "! pip install -q git+https://github.com/Deci-AI/super-gradients.git" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "NiRCt917KKcL" - }, - "outputs": [], - "source": [ - "! sed -i 's/sghub.deci.ai/sg-hub-nv.s3.amazonaws.com/' /usr/local/lib/python3.12/dist-packages/super_gradients/training/pretrained_models.py\n", - "! sed -i 's/sghub.deci.ai/sg-hub-nv.s3.amazonaws.com/' /usr/local/lib/python3.12/dist-packages/super_gradients/training/utils/checkpoint_utils.py" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "dTB0jy_NNSFz" - }, - "outputs": [], - "source": [ - "from super_gradients.common.object_names import Models\n", - "from super_gradients.conversion import DetectionOutputFormatMode\n", - "from super_gradients.training import models\n", - "\n", - "model = models.get(Models.YOLO_NAS_S, pretrained_weights=\"coco\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "GymUghyCNXem" - }, - "outputs": [], - "source": [ - "# export the model for compatibility with Frigate\n", - "\n", - "model.export(\"yolo_nas_s.onnx\",\n", - " output_predictions_format=DetectionOutputFormatMode.FLAT_FORMAT,\n", - " max_predictions_per_image=20,\n", - " num_pre_nms_predictions=300,\n", - " confidence_threshold=0.4,\n", - " input_image_shape=(320,320),\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "uBhXV5g4Nh42" - }, - "outputs": [], - "source": [ - "from google.colab import files\n", - "\n", - "files.download('yolo_nas_s.onnx')" - ] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "rmuF9iKWTbdk" + }, + "outputs": [], + "source": [ + "! pip install -q git+https://github.com/Deci-AI/super-gradients.git" + ] }, - "nbformat": 4, - "nbformat_minor": 0 + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "NiRCt917KKcL" + }, + "outputs": [], + "source": [ + "! sed -i 's/sghub.deci.ai/sg-hub-nv.s3.amazonaws.com/' /usr/local/lib/python3.12/dist-packages/super_gradients/training/pretrained_models.py\n", + "! sed -i 's/sghub.deci.ai/sg-hub-nv.s3.amazonaws.com/' /usr/local/lib/python3.12/dist-packages/super_gradients/training/utils/checkpoint_utils.py" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "dTB0jy_NNSFz" + }, + "outputs": [], + "source": [ + "from super_gradients.common.object_names import Models\n", + "from super_gradients.conversion import DetectionOutputFormatMode\n", + "from super_gradients.training import models\n", + "\n", + "model = models.get(Models.YOLO_NAS_S, pretrained_weights=\"coco\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "GymUghyCNXem" + }, + "outputs": [], + "source": [ + "# export the model for compatibility with Frigate\n", + "\n", + "model.export(\n", + " \"yolo_nas_s.onnx\",\n", + " output_predictions_format=DetectionOutputFormatMode.FLAT_FORMAT,\n", + " max_predictions_per_image=20,\n", + " num_pre_nms_predictions=300,\n", + " confidence_threshold=0.4,\n", + " input_image_shape=(320, 320),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "uBhXV5g4Nh42" + }, + "outputs": [], + "source": [ + "from google.colab import files\n", + "\n", + "files.download(\"yolo_nas_s.onnx\")" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 }