自定义数据实现SA3D

这篇具有很好参考价值的文章主要介绍了自定义数据实现SA3D。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SA3D:Segment Anything in 3D with NeRFs
实现了3D目标分割
自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉
原理是利用SAM(segment anything) 模型和Nerf分割渲染3D目标,
SAM只能分块,是没有语义标签的,如何做到语义连续?
SA3D中用了self-prompt, 根据前一帧的mask自己给出提示点,用SAM再预测下一帧的mask.

1.准备数据

这里用llff数据的格式。
它需要的input是图像,colmap建好的poses, 训练好的nerf。

通过llff的fern文件夹说明自定义数据怎么准备。

nerf_llff_data/fern文件夹包含如下数据,

自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉
其中images是相机拍摄的原图,size为4032 * 3024,
由于图片太大,于是有了下采样4倍的images_4, 下采样8倍的images_8.
用的时候images_4就可以了。
sparse和database.db 是colmap生成的相机内外参,colmap怎么用参考其他。
poses_bounds.npy由sparse生成,后面会说。
最后2个用不到。

1.1 拍摄图片或视频

图片的话按照llff github 上的要求,

根据经验,您应该使用视图之间最大视差不超过约 64 像素的图像(观察距离相机最近的物体,不要让它移动超过视图之间水平视场的 1/8)。图片)。我们的数据集通常包含 20-30 张以粗略网格模式手持拍摄的图像。

最好是网格状拍。

自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉
如果拍的是视频,把视频转为图片序列。

把images里面拍到的图片下采样4倍,存入images_4文件夹。

1.2 生成pose

自己安装colmap. 或者用llff github 上的imgs2poses.py
这里用colmap生成。

colmap选Reconstruction -> Automatic Reconstruction.
只需要填workspace folder和image folder.
image folder要选images,而不是images_4.
Dense model的勾可以去掉,节省时间。
然后run, 你就会得到sparse文件夹。

然后你需要用这里的pose_utils.py生成poses_bounds.npy.
需要下载这3个文件。

自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉

2.训练模型

2.1 训练nerf

设置文件:
configs/llff/fern.py
configs/liff/seg_fern.py

调整factor需要的文件
configs/llff/llff_default.py
configs/default.py
configs/llff/llff_seg_default.py
configs/seg_default.py

上面这些设置文件可以修改了直接用,也可以新建类似的。
2个设置文件中修改数据集的路径。

如果你不用下采样4倍的图片,比如要用下采样8倍的,
在后面4个文件中,把factor置8. 如果用原图,factor=1.

训练nerf

python run.py --config=configs/llff/fern.py --stop_at=20000 --render_video --i_weights=10000

你可能会遇到sam3d.py中的bug,
UnboundLocalError: local variable ‘sam_model_registry’ referenced before assignment
解决方法,修改sam3d.py,

class Sam3D(ABC):
    '''TODO, add discription'''
    def __init__(self, args, cfg, xyz_min, xyz_max, cfg_model, cfg_train, \
                 data_dict, device=torch.device('cuda'), stage='coarse', coarse_ckpt_path=None):
        ...
        if args.mobile_sam:
            ...
        else:
            from segment_anything import sam_model_registry  #加上这一句,修复bug
            sam_checkpoint = "./dependencies/sam_ckpt/sam_vit_h_4b8939.pth"
            ...

然后会在log/xx/xx/render_video_fine_last下面得到渲染好的3D场景。

2.2 训练SAM+nerf

python run_seg_gui.py --config=configs/llff/seg/seg_fern.py --segment \
--sp_name=_gui --num_prompts=20 \
--render_opt=train --save_ckpt

会给一个链接,点进webUI,
这第一帧图包括后面训练的图,是上面训练nerf时渲染的图片,
如果你换了数据集,一定要重新训练nerf, 不然这些图片就还是之前的。

在第一帧图上选你要分割的物体。

自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉

