TRELLIS,一键生成3D模型,图像转3D,微软开源
大家好!今天给大家分享微软最近开源的一个3D模型生成项目——TRELLIS。简单来说就是输入一张图片,它就能自动帮你生成3D模型。这与之前分享的TripoSR项目类似,但是精度和贴图细节比TripoSR要高很多。
好久没关注AI生成3D模型这块,也是在群友的推荐下,我去体验了TRELLIS这个项目并跟TripoSR做了对比。
我选了三张图进行测试,分别是建筑、人物、车辆。上面的是TripoSR的效果,下面的是TRELLIS的效果。
用了一个房子做测试,可以看到TripoSR生成的“乍一看”还行,但是转动一下,完全没办法看!房子直接歪掉了。
TRELLIS的表现很好,保留了房子的整体结构和房檐的细节。
卡通人物,TripoSR生成的人物正面和侧面还可以,但是后面头发部分效果不佳。
TRELLIS不仅在细节上比TripoSR的要丰富(人物身前的饰品的立体度和头发的细节),贴图颜色上也略胜一筹。
选了个推土机图片,试下来发现貌似TripoSR对侧面的图片生成不佳,如果是正面的图像,生成的整体结构是稳定的,至少不会像下图一样是“斜的”。
TRELLIS的表现还是非常的优秀。
虽然我将模型导入到建模软件中去看,贴图细节的部分还是很粗糙,但是整体的结构至少不会有太“夸张”的错误。
我又让朋友发来几张图生成模型,最后导入到Maya里看了布线结构
除了机械鱿鱼镂空部分的机械机构没能很好生成以外,前两个图片总体生成的还行。但是到了下面这个动漫人物形象上就失败了。
目前TRELLIS对于人型或者是非标准人型姿态的推理还是不太支持。生成的有种“残缺”抽象的美…
值得期待的是,TRELLIS官方在后续会支持文本生成模型这项功能!十分期待了!
Windows本地部署
该部分适用于想要自己部署项目的小伙伴,使用整合包的可以跳过这部分。
由于项目官方是用Linux机器进行开发和测试的,在部署的时候会有很多坑。
这里的安装依赖是引用github上iiiytn1k
开发者提供的。
git clone --recurse-submodules https://github.com/microsoft/TRELLIS.git
cd TRELLIS
conda create -n trellis python=3.10
conda activate trellis pip install torch==2.5.1 torchvision --index-url=https://download.pytorch.org/whl/cu124
pip install xformers==0.0.28.post3 --index-url=https://download.pytorch.org/whl/cu124
pip install pillow imageio imageio-ffmpeg tqdm easydict opencv-python-headless scipy ninja rembg onnxruntime trimesh xatlas pyvista pymeshfix igraph transformers
pip install git+https://github.com/EasternJournalist/utils3d.git@9a4eb15e4021b67b12c460c7057d642626897ec8
pip install https://github.com/bdashore3/flash-attention/releases/download/v2.7.1.post1/flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
pip install kaolin -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.5.1_cu124.htmlgit clone https://github.com/NVlabs/nvdiffrast.git ./tmp/extensions/nvdiffrast
pip install ./tmp/extensions/nvdiffrastgit clone --recurse-submodules https://github.com/JeffreyXiang/diffoctreerast.git ./tmp/extensions/diffoctreerast
pip install ./tmp/extensions/diffoctreerastgit clone https://github.com/autonomousvision/mip-splatting.git ./tmp/extensions/mip-splatting
pip install ./tmp/extensions/mip-splatting/submodules/diff-gaussian-rasterization/cp -r ./extensions/vox2seq ./tmp/extensions/vox2seq
pip install ./tmp/extensions/vox2seqpip install spconv-cu120
pip install gradio==4.44.1 gradio_litmodel3d==0.0.1set ATTN_BACKEND=flash-attn
set SPCONV_ALGO=native
python ./app.py
按照上述步骤部署完毕后,还没完!还有坑!
一定要安装MSVC
组件和VCbuild-tools
。
也有可能会遇到下面这个错误,需要安装VC++ Redis
相关组件
raise RuntimeError(“Could not locate a supported Microsoft Visual C++ installation”)
RuntimeError: Could not locate a supported Microsoft Visual C++ installation
安装后重启即可。
整合包必看!
因为项目需要用到C++相关依赖,在使用TRELLIS
整合包之前,还需安装VCbuild-tools
不然在生成的时候会出现这个错误
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/
进入下载地址
https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
点击下载生成工具
然后在打开的界面勾选使用C++的桌面开发
–勾选右边五个选项进行安装
快速上手
上传一张图片,不需要很高的分辨率,分辨率和生成的模型的精度没太大关系!
图像是png的透明通道图像最好。如果不是,程序会直接抠图进行处理。
生成设置这里建议保持默认,第一次生成不要去修改设置。
GLB导出设置可以调节简化程度
和纹理尺寸
。
配置足够高建议纹理尺寸拉满试试,毕竟纹理贴图越大越清晰效果越好。
然后点击生成,可以看到会生成了一个模型的预览视频
然后点击导出GLB,等待模型生成,最后点击下载GLB即可。下载的模型文件是包含贴图的。
配置需求
WIN
WindowsN卡需16G显存
如果整合包运行报错,需要安装cuda12.4
https://developer.nvidia.com/cuda-12-4-0-download-archive
关于推理速度
在4090上进行测试,使用示例图片生成模型花费大概20秒钟左右
MAC
暂不支持~~
整合包获取
👇🏻👇🏻👇🏻下方下方下方👇🏻👇🏻👇🏻
夸夸夸盘:
https://pan.quark.cn/s/1d4cb07d9995
度度度盘:
https://pan.baidu.com/s/1xJF2VqQ1jPnxRtwQ7xzx2Q?pwd=7yy4
放到最后
最后我将生成的模型导入到三维软件中,简单加了两个环境光。然后做了一个AR小程序试了下效果。
视频中的模型就是用上面TRELLIS生成的推土机。(CSDN的朋友比较抱歉,视频预览效果请转公众号查看吧~~)
当我分享TripoSR的时候就有朋友说“AI生成三维模型还不行,这技术还早着呢”。
但我想说的是,任何技术都得一步步发展嘛,你看看现在的AI绘画,最开始不也是各种扭曲走样吗?现在不是越来越厉害了。
我相信AI建模这块过段时间效果肯定会比现在好很多,说不定很快就能生成高质量的游戏素材了。
对待新技术,咱们与其一上来就否定,不如用发展的眼光去看待和思考。毕竟技术迭代的速度是很快的,两年前谁能想到AI能做到今天这样呢?所以我对AI生成3D模型的未来还是非常期待的。
制作不易,如果本文对您有帮助,还请点个免费的赞或在看!感谢您的阅读!
相关文章:
TRELLIS,一键生成3D模型,图像转3D,微软开源
大家好!今天给大家分享微软最近开源的一个3D模型生成项目——TRELLIS。简单来说就是输入一张图片,它就能自动帮你生成3D模型。这与之前分享的TripoSR项目类似,但是精度和贴图细节比TripoSR要高很多。 好久没关注AI生成3D模型这块,…...
【JavaEE进阶】关于Maven
目录 🌴什么是Maven 🌲为什么要学Maven 🎍创建一个Maven项目 🎄Maven核心功能 🚩项目构建 🚩依赖管理 🎋Maven Help插件 🍀Maven 仓库 🚩本地仓库 Ὢ…...
泷羽sec学习打卡-powershell的灵魂
声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于powshell的那些事儿-玩转powershell 什么是powershell?什么是cmd?powershel…...
利用Map集合设计程序,存储城市和对应等级相关信息
package testmap;import java.util.HashMap; import java.util.Scanner; import java.util.Set;public class TestHashMap6 {public static void main(String[] args) {//1.创建一个Map集合:存储键值对HashMap<String, String> map new HashMap<>();/…...
【数字图像处理】期末综合知识点总结 ver1,灰度图像,图像增强,平滑滤波,锐化滤波,图像复原,图像压缩
关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...
GIN
gin是什么 Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。如果你需要极好的性能,使用 Gin 吧。 特点:gin是golang的net/http库封装的web框架,api友好,注…...
Java中通过ArrayList扩展数组
在Java中,ArrayList 是一个动态数组实现,能够根据需要自动调整其大小。与传统的数组不同,ArrayList 不需要预先指定大小,并且提供了许多方便的方法来操作集合中的元素。下面将详细介绍如何使用 ArrayList 进行数组的扩展ÿ…...
2024.12.19总结
今天跑了数据采集和端口扫描,对于容器化和虚拟机的概念不是很理解。然后是北向接口文档,在跟其他人交流时,问原理把我给问住了。在安全这块,要学的的东西很多,确实不是三五个月就能搞定的事。 如今,我要做…...
upload-labs靶场通过攻略
upload-labs靶场 第一关 删除前端js校验 return checkFile() 就能上传成功 第二关(抓包文件类型校验) BP抓包修改后缀 第三关(上传php同种类型的不同后缀) 根据源码发现这关的黑名单不太严谨,我们就可以使用php同种类型的不同后缀 第四关(双上传) 根据源码发现这些后缀的…...
【信息系统项目管理师-论文真题】2017下半年论文详解(包括解题思路和写作要点)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一:论信息系统项目的安全管理写作要点解题思路1、访问控制工具与技术2、加密技术3、安全检测与监控工具4、安全策略制定与文档化:5、数据备份与恢复技术试题二:论信息系统项目的成本管理写作要点解题思路…...
运维 mysql、redis 、RocketMQ性能排查
MySQL查看数据库连接数 1. SHOW STATUS命令-查询当前的连接数 MySQL 提供了一个 SHOW STATUS 命令,可以用来查看服务器的状态信息,包括当前的连接数。 SHOW STATUS LIKE Threads_connected;这个命令会返回当前连接到服务器的线程数,即当前…...
使用 rvest 包快速抓取网页数据:从入门到精通
介绍 随着大数据和数据科学的迅速发展,互联网数据的抓取已经成为重要的信息获取手段之一。网页抓取(Web Scraping)可以帮助我们自动化地从网页中提取有价值的数据,应用广泛,包括新闻热点分析、金融数据采集等。在本篇…...
青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序
青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序 课题摘要:一、Web应用程序二、Web服务器(一)什么是Web服务器(二)Web服务器配置1. 选择服务器软件2. 安装服务器软件3. 配置服务器4. 安全设置5. 部署网站内容6. 测试服…...
MybatisPlus(四)
五、条件构造器和常用接口 1、wapper介绍 Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper : 查询条件封装 UpdateWrapper : Update 条件封…...
经典电荷泵/Charge pump——1998.JSSC
电路结构 工作原理 M3 and M4 are the series switches, and M5, M6 switch to the highest voltage. If M5 and M6 are missing, having a large capacitor is of absolute necessity, because must always stay between 2 Vin and 2Vin - Uj to avoid switching on the vert…...
搭建MongoDB
title: 搭建MongoDB date: 2024-11-30 23:30:00 categories: - 服务器 tags: - MongoDB - 大数据搭建MongoDB 环境:Centos 7-2009 1. 创建MongoDB的国内yum源 # 下载Centos7对应最新版7.0.15的安装包 cat >> /etc/yum.repos.d/mongodb.repo << &quo…...
2FA双因子验证技术实现原理
一、背景 随着关注数据安全的意识逐步提升,很多站点都开始强制用户不止使用用户名密码的形式进行登录,还会逐步引导用户开启2FA多因子验证。 Github就已经强制用户使用2FA多因子验证进行账号的登录,现在阿里云、腾讯云等也逐步往这个方向发展…...
boost之bind
简介 用于构造函数对象,其定义在文件bind.hpp中 bind 其底层使用通用的模板类bind_t template<class R, class F, class L> class bind_t { public:typedef bind_t this_type;bind_t(F f, L const & l): f_(f), l_(l) {}#define BOOST_BIND_RETURN re…...
simpleperf生成火焰图的步骤
1. simpleperf 命令抓取.data文件 adb shell simpleperf record --duration 30 -g -p 8734 --trace-offcpu --clockid monotonic -e cpu-clock -o /data/local/tmp/perf.data C:\Users\fadi.su>adb shell simpleperf record --duration 30 -g -p 8734 --trace-offcpu --cl…...
拥有人类情感的AI:未来还是幻想?
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
EAS的KDTextField 添加回车事件监听
1、控件绑定一个action(可以在ui上配置) 2、因为GUI设置的统一的控件切换键为TAB和ENTER两个,所以需要单独设置这个控件的切换键。 Set<KeyStroke> set new HashSet<KeyStroke>(); set.add(KeyStroke.getKeyStroke(KeyEvent.VK_…...
【Linux】Macvlan介绍及LInux下例子实现
Macvlan Macvlan 是一种网络虚拟化技术,允许在同一物理网络接口上创建多个虚拟网络接口,每个虚拟接口都有自己独立的 MAC 地址。这对于需要在同一物理主机上运行多个网络隔离的应用程序或容器时非常有用。 Macvlan 的特点和用途 独立的 MAC 地址 每个 …...
Kafka Streams 在监控场景的应用与实践
作者:来自 vivo 互联网服务器团队- Pang Haiyun 介绍 Kafka Streams 的原理架构,常见配置以及在监控场景的应用。 一、背景 在当今大数据时代,实时数据处理变得越来越重要,而监控数据的实时性和可靠性是监控能力建设最重要的一环…...
【计算机视觉基础CV】03-深度学习图像分类实战:鲜花数据集加载与预处理详解
本文将深入介绍鲜花分类数据集的加载与处理方式,同时详细解释代码的每一步骤并给出更丰富的实践建议和拓展思路。以实用为导向,为读者提供从数据组织、预处理、加载到可视化展示的完整过程,并为后续模型训练打下基础。 前言 在计算机视觉的深…...
Android实现RecyclerView边缘渐变效果
Android实现RecyclerView边缘渐变效果 1.前言: 是指在RecyclerView中实现淡入淡出效果的边缘效果。通过这种效果,可以使RecyclerView的边缘在滚动时逐渐淡出或淡入,以提升用户体验。 2.Recyclerview属性: 2.1、requiresFading…...
springboot结合AES和国密SM4进行接口加密
api接口加密 1.为什么需要api接口加密呢? 1.防止爬虫 2.防止数据被串改 3.确保数据安全 2.如何实现接口加密呢? 3.我们可以使用哪些加密算法来加密呢? AES 密码学中的高级加密标准(Advanced Encryption Standard,…...
后端项目java中字符串、集合、日期时间常用方法
我这里只介绍了项目中最常用的哈,比如像集合有很多,但我们最常用的就是ArrayList。 然后我这里会以javascript中的字符串、数组的方法为基准来实现,有些方法js和java会有些区别也会介绍 字符串 每次修改 String 对象都会创建一个新的对象,而 StringBuffer 可以在同一个对象…...
前端框架Vue的路由机制
大家好,我是G探险者。 最近在调试前端代码的时候,遇到一个问题。首先我们有一个门户页面,该页面里面有很多的豆腐块,每个豆腐块会配置一个系统的跳转连接。 我的系统就是其中一个豆腐块,我第一次登录进来之后…...
flutter 快速实现侧边栏
首先我们写一个侧边栏工具类,示例如下: import package:flutter/material.dart;class Sidebar extends StatelessWidget {overrideWidget build(BuildContext context) {return Drawer(child: ListView(padding: EdgeInsets.zero,children: <Widget&…...
华为数通最新题库 H12-821 HCIP稳定过人中
以下是成绩单和考试人员 HCIP H12-831 HCIP H12-725 安全中级...
算法训练第二十三天|93. 复原 IP 地址 78. 子集 90. 子集 II
93. 复原 IP 地址--分割 题目 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&…...
JS,递归,处理树形数据组件,模糊查询树形结构数据字段
JS递归如何模糊查询树形结构数据,根据数据中的某一个字段值,模糊匹配 直接拿去使用就行 function filterTreeLabel(arr, label) {let result []arr.forEach((item) > {// if (String(item.POBJECT_NAME).toLowerCase().indexOf(label)!-1) {if (String(item.P…...
前端大数字精度丢失?Choerodon UI 大数字解决方案:精确性与灵活性的结合!
01 引言 在企业项目开发中,数据的精确性是关键。Choerodon UI 的大数字解决方案,通过其高精度计算、数据一致性维护、灵活的数据交互、国际化支持、兼容性保障、定制化格式化等优势,为开发人员提供了一个强大的武器库,以确保在处…...
matlab凸包检测
% 创建一个3D点集 points [1 2 3; 4 5 6; 7 8 9; 10 11 12; 13 14 15]; % 使用convhull函数计算凸包 hull convhull(points); % 输出凸包点的索引 disp(Convex Hull Indices:); disp(hull); % 绘制点集和凸包 figure; scatter3(points(:,1), points(:,2), points(:,3),…...
单节点calico性能优化
在单节点上部署calicov3273后,发现资源占用 修改calico以下配置是资源消耗降低 1、因为是单节点,没有跨节点pod网段组网需要,禁用overlay方式网络(ipip,vxlan),使用route方式网络 配置calico-node的环境变量 CALICO_IPV4POOL_I…...
【芯片设计- RTL 数字逻辑设计入门 番外篇 7.1 -- 基于ATE的IC测试原理】
文章目录 ATE 测试概述Opens/Shorts测试Leakage测试AC测试转自:漫谈大千世界 漫谈大千世界 2024年10月23日 23:17 湖北 ATE 测试概述 ATE(Automatic Test Equipment)是用于检测集成电路(IC)功能完整性的自动测试设备。它在半导体产业中扮演着至关重要的角色,主要用于检…...
oracle 导入数据提示跳过表
imp system/orclorcl fileD:\oracle_back.dmp fully showy logD:\oracle_log.log 今天用上面的命令往 oracle 中导入数据出现一个奇怪的问题 就是所有导入的表都提示 正在跳过表XXX 最后提示成功终止导入, 没有出现警告。 最后select一个表也没导入进来 怪哉怪哉!…...
鸿蒙开发(15)案例 排行榜
排行榜 准备图片 定义案例需要的数据模型 创建Models文件, //定义app需要的数据模型export class FruitData{name:string;vote:string;id:string;constructor(id:string,name:string,vote:string,) {this.id idthis.name namethis.vote vote}}排行榜头部 创…...
【Java Web】Axios实现前后端数据异步交互
目录 一、Promise概述 二、Promise基本用法 三、async和await关键字 四、Axios介绍 4.1 Axios基本用法 4.2 Axios简化用法之get和post方法 五、Axios拦截器 六、跨域问题处理 一、Promise概述 axios是代替原生的ajax实现前后端数据交互的一套新解决方案,而…...
SLAAC如何工作?
SLAAC如何工作? IPv6无状态地址自动配置(SLAAC)-常见问题 - 苍然满关中 - 博客园 https://support.huawei.com/enterprise/zh/doc/EDOC1100323788?sectionj00shttps://www.zhihu.com/question/6691553243/answer/57023796400 主机在启动或接口UP后,发…...
微信小程序UI自动化测试实践 !
微信小程序UI自动化测试实践 引言: 随着微信小程序的快速发展,越来越多的企业和开发者开始开发小程序来满足用户的需求。而在开发小程序的过程中,UI自动化测试是一个必不可少的环节,可以帮助开发者减少人工测试的工作量ÿ…...
代码随想录-笔记-其七
我们来到了贪心算法的章节。 贪心算法和其他部分不太一样的是,他更多的是突出一种思路:通过求局部最优解来求全局最优解。因为只是一个大的思想逻辑,针对不同题型总是有不同的解决方案,所以贪心算法也不想其他算法那样有一个很经…...
react身份证回显
1. 处理身份证号的函数 function getAgeSexAndBirthdate(idCard: string): { sex: 男 | 女 | null; birthdate: Date | null } {if (idCard.length ! 18) {console.error(身份证号码必须是18位。);return { sex: null, birthdate: null };}// 提取出生年月日const year parse…...
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
大家好,今天,我们将讨论 Hibernate 和 JPA 架构。 在开始我们的文章之前,我想回答一个重要的问题:为什么我们需要使用 Hibernate、Eclipse Link、EF core 等 ORM 工具? 事实上,这是一个非常好的问题。我们…...
leetcode----mysql
1179. 重新格式化部门表 - 力扣(LeetCode) 表 Department: ------------------------ | Column Name | Type | ------------------------ | id | int | | revenue | int | | month | varchar | ----…...
盛元广通畜牧与水产品检验技术研究所LIMS系统
一、系统概述 盛元广通畜牧与水产品检验技术研究所LIMS系统集成了检测流程管理、样品管理、仪器设备管理、质量控制、数据记录与分析、合规性管理等功能于一体,能够帮助实验室实现全流程的数字化管理。在水产、畜牧产品的质检实验室中,LIMS系统通过引入…...
EXCEL文件解析
[Excel文件名].xlsx (解压后) │ ├── _rels │ └── .rels (定义关系文件) ├── docProps │ ├── app.xml (应用程序属性) │ └── core.xml (核心文档属性) ├── xl │ ├── _rels │ │ └── workbook.xml.rels (工作簿关系文件) │ ├── …...
【C++】- 掌握STL List类:带你探索双向链表的魅力
文章目录 前言:一.list的介绍及使用1. list的介绍2. list的使用2.1 list的构造2.2 list iterator的使用2.3 list capacity2.4 list element access2.5 list modifiers2.6 list的迭代器失效 二.list的模拟实现1. list的节点2. list的成员变量3.list迭代器相关问题3.1…...
开源 AI 智能名片 S2B2C 商城小程序中运营与产品的关系剖析
摘要:本文聚焦于开源 AI 智能名片 S2B2C 商城小程序,深入探讨其中运营与产品之间的关系。通过分析运营与产品的多种关系认知,阐述在该特定小程序情境下运营与产品相互依存、相互作用的机制,包括运营对产品的需求以及产品对运营的依…...
flask_socketio 以继承 Namespace方式实现一个网页聊天应用
点击进入上一篇,可作为参考 实验环境 python 用的是3.11.11 其他环境可以通过这种方式一键安装: pip install flask3.1.0 Flask-SocketIO5.4.1 gevent-websocket0.10.1 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple pip list 详情如下&am…...