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

2019 年 10 月 3 日 CVer

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达

本文转载自:机器之心    参与:思

如何打造一个可微分的 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 kornia

x_rad = kornia.pi * torch.rand(133)
x_deg = kornia.rad2deg(x_rad)

# True
torch.allclose(x_rad, kornia.deg2rad(x_deg))

使用案例


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



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



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



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



重磅!CVer学术交流群已成立


扫码添加CVer助手,可申请加入CVer-目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测和模型剪枝&压缩等群。一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡)

▲长按加群


▲长按关注我们

麻烦给我一个在看!

登录查看更多
0

相关内容

一个跨平台的计算机视觉处理库,全称是Open Source Computer Vision。
【斯坦福大学博士论文】自监督场景表示学习, 97页pdf
专知会员服务
92+阅读 · 2020年6月19日
Yann Lecun 纽约大学《深度学习(PyTorch)》课程(2020)PPT
专知会员服务
178+阅读 · 2020年3月16日
【经典书】Python计算机视觉编程,中文版,363页pdf
专知会员服务
136+阅读 · 2020年2月16日
【精通OpenCV 4】Mastering OpenCV 4 - Third Edition 随书代码
专知会员服务
36+阅读 · 2019年11月13日
OpenCV4系统化学习路线图与教程
计算机视觉战队
18+阅读 · 2019年3月29日
只需10行Python代码,就能实现计算机视觉中目标检测
从零开始PyTorch项目:YOLO v3目标检测实现
机器之心
14+阅读 · 2018年4月23日
OpenCV特征提取与图像检索实现(附代码)
计算机视觉与深度学习实战
炼数成金订阅号
8+阅读 · 2018年2月9日
OpenCV计算机视觉产品实战
炼数成金订阅号
12+阅读 · 2017年9月22日
Arxiv
8+阅读 · 2018年5月17日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
8+阅读 · 2018年1月25日
VIP会员
相关资讯
OpenCV4系统化学习路线图与教程
计算机视觉战队
18+阅读 · 2019年3月29日
只需10行Python代码,就能实现计算机视觉中目标检测
从零开始PyTorch项目:YOLO v3目标检测实现
机器之心
14+阅读 · 2018年4月23日
OpenCV特征提取与图像检索实现(附代码)
计算机视觉与深度学习实战
炼数成金订阅号
8+阅读 · 2018年2月9日
OpenCV计算机视觉产品实战
炼数成金订阅号
12+阅读 · 2017年9月22日
相关论文
Top
微信扫码咨询专知VIP会员