Fei-Fei Li-Lecture 16:3D Vision 【斯坦福大学李飞飞CV课程第16讲:3D Vision】
目录
P1 2D Detection and Segmentation
P2 Video = 2D + time series
P3 Focus on Two Problems
P4 Many more topics in 3D Vision
P5-10 Multi-View CNN
P11 Experiments – Classification & Retrieval
P12 3D Shape Representations
P13--17 3D Shape Representations: Depth Map
Per-Pixel Loss (L2 Distance)
Problem: Scale / Depth Ambiguity
Predicting Depth Maps
P18--26 3D Shape Representations: Surface Normals 曲面法线
3D Shape Representations: Voxels
Processing Voxel Inputs: 3D Convolution
Generating Voxel Shapes: 3D Convolution
P27--34 3D Shape Representations: Point Cloud
Proessing Pointcloud Inputs: PointNet
Generating Pointcloud Outputs
Predicting Point Clouds: Loss Function
P35--51 3D Shape Representations: Triangle Mesh
Predicting Meshes: Pixel2Mesh
Predicting Triangle Meshes: Graph Convolution
Predicting Triangle Meshes: Vertex-Aligned Features
Predicting Meshes: Loss Function
P52--73 3D Shape Prediction: Mesh R-CNN
Mesh R-CNN: Hybrid 3D shape representation
Mesh R-CNN Pipeline
Mesh R-CNN: ShapeNet Results
Datasets for 3D Objects
Datasets for 3D Object Parts
P74--92 3D Shape Representations: Implicit Functions
Algebraic Surfaces (Implicit)
Constructive Solid Geometry (Implicit)
Level Set Methods (Implicit)
NeRF: Representing Scenes as Neural Radiance Fields
P93 Summary: 3D Shape Representations
P1 2D Detection and Segmentation

Classification分P类:没有空间信息,只是对一张图片进行分类
Semantic Segmentation语义分割: 没有物体,只有像素点,对像素点进行分类
Object Detection目标检测:直接识别出物体并进行分类
Instance Segmentation:实例分割=目标检测+语义分割 (第一次听说这个)
语义分割只需要分出不同类就行,同类的不同个体不需要分,但是Instance Segmentation在语义分割的基础上又把不同的类进行了分割:目标检测后,需要对检测的部分做进一步的语义分割
P2 Video = 2D + time series
视频就是2D的图像加上了时间序列
P3 Focus on Two Problems
今天需要解决的两个问题
①由一张输入图像得到一个3D模型
②识别3D模型进行类别判定
P4 Many more topics in 3D Vision
P5-10 Multi-View CNN
CNN1:提取图像特征的卷积神经网络
CNN2:生成描述形状符的卷积神经网络
P11 Experiments – Classification & Retrieval

Q:MVCNN? SPH? LFD? 3D ShapeNets? FV?
P12 3D Shape Representations

Q: Voxel Grid? Pointcloud? Mesh? Surface?
A:下面详细讲啦
P13--17 3D Shape Representations: Depth Map

Q:H是Height ? W是Width?
可以使用全卷积神经网络进行深度图预测,得到两个估计的深度图,然后还可以得到每像素Loss
Per-Pixel Loss (L2 Distance)
Q:L2 距离是什么?
Problem: Scale / Depth Ambiguity
Q:具体是什么意思以及怎么解决?
A: 意思大概是单目图像中信息有限
Predicting Depth Maps

Scale invariant 尺度不变性
P18--26 3D Shape Representations: Surface Normals 曲面法线
对于每个像素,表面法线给出一个向量,表示该像素的世界上的对象的法向向量
假设 RGB Image为 3 x H x W,那么法线图 Normals: 3 x H x W

3D Shape Representations: Voxels
• Represent a shape with a V x V x V grid of occupancies 网格表示形状
• Just like segmentation masks in Mask R-CNN, but in 3D! 分割掩码
• (+) Conceptually simple: just a 3D grid! 只是一个3D网格
• (-) Need high spatial resolution to capture fine structures 需要高空间分辨率捕捉精细结构
• (-) Scaling to high resolutions is nontrivial ! 缩放到高分辨率并不容易
Processing Voxel Inputs: 3D Convolution

Generating Voxel Shapes: 3D Convolution

Voxel Problems: Memory Usage
Storing 1024(3次方) voxel grid takes 4GB of memory
Scaling Voxels: Oct-Trees 八叉树
Q: 没太看懂这个Oct-Trees

