这些动物,你认识几个呢?

简介: 对于16届全国大学生智能车中的智能视觉组中的动物集合进行识别测试。
简 介: 昨天,参加第十七届智能车竞赛的同学给我发送了一段B站上的,无线充电车模的演示视频: 开源开源,第十七届智能车比赛博特电子节能小车,随便玩一玩吧。比赛还是卷不过你们。

关键词 智能车竞赛动物识别PaddleHub
graph LR
A1(动物识别) === A((文章目录))
style A fill:#39f,stroke:#ccc,stroke-width:5px,color:#FFF
style A1 fill:#9f9,stroke:#3a3,stroke-width:2px
B11(智能车竞赛<br>中动物识别) --- A1
A1 --- B12(PaddleHub一<br>键识别动物)
C121(初步测试) --- B12
style C121 fill:#ffffff,stroke:#777,stroke-width:1px
B12 --- C122(智能车竞赛<br>动物集合)
style C122 fill:#ffffff,stroke:#777,stroke-width:1px
A((文章目录)) === A2(无线充电)
style A2 fill:#9f9,stroke:#3a3,stroke-width:2px

 

§01 物识别


一、智能车竞赛中动物识别

  在 第十六届全国大学生智能车竞赛 中的 室内视觉组 要求车模检测到赛道傍边的 标靶 根据标靶的内容(动物、水果)完成相应的动作。

▲ 图1.1  智能车在识别图片任务

▲ 图1.1 智能车在识别图片任务

  为了提高车模作品中视觉识别的精度要求,在 第十七届智能车竞赛 中的 智能视觉组 则要求对于大类中的小类进行识别,也就是单片机中的软件需要能够完成对于动物、水果、交通工具中的子类别进行识别。由此对于视觉模型的精度要求大大提高了。

二、PaddleHub一键识别动物

  前天在百度的AI Studio 人工智能学习与石浔社区中看到了 PaddleHub一键动物识别 教学案例,展示了PaddleHub中定制打造的动物识别开源模型:

  支持一键完成动物识别,是用于拍照识别图片方面的应用。下面就测试一下这个开源网络,看看去年智能车竞赛组委会各个动物集合中究竟有几种不同的动物种类。

1、初步测试

(1)安装PaddleHub

  在Notebook中安装 paddlehub。

!pip install paddlehub==1.6.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

(2)测试样例图片

test_img_path = ["./1.JPG", "./2.JPG", "./3.JPG"]

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

for imgname in test_img_path:
    img1 = mpimg.imread(imgname)

    plt.figure(figsize=(10,10))
    plt.imshow(img1)

    plt.axis('off')
    plt.show()

▲ 图1.1.1 大熊猫

▲ 图1.1.1 大熊猫

▲ 图1.1.2 人脸图片

▲ 图1.1.2 人脸图片

▲ 图1.1.3 北极狐

▲ 图1.1.3 北极狐

(3)样例图片测试结果

Ⅰ.测试代码
#------------------------------------------------------------

import paddlehub as hub
module = hub.Module(name='resnet50_vd_animals')

#------------------------------------------------------------
import cv2

np_images = [cv2.imread(image_path) for image_path in test_img_path]
results = module.classification(images=np_images)

for r in results:
    printf(r)
Ⅱ.识别结果
{'国宝大熊猫': 0.9751655459403992}
{'非动物': 0.9993972778320312}
{'北极狐': 0.8418184518814087}

2、智能车竞赛动物集合

  在第16届智能车镜竞赛智能视觉组中的动物集合中,主要有五类动物:。这些都是人类生活中常见到的动物,随着人类社会的发展,世界上培育出很多不同的品种。下面使用PaddleHub中的动物识别模型,来告诉我们这些动物的种类。

(1)测试代码

from headm import *

import os

test_img_path = ["./1.JPG", "./2.JPG", "./3.JPG"]

cat_dir = '/home/aistudio/data/fruitanimal'
cat_num = 101

cat_img = [os.path.join(cat_dir, '%02d.jpg'%(i+1)) for i in range(cat_num)]

'''
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

for imgname in cat_img:
    img1 = mpimg.imread(imgname)

    plt.figure(figsize=(10,10))
    plt.imshow(img1)

    plt.axis('off')
    plt.show()

    break
'''

import paddlehub as hub
module = hub.Module(name='resnet50_vd_animals')

import cv2
np_images = [cv2.imread(image_path) for image_path in cat_img]

results = module.classification(images=np_images)

for r in results:
    printf(r)

(2)识别结果

Ⅰ.狗的识别结果

▲ 图1.2.1 狗的图片

▲ 图1.2.1 狗的图片

  通过识别,可以看到总共101张图片,识别出狗的种类为35中,其中最多的两个狗的品种为金毛犬威尔士柯基

序号 种类 个数
1 拉萨犬 1
2 日本柴犬 8
3 爱斯基摩犬 1
4 杰克罗素梗 2
5 日本秋田犬 2
6 八哥犬 7
7 西高地白梗 1
8 威尔士柯基 14
9 拉布拉多 4
10 美系秋田犬 1
11 德牧 德国牧羊犬 3
12 塔马斯卡犬 1
13 德国狐狸犬 1
14 中国藏獒 1
15 斯塔福斗牛梗 1
16 罗威纳犬 2
17 边境牧羊犬 2
18 贵宾犬 贵妇犬 3
19 腊肠犬 1
20 圣伯纳犬 1
21 非动物 1
22 吉娃娃犬 5
23 波士顿梗犬 2
24 阿拉斯加雪橇犬 2
25 大麦町 1
26 金毛犬 10
27 马尔济斯犬 玛尔基斯犬 1
28 中华田园犬 2
29 哈士奇犬 7
30 法兰西斗牛犬 5
31 约克夏梗 1
32 拳师犬 1
33 比格猎犬 3
34 罗秦犬 1
35 卷毛比熊犬 2
{'日本秋田犬': 0.4390193223953247}
{'贵宾犬/贵妇犬': 0.7055565714836121}
{'金毛犬': 0.8339270949363708}
{'比格猎犬': 0.4970936179161072}
{'德国狐狸犬': 0.5624755620956421}
{'金毛犬': 0.6434336304664612}
......
{'金毛犬': 0.7351966500282288}
{'拉布拉多': 0.9914411306381226}
{'哈士奇犬': 0.5635216236114502}
Ⅱ.牛的识别结果

▲ 图1.2.2 牛的图片

▲ 图1.2.2 牛的图片

  牛的图片集合中总共有93张图片,识别的种类为22中,最多的牛的种类为湘西黄牛

序号 种类 个数
1 印度野牛 5
2 白牦牛 2
3 乳牛 6
4 和牛 4
5 野山羊 1
6 南方牛 2
7 非洲水牛 9
8 德克斯特牛 1
9 麝牛 2
10 西门塔尔牛 1
11 秦川牛 2
12 高地牛 3
13 利木赞牛 1
14 犊牛 3
15 中国荷斯坦奶牛 9
16 瑞士褐牛 3
17 水牛 8
18 湘西黄牛 15
19 娟珊牛 1
20 爪哇野牛 1
21 牦牛 8
22 美洲野牛 6
{'印度野牛': 0.7731859087944031}
{'和牛': 0.34460482001304626}
{'中国荷斯坦奶牛': 0.4629508852958679}
{'中国荷斯坦奶牛': 0.4254103899002075}
{'中国荷斯坦奶牛': 0.395224004983902}
。。。。。。
{'利木赞牛': 0.2524842321872711}
{'非洲水牛': 0.5881295204162598}
{'美洲野牛': 0.6179811358451843}
{'犊牛': 0.2019311934709549}
{'西门塔尔牛': 0.10599607974290848}
Ⅲ.猫的识别结果

▲ 图1.2.3 猫的图片

▲ 图1.2.3 猫的图片

  猫的图片总共有99张,识别的种类为37个。最多的两个品种:家猫虎斑猫

