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

怎样打制一个可微分的 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/

importtorch
importkornia

x_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 方法构修描画向量。


工程开源库盘算机视觉
3
相关数据
OpenCV技能

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的盘算机视觉库。OpenCV是由英特尔公司发动并到场开辟,以BSD许可证授权发行,可以商业和研讨范畴中免费运用。OpenCV可用于开辟及时的图像处理、盘算机视觉以及方式识别顺序。

边沿检测技能

边沿检测是图像处理和盘算机视觉中的基本题目,边沿检测的目标是标识数字图像中亮度改造分明的点。图像属性中的分明改造一般反又厮属性的主要事情和改造。这些包罗(i)深度上的不延续、(ii)外面偏向不延续、(iii)物质属性改造和(iv)场景照明改造。 边沿检测是图像处理和盘算机视觉中,特别是特征检测中的一个研讨范畴。

特征抽取技能

引荐作品
暂无评论
暂无评论~