首页/文章/ 详情

二次开发与AI融合_基于tensorflow识别螺栓

4月前浏览2006

经常做二次开发的小伙伴,就会发现二次开发不是万能的,实际工作中应用场景很有限。

有时候为了自动化实现某个功能,代码量可能比半自动的多好几倍,可能程序还不稳健。


以查找螺栓这类标准件为例,通过常规二次开发识别的方式可能有以下几种:

1、零件的名称

2、零件的体积

3、表面积

4、面的数量等方式识别。


但是,但是……………

随着工业的蓬勃发展。对于复杂的装配体,使用的螺栓种类也是越来越多,传统的识别逻辑已经不足以识别后续新增的标准件。


但是关了一扇门的同时,又打开了一扇窗,现今的AI技术发展为解决这一问题提供了新的解决方案。

可以基于强大的tensorflow框架实现,它能够通过图像处理和深度学习算法,快速准确地识别出零件中的螺栓。

实际上就是分类算法将图片传递给程序返回0或1即可。


利用tensorflow进行图像分类和目标检测。它通过训练神经网络模型,让计算机学习螺栓的特征,在输入待检测零件的图像后,快速准确地判断其中是否存在螺栓,这种自动化的识别方式不仅提高了识别的准确性,还能识别类似的零件,具有一定扩展性。


对于训练数据的生成,通过二次开发程序就很容易实现了,各种视角的图片,咔咔一顿截取,输送给AI学习,这就是有监督学习。


此外,程序还有着极高的可扩展性和适应性。

通过调整和优化神经网络模型的结构和参数,可以针对不同的部件进行定制化的识别任务,例如:

1、将识别对象替换为铆钉。

2、替换为某种特征结构等。

3、模型检测。

4、优化路径识别。

5、网格流向调整。

.....

用于满足不同的需求。


相信随着技术的不断进步,会有越来越多的程序运用到CAE中,进一步提升生产效率,推动行业的发展(进一步内卷)

我们已经从,流程化>规范化>自动化,一步一步进入到了“智能化”阶段。

二次开发已然是上一阶段的产物了,但也是进入到智能化,必不可少的一环。

虽然目前AI拿来直接预测大型装配的结果还是很弱,但是拿来预测单体零件,识别图像还是很容易的。

如何搭建NVIDIA的炼丹炉_并配置pytorch

上面是配置pytorch的说明,配置tensorflow就很容易了


pip3 install tensorflow




程序就没有从图像训练开始运行了,而是直接调用的ResNet50预训练集,再调用matplotlib将图片识别结果显示。

实际项目中直接获取返回值就可以判断零件类型了

下面是调用预训练集识别模型的代码,需要参考的小伙伴可以付费查看哦。或者分享文章后,私信分享的截图,看到了就发送完整代码截图哦


来源:TodayCAEer
二次开发螺栓装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-14
最近编辑:4月前
TodayCAEer
本科 签名征集中
获赞 22粉丝 40文章 257课程 0
点赞
收藏
作者推荐

多软件调度-AI融合-独立平台开发

