关于landmark坐标归一化的疑问
来源:10-13 人脸关键点数据打包(2)

慕九州7272337
2023-07-11
关于10-13landmark坐标归一化的疑问 write_data_tf.py
sp[1]是w,sp[0]是h,课程中代码没有像下面一样按点(x,y)进行存储,而是[x0,y0,x1,y1…]
im_point.append((landmark[p][0] - x_min) * 1.0 / sp[1],(landmark[p][1] - y_min) * 1.0 / sp[0])
课程中通过下面2行代码计算出来的im_point坐标x,y确实在0,1之间
上面代码已经除以了sp[1]而下面的代码又乘以了sp[1]么,这样写有什么意义
假设p=0,im_point[p*2]=im_point[0]
但是上面代码im_point[0]=(landmark[0][0] - x_min) 1.0/sp[1]
下面绘制代码中
就变成im_point[02] *sp[1]=im_point[0]*sp[1]
而上面m_point[0]=(landmark[0][0] - x_min) 1.0/sp[1]
所以m_point[02] *sp[1]=im_point[0]*sp[1]
= ((landmark[0][0] - x_min) *1.0/sp[1] )*sp[1]
(1/sp[1] )*sp[1] 这不消掉了么,这个值算出来不是0到1之间了,而是0到1之间的值乘以w
如果消掉了下面2行代码
这2行代码直接就写成如下所示:
画图的代码就换成下面的代码,这不是更简洁么?
如果按照课程原代码的意思,换成下面图1中的代码段不是更简洁么?
还是说课程中代码想表达的是下面图2中代码段的意思????
1回答
-
会写代码的好厨师
2023-07-11
绘制图片的时候要用原始坐标,模型训练和传输,比如服务端返回这个数值的时候一般用归一化坐标。这里绘制图的目的应该是为了看一下坐标是否正确,所以,在归一化的基础上又乘了回来。
00
相似问题