导语:挑战猫脸,就差你了!

今天这个比赛,得从一个做程序猿的铲屎官开始说起......

话说,有一天「铲屎猿」早起之后,发现猫主子竟然没了身影;他找啊找啊,找了好久,可仍然到处都没找到猫主子。这时,客厅突然传来了一声猫叫,铲屎猿循声而至,只见沙发上躺着一个难以辨识的,「东西」?

这东西似猫又非猫,似狗又非狗,铲屎猿眉头一皱,发现事情并不简单!难道这就是喵星人统治世界的第一步:隐藏身份,安能辨我是猫狗吗?

笑话,我等人类岂非尔等猫辈能够打败;想到此处,铲屎猿说道:「看来,是时候展现我猿真正的技术了——绝杀,关键点检测技术!」

绝杀技:关键点检测

没错,铲屎猿口中的关键点检测技术,正是广泛用于计算机视觉任务的基础方法,即通过某些事物的特征关键点,对这些点进行捕捉与识别。

但别看它基础,关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸相关问题的前提和突破口。

同时,在表情分析、异常行为检测、美颜换装,甚至是自动驾驶等图像识别类应用领域,该技术也是不可替代的支撑。因此,有了这一技术,铲屎猿就能够设计相应的方案,对这些「狡猾的」喵喵们进行身份确认了~

那要怎样运用这一技术呢?铲屎猿在研究过程中,借鉴了人脸识别的三种方法,它们分别是基于模型的 ASM 方法、基于级联形状回归的 CNN 回归法以及基于深度学习的方法。

一、ASM 人脸识别

该方法也被称为采用主动形状模型(Active Shape Model,简称 ASM)的方法,这是较早出现的关键点检测方法,与大多数统计学习方法类似,包括了 rain 和 test 两部分。

它会对不同形状进行计算机自动标定、校准,运用主成分分析法获取不同形状的模型,然后将模型与实际图形进行灰度匹配,提取像素数目比等特征参数,从而实现人脸识别。

可参考文献:

https://blog.csdn.net/carson2005/article/details/8194317

二、 CNN 回归法 

此种方法属于基于级联回归的人脸检测方法。由于卷积神经网络可以用于分类和回归任务,通过利用卷积神经网络,将训练图像划分到多个类别,再采用多层级进行训练,从而对提取的面部关键点,如:左眼、右眼、鼻子、嘴巴进行检测。

值得注意的是,卷积神经网络当用于做回归任务时,最后一个全连接层的输出维度则是要回归的坐标值的个数,同时,其采用的是也欧几里何损失 Euclidean Loss。

可参考文献:

https://github.com/zhaoyuzhi/Deep-Convolutional-Network-Cascade-for-Facial-Point-Detection

三、深度学习方法

随着神经网络的迅速发展和其对图像数据的强大的特征提取,深度学习运用于人脸识别也取得了很好的效果。其中,LFW 数据集(Labeled Faces in the Wild)是目前用得最多的人脸图像数据库。

该方法的核心内容为首先将图片中的人脸检测处理并通过关键点进行对齐,然后通过一定方法将得到的关键点数据输入到神经网络,得到特征向量,再之后利用分类训练过程,则可得到人脸的特征向量。

参考论文:

https://github.com/zhzhanp/TCDCN-face-alignment

除了拯救喵喵,还能照顾喵喵

研究清楚关键点检测的技术原理之后,铲屎猿将人脸的关键点换为了猫脸的关键点,包括:猫眼睛、鼻子、嘴巴、耳朵等特征;经过一系列实验,终于开发出了可用于检测猫脸的方法。猫脸检测后的效果如下:

同时,这一工具不光可以对猫的身份进行了检测确认,同时它还设计了更多贴心的功能,可以检测咪咪的毛发、五官神态、精神状态等,从而更好的了解咪咪的健康状况。

除此之外,铲屎猿还计划将来能够开发出检测咪咪活动、进食、玩耍、如厕等数据的工具,等到那时,咪咪们可就不能造反了哦~

猫脸检测大战,开炮

但令铲屎猿万万没想到的是,在能够确认自家咪咪身份的时候,喵星人危机已经大量爆发于世界各地。

