Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从COCO数据集或Open Images V6数据集中提取前景对象?

如何从COCO数据集或Open Images V6数据集中提取前景对象?
EN

Stack Overflow用户
提问于 2021-11-04 12:14:20
回答 1查看 194关注 0票数 1

目前,我正在为目标检测任务准备一个合成数据集。有一些带注释的数据集可用于此类任务,如COCO数据集和打开图像V6。我试图从那里下载图像,但只下载特定类别的前景对象,例如person,换句话说,没有透明背景的图像。我这样做的原因是,我想在编辑这些图像后将它们插入到新的图像中,例如街道场景。

到目前为止,我已经尝试过了,我使用了一个名为FiftyOne的库,并下载了带有语义标签的数据集,但我被困在这里,我不知道还能做什么。

没有必要使用FiftyOne,任何其他方法都可以。

以下是我用来下载带有标注的数据集样本的代码

代码语言:javascript
运行
AI代码解释
复制
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset(
    "coco-2017",
    split="validation",
    dataset_dir = "path/fiftyone",
    label_types=["segmentations"],
    classes = ["person"],
    max_samples=10,
    label_field="instances",
    dataset_name="coco-images-person",
)

# Export the dataset
dataset.export(
    export_dir = "path/fiftyone/image-segmentation-dataset",
    dataset_type=fo.types.ImageSegmentationDirectory,
    label_field="instances",
)

谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-09 06:21:21

最简单的方法是使用FiftyOne在简单的Python循环中迭代您的数据集,使用OpenCV和Numpy格式化对象实例的图像并将其写入磁盘。

例如,此函数将接受任何FiftyOne示例集合(ViewDataset ),并将所有对象实例写入由类标签分隔的文件夹中的磁盘:

代码语言:javascript
运行
AI代码解释
复制
import os

import cv2
import numpy as np

def extract_classwise_instances(samples, output_dir, label_field, ext=".png"):
    print("Extracting object instances...")
    for sample in samples.iter_samples(progress=True):
        img = cv2.imread(sample.filepath)
        img_h,img_w,c = img.shape
        for det in sample[label_field].detections:
            mask = det.mask
            [x,y,w,h] = det.bounding_box
            x = int(x * img_w)
            y = int(y * img_h)
            h, w = mask.shape
            mask_img = img[y:y+h, x:x+w, :] 
            alpha = mask.astype(np.uint8)*255
            alpha = np.expand_dims(alpha, 2)
            mask_img = np.concatenate((mask_img, alpha), axis=2)
    
            label = det.label
            label_dir = os.path.join(output_dir, label)
            if not os.path.exists(label_dir):
                os.mkdir(label_dir)
            output_filepath = os.path.join(label_dir, det.id+ext)
            cv2.imwrite(output_filepath, mask_img)

下面是一个完整的示例,它加载COCO2017数据集的一个子集,并将所有"person“实例写入磁盘:

代码语言:javascript
运行
AI代码解释
复制
import fiftyone as fo
import fiftyone.zoo as foz
from fiftyone import ViewField as F

dataset_name = "coco-image-example"
if dataset_name in fo.list_datasets():
    fo.delete_dataset(dataset_name)

label_field = "ground_truth"
classes = ["person"]

dataset = foz.load_zoo_dataset(
    "coco-2017",
    split="validation",
    label_types=["segmentations"],
    classes=classes,
    max_samples=20,
    label_field=label_field,
    dataset_name=dataset_name,
)

view = dataset.filter_labels(label_field, F("label").is_in(classes))

output_dir = "/path/to/output/segmentations/dir/"
os.makedirs(output_dir, exist_ok=True)

extract_classwise_instances(view, output_dir, label_field)

如果这种功能是经常使用的,那么为这种格式编写一个custom dataset exporter可能会很有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69845308

