猫咪藏在哪个房间python_Python 一键吸猫!找出磁盘里所有猫照

3f1f2712fd6f4bbc416bf31951f1d2fb445.jpg

最近在整理我磁盘上的照片,发现不少猫照,突然觉得若能把这些猫照都挑出来,观察它们的成长轨迹也是一件不错的事情。一张一张的找实在是太费劲了,能不能自动化地找出来呢?

目标检测,是许多计算机视觉应用的重中之重,比如说我们上次的实例分割:Python 20行代码批量自动抠图,人体关键点提取、人脸识别等。而我们这一次,是要识别猫照。由于时间不多,我们没有时间收集训练集,那么有没有已经训练好的目标检测模型呢?

这时候就要搬出paddlehub了,puddlehub有一个模型叫做YOLOv3,基于 Joseph Redmon和Ali Farhadi提出的单阶段检测器。该检测器与达到同样精度的传统目标检测方法相比,推断速度能达到接近两倍。

YOLOv3将输入图像分成S*S个格子,每个格子预测B个bounding box,每个bounding box预测内容包括: Location(x, y, w, h)、Confidence Score和C个类别的概率,因此我们不仅能够找出猫的照片,还能定位它的位置!甚至能自动数出一张照片里有多少只猫!

1.准备

为了实现这个实验,Python是必不可少的,如果你还没有安装Python,建议阅读我们的这篇文章哦:超详细Python安装指南。

然后,我们需要安装百度的paddlepaddle, 进入他们的官方网站就有详细的指引:https://www.paddlepaddle.org.cn/install/quick

1c3e32a58b314c2b5630a5f90aaadcb0296.png

根据你自己的情况选择这些选项,最后一个CUDA版本,由于本实验不需要训练数据,也不需要太大的计算量,所以直接选择CPU版本即可。选择完毕,下方会出现安装指引,不得不说,Paddlepaddle这些方面做的还是比较贴心的(就是名字起的不好)。

2a97c97b84d87ba337efbeae27dd4fd9840.png

要注意,如果你的Python3环境变量里的程序名称是Python,记得将python3 xxx 语句改为Python xxx 如下进行安装:

python -m pip

install paddlepaddle -i https://mirror.baidu.com/pypi/simple

然后你还需要安装paddlehub:

pip

install -i

https://mirror.baidu.com/pypi/simple paddlehub

2.编写代码

我们先试试单图片识别,找到猫猫:

da916b329271672bb3c0cf3da64b52967f0.jpg

新建predict.py文件,存放猫照在当前文件夹的imgs文件夹下,命名为c1.jpg. 输入以下代码:

011f89e1ada402a7723e49106258cc0a575.jpg

在终端/CMD输入以下命令运行文件:

>> python predict.py[{'left': 684.79376, 'right': 2024.4724, 'top': 961.53644, 'bottom': 2299.855, 'label': 'cat', 'confidence': 0.94765514}, {'left': 1461.0829, 'right': 3853.3633, 'top': 621.53064, 'bottom': 2769.5376, 'label': 'cat', 'confidence': 0.8093604}]

可以看到,识别到了两只猫,其中第一只猫顶部位置为961,右部位置为2024,左部位置为684,底部位置为2299。根据这个位置,编写代码,用于框出相应位置的猫:

83cb7c8d321c6f44b83d8b2c583109fe547.jpg

效果如下:

be3d6faf960af3e2a57668ee7465c7f85ed.jpg

3.批量自动识别

这样,我们就有思路进行自动识别了,首先获得该文件夹下所有的图片,其次,将这些图片都放入分类器中进行分类,最后,再根据分类的标签将其提取出来移动到其他地方。

获得该文件夹下所有图片:

bed920dc2eac4c0f7c61aafe2c6357812d6.jpg

放入分类器中分类:

92fe9a5823c450bdd61a89d791269ee82ed.png

根据标签画框并移动:

decfdf7b6f172a2259728e41d567cf775ce.jpg

完整代码在这里就不贴出来啦,大家如果有兴趣可以阅读原文查看,或者在后台回复:一键吸猫获得完整源代码,希望大家都能成功提取出自己的“猫片”。

如果你喜欢今天的Python 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看

4deca7c5ae476207788a2aad5a4b3a966fd.jpg,有任何问题都可以在下方留言,我们会耐心解答的!

点击下方阅读原文可以获取所有代码和链接哦!

Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

2d50c7678957bc92f0f3af388eba7da685c.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值