从3D模型制作经过训练的模型(机器学习) [英] Making a trained model (machine learning) from 3D models

查看:73
本文介绍了从3D模型制作经过训练的模型(机器学习)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据库有将近20k的3D文件,它们是用CAD软件设计的机器零件的图纸(实体作品).我试图从所有3D模型中构建训练有素的模型,因此当有人可以从其中一个部分(在现实世界中)拍照时,我可以构建3D对象识别应用程序,并且该应用程序可以提供有关材料的有用信息,大小,处理方式等.

如果有人已经做过类似的事情,那么您能提供给我的任何信息将不胜感激!

解决方案

一些想法:

1)几张照片:而不是仅一张.正如 Rodrigo 评论和布拉德·拉尔森(Brad Larson)尝试用他的方法规避,用户仅拍摄一张图片作为输入的问题是,您必然缺少进行三角剖分和形成点的信息3D中的云.使用从稍微不同的角度拍摄的4张照片,您已经可以重建对象的一部分.比较点云将使任何ML算法,神经网络(NN),支持向量机(SVM)或其他算法的工作变得更加容易.创建点云的常见标准是ASTM E2807,它使用e57文件格式.

不利的一面是,3D视觉算法可能会给用户的设备带来沉重负担,并且并非最容易实现.

2)人工图片训练:通过像Brad Larson建议的那样对预先计算的人工图片进行训练,您可以接管大部分计算,从而对用户有利.请注意,您可能应该使用从图片(而不是完整图片)中提取的"功能"来进行训练和分类.这种方法的问题在于您可能对照明和背景环境非常敏感.对于所有对象,应谨慎制作具有相同闪电条件的CAD图片,以使分类器不会过分适合不属于该对象的图片"的某些方面.

这是解决方案1)更稳定,对视觉环境不太敏感的方面.

3)比例:对象的大小是一个重要的描述符.因此,您应该在训练之前将比例尺信息添加到对象描述符中.您可以询问用户以使用参考对象拍照.或者,您可以要求用户对对象大小进行经验法则估计(对象的近似尺寸是多少,单位为[cm]?").提供大小可以使您的算法明显更快,更准确.

i have a database with almost 20k 3D files, they are drawings from machine parts designed in a CAD software (solid works). Im trying to build a trained model from all of this 3D models, so i can build a 3D object Recognition App when someone can take a picture from one of this parts (in the real world) and the app can provide useful information about material , size , treatment and so on.

If anyone already do something similar, any information you can provide me would be greatly appreciated!

解决方案

Some ideas:

1) Several pictures: instead of only one. As Rodrigo commented and Brad Larson tried to circumvent with his method, the problem with the user taking only one picture for the input is that you are necessarily lacking information to make a triangulation and form a point cloud in 3D. With 4 pictures taken from a slightly different angle, you can already reconstruct parts of the object. Comparing point clouds would make the endeavor much easier for any ML algorithm, Neuronal Networks (NN), Support Vector Machine (SVM) or others. A common standard to create point clouds is ASTM E2807, which uses the e57 file format.

On the downside a 3D vision algorithm might be heavy on the user's device, and is not the easiest to implement.

2) Artificial picture training: By training on pre-computed artificial pictures like Brad Larson suggested, you take over much of the computation, to the user's benefit. Be aware that you should probably use "features" extracted from the pictures, not the complete picture, both to train and to classify. The problem with this method is that you might be very sensitive to lighting and background context. You should take care to produce CAD pictures that have the same lightning conditions for all objects, so that the classifier doesn't overfit certain aspects of the "pictures" that do not belong to the object.

This aspect is where solution 1) is much more stable, it is less sensitive to the visual context.

3) Scale: The size of your object is an important descriptor. You should thus add scale information to your object descriptor before training. You could ask the user to take pictures with a reference object. Alternatively you can ask the user to make a rule-of-thumb estimate of the object size ("What are the approximate dimensions of the object, in [cm]?"). Providing size could make your algorithm significantly faster and more accurate.

这篇关于从3D模型制作经过训练的模型(机器学习)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