如何基于香橙派AIpro对视频/图像数据进行预处理?

💡 原文中文,约6200字,阅读约需15分钟。
📝

内容提要

本文介绍了基于香橙派AIpro的视频/图像数据预处理,包括AIPP和DVPP两种方式。AIPP用于改变图像尺寸和色域转换,DVPP是用于图像处理的硬件单元。文章提供了使用AIPP和DVPP功能的代码示例,并附带了学习资源链接。

🔎

延伸解读

静态与动态AIPP的适用场景

静态AIPP在模型转换时固定参数,适合输入尺寸和格式固定的场景,部署简单但缺乏灵活性。动态AIPP允许每次推理前设置参数,适合需要处理多种输入尺寸或格式的应用,但增加了运行时配置的复杂度。开发者应根据实际业务中数据变化的频率和多样性来选择。

DVPP与AIPP的协同工作方式

DVPP擅长图像编解码、视频编解码和基本缩放抠图,而AIPP专注于色域转换和归一化等AI Core上的处理。组合使用时,通常先由DVPP完成解码和缩放,再由AIPP进行格式转换和归一化,这样能充分发挥各自硬件单元的优势,提升整体预处理效率。

预处理流程中的关键步骤

使用DVPP时,需要依次创建通道、准备输入输出描述、执行异步解码和缩放,最后同步流以确保任务完成。使用AIPP时,需通过ATC工具将配置文件嵌入模型,静态AIPP参数固定,动态AIPP则需在推理前调用AscendCL接口设置。注意资源释放,避免内存泄漏。

❓

Q&A

香橙派AIpro的AIPP和DVPP有什么区别?

AIPP主要用于改变图像尺寸和色域转换,而DVPP则是用于图像和视频的编解码等处理。AIPP使用AI Core计算单元,DVPP使用专门的图像处理单元。

如何使用静态AIPP进行图像预处理?

构造AIPP配置文件,设置抠图和色域转换参数,然后使用ATC工具将配置文件传入模型转换命令中,最后调用AscendCL接口执行推理。

动态AIPP与静态AIPP的主要区别是什么?

静态AIPP在模型生成后固定参数,而动态AIPP允许在每次推理前设置不同的参数,提供更大的灵活性。

DVPP的主要功能模块有哪些?

DVPP的主要功能模块包括VPC(图像预处理)、JPEGD(JPEG解码)、JPEGE(JPEG编码)、VDEC(视频解码)、VENC(视频编码)和PNGD(PNG解码)。

如何在香橙派AIpro上使用DVPP进行图像处理?

通过创建DVPP通道,准备输入输出描述信息,执行JPEG解码和VPC缩放等操作,最后同步任务以确保处理完成。

AIPP和DVPP可以同时使用吗?

AIPP和DVPP可以独立使用,也可以组合使用,通常先使用DVPP进行基本处理,再使用AIPP进行进一步处理。

🏷️

标签

➡️

继续阅读