渣土车识别检测系统是基于卡口图片的视觉图像分析,渣土车识别检测系统对前端卡口相机抓拍上传图像至系统服务器的图片进行实时检测,实时分析。当监控图片中有渣土车时,渣土车识别检测系统自动抓拍图片和报警,及时分析渣土车违规行驶等情况,提高监控效率降低管理成本。

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

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

渣土车识别检测系统 CNN_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))
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

渣土车识别检测系统利用已有的监控摄像头对渣土车进行全天候不间断实时监测,一旦渣土车识别检测系统监测到渣土车或者不按规定遮盖篷布时,立即抓拍预警,同时告知监控管理中心及时处理。卡口抓拍相机:最远可识别距离是30米;拍率:95%;准确率可以达到90%。