当前位置: 首页 > news >正文

[CVPR2021]Birds of a Feather: Capturing Avian Shape Models from Images

标题:Birds of a Feather: Capturing Avian Shape Models from Images

链接:https://arxiv.org/pdf/2105.09396

本文做的是基于单视角图片的3D动物重建。和大多数人脸重建模型一样,都默认提供了一个3D模板,然后只要基于模板拟合输入的图像就可以了。但不同于人脸,动物在体型上的变化比人脸要大得多(比如本文中处理的鸟类),因此这里作者提出了一个三阶段方案来进行三维重建。

模型结构

 就像别的参数化模型一样,作者也将对鸟类的拟合分成了四个参数,即姿势(theta),骨骼长度(alpha),整体位移(gamma),嘴部和腿部的尺寸(kappa)。作者期望用以上的四个参数来拟合所有不同的鸟类在图像中的表现。具体步骤如图所示:对齐,类模板预测,个体形状预测

对齐(Alignment to images)

这一步的主要目标就是把模板大致的对齐到每个图像上去,但不做精细的调整。在对齐中其实也分了两步。

第一步是使用一个二层mlp对theta,alpha和gamma预测出一个初始值,然后再将初始值放到后续的步骤慢慢优化。而这个mlp是通过随机改变模型参数而获得的landmark-parameter对训练得到的。

在获得了初始值后作者用了三个loss对所有参数进行了进一步微调:

特征点损失:就是3D模型的特征点与2D图像的特征点之间做的一个l2损失(还有一个什么robust Geman-McClure function,没搞懂)。

剪影损失:把3D模型渲染成mask后与gt mask做l1损失

先验约束:使用马氏距离约束alpha和theta不要偏离均值太多。

类模板预测(Obtaining species specificshape)

为了构造基于每个种类的类模板,这里作者的目标是预测一套基于每个点的位移,位移值加上原模板就构成了每个种类的类模板。

这里再次使用了在上一节中使用的特征点和剪影损失,外加其他四个平滑项:

边缘平滑项:要求相邻点的位移差别不要太大,用的l2距离。

面平滑约束:使用拉普拉斯约束使得几何表面更为平滑

细节保留项:使用刚性约束来保证细节更倾向于刚性变化,即保留物体细节。其中爪子和腿被施加了更大的约束权重。

对称约束:即要求最终结果对称。

个体形状预测(Reconstructing individuals)

这里作者的目的是在上述类模板的基础上再次预测出一套位移值,加到类模板上,从而获得最终物体的重建形状。这里作者将这最后一套位移值视作基于类模板的一个分布,随机设定几个基向量来表达整个位移的分布,最后通过寻找合适的基向量来最小化损失,即匹配2D模型。而使用的损失和上一节的损失一模一样,即关键点损失,剪影损失和平滑项。

在预测完之后,作者再对得到的所有位移分布做PCA,从而得到最终的参数化模型。

相关文章:

  • 2022杭电多校第六场题解
  • 基于Python的深度优先搜索和广度搜索----解决迷宫最短路径问题
  • 微服务-SpringCloud学习(一)
  • 八股文之设计模式
  • 第6章 初识Spring框架
  • 【明年找到好工作】:面试题打卡第二天
  • 企业Java实战面试题
  • 多次握手登录
  • gdb调试 常用命令
  • 华为云上安装mysql-5.7.38-极其详细的安装教程
  • vue父子组件传值:父传子、子传父
  • 使用花生壳做内网穿透
  • 基于SSM的学生宿舍管理系统
  • 第二章第六节 ST图与迭代优化
  • Kotlin(九)类、属性、构造函数
  • 《深入 React 技术栈》
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • AHK 中 = 和 == 等比较运算符的用法
  • avalon2.2的VM生成过程
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Docker 笔记(2):Dockerfile
  • download使用浅析
  • Git初体验
  • Java小白进阶笔记(3)-初级面向对象
  • npx命令介绍
  • SOFAMosn配置模型
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • sublime配置文件
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 汉诺塔算法
  • 前端性能优化--懒加载和预加载
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​Spring Boot 分片上传文件
  • #vue3 实现前端下载excel文件模板功能
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (33)STM32——485实验笔记
  • (4)logging(日志模块)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 设计一套高性能的弱事件机制
  • .Net接口调试与案例
  • .NET项目中存在多个web.config文件时的加载顺序
  • @Service注解让spring找到你的Service bean
  • [ linux ] linux 命令英文全称及解释
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BT]BUUCTF刷题第9天(3.27)
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [hive]中的字段的数据类型有哪些
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [Linux内存管理-分页机制]—把一个虚拟地址转换为物理地址