简 介: 昨天,参加第十七届智能车竞赛的同学给我发送了一段B站上的,无线充电车模的演示视频:开源开源,第十七届智能车比赛博特电子节能小车,随便玩一玩吧。比赛还是卷不过你们。[1]
关键词: 智能车竞赛,动物识别,PaddleHub
01 动物识别
一、智能车竞赛中动物识别
在 第十六届全国大学生智能车竞赛[2] 中的 室内视觉组[3] 要求车模检测到赛道傍边的 标靶[4] 根据标靶的内容(动物、水果)完成相应的动作。

为了提高车模作品中视觉识别的精度要求,在 第十七届智能车竞赛[5] 中的 智能视觉组[6] 则要求对于大类中的小类进行识别,也就是单片机中的软件需要能够完成对于动物、水果、交通工具中的子类别进行识别。由此对于视觉模型的精度要求大大提高了。
二、PaddleHub一键识别动物
前天在百度的AI Studio 人工智能学习与石浔社区中看到了 PaddleHub一键动物识别[7] 教学案例,展示了PaddleHub中定制打造的动物识别开源模型:
resnet50_vd_animals[8]
mobilenet_v2_animals[9]
支持一键完成动物识别,是用于拍照识别图片方面的应用。下面就测试一下这个开源网络,看看去年智能车竞赛组委会各个动物集合中究竟有几种不同的动物种类。
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()



(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)识别结果
Ⅰ.狗的识别结果

通过识别,可以看到总共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}
Ⅱ.牛的识别结果

牛的图片集合中总共有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}
Ⅲ.猫的识别结果

猫的图片总共有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}
Ⅳ.马的识别结果

马的图片有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}
Ⅴ.猪的识别结果

二师兄的图片有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站上的,无线充电车模的演示视频:
开源开源,第十七届智能车比赛博特电子节能小车,随便玩一玩吧。比赛还是卷不过你们。[7]


参考资料
开源开源,第十七届智能车比赛博特电子节能小车,随便玩一玩吧。比赛还是卷不过你们。: https://www.bilibili.com/video/BV19L41177Y3?p=1&share_medium=android&share_plat=android&share_session_id=6920e647-d61a-4f09-bf49-d984f6381012&share_source=COPY&share_tag=s_i×tamp=1639360584&unique_k=7P2rQj2
[2]第十六届全国大学生智能车竞赛: https://zhuoqing.blog.csdn.net/article/details/110253008
[3]室内视觉组: https://zhuoqing.blog.csdn.net/article/details/111352093
[4]标靶: https://zhuoqing.blog.csdn.net/article/details/118050895
[5]第十七届智能车竞赛: https://blog.csdn.net/zhuoqingjoking97298/article/details/121187014?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163936385516780271526381%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163936385516780271526381&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v2rank_v29-1-121187014.pc_v2_rank_blog_default&utm_term=%E5%8D%81%E4%B8%83%E5%B1%8A&spm=1018.2226.3001.4450
[6]智能视觉组: https://blog.csdn.net/zhuoqingjoking97298/article/details/121438560?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163936385516780271526381%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163936385516780271526381&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v2rank_v29-3-121438560.pc_v2_rank_blog_default&utm_term=%E5%8D%81%E4%B8%83%E5%B1%8A&spm=1018.2226.3001.4450
[7]PaddleHub一键动物识别: https://aistudio.baidu.com/aistudio/projectdetail/437648
[8]resnet50_vd_animals: https://paddlepaddle.org.cn/hubdetail?name=resnet50_vd_animals&en_category=ImageClassification
[9]mobilenet_v2_animals: https://paddlepaddle.org.cn/hubdetail?name=mobilenet_v2_animals&en_category=ImageClassification