图像识别和深度学习技术的最新进展使检测和识别图像和视频中的特定对象成为可能。此外,即使它不是一台具有强大CPU + GPU的机器(例如服务器),也可以使用Jetson nano等小型台式计算机来完成!
这次我想做的是使用原始训练数据检测并识别视频中的对象,如下视频所示。
如何实现物体检测
为了用Jetson nano检测物体,这次我们实现了如下。
(1)标注:为要检测的对象创建用于模型学习的数据。
(2)训练:创建一个PB模型,该模型从数据中学习对象的特征。
(3)环境建设:在Jetson nano上安装OS和Deep Stream等软件。
(4)对象检测:使用经过训练的模型检测对象。
第1部分:使用IBM Cloud批注的批注
在第1部分中,我们将准备训练数据,这将是创建学习模型的输入。创建此训练数据称为标注,您可以使用IBM Cloud Annotations服务轻松创建训练数据。它是免费的.
准备什么
使用Jetson nano检测物体需要以下四点。
①Nvidia Jetson NANO
首先,您需要Jetson nano。Jetson nano宣布了便宜的2GB型号,但是这次我们将使用传统的4GB型号。
②摄像头模块
相机模块,用于使用Jetson nano拍摄视频。这次,我将使用家里的USB摄像头。它通过USB连接支持高达4K @ 30fps(MJPG)的视频录制。不必是4K。
③Google帐号
要使用Google Colab和Google云端硬盘,必须有一个Google帐户。
④IBM Cloud帐户
最后,您需要一个IBM Cloud帐户才能使用IBM Cloud Annotations。
视频检测到的物体
①确定检测到的物体
首先,确定要检测的对象。我在家中尝试了“向日葵”的人造花。
②拍摄物体的视频和图像
确定对象后,请拍摄该对象的视频。如果使用智能手机拍摄就可以了。重点是要在移动物体的同时进行拍摄,以便可以从各个角度进行检测。一分钟的视频时间就足够了。它是以下视频的图像。另外,拍摄约10张该对象的照片进行测试。
③视频数据转换
IBM Cloud Annotations可以使用的视频格式数量有限,因此,如果视频不是H264编码的mp4格式,则将对其进行转换。
准备对象存储
为了使用IBM Cloud Annotations,需要预先准备用于存储视频和图像文件的存储。免费存储就足够了,因此首先设置对象存储。
①登录到IBM Cloud
首先,访问IBM Cloud“ https://www.ibm.com/jp-ja/cloud ”并登录。如果尚未创建登录ID,请创建一个。

②资源创造
单击IBM Clould仪表板右上角的Create Resource按钮。

③选择对象分段
从左侧菜单中选择“功能”,然后在其中选择“对象存储”。

④对象暂存设置
从计划中选择“轻(免费)”,输入服务名称,然后单击“创建”按钮。

这样就完成了对象暂存的创建。
标注的实现
现在,让我们标注这次的主要主题。
①访问云标注
转到IBM Cloud Annnotaions网站https://cloud.annotations.ai/login并登录。

②创建一个项目
单击屏幕右侧的“开始新项目”按钮。

③设置项目名
系统将要求您输入项目名称(桶名称),因此请正确输入项目名称,然后按“确认”按钮。似乎将带标注结果的一个称为存储桶bucket

④选型
将显示类型选择屏幕,在右侧选择“本地化”,然后单击“确认”按钮。

⑤上传检测到的目标视频
从屏幕左上方的“文件”中选择“上传媒体”,然后选择上面拍摄和转换的视频文件。

上传视频并等待约30秒钟后,将如下图分析视频,并且视频中的图像将显示在屏幕底部。

⑥标注的实现
首先,对于一个图像,如下图所示用鼠标拖动以将目标对象的范围围成一个正方形。

⑦输入标签名称
接下来,在屏幕右侧的“无标题标签”字段中单击铅笔标记,然后输入标签名称。

如果更改标签名称,将如下所示。

⑧标签选择
接下来,从屏幕左上方选择您输入的标签。

⑨认真标注
完成此操作后,我们将简单地围绕(标注)屏幕底部对齐的许多图像中的对象。通常,最好做大约50到100张。另外,并非总是需要为所有图像进行选择。可以停在中间。

⑩获取访问密钥等
完成足够数量的标注后,单击屏幕右上方的“在Colab中训练模型”。然后,如下图所示,将显示包括访问键等的连接字符串,因此请将其复制到文本编辑器等中。稍后,该字符串将使您可以直接从Google Colab访问带标注的数据。

[参考]标注数据的内容
作为参考,让我们检查带标注的数据的格式。从屏幕左上方的“文件”中单击“导出为创建ML”。然后,标注数据可以下载为Zip文件。

下载的Zip文件的内容如下。它由多个图像文件和annotaions.json文件组成,后者显示图像文件中的对象范围。

此数据将是用于创建对象检测模型的训练数据。
这样便完成了标注。
结论
这次,作为使用Jetson nano进行对象检测的第一步,我尝试创建(标注)训练数据。下次,我想使用此数据通过Google Colab创建Tensorflow学习模型。

- 关于NVIDIA Jetson AGX Orin模组,这些信息很重要
- 对计算能力9.0+GPU卡特性的探索
- 在自动光学检测(AOI)领域中推广Jetson Xavier 方案到底解决哪些痛点?
- 关于Jetson AGX Orin产品你不知道的关键点都在这里
- 揭秘 Jetson 上的统一内存
- NVIDIA Jetson 软件: 将 NVIDIA 加速技术带到边缘
- 新一代Jetson NANO开发套件(B01)开箱
- 从Tensorflow生成TensorRT引擎的方法
- 实战教程:利用NVIDIA TensorRT优化一个推荐系统
- NVIDIA机器人开发工具包ISAAC实战(英文)
- 如何搭建一个NVIDIA JetBot小车(英文)
- Jetson TX2进行摄像头驱动的开发