Skip to content

Optimize & Reduce: A Top-Down Approach for Image Vectorization

Hirschorn O, Jevnisek A, Avidan S. Optimize & Reduce: A Top-Down Approach for Image Vectorization[C]//Proceedings of the Thirty-Eighth AAAI Conference on Artificial Intelligence (AAAI-24). 2024: 2148-2156.

损失函数

交点损失

对于线段 ABCD

orientation(P1,P2,P3)=tanh((P2yP1y)(P3xP2x)(P2xP1x)(P3yP2y))o1=orientation(A,B,C)o2=orientation(A,B,D)o3=orientation(C,D,A)o4=orientation(C,D,B)o5=orientation(B,C,D)intersect(AB,CD)=(o1o2)(o3o4)orient(AB,CD)=o1o5

相交判断(intersect):

  • (o1o2):点 C 和 D 在线段 AB 两侧
  • (o3o4):点 A 和 B 在线段 CD 两侧

方向关系(orient):

  • 正值 → 同向旋转
  • 负值 → 反向旋转
  • 零 → 至少三点共线

如果两条曲线段相交,则应鼓励它们之间的夹角尽量要小;如果不相交,则 应增大它们之间的夹角:

θ=atan2(cross(AB,CD),dot(AB,CD))Lintersect = intersect (λgeometric_punish1)cos(θ)

角度损失

角度损失用来鼓励生成的 Bézier 曲线的连接部分保持良好的角度关系:

Langle =Relu(ABBC|AB||BC|)+Relu(BCCD|BC||CD|)

通过惩罚相邻线段形成的钝角(>90°),迫使模型学习形成直角或锐角(≤90°)的几何结构