SmartDoc2015-Challenge1数据集的“可计算”版本的Python包装器。

smartdoc15-ch1的Python项目详细描述


The source for this project is available here

The SmartDoc 2015 Challenge 1 dataset最初是为SmartDoc2015比赛创建的,该比赛的重点是评估使用智能手机获取文档图像的方法。挑战1尤其包括从智能手机的预览流中提取的视频帧中检测和分割文档区域。

这个数据集以一种新的格式打包,并创建了一个python包装器(当前的包)以便于使用。

数据集版本

此包装器使用的数据集版本为:2.0.0

数据集的源在这里:https://github.com/jchazalon/smartdoc15-ch1-dataset

示例用法

这个python包有3个任务可以帮助您测试方法,但首先您必须正确安装这个包:

pip install smartdoc_ch1

一个好的做法是在虚拟环境中安装这样的软件包。 我们建议使用Virtualenv Wrapper来使用虚拟环境。

任务1:分割

分段:这是原始任务。

输入是视频帧,预期输出是由每个帧中文档图像的四个角(左上角、左下角、右下角和右上角)的协调组成。 通过计算预期文档区域和找到的区域的并集上的交集(“iou”或“jaccard索引”)来执行评估。棘手的是,坐标被投影到文档引用,以便在不同的框架和不同的文档模型之间进行比较。 原始的评估代码可以在https://github.com/jchazalon/smartdoc15-ch1-eval找到,python包装器还包含一个使用新数据格式的实现。

  • 读取数据集
  • [选择。阅读模型]
  • [选择。列车/测试分离+列车]
  • 测试
  • 评估

任务2:模型分类

模型分类:这是一个新任务。

输入是视频帧,预期输出是在每个帧中表示的文档模型的标识符。 有30个模型名为“datasheet001”、“datasheet002”、“tax005”。 评估作为任何多类分类任务执行。

  • 读取数据集
  • [选择。阅读模型]
  • [选择。列车/测试分离+列车]
  • 测试
  • 评估

任务3:模型类型分类

模型类型分类:这是一个新任务。

输入是视频帧,预期输出是表示在每个帧中的文档模型type的标识符。 共有6种型号,每个型号有5个成员,分别命名为“数据表”、“信函”、“杂志”、“纸张”、“专利”和“税”。 评估作为任何多类分类任务执行。

  • 读取数据集
  • [选择。阅读模型]
  • [选择。列车/测试分离+列车]
  • 测试
  • 评估

可选:使用模型图像

手动下载选项

如果你在代理后面,有一个缓慢的连接或任何其他原因,你可能需要手动下载数据集,而不是让Python包装器为你做。 这很简单:

  1. frames.tar.gzmodels.tar.gz文件从https://github.com/jchazalon/smartdoc15-ch1-dataset/releases下载到某个本地目录;
  2. 选择要存储文件的位置并手动创建文件层次结构(此处smartdoc_ch1_home中间目录很重要):
mkdir -p PATH_TO_STORAGE_DIR/smartdoc_ch1_home/frames
mkdir -p PATH_TO_STORAGE_DIR/smartdoc_ch1_home/models
  1. 将存档文件提取到其目标目录:
tar -xzf PATH_TO_FRAMES.TAR.GZ -C PATH_TO_STORAGE_DIR/smartdoc_ch1_home/frames
tar -xzf PATH_TO_MODELS.TAR.GZ -C PATH_TO_STORAGE_DIR/smartdoc_ch1_home/models

然后,确保在调用load_sd15ch1_framesload_sd15ch1_models函数时指定data_home=PATH_TO_STORAGE_DIRdownload_if_missing=False。函数get_sd15ch1_basedir_framesget_sd15ch1_basedir_models还要求指定data_home=PATH_TO_STORAGE_DIR

默认情况下,本地数据集存储的路径符合scikit learn标准位置:PATH_TO_STORAGE_DIR=~/scikit_learn_data

<分区 id="api">

API

待办事项文档

MODEL_VARIANT_01_ORIGINAL="01-original"MODEL_VARIANT_02_EDITED="02-edited"MODEL_VARIANT_03_CAPTURED="03-captured-nexus"MODEL_VARIANT_04_CORRECTED="04-corrected-nexus"MODEL_VARIANT_05_SCALED33="05-corrected-nexus-scaled33"load_sd15ch1_frames(data_home=None,sample=1.0,shuffle=False,random_state=0,download_if_missing=True,load_images=False,resize=None,color=False,with_model_classif_targets=True,with_modeltype_classif_targets=True,with_segmentation_targets=True,with_model_shapes=True,return_X_y=False,)load_sd15ch1_models(data_home=None,download_if_missing=True,load_images=False,variant=MODEL_VARIANT_05_SCALED33,color=False,with_model_ids=True,with_modeltype_ids=True,return_X_y=False,)read_sd15ch1_image(root_dir,image_relative_path,resize=None,color=False)read_sd15ch1_images(root_dir,image_relative_path_seq,resize=None,color=False)get_sd15ch1_basedir_frames(data_home=None)get_sd15ch1_basedir_models(data_home=None)eval_sd15ch1_segmentations(segmentations,target_segmentations,model_shapes,frame_resize_factor=1.0,print_summary=False)eval_sd15ch1_classifications(labels,target_labels)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓在java中加入字符串组以创建复合字符串   java系统甚至不点击“下一步”或“上一步”按钮就将我返回到上一页,而不是进入下一页   java如何在arrayList中获取特定列的不同值   CXF GZIP REST JAVA   Java:使用大量半恒定标志检查优化循环中的循环?   java如何在两个应用程序之间进行会话管理?   java SVG文件使用蜡染(但没有轴线)转换为PNG   使用协议缓冲区和内部数据模型的java   java如何在logtag 安卓中打印和查看字符串的值   javascript如何在NodeJs中应用Java/Spring的分层架构?   java Spring URL在JSP中编码不正确   模式对话框后面的java工具提示   java WSRPC生成日历对象而不是日期   在对象外部无法识别类变量   java将图像从文件读/写到BuffereImage的最快方法?   JavaSpring数据存储库对具有不同Id的子类使用抽象超类   安全在Java 5.0上运行web应用程序服务器有危险吗?