《Keras 3 使用 PointNet 进行点云分类》:此文为AI自动翻译

news/2025/2/26 9:13:18

《Keras 3 使用 PointNet 进行点云分类

作者:David Griffiths
创建日期:2020/05/25
最后修改时间:2024/01/09
描述:实现 PointNet for ModelNet10 分类

(i) 此示例使用 Keras 3

 在 Colab 中查看 

 GitHub 源

点云分类


介绍

无序 3D 点集(即点云)的分类、检测和分割 是计算机视觉中的核心问题。此示例实现了开创性的点云 深度学习论文 PointNet (Qi et al., 2017)。对于 PointNet 上的详细介绍,请参阅此博客 帖子。


设置

如果使用 colab,请先使用 安装 trimesh。!pip install trimesh

import os
import glob
import trimesh
import numpy as np
from tensorflow import data as tf_data
from keras import ops
import keras
from keras import layers
from matplotlib import pyplot as plt

keras.utils.set_random_seed(seed=42)

加载数据集

我们使用 ModelNet10 模型数据集,这是 ModelNet40 的较小的 10 类版本 数据。首先下载数据:

DATA_DIR = keras.utils.get_file(
    "modelnet.zip",
    "http://3dvision.princeton.edu/projects/2014/3DShapeNets/ModelNet10.zip",
    extract=True,
)
DATA_DIR = os.path.join(os.path.dirname(DATA_DIR), "ModelNet10")
Downloading data from http://3dvision.princeton.edu/projects/2014/3DShapeNets/ModelNet10.zip 
     0/473402300 [37m━━━━━━━━━━━━━━━━━━━━  0s 0s/step
 
  8192/473402300 [37m━━━━━━━━━━━━━━━━━━━━  1:06:44 8us/step
 
 40960/473402300 [37m━━━━━━━━━━━━━━━━━━━━  26:17 3us/step
 
 90112/473402300 [37m━━━━━━━━━━━━━━━━━━━━  17:49 2us/step
 
188416/473402300 [37m━━━━━━━━━━━━━━━━━━━━  11:20 1us/step
 
385024/473402300 [37m━━━━━━━━━━━━━━━━━━━━  6:55 1us/step
 
786432/473402300 [37m━━━━━━━━━━━━━━━━━━━━  4:03 1us/step
 

1581056/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 2:21 0us/步

 

3170304/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 1:20 0us/步

 

6004736/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 47s 0us/步

 

8880128/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 35s 0us/步

 

11902976/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 28s 0us/步

 

14925824/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 24s 0us/步

 

17915904/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 22s 0us/步

 

21020672/473402300 [37m━━━━━━━━━━━━━━━━━━━━ 20s 0us/步

 

23977984/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 18s 0us/步

 

26861568/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 17s 0us/步

 

29958144/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 16s 0us/步

 

33071104/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 16s 0us/步

 

36175872/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 15s 0us/步

 

39206912/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 14s 0us/步

 

41902080/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 14s 0us/步

 

45015040/473402300 ━[37m━━━━━━━━━━━━━━━━━━━ 14s 0us/步

 

48021504/473402300 ━━[37m━━━━━━━━━━━━━━━━━━ 13s 0us/步

 

51003392/473402300 ━━[37m━━━━━━━━━━━━━━━━━━ 13s 0us/步

 


http://www.niftyadmin.cn/n/5868454.html

相关文章

【前沿探索篇七】【DeepSeek自动驾驶:端到端决策网络】

第一章 自动驾驶的"感官革命":多模态神经交响乐团 1.1 传感器矩阵的量子纠缠 我们把8路摄像头+4D毫米波雷达+128线激光雷达的融合称为"传感器交响乐",其数据融合公式可以简化为: def sensor_fusion(cam, radar, lidar):# 像素级特征提取 (ResNet-152…

关于命令行下的 git( git add、git commit、git push)

文章目录 关于 gitgit 的概念git 操作(git add、git commit、git push 三板斧)安装 git新建仓库及配置git clone.gitignoregit addgit commitgit push其他 git 指令git pull(把远端的东西拉到本地进行同步)其他指令 关于 git git…

C++: 非静态成员函数作为匿名函数的参数

文章目录 1. 捕获对象来使用非静态成员函数示例:通过捕获对象来使用非静态成员函数直接将非静态成员函数作为参数的困难:解决方案:总结 2. std::mem_fn函数详讲用法和基本概念语法示例:基本使用解释:std::mem_fn 与 la…

网络安全 机器学习算法 计算机网络安全机制

(一)网络操作系统 安全 网络操作系统安全是整个网络系统安全的基础。操作系统安全机制主要包括访问控制和隔离控制。 访问控制系统一般包括主体、客体和安全访问政策 访问控制类型: 自主访问控制强制访问控制 访问控制措施: 入…

【CSS】less基础(简单版)

less基础(简单版) 01.CSS的弊端02.LESS简介以及使用变量03.less编译easy less插件04.less嵌套05.less运算 01.CSS的弊端 如下图: 要手动计算倍数。 02.LESS简介以及使用变量 03.less编译easy less插件 安装easy less之后,保存le…

飞书webhook监控业务系统端口

钉钉告警没有额度了,替代方案使用企业微信或者是飞书,以下脚本是飞书为例 监控ping也就是活动主机 #!/bin/bash # IP Ping 监控脚本 date$(date "%Y-%m-%d %H:%M:%S") # 根据实际情况修改飞书 Webhook 地址 webhook"https://open.feish…

PHP入门基础学习五(函数1)

函数 一、概念 1、什么是函数? 函数:封装一段用于完成特定功能的代码 当使用一个函数时,只需关心函数的参数和返回值,就可以完成一个特定的功能 2、php中的函数 PHP 的真正威力源自于它的函数,PHP 中提供了超过 1000 个内建的函数。 php函数分为: 系统内部函数和自…

Maven中一些基础知识点

早些时候只知道创建或者开发springboot项目时候,有一个叫pom.xml的文件可以用来管理项目所需的依赖/第三方工具。 索性稍微深入了解了一下,然后把自己认为重要的记录下来。 首先我们要引入新的依赖自然是在dependencies下写dependency,这个…