狗盲不存在!印度小哥实战搭建狗品种识别算法,只要7步

新智元报道
来源:网络
编辑:yaxin、su
【新智元导读】狗的品种有多少 , 你能否一一道来?若将不同品种的狗拉到你面前 , 你又能认识几个?别急 , 国外小哥搭建了一个专门对狗的品种进行分类的CNN模型 , 「狗盲」不存在!
在路上偶然见到一只狗狗觉得很可爱 , 但是不知道它的品种?
觉得某个喜欢的明星很像……狗狗?
最近 , 一位印度小哥搭建了一个CNN模型 , 专门对狗的品种进行分类!
识别到人脸怎么办呢?它会告诉我们与此人最相似的狗狗品种 。 
该模型使用的狗数据集和人体数据集来自Kaggle 。
包括8351张狗图像 , 分为训练(6680)、验证(835)和测试(836)数据集 , 以及13233张人脸 。 
训练数据集中 , 图像数量最多的阿拉斯加雪橇犬(77) , 最少的是挪威布哈德犬(26) 。 
如图从上到下依次为:阿拉斯加雪橇犬、挪威布哈德犬
该模型的评估指标是准确性 , 即正确预测的数量与所有预测的比值 。
同时 , 在总结时使用精度进行评估 , 避免误报率(FalsePositiveRatio) 。
具体步骤分为七步:
第1步:检测人类
第2步:检测狗
第3步:创建一个CNN来对狗品种进行分类
第4步:使用CNN对狗品种进行分类(使用迁移学习)
第5步:创建一个CNN来对狗品种进行分类(使用迁移学习)
第6步:最终算法
第7步:测试算法
七步走 , 狗狗检测器诞生
第1步检测人类
研究人员尝试将2种不同的算法来检测人脸:OpenCV和MTCNN 。
如何实现?
OpenCV是一个python库 , 它使用基于Haar特征的级联分类器 , 通过各种过滤器/内核函数提取特征 , 然后应用Adaboost算法对不良特征进行处罚 。 
OpenCV的Haar级联分类器准确预测100%的人类图像 , 约12%的狗图像错误地预测为人类 。
再来看另一个检测人脸的分类器MTCNN(多任务级联卷积网络) 。
它由三个卷积网络(P-Net、R-Net和O-Net)组成 , 负责实时检测的鲁棒性 。
事实证明 , MTCNN是检测「模糊图像」更好选择 。 
OpenCV和MTCNN对比
然而 , 当研究者在狗图像上评估MTCNN算法时 , 检测出的比率却是不同的 。
尽管它完美地检测了所有人脸 , 但大约23%的狗图像被检测为人类 , 这比OpenCV的12%错误率要大得多 。
这表明MTCNN中的误报率高于OpenCV 。
第2步检测狗
为了检测狗 , 研究人员使用预训练的Resnet-50模型 。 该神经网络已在ImageNet数据集上进行了训练 , 可直接加载模型利用 。 
在把图像提供给Resnet-50模型之前 , 必须将图像重塑n(图像的预处理)m为Keras接受的张量(4D数组) 。 
预处理图像数据
接下来便是预测 。 预测前 , 研究者对输入图像也进行一些额外的处理 。
- 电信|印度电信和IT部长:印度本土研发的5G技术有潜力赢得全球市场
- 永动机不存在?那到底是什么力量,在促使宇宙天体不断运转?
- 永动机真的不存在吗?为什么太阳系旋转了几十亿年,依然没停下
- 黑客|攻击我国10年的印度黑客,多次窃取我国机密,为何发现的这么晚?
- 智能手表|攻击我国10年的印度黑客,多次窃取我国机密,为何发现的这么晚?
- 现实世界的本质究竟是什么?为何爱因斯坦说这个世界根本不存在?
- 如果说火星上不存在生命,其上发生的诡异现象该怎么解释?
- |印度最大企业“塔塔集团”,在我国属于什么水平?和华为比谁强?
- 苹果|满满印度风!iPhone 14 Pro全新古铜配色曝光
- 芯片|印度工程师的项目,在塑料上造芯片,成本还不足1毛钱