训练中不需要再标注,SAM本身是没有语义的,为了保持语义的连续性,采用自标注的方法,
不断在mask上产生新标注的点。
自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉
分割及渲染结果。
自定义数据实现SA3D,DeepLearning,人工智能,神经网络,计算机视觉文章来源地址https://www.toymoban.com/news/detail-785940.html

到了这里,关于自定义数据实现SA3D的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • “AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[3]:TCNN+RNN模型、SA-ConvLSTM模型

    【机器学习入门与实践】入门必看系列,含数据挖掘项目实战:模型融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘 专栏详细介绍:【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析

    2024年02月11日
    浏览(35)
  • threeJs实现3D地球-旋转-自定义贴图-透明发光

    //---html (angular)---         //---ts--- 效果图:

    2024年04月17日
    浏览(38)
  • 机器学习笔记 - 基于自定义数据集 + 3D CNN进行视频分类

            这里主要介绍了基于自定义动作识别数据集训练用于视频分类的 3D 卷积神经网络 (CNN) 。3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。         这里的模型主要基于D. Tran 等人2017年的论文“动作识别的时空卷积研

    2024年01月23日
    浏览(47)
  • deeplearning with pytorch(二)

     

    2024年03月09日
    浏览(29)
  • 【Sa-Token】SpringBoot 整合 Sa-Token 快速实现 API 接口签名安全校验

    在涉及跨系统接口调用时,我们容易碰到以下安全问题: 请求身份被伪造 请求参数被篡改 请求被抓包,然后重放攻击 sa-token api-sign 模块将帮你轻松解决以上难题。(此插件是内嵌到 sa-token-core 核心包中的模块,开发者无需再次引入其它依赖,插件直接可用) 假设我们有如

    2024年02月17日
    浏览(47)
  • 实现业务智能:大数据与人工智能的融合

    随着数据的快速增长,大数据技术已经成为企业和组织中不可或缺的一部分。大数据技术可以帮助企业更好地理解其客户、优化其业务流程,提高效率,降低成本。然而,大数据技术的发展并不是一成不变的。随着人工智能(AI)技术的发展,大数据技术和人工智能技术的融合成

    2024年02月21日
    浏览(48)
  • DeepLearning - 余弦退火热重启学习率 CosineAnnealingWarmRestartsLR

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134249925 CosineAnnealingWarmRestartsLR,即 余弦退火热重启学习率,周期性修改学习率的下降和上升,间隔幅度逐渐增大,避免模型的性能抖动。其中核心参数: optimizer 的参数, lr 学习率,默认学

    2024年02月19日
    浏览(41)
  • 【DeepLearning】Ubuntu中深度学习环境配置完整流程

    支持 cuda 的所有显卡型号: Link 查询显卡型号 即 Vendor ID:Device ID 为 10de:21c4,在浏览器或者 Link 中搜索。 填写显卡信息: Link 选择要下载的版本(可以选个新一点的 ) 运行 .run 文件 测试 参考官方文档: Link 选择要安装的版本: Link 先通过 nvidia-smi 查看驱动支持的 cuda 最高版本,

    2024年02月10日
    浏览(61)
  • 人工智能与云计算:如何实现医疗数据的高效共享

    作者:禅与计算机程序设计艺术 随着医疗数据量的增加、消费需求的提升、以及国际化的趋势加剧,数据共享成为医疗行业的一个重要方向。传统的数据共享模式主要依靠中心化共享平台(例如EHR)或联邦性数据共享框架(例如HL7),但在复杂多样的医疗信息环境中难以实现

    2024年02月15日
    浏览(49)
  • 人工智能大模型和数据中台结合,实现“智能数据中台”的AI时代的数字化解决方案

    在当今数字化时代,企业面临着海量数据的挑战,如何高效地管理和利用这些数据成为了企业发展的关键。 数据中台是解决这一问题的重要手段,它可以 在企业内部通过数据集成、数据管理、数据分析和数据应用 等方面的工作,实现 数据的高效利用和价值最大化 。 而 人工

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包