在本系列上一篇文章里,我们带领大家体验了视觉功能库。在本篇文章中,我们将带领大家安装与调用摄像头。
不管是 AI 深度学习或者 IOT 应用中,视觉处理都占据非常大的使用比例,而摄像头更是使用率最高的数据源设备,本文就带领大家为 Jetson Nano 2GB 安装摄像头,并且通过一些工具与简单代码,对摄像头进行测试。
Jetson Nano 2GB 开发者套件支持 CSI 摄像头、USB 摄像头和网络摄像头。
本文主要针对入门者,所以重点放在 CSI 摄像头与 USB 摄像头这两种比较合适的设备上,至于 GigE 这种复杂度较高的摄像头,先不做说明。
如何为 Jetson Nano 2GB
选择 CSI 或者 USB 摄像头
在选择摄像头之前,我们可以通过以下网址查看:
这里列出了 NVIDIA 官方推荐的摄像头型号。
一般来说 USB 接口摄像头都是免驱支持,不多做说明。
但是 CSI 接口的摄像头根据传感器芯片的不同区别很大,不是任何一款 CSI 摄像头都支持 Jetson Nano 产品,所以购买时一定要注意这个问题。目前在 Jetson Nano 上,开发者们常用的 CSI 摄像头是树莓派 V2 摄像头(传感器芯片是 IMX219)。
文章中,我们使用的就是以下这款:
【注意】CSI 摄像头不支持即插即用,所以必须在开机前先装上去,系统才能识别 CSI 摄像头,如果开机之后再安装,会导致 Jetson Nano 2GB 识别不出摄像头,且有其他风险,因此请避免在开机状态下安装摄像头。
安装 CSI 摄像头
Jetson Nano 2GB 有一个 CSI 摄像头接口,位置与外观如下图。
安装摄像头排线之前,我们首先要拔起上面的插销,请一定要特别小心,千万别弄断这个小塑料片,是会影响质保的。
有金手指(金属针头)的部分,必须面向 CSI 接口与摄像头接口有排针的一面,并且谨慎地让排线插到底,否则会有接触不良的问题。最后轻轻扣上插销,安装完成!
检测摄像头
安装好摄像头后,我们需要检测一下是否安装正确。
我们为了演示,安装了 1 个 CSI 摄像头以及 2 个 USB 摄像头:
最简单的检测指令如下:
如果摄像头没有问题,且安装正确,这个指令会显示目前安装的摄像头数量。如下截屏:
你会看到列出了单个设备,但是这样的信息量太少,通常无法判断到底哪个编号是哪个摄像头。
要更进一步检测摄像头数量与详细规格,就需要 v4l2-utils 这个工具协助,安装方法很简单,如下指令:
安装完之后,可以用以下指令检测比较完整的信息:
本例中执行这个命令后,会看到下面截屏信息,将三个摄像头都列清楚:
这里就能非常清楚看到第一个(/dev/video0)属于 imx219 规格(CSI)摄像头,第二个(dev/video2)是 USB2.0 的摄像头,接到 xusb-2(规格是 USB3)接口,第三个(/dev/video1)是 USB 摄像头,接到 xusb-3.2 (规格是 USB2)接口,这样就能一目了然知道哪个编号对应哪个摄像头。
接下来还可以用这个指令,进一步检测每个摄像头的更细致规格,包括所支持的图像种类、宽高、帧数等等,这些在后面使用代码时很重要。
请执行以下指令,来看一下第一个 CSI 摄像头的规格参数:
这里更精确地列出了这个摄像头的细节参数,例如显示的“RG10”就算代表这个摄像头的数据格式,下面的“10-bit Bayer RGRG/GBGB”则是进一步说明这个格式使用的算法与通道对应的参数。
再下面的尺寸,例如 3264x2464,其下还有对应的 Interval 性能参数,表示所支持的分辨率,以及该分辨率的最高执行帧率,这样的信息量才能够帮助我们在后面开发应用时作为设定的依据。
其他的设备,请自行修改。
下一篇文章里,我们将教大家如何调用摄像头,敬请关注吧!
好文章,需要你的鼓励
法国AI初创公司Mistral AI发布了首个大语言模型全面生命周期评估,量化了AI的环境代价。其Mistral Large 2模型训练产生20,400吨二氧化碳当量,消耗281,000立方米水。运营阶段占环境影响85%,远超硬件制造成本。研究表明地理位置和模型大小显著影响碳足迹,企业可通过选择适当规模模型、批处理技术和清洁能源部署来减少环境影响。这一透明度为企业AI采购决策提供了新的评估标准。
上海AI实验库推出YUME系统,用户只需输入一张图片就能创建可键盘控制的虚拟世界。该系统采用创新的运动量化技术,将复杂的三维控制简化为WASD键操作,并通过智能记忆机制实现无限长度的世界探索。系统具备强大的跨风格适应能力,不仅能处理真实场景,还能重现动漫、游戏等各种艺术风格的虚拟世界,为虚拟现实和交互娱乐领域提供了全新的技术路径。
许多人认为一旦实现通用人工智能(AGI)和人工智能超级智能(ASI),这些高度先进的AI将能够告诉我们人生的真正意义。然而,巅峰AI可能无法明确回答这个史诗般的问题。即使AI拥有人类所有知识,也不意味着能从中找到生命意义的答案。AI可能会选择提供多种可能性而非绝对答案,以避免分裂人类社会。
上海AI实验室研究团队开发了革命性的AI编程验证方法,让大语言模型能够在最小人工干预下自动生成和验证程序规范。该方法摒弃传统的人工标注训练,采用强化学习让模型在形式化语言空间中自主探索,在Dafny编程验证任务上显著超越现有方法,为AI自主学习开辟新道路。