davis2016评估教程

news2024/10/1 17:12:47

DAVIS 2016是VOS任务中的一个经典的benchmark,但是一些VOT的算法有时候也可以预测mask,所以也会在上面测一测性能,本次就随手记录一下自己评测的过程,有需要的小伙伴可以往下看。
DAVIS 2016数据集官方项目网站:https://davischallenge.org/davis2016/code.html
DAVIS2016论文是:A Benchmark Dataset and Evaluation Methodology for Video Object Segmentation

一、下载数据集

在这里插入图片描述

下载,设想下载的数据集目录是DAVIS2016,解压完该目录下有Annotations,ImageSets,JPEGImages,分别是mask标签,train val序列列表,RGB视频帧。下面又有480p和1080p的子文件夹,之后都用到的是480p的。

二、下载评估工具箱和预计算结果

注意这是关键的一步,千万不要下载python版本的工具箱,因为python版本的工具箱使用的是python2.x,并且要c++的编译,环境很难配,且不知道会不会影响原有的环境,所以选择matlab版本的,会跳转到对应github页面,只要download zip或者git clone下来就好了。
在这里插入图片描述
这时候也可以顺带去下载一下官方给的一些算法的结果https://graphics.ethz.ch/Downloads/Data/Davis/DAVIS-results.zip,直接可以用于评估,当然也可以去项目页上一个个下载
在这里插入图片描述
这里要注意的是为了配合后面matlab代码读取结果,要把刚刚下载的DAVIS-results.zip解压到数据集目录DAVIS2016下,设想路径是DAVIS2016/Results/Segmentations/480p/,下面就是各个算法的结果了,对于DAVIS-results.zip里面没有的,也要下载下来放到这个路径底下。

三、matlab评估工具箱的使用

matlab评估工具箱下载解压完是这样的,我使用的平台是ubuntu18.04, matlab2017
在这里插入图片描述

  1. db_root_dir.m里面修改root_dir路径,这个就是刚刚数据集目录DAVIS2016,根据自己电脑上存放路径修改即可。
  2. 运行脚本startup.m以把评估所要的代码的路径添加进来并执行一些检查,这一步不知道windows下会不会遇到问题,我这步直接通过。如果有问题的话可以运行一下build.m,然后再运行startup.m检查一下。
  3. measures/eval_result.m的函数签名是这样的,
function [eval, raw_eval] = eval_result(result_id, measures, gt_set)
  • result_id:就是评估的算法的名字,可以是DAVIS2016/Results/Segmentations/480p/下的任何一个名字,类型是字符串,比如填一个'siammask'(siammask结果可以单个下载)
  • measures:就是论文里面的几种不同评价指标,可以单个字符,也可以是多个字符的cell,如'J'或者{'J','F','T'},其中T的评估时间会久一点
  • gt_set:就是在数据集的哪个split上评估,一般都是'val',当然还可以填'train''all'

注意这里不是把这个script直接改掉,是在命令窗口输入>> eval_result('siammask',{'J','F','T'},'val');
4. 这步就可以去生成最终结果了,先要去experiments/experiments_params.m改一下techniques的名字,需要和result_id一样,然后直接命令窗口调用global_table,使用的是experiments/global_table.m函数,就会出来结果,是和官网一致的
在这里插入图片描述

四、评估自己算法的结果

从上面的步骤看来,唯一需要我们提供的就是DAVIS2016/Results/Segmentations/480p/下的分割结果了,可以拿一个算法的实例结果看一下(这里拿的是siammask的):
可以看到,我们需要对davis2016 val的每个序列都去根据自己的算法生成二值掩膜的输出,并且这里是从00000.png开始的,就是包括整个val序列的全部帧,然后就可以重复第三步去测自己算法的性能了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微信小程序】-- 常用的基础内容组件介绍 -- text rich-text progress icon(七)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…

获取Windows11开发环境及VirtualBox配置指南

今天我们来讲一讲Windows11开发环境的快速搭建,主要是通过Virtualbox虚拟机安装微软官方预先配置好的Windows11环境包,配置简单,开箱即用。 获取虚拟机打包镜像 微软官方提供了多个系统平台的Windows11虚拟机镜打包镜像,只需要导…

维格云社区版APItable

目录 ✨ 快速开始 🔥 功能特性 💥 应用场景 💞 面向 API 💝 嵌入友好 安装 🧑‍💻 贡献 开发环境 Git 工作流基础 工作约定

[零刻] SER5 Pro 迷你主机:从开箱到安装ESXi+虚拟机

开箱先上图: SER5Pro这个小主机采用了AMD580H的处理器,性能相当强悍,用来做All in one主机非常合适,特别是独有的背面散热系统,可以同时给内存和硬盘散热,在长期运行下散热完全不用担心稳定性,放…

揭穿数据分析的六大谎言

目前许多企业在决策时仍沿用以往的个人经验,没有用数据说话,这在实际决策运行时会出现很多问题。在数据分析行业发展成熟的国家,90%的市场决策和经营决策都是通过数据分析研究确定的。用数据说话,重视定量分析,也逐渐成…

十年测试大佬教你如何从零到一落地接口自动化测试?

