请问给的标注文件的points的生成方式和代码里训练阶段的生成方式(relative_x,relative_y)一样吗?
Opened this issue · 6 comments
Flyooofly commented
请问给的标注文件的points的生成方式和代码里训练阶段的生成方式(relative_x,relative_y)一样吗?
mayorx commented
Hi, Flyooofly,
感谢您对PointDETR的关注, 抱歉回复的有些晚。
如我们在文章中所说的:
如果有seg mask的物体, 是从mask里随机选一个点作为标注; 对于没有mask的物体, 则是bounding box中随机选一个点作为标注。
代码大意如下:
def draw_mask(seg, wh):
rles = mask_utils.frPyObjects(seg, wh, wh)
rle = mask_utils.merge(rles)
mask = mask_utils.decode(rle)
return mask
....
seg = annos[i]['segmentation']
box = annos[i]['bbox']
wh = int(max(box[0]+box[2], box[1]+box[3]))+1
mask = draw_mask(seg, wh)
points = np.where(mask==1)
points = np.stack((points[1], points[0]))
points = points.transpose()
if len(points) == 0: # too small objects
random_point = np.array([box[0] + box[2] * np.random.rand(), box[1] + box[3] * np.random.rand()])
else:
random_point = points[np.random.randint(0, len(points))]
希望能帮到您
Flyooofly commented
非常感谢您的回复,还有两个小疑问请教下您。1.我看给的标注文件中是十个points,但是好像只用到了第一个,然后这10个的生成方式也都是您刚刚说的这种方式吗 2.我看代码部分在训练阶段points是采用uniform的方式生成,然后在验证阶段是采用标注文件中的标注,不太理解为啥不是训练和验证阶段都用标注文件里的呢,您当初为啥这样设计呢 麻烦您啦,谢谢~
训练时候
验证时候
…------------------ 原始邮件 ------------------
发件人: "mayorx/PointDETR" ***@***.***>;
发送时间: 2022年10月10日(星期一) 上午10:54
***@***.***>;
***@***.******@***.***>;
主题: Re: [mayorx/PointDETR] 请问给的标注文件的points的生成方式和代码里训练阶段的生成方式(relative_x,relative_y)一样吗? (Issue #4)
Hi, Flyooofly,
感谢您对PointDETR的关注, 抱歉回复的有些晚。
如我们在文章中所说的:
如果有seg mask的物体, 是从mask里随机选一个点作为标注; 对于没有mask的物体, 则是bounding box中随机选一个点作为标注。
代码大意如下:
def draw_mask(seg, wh): rles = mask_utils.frPyObjects(seg, wh, wh) rle = mask_utils.merge(rles) mask = mask_utils.decode(rle) return mask .... seg = annos[i]['segmentation'] box = annos[i]['bbox'] wh = int(max(box[0]+box[2], box[1]+box[3]))+1 mask = draw_mask(seg, wh) points = np.where(mask==1) points = np.stack((points[1], points[0])) points = points.transpose() if len(points) == 0: # too small objects random_point = np.array([box[0] + box[2] * np.random.rand(), box[1] + box[3] * np.random.rand()]) else: random_point = points[np.random.randint(0, len(points))]
希望能帮到您
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
mayorx commented
-
十个点的生成方式是都是这种方式。之所以生成十个点是为了多次实验取平均, 实际一次实验的整个过程中只会用到十个点中的一个。
-
我们假设标注人员只标注了一个点。 如果在训练阶段也仅使用标注文件中的点, 则训练时数据量非常少, 可能会影响性能。
Flyooofly commented
好的感谢
…---原始邮件---
发件人: ***@***.***>
发送时间: 2022年10月10日(周一) 中午11:55
收件人: ***@***.***>;
抄送: ***@***.******@***.***>;
主题: Re: [mayorx/PointDETR] 请问给的标注文件的points的生成方式和代码里训练阶段的生成方式(relative_x,relative_y)一样吗? (Issue #4)
十个点的生成方式是都是这种方式。之所以生成十个点是为了多次实验取平均, 实际一次实验的整个过程中只会用到十个点中的一个。
我们假设标注人员只标注了一个点。 如果在训练阶段也仅使用标注文件中的点, 则训练时数据量非常少, 可能会影响性能。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
Flyooofly commented
- 十个点的生成方式是都是这种方式。之所以生成十个点是为了多次实验取平均, 实际一次实验的整个过程中只会用到十个点中的一个。
- 我们假设标注人员只标注了一个点。 如果在训练阶段也仅使用标注文件中的点, 则训练时数据量非常少, 可能会影响性能。
您好,再打扰您一下。我阅读了论文的实验部分,发现对于FCOS and Faster R-CNN作为教师模型时为了适配点标注方式,对模型做了一些修改。虽然在论文中也阐释了修改的思路,但还是想问下可以开源这部分的实验代码吗,小白改代码不太会改/(ㄒoㄒ)/~~,谢谢。
gnftau commented
- 十个点的生成方式是都是这种方式。之所以生成十个点是为了多次实验取平均, 实际一次实验的整个过程中只会用到十个点中的一个。
- 我们假设标注人员只标注了一个点。 如果在训练阶段也仅使用标注文件中的点, 则训练时数据量非常少, 可能会影响性能。
您好,再打扰您一下。我阅读了论文的实验部分,发现对于FCOS and Faster R-CNN作为教师模型时为了适配点标注方式,对模型做了一些修改。虽然在论文中也阐释了修改的思路,但还是想问下可以开源这部分的实验代码吗,小白改代码不太会改/(ㄒoㄒ)/~~,谢谢。
您好,我最近也在做point的工作,您还在做这方面的工作吗?可以的话能跟您请教一下嘛?