为了防止世界被破坏,为了维护世界的和平,AI 研习社(https://god.yanxishe.com/)特邀天下程序猿星人,共同开发识别性能更强、准确度更高的猫脸检测工具,来让这些待识别的猫主子被认领回家~

本次大赛「猫脸关键点检测」的目标是检测猫脸的 9 个关键点。相关的数据集训练集有 10468 张,测试集 9526 张。其中训练集每张图都对喵喵的 9 个关键点进行了标注,标注信息为坐标信息。

开始时间:2019-12-19 09:00:00

结束时间:2020-01-18 00:00:00

大赛还提供了免费云训练 GPU 资源,以及基础奖金池为 2000 元哦~比赛一共设置了三种奖项,包括了:参与奖(30%)、突破奖(20%)、排名奖(50%)。

三种奖项互不冲突,拯救地球的同时,再赚他个千来块,岂不是也能买好多杯奶茶了呢!

数据集下载链接:

https://static.leiphone.com/cat_face.zip

评审标准

最终提交结果文件如下所示,其中,第一个数据为测试集图片 ID(即文件名);后面的 18 个数据为 9 个关键点(每个关键点对应两个数据),每一行共包含 19 个数据。

Ps:建议使用 UTF-8 编码,提交前请确认结果文件预测样本数量共计 9526 条,因为数量不足可能导致无法评分哈~

整个比赛的评审完全透明化,我们将会对比选手提交的结果文件,按照如下公式计算得分,其中:

  • MAE:平均绝对误差,可以更好地反应预测与实际结果的误差情况。

每日 24:00,我们也会将最新结果更新在官网排行榜上。是猫还是狗,你说了算!

更多信息,可进入参赛主页查看,快让你的大名出现在拯救地球榜单上吧:

https://god.yanxishe.com/19

猫脸关键点检测大赛:三种方法,轻松实现猫脸识别!相关推荐

  1. 网络超时检测的三种方法

    网络超时检测的三种方法 作者:于老师,华清远见嵌入式学院讲师. 网络通信中,很多操作会使得进程阻塞,这时我们要设定时间,到时间后强制返回,避免进程在没有数据的情况下无限阻塞 这里我们总结一下网络超时检 ...

  2. 细胞增殖检测的三种方法丨Abbkine鸡尾酒套装方案

    细胞增殖是生物体生长.发育.繁殖以及遗传的基础,是生物体的重要生命特征.检测细胞在培养基或组织中的生长速率,对于细胞生长和分化研究至关重要.在药物开发过程中也常被用于评估药物的毒性和对癌细胞生长的抑制 ...

  3. 怎么把Excel转换成PDF格式?这三种方法轻松完成转换

    如何将excel表格转换成PDF格式呢?大家在日常的办公过程中也会经常使用这两种文件格式,对文件的格式转换需求我们也是屡见不鲜,其中就有把excel表格转换成PDF格式的需求,遇到这种情况该怎么转换呢 ...

  4. linux怎么断网怎么使用yum_电脑突然断网,连接不上网络怎么办?三种方法轻松找回...

    很多朋友在用电脑的时候,经常会出现断网的现象,网络无法连接或者连不上,不管再怎么尝试,就是没有效果,那么接下来小编来教大家三种方法,解决无法连接网络的问题. 一.启动WLAN AutoConfig服务 ...

  5. iPhone忘记锁屏密码,多次输错被禁用?三种方法轻松解决!

    为了保证手机的隐私安全,我们通常会将手机设置锁屏密码.最近有许多果粉反馈,自己长期不用的iPhone 忘记锁屏密码打不开了,多次输错密码还被禁用了,怎么办? 今天,小编就针对苹果手机忘记锁屏密码这个问 ...

  6. android图案解锁忘了怎么解,手机图案解锁忘了怎么办 三种方法轻松解决【图文】...

    随着智能机的普及,手机上锁方法也有了新的方式,除了以前传统的密码锁之外,手机还添加了极富趣味的图案锁.九宫格形式的图案锁屏,看上去不仅新颖,而且锁屏更加方面,这种锁屏很快就受到不少用户的喜爱!可是在使 ...

  7. 如何将视频转换为GIF动图?三种方法轻松搞定!

    当我们在观看电影或视频时,经常会遇到一些有趣的画面,我们希望将这些画面分享给亲朋好友观看.但由于视频截取方式的限制,许多人不想下载整个视频来查看.因此,我们需要将视频中的一些画面转换成GIF动图,以便 ...

  8. Java死锁检测的三种方法

    方法一:jstack 进程号 首先使用jps查看Java进程编号,然后使用jstack查看进程信息,出现下述信息表示出现了死锁.jstack会在最后给出进程的分析信息,表示出现了死锁. 方法二:使用图 ...

  9. zip密码破解的三种方法 轻松解除zip密码

    在忘记zip密码的时候,我们怎么才能绕过解压密码从而解压文件呢?实际上,除了找回密码,否则我们将无法打开设置密码保护的zip压缩包,也无法解除zip的加密密码.介绍一下zip密码破解的三种常见方法. ...

最新文章

  1. Android消息机制学习笔记
  2. ​《2021联邦学习全球研究与应用趋势报告》发布,中美为最大领跑者 | 附下载链接...
  3. think in java i o_5.[Think in Java笔记]Java IO系统
  4. 【Linux】一步一步学Linux——login命令(210)
  5. [Swift]LeetCode968.监控二叉树 | Binary Tree Cameras
  6. 低代码开发是如何解决企业招聘技术人才难题?
  7. PHP网站源码-ThinkPHP5框架内核开发图书管理系统
  8. pymysql模块的使用
  9. 使用spring集成的kafka收发消息
  10. 百度否认退市;微信官方回应「个人影响度报告」;微软公布 C# 9.0 计划 | 极客头条...
  11. java 模拟 cmd_用JAVA模拟实现CMD命令行
  12. Pyinstaller打包附带DLL、图标和压缩EXE方法
  13. 基于virtualbox的centos7安装jdk1.8
  14. Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
  15. 制作多媒体网页html代码,Director制作多媒体网页
  16. 【HUSTOJ】1054: 字符图形10-字母三角
  17. 大学生如何学习c语言!
  18. 超硬核!十万字c++题,让你秒杀老师和面试官(上)
  19. VR电竞游戏在英特尔®架构上的用户体验优化
  20. Android Studio Logcat 截断问题(cocos2d-x 篇)

热门文章

  1. pandasDataFrame 的定位指定文件
  2. pycharm执行python程序报错ImportError: DLL load failed: torchvision找不到指定的程序
  3. 转 理论联系实践较好的JVM的理解
  4. LSTM为何如此有效
  5. 用Java Instrumentation 在类加载时添加记录
  6. mkdir命令使用详解
  7. php mysql 读取中文数据的函数_php读取mysql中文数据出现乱码的解决方法
  8. 智源论坛 | 知识与认知图谱(5月30日,活动报名)
  9. 专访郭霖:成长无止境
  10. NVIDIA TX2 使用 USB 摄像头