Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyVectorizationWithSAM

多媒體技術概論的final,Group 14

實作方式

  1. 先透過SAM將圖片分塊,在將每一塊個別Vectorization
  2. 用opencv找出輪廓,並將mask中空填充以及進一步切塊
  3. 每一塊初始用一條bezier_curve描述,並計算誤差,將誤差最大的bezier_curve切成兩個bezier_curve,直到設定的數量上限
  4. 最後用mask決定color

如何使用

  1. clone此資料夾
  2. 安裝SAM(Segment Anything Model),並將vit_h的Model Checkpoints放在與程式同目錄下
  3. 安裝opencv、scipy、matplotlib
  4. 修改參數並執行SAMVG-sam_v1.ipynb

pngtosvg setting

  1. run pip install cairosvg
  2. install gtk3-runtime-3.24.31-2022-01-04-ts-win64.exe from https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
  3. add C:\Program Files\GTK3-Runtime Win64\bin to PATH

V2預計優化

  1. 輪廓座標修正0.5 pixel(應該有效)
  2. 計算誤差時改用mask覆蓋誤差,並考慮遮擋(似乎無效)
  3. 不要切中間,多sample一些點或用很粗略的方式找最佳分割點(例如影片壓縮的方法)(效果未知)

V3預計優化

  1. 顏色計算原本用SAM預測的mask,改用SVG優化的mask(非常有效)
  2. 計算誤差時改用mask覆蓋誤差,並考慮遮擋,遮擋不用SAM預測mask而是優化到一半的SVG(似乎無效,而且大圖算太慢)

V4預計優化

  1. 兩線段接點梯度一致,理論上可增加1.5倍線段數(好難放棄)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages