本文来自宏伦工作室

首先祝大家:新年快乐,狗年大吉!

怎么是我?说好的 120类萌狗 送祝福呢?

看看下面拼图中的120类狗狗,你能认出其中的多少只?

平时号称爱狗的我,能叫出名字的竟不超过5个……

以上图片来自于:斯坦福狗狗数据集(Stanford Dog Dataset),共包括120种狗狗的20580张图片

http://vision.stanford.edu/aditya86/ImageNetDogs

自己虽然认不清楚,训练个模型来识别倒不是难事,动手搞起来~

狗狗分类模型

用Google的Inception V3图片分类模型进行迁移训练,根据以上数据集得到一个专门用于区别狗狗类别的图片分类器

狗狗分类效果如何?对于一张图片输出,模型输出120类狗狗各自对应的概率,概率越高说明越有可能

我们用三个指标来评估模型的分类效果:

  • Top1正确率:即分类概率最高的一个类别是否为正确答案

  • Top3正确率:即分类概率最高的三个类别中是否包括正确答案

  • Top5正确率:即分类概率最高的五个类别中是否包括正确答案

模型分别实现了 92.2% 的Top1正确率、99.1% 的Top3正确率、99.7% 的Top5正确率,还是相当给力的

Top1正确率

下图显示了120种狗狗各自对应的Top1正确率,除了少数几类狗狗容易造成混淆,大多数狗狗 都能被正确分类出来

来看看 Top1正确率最高的五类狗狗,这些狗狗 特征比较明显,或者变化情况比较少

Bedlington Terrier 贝林顿梗,100%,长得这么有特色,当然一眼就看出来了

Leonberg 莱昂贝格,100%,我给取个别名吧,黑脸包公

Papillon 蝴蝶犬,99.5%,好可爱好漂亮的狗狗

Chow 松狮犬,99.5%,丑萌丑萌的

African Hunting Dog 非洲豺犬,99.4%,嗯……看起来不大友善……

再来看看 Top1正确率最低的五类狗狗,这些狗狗可能和其他某类狗狗 特别相似、容易混淆,或者 变化情况比较多

Eskimo Dog 爱斯基摩犬,40.7%,对不起,我以为你是哈士奇……

Collie 柯利牧羊犬,58.8%,和柯基有点像,不过还是有区别的

Miniature Poodle 迷你贵宾犬,72.3%,总觉得似曾相似,却又叫不上名……

English Foxhound 英国猎狐犬,75.8%,啊……原来你叫这个……

American Staffordshire Terrier 美国斯塔福梗,76.8%,好多梗,可是我只知道牛头梗……


容易搞混的狗狗

对于120类狗狗 两两之间的组合,我们统计A被错分成B以及B被错分成A的总次数,得到 最容易搞混的五组CP

巧的是,这五组CP正好涵盖了上面提及的Top1正确率最低的五类狗狗

Eskimo Dog 爱斯基摩犬(左)vs Siberian Husky 西伯利亚雪橇犬(右),共分错96次(70+26),都是雪地上跑的

Collie 柯利牧羊犬(左)vs Border Collie 边境牧羊犬(右),共分错47次(44+3),本是同根生、天涯若比邻

至于为啥前者容易被错分为后者,而后者并不那么容易被错分为前者,我猜是因为后者有黑色品种,而前者只有黄色

Miniature Poodle 迷你贵宾犬(左)vs Toy Poodle 玩具贵宾犬(右),共分错50次(28+22),嗯嗯,你们都是贵宾,你们最漂亮

English Foxhound 英国猎狐犬(左)vs Walker Hound 步行猎犬(右),共分错42次(25+17),都是两个眼睛一个鼻子两个耳朵一个嘴

American Staffordshire Terrier 美国斯塔福梗(左)vs Staffordshire Bullterrier 斯坦福斗牛梗(右),共分错46次(24+22),区别还是有的,就是说不清楚

最后用一张图来显示所有狗狗类别 两两之间的分类结果,其中第i行第j列表示i狗被分类为j狗的次数,次数越多则颜色越深,所以对角线的颜色自然是最深的

有趣的是,这个矩阵乍一看对称,但颜色上并非完全对称,也就是说,即使你容易被分类成我,我却并不一定也容易被分类为你

明星脸


拿一些人脸做分类试试看,用一些比较经典的梗好了,比如说,孙红雷

Top3分别是Scotch Terrier 苏格兰梗、Dhole 豺犬、German Shepherd 德国牧羊犬

再来个渤哥

Top3分别是African Hunting Dog 非洲豺犬、Dhole 豺犬、Toy Terrier 玩具梗

然后在电脑上找了张我自己的图片,Top3分别是Pug 哈巴狗、Chihuahua 吉娃娃、Dhole 豺犬

最后找了张老婆的照片,Top3分别是Border Collie 边境牧羊犬、Collie 柯利牧羊犬、Beagle 比格犬,嗯,老婆还是比我美多了~

项目地址

项目完整代码请参考作者 Github

https://github.com/Honlan/HappyDogYear

最后,和 120类萌狗 一起,祝大家 新年快乐,狗年大吉!

招聘

新一年,AI科技大本营的目标更加明确,有更多的想法需要落地,不过目前对于营长来说是“现实跟不上灵魂的脚步”,因为缺人~~

