Community影像github.com

fluxpediawork/blob-portrait

將任何照片(自拍、人像、產品照)以數千個柔軟色塊重新繪製,透過梯度下降從隨機雜訊訓練而成,輸出畫作、照片與程式碼對比、縮放證明以及從雜訊到圖片的 GIF。

blob-portrait 是什麼?

此技能利用梯度下降優化 2D 高斯模糊色塊來重新繪製照片。它從 1,500 個隨機色塊開始,在每個步驟中渲染它們,並計算與目標照片的誤差(結合 L1 損失和 SSIM 結構相似性),然後使用 Adam 優化器微調每個色塊以減少誤差。新的微小色塊會在誤差最大的區域生成。整個過程不需任何圖像生成模型——圖像是透過學習得到的。支援 CUDA、Apple MPS 和 CPU,提供三種預設模式(快速、預設、完整),以在運算時間與品質之間取得平衡。輸出包括最終渲染圖、比對圖、縮放證明、訓練動畫 GIF 以及完整的色塊資料,方便後續重新渲染或動畫製作。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/fluxpediawork/blob-portrait/tree/HEAD

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Blob 人像:以梯度下降繪製照片

使用 2D 高斯色塊繪製照片。從 1,500 個隨機色塊開始,每個步驟渲染它們,並計算與照片的誤差(L1 + SSIM),然後稍微移動每個色塊以減少誤差(使用 Adam 優化器)。新的微小色塊會在誤差最高的區域生成。沒有使用圖像生成模型:圖像是透過學習得到的。

步驟

  1. 取得照片。使用附加的檔案。注意主體的位置,以便設定 --focus(接受最密集訓練的區域,通常是臉部)。

  2. 安裝。Python 3.10 以上。

    pip install -r requirements.txt   # torch, numpy, pillow
    

    如果 PyTorch 索引被封鎖,直接使用 PyPI 執行 pip install torch 即可。

  3. 根據硬體和可用時間選擇預設:

    預設步驟最大色塊數2 核心 CPUGPU
    quick30015,000~8 分鐘~1 分鐘
    default1,60045,000~35 分鐘~5 分鐘
    full6,000100,000數小時~20-40 分鐘

    若使用 CPU,請在背景執行 default 並監控記錄檔,不要佔用前景。

  4. 執行。

    python scripts/blobfit.py photo.jpg --out result/ --preset default \
        --aspect 4:5 --focus 0.5,0.4,0.45,0.5
    
    • --aspect 以中心為基準裁切為 w:h(none 則保留照片原始比例)。
    • --focus cx,cy,w,h 參數範圍為 0-1,相對於裁切後的圖像。對於居中自拍,0.5,0.4,0.45,0.5 涵蓋臉部區域。
    • --steps / --blobs 可覆蓋預設值。
    • 裝置會自動選擇:CUDA、Apple MPS,最後是 CPU。
  5. 交付前檢查結果。打開 compare.jpg 和 zoom.jpg 仔細檢視。stats.json 包含 PSNR:約 28-30 dB 是柔和相似度(快速模式),38 dB 以上在正常尺寸下幾乎難以分辨。如果臉部太模糊,請以更多步驟重新執行,或將 --focus 移到臉部。

  6. 交付。提供 compare.jpg、render.png 和 training.gif。說明色塊數量與步驟、PSNR 值,並強調這是訓練結果,非生成結果。

輸出檔案

檔案說明
render.png完整擬合尺寸的色塊畫作
compare.jpg真實照片與程式碼版本的並排比較
zoom.jpg眼部附近的放大證明
training.gif從雜訊到圖片的動畫,每個里程碑一幀
blobs.npz每個色塊的資料:位置、縮放、角度、顏色、強度(供重新渲染或動畫使用)
stats.json步驟、色塊數量、PSNR、耗時秒數、使用裝置

誠實的限制

  • 它只能複製一張照片。無法創造新的視角或新的臉孔。
  • 品質取決於步驟數量:短時間的 CPU 執行會較為模糊;細膩的皮膚紋理需要使用 full 預設。
  • 背景顏色取自照片邊緣,因此色塊只需繪製與背景不同的部分。

相關技能