当前位置: 首页 > news >正文

CANN/ops-cv双线性抗锯齿上采样算子

UpsampleBilinear2dAA

【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品×
Atlas 推理系列产品×
Atlas 训练系列产品×
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:对由多个输入通道组成的输入信号应用2D双线性抗锯齿采样。

  • 计算公式:对于一个二维插值点$(N, C, H, W)$, 插值$I(N, C, H, W)$可以表示为:

    $$ {I(N, C, H, W)} = \sum_{i=0}^{kW}\sum_{j=0}^{kH}{w(i) * w(j)} * {f(h_i, w_j)}/\sum_{i=0}^{kW}w(i)/\sum_{j=0}^{kH}w(j) $$

    $$ scaleH =\begin{cases} (input.dim(2)-1) / (outputSize[0]-1) & alignCorners=true \ 1 / scalesH & alignCorners=false&scalesH>0\ input.dim(2) / outputSize[0] & otherwise \end{cases} $$

    $$ scaleW =\begin{cases} (input.dim(3)-1) / (outputSize[1]-1) & alignCorners=true \ 1 / scalesW & alignCorners=false&scalesW>0\ input.dim(3) / outputSize[1] & otherwise \end{cases} $$

    其中:

    • $kW$、$kH$分别表示W方向和H方向影响插值点大小的点的数量

    • 如果$scaleH >= 1$,则$kH = floor(scaleH) * 2 + 1$,否则$kH = 3$

    • 如果$scaleW >= 1$,则$kW = floor(scaleW) * 2 + 1$,否则$kW = 3$

    • $f(h_i, w_j)$是原图像在$(h_i, w_j)$的像素值

    • $w(i)$、$w(j)$是双线性抗锯齿插值的W方向和H方向权重,计算公式为:

      $$ w(i) = \begin{cases} 1 - |h_i - h| & |h_i -h| < 1 \ 0 & otherwise \end{cases} $$

      $$ w(j) = \begin{cases} 1 - |w_j - w| & |w_j -w| < 1 \ 0 & otherwise \end{cases} $$

参数说明

参数名输入/输出/属性描述数据类型数据格式
input输入表示进行采样的输入张量,对应公式中的`input`。FLOAT32、FLOAT16、BFLOAT16ND
output_size属性指定输出空间大小,对应公式中的`outputSize`。size为2,且各元素均大于0。表示指定`output`在H和W维度上的空间大小。LISTINT-
align_corners可选属性
  • 决定是否对齐角像素点,对应公式中的`alignCorners`。如果设置为`true`,则输入和输出张量按其角像素的中心点对齐,保留角像素处的值。如果设置为`false`,则输入和输出张量通过其角像素的角点对齐,并使用边缘值对边界外的值进行填充。
  • 默认值为false。
BOOL-
scales_h可选属性
  • 指定空间大小的height维度乘数,对应公式中的`scalesH`。
  • 默认值为空。
FLOAT32-
scales_w可选属性
  • 指定空间大小的width维度乘数,对应公式中的`scalesW`。
  • 默认值为空。
FLOAT32-
output输出表示采样后的输出张量,对应公式中的`I`。数据类型和数据格式与入参`input`的数据类型和数据格式保持一致。FLOAT32、FLOAT16、BFLOAT16ND
  • Kirin X90 处理器系列产品 、 Kirin 9030 处理器系列产品 :不支持BFLOAT16。

约束说明

调用说明

调用方式样例代码说明
aclnn接口test_aclnn_upsample_bilinear2d_aa通过aclnnUpsampleBilinear2dAA接口方式调用UpsampleBilinear2dAA算子。

【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/788811/

相关文章:

  • 如何用AI技术无损去除视频硬字幕?Video Subtitle Remover完全指南
  • 从OOM Killer到代码重构:一次由Memory cgroup引发的全链路Java应用性能优化实战
  • 在Nodejs服务中集成Taotoken实现稳定且低成本的大模型调用
  • AI赋能非洲公共卫生:机器学习在疾病监测与预测中的实战应用
  • 2026武汉婚纱摄影口碑排名TOP10:新人必看无隐性消费榜单+避坑指南 - 江湖评测
  • STC8 16通道模拟采集 + 4路串口 + 8路PWM 程序
  • 从.deb到.rpm:一文搞懂Linux两大派系软件包的制作差异与互转思路
  • LinkSwift:智能自动化网盘直链下载的终极指南
  • 流体力学中的可解释AI:SHAP方法原理、算法与应用全解析
  • 2026武汉婚纱摄影深度测评报告 - charlieruizvin
  • LizzieYzy:高性能分布式围棋AI分析平台的技术架构与实战应用
  • Mathpix Snip实测:手写公式、复杂PDF截图,识别率到底怎么样?
  • MATLAB R2020a + Simscape:手把手教你搭建一个会弹跳的小球碰撞模型(附避坑指南)
  • 【保姆级教程】OpenClaw v2.7.1 一键部署与配置完整教程(含有安装包)
  • AI如何重塑商业计划书评估:从静态分析到动态决策智能
  • 别再只用setPlaceholderText了!QLineEdit提示文字样式美化全攻略(含字体、颜色、按钮集成)
  • 052 无刷直流电机(BLDC)六步换向法
  • 脉冲神经网络与自我框架:构建下一代脑启发AI的工程实践
  • 智慧树网课助手终极指南:三步开启自动刷课新时代
  • 别急着改代码!Eclipse C/C++报‘could not be resolved’?先试试重建索引和清理项目
  • 【PyTorch实战解析】nn.LSTM与nn.LSTMCell:从模块化构建到手动时序控制
  • ChatGPT 里的“哥布林(goblins)“是怎么来的?
  • 抖音批量下载工具终极指南:高效获取无水印内容的完整技术解析
  • 第三部分-Dockerfile与镜像构建——13. Dockerfile 最佳实践
  • 百度网盘直链解析神器:3分钟突破限速实现满速下载 [特殊字符]
  • 从示波器波形看懂软启动:如何让电容电压匀速上升,电流保持2A限流11毫秒
  • 从空密码到安全加固:详解MySQL root@localhost初始安全风险与实战修复
  • 跨越EDA鸿沟:Allegro PCB高效迁移至PADS实战指南
  • DBeaver驱动管理进阶:手把手教你用PowerShell脚本批量管理本地驱动库,实现一键更新与备份
  • 27_AI短片工作流:从三视图到动态分镜,三步锁定电影级画面