1、tcltkPythonc++融合相关二次开发2、直接打通hypermesh与其它前处理,求解器的的融合,独立界面,多软件联合,无需启动其它软件,软件后台调用。3、带人工智能的前后处理融合.这是问卷调查一位小伙伴提的几个问题,并没有说具体开发某一个功能,我就理解是提的一些框架问题。内容很枯燥,听着音乐慢慢看。1、Tcl/Tk、Python和C++在HyperMesh二次开发中的融合是如何实现的?在开发过程中,Tcl/Tk、Python和C++可以通过多种方式进行相互调用。Tcl/Tk是HyperMesh的内置的二次开发语言,可以利用它快速实现自定义工具和功能。通过编写Tcl脚本,可以控制HyperMesh的各种操作,如模型导入、几何处理和网格划分等,这就是二次开发工程师的工作内容。同时还提到了Python,Python在数据处理和分析方面具有强大的能力。在2024版本可以通过HyperMesh的PythonAPI接口直接调用软件的功能,实现开发需求。C++这个语言我就没涉及过了,已经脱离HyperMesh二次开发范畴,通常用于更底层的开发。虽然我们调用的API是属于tcl语言,但是背后,也是通过其他高性能编程语言来实现的,目前还没遇到需要通过编写C++代码,来实现高性能的计算和复杂的算法对场景。什么场景需要用到C++呢,这里就涉及到了小伙伴提的第二个问题,需要自己写一个界面,这就可以通过C++来实现了,常规的二次开发不用这么麻烦。不清楚填写需求的小伙伴的具体应用场景,可以理解为这个问题就是问的这三个语言之间进行调用。2、如何实现HyperMesh与其他前处理、求解器的融合,独立界面、多软件联合,而无需启动其它软件?“实现HyperMesh与其他前处理工具和求解器的融合”。这个建议是在一个前处理软件内完成所有的设置,前处理软件之间并不是完全兼容对方格式,就包括导出为中间格式也并不能完全复现导出前的状态。可以参照下面这篇文章。HyperMesh与ANSA之间模型转换软件之前反复横跳,这就是徒增工作量,一个软件自己在版本之间就存在差异,更不要说为了兼容其他软件,其他软件又涉及到版本的差异,更是麻烦,建议在一个软件中完成。软件的联合调度可以通过bat语言来驱动,大部分有限元软件是支持bat后台调用程序的。在具体实施时,就可以设计独立的用户界面(这个界面就可以用cpp来写),界面风格可以类似于低代码平台,采用拖拉拽形式,选择需要的功能模块,该界面通过调用HyperMesh和其他软件实现联动。在此界面中,可以进行程序运行的必要参数设定和操作,而后就不必直接启动其他软件。在后台就根据所开发的程序一个接一个跑了,函数之前也需要预留好接口,整个架构设计是很庞大,为实现多软件联合,开发可能包含以下几个大方向。1、中间格式确定:实现不同软件之间的数据格式切换,确保数据兼容性。这个需要考虑不同软件之前的格式需求,这也是各个软件之前能够联合调度起来的关键。2、进程通信:可以利用Socket这类模块,实现不同程序之间的实时信息传递和任务调度,流程化驱动进程,这个保证前后衔接。3、作业队列管理(求解器):求解器的调度机制管理计算任务的执行顺序和资源分配,当需要开发这个多软件调度的时候,企业体量肯定也很大了,市面上有现成的HPC软件,自己开发求解器的资源调度,无非就排队计算、并行计算,最大许用内存,CPU等控制,并不能在各个节点间调度资源,用HPC更有性价比。4、SDM系统:每时每刻都在产生数据,分析结果,分析工况,输入信息,输出信息,错误信息....,需要这样一个系统来储存数据,做事留痕,有迹可循,为了以后都数据分析,模型训练夯实基础。这是以前写的一篇文章,介绍的如何搭建一个仿真平台,那时候还没考虑到AI的视角,可以提供一些大方向建议。如何搭建一个CAE仿真自动化平台3、带人工智能的前后处理融合如何实施?这个问题可以细分为两个方向:在当前仿真体系中,应用人工智能;在以后研发流程中,应用人工智能。方向一,这个视角就宽泛了,人工智能可以应用的方面很多。方向二,那可以干的事情就更多了,现在觉得很难实现的功能,都能通过AI实现,比如模型匹配查找,预测结果,生成式,模型降阶....在应用ai的有个前提就是数据的规范和数量,数据不规范,没有以往的历史数据,说用ai那就真的是在扯淡了。训练模型有以下几个大的事项:数据采集和预处理:首先,需要收集已有的模型数据和计算结果,这些数据可以用于训练机器学习模型,这个数据就可以通过二次开发自动生成,导出。模型训练:就是对收集到的数据进行训练。有很多机器学习库,比如TensorFlow或pytorch来构建和训练模型。智能决策与优化:将训练好的模型应用于前后处理的某一个方向。比如生成式AI,通过输入参数自动生成最佳的结构。这在宝马有成功的案例,就根据用户输入的设计参数,在考虑性能,制造的前提下生成合适的结构。反馈机制:在实施过程中,必须设计反馈机制,定期评估模型的表现,收集用户的反馈信息,以便持续优化和更新模型。当小模型能够胜任工作后,就可以将各个方向的小模型组合而来,那就得到了应用于研发流程的大模型了。同时构建知识库,做成类似于ChatGPT这样的问答助手,这就是AI应用于前后处理的场景。以上就是个人对于上述问题的理解了,仅代表个人看法。AI如何应用于CAE,欢迎大家后台私信,咨询哦来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