关于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[0
2] *sp[1]=im_point[0]*sp[1]
而上面m_point[0]=(landmark[0][0] - x_min) 1.0/sp[1]
所以m_point[0
2] *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

绘制图片的时候要用原始坐标,模型训练和传输,比如服务端返回这个数值的时候一般用归一化坐标。这里绘制图的目的应该是为了看一下坐标是否正确,所以,在归一化的基础上又乘了回来。

0
0

Python3+TensorFlow打造人脸识别智能小程序

理论与实战项目双管齐下,让AI技术真正落地应用,适合毕设展示。

1086 学习 · 538 问题

查看课程