P27--34 3D Shape Representations: Point Cloud
• Represent shape as a set of P points in 3D space
• (+) Can represent fine structures without huge numbers of points
• ( ) Requires new architecture, losses, etc
• (-) Doesn’t explicitly represent the surface of the shape: extracting a mesh for rendering or other applications requires post-processing
提取网格为渲染或其他应用提取网格需要进行后处理
Proessing Pointcloud Inputs: PointNet

MLP ?
Max-Pool?
Generating Pointcloud Outputs

Predicting Point Clouds: Loss Function


P35--51 3D Shape Representations: Triangle Mesh

Predicting Meshes: Pixel2Mesh

Idea #1: Iterative mesh refinement
Start from initial ellipsoid mesh Network predicts offsets for each vertex Repeat.
从初始椭球网格开始 网络预测每个顶点的偏移 重复。
Predicting Triangle Meshes: Graph Convolution


Problem: How to incorporate image features?
Predicting Triangle Meshes: Vertex-Aligned Features

Predicting Meshes: Loss Function
The same shape can be represented with different meshes – how can we define a loss between predicted and ground-truth mesh?
Idea: Convert meshes to pointclouds, then compute loss

P52--73 3D Shape Prediction: Mesh R-CNN


Mesh R-CNN: Hybrid 3D shape representation

Mesh R-CNN Pipeline

Mesh R-CNN: ShapeNet Results

Datasets for 3D Objects
• Large-scale Synthetic Objects: ShapeNet, 3M models
• ModelNet: absorbed by ShapeNet
• ShapeNetCore: 51.3K models in 55 categories

Datasets for 3D Object Parts
Fine-grained Parts: PartNet
• Fine-grained (+mobility)
• Instance-level
• Hierarchical

P74--92 3D Shape Representations: Implicit Functions

Algebraic Surfaces (Implicit)

Constructive Solid Geometry (Implicit)

Level Set Methods (Implicit)



NeRF: Representing Scenes as Neural Radiance Fields


P93 Summary: 3D Shape Representations

