社交距离检测
1. 前言
在新冠疫情还未结束的情况下,对社交场合行人的社交检测,并发出警告,是一种防疫的辅助手段。本文介绍一种简单的行人社交距离检测方法。
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。目前最新的版本为4.4.0。本实例基于最新版本实现。
2. 社交距离检测描述
社交距离检测描述主要由以下步骤组成:
- 1.对视频流进行预处理。这里通过对比度受限的自适应直方图均衡化算法(CLAHE)对视频流进行预处理,用来优化行人检测结果。
- 2.使用深度学习方法,将行人检测出来,并计算行人的位置。
- 3.计算两个行人之间的距离。首先计算行人的边界框(Bounding Box)确认其质心位置,然后再计算两个质心之间的像素距离,最后将像素距离转换成以米计量单位距离。
- 4.将计算结果按不同的距离范围分类。
- 5.显示检测结果
对比度受限的自适应直方图均衡化可以直接使用cv2.createCLAHE函数实现