jim800121chen 9793a2efc1 chore(local-tool): models.json 只保留有實體 .nef 的 7 個預設模型
使用者要求:前端模型庫只保留有適配裝置的模型(KL520 4 個 + KL720 3 個)。

原本 models.json 有 15 筆:
  - 8 筆 ONNX framework 的 demo 模型(yolov5-face-detection /
    imagenet-classification / person-detection / vehicle-classification /
    hand-gesture-recognition / coco-object-detection / face-mask-detection /
    license-plate-detection)— 都沒有實體 .nef 檔,是 placeholder metadata
  - 7 筆 NEF framework 的實體模型(每個都有 filePath 指向 data/nef/)

現在只保留 7 筆實體模型:
  KL520(4 個):
    - kl520-yolov5-detection (yolov5 no-upsample 640x640)
    - kl520-fcos-detection (fcos-drk53s 512x512)
    - kl520-ssd-face-detection (ssd_fd_lm 320x240)
    - kl520-tiny-yolov3 (tiny_yolo_v3 416x416)
  KL720(3 個):
    - kl720-yolov5-detection (yolov5 no-upsample 640x640)
    - kl720-resnet18-classification (resnet18 224x224)
    - kl720-fcos-detection (fcos-drk53s 512x512)

server/data/models.json 是 runtime 讀取,三平台(macOS/Windows/Linux)
共用同一份,改一次三平台全部生效。

驗證:
- python3 json.load 解析正常,7 筆 entries
- 每筆 filePath 指向的 .nef 實體檔都存在於 server/data/nef/{kl520,kl720}/
- 檔案大小:1-13 MB,合計 ~64 MB
- macOS dmg 重 build 163MB OK
- Bundle 內 Contents/Resources/data/models.json 更新為 7 筆

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 08:44:16 +08:00

164 lines
6.3 KiB
JSON

[
{
"id": "kl520-yolov5-detection",
"name": "YOLOv5 Detection (KL520)",
"description": "YOLOv5 object detection model compiled for Kneron KL520. No upsample variant optimized for NPU inference at 640x640 resolution.",
"thumbnail": "/images/models/yolov5-det.png",
"taskType": "object_detection",
"categories": ["general", "multi-object"],
"framework": "NEF",
"inputSize": {"width": 640, "height": 640},
"modelSize": 7200000,
"quantization": "INT8",
"accuracy": 0.80,
"latencyMs": 50,
"fps": 20,
"supportedHardware": ["KL520"],
"labels": ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light"],
"filePath": "data/nef/kl520/kl520_20005_yolov5-noupsample_w640h640.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
},
{
"id": "kl520-fcos-detection",
"name": "FCOS Detection (KL520)",
"description": "FCOS (Fully Convolutional One-Stage) object detection with DarkNet53s backbone, compiled for KL520. Anchor-free detection at 512x512.",
"thumbnail": "/images/models/fcos-det.png",
"taskType": "object_detection",
"categories": ["general", "multi-object"],
"framework": "NEF",
"inputSize": {"width": 512, "height": 512},
"modelSize": 8900000,
"quantization": "INT8",
"accuracy": 0.78,
"latencyMs": 45,
"fps": 22,
"supportedHardware": ["KL520"],
"labels": ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light"],
"filePath": "data/nef/kl520/kl520_20004_fcos-drk53s_w512h512.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
},
{
"id": "kl520-ssd-face-detection",
"name": "SSD Face Detection (KL520)",
"description": "SSD-based face detection with landmark localization, compiled for KL520. Lightweight model suitable for face detection and alignment tasks.",
"thumbnail": "/images/models/ssd-face.png",
"taskType": "object_detection",
"categories": ["face", "security"],
"framework": "NEF",
"inputSize": {"width": 320, "height": 240},
"modelSize": 1000000,
"quantization": "INT8",
"accuracy": 0.85,
"latencyMs": 10,
"fps": 100,
"supportedHardware": ["KL520"],
"labels": ["face"],
"filePath": "data/nef/kl520/kl520_ssd_fd_lm.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
},
{
"id": "kl520-tiny-yolov3",
"name": "Tiny YOLOv3 (KL520)",
"description": "Tiny YOLOv3 object detection model compiled for KL520. Compact and fast model for general-purpose multi-object detection on edge devices.",
"thumbnail": "/images/models/tiny-yolov3.png",
"taskType": "object_detection",
"categories": ["general", "multi-object"],
"framework": "NEF",
"inputSize": {"width": 416, "height": 416},
"modelSize": 9400000,
"quantization": "INT8",
"accuracy": 0.75,
"latencyMs": 35,
"fps": 28,
"supportedHardware": ["KL520"],
"labels": ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light"],
"filePath": "data/nef/kl520/kl520_tiny_yolo_v3.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
},
{
"id": "kl720-yolov5-detection",
"name": "YOLOv5 Detection (KL720)",
"description": "YOLOv5 object detection model compiled for Kneron KL720. No upsample variant optimized for KL720 NPU inference at 640x640 resolution with USB 3.0 throughput.",
"thumbnail": "/images/models/yolov5-det.png",
"taskType": "object_detection",
"categories": ["general", "multi-object"],
"framework": "NEF",
"inputSize": {"width": 640, "height": 640},
"modelSize": 10168348,
"quantization": "INT8",
"accuracy": 0.82,
"latencyMs": 30,
"fps": 33,
"supportedHardware": ["KL720"],
"labels": ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light"],
"filePath": "data/nef/kl720/kl720_20005_yolov5-noupsample_w640h640.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
},
{
"id": "kl720-resnet18-classification",
"name": "ImageNet Classification ResNet18 (KL720)",
"description": "ResNet18-based image classification compiled for KL720. Supports 1000 ImageNet categories with fast inference via USB 3.0.",
"thumbnail": "/images/models/imagenet-cls.png",
"taskType": "classification",
"categories": ["general", "image-classification"],
"framework": "NEF",
"inputSize": {"width": 224, "height": 224},
"modelSize": 12826804,
"quantization": "INT8",
"accuracy": 0.78,
"latencyMs": 10,
"fps": 100,
"supportedHardware": ["KL720"],
"labels": ["airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"],
"filePath": "data/nef/kl720/kl720_20001_resnet18_w224h224.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "MIT",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
},
{
"id": "kl720-fcos-detection",
"name": "FCOS Detection (KL720)",
"description": "FCOS (Fully Convolutional One-Stage) object detection with DarkNet53s backbone, compiled for KL720. Anchor-free detection at 512x512.",
"thumbnail": "/images/models/fcos-det.png",
"taskType": "object_detection",
"categories": ["general", "multi-object"],
"framework": "NEF",
"inputSize": {"width": 512, "height": 512},
"modelSize": 13004640,
"quantization": "INT8",
"accuracy": 0.80,
"latencyMs": 30,
"fps": 33,
"supportedHardware": ["KL720"],
"labels": ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light"],
"filePath": "data/nef/kl720/kl720_20004_fcos-drk53s_w512h512.nef",
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}
]