语义分割:基于openCV和深度学习(一)
语义分割:基于openCV和深度学习(一)
Semantic segmentation with OpenCV and deep learning
介绍如何使用OpenCV、深度学习和ENet架构执行语义分段。阅读完今天的文章后,能够使用OpenCV对图像和视频应用语义分割。深度学习有助于提高计算机视觉的前所未有的准确性,包括图像分类、目标检测,现在甚至分割。
传统的分割方法是将图像分割为若干部分(标准化切割、图形切割、抓取切割、超像素等);然而,算法并没有真正理解这些部分所代表的内容。
另一方面,语义分割算法试图:
把图像分成有意义的部分,同时,将输入图像中的每个像素与类标签(即人、路、车、公共汽车等)相关联,语义分割算法非常强大,有很多用例,包括自动驾驶汽车——展示如何将语义分割应用于道路场景图像/视频!要学习如何使用OpenCV和深度学习应用语义分割,请继续阅读!
寻找这篇文章的源代码?直接跳到下载部分。OpenCV语义分割与深度学习 在文章的第一部分,将讨论ENet深度学习体系结构。
在这里,将演示如何使用ENet对图像和视频流应用语义分割。在这一过程中,将分享来自分段的示例输出,将语义分段应用于项目时感受到预期的结果。
The ENet semantic segmentation architecture
Figure 1: The ENet deep learning semantic segmentation architecture.
ENet的一个主要优点是它的速度比大型模型快18倍,需要的参数比大型模型少79倍,具有相似或更好的精度。型号本身只有3.2兆! 在的计算机上,一次CPU转发需要0.2秒——如果使用GPU,这个分段网络可以运行得更快。Paszke等人。在Cityscapes数据集上训练该数据集,这是一个语义的、实例化的、密集的像素注释,包含20-30个类(取决于使用的模型)。顾名思义,城市景观数据集包括可用于城市场景理解的图像示例,包括自动驾驶车辆。
使用的特定模型在20个课题中进行了训练,包括:
如何应用语义分割来提取图像和视频流中每个类的密集像素映射。如果有兴趣,在自定义数据集上训练自己的ENet模型进行分段。
Semantic segmentation with OpenCV and deep learning
$ tree --dirsfirst
.
├── enet-cityscapes
│ ├── enet-classes.txt
│ ├── enet-colors.txt
│ └── enet-model.net
├── images
│ ├── example_01.png
│ ├── example_02.jpg
│ ├── example_03.jpg
│ └── example_04.png
├── videos
│ ├── massachusetts.mp4
│ └── toronto.mp4
├── output
├── segment.py
└── segment_video.py
4 directories, 11 files
项目有四个目录:
enet cityscapes/:包含预先训练的深度学习模型、项目列表和与项目对应的颜色标签。
images/:选择四个样本图像来测试图像分割脚本。
videos/:包括两个用于测试深度学习分段视频脚本的示例视频。这些视频的点数列在“视频分割结果”部分。
output/:出于组织目的,喜欢让脚本将处理过的视频保存到output文件夹中。不包括在下载的输出图像/视频,因为文件的大小相当大。需要使用的代码自行生成它们。 将回顾两个Python脚本:
segment.py:对单个图像执行深度学习语义分割。将通过这个脚本来学习分割的工作原理,然后在转到视频之前对单个图像进行测试。
segment_video.py:顾名思义,此脚本将对视频执行语义分割。
语义分割:基于openCV和深度学习(一)的更多相关文章
- 语义分割:基于openCV和深度学习(二)
语义分割:基于openCV和深度学习(二) Semantic segmentation in images with OpenCV 开始吧-打开segment.py归档并插入以下代码: Semanti ...
- 人工智能之基于Opencv与深度学习的计算机视觉实战课程
https://www.bilibili.com/video/av66375362 imagewatch:https://blog.csdn.net/iracer/article/details/83 ...
- Opencv调用深度学习模型
https://blog.csdn.net/lovelyaiq/article/details/79929393 https://blog.csdn.net/qq_29462849/article/d ...
- 从Theano到Lasagne:基于Python的深度学习的框架和库
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...
- (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
- 基于TensorFlow的深度学习系列教程 2——常量Constant
前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hell ...
- 基于 Keras 用深度学习预测时间序列
目录 基于 Keras 用深度学习预测时间序列 问题描述 多层感知机回归 多层感知机回归结合"窗口法" 改进方向 扩展阅读 本文主要参考了 Jason Brownlee 的博文 T ...
- 基于pythpn的深度学习 - 记录
[基于pythpn的深度学习] 环境: windows/linux-ubuntu Tensorflow (基于anaconda) *安装 (python3.5以上不支持) ...
- 基于OpenCL的深度学习工具:AMD MLP及其使用详解
基于OpenCL的深度学习工具:AMD MLP及其使用详解 http://www.csdn.net/article/2015-08-05/2825390 发表于2015-08-05 16:33| 59 ...
随机推荐
- PHP laravel系列之Blade模版
一.什么是Blade模版? Blade 是 Laravel 提供的一个既简单又强大的模板引擎. 和其他流行的 PHP 模板引擎不一样,Blade 并不限制你在视图中使用原生 PHP 代码.所有 Bla ...
- Python中zipfile压缩文件模块的使用
目录 zipfile 压缩一个文件 解压文件 高级应用 利用 zipfile 模块破解压缩文件口令:Python脚本破解压缩文件口令 zipfile Python 中 zipfile 模块提供了对 z ...
- Sqlmap的使用详解
目录 Sqlmap Sqlmap的简单用法 探测指定URL是否存在SQL注入漏洞 查看数据库的所有用户 查看数据库所有用户名的密码 查看数据库当前用户 判断当前用户是否有管理权限 列出数据库管理员角色 ...
- CreateThread 线程操作与 _beginthreadex 线程安全(Windows核心编程)
0x01 线程的创建 线程不同于进程,Windows 中的进程是拥有 '惰性' 的,本身并不执行任何代码,而执行代码的任务转交给主线程,列如使用 CreateProcess 创建一个进程打开 Cmd ...
- windows核心编程-第一章 对程序错误的处理
第一章-对程序错误的处理 在开始介绍Microsoft Windows 的特性之前,必须首先了解 Wi n d o w s的各个函数是如何进行错误处理的. 当调用一个Wi n d o w s函数时,它 ...
- Ubuntu Linux DNS服务器 BIND9配置文件命令介绍
BIND9配置方法 转载▼ 配置语法 named.conf acl 定义访问控制列表 controls 定义rndc命令使用的控制通道,若省略,则只允许经过rndc.key认证的127.0.0 ...
- Redis数据结构—跳跃表
目录 Redis数据结构-跳跃表 跳跃表产生的背景 跳跃表的结构 利用跳跃表查询有序链表 Redis跳跃表图示 Redis跳跃表数据结构 小结 Redis数据结构-跳跃表 大家好,我是白泽,最近学校有 ...
- 使用U盘软碟通安装原版Windows10
https://zhuanlan.zhihu.com/p/171534675 使用U盘软碟通安装原版Windows10 一.准备:8G U盘一个,电脑装好UltraISO这个软件下载地址 二.Wind ...
- 攻防世界 WriteUp
附:|>>>攻防世界-WEB-新手练习区<<<| WriteUp目录 01.|>>>baby_web<<<| 02.|>& ...
- k8s总结复习
一.k8s介绍 Kubernetes(k8s)是Google开源的容器集群管理系统.在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模 ...