点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达本文转自|深度学习这件小事

如何打造一个可微分的 OpenCV?如何将图像处理嵌入到训练流程中?你需要 Kornia 这个开源可微的计算机视觉库。

  • 项目地址:https://github.com/arraiyopensource/kornia

目前最经典的图像处理库差不多就是 OpenCV 了,它从最经典的图像算法到非常前沿的 DL 预训练模型囊括了 CV 的很多方面。但现在有一个问题,OpenCV 是不可微的,这意味着它更多的是做预处理等工作,而不能嵌入到整个训练流程中。

在这个项目中,开发者提出了一种新型开源可微分计算机视觉库 Kornia,并且它建立在 PyTorch 之上。

Kornia 包含了一组例程和可微分模块,并致力于解决通用计算机视觉问题。在 Kornia 的核心代码中,它使用 PyTorch 作为主要后端,并高效地利用反向模式自动微分机制来定义并计算复杂函数的梯度。如下所示为 Kornia 可微分处理的一个示例:

受到 OpenCV 的启发,Kornia 由包含各种运算子的子集包组成,这些运算子可以插入到神经网络中,以在训练中执行图像转换、对极几何、深度估计和各种底层图像处理,例如直接在张量上进行滤波和边缘检测等操作。

从比较高的层次上来说,Kornia 库主要包含以下组件:

使用入门

Kornia 使用起来非常简单,它的 API 就可以直接当做算子进行操作,更多的 API 文档或教程可以查阅使用指南。

  • 文档地址:https://kornia.readthedocs.io/en/latest/

import torch
import korniax_rad = kornia.pi * torch.rand(1, 3, 3)
x_deg = kornia.rad2deg(x_rad)# True
torch.allclose(x_rad, kornia.deg2rad(x_deg))

使用案例

项目还提供了很多 Jupyter Notebook,它们展示了使用 Kornia 的各种实例。在这里我们简要介绍了如何使用 Kornia 抽取图像特征。首先得读取并打印图像,这一点和 OpenCV 或其它图像处理库都差不多:

因为这个示例展示的是经典图像处理方法,后面就需要加载预定义的检测特征:

后面就可以根据特征抽取一些图像块,并准备做后续的处理了。

最后,前面根据特征抽取的 2000 个图像块可以进一步采用 SIFT 方法构建描述向量。

—完—

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

可微分的「OpenCV」:这是基于PyTorch的可微计算机视觉库相关推荐

  1. 「Python」python调用单个C++文件生成的动态库(.so)Part I

    环境说明 系统:Ubuntu 18.04 python:python 2.7.17 额外环境 上面的环境是普通测试,但是最终标题中的任务我需要在docker中执行,很多块内容我也不太懂,所以一步一步测 ...

  2. OpenCV 4.2.0 发布,Intel 开源的计算机视觉库

    OpenCV 是 Intel 开源的计算机视觉库.它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法.OpenCV 拥有包括 300 多个 C 函数的跨平台的中. ...

  3. OpenCV 2.4.0 正式版发布,开源计算机视觉库

    OpenCV 于近日发布了 2.4.0 正式版. OpenCV是一个基于BSD许可证授权发行的跨平台开源计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.作为一款简洁而且高效 ...

  4. 斯隆奖新晋得主宋舒然:从视觉出发,打造机器人之「眼」

    来源:AI科技评论 作者 :陈彩娴 编辑 :岑峰 「我一直希望家里有一个机器人,可以帮我洗衣服.做饭.」 宋舒然谈道.而要实现这一设想,机器人视觉研究是不可缺少的一环. 近年来,计算机视觉与机器人的「 ...

  5. 怎样对流媒体进行压力测试_对node工程进行压力测试与性能分析「干货」

    作者:小黎 转发链接:https://mp.weixin.qq.com/s/WBe7ZLoqFD9UqNusnv_IDA 前言 在系统上线前,为了看下系统能承受多大的并发和并发下的负载情况,常常会先进 ...

  6. 自动驾驶落地,究竟被什么「绑」住了脚?

    编译 | 高静宜 项文虎 邱陆陆 来源 | wired 自动驾驶汽车的行驶范围将不再局限于测试跑道或是平静的郊区街道,它们出现在美国的纽约.旧金山以及匹兹堡等地,参与到真实世界的交通中去,也进驻欧洲. ...

  7. 第二届「开悟」大赛结果公布,联动高校破局AI研究挑战

    感谢阅读腾讯AI Lab微信号第143篇文章.本文将公布第二届「腾讯开悟多智能体强化学习大赛」决赛成果. 腾讯正在联动高校,利用王者荣耀的复杂环境,为推动通用人工智能研究创造各种可能性. 4月14日, ...

  8. IEEE Fellow杨铮:打破「视觉」垄断,无线信号为 AI 开启「新感官」

    来源:AI科技评论 作者:陈彩娴 编辑:岑峰 2020年年初疫情刚开始时,清华大学的官方号曾祭出一篇题为<清华教师升级「十大神器」,上课力满格>的推文,讲述了软件学院某老师如何居家办公.探 ...

  9. 初识「零知识」与「证明」

    副标题:探索零知识证明系列(一) 作者:郭宇 本文已更新至Github: https://github.com/sec-bit/learning-zkp/blob/master/zkp-intro/1 ...

最新文章

  1. “数字化”才是智能制造的基础!
  2. vs代码显示波浪线,但没编译错误
  3. 【C++】Visual Studio教程(三) - 项目和解决方案
  4. 部署GitLab时, 问题
  5. jvm监控jstatd使用
  6. Mysql索引示例_MYSQL索引实例
  7. 诺基亚收购了阿朗:那与 TCL 的“阿尔卡特”品牌授权协议到期后咱办?
  8. 4________请拖拽到此区域5________请拖拽到此区域_5分钟学会:蒙版与通道(剪贴蒙版)...
  9. 【TensorFlow】TensorFlow函数精讲之tf.contrib.layers.flatten()
  10. linux java占用199%,linux分区使用率过高又查询不到被哪些文件占用的问题
  11. Android高级-Android操作SQL数据管理,增删改查
  12. Spring Boot Admin 2.3.1 发布,轻量的图形化监控工具
  13. 《Java 核心技术 卷1》 笔记 第八章 事件处理
  14. WDS+MDT网络部署操作系统
  15. java操作远端ftp文件失败
  16. linux mono 安装步骤,如何在Ubuntu 18.04上安装Mono
  17. Vue H5 History 部署IIS上404问题
  18. 变量的生存期与存储类型
  19. 【CSDN AI 周刊】No. 005 | 高精地图在无人驾驶中的应用
  20. 微信小程序开发报错:page is not constructed because it is not found

热门文章

  1. 百度SLG拿下前锤子科技CTO钱晨,还要合并小鱼在家? | 极客头条
  2. 20T数据、百万奖金,同济和武大摘得开放数据创新应用大赛桂冠!
  3. 程序员转型人工智能工程师,如何在百忙之中不走岔路
  4. 硬货 | 一文解读完五篇重磅ACL2017 NLP论文
  5. 不是我吹,这个idea插件你真没用过!
  6. Windows 给力!可以扔掉 Linux 虚拟机了!
  7. 秒杀商品超卖事故:Redis分布式锁请慎用!
  8. 老板说“把系统升级到https”,我用一个脚本实现了,而且永久免费!
  9. 牛逼哄洪的 Java 8 Stream,性能也牛逼么?
  10. Linux 最常用命令整理,建议收藏!