为 NVIDIA Jetson 和其他嵌入式系统选择合适的摄像头

这篇文章最初发表在 NVIDIA 技术博客上。

在基于人工智能的嵌入式系统中,摄像头模块是最不可或缺的部分。市场上有众多的相机模块可供选择,这可能会让选择过程变得困难。这篇文章将帮助你理解如何为嵌入式应用程序做出正确的选择,包括 NVIDIA Jetson

摄像机选择注意事项

相机模块的选择涉及三个关键方面:传感器、接口(连接器)和光学。

传感器

两种主要类型的电子图像传感器是电荷耦合器件(CCD)和有源像素传感器(CMOS)。对于 CCD 传感器,像素值只能按行读取。每一行像素被一个接一个地移位到读出寄存器中。对于 CMOS 传感器,每个像素可以单独读取并并行读取。

在大多数情况下,CMOS 在不牺牲图像质量的情况下成本较低并且消耗较少的能量。由于像素值的并行读出,它还可以实现更高的帧速率。然而,在某些特定情况下,CCD 传感器仍然占主导地位------例如,当需要长时间曝光和需要非常低噪声的图像时,例如在天文学中。

电子快门

电子快门有两种选择:全局快门或滚动快门。全局快门使每个像素同时暴露在入射光下。滚动快门按特定顺序(例如,从上到下)暴露像素行,并可能导致失真(图 1)。

图 1。卷帘引起的转子叶片变形

全局快门不受对象移动引起的运动模糊和失真的影响。使用全局快门同步多台相机要容易得多,因为曝光开始时只有一个时间点。然而,带全局快门的传感器比带滚动快门的传感器贵得多。

彩色或单色

在大多数情况下,单色图像传感器足以用于典型的机器视觉任务,如故障检测、存在监测和记录测量。

对于单色传感器,每个像素通常由八位来描述。对于颜色传感器,每个像素有 8 位用于红色通道,8 位用于绿色通道,以及 8 位用于蓝色通道。颜色传感器需要处理三倍于数据量的数据,从而导致更高的处理时间,从而导致较慢的帧速率。

动态范围

动态范围是传感器获取的最大和最小信号之间的比率。在上限处,像素对于较高的强度值(饱和度)显示为白色,而像素在下限及以下显示为黑色。室内应用需要至少 80db 的 HDR ,室外应用需要高达 140db。

决议

分辨率是传感器再现物体细节的能力。它可能受到所使用的照明类型、传感器像素大小和光学器件性能等因素的影响。对象细节越小,所需的分辨率就越高。

像素分辨率转化为图像上每个像素等于多少毫米。分辨率越高,图像就越清晰。相机或传感器的分辨率应该能够覆盖至少两个像素的功能区域。

具有高分辨率的 CMOS 传感器往往具有低帧速率。虽然传感器可以达到你需要的分辨率,但如果没有达到每秒足够的帧数,它就无法捕捉到你需要的高质量图像。评估传感器的速度非常重要。

下面和图 2 中显示了确定用例所需解决方案的一般经验法则。 乘法器(2)表示为了成功地检测对象而在对象上具有最小两个像素的典型期望。

图 2:所需的传感器分辨率由透镜视场和感兴趣的特征尺寸决定

例如,假设你有一个拳击手眼睛周围受伤的图像。

  • FOV,mm=2000mm
  • 感兴趣特征(眼睛)的大小,mm=4mm

根据计算,1000 x 1000,一台 100 万像素的相机应该足以使用 CV 或 AI 算法检测眼睛。

请注意,传感器由多行像素组成。这些像素也被称为 photosites。像素收集的光子数量与像素的大小成正比。选择更大的像素可能看起来很诱人,但可能不是所有情况下的最佳选择。

小像素 对噪音敏感(-) 相同传感器尺寸的空间分辨率更高(+)
大像素 对噪音不太敏感(+) 相同传感器尺寸的空间分辨率较低(-)

表 1.P ROS 和大小像素大小的缺点

背光传感器使每个光电二极管捕获和转换的光量最大化。在前照式传感器中,光电二极管上方的金属布线阻挡了一些光子,从而减少了捕获的光量。

图 3。前部照明结构(左)和后部照明结构(右)的横截面

帧速率和快门速度

帧速率 是指每秒帧数(FPS)。帧速率应根据每秒所需的检查次数来确定。这与快门速度(或曝光时间)相关,快门速度是相机传感器被曝光以捕捉图像的时间。

理论上,最大帧速率等于曝光时间的倒数。但是,由于帧读出、传感器分辨率和接口(包括布线)的数据传输速率引入的延迟,可实现的 FPS 较低。

可以通过添加额外的照明、像素装仓来减少对大曝光时间的需求,从而提高 FPS。

CMOS 传感器可以实现更高的 FPS,因为读取每个像素的过程可以比 CCD 传感器的移位寄存器中的电荷转移更快地完成。

