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