专栏名称: Python程序员
最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具。我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动
目录
相关文章推荐
Python爱好者社区  ·  离谱!下载DeepSeek最高判刑20年? ·  17 小时前  
Python开发者  ·  o3-mini 碾压 DeepSeek ... ·  4 天前  
Python开发者  ·  请立即拿下软考证书(政策风口) ·  2 天前  
Python爱好者社区  ·  推荐我的抖音变现俱乐部! ·  5 天前  
Python爱好者社区  ·  DeepSeek薪资曝光! ·  4 天前  
51好读  ›  专栏  ›  Python程序员

Python实现“鸟脸识别”系统,看看什么鸟最贪吃~ 初学者也能学会

Python程序员  · 公众号  · Python  · 2021-03-08 15:49

正文

梦晨 发自 凹非寺
量子位 报道 | 公众号 QbitAI

网友cldud1245是一个鸟类爱好者(以下简称喂鸟哥),最近打算自学Python。

拥有其他语言编程经验的他,可不打算按部就班从Hello World做起,一上来就挑战 图像识别

他用一个摄像头对着自家后院的喂鸟器,拍到来觅食的鸟就尝试判断鸟的种类,并通过Twitter机器人实时发布判断结果。

运行第一天就拍到了17次!最多的时候每十几分钟就有鸟来光顾。

其中卡罗莱纳山雀总共来过8次,就是还不能准确判断是否是同一只。

使用的技术都是开源的!

喂鸟哥把代码放到了Github上开源,只有一个文件、三百多行。来看看他是怎么实现的吧!

作为初学者,他使用的都是已存在的开源项目,没有自己训练新的模型。

目标检测模型使用的是随TensorFlow目标检测API发布的 SSD Openimages v4

鸟类分类模型是TensorFlow Hub上由Google发布的基于 MobileNet V2 的轻量级模型。

图像处理就是经典的Open CV了。

不过鸟类分类模型中给出的结果都是拉丁文学名,为了方便大家看懂他又写了一个爬虫从维基百科上把对应的俗名爬了下来。

另外,该项目Github中有详细的思路解说,感兴趣的话可以去学习一下!

还有进步空间

从Twitter上发布的结果目前看来准确率还有待提高,比如拍到飞行中的鸟识别起来会遇到困难。

有时也会把两只鸟识别成三只。喂鸟哥打算用 非极大值抑制 (Non-Maximum Suppression) 来修复这个问题。

不过这才是项目运行的第一天。

喂鸟哥使用鸟类百科图册进行测试,结果还是很准确的,所以怀疑摄像头是否还不够清晰

有人建议他,把网友指出正确名称的评论爬取下来,与图片一起再加入数据集进行训练,就可以不断提高精度。

还有人提议下一步要识别鸟的个体身份,看看到底是同一只鸟反复来吃东西,还是只是一个品种的很多只鸟。

One More Thing

回复中有人问到:“但是它能判断照片是不是在国家公园拍摄吗?”

这个梗来自网络漫画网站XKCD在 2014年 发表的一幅漫画。

如果要判断一张照片是否在国家公园拍摄,只需要判断一下图片的地理标记信息就行了。

但是要判断照片里有没有鸟,则是一个困难的多的问题。

Flickr的工程师看到后接受了这个挑战,用当时刚刚掀起新一轮热潮的深度学习做出了漫画中描述的这款程序Park or Bird(现已停止访问)。

来看看当时的 深度卷积神经网络 的架构。

随着技术的发展,今天的我们不仅能识别照片中是否有鸟,还能判断鸟的种类,甚至识别鸟的个体身份也不再是天方夜谭。

参考链接:

[1]github项目地址 https://github.com/cmoon4/backyard_birdbot
[2] https://twitter.com/BackyardBirdbot
[3]







请到「今天看啥」查看全文