将 ICDAR 2015 的 Ground Truth 标注在图像数据上

MATLAB简单实现图片的标注,手工完成ground truth的注释标注 因为对MATLAB语法不太熟悉,所以只是简单实现了三次ginput的取坐标点,以后熟练了再改进 %对图片上某个点进行标注 clear all close all clc set(gcf,'color','white') A=imread('1.png'); B=imshow(A); [x,y] = ginput; C=[x,y]; hold on plot(x,y,'o'); % 阅读详情

因为要标注数据,数据集是 ICDAR 2015 比赛中的 Challenge 4: Incidental Scene Text。

原图及标注的图像,还有给定的 ground truth 文件如下所示: 

这里写图片描述

最左边是原图,中间是标注的图像,右边是 ground truth 文件内容,按顺时针顺序的坐标: x1,y1,x2,y2,x3,y3,x4,y4 ,最后是 words,但是如果是 ### 这种表示的,则表示不 care 文字的内容。

用 Python 将 ground truth 框住文字,代码如下:

import os
import path
import glob
import Image, ImageDraw

# ground truth directory
gt_text_dir = "/home/chenxp/Documents/Hitachi/ICDAR_2015/ICDAR2015_ch4/ch4_training_localization_transcription_gt"

# original images directory
image_dir = "/home/chenxp/Documents/Hitachi/ICDAR_2015/ICDAR2015_ch4/*.jpg"
imgDirs = []
imgLists = glob.glob(image_dir)

# where to save the images with ground truth boxes
imgs_save_dir = "/home/chenxp/Documents/Hitachi/ICDAR_2015/ICDAR_with_GT"

for item in imgLists:
    imgDirs.append(item)

for img_dir in imgDirs:
    img = Image.open(img_dir)
    dr = ImageDraw.Draw(img)    

    img_basename = os.path.basename(img_dir)
    (img_name, temp2) = os.path.splitext(img_basename)
    # open the ground truth text file
    img_gt_text_name = "gt_" + img_name + ".txt"
    print img_gt_text_name

    bf = open(os.path.join(gt_text_dir, img_gt_text_name)).read().decode("utf-8-sig").encode("utf-8").splitlines()

    for idx in bf:
        rect = []
        spt = idx.split(',')
        rect.append(float(spt[0]))
        rect.append(float(spt[1]))
        rect.append(float(spt[2]))
        rect.append(float(spt[3]))
        rect.append(float(spt[4]))
        rect.append(float(spt[5]))
        rect.append(float(spt[6]))
        rect.append(float(spt[7]))

        # draw the polygon with (x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4)
        dr.polygon((rect[0], rect[1], rect[2], rect[3], rect[4], rect[5], rect[6], rect[7]), outline="red")

    img.save(os.path.join(imgs_save_dir, img_basename))
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

上面代码中间有一句话:

bf = open(os.path.join(gt_text_dir, img_gt_text_name)).read().decode("utf-8-sig").encode("utf-8").splitlines()
 
  • 1
  • 1

如果没有 decode("utf-8-sig").encode("utf-8") 这句话,那么在解析 ground truth 的 txt 文件时,会在首行多处下面的东西,如下所示: 

这里写图片描述

看到了吗?第一行 \xef\xbb\xbf ,这是什么鬼?

Google 一下,在 stackoverflow 上有个问答:Split function add: \xef\xbb\xbf…\n to my list: 

这里写图片描述

原来是 txt 文件编码包含了 UTF-8 BOM。

最后标注的结果如下: 

这里写图片描述

这里写图片描述
图像标注工具 ground truth annotation and labeling 几种简单的图像和视频标注工具 对于计算机视觉的研究者来说,图像和视频的标注是一项基础但繁重的工作。通常大家都会写一段Matlab小程序来完成基本的图像标注任务,当然是在标注需求比较简单的情况下。下面给大家介绍几种简单易用的图像和视频标注工具。 (1) LabelMe:   网址:http://labelme.csail.mit.edu/Release3.0/  开发团队: MIT 适 阅读详情

相关推荐

【python代码】Kittle数据集的ground truth生成深度图攻略|彩色深度图|代码无恼运行

【python代码】Kittle数据集的ground truth生成深度图攻略|彩色深度图|代码无恼运行

MengYa_Dream的博客 5574

图像中里面的Ground Truth

