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 系统管理的通用基础架构。它建立在现有工具基础上,充当抽象层,以便向系统管理…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