界面

有多种方法可以将相机模块连接到嵌入式系统。通常,出于评估目的,使用带有 USB 和以太网接口的相机,因为不需要自定义驱动程序开发。

接口选择的其他重要参数包括传输长度、数据速率和操作条件。表 2 列出了最流行的界面。每个选项都有其 p ROS 和缺点。

功能 USB 3.2 以太网(1 GbE) MIPI CSI-2 GMSL2 FPDLINK III
带宽 10Gbps 1Gbps DPHY 2.5 Gbps/通道 CPHY 5.71 Gbps/通道 6Gbps 4.2Gbps
支持的电缆长度 <5m 高达 100 米 <30cm <15m <15m
即插即用 支持 支持 不支持 不支持 不支持
开发成本 低的 低的 中到高 中到高 中到高
操作环境 室内的 室内的 室内的 室内和室外 室内和室外

表 2。各种相机接口的比较

光学

光学透镜的基本用途是收集物体散射的光,并在光敏图像传感器(CCD 或 CMOS)上重建物体的图像。在选择优化的镜头焦距、传感器格式、视场、光圈、主光线角度、分辨率和失真时,应考虑以下因素。

透镜是用有限数量的标准焦距制造的。常见的透镜焦距包括 6mm、8mm、12.5mm、25mm 和 50mm。

一旦你选择了焦距最接近成像系统所需焦距的镜头,你就需要调整工作距离,使被检查物体对焦。短焦距(小于 12mm)的透镜产生的图像失真很大。

如果您的应用程序对图像失真敏感,请尝试增加工作距离,并使用焦距更高的镜头。如果你不能改变工作距离,你在选择优化的镜头时会受到一些限制。

广角镜头 普通透镜 长焦镜头
焦距 <=35mm 50mm >=70mm
用例 附近的场景 与人眼相同 遥远的场景

表 3。相机镜头的主要类型

将镜头连接到相机需要某种类型的安装系统。必须定义机械稳定性(松动的镜头会产生失焦图像)和到传感器的距离。

为了确保不同镜头和相机之间的兼容性,定义了以下标准镜头支架。

最受欢迎 用于工业应用
镜头支架 M12/S 支架 接口
法兰焦距 非标准的 17.526 毫米
螺纹(每毫米) 0.5 0.75
容纳的传感器尺寸(英寸) 高达⅔ 最多 1

表 4。嵌入式空间中使用的普通透镜支架

NVIDIA 相机模块合作伙伴

NVIDIA 与世界各地的竞争力强大的相机模块制造商保持着丰富的合作生态系统。查看 Jetson Partner Supported Cameras 的详细信息。这些合作伙伴可以帮助您为应用程序设计从概念到生产的成像系统 NVIDIA Jetson

图 4。 NVIDIA Jetson 与相机模块相结合,可用于不同行业,满足各种需求

总结

这篇文章解释了在为嵌入式应用程序选择相机时要考虑的最重要的相机特性。尽管选择过程可能看起来令人生畏,但第一步是了解基于设计、性能、环境和成本的关键约束。

一旦您了解了这些约束,那么就要关注与您的用例最相关的特性。例如,如果相机将部署在远离计算机或崎岖不平的环境中,请考虑使用 GMSL 接口。如果相机将在弱光条件下使用,请考虑使用像素和传感器尺寸更大的相机模块。如果相机将用于运动应用程序,请考虑使用带有全局快门的相机。

要了解更多信息,请观看 Optimize Your Edge Application: Unveiling the Right Combination of Jetson Processors and Cameras 有关 AI 性能的详细规格, GPU 、 CPU ,以及 Xavier 和基于 Orin 的 Jetson 模块的更多信息,请访问 Jetson Modules

阅读原文

相关推荐
gs8014016 天前
ubuntu下 如何将 NVIDIA 内核驱动 升级到特定版本 如550.127
ubuntu·gpu·nvidia
扫地的小何尚22 天前
什么是大型语言模型
人工智能·语言模型·自然语言处理·机器人·gpu·nvidia
点云兔子23 天前
NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址
wifi·ip·nvidia·nx·hotspot·nano
self-motivation1 个月前
gpu硬件架构
硬件架构·gpu·nvidia·tensor·cuda
程序员非鱼1 个月前
深入解析神经网络的GPU显存占用与优化
人工智能·深度学习·神经网络·机器学习·nvidia·cuda
扫地的小何尚2 个月前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
布鲁格若门2 个月前
AMD CPU下pytorch 多GPU运行卡死和死锁解决
人工智能·pytorch·python·nvidia
centurysee2 个月前
【一文搞懂】GPU硬件拓扑与传输速度
gpu·nvidia
算家云2 个月前
moffee模型部署教程
人工智能·python·github·markdown·nvidia·ppt·幻灯片制作
坐望云起3 个月前
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
linux·ubuntu·nvidia·cuda·onnx·1024程序员节