来一个有深度的教程:教你用 Python 做一个物体检测系统_python 神经网络 物体检测(1)

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物体检测技术已经在各行各业中得到了迅速应用,这有助于为自动驾驶汽车在交通中保驾护航,在拥挤的地方识别出暴力行为,协助体育团队分析和建立球探报告,确保制造业中的各项环节得到适当的质量控制,以及其他许多事务。而这些还只是物体探测技术表面上可以做到的事情!

**在本文中,我们将了解物体检测技术是什么以及可以用来解决此领域问题的几种不同方法,接着深入研究在Python中如何构建我们自己的对象检测系统。**在本文结束时,您将拥有足够的知识来独自迎接不同的物体检测挑战!

什么是物体检测?

在构建最先进的模型之前,让我们先尝试了解物体检测是什么。假使我们需要建立一个自动驾驶汽车的行人检测系统,汽车捕获的图像如下图所示。你会如何描述这张图片?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图像显示汽车在一个广场附近,有几个人正在我们的车前过马路。由于无法准确识别交通标志,汽车的行人检测系统应准确识别出人们行走的位置,以避开他们。

那么汽车系统如何确保完美避开呢?它可以做的是围绕这些人创建一个边界框,以便系统根据人们在图像中的位置,决定采取哪条路径,避免任何意外。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物体检测的目标有两个方面:

  • 识别图像中存在的所有对象及其位置
  • 过滤掉关注对象

解决物体检测问题的不同方法

现在我们知道问题是什么了,那么可以采用哪种方法(或多种方法)来解决它呢?在本节中,我们将介绍一些可用于检测图像物体的技术。先从最简单的方法开始,从那里找到我们的方式。如果您对下面提及的方法有任何建议或者有相应的替代方法,请在评论部分告诉我们!

方法1:原始的方式(分而治之)

最简单方法是将图像分为四个部分:

  • 左上角

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 右上角

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 左下角

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 右下角

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,下一步就是把每一部分图像都交给图像分类器进行识别。这样,我们会得到每一部分图像中是否有行人的输出结果。如果有,便在原图像中标记该区域。输出结果类似这样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是开始尝试的一个很好的方法,但我们在寻求更加精确和准确的系统。它需要识别整个物体(或者是在本例中的人),因为仅仅识别物体的某些部分可能会导致灾难性的后果。

方法2:增加分割数量

先前的系统效果不错,但是我们还能如何改进呢?我们可以通过指数地增加我们输入系统的选框的数量来提高精确度。输出结果应该是这样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个方法有利有弊。尽管我们的解决方案看起来比原始的方法好一点点,但是它粗筛出很多的选框,实际结果基本一样。这是一个问题,我们需要一个更有条理的方法来解决这个问题问题。

方法3:展示结构严密的分区

为了用一种更有条理的方法构建我们的物体检测系统,我们可以按以下步骤操作:

**步骤1:**把图像划分成10x10的格子,如图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**步骤2:**定义每个区域的质心。

**步骤3:**对于每一个质心,选取3个高度和纵横比不同的区域如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**步骤4:**将所有这些创建的区域传入图像分类器来获得预测结果。

所以最终输出结果是什么样呢?一个更加确定且严密有序的结果——见下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但我们还可以进一步改进!继续阅读以了解另一种能产生更好结果的方法。

方法4:提高效率

先前我们看到的方法在很大程度上是可以接受的,但我们还可以构建一个比之前更加高效的系统。你能建议怎么做吗?在我脑海中,我能提出一个优化方案。如果我们思考一下方法3,可以做两件事来让模型更好:

  • **增加网格的大小:**将网格大小增加到20,替代原有的10:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • **以多种高度和纵横比选取更多区域而不仅是3个区域:**在这里,我们可以围绕每一个锚定质心选取9种形状的区域,即3个不同高度的正方形区域和6个不同高度的垂直和水平的矩形区域,这会给我们提供不同纵横比的区域。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

再次说明,这也是有利也有弊。尽管这些方法都能帮助我们达到一个更细致的水平,但是由于我们不得不把所有区域传入到图像分类模型中,这会再次造成计算爆炸。

我们能够做的是,有选择性地选取区域而不是全都选取。举个例子,我们能够构建一个中间分类模型,它尝试预测选区是否真的只有背景,还是潜在地包含一个物体,这会指数式地减少图像分类模型所需要判断的区域。

还有另一种优化方案,就是减少“同一物体”的预测。让我们再次回顾方法3:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

次回顾方法3:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值