升降机电梯人数超员检测报警系统通过在电梯厢内安装高清摄像头,升降机电梯人数超员检测报警系统利用AI视觉分析技术实时监控电梯内的人数和乘客的安全帽佩戴情况。系统通过先进的图像识别算法,能够准确地统计出电梯内的实时人数,并监测每位乘客是否按照规定佩戴了安全帽。一旦系统检测到电梯内人数超过设定的安全载客量,或者发现有乘客未佩戴安全帽,它会立即发出警报或提醒,并锁定电梯轿厢,防止电梯在超员或不安全的情况下运行。
近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN),它们是two-stage的,需要先使用启发式方法(selective search)或者CNN网络(RPN)产生Region Proposal,然后再在Region Proposal上做分类与回归。而另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个CNN网络直接预测不同目标的类别与位置。第一类方法是准确度高一些,但是速度慢,但是第二类算法是速度快,但是准确性要低一些。这可以在图2中看到。本文介绍的是Yolo算法,其全称是You Only Look Once: Unified, Real-Time Object Detection,其实个人觉得这个题目取得非常好,基本上把Yolo算法的特点概括全了:You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测,而Real-Time体现是Yolo算法速度快。
在现代社会,升降机电梯已成为高层建筑中不可或缺的运输工具,其安全性直接关系到人们的生命安全。然而,由于升降机电梯的超员使用,导致的安全事故时有发生。为了有效预防此类事故,基于AI人工智能机器视觉分析识别技术的升降机电梯人数超员检测报警系统应运而生。这一系统的引入,极大地提高了电梯使用的安全性。传统的电梯超员检测多依赖于人工观察或者简单的重量感应,这些方法往往不够准确,且难以实时响应。而AI视觉分析技术的应用,不仅提高了检测的准确性,还实现了对电梯使用情况的实时监控和管理。此外,系统的自动报警和锁定功能,也为电梯的安全运行提供了有力的保障。
def _build_detector(self):
"""Interpret the net output and get the predicted boxes"""
# the width and height of orignal image
self.width = tf.placeholder(tf.float32, name="img_w")
self.height = tf.placeholder(tf.float32, name="img_h")
# get class prob, confidence, boxes from net output
idx1 = self.S * self.S * self.C
idx2 = idx1 + self.S * self.S * self.B
# class prediction
class_probs = tf.reshape(self.predicts[0, :idx1], [self.S, self.S, self.C])
# confidence
confs = tf.reshape(self.predicts[0, idx1:idx2], [self.S, self.S, self.B])
# boxes -> (x, y, w, h)
boxes = tf.reshape(self.predicts[0, idx2:], [self.S, self.S, self.B, 4])
# convert the x, y to the coordinates relative to the top left point of the image
# the predictions of w, h are the square root
# multiply the width and height of image
boxes = tf.stack([(boxes[:, :, :, 0] + tf.constant(self.x_offset, dtype=tf.float32)) / self.S * self.width,
(boxes[:, :, :, 1] + tf.constant(self.y_offset, dtype=tf.float32)) / self.S * self.height,
tf.square(boxes[:, :, :, 2]) * self.width,
tf.square(boxes[:, :, :, 3]) * self.height], axis=3)
# class-specific confidence scores [S, S, B, C]
scores = tf.expand_dims(confs, -1) * tf.expand_dims(class_probs, 2)
scores = tf.reshape(scores, [-1, self.C]) # [S*S*B, C]
boxes = tf.reshape(boxes, [-1, 4]) # [S*S*B, 4]
# find each box class, only select the max score
box_classes = tf.argmax(scores, axis=1)
box_class_scores = tf.reduce_max(scores, axis=1)
# filter the boxes by the score threshold
filter_mask = box_class_scores >= self.threshold
scores = tf.boolean_mask(box_class_scores, filter_mask)
boxes = tf.boolean_mask(boxes, filter_mask)
box_classes = tf.boolean_mask(box_classes, filter_mask)
# non max suppression (do not distinguish different classes)
# ref: https://tensorflow.google.cn/api_docs/python/tf/image/non_max_suppression
# box (x, y, w, h) -> box (x1, y1, x2, y2)
_boxes = tf.stack([boxes[:, 0] - 0.5 * boxes[:, 2], boxes[:, 1] - 0.5 * boxes[:, 3],
boxes[:, 0] + 0.5 * boxes[:, 2], boxes[:, 1] + 0.5 * boxes[:, 3]], axis=1)
nms_indices = tf.image.non_max_suppression(_boxes, scores,
self.max_output_size, self.iou_threshold)
self.scores = tf.gather(scores, nms_indices)
self.boxes = tf.gather(boxes, nms_indices)
self.box_classes = tf.gather(box_classes, nms_indices)
升降机电梯人数超员检测报警系统还能够将监控数据实时传输至监控中心或管理人员的移动设备,如手机APP等平台。升降机电梯人数超员检测报警系统的应用,不仅提升了电梯使用的安全性,也为电梯管理和维护提供了智能化的解决方案。这样,管理人员可以随时随地了解电梯的运行状态和乘客的负荷情况,及时采取措施,避免因拥挤引发的安全事故。这一功能不仅提升了电梯管理的效率,也为乘客提供了更加安全、便捷的使用体验。