
嘿!你知道吗,盲人和视力受损者经常会遇到一些挑战,这些挑战使他们难以独立生活和参与社会。但是,由于机器学习的奇妙之处,我们现在有一些非常酷的辅助技术,可以帮助他们。例如,这位小哥,开发了一种设备,利用图像字幕和文本转语音技术,为那些最需要帮助的人提供帮助。

很棒,对吧?
如果你对技术方面感兴趣,让我告诉你他是如何使用TensorRT优化深度学习模型的经验吧。
这个小哥使用了一款来自SeeedStudio的reComputer NVIDIA Jetson Xavier NX作为系统的核心 - 这家伙可以提供高达21 TOPS的性能,非常适合嵌入式和边缘系统的高性能计算和人工智能。

但他遇到了一个问题 - 这些设备的内存有限,只有8G,这使得部署复杂的深度学习模型非常困难。幸运的是,通过TensorRT找到了解决方案 - 它通过减少内存占用来帮助在边缘设备上执行这些模型。
现在可以制作一些非常智能的技术,而不会占用太多空间!
图像字幕模型部署流程
小哥使用了流行的Microsoft COCO 2014(COCO)基准数据集来训练ExpansionNet v2图像字幕模型。该数据集包含123,287张图像,每张图像有五个人工注释的字幕,共计超过600,000个图像文本对。他使用Karpathy分割策略将数据集分为训练集(113,287张图像)、验证集(5,000张图像)和测试集(5,000张图像),以进行离线评估。

为了训练用于Kazakh字幕的模型,小哥遵循了ExpansioNet v2中定义的模型架构。使用预训练的Swin Transformer作为骨干网络,从输入图像中生成视觉特征。该模型在Nvidia DGX-2服务器上的4个V100上进行了训练。
最终,将图像字幕模型ExpansionNet v2部署到了Nvidia Jetson Xavier NX板上。通过按下按钮触发相机拍摄一个分辨率为640×480像素的RGB图像。然后,将拍摄的图像调整大小为384×384,并将其传递给ExpansionNet v2模型以生成字幕。接下来,使用文本转语音模型将生成的字幕文本转换为音频。在研究中,小哥使用KazakhTTS模型将Kazakh文本转换为语音。最后,生成的音频通过用户的耳机播放,使盲人或视力受损者能够理解他们面前的事物。
关于ONNX

ONNX是一种用于机器学习和深度学习模型的开放格式。它允许你将来自不同框架(如TensorFlow、PyTorch、MATLAB、Caffe和Keras)的深度学习和机器学习模型转换为单一格式。
该工作流程包括以下步骤:
-将普通的PyTorch模型文件转换为ONNX格式。ONNX转换脚本可以在此处找到:
https://github.com/jchenghu/ExpansionNet_v2/tree/master/onnx4tensorrt
-使用trtexec实用程序创建一个TensorRT引擎
trtexec --onnx=./model.onnx --saveEngine=./model_fp32.engine --workspace=200-运行TensorRT引擎的推理
使用TensorRT进行推理优化
想象一下,你正在进行深度学习推理,需要一个高效的工具,那么TensorRT就是你需要的。这是由NVIDIA开发的一个强大的工具,可以优化神经网络模型并生成高度优化的推理引擎,可以在NVIDIA GPU上运行。它使用一系列的静态和动态优化来实现高效的推理,包括层融合、内核自动调优和精度校准。这意味着,使用TensorRT模型可以比PyTorch模型更快地处理图像,甚至在文件大小较小的情况下也是如此,可以节省约50%的时间。
相比之下,PyTorch是一种广泛用于研究和开发的深度学习框架。它提供了一个动态计算图,允许用户即时定义和修改模型,这使得尝试不同的架构和训练方法变得容易。然而,与TensorRT相比,它的速度可能会慢一些。
简而言之,如果速度和效率是你的首要考虑因素,那么TensorRT可能是更好的选择。这对于大多数实时物体检测应用程序已经足够快了。

在推理过程中,你可以使用jetson-stats实用工具检查Nvidia Jetson开发板的当前性能。您可以实时监测模型使用的资源,并充分利用硬件。
原型产品方案

图说明了图像字幕辅助系统的现实世界实验,包括一个摄像头、一个单板深度学习计算机(Nvidia Jetson Xavier NX)、一个按钮和耳机。摄像头通过通用串行总线(USB)连接到单板计算机上,而按钮和耳机分别连接到单板计算机的通用输入/输出(GPIO)引脚和音频端口上。摄像头通过可调节的带子固定在用户的额头上,用户在操作期间佩戴耳机,并将单板计算机(和电源)放在背包里携带。
视力受损和盲人在日常生活中面临着独特的挑战,包括无法独立访问视觉信息。图像字幕技术在为这个群体提供帮助方面表现出了很好的前景。
除了现有的图像字幕和文本转语音技术,小哥希望未来将视觉问答(VQA)功能纳入这个视力障碍者和盲人辅助设备中。这将使用户能够就图像提出问题并获得口头回答。
为了进一步优化深度学习模型并提高其性能,他将从FP32到FP16或INT8执行量化。这将减少推理所需的内存占用和计算时间,使辅助设备更加高效。
这个项目代码请访问:
https://github.com/IS2AI/kaz-image-captioning
用Python和NVIDIA Jetson NANO做一个自动驾驶滑板坡道
串口通信,玩转Jetson AGX Orin开发套件:调试神器,我命由我不由天!
ChatGPT 和 GPT-4 如何用于 3D 内容生成