所以我真的很新。目前正在开展一个公共艺术项目,我需要一些编程方面的帮助,因为我在代码之间感到很沮丧。
首先,我将简要介绍一下工作目标,然后说明我的问题。
我正在一个面向公共街道的画廊的橱窗里放一个网络摄像头。这个网络摄像头连接到街道向外的电视屏幕,所以人们看到自己被拍摄(如中央电视台)。然后,如果人们站得足够长时间用于摄像头,那么网络摄像头会自动截取,然后通过电子邮件发送到一个网站,该网站上有自动附件打印的脚本,街上的人们立即进入我的画廊,在纸上。 (是的,我得到了画廊的许可,因为它略微处于合法性的灰色区域)
我来自一个对编程感兴趣的艺术背景,所以这对我来说都是非常新的,并且我已经认为它已经相当远了。我有一个使用open cv运行的raspberry pi并在其上放置一个脚本用于深度学习对象检测(https://www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/)<我用过的链接。
我也遇到过大量的行人跟踪,但没有为实时视频流找到合适的代码。
所以我需要你们,对于如何在脚本中制作一个计时器有一点帮助,这样当人们站在相机上足够长时间时,它就会制作截图。它有点像反向安全摄像头脚本,因为它们对运动作出反应,我希望它对任何运动都没有反应。
我认为自动附件打印部件已被覆盖,因为互联网上已有很多脚本。
如果您有任何提示或技巧..请告诉我。
帮助一个女孩!
Marije
答案 0 :(得分:1)
你可以尝试很多事情。
相机是否朝向购物街?在这种情况下,您可以进行简单的背景扣除。对于每个帧,应用一些预处理(例如模糊,变形操作),调用findContours
并为每个帧计算minEnclosingRect
的中心。
另一个选择是使用内置(和预训练)HOG PeopleDetector
。这是基于SVM(支持向量机),这是另一种机器学习技术。为了使其高效工作,您必须充分调整参数。由于您使用的是Pi,因此您还需要考虑速度和准确度之间的权衡。使用这种技术,我们也会留下矩形,所以我们可以再次计算中心。
对于这两种技术,您都希望确保中心点在帧与帧之间不会发生太大的波动(这意味着此人正在移动)。为此,您还需要考虑帧速率并了解您无法保证每个帧的人物检测。
第一种技术的警告,虽然具有更强的解释力,但它会检测到从一帧到另一帧的任何变化,包括宠物,自行车,汽车(如果在公共街道上)等等。然后,您可以考虑过滤(例如按区域,颜色)。