媒体数据处理基础知识
本章主要介绍图像/视频数据处理的具体功能、接口调用流程以及示例代码。
典型功能介绍
CANN提供了AIPP和DVPP两种处理图像/视频数据的方式,本章主要介绍基于DVPP的图像/视频数据处理。
AIPP、DVPP可以分开独立使用,也可以组合使用。组合使用场景下,一般先使用DVPP对图片/视频进行解码、抠图、缩放等基本处理,但由于DVPP硬件上的约束,DVPP处理后的图片格式、分辨率有可能不满足模型的要求,因此还需要再经过AIPP进一步做色域转换、抠图、填充等处理。
例如,在Atlas 200/300/500 推理产品和Atlas 训练系列产品上,由于DVPP视频解码仅支持输出YUV格式的图片,如果模型需要RGB格式的图片,则需要再经过AIPP做色域转换的处理。
处理方式 |
描述 |
---|---|
AIPP(Artificial Intelligence Pre-Processing) |
AIPP人工智能预处理,在AI Core上完成数据预处理,主要功能包括改变图像尺寸(抠图、填充等)、色域转换(转换图像格式)、减均值/乘系数(改变图像像素)等。
AIPP区分为静态AIPP和动态AIPP。您只能选择静态AIPP或动态AIPP中的一种来处理图片,不能同时配置静态AIPP和动态AIPP两种方式。
|
DVPP(Digital Vision Pre-Processing) |
DVPP是昇腾AI处理器内置的图像处理单元,通过pyACL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括以下功能:
说明:
AIPP、DVPP可以分开独立使用,也可以组合使用。组合使用场景下,一般先使用DVPP对图片/视频进行解码、抠图、缩放等基本处理,但由于DVPP硬件上的约束,DVPP处理后的图片格式、分辨率有可能不满足模型的要求,因此还需要再经过AIPP进一步做色域转换、抠图、填充等处理。 例如,在Atlas 200/300/500 推理产品和Atlas 训练系列产品上,由于DVPP视频解码仅支持输出YUV格式的图片,如果模型需要RGB格式的图片,则需要再经过AIPP做色域转换的处理。 |
DVPP图像/视频数据处理的典型使用场景
如果源图或视频的分辨率、格式等与模型的要求不一致时,我们可以将源图或视频处理成符合模型的要求。如下为典型场景的举例。
- 视频解码、缩放。
使用YOLOv3模型实现目标检测的场景下,用户提供的输入视频为H.264/H.265编码格式、分辨率为1920*1080,但YOLOv3模型要求的输入图片格式为RGB/YUV、分辨率为416*416,两者不一致,此时可对视频执行以下一系列处理。
图1 视频解码、缩放使用场景图
- 图片解码、缩放、格式转换。
使用ResNet-50模型实现图片分类的场景下,用户提供的输入图片为JPEG编码格式、分辨率为1280*720,但ResNet-50模型要求的输入图片格式为RGB、分辨率为224*224,两者不一致,此时可对图片执行以下一系列处理。
图2 图片解码、缩放、格式转换使用场景图
- 抠图、缩放、格式转换。
使用ResNet-50模型实现图片分类的场景下,用户提供的输入图片格式为YUV420SP、分辨率为1280*720,但ResNet-50模型要求的输入图片格式为RGB、分辨率为224*224,两者不一致,此时对图片执行以下一系列处理。
图3 抠图、缩放、格式转换使用场景图