加油站安全风险监测预警系统可以通过对加油站设备、环境、职员等方面举行监测,加油站安全风险监测预警系统实现对加油站的全面羁系。例如,在加油站油罐区中,加油站安全风险监测预警系统可以对加油站职员抽烟打电话、明火烟雾等环境安全隐患举行自动识别,及时发出预警,避免因现场职员违规举动等不恰当的操作而导致的职员伤亡和财产损失。
2018年,作者Redmon又在YOLOv2的基础上做了一些改进。特征提取部分采用Darknet-53网络布局取代原来的Darknet-19,利用特征金字塔网络布局实现了多标准检测,分类方法使用逻辑回归取代了softmax,在分身实用性的同时包管了目标检测的准确性。
从YOLOv1到YOLOv3,每一代性能的提拔都与backbone(骨干网络)的改进密切相关。在YOLOv3中,作者不但提供了darknet-53,还提供了轻量级的tiny-darknet。如果你想检测精度与速度兼备,可以选择darknet-53作为backbone;如果你想到达更快的检测速度,精度方面可以妥协。那么tiny-darknet是你很好的选择。总之,YOLOv3的机动性使得它在现实工程中得到许多人的青睐。
作为重要的能源供应场所,加油站的安全标题一直备受关注。为相识决加油站的安全隐患,近年来,加油站安全风险监测预警系统开始被广泛应用于加油站中,成为了智能化安全羁系的新突破。加油站安全风险监测预警系统可以通过对便利店的监控记录、商品销售情况等举行监测,识别出是否存在偷窃、火灾等安全隐患,及时发出预警,保障加油站的安全。
- class Detect(nn.Module):
- stride = None # strides computed during build
- onnx_dynamic = False # ONNX export parameter
- def __init__(self, nc=80, anchors=(), ch=(), inplace=True): # detection layer
- super().__init__()
- self.nc = nc # number of classes
- self.no = nc + 5 # number of outputs per anchor
- self.nl = len(anchors) # number of detection layers
- self.na = len(anchors[0]) // 2 # number of anchors
- self.grid = [torch.zeros(1)] * self.nl # init grid
- self.anchor_grid = [torch.zeros(1)] * self.nl # init anchor grid
- self.register_buffer('anchors', torch.tensor(anchors).float().view(self.nl, -1, 2)) # shape(nl,na,2)
- self.m = nn.ModuleList(nn.Conv2d(x, self.no * self.na, 1) for x in ch) # output conv
- self.inplace = inplace # use in-place ops (e.g. slice assignment)
- def forward(self, x):
- z = [] # inference output
- for i in range(self.nl):
- x[i] = self.m[i](x[i]) # conv
- bs, _, ny, nx = x[i].shape # x(bs,255,20,20) to x(bs,3,20,20,85)
- x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()
- if not self.training: # inference
- if self.onnx_dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]:
- self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)
- y = x[i].sigmoid()
- if self.inplace:
- y[..., 0:2] = (y[..., 0:2] * 2 - 0.5 + self.grid[i]) * self.stride[i] # xy
- y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh
- else: # for YOLOv5 on AWS Inferentia https://github.com/ultralytics/yolov5/pull/2953
- xy = (y[..., 0:2] * 2 - 0.5 + self.grid[i]) * self.stride[i] # xy
- wh = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh
- y = torch.cat((xy, wh, y[..., 4:]), -1)
- z.append(y.view(bs, -1, self.no))
- return x if self.training else (torch.cat(z, 1), x)
- def _make_grid(self, nx=20, ny=20, i=0):
- d = self.anchors[i].device
- if check_version(torch.__version__, '1.10.0'): # torch>=1.10.0 meshgrid workaround for torch>=0.7 compatibility
- yv, xv = torch.meshgrid([torch.arange(ny).to(d), torch.arange(nx).to(d)], indexing='ij')
- else:
- yv, xv = torch.meshgrid([torch.arange(ny).to(d), torch.arange(nx).to(d)])
- grid = torch.stack((xv, yv), 2).expand((1, self.na, ny, nx, 2)).float()
- anchor_grid = (self.anchors[i].clone() * self.stride[i]) \
- .view((1, self.na, 1, 1, 2)).expand((1, self.na, ny, nx, 2)).float()
- return grid, anchor_grid
复制代码 加油站安全风险监测预警系统是一种智能化安全羁系的新突破,加油站安全风险监测预警系统可以对卸油作业过程中灭火器的精确放置、静电开释操作规范等作业状态举行实时监控、有用地提高加油站的安全生产水平,防范因职员伤害举动、物的伤害举动所导致的安全事故的发生。未来,加油站安全风险监测预警系统将会得到更广泛的应用,并为加油站的安全生产提供更加有力的支持。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |