美文网首页
从零单排fastai脚本(3)

从零单排fastai脚本(3)

作者: 深度学习模型优化 | 来源:发表于2019-05-30 09:21 被阅读0次

使用BIWI人脑姿态数据集来回归人脑中心位置。

有请人工智能四大天王。

  • 数据
  • 模型
  • 损失
  • 算法

下面分别介绍fastai解决BIWI的套路。

1 数据

数据集的下载地址BIWI head pose。

当然数据集也可以直接使用python下载

%reload_ext autoreload
%aureload 2
%matplotlib inline

from fastai.visoion import *
path = untar_data(URLs.BIWI_HEAD_POSE)

数据注意坐标变换,rgb.cal中包含中心位置转换的坐标值。
每一个单独的文件夹下独有一个rgb.cal

cal = np.genfromtxt(path/'01'/'rgb.cal', skip_footer=6)

为了由数据集中的姿态数据得到人头的中心位置,脚本做了如下变换

def convert_biwi(coords):
    c1 = coords[0] * cal[0][0]/coords[2] + cal[0][2]
    c2 = coords[1] * cal[1][1]/coords[2] + cal[1][2]
    return tensor([c2,c1])

def get_ctr(f):
    ctr = np.genfromtxt(img2txt_name(f), skip_header=3)
    return convert_biwi(ctr)

def get_ip(img,pts): return ImagePoints(FlowField(img.size, pts), scale=True)

其中get_ctr(f)从图片文件名,得到图片中人脸的中心位置坐标。

数据加载使用PointItemList

data = (PointsItemList.from_folder(path)
        .split_by_valid_func(lambda o: o.parent.name=='13')
        .label_from_func(get_ctr)
        .transform(get_transforms(), tfm_y=True, size=(120,160))
        .databunch().normalize(imagenet_stats)
       )

这里简单分析下上面的数据加载代码。使用了PointsItemList的from_folder来加载数据,直接从文件夹中提取数据。然后将文件夹名为13的文件夹下的数据作为验证集数据。标签使用get_ctr函数来从txt文件中读取人脸中心坐标,数据增强需要设置tfm_y=True,因为原始图像变换了,坐标也要跟这边,不然不在人脸中心位置了。后面的databunch和normalize都是常规操作了。

图1 部分训练数据,注意人脸中心红点

2

图2 识别结果

相关文章

  • 从零单排fastai脚本(3)

    使用BIWI人脑姿态数据集来回归人脑中心位置。 有请人工智能四大天王。 数据 模型 损失 算法 下面分别介绍fas...

  • 从零单排fastai脚本(1)

    1 简单的模拟下线性回归的问题 用这个来展示线性回归的过程。 2 jupyter notebook需要加载的东西 ...

  • 从零单排fastai脚本(2)

    这次看下wgan脚本,这里使用fastai来完成wgan的训练和使用。 老三样,我就不加标题了 1 重要的包 其中...

  • Redis基础

    参考 从零单排学Redis【青铜】 从零单排学Redis【白银】 从零单排学Redis【黄金】 从零单排学Redi...

  • 优秀文章(解决方案)收集

    【参考】Android Dagger2 从零单排(一) 基础注解Android Dagger2 从零单排(二) @...

  • 从零单排

    毕业到现在两年,也有过一份不错的工作。但是作啊,不然怎么变成现在的模样(已经没工作一年)呢!犟亦或是执着,反正就是...

  • 从零单排的this

    说起this,我突然想到一个外国佬学中文的段子:解释文中每个意思的意思: 阿呆送领导红包。领导:你什么意思?阿呆:...

  • RxAndroid从零单排

    最近在学习Android,把每天的学习笔记作为内容发布在简书上 疑问一:什么是RxJava和RxAndroid?答...

  • gradle从零单排

    背景:写了好久的Android代码,对于gradle一直不太理解,今天开始从头学习gradle; 官网地址:htt...

  • Android从零单排——前言

    记得上一次写文,写自由思想的文,还是在高考语文考试的时候叻。所以,难免欠缺文采,口水居多,望见谅。 ...

网友评论

      本文标题:从零单排fastai脚本(3)

      本文链接:https://www.haomeiwen.com/subject/qjmjtctx.html