快来呀~120类萌狗祝你狗年大吉!

news/2024/10/18 0:32:10/



  本文来自宏伦工作室


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

怎么是我?说好的 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科技大本营的读者群,成为营长的真爱粉儿吧!后台回复:读者群,加入营长的大家庭,添加营长请备注自己的姓名,研究方向,营长邀请你入群。



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


http://www.ppmy.cn/news/572525.html

相关文章

管理类联考——逻辑——知识篇——分析推理——二、匹配——haimian

匹配 题型识别 题干一般提供3-5个对象和2~3个维度的信息,并描述某对象及信息间的条件关系,要求将信息进行匹配。要从一个一个条件出发,通过逻辑推理,得出正确答案。 思维导图 解题技巧 注意选项的模式,如果已经将关…

八、让照片说话之SadTalk

西安交通大学开源了人工智能SadTalker模型,通过从音频中学习生成3D运动系数,使用全新的3D面部渲染器来生成头部运动,可以实现图片+音频就能生成高质量的视频。内含多个踩坑的解决办法,值得玩一玩。 1、sadtalker安装 1.1 windows运行环境构建 Install Python 3.10.6 Insta…

Java与设计模式(2):工厂方法模式

一、定义 工厂方法模式是一种创建型设计模式,它提供了一种将对象的创建委托给子类的方式。在工厂方法模式中,我们定义一个抽象的工厂类,该类负责定义创建对象的接口,但具体的对象创建由子类来实现。这样可以将对象的创建和使用解…

5年资深Android开发,转行逆向开发该如何学习?

Android逆向是什么? 简单地来说,安卓逆向是对已经打包好的APP进行反编译、源码分析了解APP实现逻辑的一门技术。我们可以把安卓安装时用到的APK文件看作一个加密后的压缩包,逆向就是要最大程序地还原出APK打包之前的源码。 逆向需要用到解密…

爱普生几种低功耗时钟芯片

目录 1、低功耗时钟芯片——RX8804CE 2、低功耗时钟芯片——RX8010SJ 3、低功耗时钟芯片——RX6110SA

津津乐道设计模式 - 适配器模式详解(家里电器电源标准不统一的问题都解决了)

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…

Golang 中的 bufio 包详解(五):常用函数

Golang 中的 bufio 包是带缓冲 I/O 操作的标准库,之前的几篇文章详细讲解了 bufio.Reader、bufio.Writer 和 bufio.Scanner 这个几个结构体的使用方法、特性和使用场景,本文介绍一下 bufio 包中的函数。 介绍常用函数之前,先简单介绍下另一个…

希腊字母英文对照表

希腊字母对应英文αAlphaβBetaγGammaδDeltaεEpsilonζZetaνNuξXiοOmicronπPiρRhoσSigmaηEtaθThetaιIotaκKappaλLambadaμMuτTauυUpsilonφPhiχChiψPsiωOmega