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>
This commit is contained in:
jim800121chen 2026-04-16 08:44:16 +08:00
parent ad9beab0ca
commit 9793a2efc1

View File

@ -1,181 +1,4 @@
[
{
"id": "yolov5-face-detection",
"name": "YOLOv5 Face Detection",
"description": "Real-time face detection model based on YOLOv5 architecture, optimized for edge deployment on Kneron KL720. Detects faces with high accuracy in various lighting conditions.",
"thumbnail": "/images/models/yolov5-face.png",
"taskType": "object_detection",
"categories": ["face", "security", "people"],
"framework": "ONNX",
"inputSize": {"width": 640, "height": 640},
"modelSize": 14200000,
"quantization": "INT8",
"accuracy": 0.92,
"latencyMs": 33,
"fps": 30,
"supportedHardware": ["KL720", "KL730"],
"labels": ["face"],
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-15T00:00:00Z",
"updatedAt": "2024-06-01T00:00:00Z"
},
{
"id": "imagenet-classification",
"name": "ImageNet Classification (ResNet18)",
"description": "ResNet18-based image classification model trained on ImageNet. Supports 1000 object categories with efficient inference on KL520 edge devices.",
"thumbnail": "/images/models/imagenet-cls.png",
"taskType": "classification",
"categories": ["general", "image-classification"],
"framework": "ONNX",
"inputSize": {"width": 224, "height": 224},
"modelSize": 12000000,
"quantization": "INT8",
"accuracy": 0.78,
"latencyMs": 15,
"fps": 60,
"supportedHardware": ["KL520", "KL720", "KL730"],
"labels": ["airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"],
"filePath": "data/nef/kl520/kl520_20001_resnet18_w224h224.nef",
"version": "2.1.0",
"author": "Kneron",
"license": "MIT",
"createdAt": "2024-02-10T00:00:00Z",
"updatedAt": "2024-07-15T00:00:00Z"
},
{
"id": "person-detection",
"name": "Person Detection",
"description": "Lightweight person detection model optimized for real-time surveillance and people counting. Low latency with high accuracy on person class.",
"thumbnail": "/images/models/person-det.png",
"taskType": "object_detection",
"categories": ["people", "security", "surveillance"],
"framework": "ONNX",
"inputSize": {"width": 416, "height": 416},
"modelSize": 11800000,
"quantization": "INT8",
"accuracy": 0.89,
"latencyMs": 28,
"fps": 35,
"supportedHardware": ["KL720", "KL730"],
"labels": ["person"],
"version": "1.2.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-03-01T00:00:00Z",
"updatedAt": "2024-08-01T00:00:00Z"
},
{
"id": "vehicle-classification",
"name": "Vehicle Classification",
"description": "Vehicle type classification model that identifies cars, trucks, buses, motorcycles, and bicycles. Ideal for traffic monitoring and smart parking.",
"thumbnail": "/images/models/vehicle-cls.png",
"taskType": "classification",
"categories": ["vehicle", "traffic", "transportation"],
"framework": "ONNX",
"inputSize": {"width": 224, "height": 224},
"modelSize": 6200000,
"quantization": "INT8",
"accuracy": 0.85,
"latencyMs": 12,
"fps": 75,
"supportedHardware": ["KL520", "KL720", "KL730"],
"labels": ["car", "truck", "bus", "motorcycle", "bicycle"],
"version": "1.0.0",
"author": "Kneron",
"license": "MIT",
"createdAt": "2024-03-20T00:00:00Z",
"updatedAt": "2024-05-10T00:00:00Z"
},
{
"id": "hand-gesture-recognition",
"name": "Hand Gesture Recognition",
"description": "Recognizes 10 common hand gestures in real-time. Suitable for touchless interfaces and gesture-based control systems.",
"thumbnail": "/images/models/hand-gesture.png",
"taskType": "classification",
"categories": ["gesture", "hand", "interaction"],
"framework": "ONNX",
"inputSize": {"width": 224, "height": 224},
"modelSize": 5800000,
"quantization": "INT8",
"accuracy": 0.88,
"latencyMs": 18,
"fps": 50,
"supportedHardware": ["KL520", "KL720"],
"labels": ["thumbs_up", "thumbs_down", "open_palm", "fist", "peace", "ok", "pointing", "wave", "grab", "pinch"],
"version": "1.1.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-04-05T00:00:00Z",
"updatedAt": "2024-09-01T00:00:00Z"
},
{
"id": "coco-object-detection",
"name": "COCO Object Detection",
"description": "General-purpose object detection model trained on COCO dataset. Detects 80 common object categories including people, animals, vehicles, and household items.",
"thumbnail": "/images/models/coco-det.png",
"taskType": "object_detection",
"categories": ["general", "multi-object", "coco"],
"framework": "ONNX",
"inputSize": {"width": 640, "height": 640},
"modelSize": 23500000,
"quantization": "INT8",
"accuracy": 0.82,
"latencyMs": 45,
"fps": 22,
"supportedHardware": ["KL720", "KL730"],
"labels": ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow"],
"version": "3.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-10-01T00:00:00Z"
},
{
"id": "face-mask-detection",
"name": "Face Mask Detection",
"description": "Detects whether a person is wearing a face mask, wearing it incorrectly, or not wearing one. Built for health compliance monitoring.",
"thumbnail": "/images/models/face-mask.png",
"taskType": "object_detection",
"categories": ["face", "health", "safety"],
"framework": "ONNX",
"inputSize": {"width": 320, "height": 320},
"modelSize": 9800000,
"quantization": "INT8",
"accuracy": 0.91,
"latencyMs": 22,
"fps": 45,
"supportedHardware": ["KL720", "KL730"],
"labels": ["mask_on", "mask_off", "mask_incorrect"],
"version": "1.3.0",
"author": "Kneron",
"license": "MIT",
"createdAt": "2024-02-28T00:00:00Z",
"updatedAt": "2024-07-20T00:00:00Z"
},
{
"id": "license-plate-detection",
"name": "License Plate Detection",
"description": "Detects and localizes license plates in images and video streams. Optimized for various plate formats and viewing angles.",
"thumbnail": "/images/models/license-plate.png",
"taskType": "object_detection",
"categories": ["vehicle", "traffic", "ocr"],
"framework": "ONNX",
"inputSize": {"width": 416, "height": 416},
"modelSize": 12400000,
"quantization": "INT8",
"accuracy": 0.87,
"latencyMs": 30,
"fps": 33,
"supportedHardware": ["KL720", "KL730"],
"labels": ["license_plate"],
"version": "1.0.0",
"author": "Kneron",
"license": "Apache-2.0",
"createdAt": "2024-05-15T00:00:00Z",
"updatedAt": "2024-08-30T00:00:00Z"
},
{
"id": "kl520-yolov5-detection",
"name": "YOLOv5 Detection (KL520)",