docs: add KNEO-Academy vs Edge AI Platform comparison report

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
jim800121chen 2026-04-10 01:20:00 +08:00
parent 1a08a2599a
commit c9d56a62e2

View File

@ -0,0 +1,370 @@
# 專案比較報告KNEO-Academy vs Edge AI Platform
> **產出日期**2026-04-08
> **比較對象**
> - **KNEO-Academy**`~/KNEO-Academy`)— Innovedus AI PlaygroundWindows 桌面應用
> - **Edge AI Platform**`~/Innovedus/edge-ai-platform/`)— 邊緣 AI 開發平台Web 服務
> **目的**:釐清兩個功能相似專案之間的差異,作為後續策略決策的依據
---
## 摘要TL;DR
兩個專案都是 Kneron NPU 的 AI 推論解決方案,但**定位完全不同**
- **KNEO-Academy****「Kneron 官方體驗 App」**Python + PyQt5 桌面程式,訴求零程式碼、插電即用,主要用於銷售 Demo 和客戶 PoC。
- **Edge AI Platform****「開發者完整工具平台」**Go + Next.js Web 架構,訴求跨平台、可遠端、可叢集、可雲部署,主要給開發者和研究人員使用。
兩者功能重疊度約 60%,但各自有明顯獨有的能力,可以互相借鏡或在策略上做區隔/合併。
---
## 一、定位與目標市場
| 維度 | KNEO-Academy | Edge AI Platform |
|------|--------------|------------------|
| **產品類型** | Windows 桌面應用程式(.exe | Web 平台(可安裝為本機服務) |
| **目標場景** | 客戶 PoC、銷售 Demo、零程式碼體驗 | 開發者/研究者的完整工作台 |
| **目標用戶** | 非技術人員、業務、客戶 | 工程師、AI 研究者、運維人員 |
| **互動模式** | PyQt5 原生桌面 GUI | 瀏覽器 Web UI |
| **使用門檻** | 雙擊 exe 即用 | 安裝後透過瀏覽器存取 |
| **授權控制** | Server 登入 + Dongle 授權(設計中) | 無(開源風格) |
| **商業模式** | 授權制(可能與硬體銷售綁定) | 待定 |
**一句話總結**KNEO-Academy 像是 **「Kneron 官方體驗展示 App」**Edge AI Platform 則是 **「開發者的完整工具平台」**。
---
## 二、技術堆疊對照
| 維度 | KNEO-Academy | Edge AI Platform |
|------|--------------|------------------|
| **主要語言** | Python 3.12(單一) | Go 1.26 + TypeScript/React |
| **UI 框架** | PyQt5桌面原生 | Next.js 16 + React 19 + shadcn/ui + TailwindCSS 4 |
| **架構模式** | MVC + Service Layer | 前後端分離REST + WebSocket |
| **程序間通訊** | Qt Signal/Slot單一程序內 | HTTP API + WebSocket跨程序 |
| **硬體介面** | KneronPLUS Python SDK 直接呼叫 | Go → Python JSON-RPC Bridge |
| **打包工具** | PyInstaller + PyArmor 加密 | GoReleaser 跨平台 + Wails GUI 安裝程式 |
| **平台支援** | **僅 Windows** | **macOS / Windows / Linux 三平台** |
| **程式規模** | 數十個 Python 檔 + uxui 資源 | 118 個 TS/TSX + 7,333 行 Go |
| **資料儲存** | `%LOCALAPPDATA%/Kneron_Academy/` | 記憶體為主(無持久化資料庫) |
| **AI 相關依賴** | TF、PyTorch、Keras、ONNX、OpenCV、librosa | FFmpeg、yt-dlp、KneronPLUS精簡 |
---
## 三、功能對照表Feature by Feature
> 標示說明:✅ 完整支援 ⚠️ 部分支援 / 設計中 ❌ 不支援 🆕 此項為該專案獨有
### 3.1 設備管理
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| USB 掃描 | ✅ | ✅ |
| 設備連線 / 斷線 | ✅ | ✅ |
| 韌體上傳 / 更新 | ✅ | ✅ |
| KL520 支援 | ✅ | ✅ |
| KL720 支援 | ✅ | ✅ |
| KL730 支援 | ⚠️ 僅 enum | ✅ |
| 設備驅動自動安裝 | ⚠️ 設計中 | ✅ WinUSB 自動安裝UAC 提權) |
| 設備事件即時串流 | ❌PyQt signal 內部) | ✅ WebSocket |
### 3.2 推論能力
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| 單圖推論 | ✅ | ✅ |
| 攝影機即時推論 | ✅ | ✅ |
| **批次圖像推論** | ❌ | ✅ 🆕 |
| **影片檔逐幀推論** | ❌ | ✅ 🆕 |
| **YouTube / URL 串流推論** | ❌ | ✅ 🆕 |
| **多設備叢集推論** | ❌ | ⚠️ 未完成(後端有 Weighted RR 派發骨架,但未接通輸入源;前端 workspace 缺攝影機/媒體介面;實測有多項問題) |
| 自訂模型上傳 (.nef) | ✅ | ✅ |
| YOLO 後處理 | ✅ | ✅ |
| 自訂 class labels | ✅ | ✅ |
### 3.3 模型管理
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| 內建模型庫 | ✅JSON plugin 系統) | ✅10+ 模型) |
| 模型過濾 / 分類 | ⚠️ | ✅ |
| 模型上傳 | ✅ | ✅ |
| 設備相容性宣告 | ✅(每個模型宣告支援哪些晶片) | ✅ |
| **動態 script 載入** | ✅ 🆕plugin 架構) | ❌ |
### 3.4 媒體與錄製
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| **螢幕截圖** | ✅ 🆕 | ❌ |
| **視訊錄影AVI / XVID** | ✅ 🆕 | ❌ |
| **音訊錄音** | ✅ 🆕 | ❌ |
| FFmpeg 串流 | ❌ | ✅ 🆕 |
| MJPEG 串流 | ❌ | ✅ 🆕 |
| 圖片上傳 | ✅ | ✅ |
| 影片上傳 | ⚠️ 基礎架構 | ✅ |
### 3.5 使用者系統與存取控制
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| **登入認證(帳密)** | ✅ 🆕 Server 驗證 | ❌ |
| **存取控制分級** | ✅ 🆕 Utilities 需登入 | ❌ |
| **Dongle 授權驗證** | ⚠️ 設計中 🆕 | ❌ |
| **購買模型下載** | ⚠️ Mock 資料 🆕 | ❌ |
### 3.6 系統與運維
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| 健康檢查 API | ❌ | ✅ 🆕 |
| 自動更新機制 | ❌ | ✅ 🆕 |
| 依賴檢查 | ❌ | ✅ 🆕 |
| 即時日誌串流 | ❌ | ✅ 🆕 |
| **遠端存取(中繼隧道)** | ❌ | ✅ 🆕 |
| Nginx 反向代理 | ❌ | ✅ 🆕 |
| **Docker 部署** | ❌ | ✅ 🆕 |
| **Kubernetes / 雲部署腳本** | ❌ | ✅ 🆕AWS S3/CloudFront/EC2 |
| GitHub Actions CI/CD | ❌ | ✅ 🆕 |
### 3.7 使用者體驗
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| 導覽教學 | ❌ | ✅ 🆕driver.js |
| **模擬模式(無硬體)** | ❌ | ✅ 🆕 |
| Dark Mode | ✅(#143058 主題) | ✅ |
| 響應式排版 | ✅Qt auto-layout | ✅Web responsive |
| 多語系支援 | ⚠️(語言選項有) | ⚠️ |
### 3.8 效能優化
| 功能 | KNEO-Academy | Edge AI Platform |
|------|:---:|:---:|
| **MSE 靜態幀跳過** | ✅ 🆕(相似畫面不重複推論) | ❌(待確認) |
| Frame Queuemax 5 | ✅ | ⚠️ |
| 最小推論間隔控制 | ✅ 🆕(預設 2s | ⚠️ |
| 非阻塞工作執行緒 | ✅QThread | ✅Go goroutine |
---
## 四、架構哲學對比
### 4.1 KNEO-Academy單體桌面應用
```
┌─────────────────────────────────────────────┐
│ PyQt5 Main Event Loop │
│ ┌───────────┐ ┌───────────────────────┐ │
│ │ Views │──│ Controllers │ │
│ │ (Windows) │ │ (Device/Inference/..) │ │
│ └───────────┘ └───────────┬───────────┘ │
│ │ │
│ ┌──────────────┐ ┌────────▼───────────┐ │
│ │ Workers │ │ Services │ │
│ │ (VideoThread │ │ (Device/File/...) │ │
│ │ InferWork) │ └────────┬───────────┘ │
│ └──────────────┘ │ │
│ ▼ │
│ KneronPLUS Python SDK │
│ │ │
│ ▼ │
│ USB Device │
└─────────────────────────────────────────────┘
單一 Python 程序 / Qt Signal 通訊
```
**優點**
- 啟動快速
- 安裝包單一 EXE
- Qt Signal/Slot 即時性高
- UI 層與業務層耦合少MVC
**缺點**
- **只能 Windows**
- 不能遠端存取
- 不易擴展為多機/叢集
- Python GIL 對高並發有限制
---
### 4.2 Edge AI Platform前後端分離 + 本機服務
```
┌──────────────────────────────────────────────────────┐
│ Browser Client │
│ Next.js 16 + React 19 SPA │
└────────────────────┬─────────────────────────────────┘
│ HTTP / WebSocket
┌──────────────────────────────────────────────────────┐
│ Go Server (Gin + gorilla/ws) │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ REST API │ │ WebSocket │ │ Embedded │ │
│ │ Handlers │ │ Handlers │ │ Frontend │ │
│ └──────┬─────┘ └──────┬─────┘ └────────────┘ │
│ │ │ │
│ ┌──────▼───────────────▼──────────────┐ │
│ │ Internal Packages │ │
│ │ device / cluster / inference / │ │
│ │ camera / model / flash / tunnel │ │
│ └──────────────────┬───────────────────┘ │
│ │ JSON-RPC over stdin/stdout │
│ ▼ │
│ Python Bridge (venv) │
│ │ │
│ ▼ │
│ USB Device │
└──────────────────────────────────────────────────────┘
```
**優點**
- **跨三平台**macOS/Windows/Linux
- 可遠端存取tunnel/nginx
- 可叢集(多設備並行推論)
- 可雲部署Docker/AWS
- 可觀測性強(健康檢查/日誌/指標)
- 前後端可獨立演進
**缺點**
- 架構較複雜
- 啟動稍慢(多層初始化)
- 多一層跨程序通訊Go↔Python
- 需要管理前後端雙技術棧
---
## 五、獨有功能清單
### 5.1 KNEO-Academy 有而 Edge AI Platform 沒有
1. **視訊錄影功能** — 可把推論結果的影像串流錄成 AVI 檔XVID codec
2. **音訊錄音** — 同步錄製麥克風音訊
3. **螢幕截圖** — 一鍵儲存當前推論畫面為 PNG/JPG
4. **使用者登入系統** — Server 驗證帳密
5. **Dongle 授權機制** — 商業授權流程(設計中)
6. **購買模型下載** — 從 Server 下載已購買的商業模型Mock
7. **MSE 幀變化偵測優化** — 靜態畫面自動跳過推論,省運算資源
8. **零程式碼體驗導向 UI** — 介面設計更貼近非技術用戶
9. **PyArmor 程式碼加密** — 保護商業邏輯,防止反編譯
10. **Dynamic Script Plugin 系統** — 透過 JSON config + Python script 擴充模型,無需改程式
### 5.2 Edge AI Platform 有而 KNEO-Academy 沒有
1. **叢集推論** — ⚠️ 未完成。後端有 Weighted Round-Robin 派發器骨架dispatcher + pipeline但未接通攝影機/媒體輸入源;前端 workspace 只有文字結果和效能面板缺少攝影機畫面、媒體選擇、bounding box 視覺化;實測有多項問題待修
2. **批次圖像推論** — 多圖順序處理
3. **影片檔逐幀推論** — 完整影片處理流程
4. **YouTube / URL 串流推論** — 遠端媒體來源
5. **Web UI** — 跨平台、可遠端存取、瀏覽器即用
6. **遠端中繼隧道Tunnel** — 可穿透 NAT 遠端存取
7. **Nginx 反向代理** — 生產級部署
8. **Docker 容器化部署** — 雲端部署支援
9. **自動更新系統** — 線上升級
10. **健康檢查 / 依賴檢查 / 指標** — 完整可觀測性
11. **即時日誌串流** — WebSocket 推送日誌
12. **跨三平台安裝程式** — macOS / Windows / Linux 都有 GUI 安裝程式
13. **模擬模式Mock** — 無硬體也能開發測試
14. **導覽教學** — driver.js 新手引導
15. **GoReleaser CI/CD** — 自動化發布流程
16. **叢集韌體刷寫** — 一次刷多台設備
---
## 六、重疊功能分析
兩者**共同擁有**的核心能力(約 40% 的功能重疊):
| 功能 | 說明 |
|------|------|
| USB 設備掃描與連線 | 兩邊都支援自動偵測 Kneron USB dongle |
| 韌體上傳更新 | 兩邊都能上傳 fw_scpu.bin + fw_ncpu.bin |
| KL520 / KL720 | 兩邊都完整支援 |
| 單圖推論 | 上傳一張圖執行推論 |
| 即時攝影機推論 | OpenCV / FFmpeg 擷取即時畫面 |
| 自訂 .nef 模型上傳 | 支援使用者自備模型 |
| YOLO 後處理 + NMS | 物件偵測結果解析 |
| 自訂 class labels | 非 COCO 類別支援 |
| Bounding box 視覺化 | 結果疊加到畫面上 |
---
## 七、策略建議
以下是幾個值得思考的方向:
### 方向 A**差異化共存**(維持兩個獨立產品)
- **KNEO-Academy** 定位為「**體驗展示 / 銷售 Demo 工具**」,強化錄影/錄音/截圖、授權驗證、零程式碼體驗
- **Edge AI Platform** 定位為「**開發者平台 / 生產部署工具**」,強化叢集、遠端、可觀測性、跨平台
- 優點:各司其職,目標客群清楚
- 缺點:兩邊都要維護,資源分散
### 方向 B**功能互補合併**(以 Edge AI Platform 為主)
將 KNEO-Academy 的獨有功能移植到 Edge AI Platform
1. **優先**:錄影 / 錄音 / 截圖(補齊媒體輸出,技術難度低)
2. **中期**MSE 幀變化偵測優化(提升效能,實作簡單)
3. **長期**:使用者系統 + Dongle 授權(商業化需要)
優點:集中資源、統一產品、同時具備兩邊優勢
缺點Web UI 的桌面原生體驗不如 PyQt5
### 方向 C**分層架構**Edge AI Platform 為引擎KNEO-Academy 為前端)
- Edge AI Platform 當作推論引擎 / 後端服務
- KNEO-Academy 改為呼叫 Edge AI Platform 的 API取代 KneronPLUS 直接呼叫)
- 兩邊共用底層設備管理、模型管理、推論邏輯
- 優點:程式碼重用最大化
- 缺點:改造成本高,需要重構 KNEO-Academy 的 controller 層
---
## 八、快速獲益的移植清單
如果決定把 KNEO-Academy 的功能移植到 Edge AI Platform按 ROI 排序:
| 優先 | 功能 | 難度 | 價值 | 說明 |
|:----:|------|:----:|:----:|------|
| 🔥 P0 | 錄影功能 | 低 | 高 | 前端用 MediaRecorder API 或後端 FFmpeg 錄製 MJPEG stream |
| 🔥 P0 | 螢幕截圖 | 極低 | 高 | 前端直接 canvas.toBlob() 就能實現 |
| 🔥 P0 | MSE 幀優化 | 低 | 中 | 在推論 pipeline 加入 frame diff 檢測 |
| ⭐ P1 | 音訊錄製 | 中 | 中 | 需要新增音訊 pipeline |
| ⭐ P1 | Plugin Script 系統 | 中 | 中 | 讓使用者上傳推論 script不只是 .nef |
| 💤 P2 | 登入認證 | 高 | 高 | 需要 Server + JWT + RBAC 完整規劃 |
| 💤 P2 | Dongle 授權 | 高 | 高 | 商業化時再做 |
---
## 九、未決問題(待使用者決策)
1. ❓ 兩個專案要共存、合併、還是分層?
2. ❓ KNEO-Academy 是否已有客戶在使用?(影響改動的包袱)
3. ❓ 是否要把錄影 / 截圖等功能優先移植到 Edge AI Platform
4. ❓ 商業授權機制是否是下一階段重點?
5. ❓ 產品對外名稱要統一嗎Innovedus AI Playground vs Edge AI Platform
---
## 附錄:檔案位置參考
### KNEO-Academy 關鍵檔案
- 入口:`~/KNEO-Academy/main.py`
- 設備控制:`~/KNEO-Academy/src/controllers/device_controller.py`
- 推論控制:`~/KNEO-Academy/src/controllers/inference_controller.py`
- 媒體控制:`~/KNEO-Academy/src/controllers/media_controller.py`(含錄影/錄音)
- 主視窗:`~/KNEO-Academy/src/views/mainWindows.py`
- 流程圖:`~/KNEO-Academy/flowchart.md`
- PRD`~/KNEO-Academy/.autoflow/02-prd/PRD.md`
### Edge AI Platform 關鍵檔案
- 前端:`~/Innovedus/edge-ai-platform/edge-ai-platform/frontend/`
- 後端:`~/Innovedus/edge-ai-platform/edge-ai-platform/server/`
- 安裝程式:`~/Innovedus/edge-ai-platform/edge-ai-platform/installer/`
- PRD v3.4`~/Innovedus/edge-ai-platform/edge-ai-platform/docs/PRD-Integrated.md`
- TDD v2.3`~/Innovedus/edge-ai-platform/edge-ai-platform/docs/TDD.md`
---
*報告產出Autoflow Orchestrator*
*最後更新2026-04-08*