工地反光衣穿戴识别系统依据现场监控摄像头采集的视频图像,工地反光衣穿戴识别系统应用最新的TesnorFlow神经网络算法,检测到一些人不穿反光衣服时,前端抓拍设备实时上传视频流至系统服务器,然后实时读取视频流并进行语音报警广播。工地反光衣穿戴识别系统的另一个闪光点是能够应用现有的监控摄像机,实时监控分析,不需要新增加其他硬件终端。

介绍了分布式TensorFlow训练甚多学习模型的理论。本小节将具体介绍如何使用TF在分布式集群中训练深度学习模型。TensorFlow集群通过一系列的任务(tasks)来执行TF计算图中的运算。一般来说,不同的任务跑在不同的机器上。当然,使用GPU时,不同任务可以使用用一太机器上的不同GPU。TF中的任务可以聚合成工作。每个工作可以包含一个或多个任务。当一个TF集群有多个任务的时候,需要使用tf.train.ClusterSpec来指定运行每一个人物的机器。

工地反光衣穿戴识别 TesnorFlow_神经网络

配置第一个任务集群  

import tensorflow as tf

c = tf.constant('Hello ,this is the server1!')

#生成一个有两个人物的集群,一个任务跑在本地的2222端口,另一个跑在本地的2223端口
cluster = tf.train.ClusterSpec({"local":['localhost:2998','localhost2999']})
#通过上面生成的集群配置生成Server。并通过job_name和task_index指定当前启动的任务。
server = tf.train.Server(cluster,job_name='local',task_index=0)
#通过server.target生成会话来使用来使用TF集群中的资源。通过log_device_placement可以看到执行每一个操作的任务
sess = tf.Session(server.target,config=tf.ConfigProto(log_device_placement = True))
print(sess.run(c))
配置第二个任务,使用同样的集群配置

import tensorflow as tf

c = tf.constant('Hello ,this is the server2!')
#和第一个任务一样的集群配置
cluster = tf.train.ClusterSpec({"local":['localhost:2998','localhost2999']})
#指定task_index = 1,所以第二个任务是运行在2999端口上
server = tf.train.Server(cluster,job_name='local',task_index=0)

sess = tf.Session(server.target,config=tf.ConfigProto(log_device_placement = True))
print(sess.run(c))
  • 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.

智慧工地部署工地反光衣穿戴识别算法。当工人经过大门口进到安全通道时,工地反光衣穿戴识别算法开始实时分析监控。一旦有的人不穿反光衣,系统会立即警报。

深度学习应用到实际问题中,一个非常棘手的问题是训练模型时计算量太大。为了加速训练,TensorFlow可以利用GPU或/和分布式计算进行模型训练。TensorFlow可以通过td.device函数来指定运行每个操作的设备,这个设备可以是本设备的CPU或GPU,也可以是远程的某一台设备。TF生成会话的时候,可愿意通过设置tf.log_device_placemaent参数来打印每一个运算的设备。

import tensorflow as tf

a = tf.constant([1.0,2.0,3.0],shape=[3],name='a')
b = tf.constant([1.0,2.0,3.0],shape=[3],name='b')
c= tf.add_n([a,b],name="c")

with tf.Session(config=tf.ConfigProto(log_device_placement = True)) as sess:
    print(sess.run(c))



########
Device mapping: no known devices.
c: (AddN): /job:localhost/replica:0/task:0/device:CPU:0
b: (Const): /job:localhost/replica:0/task:0/device:CPU:0
a: (Const): /job:localhost/replica:0/task:0/device:CPU:0

[2. 4. 6.]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

工地反光衣穿戴识别算法使用智能视频分析和神经网络算法,现对建筑工地施工区域人员是否穿反光衣进行实时分析识别、跟踪和报警。同时向有关管理人员推送报警信息,可根据报警记录和警报截屏、违规视频查看。