序号 种类 个数
1 红色猫 2
2 曼切堪猫 1
3 挪威森林猫 3
4 日本猫 1
5 短毛猫 7
6 美国刚毛猫 3
7 家猫 17
8 豹猫 2
9 波斯猫 1
10 高地猫 2
11 茶杯猫 1
12 粉头斑鸠 1
13 美国银色短毛猫 2
14 丝毛狗 1
15 苏格兰折耳猫 2
16 中国狸花猫 2
17 奶牛猫 4
18 美国短毛猫 2
19 折叠猫 1
20 纯种猫 1
21 缅因猫 1
22 科恩家猫 1
23 德文帝王猫 1
24 欧洲缅甸猫 1
25 虎斑猫 14
26 拉格多尔猫 1
27 英国短毛猫 9
28 孟买猫 1
29 土猫 2
30 乳黄色猫 2
31 西伯利亚猫 2
32 土耳其安哥拉猫 1
33 雪鞋猫 1
34 中华田园猫 2
35 科拉特猫 1
36 泰国暹罗猫 2
37 俄罗斯蓝猫 1
{'家猫': 0.26924195885658264}
{'苏格兰折耳猫': 0.47249680757522583}
{'奶牛猫': 0.48933151364326477}
{'虎斑猫': 0.6846295595169067}
{'土耳其安哥拉猫': 0.16593654453754425}
{'豹猫': 0.6253762245178223}
。。。。。。
{'美国银色短毛猫': 0.42112547159194946}
{'短毛猫': 0.35389307141304016}
{'美国刚毛猫': 0.43220415711402893}
{'美国刚毛猫': 0.4108104407787323}
{'红色猫': 0.2033773958683014}
Ⅳ.马的识别结果

▲ 图1.2.4 马的照片

▲ 图1.2.4 马的照片

  马的图片有95张,识别的种类为10种。其中最多的是骏马

序号 种类 个数
1 伊犁马 1
2 骏马 77
3 阿帕卢萨马 1
4 阿拉伯马 2
5 蒙古马 1
6 乌珠穆沁马 3
7 迷你马 2
8 矮种马 1
9 顿河马 4
10 汗血马 3
{'骏马': 0.6022858023643494}
{'骏马': 0.950950562953949}
{'骏马': 0.8656469583511353}
{'骏马': 0.6158687472343445}
。。。。。。
{'骏马': 0.5660824179649353}
{'蒙古马': 0.3801785707473755}
{'骏马': 0.5563110113143921}
{'骏马': 0.4901660680770874}
{'骏马': 0.9210300445556641}
Ⅴ.猪的识别结果

▲ 图1.2.5 猪的照片

▲ 图1.2.5 猪的照片

  二师兄的图片有88张,识别的种类有14中。最多的为家猪种猪

序号 种类 个数
1 家猪 25
2 特种野猪 2
3 长白猪 1
4 汉普夏猪 1
5 宠物猪 9
6 香猪 7
7 黑山猪 4
8 从江香猪 4
9 西猯 2
10 荣昌猪 1
11 种猪 16
12 二元母猪 5
13 北京黑猪 7
14 小香猪 4
{'家猪': 0.5635786056518555}
{'香猪': 0.5747232437133789}
{'长白猪': 0.34550777077674866}
{'种猪': 0.32950359582901}
{'小香猪': 0.4352666139602661}
。。。。。。
{'家猪': 0.4807981252670288}
{'家猪': 0.6012528538703918}
{'家猪': 0.816167414188385}
{'家猪': 0.6905205845832825}
{'小香猪': 0.4659614562988281}

 

 

§02 线充电


  天,参加第十七届智能车竞赛的同学给我发送了一段B站上的,无线充电车模的演示视频:

  开源开源,第十七届智能车比赛博特电子节能小车,随便玩一玩吧。比赛还是卷不过你们。

▲ 图1 博主的电子小车

▲ 图1 博主的电子小车


▲ 图2  车模在赛道上边充电便运行

▲ 图2 车模在赛道上边充电便运行


■ 相关文献链接:

● 相关图表链接:

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-12-13
#
# Note:
#============================================================

from headm import *

strid = 5

#------------------------------------------------------------
tspgetdopstring(-strid)
strall = clipboard.paste().split('\r\n')
#printf(strall)

#------------------------------------------------------------
namedim = []
for s  in strall:
    namedim.append(s.split("'")[1])

nameonly = list(set(namedim))
#printf(namedim)
printf(len(namedim))

printf('序号 种类 个数')
for id,n in enumerate(nameonly):
    num = namedim.count(n)
    printf('{:<4}{:10}{:3}'.format(id+1, n, num))





