重磅!!!OpenCV4.4.0新鲜出炉!支持YOLO v4,SIFT无偿使用

戳一戳!和我一块儿走进opencv的世界python

导读算法

opencv发展已久,2020年7月18日,OpenCV官网发布了OpenCV的最新版OpenCV4.4.0。让咱们一块儿来了解一下吧!后端


若是你想了解更多有关于计算机视觉、OpenCV、机器学习、深度学习等相关技术的内容,想与更多大佬一块儿沟通,那就加群:326866692 或者扫描下方二维码加入咱们吧!微信

OpenCV4更新啦框架


通过久久的辛苦等待,OpenCV终于迎来了4.4.0。为何是辛苦等待呢?机器学习


由于它支持YOLO v4啦!svg


具体都有哪些更新呢,让咱们接着进入下面的内容吧!函数


若是你以为详细介绍每一个更新点太繁琐,别紧张,日后,还有汇总哦!学习

1 具体的更新点有什么?区块链

更新点1


支持YOLO v4


最重要的就是:


OpenCV4.4.0支持YOLO v4啦!


好吧,可能仅仅是对我来讲最重要吧,不过这些都不重要。


YOLO v4刚出来的时候,OpenCV不支持YOLO v4模型,因此当时我当时使用OpenCV作YOLO v4,只是单纯的用它来输入输出图像。检测用的仍是Darknet。


OpenCV中添加了YOLO v4的激活函数,可以更好地支持YOLO v4啦!具体添加的代码以下:


float softplus(float x, float threshold = 20) { if (x > threshold) return x; // too large else if (x < -threshold) return expf(x); // too small return logf(expf(x) + 1);}
float mish_activation(float input) { const float MISH_THRESHOLD = 20; output = input * tanh( softplus(input, MISH_THRESHOLD) ); return output;}


想了解YOLO v4,利用YOLO v4作简单的物体检测,能够查看下面的文章:


【DL-YOLO】尝鲜!Windows下实现YOLOv4物体检测(VS2015+OpenCV)


用OpenCV实现YOLO v4能给咱们带来什么惊艳的效果呢?让咱们拭目以待。


更新点2


SIFT算法移至主存储库


对于大多数人来讲,可能最惊喜的是:


SIFT能够无偿使用啦!


SIFT专利到期,移入到了主存储库。这意味着咱们能够无偿使用了。


有童鞋可能不了解SIFT。我来简单科普一下下:


SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述。这种描述具备尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。


更新点3


其它DNN模块的更新


最开始咱们讲的支持YOLO v4是DNN模块更新的一部分,我想这是也大多数人在意的那一部分。除此以外,还有不少更新,有以下几个方面:


模型方面:

ONNX:添加对Resnet_backbone (Torchvision)的支持;

支持EfficientDet模型;


示例方面:

基于C++和python的文本识别样例;

FlowNet2光流;


英特尔®推理引擎后端更新:

增长了对OpenVINO 2020.3 LTS / 2020.4版本的支持;

计划在下一版本中删除对NN Builder API的支持;


CUDA后端进行了一些修复和优化


更新点4


G-API模块


这个神奇的模块还有一个logo:


G-API logo


若是非要让我评价这个logo,就是稳中带骚


G-API更新有以下几个方面:


在OpenCV后端引入了用于状态内核的新API

GAPI_OCV_KERNEL_ST

有状态内核在各个图执行(标准中更多)或流的视频帧之间(以流模式)保留其状态。


在G-API推出更多面向视频的操做:

goodFeaturesToTrack

buildOpticalFlowPyramid

calcOpicalFlowPyrLK


添加了更多的图像处理内核

Laplacian

双边过滤器


修复了G-API的OpenCL后端中的潜在崩溃。


更新点5


其余重要更新汇总


除了上述的更新,还有不少重要更新以下:


支持Obj-C / Swift绑定;


支持Julia绑定opencv_contrib模块,是正在进行的GSoC项目的一部分);


BIMEF(opencv_contrib模块):生物启发的多重曝光融合框架,用于弱光图像加强简单来讲,就是能够对比较暗的图像进行图像加强,显像效果更好,看下面的示例图:

弱光图像加强示例

为CV_16UC1图像启用Otsu阈值16位Otsu阈值处理对红外图像颇有用。


为文本检测添加笔划宽度变换算法,简单点说就是检测文本变形的算法已经支持设置描边宽度啦!


2 更新点汇总

确实更新内容仍是比较多样化的,介绍也尽量的详细。


但避免不了有些娃,他就是喜欢简洁!


好吧,那我就再汇总一下,更新主要有以下几个方面:


一、SIFT更新

专利过时,支持无偿使用,算法移至主存储库;


二、DNN模块更新

支持最新的YOLO v4,ONNX模型支持 Resnet_backbone 、支持  EfficientDet 模型。

添加了C++和python两个版本的文本识别示例、添加了FlowNet2光流。

英特尔推理引擎后端更新、CUDA后端修复及优化。


三、G-API模块

在OpenCV后端引入了用于状态内核的新API 、在G-API推出更多面向视频的操做、添加了更多的图像处理内核、修复潜在崩溃。


四、其余更新

支持Obj-C / Swift绑定、支持Julia绑定、添加BIMEF框架用于弱光图像加强、为CV_16UC1图像启用Otsu阈值、为文本检测添加笔划宽度变换算法。

关于OpenCV4教程

1 吐槽一下本身吧

pia pia pia


打脸一时爽,一直打脸一直爽,昨天刚发布了4.3.0的教程,4.4.0就官宣更新!


更可气的是,第一篇教程,其实大概在一周前就写好了,而后各类事,拖着拖着就忘了发。我这个脑子,唉!


等到今天心血来潮,忽然想看看官网了,发现,有了更新:


官网更新


因此,OpenCV4.3.0教程,可能在某种意义上说,它已经没有跟上OpenCV官网的步伐了。


确实是啊!4.3.0是四月份发布的,如今已经三个月过去了。

2 关于OpenCV-python系列教程

虽然个人教程是基于4.3.0写的。但想一想,一切都还好。


一方面,更新,只是在原有基础上,让功能更加丰富,让不完善的功能完善。对于基础教程而言,他并无太大变化,甚至没有变化。


另外一方面,不能由于最新版的出现,咱们就否认掉写老版教程的意义,毕竟4.3.0尚未过期。


因此,个人教程还会一如既往的写下去,当你们掌握了4.3.0,再去了解4.4.0的时候,就会轻松不少,毕竟咱们只要去深究更新的几点就能够了。


想学习OpenCV-python的童鞋,从下面的文章,开始步入学习之路吧!


【OpenCV教程】01 OpenCV简介与安装

3 强行升华

前行的道路,老是曲折的,甚至可怜的人儿,一直会受到命运的摆布、嘲弄、戏耍。


就像小明,终于有勇气,向喜欢的姑娘表白,姑娘却成为他人的女友;


就像小华,终于攒够了买玩具的钱,玩具却涨价了;


就像小左,终于狠下决心,写4.3.0的教程,最新版却已更新。


(PS:前两个是我编的,第三个是我)


可这人生即便再让咱们遍体鳞伤,咱们也不能向它屈服,由于,没有什么可以阻挡,我对前方的追求与渴望!


我,是一个永远在路上,永远不服输的小男孩;


我,是小左!


我,是水亦心!


一个永远满怀但愿、一个永远给人正能量的不服输男孩儿!


我会陪你在坚持努力的道路上一直走下去!

若是喜欢这篇文章

麻烦给我一个在看

本文分享自微信公众号 - AI与区块链技术(Math_AI_Blockchain)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索