计算机视觉分析2019冠状病毒疾病的影响

本文通过计算机视觉分析2019冠状病毒疾病对新加坡交通的影响。使用Python和大数据,从陆路运输局的交通摄像头数据中收集和分析图像,观察2019年至2021年间交通模式的变化。研究发现,2020年4月的交通流量大幅下降,与新加坡的限制措施相吻合,并且2021年的交通流量仍未恢复到大流行前的水平。文章通过统计测试提供了这种变化的证据。
摘要由CSDN通过智能技术生成

新加坡大街上的公交车站:

4c273df4c8133638667de4bfcba23c0d.png

2019冠状病毒疾病深刻地影响了我们生活的方方面面,从全球供应链到我们工作的方式。

在大多数国家,在不同程度的限制下实施了某种形式的封锁。这些封锁的一个有趣方面是对世界不同地区的日常生活的影响,其中最常见的预防措施之一是“呆在家里”。

新加坡作为一个人口稠密的城市和岛屿,我们将试图了解市中心附近的交通过去和现在是如何受到病毒的影响的。

这篇文章的重点是回答以下问题:

2019冠状病毒疾病对新加坡的交通有影响吗?如果是的话,这种影响是什么,可能是什么原因造成的?


本文中的代码是用于解释目的的补充工具,对原始代码进行了略为简化和修改。


数据收集

新加坡拥有一个令人难以置信的公共数据库,涵盖了城市的各个方面及其功能。

你可以访问:https://data.gov.sg/获取。本项目利用陆路运输局管理的交通摄像头部分。API允许用户指定时间戳,并返回来自城市周围每个摄像头的所有数据。

我们可以使用python中的请求库来指定时间戳,并接收包含所有摄像机的位置和视频帧的JSON对象。

# 导入requests库

import requests

# 调用API

response = requests.get('https://api.data.gov.sg/v1/transport/traffic-images?date_time=2019-01-01T12%3A00%3A00')

# 将响应转换为json

data = response.json()

返回的JSON对象是每个摄像头和各种数据的列表,包括位置、到视频帧的链接以及一些关于图像的元数据。我们最感兴趣的是三个方面:

  • camera_id- 摄像机ID

  • image:URL,其中包含相机当时看到的图像

  • location:相机的GPS线,嵌套在相机对象中

为了做到这一点,需要对JSON响应进行规范化和解析。这可以通过pandas库来完成,pandas库将用于管理我们的数据。

# 规范化JSON响应

camera_df = pd.json_normalize(data['items'], 'cameras')

# 重命名经纬度

camera_df = camera_df.rename(columns={'location.latitude':'latitude', 'location.longitude': 'longitude'})

camera_df.head(10)

这将给我们留下87行x 8列的数据帧。

index             timestamp                                                                   image                            camera_id  latitude             longitude    height width               image_metadata.md5
0     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/8101fdc6-9848-4830-af5d-c1c9a716c462.jpg 1501     1.27414394350065 103.851316802547 240     320     b4e2752965b2574e46772e1e6966af4b
1     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/c0456723-b36d-4a52-878a-0d38e4046efb.jpg 1502     1.27135090682664 103.861828440597 240     320     8315be83c1481a86f495406c8c8d8e14
2     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/b1ae02ea-37ca-42fd-aa6b-7e23252f3e57.jpg 1503     1.27066408655104 103.856977943394 240     320     958c9e3c3384836b46c0ee379d837a9d
3     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/560c4129-0416-4ace-a1af-07aa30901c10.jpg 1504     1.29409891409364 103.876056196568 240     320     2bcda18da47b85dce997a7e84897d04c
4     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/45198628-fb00-4cf9-8444-132ec05b9d7a.jpg 1505     1.2752977149006   103.866390381759 240     320     2dc228f314f08645a2ad856a302f0e00
5     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/b23f8f7d-602c-4904-a7de-b963e9973857.jpg 1701     1.323604823       103.8587802       480     640     36b725cafe35fbc6b58526f90c94753f
6     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/bd6c55c4-ed24-42b0-821b-8fbd93ef95ae.jpg 1702     1.34355015       103.8601984       480     640     6a46244455a092dee783476aa22765b9
7     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/c49eac51-7511-4494-9942-9b751a6c3009.jpg 1703     1.32814722194857 103.862203282048 480     640     50fcded0d1d3aef56a8f7e20055a0f50
8     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/f320034b-11d7-4daf-977c-b2cf1d6e94cd.jpg 1704     1.28569398886979 103.837524510188 480     640     b4baf40805583ad259e1171cd27cc956
9     2019-01-01T11:59:37+08:00 https://images.data.gov.sg/api/traffic-images/2019/01/7478b318-5fd1-45ba-a82f-2a522523ede0.jpg 1705     1.375925022       103.8587986       480     640     ea1a417df78e5c2f823f863e027da8a2

该数据帧是给定时间戳下城市周围所有摄像机的数据帧。

为了减少收集的数据量并控制范围,我们将把摄像机数量限制为1702和1711。这些位于璧山区和色朗贡区之间的CTE高速公路上。由于位于主要道路上,交通的任何重大变化都应该很容易发现。下面是每台相机所看到的示例。

照相机1702的示例

5e5e34a32344294b4f86fc96e75b9ac6.png


照相机1711的示例

28a705ede916c2aba0b72c5d78775f57.png


下一步是建立一个时间帧来衡量交通模式。从2019,2020,2021的3月1日至5月1日,每三分钟递增。选择这一点有三个主要原因:

  1. 纳入三年时间框架,可以进行新冠肺炎前期、中期和后期评估,2019年作为正常交通模式的一个例子。

  2. 3月到5月也很重要,因为2020年4月出台了最严格的措施,并在2021取消了限制。

  3. 将时间限制为每三分钟一次,这样可以更易于管理的图像数据集进行标记。

使用pandas,可以建立批量请求的数据帧。首先,使用date_range函数生成时间戳的数据帧:

# 为2019/01/01生成间隔为2分钟的数据帧

dates_2019 = pd.date_range(start = "2019-03-01", end = "2019-05-01", freq = '180S')

其次,将时间戳格式化为可以传递给API的格式。

# 设置一个列表来转储格式化的日期

formated_dates_2019 = []

# 循环日期

for dates in dates_2019:

  # 把时间戳放到api需要的格式中

  inter_date_str = dates.strftime("%Y-%m-%dT%I:%M:%S")

  # 编码

  fin_date_str = date_str.replace(':', '%3A')

  # 将它
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值