复制
相关文章
js点击按钮返回页面顶部
在进行官网一类的网站建设时,经常会出现页面太长的现象,当用户滚动滚动条到最底部时返回顶部需要滚动多下滚动条,用户体验相当不好,于是就出现了当滚动条滚动到一定位置后出现返回顶部按钮,点击该按钮返回顶部,并且有一定的效果。
OECOM
2020/07/01
25.9K0
点击按钮,回到页面顶部的5种写法
2.scrollTop:scrollTop属性表示被隐藏在内容区域上方的像素数。元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度
全栈程序员站长
2022/09/07
2.8K0
BTrace 告诉你如何在不重启 JVM 的情况下在线调试
Hello 大家好, 我是阿粉,不知道你有没有遇到过这种场景,线上服务跑了一段时间过后偶尔会出现问题,光靠代码和数据分析找不到原因,而且这种情况也不是很常见所以对应的代码也没有加日志输出,如果说重新加上日志进行发布的话,就会破坏现场只能再等一段时间了,或者有的时候想看下接口的参数,从而判断接口参数有没有问题。
Java极客技术
2022/12/02
4490
BTrace 告诉你如何在不重启 JVM 的情况下在线调试
WPF 点击按钮时更改按钮样式界面效果的 XAML 实现方法
在 WPF 中按钮 Button 将会吃掉路由事件,此时的 EventTrigger 如果通过 RoutedEvent 是 MouseLeftButtonDown 那么将会拿不到路由事件,也就触发不了,因此样式将不会变更。简单的解决方法就是通过 VisualStateManager 配合 VisualState 来实现
林德熙
2020/08/31
4.6K0
WordPress网站底部的自定页面(如:网站地图等)按钮美化教程
最近浏览博客,看到不少朋友这个底部的美化,我也觉得底部的这些按钮平平无奇,就想着用css设置一个样式,从而美化按钮方法,至此分享给大家。
文曦
2022/06/09
1.1K0
WordPress网站底部的自定页面(如:网站地图等)按钮美化教程
获取点击的区域范围
点击的元素在哪个像素范围 父组件 <div> <div>外部</div> <TestRef ref="testRef"></TestRef> </div> import TestRef from "@/components/TestRef.vue"; mounted() { let obj = {leftRef:"",rightRef:""} console.log("外部mounted") console.log(this.$refs.testR
tianyawhl
2022/11/14
1.3K0
curl抓取页面时遇到重定向的解决方法
代码的目的很简单,抓取页面: http://www.144go.com 执行上述代码,得到的结果:
跑马溜溜的球
2020/12/07
2.2K0
Android:点击按钮,保存图片到本地相册
参考资源: https://download.csdn.net/download/wangqing830414/11197239
zstar
2022/06/14
2.5K0
如何在不使用 sizeof 的情况下在 C\u002FC++ 中找到数组的大小?
theme: channing-cyan highlight: a11y-dark
鲸落c
2022/11/14
9010
H5 WebApp禁止Webform页面回发
前一阵写一个H5的WebApp,用得老技术Webform,然后找人封装一下,优化一下WebView等,主要是实现运行于安卓系统的PDA能很方便的查询库存、进行库存的收发操作。
崔文远TroyCui
2019/02/26
7130
H5 WebApp禁止Webform页面回发
fastadmin 点击列表按钮跳转页面带参数并搜索对应的数据
未经允许不得转载:肥猫博客 » fastadmin 点击列表按钮跳转页面带参数并搜索对应的数据
超级小可爱
2023/03/12
5.1K0
fastadmin 点击列表按钮跳转页面带参数并搜索对应的数据
HTML点击按钮button跳转页面的几种实现方法
大家好,又见面了,我是你们的朋友全栈君。 其实我比较喜欢第一种方法 <button onclick="window.location.href='../routeEdit/index.html'" type="button" id="add">新增</button> 正文 方法一:在button标签中加上onclick属性,赋值为Javascript <input type="button" onclick='location.href=("index.aspx")' />//在本页面打开 <input t
全栈程序员站长
2022/11/01
16.8K0
创建没有按钮的UIAlertView
默认的,UIAlertView都有一个或者多个按钮,如果你想创建没有按钮的UIAlertView,可以使用以下的方法:
EltonZheng
2021/01/26
1.3K0
创建没有按钮的UIAlertView
本地搭建外网访问网站,.htaccess实现网站升级时重定向到友好页面
准备更换网站服务器,在本地搭了一个友好页面,也就是维护提示页面。期间遇到了一些问题,记录一下:
德顺
2019/11/12
2K0
JS简单页面交互实战 - 点击按钮实现求和功能
上一期堡堡给大家讲解了简单的页面交互效果 - 点击块,让块动起来,让我们更清晰的了解JS逻辑和DOM的结合。如果想具体了解点击块,让块动起来,可以回复“交互”到“HTML5学堂”公众号。而今天我们主要讲解JS简单页面交互实战 - 点击按钮实现求和功能。 Tips:由于上一期的文章篇幅过长,微信的文章有字数要求,所以小编把部分的内容(作用域)放到这一期进行讲解。 继上一期的内容 - 作用域 作用域 我们知道函数就是把多条语句封装起来,那封装起来了,在其它地方能否访问的到?具体看下面的实例。 实例: var n
HTML5学堂
2018/03/13
17.9K0
JS简单页面交互实战 - 点击按钮实现求和功能
请问如何解决chrome在手机模式下在鼠标移动到页面区域就消失?
当然,如果不看知乎,那么就看解决方案吧,问题会出现在Nvida和Intel的显卡上
用户2353021
2020/05/12
4970
页面回发后,让页面自动滚动到指定位置的一种简单的方法
最近某客户做实施,顺便完善一下程序。突然找到了一个老问题的解决方法。 就是当用户按一个按钮后,希望回发后的页面滚到一个指定的位置,而不是页面的开头部分。以前看过一篇文章介绍了一种方法,当时也没有理解,也没有记录下来,现在又遇到了这个问题,还是自己想一个简单点的方法吧。 博克园里的“最新评论”里的链接,点击后打开的页面会直接滚动到指定的评论而不是帖子一开始的位置。 那么就用这种方法了,看了一下HTML代码,发现有这一类的标签 <a id="a001" href="#001" name="
用户1174620
2018/02/07
3.2K0
对于防止按钮重复点击的尝试
我经常在项目中会遇到按钮重复点击后引起表单的重复点击问题。所以针对这个问题,自己尝试了几种办法分别去解决。直接上代码。
gary12138
2022/10/05
1.8K0
点击加载更多

相似问题

如何实现带有特征MyTrait<A>的结构?

17

使用结构实现中的特征方法

21

结构特征

32

如何实现对结构的引用的添加特征?

10

当一个对象可能实现多个特征时,如何创建对特征的引用结构?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档