座头鲸识别比赛总结文档
2019独角兽企业重金招聘Python工程师标准>>>
Kaggle主办的座头鲸识别的比赛,持续了3个月,终于结束了。恭喜那些拿到金牌的团队,他们算法模型确实很出色。
比赛网站链接:https://www.kaggle.com/c/humpback-whale-identification/
顾名思义,这个比赛是通过座头鲸的图片识别这个座头鲸是谁。比赛主办方提供了2万多张训练图片,将近8000张待识别的测试图片。通过对数据做EDA,发现一共有5004个有ID的已知座头鲸,其它未知的座头鲸将被分配ID: new_whale。此外,有部分ID的座头鲸的图片只有寥寥几张,直接用来做训练有些困难。
我们对每张测试图片预测5个最可能的ID,评估指标是MAP5。这个MAP5的指标与5个预测ID的顺序有紧密关系,第一个位置最重要。第一个位置预测对了,那么不管后面4个预测的ID是什么,都能得到1.0的分数。MAP5指标的解释:https://www.kaggle.com/pestipeti/explanation-of-map5-scoring-metric
这种图像识别的比赛有多种可选择的算法,主要包括:1)为图片创建关键点,然后通过暴力搜索比对训练集与测试集的最可能相似图片;2)metric learning, 例如Siamese和Triplet网络 ; 3)多分类网络。
我们队只擅长Siamese 网络,其中单通道灰度图训练的Siamese网络最好的单模型私有得分0.911,多通道彩色图训练的Siamese网络最好的单模型私有得分0.905. 此外,我们尝试训练多分类网络(5005个分类),最好的单模型只能到0.80X。在比赛后期,我们通过权重投票的方式,融合了多个Siamese网络模型以及分类模型,得到了lb 0.930以上的得分。到了比赛的最后3天,我们开始做一些预测结果的后向处理工作来提升成绩,例如利用公开的leak以及利用Siamese网络对测试标签与训练集中标签所对应的图片做网络相似度比对,再次重新排列标签,效果非常好。lb 得分从0.933提升到0.938 ,最后的私有得分0.94213,在2131只参赛队伍里排在第36名。
这个比赛竞争非常激烈,有一个早早以0.94几的高分领先了一个多月的队,到最后跌到了金牌区的最后一名,差点拿不到金牌。我虽然没有能拿到金牌,但是感觉收获也很大。收获:1)第一块计算机视觉类比赛的银牌。 2)学到了很多与图像识别相关的技术和经验。 3) 认识了很多做相关领域研究的战友,以后可以一起做相关的比赛。
最后,必须要感谢我们团队的其它成员(nobody, donP , wangyujie), 没有他们的出色表现,就得不到现在的排名了。祝他们早日拿到Master的称号(注:现在的Master没有以前好拿了,至少要一个金牌竞赛加两个竞赛银牌)。
附录(比赛top team的比赛方案介绍):
1、第一名。 非常有创新的多分类0.96的单模型。单模型都秒杀了大部分的队。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82366
2、第三名。arcface网络。For each identities, the center of all feature vectors was used as final embedding feature
https://www.kaggle.com/c/humpback-whale-identification/discussion/82484
3、第4名。SIFT + Siamese,主要是基于关键点的暴力搜索匹配,古老但是有效。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82356
4、第7名。纯分类模型。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82352
代码:https://github.com/ducha-aiki/whale-identification-2018
5、第5名。Siamese网络。单模型0.95
https://weiminwang.blog/2019/03/01/whale-identification-5th-place-approach-using-siamese-networks-with-adversarial-training/
6、第9名。Cosface and Arcface 。 让人印象深刻的是他们训练速度超级快,一个模型在1080ti上训练2个小时就完成了,从而让他们能够快速地实验各种不同的方案。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82427
7、第10名。Metric Learning, Classification, Siamese, LGBM。 关于Metric Learning的模型据说还有CVPR 2019论文发表。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82430
8、第15名。sphereface, image alignment and multi-layer fusion。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82361
9、第25名,CosFace + ProtoNets
https://www.kaggle.com/c/humpback-whale-identification/discussion/82409
10、第30名,Siamese网络。主要对LAP(线性分配处理)做了优化,大幅减少了LAP的处理时间,加速了训练,也获得了更好训练精度。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82380
11、第27名,pure metric, pure C++ 。独一无二的C++解决方案,非常cool。
https://www.kaggle.com/c/humpback-whale-identification/discussion/82423
转载于:https://my.oschina.net/qinhui99/blog/3018077
座头鲸识别比赛总结文档相关推荐
- Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc
Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc 1. 俩个问题::识别垃圾文件与清理策略1 1.1. 文件类型:pic,doc,v,m cc,isho pose ...
- 声纹识别demo_声纹识别 iOS SDK 文档
# 声纹识别 iOS SDK 文档 # 1.简介 声纹识别(Voiceprint Recognition),是一项提取说话人声音特征和说话内容信息,自动核验说话人身份的技术.MSC SDK 声纹识别( ...
- Barcode Reader SDK5.xCrack,条形码识别支持多种文档和图像格式
Barcode Reader SDK5.xCrack,条形码识别支持多种文档和图像格式 Barcode Reader SDK5.xCrack是一个跨平台实用程序,能够搜索和检测嵌入在照片或 PDF 文 ...
- ABBYY FineReader如何识别多语言文档
ABBYY FineReader是一款图文识别(OCR)软件,使用ABBYY FineReader可以识别阿拉伯语.希伯来语.意第绪语.泰国语.中文.日语和韩语文档,处理中文.日语或韩语文档,以及混合 ...
- 【为生活开发系列之四】图片文字识别与标准文档对比工具
前言 我:测试?测试?测试? 5s后 测试:刚刚在对比网页上图片上的文字和标准文档里面的文字是不是一样的,看的老娘眼都废了,没空理你. 我:......这么low的吗? 测试:莫非这位兄台有高见? 我 ...
- Paddle打比赛-古籍文档图像识别与分析算法比赛
一.粤港澳大湾区(黄埔)国际算法算例大赛-古籍文档图像识别与分析算法比赛简介 1.背景及意义 中国几千年辉煌的华夏文明,留下了海量的古籍文献资料,这些文字记录承载着丰富的历史信息和文化传承.为响应古籍 ...
- 走进AI时代的文档识别技术 之文档重建
导读:作者系腾讯QQ研发中心--CV应用研究组的totoralin.本文主要介绍基于深度学习的文档重建框架,通过文档校正.版面分析.字体识别和阅读排序将纸质文档智能转成可编辑的电子文档.相比较传统的O ...
- OCR识别系列之一-----文档字符识别
假如输入系统的图像是一页文本,那么识别时的第一件事情是判断页面上的 文本朝向,因为我们得到的这页文档往往都不是很完美的,很可能带有倾斜或者污渍,那么我们要做的第一件事就是进行 图像预处理,做角度矫正和 ...
- 条码识别、公文识别、二代身份证识别、普通文档识别====四合一?
我们来思考一下这几个问题: 说到条码识别-----------是不是想到了各大超市的扫描枪? 说到二代身份证识别----------------是不是又联想到了火车站检票?网吧刷身份证? 说到普通文档 ...
最新文章
- 深入浅出的讲解傅里叶变换(完整)
- ETSI MEC — 多接入边缘计算
- 用java做出32选7_用java做的一个彩票32选7的简单程序
- java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载
- 密码学-hash加密
- 【Ubuntu】 Ubuntu16.04搭建NFS服务
- ios 开发框架原始雏形 01
- Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
- arcobjects java开发_ArcGIS Engine SDK for Java 最小示例学习
- VUE 文字转语音播放
- Linux编译DuiLib库报error: no matches converting function ‘ItemComareFunc’ to type ‘__compar_d_fn_t错误解决
- 制造业升级:老调年年弹
- shell脚本实现网络连接的检测
- python性能差_Python 性能分析大全
- QSlider功能作用和信号
- 乐鑫esp8266学习rtos3.0笔记第9篇:整理分享那些我在项目中常用的esp8266 rtos3.0版本的常见驱动,Button按键长短按、PWM平滑调光等。(附带demo)
- Java项目:springboot农业物资管理系统
- [STM32]DAC全解分析
- 嵌入式LINUX系统程序开发
- HDU 1728 逃离迷宫(BFS的优化)