您的位置:网站首页 > 电脑技巧 > 正文

CV 新手避坑指南:计算机视觉常见的8个错误

类别:电脑技巧 日期:2019-10-24 7:05:05 人气: 来源:

  它们的数据看起来像一对图像和一系列关键点元组,例如 [(0,1),(2,2)],其中每个关键点是一对 x 和 y 坐标。

  我们已经通过可视化检测到这个问题,但是,使用 x=0 点的单元测试也会有帮助。一个有趣的事实是:我们团队三个人(包括我自己)各自地犯了几乎相同的错误。

  这意味着增强实际上改变了语义:left 变为 right,right 变为 left,金字旁的女孩名字但是我们不交换数组中的 keypoints 索引。它会给训练带来巨大的噪音和更糟糕的指标。

  熟悉语义分割问题的人可能知道 IoU (intersection over union)度量。不幸的是,我们不能直接用 S 来优化它,所以一个常见的技巧是用可微损失函数来逼近它。让我们编写相关代码!

  在 x1 中,我们计算了与标准答案完全不同的损失,x2 常接近标准答案的函数的结果。我们预计 x1 会很大,因为预测结果并不好,x2 应该接近于零。这其中发生了什么?

  的函数是度量的一个很好的近似。度量不是损失:它通常越高越好。因为我们要用 S 把损失降到最低,我们真的应该采用用相反的方法:

  假设一个人有一个预先训练好的模型,并且是一个时序模型。我们基于 ceevee api 编写预测类。

  这个密码正确吗?也许吧!对某些模型来说确实是正确的。例如,当模型没有规范层时,例如 torch.nn.BatchNorm2d;或者当模型需要为每个图像使用实际的 norm 统计信息时(例如,许多基于 pix2pix 的架构需要它)。

  如果试图将动态 pytorch 图转换为静态 pytorch 图,则很容易识别此问题。有一个 torch.jit 模块是用于这种转换的。

  然而,这里的 torch.jit.trace 不是万能的。这是一种应该知道并记住的细微差别。

  很多东西都是成对存在的:训练和验证、宽度和高度、纬度和经度……如果仔细阅读,你可以很容易地发现由一对之间的复制粘贴引起的错误:

  别担心,这个错误已经修复了。如何避免?不要复制粘贴代码,尽量以不要以复制粘贴的方式进行编码。

  这里出了什么问题?首先,使用三次插值调整 mask 的大小是个坏主意。将 float32 转换为 uint8 也存在同样的问题:三次插值可以输出大于输入的值,并导致溢出。

  假设需要对全卷积网络(如语义分割问题)和一幅巨大的图像进行处理。图像太大了,你没有机会把它放进你的 gpu 中——例如,它可以是一个医学或卫星图像。

  在这种情况下,可以将图像分割成一个网格,地对每一块进行推理,最后合并。另外,一些预测交集可以用来平滑边界附近的伪影。

  有一个符号输入错误,代码片段足够大,因此可以很容易地找到它。我怀疑仅仅通过代码就可以快速识别它,很容易检查代码是否正确:

  训练循环中一个简单的断言(例如 assert mask.max=1)会很快检测到问题。同样,单元测试也可以检测到问题。

  

关键词:新手电脑技巧
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

声明:网站数据来源于网络转载,不代表站长立场,如果侵犯了你的权益,请联系站长删除。

CopyRight 2010-2016 无痕网- All Rights Reserved