#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================
相关文章
|
分布式计算 运维 Kubernetes
flink on k8s jobmanager HA 完全部署
flink on k8s jobmanager HA 完全部署
flink on k8s jobmanager HA 完全部署
|
安全 Linux KVM
倚天产品介绍|倚天虚拟化:CPU虚拟化原理介绍
虚拟化技术中最关键的技术之一就是CPU虚拟化。在没有硬件辅助虚拟化技术出来之前,通常都是通过TCG(软件进行指令翻译)的方式实现CPU虚拟化。但是由于TCG方式的虚拟化层开销太大,性能太差,因此引入了硬件辅助虚拟化技术。
|
9月前
|
大数据 物联网 云计算
课时24:案例分享——中国邮政
在国企改革背景下,中国邮政积极推进行业信息化转型。通过与阿里云合作,中国邮政实现了核心业务云化,解决了高并发、资源不均衡等问题,并构建了PB级大数据平台,推动智能化分拣和寄递业务自动化。石崇斌总经理分享了邮政信息化发展历程及未来规划,强调以用户为中心的理念和技术应用的重要性。
312 1
课时24:案例分享——中国邮政
|
11月前
|
人工智能 自然语言处理 搜索推荐
GLM-Realtime:智谱推出多模态交互AI模型,融入清唱功能,支持视频和语音交互
GLM-Realtime 是智谱推出的端到端多模态模型,具备低延迟的视频理解与语音交互能力,支持清唱功能、2分钟内容记忆及灵活调用外部工具,适用于多种智能场景。
552 4
GLM-Realtime:智谱推出多模态交互AI模型,融入清唱功能,支持视频和语音交互
|
11月前
|
算法
基于龙格库塔算法的锅炉单相受热管建模与matlab数值仿真
本设计基于龙格库塔算法对锅炉单相受热管进行建模与MATLAB数值仿真,简化为喷水减温器和末级过热器组合,考虑均匀传热及静态烟气处理。使用MATLAB2022A版本运行,展示自编与内置四阶龙格库塔法的精度对比及误差分析。模型涉及热传递和流体动力学原理,适用于优化锅炉效率。
237 14
|
9月前
|
Android开发 UED iOS开发
Harmony os next~UI开发与ArkUI框架
鸿蒙OS的UI开发基于ArkUI框架,采用声明式编程,简化开发流程。五大核心组件(Text、Button、List、Grid、Flex)助力高效布局,支持数据绑定与动态更新。事件响应机制灵敏,适合构建交互丰富的应用。实战技巧包括规范命名、样式复用和调试方法。掌握这些,轻松开发鸿蒙应用。下期预告:分布式开发,记得带上烤冷面!
324 0
|
搜索推荐
LangChain-10 Agents langchainhub 共享的提示词Prompt
LangChain-10 Agents langchainhub 共享的提示词Prompt
197 3
|
前端开发 开发者 设计模式
揭秘Uno Platform状态管理之道:INotifyPropertyChanged、依赖注入、MVVM大对决,帮你找到最佳策略!
【8月更文挑战第31天】本文对比分析了 Uno Platform 中的关键状态管理策略,包括内置的 INotifyPropertyChanged、依赖注入及 MVVM 框架。INotifyPropertyChanged 方案简单易用,适合小型项目;依赖注入则更灵活,支持状态共享与持久化,适用于复杂场景;MVVM 框架通过分离视图、视图模型和模型,使状态管理更清晰,适合大型项目。开发者可根据项目需求和技术栈选择合适的状态管理方案,以实现高效管理。
170 0
|
机器学习/深度学习 人工智能 自然语言处理
构建未来:AI在个性化教育中的应用
【5月更文挑战第27天】 随着人工智能(AI)技术的飞速发展,其在教育领域的应用正逐步从理论走向实践。本文探讨了AI如何通过个性化学习路径、智能辅导和数据驱动的决策支持,为教育带来革命性的变革。我们分析了当前AI技术在教育中应用的现状,挑战以及未来的发展趋势,并提出了相应的策略建议。文章旨在为教育工作者和技术开发者提供一个关于AI在教育领域应用的全面视角,以促进教育资源的优化配置和教学质量的提升。
405 5
|
自动驾驶 安全 物联网
5G通信技术原理及影响:塑造通信新纪元
【5月更文挑战第1天】5G通信技术引领全球通信革命,凭借高速度、低延迟、高可靠性和广泛覆盖,重塑各行各业。核心技术包括多址技术、大带宽、大规模MIMO、超低延迟和大容量技术。5G提升用户体验,推动产业创新,促进经济发展,加强全球互联,为社会带来智能、便捷的新生活。面对挑战,我们需要寻求解决方案,确保5G的健康发展。