目录 为什么要做接口测试 理解接口和接口测试 如何落地接口自动化测试 总结 重点:配套学习资料和视频教学 为什么要做接口测试 测试理念的演变 早些时候,软件研发交付流程大多遵循V型或W型的瀑布模式,这种模式下只有开发编码完成才会提测…

学生白嫖阿里服务器

测试答案,直接CtrlF查找即可 WEB2.0时代黑客攻击的主要目标集中在(A) A. 互联网应用 B. 穿透防火墙 C. 破坏操作系统 D. 计算机硬件 以下常见的通讯协议中,不属于应用层协议的有(B) A. FTP B. TCP/IP C. HT…

腾讯云服务器部署onnxruntime-gpu经验总结

前言 有项目需要用onnxruntime-gpu进行推理,原以为像windows一样在已经有cuda的情况下直接安装onnxruntime-gpu即可,却没想到这么麻烦,故分享此文帮助后来者。 环境 gpu计算型英伟达v100云服务器。 在选择安装系统时已经选择了最高版本如下…

嵌入式 STM32 实现STemwin移植+修改其配置文件,驱动LCD显示文本 (含源码,建议收藏)

目录 一、STemwin 简介 二、源码下载 1、在移植STemwin源码之前,需要一个已经具备LCD读写,填充指定颜色等函数功能的一个工程; 2、STemwin 3、源码下载 三、STemwin移植 1、解压源码路径 2、STemwin文件介绍 四、修改配置文件&…

【PyTorch】教程:DCGAN

DCGAN 本教程将通过一个示例来介绍 DCGAN。 我将训练一个生成对抗网络 (GAN) ,在向其展示许多真实名人的照片后生成新的名人。这里大部分代码来自于 pytorch/examples 。本文档针对这些实现进行全面解释,并阐述该模型的工作方式和…

在windows搭建Redis集群并整合入Springboot项目

搭建集群配置规划Redis集群编写bat来启动每个redis服务安装Ruby安装Redis的Ruby驱动出现错误镜像过期SSL证书过期安装集群脚本redis-trib启动每个节点并执行集群构建脚本测试搭建是否成功配置springboot项目中配置规划Redis集群 我们搭建三个节点的集群,每个节点有…

骨传导耳机推荐哪款好,列举几款是市面上热销的骨传导耳机

​骨传导耳机是一种新型的耳机类型,通过震动和声音将振动传到了耳道外,对耳道不会产生损伤,能够保护听力。相比于传统耳机的优势有很多,比如运动时佩戴更加稳固,也可以在听歌时与人交谈。但在市面上的骨传导耳机款式可…

无重叠区间-力扣435-java贪心策略

一、题目描述给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。示例 1:输入: intervals [[1,2],[2,3],[3,4],[1,3]]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。…

Spring MVC 源码- HandlerAdapter 组件(四)之 HandlerMethodReturnValueHandler

HandlerAdapter 组件HandlerAdapter 组件,处理器的适配器。因为处理器 handler 的类型是 Object 类型,需要有一个调用者来实现 handler 是怎么被执行。Spring 中的处理器的实现多变,比如用户的处理器可以实现 Controller 接口或者 HttpReques…

服务器部署—XShell连接阿里云服务器,linux系统里面数据库访问乱码怎么办?

我是用的xshell连接的云服务器,今天想在服务器上面部署一个项目,但是当我在数据库里面安装mysql之后,通过select的sql语句查询数据,在表里面的中文出现乱码,给我直接干懵了,这个怎么办?而且还有…

【项目精选】jsp网上招标系统(视频+源码+论文)

点击下载源码 威客理论的起源 威客理论的提出基于其创始人刘锋发现的三个基石:发现电子公告牌功能分离现象;确认互联网知识价值化时代的到来、互联网是人类大脑的联网而不是仅仅为机器的联网。 1、电子公告牌功能分离现象的发现  2005年6月威客&#xf…

好上好信息 API 微服务集群在 KubeSphere 的部署实践

作者:徐鹏、深圳好上好信息(001298)、技术副总监、负责云服务器团队的架构设计及业务开发,拥抱云原生,乐于分享,终生学习。 公司简介 好上好信息(001298)是中国大陆一家致力于为中国智造提供全面支持的综合…

【SpringCloud系列】SpringCloudConfig配置中心

前言 我们在开发过程中总是会有各种各样的配置,比较如数据库连接配置,Mybatis配置等等各种组件的配置,这些配置都放在yml中,如果想要变更这些配置,需要修改yml文件,然后重新部署项目才能生效,同…

springboot+vue软件bug项目测试过程管理系统

config:主要用来存储配置文件,以及其他不怎么动用的信息 controller:项目的主要控制文件 dao: 主要用来操作数据库 entity: 实体,用来放与数据库表里对应的实体类,表中的字段对应类中的属性值,并…

Redis 主从复制-服务器搭建【薪火相传/哨兵模式】

Redis 安装参考文章:Centos7 安装并启动 Redis-6.2.6 注意:本篇文章操作,不能在 静态IP地址 下操作,必须是 动态IP地址,否则最后主从服务器配置不成功! 管道符查看所有redis进程:ps -ef|grep re…