相关文章:
Fei-Fei Li-Lecture 16:3D Vision 【斯坦福大学李飞飞CV课程第16讲:3D Vision】
目录 P1 2D Detection and Segmentation P2 Video 2D time series P3 Focus on Two Problems P4 Many more topics in 3D Vision P5-10 Multi-View CNN P11 Experiments – Classification & Retrieval P12 3D Shape Representations P13--17 3D Shape Represen…...
【计算机视觉】YOLO 入门:训练 COCO128 数据集
一、COCO128 数据集 我们以最近大热的YOLOv8为例,回顾一下之前的安装过程: %pip install ultralytics import ultralytics ultralytics.checks()这里选择训练的数据集为:COCO128 COCO128是一个小型教程数据集,由COCOtrain2017中…...
【数分面试答疑】XX场景如何分析问题的思考
问题: 如何分析消费贷客户的用款活跃度,简单列出分析报告的思路框架 解答 这个问题是一个典型的数据分析类的面试问题,主要考察面试者对于消费贷客户的用款活跃度分析的理解和方法,以及对于数据分析报告的撰写和呈现的能力。回…...
html中如何用vue语法,并使用UI组件库 ,html中引入vue+ant-design-vue或者vue+element-plus
html中如何用vue语法,并使用UI组件库 前言 先说一下本次应用的场景,本次项目中,需要引入github中别人写好的插件,插件比较大,没有方法直接在自己项目中,把别人的项目打包合并生成html(类似于前…...
【数据结构】二叉数的存储与基本操作的实现
文章目录 🍀二叉树的存储🌳二叉树的基本操作🐱👤二叉树的创建🐱👓二叉树的遍历🎡前中后序遍历📌前序遍历📌中序遍历📌后续遍历 🛫层序遍历&am…...
使用 Netty 实现群聊功能的步骤和注意事项
文章目录 前言声明功能说明实现步骤WebSocket 服务启动Channel 初始化HTTP 请求处理HTTP 页面内容WebSocket 请求处理 效果展示总结 前言 通过之前的文章介绍,我们可以深刻认识到Netty在网络编程领域的卓越表现和强大实力。这篇文章将介绍如何利用 Netty 框架开发一…...
一篇文章搞定《WebView的优化及封装》
一篇文章搞定《WebView的优化及封装》 前言WebView的过程分析确定优化方案一、预加载,复用缓冲池(初始化优化)优化的解析说明具体的实现 二、预置模版(请求、渲染优化)优化的解析说明具体的实现1、离线包2、预获取数据…...
FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS
FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS 0、 界面预览1、注册百度AI开放平台,开通语音识别服务2、获取AppID/API Key/Secret Key3、 安装百度语音合成sdk4、合成代码5、在PBX中使用百度TTS6、音乐文件-TTS7、拨号规则-tts_command 0、 界面预览 http://…...
DP读书:不知道干什么就和我一起读书吧
DP读书:不知道干什么就和我一起读书吧 为啥写博客:好处一:记录自己的学习过程优点二:让自己在各大社群里不那么尴尬推荐三:坚持下去,找到一个能支持自己的伙伴 虽然清楚知识需要靠时间沉淀,但在…...
【Linux】进程通信 — 信号(上篇)
文章目录 📖 前言1. 什么是信号1.1 认识信号:1.2 信号的产生:1.3 信号的异步:1.4 信号的处理: 2. 前后台进程3. 系统接口3.1 signal:3.1 - 1 不能被捕捉的信号 3.2 kill:3.2 - 1 killall 3.3 ra…...
JS弃之可惜食之无味的代码冷知识
JS代码冷知识大全 1. 变量提升与暂死 在JavaScript中,变量提升是一个有趣且容易让人误解的概念。在代码中,变量和函数声明会在其所在作用域的顶部被提升,但是初始化并不会被提升。这可能导致在声明之前就使用变量,结果为undefin…...
数据结构初阶--排序
目录 一.排序的基本概念 1.1.什么是排序 1.2.排序算法的评价指标 1.3.排序的分类 二.插入排序 2.1.直接插入排序 2.2.希尔排序 三.选择排序 3.1.直接选择排序 3.2.堆排序 重建堆 建堆 排序 四.交换排序 4.1.冒泡排序 4.2.快速排序 快速排序的递归实现 法一&a…...
赴日IT 如何提高去日本做程序员的几率?
其实想去日本做IT工作只要满足学历、日语、技术三个必要条件,具备这些条件应聘就好,不具备条件你就想办法具备这些条件,在不具备条件之前不要轻易到日本去,日本IT行业虽然要求技术没有国内那么高,但也不是随便好进入的…...
c# 使用了 await、asnync task.run 三者结合使用
在 C# 异步编程中,await 和 async 关键字结合使用可以让你更方便地编写异步代码,而无需直接使用 Task.Run。然而,有时候你可能仍然需要使用 Task.Run 来在后台线程上执行某些工作,这取决于你的代码逻辑和需求。 await 和 async 关…...
C#获取屏幕缩放比例
现在1920x1080以上分辨率的高分屏电脑渐渐普及了。我们会在Windows的显示设置里看到缩放比例的设置。在Windows桌面客户端的开发中,有时会想要精确计算窗口的面积或位置。然而在默认情况下,无论WinForms的Screen.Bounds.Width属性还是WPF中SystemParamet…...
Rn实现省市区三级联动
省市区三级联动选择是个很频繁的需求,但是查看了市面上很多插件不是太老不维护就是不满足需求,就试着实现一个 这个功能无任何依赖插件 功能略简单,但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…...
SpringCloud学习笔记(十)_SpringCloud监控
今天我们来学习一下actuator这个组件,它不是SpringCloud之后才有的,而是SpringBoot的一个starter,Spring Boot Actuator。我们使用SpringCloud的时候需要使用这个组件对应用程序进行监控与管理 在SpringBoot2.0版本中,actuator可以…...
测试理论与方法----测试流程的第二个环节:测试计划
二、软件测试分类与测试计划 1、软件测试的分类(理解掌握) 根绝需求规格说明书,在设计阶段会产出的两个文档: 概要设计(HLD):设计软件的结构,包含软件的组成,模块之间的层次关系,模块与模块之间的调用关系…...
postgresql-子查询
postgresql-子查询 简介派生表IN 操作符ALL 操作符ANY 操作符关联子查询横向子查询EXISTS 操作符 简介 子查询(Subquery)是指嵌套在其他 SELECT、INSERT、UPDATE 以及 DELETE 语句中的 查询语句。 子查询的作用与多表连接查询有点类似,也是为…...
Linux 系统运维工具之 OpenLMI
一、前要 OpenLMI(全称 Open Linux Management Infrastructure)即开放式的 Linux 管理基础架构。OpenLMI 是一个开源项目,用于管理 Linux 系统管理的通用基础架构。它建立在现有工具基础上,充当抽象层,以便向系统管理…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
