街道积水识别监测系统利用道路两旁的监控摄像头对道路低洼区域进行实时监测,一旦街道积水识别监测系统监测到路面积水时,立即抓拍存档告警,同步信息到后台中心,提醒相关人员及时处理,避免产生更大的损失和危害。

在CNN出现之前,对于图像的处理一直都是一个很大的问题,一方面因为图像处理的数据量太大,比如一张512 x 512的灰度图,它的输入参数就已经达到了252144个,更别说1024x1024x3之类的彩色图,这也导致了它的处理成本十分昂贵且效率极低。另一方面,图像在数字化的过程中很难保证原有的特征,这也导致了图像处理的准确率不高。

通过上面对于卷积的过程以及权重共享的解释,我们能够总结出CNN的另一个特征。有心的读者其实能够自己总结出来。我们在上面提到过,对于普通的神经网络,隐藏层和输入层之间的神经元是采用全连接的方式。然而CNN网络并不是如此。它的在**局部区域创建连接,即稀疏连接。**比如,对于一张输入的单通道的8x8图片,我们用3x3的卷积核和他进行卷积,卷积核中的每个元素的值是和8x8矩阵中选取了3x3的矩阵做卷积运算,然后通过滑动窗口的方式,卷积核中的每个元素(也就是神经元)只与上一层的所有神经元中的9个进行连接。

街道积水识别监测系统 CNN_深度学习

随着科技的发展和技术的进步防汛监测预警系统中,要求利用街道积水识别监测系统及时获取道路街道易涝点积水情况,实现超警戒水位的预警,降低人工监视的工作强度;提高防汛应急的能力与水平,最大程度保证人民群众生命财产安全。目前实际的应用方案较少,道路积水事故频发,成为困扰交通部和市政部的难题。

import torch
from torch import nn
from d2l import torch as d2l


class Reshape(torch.nn.Module):
    def forward(self, x):
        # 通过view函数把图像展成标准的Tensor接收格式,即(样本数量,通道数,高,宽)
        return x.view(-1, 1, 28, 28)

net = torch.nn.Sequential(
    Reshape(),
    # 第一个卷积块,这里用到了padding=2
    nn.Conv2d(1, 6, kernel_size=5, padding=2), 
    nn.Sigmoid(),
    nn.AvgPool2d(kernel_size=2, stride=2),
    
    # 第二个卷积块
    nn.Conv2d(6, 16, kernel_size=5), 
    nn.Sigmoid(),
    nn.AvgPool2d(kernel_size=2, stride=2),
    
    # 稠密块(三个全连接层)
    nn.Flatten(),
    nn.Linear(16 * 5 * 5, 120), nn.Sigmoid(),
    nn.Linear(120, 84), nn.Sigmoid(),
    nn.Linear(84, 10))

街道积水识别监测系统借助深度学习边缘分析技术,可实时监测城区各低洼路段的积水水位并实现自动预警。市政及交通管理部门通过街道积水识别监测系统可获取各路段的实时积水水位,并借助广播等媒体为出行群众提供避坑指南,提前预防车辆以及人员误入深水路段造成重大损失。