返回作品列表
AI 工具 · 桌面應用 · 個人獨立開發

CelFlow

AI 輔助 2D 動畫中割工具

讓動畫師專注在最關鍵的畫格,把繁瑣重複的中割工作交給 AI——而且,主導權始終在人的手上。

類型
桌面應用程式
平台
Windows 10 / 11
前端 / 後端
C# .NET 10 WPF · Python 3.14 FastAPI
核心理念
Human-in-the-loop
目標使用者
個人動畫師 · 小型工作室
CelFlow 主工作介面
為什麼做這個

把勞力交給 AI,把藝術決策留給人

傳統手繪 2D 動畫裡,「中割」是最耗時、最重複,也最容易消磨創作熱情的環節。一個動作往往需要動畫師手動補上大量過渡畫格。

近年的 AI 影格插值技術理論上能自動生成中割,但對動畫師來說有個致命問題:純自動化會奪走「意圖」的控制權。動作的快慢節奏、誇張與收斂、骨架的走向,這些都是動畫師的表演語言,不該交給黑箱決定。

CelFlow 想回答的問題是:能不能讓 AI 承擔勞力,又把每一個藝術決策的最終決定權留給人?
專案概述

雙進程架構,CLI 與 GUI 平行客戶端

工作流:匯入原畫(PNG / PSD / 影片抽幀)→ AI 生成中間張 → 人工檢視修正 → 回饋自動學習 → 匯出 PNG 序列 / GIF / MP4。

整體採 C# WPF 前端 + Python FastAPI 後端雙進程架構,透過 HTTP REST(同步操作)與 WebSocket(推論 / 訓練進度推播)在本機 127.0.0.1:8765 通訊。前端啟動時自動偵測並拉起後端,前端結束時自動終止後端進程。CLI 與 GUI 被設計成後端的「平行客戶端」,彼此獨立而不互相依賴。

後端 · 四引擎 + 智能派工

針對不同動作與線稿,四個互補的推論引擎

引擎原理適用場景
RIFE v4.26 光流插幀(PyTorch, IFNet_HDv3) 平滑連續的小動作補幀,全彩/線稿通用,速度最快;支援 t 外推做 overshoot。
TPS 骨架偵測 + Thin Plate Spline 網格變形(scipy RBF) 人物中割,支援部位鎖定與人工骨架編輯。
AnimeInbet 線稿幾何化為頂點+邊圖,GNN 圖融合(ICCV 2023) 乾淨線稿的中割,每段產 1 張置中中割。
Hybrid AnimeInbet 基線 + 雙側 TPS warp 補位 + sanity guard 大動作線稿中割(核心複合引擎)。

骨架偵測支援三種後端(MediaPipe / RTMPose / DWPose,17 或 33 點 COCO),模型尺寸 s/m/l 可選。

1

AutoRouter 自動派工

純 CPU 邏輯、可獨立測試的決策核心:素材判定(依 dark_ratio、飽和度、線稿乾淨度分類)→ 動作粗估(前景 bbox 位移,小走 RIFE、中走 TPS/AnimeInbet、大走 Hybrid)→ 輸出 DispatchPlan(含引擎選擇、拆段計畫、線稿增強旗標與推薦理由)。/infer/plan 端點可只預覽派工計畫不送推論,動畫師確認後才提交——一鍵智慧調度負責省事,「進階面板」永遠保留完整手動控制。

2

API 一覽

