如何基于香橙派AIpro对视频/图像数据进行预处理?
内容提要
本文介绍了基于香橙派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进行进一步处理。