社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习100问-13:深度学习如何制作个人数据集?

小白学视觉 • 2 年前 • 249 次点击  

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

     上一节我们谈到深度学习,尤其是计算机视觉方向的一些经典数据集。这些数据除了供我们学习和实验之外,在实际的生产环境下很难起到帮助作用。面对专业领域和定制化场景,我们往往需要自己动手采集和制作数据集。毕竟,有多少人工就有多少智能。数据量越大、数据标注质量越高,训练出来的AI模型才能够越强大。

     本节笔者就介绍如何使用一些开源的标注工具来制作自己的深度学习训练数据集。数据标注是一项耗时和费力的工作,在一些专业领域,比如说医学图像的标注,可能标注起来难度更大、专业性更强。

     目前开源的深度学习标注工具有很多。像Labelme、LabelImg、Vatic、Sloth、ImageJ、CVAT、Yolo_mark、RectLabel和Labelbox等等。本节就介绍如何使用开源的图像标注工具Labelme来制作个人的训练数据集。至于其它标注工具,大家可自行去搜索尝试。


CVAT语义分割标注

     Labelme是MIT的计算机科学和人工智能实验室基于Python和Qt编写的一款开源图像标注工具。我们可以使用Labelme轻松实现分类、检测和分割等视觉任务的图像标注工作。

     Labelme的安装非常简单,直接用Python的包安装工具pip即可安装:

pip install labelme

     安装完成后直接在命令行输入labelme即可调出gui界面:


     调出gui后,可以尝试打开某一张图片或者某一文件夹加载所有图片。打开任意一张图片,选择edit菜单栏下的create polygons进行手动标注,勾勒出每个动物的轮廓,最后点击保存为.json标签文件。


     重新打开.json标注文件:


     得到.json文件还不够,我们还需要将json转化为mask标签图像,直接在命令行调用labelme提供好的json_to_dataset函数将json进行标签转换:

labelme_json_to_dataset dogcat.json

     转换完成后会生成一个标签文件夹,包括原始图像img.png、标签图像label.png、标签可视化图像label_viz.png、标签名称的.txt文件和.yaml格式标签名称文件。

     查看label的像素分类值情况:

import numpy as npfrom PIL import Imagenp.unique(label)
array([0, 1, 2, 3], dtype=uint8)

     labelme作为一个开源工具,我们也可以尝试对其源码进行修改或者二次开发来实现定制化的标注功能。labelme代码目录结构:

     labelme在PASCAL VOC数据集上的实例分割标注示例:

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/157498
 
249 次点击