经常会在一些项目中,遇到Ground Truth,例如把其中的某种图像类型叫做Ground True, 下面介绍一下: 一、Ground True的介绍 下从机器学习说起,什么叫做Ground True,毕竟深度学习也是机器学习的一个分支; 机器学习包括 有监督学习(supervised learning) 无监督学习(unsupervised learning) 半监督学习(semi-super...

NJU phd 在读。 5122

VOC2007目标检测多ground truth制作

VOC2007数据集的ground truth制作,一副图像可以标记多个目标

Ground Truth(真实标注数据):机器学习中的“真相”基准

本文介绍了机器学习与深度学习领域的一个常见概念:Ground Truth(GT,真实标注数据)。Ground Truth(简称GT)是指在训练和评估机器学习模型时使用的已知正确答案或标签。它是模型学习的基础,也是评估模型性能的标准。在图像分类任务中,Ground Truth是每张图片的正确类别标签(label)在目标检测中,Ground Truth是物体在图像中的精确位置和类别(mask、annfiles等)在自然语言处理中,Ground Truth可能是文本的情感标签或正确的翻译。

欢迎来到我的优快云个人博客主页! 6352

ROS激光雷达动态避障算法优化(C++实战)

本文深入探讨了ROS激光雷达动态避障算法的C++实战优化。针对动态环境的核心挑战,文章系统性地介绍了从激光数据预处理(降噪、瘦身)、动态障碍物检测与跟踪,到基于动态窗口法(DWA)的智能决策与调优的全流程。重点分享了如何将障碍物速度预测融入DWA打分函数,以实现更安全、流畅的避障,并提供了工程架构、性能优化及真机调试的实用建议。

weixin_29192141的博客 945

关于自制的《航空学报》latex模板(非官网模板)

《航空学报》的官网只提供了word模板,并且该期刊投稿只需要pdf版本不需要源文件。为方便latex爱好者撰写论文,提供该模板及说明给广大科研人士~

qq_37105055的博客 4696

photoshop 标注ground truth

在图像分割中,有时需要自己标注数据的边界,photoshop的图层功能可以帮你方便的完成这一工作: 首先,打开要标注的图像,将其设置为背景图像 2. 建立新图层:图层、新建、图层 3. 设置新建图层的透明度,比如20%,以透过该图层看到背景图层 4. 为方便标注数据,对新建的图层的前景、背景进行设置: 背景设为全黑,前景设为全白 也就是你用画笔画的为白色,而底色是黑色的。 这样便可以通

activeforcus的专栏 5653

Surface Go 2 变身 Linux 开发本:保姆级 Ubuntu 20.04 双系统安装与驱动配置全攻略

本文详细介绍了如何将 Surface Go 2 变身为高效的 Linux 开发本,涵盖 Ubuntu 20.04 双系统安装、专用内核配置、驱动优化等全流程。通过 linux-surface 内核安装和硬件驱动优化,确保 Surface Go 2 的触控、笔输入、摄像头等功能完美运行,适合开发者打造便携生产力工具。

weixin_30596165的博客 616

使用labelme标注ground truth

step1:标注 直接在Anconda prompt 中输入 labelme 即可打开标注软件 Step2: json 转png 原文链接:https://blog.youkuaiyun.com/weixin_45437022/article/details/114751314?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.high

suxioapian的博客 1085

ISO26262功能安全--产品开发过程

目录 1.总体理解 2.概念阶段——吹牛,我们是打草稿的 2.1 相关项定义 2.2 HARA分析 2.3 功能安全目标 2.4 安全需求与安全概念 3. 系统阶段——闭门造神车,我们开始修炼 3.1 技术安全需求(TSC) 3.2 系统架构设计 3.3 安全分析与独立性分析 3.4 软硬件接口(HSI) 4. 硬件阶段——苦其心志,苦练经骨 4.1 硬件架构...

AgingMoon的博客 1万+

群晖NAS搭建Git Server避坑指南:从SSH配置到权限管理的完整流程

本文提供了一份详尽的群晖NAS搭建Git Server实战指南。文章从启用并安全配置SSH服务入手,深入解析了用户权限体系设计、SSH连接与仓库初始化、客户端SSH密钥配置等核心步骤,并提供了常见错误排查与生产环境加固方案,帮助开发者成功构建私有、安全的代码托管平台。

rock5的博客 420

ICDAR2015 的 Ground Truth 标注在图像数据上

python3 运行 #coding=utf-8 #python 3 import os import shutil import cv2 import numpy as np root_ = "/media/PSENet/data/CTW1500/train/icdar2015/Challenge4/" gt_path = root_ + "ch4_training_localization_...

无左无右的博客 1362

告别卡顿闪烁!在Cesium 1.134中集成SOG格式,让400万高斯秒级加载

本文详细介绍了如何在Cesium 1.134中集成SOG格式,实现400万高斯数据的秒级加载,解决传统加载方式导致的卡顿和闪烁问题。通过空间索引重构、属性量化编码和WebGPU原生支持等技术,SOG格式显著提升了三维地理空间可视化的性能。文章还提供了环境准备、模型转换和Cesium集成的实战指南,帮助开发者高效优化项目。

weixin_29313817的博客 499

如何利用Total-Text-Dataset评估协议Deteval.py计算文本检测精度?

Total-Text-Dataset是一个包含1555张图像的文本检测数据集,支持水平、多方向和弯曲三种文本方向,是评估文本检测算法性能的理想选择。本文将详细介绍如何使用该数据集提供的Deteval.py评估协议,快速准确地计算文本检测精度。 ## Total-Text-Dataset数据集概述 Total-Text-Dataset数据集具有独特的多样性,包含了多种文本方向和场景。数据集统计信

gitblog_00867的博客 395

华为OD机试 新系统真题 【数字系统转换器】

华为OD机试 新系统真题【数字系统转换器】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【数字系统转换器】多语言题解。

qq_45776114的博客 542

cv_resnet18_ocr-detection train_gts目录:标注文件存放规范

本文介绍了如何在星图GPU平台上自动化部署cv_resnet18_ocr-detection OCR文字检测模型(构建by科哥),实现图像中文本区域的精准定位。该镜像专为中文场景优化,适用于电商截图、文档扫描、手机界面等OCR前置检测任务,显著提升文字识别流程的准确率与效率。

weixin_29885875的博客 299

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

EAST文本检测框架:从核心原理到工业部署的完整实践指南

在计算机视觉领域,场景文本检测是OCR(光学字符识别)流程中的关键基础任务,其目标是从复杂图像中精准定位文字区域。其核心原理通常基于深度学习模型,通过特征提取网络学习图像的语义信息,并利用回归或分割技术预测文本的几何位置。这项技术的核心价值在于将非结构化的图像文字信息转化为可处理的结构化数据,极大地提升了自动化信息提取的效率和准确性。在工程实践中,高效的文本检测模型需要平衡精度与速度,并能够灵活部署于服务器、移动端或嵌入式设备等不同平台。其典型应用场景包括文档数字化、车牌识别、街景文字提取以及各类需要自动理

weixin_30376509的博客 703

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

BanglaWild:孟加拉语场景文字识别基准与评估实践

场景文字识别(STR)是OCR领域最具挑战性的方向之一,其目标是从街景招牌、商品包装等复杂自然图像中准确读取文字。面对光照、弯曲、遮挡等干扰,模型性能常常大幅下降,而传统基准多以英文和中文为主,导致低资源语言如孟加拉语(Bengali)的评估长期缺失。视觉语言模型(VLM)的出现进一步拓展了场景文字理解的边界,却也带来了评测协议不统一的问题。BanglaWild作为首个面向真实野外场景的孟加拉语STR基准,提供了可复现、可对比的评估体系,同时兼容传统OCR模型与VLM的验证。本文介绍BanglaWild的设

weixin_34200628的博客 399

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

<视觉>——Ground truth的含义

机器学习包括有: 监督学习---(supervised learning) 无监督学习---(unsupervised learning) 半监督学习---(semi-supervised learning) 在监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注. 正确的t标注是ground truth,错误的标记则不是。(也有人将所有标注数据都叫做grou...

Kano365的博客 4244

图像中里面的Ground Truth是什么意思

图像中里面的Ground Truth是什么意思文章目录:一、Ground True的介绍二、图像中的Ground True的介绍 经常会在一些项目中,遇到Ground Truth,例如把其中的某种图像类型叫做Ground True, 下面介绍一下: 一、Ground True的介绍 下从机器学习说起,什么叫做Ground True,毕竟深度学习也是机器学习的一个分支; 机器学习包括 有监督学习(...

求真、务实 4万+

机器学习中ground truth的解释

作者:lee philip 链接:https://www.zhihu.com/question/22464082/answer/21443035 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 机器学习包括有监督学习(supervised learning),无监督学习(unsupervised learning),和半监督学习(semi-supe

wuruiaoxue的专栏 2万+

ICDAR2015完整文本定位数据库:文本定位研究的强大助力

ICDAR2015完整文本定位数据库:文本定位研究的强大助力 去发现同类优质开源项目:https://gitcode.com/ 在文本定位和图像识别领域,拥有一个全面且高质量的数据库是研究人员和学生成功的关键。ICDAR 2015完整文本定位数据库以其丰富的图像数据,成为了这一领域内不可或缺的资源。 项目介绍 ICDAR 2015完整文本定位数据库是一个专为文本定位研究设计的开源数据库。它为研究人...

gitblog_06787的博客 429
上一篇: caffe保存训练输出到log 并绘制accuracy loss曲线
下一篇: 基于Faster-rcnn及FCN的中文OCR文本定位
2014wzy
博客等级 码龄13年 759粉丝 85原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值