用opencv检测深度学习者

问题描述 投票:0回答:1

所以我真的很新。目前正在开展一个公共艺术项目,我需要一些编程方面的帮助,因为我在代码之间感到很沮丧。

首先,我将简要介绍一下工作目标,然后陈述我的问题。

我正在一个面向公共街道的画廊的橱窗里放一个网络摄像头。这个网络摄像头连接到街道向外的电视屏幕,所以人们看到自己被拍摄(如中央电视台)。然后,如果人们站得足够长时间用于摄像头,那么网络摄像头会自动截取,然后通过电子邮件发送到一个网站,该网站上有自动附件打印的脚本,街上的人们立即进入我的画廊,在纸上。 (是的,我得到了画廊的许可,因为它略微处于合法性的灰色区域)

我来自一个对编程感兴趣的艺术背景,所以这对我来说都是非常新的,并且我已经认为已经相当远了。我有一个运行open cv的覆盆子pi并在其上放置一个脚本用于深度学习对象检测(https://www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/)<我用于此的链接。

我也遇到了大量的行人跟踪,但没有为实时视频流找到合适的代码。

所以我需要你们,如何在脚本中制作一个计时器,这样当人们站在相机的足够长时间时,它就会制作截图。它有点像反向安全摄像头脚本,因为它们对运动作出反应,我希望它对任何运动都没有反应。

我认为自动附件打印部分已被覆盖,因为互联网上已有很多脚本。

如果您有任何提示或技巧..请告诉我。

帮助一个女孩!

玛丽

python opencv video-streaming raspberry-pi3 tracking
1个回答
1
投票

你可以尝试很多东西。

相机是否面向购物街?在这种情况下,您可以进行简单的背景扣除。对于每个帧,应用一些预处理(例如模糊,变形操作),调用findContours并计算每个帧的minEnclosingRect的中心。

另一个选择是使用内置(和预训练)HOG PeopleDetector。这是基于SVM(支持向量机),这是另一种机器学习技术。为了有效地工作,您必须充分调整参数。既然你正在使用Pi,你还需要考虑速度和准确度之间的权衡。使用这种技术,我们也会留下矩形,所以我们可以再次计算中心。

对于这两种技术,您需要确保中心点不会在帧与帧之间波动太大(这意味着此人正在移动)。为此,您还需要考虑帧速率并了解您不能保证每帧的人物检测。

第一种技术的警告,虽然具有更强的解释力,但它会检测到从一帧到另一帧的任何变化,包括宠物,自行车,汽车(如果在公共街道上)等等。然后,您可以考虑过滤(例如按区域,颜色)。

© www.soinside.com 2019 - 2024. All rights reserved.