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

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

3D Representations 三维表示法
Computing Correspondences 计算对应关系
Multi-view stereo 多视角立体
Structure from Motion 运动结构
Simultaneous Localization and Mapping (SLAM) 同步定位和绘图
View Synthesis 视图合成
Differentiable Graphics 可变图形
3D Sensors 三维传感器

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

RGB image + Depth image = RGB-D Image (2.5D)

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

Predicting Normals

 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 系统管理的通用基础架构。它建立在现有工具基础上,充当抽象层,以便向系统管理…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Java 加密常用的各种算法及其选择

在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...