所以,AI科技大本营要壮大队伍了,现招聘AI记者和资深编译,有意者请将简历投至:gulei@csdn.net,期待你的加入!

如果你暂时不能加入营长的队伍,也欢迎与营长分享你的精彩文章,投稿邮箱:suiling@csdn.net

如果以上两者你都参与不了,那就加入AI科技大本营的读者群,成为营长的真爱粉儿吧!后台回复:读者群,加入营长的大家庭,添加营长请备注自己的姓名,研究方向,营长邀请你入群。



☟☟☟点击 | 阅读原文 | 查看更多精彩内容

快来呀~120类萌狗祝你狗年大吉!相关推荐

  1. halcon区域腐蚀膨胀算子_超越halcon速度的二值图像的腐蚀和膨胀,实现目前最快的半径相关类算法(附核心源码)。...

    超越halcon速度的二值图像的腐蚀和膨胀,实现目前最快的半径相关类算法(附核心源码). 发布时间:2019-03-20 12:32, 浏览次数:1259 , 标签: halcon 我在两年前的博客里 ...

  2. 祝大家狗年家庭事业旺旺旺

    冒泡排序,选择排序,插入排序,快速排序,堆排序,归并排序,希尔排序,桶排序,基数排序新年帮您排忧解难. 有向图,无向图,有环图,无环图,完全图,稠密图,稀疏图,拓扑图祝您新年宏图大展. 最长路,最短路 ...

  3. python微博评论情感分析_Python采集微博热评进行情感分析祝你狗年脱单

    Ps: 重要的事情说三遍!!! 结尾有彩蛋,结尾有彩蛋,结尾有彩蛋. 如果自己需要爬(cai)虫(ji)的数据量比较大,为了防止被网站封Ip,可以分时段爬取,另外对于爬到的数据一般是用来存储数据库,这 ...

  4. 毕设:基于CNN卷积神经网络的猫狗识别、狗品种识别(Tensorflow、Keras、Kaggle竞赛)

    基于卷积神经网络的图像识别算法及其应用研究 毕业快一年了,拿出来分享给大家,我和网上唯一的区别就是,我能够同时实现两个方案(猫狗识别和狗品种识别),我当时也是网上各种查,花了2,3个月的时间,一个萝卜 ...

  5. 猫叫狗叫java_狗叫猫叫动物叫声手机版|狗叫猫叫动物叫声安卓版下载 v1.1 - 跑跑车安卓网...

    这是一款狗叫猫叫动物叫声模拟器,用户可通过该软件来进行动物叫声模拟,更好的帮助你跟爱宠进行互动,有兴趣的快来下载吧. 软件介绍 猫叫狗叫动物叫声,是一个史上超萌,超神奇的宠物互动APP,它可以模拟狗狗 ...

  6. 深度学习狗图片_狗品种分类的深度学习

    深度学习狗图片 深度学习 (Deep Learning) Stuck behind the paywall? Click here to read the full story with my fri ...

  7. 工控 组态王6.60 SP3软件7.5 SP4 授权软件狗 USB 硬件狗 分享 下载

    工控 组态王6.60 SP3软件 授权软件狗 USB 硬件狗 分享 下载 技术咨询QQ:3137723307 组态王6.60是一款非常好用的工业类自动化控制软件,此版本继承了前面几个版本的所有功能,可 ...

  8. linux需要看门狗喂狗程序,多任务看门狗, 喂狗方法

    看门狗分和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能溢出,也就 ...

  9. 狗年说狗--忠诚的卫士

     狗年说狗--忠诚的卫士 作者: 梅兰                                             主页: http://http://free.ys168.com/?um ...

最新文章

  1. eureka心跳_Eureka工作原理及心跳机制
  2. oracle 学习笔记之触发器
  3. leetcode c程序总提示主函数_Matlab系列之函数嵌套
  4. 智能语音识别app下载-智能语音识别app安卓版下载v2.2 - 非凡软件站
  5. 【FPGA】ds18b20温度传感器
  6. 初中计算机成绩评定方案,初中信息技术学科评价方案
  7. 什么是http服务器
  8. 74HC573的使用方法
  9. Flutter实现google登陆(gmail)
  10. 计算机工程与应用期刊模板,计算机工程与应用 论文模板
  11. java文本域添加滚动条实例_java文本域滚动条
  12. FPGA可以转行数字IC验证吗?
  13. UG476 GT Transceivers文档翻译和自身理解
  14. python idle是什么_python中idle是什么意思
  15. AtCoder Beginner Contest 242 C 1111gal password
  16. 【图文并茂】在线一键重装win7系统详细教程
  17. 收深圳2022年的高新技术企业(软件开发)
  18. 安装交叉编译工具:arm-himix200-linux
  19. nginx 之 proxy_pass详解(好文章!!详细)
  20. 拒绝了对对象 '表名' (数据库 '数据库名',架构 'dbo')的 SELECT 权限

热门文章

  1. mysql 中limit 用法!!
  2. 一场库文件的远程修复
  3. Anaconda安装,jupyter notebook 使用说明
  4. java连接mysql以及增删改查操作
  5. 描述一下 Intent 和 IntentFilter?
  6. request.getSession()
  7. Window Server 2008 R2 安装 Share Point 2013
  8. 添加MySql数据库超时设置的相关问题
  9. 水晶报表导出数据并实现打印
  10. 【组队学习】【27期】集成学习