如何使用python为机器人设计实时深度学习应用程序?

2024-05-15 22:12:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个机器学习软件,检测对象(duh!),根据一些计算机视觉参数处理对象,然后触发一些硬件,将对象放入相应的箱子中。物体被放置在传送带上,相机被安装在一个点上,当物体从相机下面经过时,相机可以捕捉物体的照片(一次一个物体)。我不能控制皮带的速度。你知道吗

现在的挑战是,我必须配置大量的东西,使机器正常工作。你知道吗

第一个问题是模型创建分割遮罩所需的时间,它因对象而异。你知道吗

另一个问题是,我如何保持计算机视觉处理后产生的信号,将它们发送到执行器的方式,它不会与基于计算机视觉的推断不一致。你知道吗

我最初的设计包括创建负责特定任务的流程,然后根据需要使它们相互通信。然而,同步问题仍然存在。你知道吗

到目前为止,我正在考虑将软件堆栈视为一组服务,就像我们通常在后端所做的那样,并使它们使用芹菜和Redis queue之类的东西进行通信。你知道吗

我是一个系统设计的新手,来自数据科学的背景。我研究了python的多线程模块,发现它不能用于我的目的(所有线程都在单核上运行)。我担心如果我使用多处理,可能会有额外的延迟,在个别进程由于消息传递,因此,这将增加另一个不确定性的程序。你知道吗

其他详细信息:

  1. 编程框架和库:Tensorflow、OpenCV和python
  2. 摄像机分辨率:1920P
  3. 最大累计速度:3次触发/秒
  4. 深度学习模式:MaskRCNN/UNet

附言:你也可以评论一下我应该搜索的技术或者关键词,因为一个普通的搜索没有什么好结果。你知道吗


Tags: 对象模型机器参数硬件软件计算机视觉
1条回答
网友
1楼 · 发布于 2024-05-15 22:12:56

让我先总结一下。你知道吗

  • 你想做什么

    1. “物体”在传送带上
    2. 照相机将对物体拍照
    3. MaskRCNN会跑去做分析
  • 下面是你面临的一些问题

    1. “第一个问题是模型创建分割遮罩所需的时间,它因对象而异。”

    ->;如果要减少每个图像的处理时间,则需要加速器(FPGA、芯片等)或某种加速技术。Intel OpenVino和Intel DL stick是一个好的开始。你知道吗

    ->;如果要处理的图片太多,则有两种选择:1)放置大量机器,以便可以完成所有作业;或2)仅选择重要作业并丢弃其他作业。事实上,你设置“最大累计”到一个固定的数字(3/秒),让我觉得这是你面临的问题。背景减法器是创建图像捕获触发器的良好开端。你知道吗

    1. “另一个问题是如何保持计算机视觉处理后产生的信号,将它们发送到执行器,使其不会与基于计算机视觉的推断不一致。”

    ->;像芹菜这样的“职业分销商”在这里是个不错的选择。如果消息堆积在代理(Redis)中,那么一些任务将不得不等待。但这可以很容易地通过扩大您的计算机。

这里有几点建议:

  1. 视觉系统还包括硬件部分,因此必须有硬件规范。你知道吗
  2. 明确要求
  3. 不可能的事情确实存在,所以有时你可以减少一些因素(可靠,成本)你的项目。你知道吗

相关问题 更多 >