Introduction
This document provides the installation guide and detailed operator interface definition of the Kunpeng Computer Vision Library (KPCV).
KPCV is designed for the Kunpeng platform, aiming to improve image processing performance on Kunpeng servers. KPCV contains optimizations of the OpenCV, KP_LITHO_IMG, and PyTorch image operators, and uses methods such as algorithm optimization, vector instructions, and parallelism to significantly improve performance on Kunpeng servers compared with the open source counterparts. Table 1 lists the operators in KPCV.
No. |
Operator |
Description |
|---|---|---|
1 |
CV image operator |
Kunpeng vector instructions are used to optimize its image processing interfaces, including merge, resize (it supports multiple interpolation modes, such as cv2.INTER_LINEAR, cv2.INTER_CUBIC, and cv2.INTER_NEAREST_EXACT), remap, dilate, GaussianBlur, and cvtColor. |
2 |
KP_LITHO_IMG operator |
Kunpeng vector instructions are used to optimize its image interfaces, including gaussian_blur, gaussian_blur_fft, local_min/local_max, slope, laplacian, and fft_upsampling. |
3 |
PyTorch image operator |
Kunpeng vector instructions are used to optimize its data preprocessing interfaces, including normalize, permute, and resize (InterpolationMode.BILINEAR (default) and InterpolationMode.BICUBIC are optimized). |
KPCV is available only on the Kunpeng platform. To achieve the optimal performance, the interfaces do not verify all input parameters, and the parameter verification logic of the original OpenCV and TorchVision functions is used. The validity of input parameters needs to be ensured by the service that calls the interfaces.