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

2019 年 10 月 27 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~


来源:机器之心

参与:思


如何打造一个可微分的 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 方法构建描述向量。




-End-


*延伸阅读





CV细分方向交流群


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流一起来让思想之光照的更远吧~



△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

登录查看更多
0

相关内容

一个跨平台的计算机视觉处理库,全称是Open Source Computer Vision。
最新《自动微分手册》77页pdf
专知会员服务
97+阅读 · 2020年6月6日
【ICLR2020】图神经网络与图像处理,微分方程,27页ppt
专知会员服务
47+阅读 · 2020年6月6日
【CMU】深度学习模型中集成优化、约束和控制,33页ppt
专知会员服务
44+阅读 · 2020年5月23日
Yann Lecun 纽约大学《深度学习(PyTorch)》课程(2020)PPT
专知会员服务
178+阅读 · 2020年3月16日
《深度学习》圣经花书的数学推导、原理与Python代码实现
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
CMU博士论文:可微优化机器学习建模
专知会员服务
54+阅读 · 2019年10月26日
港中文开源基于PyTorch的多任务人脸识别框架
极市平台
17+阅读 · 2019年8月31日
PyTorch 学习笔记(六):PyTorch的十七个损失函数
极市平台
47+阅读 · 2019年5月13日
TorchSeg:基于pytorch的语义分割算法开源了
极市平台
20+阅读 · 2019年1月28日
从张量到自动微分:PyTorch入门教程
论智
9+阅读 · 2018年10月10日
教程 | PyTorch经验指南:技巧与陷阱
机器之心
15+阅读 · 2018年7月30日
【干货】使用Pytorch实现卷积神经网络
专知
13+阅读 · 2018年5月12日
OpenCV特征提取与图像检索实现(附代码)
从基础概念到实现,小白如何快速入门PyTorch
机器之心
13+阅读 · 2018年2月26日
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Arxiv
8+阅读 · 2018年5月21日
Arxiv
5+阅读 · 2018年2月26日
Arxiv
10+阅读 · 2018年2月17日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
20+阅读 · 2018年1月17日
VIP会员
相关VIP内容
最新《自动微分手册》77页pdf
专知会员服务
97+阅读 · 2020年6月6日
【ICLR2020】图神经网络与图像处理,微分方程,27页ppt
专知会员服务
47+阅读 · 2020年6月6日
【CMU】深度学习模型中集成优化、约束和控制,33页ppt
专知会员服务
44+阅读 · 2020年5月23日
Yann Lecun 纽约大学《深度学习(PyTorch)》课程(2020)PPT
专知会员服务
178+阅读 · 2020年3月16日
《深度学习》圣经花书的数学推导、原理与Python代码实现
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
CMU博士论文:可微优化机器学习建模
专知会员服务
54+阅读 · 2019年10月26日
相关资讯
港中文开源基于PyTorch的多任务人脸识别框架
极市平台
17+阅读 · 2019年8月31日
PyTorch 学习笔记(六):PyTorch的十七个损失函数
极市平台
47+阅读 · 2019年5月13日
TorchSeg:基于pytorch的语义分割算法开源了
极市平台
20+阅读 · 2019年1月28日
从张量到自动微分:PyTorch入门教程
论智
9+阅读 · 2018年10月10日
教程 | PyTorch经验指南:技巧与陷阱
机器之心
15+阅读 · 2018年7月30日
【干货】使用Pytorch实现卷积神经网络
专知
13+阅读 · 2018年5月12日
OpenCV特征提取与图像检索实现(附代码)
从基础概念到实现,小白如何快速入门PyTorch
机器之心
13+阅读 · 2018年2月26日
相关论文
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Arxiv
8+阅读 · 2018年5月21日
Arxiv
5+阅读 · 2018年2月26日
Arxiv
10+阅读 · 2018年2月17日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
20+阅读 · 2018年1月17日
Top
微信扫码咨询专知VIP会员