/infer/*(start、range、plan、cancel、status、detect_skeleton)· /models/*(列出 / 切換 / 載入)· /finetune/*/auto_finetune/*(完整 CRUD、delta 匯入匯出)· /video/*(順序解碼、正確處理 VFR)· /psd/* · /export/*(MP4 / GIF 合成)· /ws/{session_id}(progress / complete / error / finetune_progress 推播)· /health。測試位於 backend/tests/(pytest)。

AI 個人化 · 自動微調閉環

整個過程不打斷工作流

1

隱式回饋收集

動畫師「鎖定 AI 原版(pos)/ 鎖定編輯版(pos_edited)/ 刪除(neg)」的行為被記錄為訓練訊號(feedback.jsonl,按引擎分桶),鎖定視為認可、刪除視為否決

2

自動排程與資源讓步

累積 ≥20 筆回饋且距上次 ≥6 小時,於閒置時自動觸發訓練(≥50 筆走緊急路徑);動畫師一開始推論,訓練立即讓出 GPU——見於 ai/finetune_scheduler.py

3

Delta 增量訓練,不堆疊

三元組(A, GT, B),Charbonnier loss + 負樣本 hinge loss;每次都從基底模型重新以 delta 增量訓練——不堆疊,避免個人化讓品質悄悄退步。

4

多層驗收 Gate

首次微調走 implicit gate(直接套用,監控刪除率);後續走 validation gate(holdout 考古題池,相對改善 ≥5% 才通過)。三層 delta 持久化:pending.delta(驗收中)→ active.delta(生效)→ previous.delta(rollback 用),刪除率突增自動回滾。

前端 · WPF 動畫工作站

動畫師的控制權,落實到每一層

TimelineView / VM多軌時間軸、FPS、曝光格、多選框選、音軌波形(NAudio)與對齊。
CanvasView / VM畫布繪圖(筆刷 / 圖層)、洋蔥皮疊加、縮放平移、骨架編輯模式。
AiPanelView / VMAI 中割面板:推論會話、引擎 / 模型選擇、骨架偵測與編輯、中割風格曲線。
匯入匯出影片抽幀匯入對話框、MP4 / GIF 匯出、批次匯出視窗。
微調管理模型切換、微調清單管理、個人化參數與排程狀態。
1

骨架關鍵點鎖定 + 手動編輯

六組可勾選的部位 + A/B 錨點,在畫布上以骨架疊圖即時呈現,動畫師可逐點開關;TPS 引擎依鎖定點保持該部位不變形。動畫師也可直接在畫布拖拉骨架節點,引擎跳過自動偵測改用人工座標。

2

中割風格系統

Smooth / Exaggerated / Mechanical / 自訂 Bezier 曲線(BezierEditorView)直接對應動畫表演的不同節奏,轉為自訂 t_values 送後端。

3

Quick Flip · 模擬手翻紙檢查動作

按住 F 鍵 ±2 格鐘擺播放,模擬動畫師手翻紙檢查動作。

4

DrawingId 中心的儲存

LayerStore(各圖層像素,真相源)+ FrameStore(合成快取)分離;一張圖可曝光多格,以 DrawingId 而非格號識別。

5

.celf 專案格式 + 自動存檔

ZIP 容器內含 project.json、圖層 PNG、音軌、可選微調 delta.pt(載入時有 Zip Slip 防護)。操作計數 + 閒置計時雙觸發、雙緩衝(autosave.celf + .bak)、CrashRecoveryDialog。

使用者資料集中於 %LOCALAPPDATA%\CelFlow\(projects、autosave、feedback、finetunes、logs)。

CLI · 打包 · 研究區

從實驗到交付的完整鏈路

CLI(cli/celflow_cli.py):interpolate(中割生成)· batch(批次處理)· export(匯出影片)· frames / info / validate(幀操作、專案資訊、檔案驗證)· serve(啟動後端)。tools/批次匯出.bat 讓非工程使用者拖曳 .celf 檔即完成「中割 + 匯出 MP4」

打包發佈(dist/):自含式安裝——內嵌完整 Python 3.14 環境 + 全部套件 + 模型檔,使用者免裝任何依賴;以 Inno Setup(CelFlow.iss)產生 CelFlow_Setup_1.0.1.exe。一鍵改版 rebuild.bat:dotnet publish → 複製後端 / CLI → ISCC 編譯(約 20 分鐘)。

研究區 hybrid_p0/:產品背後的實驗與訓練場。deepsketch/(SIGGRAPH 2024 深度學習線稿向量化)· animeinbet/(ICCV 2023 線稿中割論文實作與再訓練,產品用的 Hybrid 權重即出自這裡)· ml240_data/(MixamoLine240 訓練資料集)+ p1/p2_pipeline/(處理管線)。各實驗有獨立 venv,與產品環境隔離。

設計與工程上的取捨

最花心思的不是接模型,而是這幾個架構決策

引擎分離,而非單一引擎加開關

不同引擎對線稿乾淨度的需求是相反的,硬塞進同一個引擎用旗標切換,只會埋下難解的耦合。

兩層調度分得很清楚

粗粒度的「該用哪個引擎」(L1,AutoRouter)與細粒度的「引擎內部該用哪個 backend / 尺寸」(L2)是兩件事,刻意不混為一談。

一鍵介面藏的是工程決策,不是工作流

把使用者不該煩惱的引擎選擇收起來,但動畫師真正該擁有的創作控制權一個都不能少——收進「進階」摺疊區,需要時隨手展開。

自動微調採三層 delta 與驗證閘門

每次都從基底模型重新訓練(不堆疊),通過驗證才切換,確保個人化不會讓品質悄悄退步。

技術棧總覽

前後端分離的具體組成

前端C# .NET 10(WPF)· CommunityToolkit.Mvvm · DI(Microsoft.Extensions)· NAudio · NLog
後端Python 3.14 · FastAPI · uvicorn · PyTorch(CUDA)· ONNX Runtime · OpenCV
AI 引擎RIFE v4.26(光流)· TPS(骨架變形)· AnimeInbet(GNN)· Hybrid(複合)
骨架偵測MediaPipe · RTMPose · DWPose
檔案格式自訂 .celf 格式(以 ZIP 為基礎)
發佈Inno Setup + 內嵌 Python(自含環境)· 一鍵 rebuild.bat
未來展望

把工具帶到動畫師真正在用的裝置上

CelFlow 2.0 跨平台

規劃以 Avalonia UI + SkiaSharp 重構視圖層,讓核心邏輯延伸到 iPad / Android,把這套工具帶到動畫師真正在用的手繪裝置上。

Hybrid 引擎的進階微調

核心 Hybrid 引擎已整合上線並通過測試,後續的 AnimeInbet 微調則刻意延後——等累積足夠的真實使用數據、確認確有需求後再決定啟動,避免為了做而做。

下載 · Download
CelFlow 安裝程式

Windows 安裝檔(Inno Setup)。由於整合了完整的 AI 推論環境(PyTorch / CUDA / 全套模型),安裝檔較大,下載前請確認網路與磁碟空間。

CelFlow_Setup_1.0.1.exe · 約 2.0 GB · 即將提供
此安裝程式未經數位簽章,下載與安裝時 Windows SmartScreen 可能顯示「未知發行者」警告,點選「仍要執行」即可繼續。這是所有未簽章應用程式的常態,並非程式異常。