用于自动计数行人和自行车的计算机视觉应用程序
项目描述
自动行走自行车计数器
关于
目前,该城市通过让人员手动计数通过交叉口的自行车手和行人数来统计自行车和行人数量,无论是亲自计数还是通过观看视频记录。
然而,得益于计算机视觉的进步,我们现在可以自动化这个过程,使我们能够持续计数行人和自行车的数量,而不是采样(可能不具有代表性的)时间和地点。
本项目是一个Python应用程序,它实现了一个由CSULA开发的计算机视觉算法,允许您在自己的摄像头流上运行管道。
这种方法允许城市和其他人利用现有的摄像头基础设施实施CV行人自行车计数技术。
赞助商
这项工作得到了丰田移动基金会(TMF)慷慨的赞助。
合作伙伴
CSULA
莫罕默德·普尔胡马约恩博士,莫阿罕姆德·瓦希迪,王海燕。
洛杉矶DOT/ITA
亨特·欧文斯,伊恩·罗斯,詹娜·史密斯,安东尼·莱昂斯。
目标
让我们能够了解关键通道的实时活跃交通计数。
要求
此应用程序需要一个能够运行Tensorflow的工作Python环境。可以使用Tensorflow GPU或Tensorflow CPU,但后者可能对于实时应用来说太慢。
安装
本应用程序可在带GPU和不带GPU的环境中运行。然而,如果没有GPU,它可能运行得非常慢,只能用于测试/开发。如果您正在使用GPU运行它,则必须已经安装并使应用程序可见的CUDA动态库。
应用程序包含两个conda环境规范,一个用于带GPU的机器,一个用于不带GPU的机器。我们假设您正在使用conda
安装Python依赖项。这并非必需,但如果您使用其他工具安装,则依赖项管理可能会更加困难。安装和运行说明如下:
- 为项目创建conda环境。如果没有GPU,运行:
conda env create -f environment.yml
如果有GPU,运行:
conda env create -f environment-gpu.yml
已知的environment.yml
文件至少可以在某些Linux、Windows和Mac机器上运行,但您可能需要根据您的部署选择自定义的Tensorflow分布。
- 激活环境
conda activate automated-walk-bike-counter
- 通过运行以下命令将应用程序安装到环境中:
pip install .
- 通过运行
automated-walk-bike-counter
启动GUI
运行应用程序
一般来说,应用程序以视频源作为输入,并计算视频中看到的行人和自行车。它可以产生两种类型的输出:
- 与输入相同的新视频,但围绕识别的对象绘制了框。
- 逗号分隔的变量(CSV)文本文件,其中包含识别对象的按时间间隔计数的数量。
每个输出文件都放在原始输入文件旁边。
应用程序有两个接口:图形用户界面(GUI)和命令行界面(CLI)
GUI
为了运行GUI,您的机器上必须运行X服务器。这可能是Mac OS或Linux上的X11或Windows上的Xming。您可能需要设置DISPLAY
环境变量,以便应用程序找到正在运行的X服务器,即:
export DISPLAY=:0
启动应用程序后,您可以通过以下步骤运行算法:
- 使用文件菜单选择文件。
- 使用左侧窗格中的复选框选择要跟踪的对象。
- 使用工具菜单选择感兴趣的区域(可选)
- 单击“生成”按钮。
命令行用法
如果您在无头机器上运行此应用程序,或者以某种方式自动化它,那么您可能不想使用GUI,而是从命令行驱动它。
您可以通过使用cli
参数通过命令行运行它
automated-walk-bike-counter --cli True
由于这种方式运行应用程序没有用于选择视频和其他选项的对话框,因此您需要提供更多的命令行参数。
例如,要运行每分钟导出CSV文件的本地视频文件上的算法,您应输入:
automated-walk-bike-counter \
--cli True \
--file_name /path/to/your/video.mp4 \
--input_type file \
--save_periodic_counter True \
--periodic_counter_interval 1
配置
应用程序被设计为可配置。可以通过运行automated-walk-bike-counter --help
查看可配置设置的完整列表。
所有变量都可以通过以下三种方式之一设置:
- 通过命令行参数。
- 通过环境变量(在
--help
输出中列出了可用的环境变量)。 - 通过配置文件。
如果使用配置文件,您应在.ini
文件中添加设置,并通过运行以下命令指向应用程序:
automated-walk-bike-counter --config /path/to/your/config.ini
示例配置文件可以在config.example.ini
中找到。
开发
为了开发此项目,您应该在创建环境后创建可编辑的开发安装
pip install -e .[develop]
然后,您应安装预提交钩子,这些钩子用于强制执行代码样式和检查常见错误
pre-commit install
安装后,所有提交都将通过格式化程序和检查器进行检查,如果检查失败,则提交将失败。
注意:您第一次使用这些钩子 pre-commit
进行提交时,将执行一些设置工作。这可能需要几分钟。如果必须,可以通过运行 git commit --no-verify
来绕过钩子。
项目详情
automated-walk-bike-counter-0.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e15d5ea77b1b1969aa9c2357f98c658bea045df13c334e029e1067b82ec48170 |
|
MD5 | d11bfe90287c9e7f9a7c17ec4e1c48f8 |
|
BLAKE2b-256 | 48a00b5e73ae59a238aa1cc6db4083eaa2404de13e30038e46e6bf0df74b5bd4 |
automated_walk_bike_counter-0.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | df25740bf67007d1e35caecbe9c89f0aaa6748dd1840ae9be5e0e1f9c8f9be01 |
|
MD5 | 4ade00afe625bf151a66060cbb48fbeb |
|
BLAKE2b-256 | 7d41f994870aa6d376c80bda117bddb7789b05eb69d5f2b54c48ffcbc95a401b |