【天池比赛服装关键点检测fashionAI_landmark_detect踩坑笔记(一)】

原有思路:利用已有的在ImageNet数据集上分类效果好的网络为基础,对服装图像数据集进行特征提取,然后进行回归,分别得到需要定位的关键点。
注意:由于convNet越往深层提取的特征越是高层特征,视野更广,而相对一些边缘信息等浅层特征会被忽略,因此在用VGG16进行回归时NE效果是28%,比较差。
改进点:
(1)可以通过减少网络的层数来看关键点检测的准确率

(2)可以把 每层学习到的权重通过热力图进行可视化,通过不同准确率结果的对比从而观察检测关键点更关注的是图像的哪些特征。

(3)在训练时可以从后往前冻结预训练权重参数或者都不进行冻结,对比实验效果;可以对图像进行随机旋转,对数据集进行裁剪(去均值与归一化预处理可以考虑看对实验的效果)

(4)对图像进行尺寸缩放时怎样解决标签关键点的对应变换?
对关键点进行比例变化,把坐标转换为相对原点的比例值,比如图像大小为200*200,关键点标签为(100,100),则可以转换为(0.5,0.5),这样对图片进行缩放与旋转时,对应的关键点都不需要进行变换了,当结果预测出来后,再转换回去即可, 我觉得这个是我走过的一大弯路,非常重要!因为对数据集的旋转与裁剪对训练结果的提升有很大帮助。

(5) 加入heatmap的思路:可以把标签关键点映射成一张服从高斯分布的二维曲面图。这样可以减少误差。因为这样从网络回归出来的不是一个个点,而是一张张二维曲面图,这样与标签的生成的二维曲面图进行误差比较,设计出一个lossFunction,进行学习迭代,以减少误差。这样一来把一个点的误差映射成一个平面的误差来学习,显然会提高准确率。(对loss Function需要进一步设计与研究)
(6)正如前面所说,卷积神经网络学习的特征没有层次信息,不注重图像的关联结构,而服装关键点之间的关联性与相对地理位置比较强,因此可以改用近期机器学习领域的大神提出的胶囊网络(capsuleNet)来进行特征提取,从而提高关键点检测的准确率。
编程时需要注意的:在定义已有网络时,对输入的shape需要定义,不然会报错。。。

猜你喜欢

转载自blog.csdn.net/m0_37922734/article/details/80259679
今日推荐