首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >三维图像数据的二维分析

三维图像数据的二维分析
EN

Stack Overflow用户
提问于 2019-01-14 09:53:50
回答 3查看 100关注 0票数 1

我有一个大约10 Gb大小的tif图像。我需要在这张图像中执行对象分类或像素分类。图像数据的维数呈zyx形式。我的x=0.6,y=0.6和z=1.2的体素尺寸。Z是物体的深度。我的RAM不能拍摄整个图像。

如果我在每个Z平面上分别对像素进行分类,然后合并得到对象的最终形状和体积。

,我会泄露任何信息吗?我最终的物体形状或体积将是错误的吗?

EN

回答 3

Stack Overflow用户

发布于 2021-03-06 15:31:54

@ankit agrawal,你可能已经找到了答案,但我的建议是,绝对不要说你需要更多的记忆。我也遇到过类似的问题,如果其他人遇到这些问题,下面的选择会有所帮助。

选项

  1. 关于分裂成z平面的答案是正确的。你可能会在z飞机上丢失信息。这个想法并不坏,但你可以把感兴趣的区域(ROIs)的/split图像分成几块。这样,它们就可以更容易管理了,但是如果将x/2、y/2和z/2分开,那么你就会得到一堆内存中使用的块。然后稍后将数据堆栈起来。
  2. 使用库Dask,它会为您创建所有这些。它是为并行性而设计的,可以在一台计算机或集群上进行缩放。使用dask.array部件可以创建大量块的numpy数组。更好的是,去使用达斯克图像(应该有一个链接到这个在达斯克)。它是dask.array和许多赋值函数的包装器。最后,当文件被适当分割时,由于并行性,计算速度可能会更快。并不总是如此,但我在一台16 on的笔记本电脑上轻松地使用了20 on的数据集。这些文件是8位的,所以当许多库和函数向上浮动时,你的内存就会耗尽。这样你就能掌握好一切了。如果你坚持核心功能,它会工作得很好。当您使用映射块时会变得更加困难。

如果你还有这个问题。

票数 1
EN

Stack Overflow用户

发布于 2019-01-15 06:15:40

在每个z平面上单独进行分类的问题是,您可能无法用这种受限的信息对对象进行分类。

对于二维人脸检测问题,您可以很容易地想到同样的方法,您将尝试单独检测每一行中的人脸--这可能不会非常健壮,,您将丢失宝贵的空间信息。到头来,你很可能最终没有发现要合并。

解决方案建议:

我的建议是增加你的体素的大小,直到它可以被你的处理单元处理,说降低你的数据的分辨率和做一个低置信阈值的分类。然后回来,对其中的检测量进行另一种分类,这一次的目标是一个更高的置信阈值。这可以在需要时迭代完成。

票数 0
EN

Stack Overflow用户

发布于 2019-01-30 23:36:19

我认为打破图像--任何(x/y/z)平面--都会违背体素概念的观点,因为三维物体的表示被夷为平地,而你失去了空间关系数据。

我认为有几个选择是:

  1. 使用分布式计算集群,比如Hadoop。
  2. 看看如何将图像存储在像GeoMesa这样的地理空间数据库中,这样就可以有效地查询它,然后您就可以在内存中保存您需要在本地进行培训的内容。
  3. 10 so不太大,所以也许可以升级您的内存容量?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54179098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档