加拿大小哥用树莓派做了一个狗子探测器:实时识别路过的狗子,还能向狗主人“表白”

简介: 加拿大小哥用树莓派做了一个狗子探测器:实时识别路过的狗子,还能向狗主人“表白”

首先,文摘菌想请大家回想一下,自己抖音里点赞最多的视频是什么?

相信不少人和文摘菌一样,一旦滑到可爱的狗子视频,都会忍不住多看几秒,然后狠狠地点个赞。
都说“吸狗一时爽,一直吸狗一直爽”,不过尽管“云吸狗”十分流行,文摘菌在这里要说,“云吸狗”还是没有真·吸狗来得香。

和文摘菌所见略同的,还有这个加拿大小哥Ryder。

不同的是,Ryder真的亲手做了一个狗子探测器,这个探测器还和扩音喇叭联结在了一起,但凡有人遛狗经过了他们家,探测器首先会进行识别,然后这个喇叭就会提醒他,“快来吸狗啦!”

这还不止,Ryder还突发奇想,这些狗子都这么可爱,它们的主人也应该得到赞赏。

于是,他对整个系统进行了改进。现在这个扩音喇叭不仅能提醒他赶紧吸狗,还能对着路边的狗主人大声说到,“我喜欢你家的狗子(I like your dog)”。

当然,不明所以的路人可能会一脸懵逼:

甚至还有热心的读者留言到,“其实你还可以装一个零食发射器,给路过的狗子派发零食”。

那文摘菌就在这里坐等这个装配了零食发射器的狗子探测器了。

超简单的狗子探测器,只需树莓派,项目已开源

根据Ryder自己介绍,这个项目是为了自己的一个朋友,他曾经做出翻越6英尺围栏就为了撸一只狗的创举。

所以,其实整个项目的思路也很简单,只需要去识别经过的狗子,然后通知他就行了。

那么就动手吧。

首先,准备一个树莓派相机,对准窗外的大街,实时记录动态,然后将这些数据喂给一个机器学习模型,模型便会根据输入数据识别对象。

Ryder使用的这个模型叫做YOLOv3,这个模型中的数据都是人工进行标记的,当数据达到一定的量级后,他们便把这些数据喂给机器学习系统,随后进行训练。

据了解,这个模型能识别80多种物体,包括狗子、人和汽车等。

Ryder用自定义码将这些系统组合在一起,然后就可以上街进行测试了。

可以看到,系统不仅正确识别出了人和狗子,路边的汽车也被标记了出来。

接下来,Ryder拿出了一个扩音喇叭,录入了语音消息,这下子有狗子经过,就能得到实时通报了。

不过也不是每次都能保证有很好的视野就是了。

目前,Ryder也把这个“狗子识别”项目开源在了GitHub上,有需求的朋友自取~

GitHub链接:
https://github.com/rydercalmdown/dog_detector

YOLO背后的那些事儿

说到目标检测网络YOLO,这应该是目前最为常用的目标检测算法了,在自动驾驶、人脸识别等领域都有一展身手之地。

YOLO最早是由Joseph Redmon等人在2015年提出,并在随后的几篇论文中进行了修订。单是凭借YOLO,Redmon就先后获得2016年CVPR群众选择奖、2017年CVPR最佳论文荣誉奖。在学术界,YOLO也是广受欢迎,三篇一作论文总引用量已经超过16000次。

在性能上,由于YOLO只使用单个网络,其便可以直接在检测性能上进行端到端优化,使得基础YOLO模型能以每秒45帧的速度实时处理图像。

就以YOLOv3为例,在Pascal Titan X上处理608x608图像速度达到20FPS,在COCO test-dev上 mAP@0.5达到57.9%,与RetinaNet的结果相近,并且速度快4倍。

同时,YOLOv3在发扬了YOLO系列速度优点的同时,还提升了模型精度,尤其加强了对小目标和重叠遮挡目标的识别,补齐了此前的短板,是当时速度和精度均衡的目标检测网络。

不过,就在去年初,YOLO之父Joseph Redmon却突然宣布,退出计算机视觉领域。

Redmon在推特上表示,由于军用和隐私方面的问题和担忧,自己选择不再进行CV方面的研究。

Fast.ai创始人Jeremy Howard转推评论到,“我之前从来没见过这种事”。

更让大家关心的是,YOLO的更新也暂时被搁浅。

不过好在两个月后,另一位曾经参与YOLO项目维护的Alexey Bochkovskiy,在arXiv上提交了YOLOv4,这篇论文也被拉入原来YOLO之父建立的项目主线。

根据论文介绍,在COCO数据集上,YOLOv4达到了43.5%AP,65FPS,分别提高了10%和12%,运行速度是EfficientNet的2倍。

