tlc121 / FsFont

Official PaddlePaddle Implementation of Few-Shot Font Generation by Learning Fine-Grained Local Styles (FsFont)
Other
64 stars 8 forks source link

About content font #11

Closed Yaomingshuai closed 1 year ago

Yaomingshuai commented 1 year ago

请问下论文中的content font是采用的什么字体?

tlc121 commented 1 year ago

我们是通过一个轨迹文件画的线图,轨迹文件可以从 https://chanind.github.io/hanzi-writer-data/ 下载。不过您可以随便找一个字体作为content,效果是差不多的。

Yaomingshuai commented 1 year ago

线图

Hi,请问一下Aq 是如何从A 中获得的?

image
tlc121 commented 1 year ago

线图

Hi,请问一下Aq 是如何从A 中获得的? image

A是一个kw乘以khw的矩阵,你可以理解成A有kw个khw维度的向量。Aq就是kw个向量中的其中一个向量。

Yaomingshuai commented 1 year ago

线图

Hi,请问一下Aq 是如何从A 中获得的? image

A是一个kw乘以khw的矩阵,你可以理解成A有kw个khw维度的向量。Aq就是kw个向量中的其中一个向量。

谢谢,这个attention map直接通过Aq矩阵生成的是这样对啊。

image
tlc121 commented 1 year ago

线图

Hi,请问一下Aq 是如何从A 中获得的? image

A是一个kw乘以khw的矩阵,你可以理解成A有kw个khw维度的向量。Aq就是kw个向量中的其中一个向量。

谢谢,这个attention map直接通过Aq矩阵生成的是这样对啊。 image

因为网络的encoder是三次下采样。你可以理解成A矩阵的每一个khw向量是content中一个8x8的小区域的attention响应,你可以把多个8x8小区域所对应的attention响应叠加起来,看到的效果就是论文中的可视化效果了。

Yaomingshuai commented 1 year ago

您好,从代码中来看,A矩阵的维度是[B,n_heads,HW,3HW]->[32,8,1616,316*16]。 我先对n_heads维度进行求和得到[B,HW,3HW],在对HW维度进行求和得到[B,3HW],再reshape到[B,H,3W]。这样是否能生成正确的可视化效果?

tlc121 commented 1 year ago

您好,从代码中来看,A矩阵的维度是[B,n_heads,HW,3HW]->[32,8,16_16,3_16*16]。 我先对n_heads维度进行求和得到[B,HW,3HW],在对HW维度进行求和得到[B,3HW],再reshape到[B,H,3W]。这样是否能生成正确的可视化效果?

您说的reshape方式是对的。但不需要对heads维度求和。论文中的可视化效果是其中的一个head的attention响应,因为有些head的attention作用仅仅是定位,并不是获取图像细粒度特征,所以大多数heads的可视化效果不是论文中展示的那样。你得每个head都去看一遍可视化效果,然后其中有1个head的可视化是比较直观的。

Yaomingshuai commented 1 year ago

图像

image现在根据您的帮助,我利用整张content图来看attention响应,图片从上到下是8个head的attention_map。看起来第三个head的注意力分布比较好,但是生成的效果远差于论文中的效果,不知道是疏忽了哪一步。

tlc121 commented 1 year ago

图像

image现在根据您的帮助,我利用整张content图来看attention响应,图片从上到下是8个head的attention_map。看起来第三个head的注意力分布比较好,但是生成的效果远差于论文中的效果,不知道是疏忽了哪一步。

整张content图的attention肯定不行,因为有很多空白的地方。你最好是按部件去看attention可视化比较好

Yaomingshuai commented 1 year ago

图像

image现在根据您的帮助,我利用整张content图来看attention响应,图片从上到下是8个head的attention_map。看起来第三个head的注意力分布比较好,但是生成的效果远差于论文中的效果,不知道是疏忽了哪一步。

整张content图的attention肯定不行,因为有很多空白的地方。你最好是按部件去看attention可视化比较好

请教一下在论文中,生成attention_map的时候,是如何得到的这个content的部件的,是通过mask吗?

tlc121 commented 1 year ago

图像

image现在根据您的帮助,我利用整张content图来看attention响应,图片从上到下是8个head的attention_map。看起来第三个head的注意力分布比较好,但是生成的效果远差于论文中的效果,不知道是疏忽了哪一步。

整张content图的attention肯定不行,因为有很多空白的地方。你最好是按部件去看attention可视化比较好

请教一下在论文中,生成attention_map的时候,是如何得到的这个content的部件的,是通过mask吗?

从原图把部件的bbox画出来,记录四个点的坐标,然后通过之前说的8x8那个规则推出对应的content feature map的坐标范围。

tlc121 commented 1 year ago

图像

image现在根据您的帮助,我利用整张content图来看attention响应,图片从上到下是8个head的attention_map。看起来第三个head的注意力分布比较好,但是生成的效果远差于论文中的效果,不知道是疏忽了哪一步。

整张content图的attention肯定不行,因为有很多空白的地方。你最好是按部件去看attention可视化比较好

请教一下在论文中,生成attention_map的时候,是如何得到的这个content的部件的,是通过mask吗?

从原图把部件的bbox画出来,记录四个点的坐标,然后通过之前说的8x8那个规则推出对应的content feature map的坐标范围。

8*8是指什么,我看到论文中最后生成的content_feature的维度是[256,16,16]?

你看我之前回复你的消息。。前面已经说了