今天将分享kaggle系列挑战赛之手骨骨龄预测的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、比赛介绍
(1)、在 RSNA 2017 上,该比赛是为了从孩子的手的 X 光片中正确识别孩子的年龄。
(2)、训练数据一共有12611例原始数据和标注数据可以在官网上下载获取到,测试数据一共有200例原始数据但是没有标注数据,可以点击原文链接进行下载。
二、技术路线
1、加载csv文件,读取X光手骨图像和骨龄数值。
2、由于原始数据大小不一样,这里对图像做统一大小设置,由于训练的显卡是1080ti的11G显存的,所以首先将训练原始图像进行图像大小缩放到固定大小,具体是256x256,如果你的显卡显存足够大的话,可以将该大小改的大一点,如果显存小的话,可以将该大小改小一点。
3、为了增加模型鲁棒性,还增加了数据增强的处理过程,采用旋转,平移,翻转等方法对图像进行扩充处理,这里扩充了2倍。
4、对所有训练图像的预处理还需要做归一化操作,图像归一化,用均值是0和方差是1的方式进行归一化。
4、对所有训练数据的骨龄数值进行均值和标准差计算,然后对每一个骨龄数值减去均值再除以标准差,并保存成训练文件。
5、网络采用的是VGG16网络结构,损失函数是MSE,精度函数是MAE,学习率是0.001,droupout是0.5,epoch是10,batchsize是64。
6、训练结果
损失函数结果:
精度函数结果:
7、在验证数据上进行预测并与真实结果进行对比
为了方便大家更高效地学习,后期会将相关项目代码更新到github上,点击原文链接即可访问官方比赛网址,可以直接下载训练和测试数据。
如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。