first commit
This commit is contained in:
commit
f7ef038def
14 files changed
+5558
No files matched your search
+117
@@ -0,0 +1,117 @@
|
||||
# =============================================================================
|
||||
# ZenAI KTC — sack feeder zone counter (ByteTrack + left/right zones)
|
||||
# Shared config for: counter_live_rknn.py + counter_dashboard.py
|
||||
# Copy to .env on device: cp env.example .env && nano .env
|
||||
# =============================================================================
|
||||
|
||||
# --- Core paths ---
|
||||
OUTPUT_DIR=/opt/zenai-ktc-counter
|
||||
DB_PATH=/opt/zenai-ktc-counter/counter.db
|
||||
STATE_FILE=/opt/zenai-ktc-counter/current_counter.json
|
||||
|
||||
# --- Input source ---
|
||||
#SOURCE=rtsp://user:pass@192.168.0.100:554/stream1
|
||||
SOURCE=rtsp://10.38.30.64:8554/my_stream
|
||||
OPENCV_FFMPEG_CAPTURE_OPTIONS=rtsp_transport;tcp|fflags;nobuffer|flags;low_delay
|
||||
|
||||
# --- RKNN model ---
|
||||
MODEL_PATH=/opt/models/zenai_kac_sukawarna_20260716.rknn
|
||||
IMGSZ=320
|
||||
HALF=false
|
||||
CORE_MASK=1
|
||||
DEVICE=0
|
||||
|
||||
# --- YOLO decoder ---
|
||||
NUM_CLASSES=4
|
||||
SCORE_SIGMOID=false
|
||||
|
||||
# --- Detection ---
|
||||
CONF=0.5
|
||||
|
||||
# --- ByteTrack tracking ---
|
||||
TRACK_HIGH_THRESH=0.5
|
||||
TRACK_LOW_THRESH=0.3
|
||||
TRACK_MATCH_THRESH=0.7
|
||||
TRACK_BUFFER=60
|
||||
TRACK_MIN_HITS=3
|
||||
|
||||
# --- Display ---
|
||||
SITE_NAME=ZenAi
|
||||
|
||||
# --- Object class names ---
|
||||
CAMERA_NAME=ZenAi
|
||||
OBJECT_LABEL=karung
|
||||
CLASS_OBJECT=karung
|
||||
OBJECT_CLASS_ID=0
|
||||
|
||||
# --- Feeder zones (left / right) ---
|
||||
# Rectangular zones as fractions of frame width/height.
|
||||
# Absolute pixel overrides: ZONE_LEFT_X1, ZONE_LEFT_Y1, ZONE_LEFT_X2, ZONE_LEFT_Y2
|
||||
# (and the matching ZONE_RIGHT_*). Absolute values win when set.
|
||||
#
|
||||
# A sack is counted once when its centroid ENTERS a zone.
|
||||
# LEFT zone → left feeder
|
||||
# RIGHT zone → right feeder
|
||||
ZONE_LEFT_X1_FRAC=0.02
|
||||
ZONE_LEFT_Y1_FRAC=0.10
|
||||
ZONE_LEFT_X2_FRAC=0.440
|
||||
ZONE_LEFT_Y2_FRAC=1.00
|
||||
|
||||
ZONE_RIGHT_X1_FRAC=0.490
|
||||
ZONE_RIGHT_Y1_FRAC=0.10
|
||||
ZONE_RIGHT_X2_FRAC=0.98
|
||||
ZONE_RIGHT_Y2_FRAC=1.00
|
||||
|
||||
# --- Counting day management ---
|
||||
DAILY_CUTOFF_TIME=17:00
|
||||
CUTOFF_TIME=17:00
|
||||
|
||||
# --- CSV export ---
|
||||
EXPORT_CSV=false
|
||||
CROSS_CSV=/tmp/ktc_crossings.csv
|
||||
|
||||
# --- Rate / performance ---
|
||||
MOTION_DETECTION_ENABLED=true
|
||||
MOTION_THRESHOLD=5.0
|
||||
RATE_WINDOW_SEC=60
|
||||
WARMUP_FRAMES=30
|
||||
RECONNECT_DELAY_SEC=3
|
||||
MAX_RECONNECT_ATTEMPTS=0
|
||||
TRACKED_PRUNE_SEC=300
|
||||
|
||||
# --- ID-switch counting guards ---
|
||||
DEDUP_FRAMES=15
|
||||
DEDUP_PX=60
|
||||
INHERIT_SEC=1.0
|
||||
INHERIT_PX=60
|
||||
|
||||
# --- Feeder cooldown (seconds) ---
|
||||
# After a sack is counted on a feeder, ignore further counts on that same feeder
|
||||
# for this many seconds. 0 = disabled.
|
||||
ZONE_COOLDOWN_LEFT_SEC=15
|
||||
ZONE_COOLDOWN_RIGHT_SEC=15
|
||||
|
||||
# --- Video recording ---
|
||||
RECORD_VIDEO=false
|
||||
VIDEO_SEGMENT_SEC=3600
|
||||
OUTPUT_FPS=15
|
||||
|
||||
# --- Live stream snapshot ---
|
||||
LIVE_STREAM_ENABLED=true
|
||||
LIVE_STREAM_FRAME_PATH=/dev/shm/zenai-ktc-counter/live_frame.jpg
|
||||
LIVE_STREAM_QUALITY=75
|
||||
LIVE_STREAM_EVERY_N=2
|
||||
|
||||
# --- Dashboard ---
|
||||
SECRET_KEY=change-me-in-production
|
||||
DASHBOARD_HOST=0.0.0.0
|
||||
DASHBOARD_PORT=5000
|
||||
FLASK_DEBUG=false
|
||||
CURRENT_COUNTER_PATH=/tmp/ktc_current_counter.json
|
||||
|
||||
SAVE_CROSS_SNAPSHOT=true
|
||||
CROSS_SNAPSHOT_DIR=/opt/zenai-ktc-snaps/snapshots
|
||||
CROSS_SNAPSHOT_CLEANUP_SEC=3600
|
||||
CROSS_SNAPSHOT_MAX_AGE_DAYS=7
|
||||
|
||||
|
||||
Reference in new issue
Block a user