YOLOv4的速度(FPS)、精度(MS COCO AP50…95和AP50)均超过了其他目标检测器。

论文总结道,YOLOv4主要有以下3点贡献:
提出了一种高效而强大的目标检测模型,使用1080Ti或2080Ti就能训练出超快、准确的目标检测器;
在检测器训练过程中,验证了最先进的Bag-of-Freebies和Bag-of-Specials方法对目标检测器的影响;
改进了SOTA方法,使其更有效、更适合单GPU训练。

据介绍,YOLOv4也用到相当多的技巧:
用于backbone的BoF:CutMix和Mosaic数据增强,DropBlock正则化,Class label smoothing
用于backbone的BoS:Mish激活函数,CSP,MiWRC
用于检测器的BoF:CIoU-loss,CmBN,DropBlock正则化,Mosaic数据增强,Self-Adversarial 训练,消除网格敏感性,对单个ground-truth使用多个anchor,Cosine annealing scheduler,最佳超参数,Random training shapes
用于检测器的Bos:Mish激活函数,SPP,SAM,PAN,DIoU-NMS

不过,文摘菌还是要说,技术是中立的,区别在于使用技术的人。

比如这个狗子探测器,既能够发挥YOLO的价值,也能治愈人心,何乐而不为呢?

相关文章
|
网络协议 Ubuntu Linux
linux网络配置文件
Linux网络配置文件因发行版不同而异:Ubuntu使用`/etc/network/interfaces`,Red Hat系列采用`/etc/sysconfig/network-scripts/ifcfg-ethX`,CentOS用`/etc/sysconfig/network`设置主机名和网关,`/etc/resolv.conf`配置DNS。其他文件如`/etc/hostname`和`/etc/nsswitch.conf`也影响网络设置。编辑这些文件时,记得先备份,并可能需重启网络服务以应用更改。具体操作应参考相应Linux发行版的文档。
585 1
|
Unix 编译器 Linux
CMake Install:深度解析与实践(一)
CMake Install:深度解析与实践
1189 0
|
3月前
|
Ubuntu Linux
查看Ubuntu版本的方法:
无论您是系统管理员还是普通用户,以上几种方法都可以很快地提供您所需的系统版本信息,并可以帮助您在需要进行系统升级或是向技术专家报告问题时,快速准确地提供系统详情。
808 7
|
搜索推荐 UED
敏感词 v0.19.0 新特性之敏感词单个编辑,不必重复初始化
【9月更文挑战第17天】敏感词管理在众多场景中至关重要。敏感词 v0.19.0 推出的新特性——单个编辑,无需重复初始化,显著提升了效率和灵活性,降低了系统负担。用户可直接修改特定敏感词,适用于内容审核平台、社交网络及电商平台等多种场景,确保及时响应变化,提升用户体验。这一特性为敏感词管理带来了重大改进,具有广泛的实用价值。
310 3
|
计算机视觉
树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
|
SQL 关系型数据库 MySQL
orchestrator搭建mysql高可用
orchestrator搭建mysql高可用
453 0
|
存储 安全 物联网
计算机网络的类型
本文介绍了网络的分类,涵盖按覆盖范围(PAN、LAN、MAN、WAN)、使用场景(公网、外网、内网)、传输介质(有线、无线)、特殊类型(VLAN、SAN、网络桥接、接入网)及拓扑结构(总线型、星型、树型、环型、网状型)和交换方式(电路交换、报文交换、分组交换)等,详细阐述了各类网络的特点和技术。
1592 2
|
机器人 异构计算 SoC
实例2:树莓派GPIO控制外部LED灯闪烁
本文是一个关于使用树莓派GPIO控制外部LED灯闪烁的实验教程,介绍了树莓派的基本概念、GPIO接口的使用、RPi.GPIO库的基本操作,以及通过Python编程实现LED灯周期性闪烁的详细步骤和代码示例。
697 1
实例2:树莓派GPIO控制外部LED灯闪烁
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
245 2
JS算法必备之String常用操作方法
|
自然语言处理
COLM 2:从正确中学习?大模型的自我纠正新视角
【10月更文挑战第11天】本文介绍了一种名为“从正确中学习”(LeCo)的新型自我纠正推理框架,旨在解决大型语言模型(LLMs)在自然语言处理任务中的局限性。LeCo通过提供更多的正确推理步骤,帮助模型缩小解空间,提高推理效率。该框架无需人类反馈、外部工具或手工提示,通过计算每一步的置信度分数来指导模型。实验结果显示,LeCo在多步骤推理任务上表现出色,显著提升了推理性能。然而,该方法也存在计算成本高、适用范围有限及可解释性差等局限。
217 1