摘 要

随着建筑业规模不断扩大、施工环境日趋复杂,施工现场安全事故发生频率高、种类繁多。传统的依靠人工巡检的安全管理体系,在遇到突发事故时缺少了及时响应的反应速度,在获取到的数据存在偏差,在作业区域也没有做到全方位的覆盖,不能满足现代智慧工地对于安全监管智能化和精细化的要求。在此情况下,由于深学习技术对于目标检测领域取得的重要成果,给施工现场最重要的安全要素实现自动化识别赋予了可靠的手段,并且大型语言模型(LLMs)所展开的有关自然语言处理以及知识推断方面的革新发展,也给安全隐患的规范查询以及智能互动功能的发展给予了全新的可能。在此背景下,把视觉感知和语言理解技术有机融合起来创建起施工安全监控体系,既有着十分重大的实践意义,又有着长远的研究价值。

本文根据施工领域的实际需要,提出了一个将深度学习技术以及大量预训练语言模型融合在一起的综合型智慧安全监控系统设计方案。该系统以Faster R-CNN目标检测模型为骨架,加入了多尺度特征提取以及数据增强的技术路线,可以完成现场作业人员佩戴安全帽、反光背心等防护装备情况的准确识别,在复杂环境当中有着不错的识别效果,而且还具备良好的稳定性能,另外借助Transformer架构创建了专业化的施工安全知识查询引擎,可以把用户的自然语言询问转化成结构化的问题,再给出符合行业标准的安全指导意见或者解决办法,以此推动视觉感知能力朝着认知推理的方向不断前进。

本系统采用模块化的设计思想,把多个不同的视觉数据处理、实时监测结果展示、预警系统启动、智能交互等主要功能模块融合起来。根据实测数据可知,在施工现场人员违规行为检测方面它的可靠性、稳定性都较高。该平台大大改善了安全管理的效能,削减了传统的手工巡查费用,并且给智慧建筑的发展赋予了十分重要的实践价值和广阔的发展前景。

关键词;深度学习,施工安全监测,Faster R-CNN ,大语言模型,智能问答系统

Abstract

With the continuous development of the construction industry and increasingly complicated construction sites, the number and severity of accidents at construction sites have been increasing. Traditional way of doing things where there is manual supervision has problems being done at a real time, accurate and covering all which makes them hard to work in today’s world were new ways like smart construction sites need better management. With rapidly advancing ways using deep learning methods on target detections, it is now possible to automatically detect major safety protector objects within a construction site; Also along with LLMs getting better understand natural languages and capable doing some level of reasoning about how you can understand building-safety specs having smart talk with humans. So at such time, the creation of construction safety supervising method paired together with visual/linguistic wise is really useful both for practice and academia.

The construction safety monitoring and QA system which is based on DL + LLM designed and implemented, to solve the problem of construction site safety management. With respect to a faster r – cunn object detection model, it could be recognized and separated at all times if anyone in any photographs video clips or pictures are donning safety helmets as well as reflective garments. Multi -scale feature extract+data augmentation makes it difficult for the model to understand that there’s much happening at once at construction site. And at the very same time we'll make use of a LSTMs based language model to develop an intelligent QA towards building safeties. It can make the system understand people's natural language questions in order to give them professional answers following rules of safety and management, so it’s not only for watching things.

System uses the modular and layered architecture, combining the multi-source visual data process function with monitor result show, alarm reply, smart reply module in an organic way. We found out through experiments, tests, etc. that it can indeed identify whether a worker complies with safety laws or not and provide simple access to site rules and warnings for supervisors. And its also have promising appliation outlook and promote value on improve construcition supervising safey efficint, reducng manual check cost, drivng construciton site smartr developemt.

Key words: Deep learning, Construction safety monitoring, Faster R-CNN, Large Language Model, Intelligent question answering system.

  录

摘 要..................................................... I

Abstract........................................ III

第1章 绪  论................................... 7

1.1 论文研究主要内容................................... 7

1.2 课题研究现状............................................ 7

第2章 关键技术介绍....................... 9

2.1 Faster R-CNN.............................................. 9

2.2 OpenCV....................................................... 9

2.3 大语言模型技术...................................... 10

2.4 自然语言理解与智能问答技术............. 10

2.5 语音播报技术.......................................... 11

2.5 语音识别技术.......................................... 11

第3章 系统分析............................. 13

3.1 构架概述.................................................. 13

3.1.1 功能构架.................................................. 13

3.1.2 模块需求描述.......................................... 13

3.2 系统开发环境.......................................... 15

3.3 系统任务的可行性分析......................... 15

3.3.1 技术可行性.............................................. 15

3.3.2 系统安全性分析...................................... 16

第4章 系统设计与实现.................. 17

4.1 软件设计原则.......................................... 17

4.2 环境配置.................................................. 18

4.3 识别模型的设计与实现......................... 18

4.4 系统功能模块设计与实现..................... 19

4.4.1 用户管理模块.......................................... 19

4.4.2 安全穿戴识别模块.................................. 23

4.4.3 知识问答模块.......................................... 32

4.4.4 数据管理模块.......................................... 36

第5章 系统测试............................. 39

5.1 系统测试目标及方案.............................. 39

5.2 模块功能测试.......................................... 39

5.2.1 注册登录模块的功能测试...................... 39

5.2.2 图片识别模块的功能测试...................... 41

5.2.3 视频识别模块的功能测试...................... 43

5.2.4 摄像头实时识别模块的功能测试.......... 44

5.2.5 知识问答模块的功能测试...................... 46

5.3 测试总结.................................................. 47

第6章 结 论................................... 49

参考文献............................................. 51

1章 绪  论

1.1 论文研究主要内容

本文以施工现场安全管理智能化为基础,就深度学习和大型语言模型(LLMLarge Language Model)在施工安全监测以及互动式问答系统中的应用展开研究。研究内容主要分为以下几部分。首先,全面分析建筑工地安全管理体系现状和技术发展趋向,重点梳理目标检测领域深度学习方法的发展动向,总结大语言模型在安全信息处理和智能对话方面最新的研究成果,从而确定研究定位、意义及总体方案的设计思路;其次,针对工地中常用的防护装备,例如安全帽、反光背心等核心物品,使用Faster R-CNN框架来建立深度神经网络模型,结合数据清洗、增强策略优化以及超参数调节等手段,提高模型对于复杂工作环境里各种目标种类、遮挡情况和光线改变时的识别精准度与适用范围;接着就如何处理多模态融合的数据,在现场实现图像、视频流、监控终端的实时数据统一收集、处理、显示的过程,构建出一个有效的现场安全监控平台;接着使用基于Transformer架构的语言生成器,设计出专门针对建筑工程问题的解答模块,让系统具有了语义理解的能力、规范文本检索的功能、可能的风险评估的潜力,把视觉感知的结果和语言表达的安全辅助一体化地结合起来;最后会对所建立的系统进行实验验证,从精度指标、运行稳定性、用户友好程度等方面对它的实际效果进行评价,总结出研究成果并提出未来改进的方向。

1.2 课题研究现状

近几年来,施工安全监测以及智能问答方面有了很大的进步[1][2]。国外研究主要是利用先进的目标检测算法、深度学习技术提高施工现场风险评价的速度,主要关注安全重要的因子识别程度[3][4]。学者们用Faster R-CNNYOLO系列以及其它高效的模型对头盔佩戴状态、防护服使用情况和人体动作特征做了详细的分析[5]。研究结果表明,在复杂工况下两阶段框架的准确率比单阶段要高,单阶段的设计由于具有低延迟的特点更适合动态场景下对实时监控的需求,给相关的系统开发提供理论依据和技术参考。少数研究把RGB视觉信号、红外热成像或者三维激光扫描数据融合起来,加强感知效果,但仍然要对付跨模态信息融合所造成的难题。国内学者针对施工现场图像解析和潜在事故预警做了多方面的研究,以CNN为基础的安全帽检测、将时空序列分析与异常操作识别相结合、用语义分割技术来刻画作业区域隐患分布等都有所涉及,并且正在使部分智能化解决方案走向现实。虽然研究成果很多,但是标准化数据集的创建、特殊场地的适应性调整以及行业规范的衔接等还存在着欠缺之处,在样本偏差、极端天气影响等情况下,现有的模型存在泛化效果不佳以及响应迟缓的问题。

智能问答系统以Transformer架构为基础的大型语言模型(LLM),包括GPT系列、BERT等,具有很强的跨场景语义解析和文本生成能力,已经在医疗、金融、法律等各行业开展商业应用,促使专业型知识服务平台的发展[11][6]。经过检索-生成式融合框架(Retrieval-Augmented GenerationRAG)的辅助下,使用领域特定的数据库或者知识图谱,使答案更加的专业、可信[7]。国内学界及产业界的研究中,虽然已有部分学者运用LangChainRAG等技术创建了施工安全等领域的智能化问答系统,但是由于数据获取困难和实际应用复杂,目前仍处在概念验证以及小规模测试的阶段,并没有产生出能够广泛推广应用的技术体系和产品方案。

现阶段的研究还存在着许多问题,主要是从以下几个方面展开论述[8][9]。施工现场环境复杂化增大了目标检测任务的技术难度,光照条件千差万别、人体遮挡常见、场景快速变化等问题都会造成已有算法在各种环境下难以保持长期稳定地做出高精度检测,多模态数据(静态图像、动态视频、实时流数据等)联合处理需要很大的计算能力,并且对系统架构实时性和可靠性有着更高的要求,为了使智能问答系统更加准确地回答专业领域的知识问题,怎样将建筑规范、安全管理体系等专业知识和预训练的语言模型结合起来,避免产生知识偏见或者误解的风险,这是目前研究者最关心的一个问题,大多数的研究都是围绕单个的功能模块来开展的,还没有形成一个包含整个生命周期的智慧工地解决方案,这也影响到视觉感知技术和专家咨询系统之间的协同效果。针对以上问题开展专项研究,既可以提高施工安全水平,又可以给该领域的技术革新给予重要参照。

 

2章 关键技术介绍

2.1 Faster R-CNN

本文把Faster R-CNN框架用在施工安全监测系统传统的双阶段目标检测流程上,专门针对施工现场防护装备,也就是安全帽和反光背心的高精度识别工作[10]。适应复杂的工作环境,在背景干扰、目标重叠、尺寸突然变化的时候,仍然可以达到比较高的检测可靠性以及准确程度。其技术路线用卷积神经网络(CNN)来创建特征提取模块,经由多层卷积运算渐渐地从低层次纹理信息到高层次的语义特征加以提炼,进而得到一个多层次的空间结构化表现;并加入了区域提议网络(Region Proposal NetworkRPN),使用滑动窗口机制在特征金字塔里挑选出可能的目标候选区域,用锚框策略来处理不同形状和大小的目标分布状况,从而减小现场人员分布不均匀引发的距离效应以及它给防护服装尺寸改变带来的影响。后面用RoI Pooling对数据进行标准化,再加回归校正来完成准确的位置校准和类别标签映射。Faster R-CNN使用端到端的梯度优化方法,在前向传播的同时也同步更新各个层次的参数,从而提高模型对于某些安全相关的物体的识别能力。采用数据增强法、预训练权重共享方式、超参数调优算法等手段,在动态光影、局部遮挡、人多密集情况下,得到较好的泛化效果,为以后开发实时预警打下了良好的数据分析和数据保障的基础。

2.2 OpenCV

施工安全监测系统架构设计要符合多种场景下数据获取方式以及现场布置限制的要求,其关键之处就是把不同种类的视觉信息,比如静态影像,离线视频以及实时监控流等,有效地融合起来并加以有效的处理[11]。创建统一数据融合框架成了改善系统鲁棒性和反应速度的主要技术革新领域。从数据采集的角度来说,平台用标准接口把不同种类的数据转换成同样的格式,使各个模块可以使用同样的数据输入规范来执行后面的运算流程;视频和摄像头信号处理部分用分层解析的方法,在固定的周期内抽取重要的帧并且加以同步降噪处理,然后利用分布式调度的办法提高资源的调配效率,从而达到数据捕捉、模型评判和反馈产生这些任务的协作执行目的,并且大幅度缩减延迟的危险性,加强整个过程的时效性品质;针对施工现场所存在的复杂环境引发的图像质量起伏(如分辨率不同,编码参数突然改变)状况,在预处理阶段加入了自适应缩放算法及相应的滤波技术,目的在于找到精准度诉求同算力耗费间的平衡点;为了减轻由于突发负载冲击造成的潜在瓶颈,又设置了容量可调的消息队列和流量调节组件,避免因为流量高峰造成的服务中断或者丢包的情况出现。最终在结果汇总阶段,根据多源融合后的判定结果得到结构化的报表文档,用图表的形式展示出来供管理人员使用,便于发现隐患、制定改进措施,给工程安全管理提供有力的技术支持和决策依据。

2.3 大语言模型技术

作为自然语言处理领域的核心技术,大型语言模型(Large Language Model,简称LLM)的运行机制依靠的是Transformer结构和自注意力机制[12]。该机制可以冲破传统神经网络只重视局部特点的限制,依靠全局角度去察觉文本里词汇之间的隐藏联系,进而深入剖析上下文语义,语法结构以及可能存在的逻辑联系。从架构上来说,LLMs一般会使用多层编码器或者解码器的架构,并且会加入多头自注意力机制来并行地搜索输入序列中的各个方面的信息,从而使得关键词提取、上下文依存、跨句长距离语义连贯性等方面的信息识别能力得到加强,在处理超长文本以及复杂的任务时也具有更好的表现力。LLMs大多采取“预训练+微调”的双管齐下的方式,在海量的通用语料库里展开无监督或者轻度监督的学习活动,进而渐渐熟悉语言的分布规律及其共性表达形式,之后根据实际应用场合来搜集专业的数据集或者创建专属的指令集,从而改善模型对特定领域的适应程度。根据上述特点,本文把LLM融合进施工安全管理框架里的知识问答和交互模块当中,使其可以快速地回答建筑行业相关的法规、工艺规范、风险控制等专业知识,以标准化的形式给用户回复自然语言的查询要求。在此基础上,不但可以达到视觉感知导向的安全预警功能,而且可以加强语义层面的认知能力。由于LLM有很强的记忆力以及深度的推理能力,对于模糊的情境、多个条件的约束等情况下,可以进行多轮次的迭代对话,大大提高现场工作人员从海量的信息中提取出重要安全数据的速度和准确度,给他们的决策提供强大的支撑。

2.4 自然语言理解与智能问答技术

自然语言理解(NLU,自然语言理解),是智能问答系统的重要技术之一,它试图把用户给出的非结构化的自然语言输入转换成计算机能接受的、可以被机器解析的结构化语义表示形式,其主要任务有意图分析、实体识别、关系建立以及情境推理等[13]。根据施工安全领域的需求,在此基础上使用最先进的NLU技术对用户的提问进行深入的分析,然后使用预设好的知识库对问题和回答进行精确的匹配。在此基础上,智能问答系统把多种先进技术融合在一起,从而得到高质量的回答。一方面依靠规则引擎和知识图谱构建起来的基本查询体系给出标准回应,另一方面用提示词改良手段(Prompt Engineering),并同检索增强型生成式模型(Retrieval-Augmented GenerationRAG)结合起来,可以对繁杂的情境问题做出高度贴合要求的回应。该体系支持一次交互模式,也支持多轮对话的功能,可以利用上下文信息不断深化交流的过程,给一线作业人员提供实时、准确的安全指引和专业技术指导,有效地提高了现场管理效率和操作的方便程度,促进智慧工地安全管理整体水平上一个台阶。

2.5 语音播报技术

语音播报技术属于人机交互范畴中十分关键的技术支持,它在本系统里主要担负着把安全监测数据以及智能问答结果转成即时语音回应的任务,以此来改善现场人员的信息获得速度和操作体验。该系统用深度学习文本转语音(TTS)算法准确把未按规定戴安全帽、反光服穿脱不规范等警示语和由大语言模型生成的安全规范解答变成流利形象的语音输出。

在项目执行期间,本系统依靠开源或者商用TTS引擎(Pyttsx3、gTTS以及本地安装的FastSpeech2模型),达成普通话诵读的功能,而且还拥有关于环境噪音自适应调节语速、音量和语音生成品质的特性。为了提高用户体验,用Qt框架中PyQt模块开发图形界面,使用户可以使用按键或者语音指令控制播发服务,实现视听结合的使用方式。另外系统还留有音频输出接口,可以和工地的扬声器或者其他移动播放设备连接,可以在高分贝环境中提供远程告警和信息传达的服务,满足特殊场景下功能性的需要。

语音播报模块大大减小了系统对于独立显示终端的依赖程度。强光环境下、远处操作,人员不能接近的环境下,此特点不但大大提高了安全监测信息传递的效果和可靠程度,也极大改善了人机交互性能及综合使用效果。

2.6 语音识别技术

自动语音识别(ASRAutomatic Speech Recognition)属于人工智能与人机交互的重要研究课题,它的目的就是利用算法把语音信号准确地转化成结构化的文本数据,从而提高人机交互的便利性、高效性[14]。近几年来,在深度学习框架的支持下,取得了很大的进步,不但可以提高识别的准确率和运行速度,而且还可以提高对于多种环境下噪声的鲁棒性处理能力,被广泛应用到智能助手、语音搜索、虚拟客服、智能家居控制等各个领域。语音识别技术在包含监控分析以及决策支持的各类应用系统当中,可以缩减用户的操作步骤,进而维持在较为繁杂或者有干扰的情形下也具备良好的人机协同效果。

从技术架构上讲,语音识别系统包括诸多主要功能模块,第一部分是使用麦克风等硬件设备来获取语音信号并把它转变为数字形式;第二部分为信号预处理,在信号预处理中,对原始语音数据进行降噪、端点检测和幅度标准化等操作,以减弱由于环境干扰或者设备不同给识别造成的不良影响;第三部分为特征提取,一般采用梅尔频率倒谱系数(MFCC)等算法对语音波形做量化的分析,从而获得包含语义信息的重要参数集;第四部分为声学建模和语言建模框架,用统计模型来解析语音特征,建立映射关系,并将上下文语义知识加入到候选词评分中去;最后得到高质量的目标文本生成任务。

近些年来,深度学习技术对于语音识别领域而言有比较大的发展。使用深度神经网络(DNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等架构的语音信号特征表达能力大大提高,语义理解水平也得到很大提高,使得识别准确率得到很大提高。一些端到端语音识别框架用直接把声学信号映射成文字输出的方法来优化传统的需要很多模块化部件系统。根据实际情况,利用云服务平台的大规模训练模型或者本地化的轻量化语音引擎,可以得到既具有性能又具有效率的语音交互方案。

本系统语音识别使用PythonSpeechRecognition库,可以对麦克风实时采集到的音频信号进行转换,得到可被处理的文本。用户用口语表达出有关安全规范问题或者做基本操作的时候,系统可以迅速地对语音流进行捕捉,然后使用先进的转录技术把口头指令转换成可以被处理的数据。系统接收到用户的语音请求之后,就会启动语音识别引擎和文字化过程,再把提取出来的信息传递给后台逻辑单元进行更深层次的语义分析和后续处理。为了改善人的交互体验,系统又把 pyttsx3语音合成功能加到系统当中,使生成的回答可以以自然的音色来反馈给用户,形成了一个完整的人机双向语音对话系统。

加入语音识别技术之后,该系统在人机交互体验的改善和复杂环境的操作便利性提高上具有明显的优势。尤其在施工场地这样的特殊环境之下,用户能够通过语音指令快速获取所需的数据并操控设备,使得系统更具实用价值,智能化发展也因此而推进。伴随着语音识别技术不断发展,它在智能监控领域中的应用潜力会慢慢被发挥出来,并且可以得到更深一步的延伸。

 

3章 系统分析

3.1 构架概述

3.1.1 功能构架

系统整体结构是由安全穿戴识别模块以及知识交互查询平台这两个主要的功能模块构成的。其具体的分功能区为图3.1中所示。

图3.1 系统功能模块图

3.1.2 模块需求描述

用户管理模块属于信息系统的主要交互中心,主要完成身份注册、认证以及权限管控的工作。首先要建立科学的用户身份管理系统,按照规范的程序进行用户的实名认证,只有被授权的用户才能够安全地访问系统并使用相应功能,从而大大提高系统安全性和数据处理的合法性。用户注册的时候平台要利用算法来对用户名的唯一性实施快速检测,对提交的数据内容以及格式标准展开严格的审核工作,再用先进的加密手段来保障用户所存留下来的敏感信息不会遭到泄露或者被篡改的情况发生,用户登录时就依靠双重验证机制精准找出用户真实性,进而达成身份认证任务。本模块不但是业务运行的技术基础,也是建立整体信息安全防护体系的组成部分。

安全穿戴识别模块属于施工现场安全管理系统的重要组成部分,它依靠自动技术对作业人员佩戴的防护装备是否合规做出准确的判定。该模块以图像处理、深度学习的目标检测算法为主,对静态影像、动态视频和实时监控流进行分析,得到人体目标的特征属性,主要对安全帽和反光背心佩戴情况做出判断,确保安全。由于施工环境较为复杂,因此需要本模块具有很强的环境适应性和鲁棒性,即在各种不同的环境下、在人群密集的地方、局部遮挡等特殊的情况之下都能保证本模块能够有良好的检测精度和可靠性。其设计应该满足各种应用场景的需求,可以对单张照片进行批量分析,也可以对连续帧进行离线审核,并且可以对实时流媒体进行在线监测,用矩形框来标注结果,分类标识以及可信度评分的方式展示出来,使决策者可以直观、可靠地做出判断,提高现场安全管理水平。

施工现场安全管理的重要辅助设备,语音报警系统的主要功能就是实现对作业人员不按规定戴安全帽、反光背心等防护用品状态的实时监控并加以干涉。安全穿戴检测单元一旦识别出错误行为就会立即发出警告,用语音合成技术发出对应的提示。例如提醒戴好安全帽,及时穿上反光服等。经过内置的扬声器模块立即把相关信息传达给目标区域,保证现场工作人员可以及时收到并作出回应。该设计方案不但改善了人机交互界面的性能,而且大大提高了工地安全管理的效果,并且可以有效地防止由于人为疏忽造成的安全事故。为了保证系统的可靠性、稳定性,所用的语音播报硬件要具有超低延时和高音质的声音重现能力,长期使用时提示精度不能有较大波动,适应复杂的、变化的工作环境。

知识问答模块用大型语言模型技术,专门针对建筑施工安全管理、操作指导展开研究,主要目的是给用户提供高效、准确的自然语言处理和智能检索服务。本模块可以让用户以文字或者语音的形式提出自己的问题,利用语义解析算法对用户的实际需求进行分析,然后调用先进的人工智能引擎给出准确的专业回答,包含安全标准、作业流程、风险控制等各个方面,帮助施工现场的管理者和工作人员提高安全意识、改善实践操作能力。具有多轮对话的能力,在复杂的交互场景里保持语义的连续性,大幅度改善人的机器交流体验。该平台方便用户获取有关施工安全生产的信息,提高用户的防护意识以及技术能力。

数据管理模块的主要功能就是对系统运行过程中产生的一切数据资源进行统一的管理,安全穿戴检测结果、平台运营日志和交互问答记录都属于这一类数据资源。该模块应当具有完备的数据生命周期管理功能,即对数据进行存储组织、数据查询检索、数据更新校正和数据删除清理等工作,并且要符合用户对于历史数据灵活访问的要求。经由创建统一的数据结构设计及存储方式来给后面的各种数据分析,性能改善,风险预估给予结实的技术支持。保证数据的完整、一致、可追踪的前提下,本模块提高系统的可靠性以及运维效率。

3.2 系统开发环境

Hardware Environment:intel(R)core (tm)i5-8265u cpu @ 1.60ghz1.80g'hz

software:python 3.10,anaconda

开发工具:PyCharm Community Edition 2024.2.3

3.3 系统任务的可行性分析

3.3.1 技术可行性

本系统关键技术体系依靠已有的工程实践经验来体现它的可行之处。施工安全监控方面,深度学习目标检测技术已经被普遍应用到智慧安防、智能交通以及工业检测这些场合中,并且有关技术架构以及实施条件也越来越完善。以Faster R-CNN为代表的经典两阶段目标检测算法在复杂背景噪声抑制、多对象识别以及部分区域遮挡等情况下具有较好的性能,采用PyTorch开发框架和CUDA/GPU异步计算的方式,可以很好地满足工地现场安全帽和反光服检测任务的要求。同时OpenCV和FFmpeg等开源软件有完备的数据采集、转码以及实时处理功能,可以满足各种类型的静态影像、录像文件和在线流媒体文件的整合和处理,保证系统工作稳定可靠。

自然语言处理中,由于大型语言模型(LLM)是用Transformer架构来进行语义理解以及生成的,在很多行业上也得到了应用,并且有较好的适用性。通过调用API或者本地化部署等方式,配合使用提示词优化、多源知识融合等一系列技术手段,可以构建出高效施工安全领域智能问答系统,从而对施工安全领域内涉及的有关安全规范、操作流程和风险控制方面的专业知识进行专业的解释,并且能够流利地将这些知识传达给用户。目前语音识别和合成技术已经取得了较好的噪声抑制、背景干扰消除效果,给系统语音交互功能的开发打下了良好的基础。

在系统集成以及工程化实施的过程中,Python生态体系就形成起了完整的软件开发生态链。该生态链包含了主流深度学习框架、Web 后端开发平台、图形界面生成工具、关系型数据库管理系统和高效的多线程异步处理机制等各个方面的技术组件,从而可以对模型训练、系统部署的全过程都提供支持。按照模块化的设计原则和松耦合的架构思想进行服务重构之后,系统具备了较高的可靠性和良好的可扩展性,并且能够更好地支持系统的未来发展。本文以成熟算法实现框架、规范数据管理方法、先进智能人机交互技术为基础,依靠科学的工程实践途径,给研制出系统赋予了有力的理论支撑和技战术保证。

3.3.2 系统安全性分析

施工安全监测与智能问答系统的稳定运行以及数据的准确性,很大程度上取决于系统自身安全性。系统开发与部署阶段要从数据保护、模型防护、总体架构安全、权限管理等多个方面入手,搭建起多层次的安全防御体系,来满足复杂工地实际的需要,保证系统可靠、安全。

从数据安全角度出发,本系统包括了各种图像、视频、音频等异构数据的采集工作,也包含有检测反馈、操作日志和用户行为等各种各样的数据。为了保证各种数据的安全性,系统创建起层次化的防护架构,按照不同的数据种类对它们授予不同的权限等级,并施行细致的把控,从而消除非法访问以及敏感信息泄漏的情况发生,对于网络传输环节来说,会把安全协议和加密技术应用起来加强通信链路的保密程度,防止出现数据被人截取或者遭到篡改的情形,而存储端口方面则采用数据库访问控制机制加上定时备份计划的方式,从而加强了数据一致性并且扩充了冗余水平,当遭遇硬件出问题或者是突然性的突发事件的时候仍能保证数据具备可靠性并且迅速实现恢复的目标。

本研究创建访问权限控制,用来对深度学习框架、大规模语言模型API接口实行严格的限制,从而规避恶意调用、非法请求造成的服务被滥用或者被拒绝等安全危险。另外还用上实时监控和数据验证的过程来识别那些异常的图像、违法的指令、无效的语音输入,以防止出现由于模型出现错误的响应情况。模型迭代优化阶段使用版本管理和故障恢复的方法来保证软件更新的安全、稳定,减小由于新版本缺陷造成系统运行故障的几率。

从系统运维安全角度来说,本平台依靠日志记载、行为异常察觉以及容错应对等方式来维持各个功能模块运行时的情况。服务中断、资源超载、通信断开等事件发生的时候可以立刻发出报警信号,然后启动故障恢复程序。采用多线程隔离技术、进程控制方式等手段可以大大降低由于局部出现故障而造成整个架构受到影响的情况发生。并且基于防火墙策略优化和API调用权限限制综合防护方案,有效地提高了对外部威胁的防御能力,给系统稳定可靠的运行提供强有力的技术支持。

系统利用多级角色认证,按照系统管理员、安全运维人员等各方面的不同特性来分配专属的操作权限,对于核心参数的修改以及敏感信息的访问都采取严格的权限控制措施,从而有效地防止出现由于操作失误或者非法进入造成的安全问题。本系统从整体上建立了数据隐私保护、算法模型可信度验证、平台运行稳定性改善和终端接入管控等方面的系统安全防御体系,可以很好地满足施工现场信息系统安全保障的实际需要。

 

4章 系统设计与实现

4.1 软件设计原则

考虑到施工现场环境的复杂性以及系统功能高度集成的特点,在软件开发之初就应该全面地践行系统化、规范化的思想,从而保证系统的功能、运行效率和后期的维护可靠。根据项目的实际情况,设计方案要体现出模块化的设计思想、可扩展的架构体系、高可靠的运行机制、安全的信息保护手段、方便管理的使用流程、人性化的交互界面特点。

系统架构设计以模块化、分层化为原则,把整个功能分成数据采集和预处理单元、目标识别引擎、智能问答组件、业务逻辑管理层、数据库管理系统、人机交互界面六个主要子模块。各个功能模块之间用标准化的接口来协调工作,极大地减小了系统的复杂程度,也提高了代码的复用率。该层次结构既利于系统维护又利于扩充,对于某个功能的更新也能大大降低对别的模块造成的影响,进而维持系统的稳定性和灵活性。

系统的架构设计阶段主要是对系统的扩展性进行评价,同时考虑未来功能增加和性能改善等各方面的要求。在接口协议的制订、数据模型的创建以及算法模块的整合等重要部分都加入有弹性拓展的特性,给增添新的识别种类以及扩展外延数据来源赋予了方便的办法。采用共通模块化的做法并使用了代码复用的方法,大大减少了一部分的重复开发工作,从而提高了整个项目的开发效率以及系统适应变化的能力。

为了保证系统的可靠性、稳定性,在设计之初就设置了一个完善的故障自愈系统,可以对出现的运行故障进行准确判断,并及时处理。为了提高系统负载的均匀性以及稳定性的,用任务调度算法对多源数据进行整合后,用深度学习做推理,在高并发的时候也可以保持较好的性能。

对于系统安全设计来说,主要是对数据安全和访问权限加以控制。用多层次用户权限体系加加密技术、安全传输协议这些方式来提升数据存储、加工、传达过程中信息的秘密程度、完整程度。对于核心业务功能的操作行为要做详细的日志记录工作,在将来审计、故障排查的时候可以提供有用的依据,从而提高整个系统防御和可靠性的水平。

就人机交互和系统运维而言,应该重视软件架构标准化设计以及操作流程的简化。编码部分必须依照行业公认的最好惯例执行,并且要给出充分的注释来加强可读性,界面的设计要注重直观性和实用性之间的关系,用图形化的展示方式呈现检测的数据,提供便捷的操作接口,使用户能迅速掌握主要功能,进而改进用户的体验感受并提升系统的实用性和市场竞争力。

4.2 环境配置

本系统基于Windows10操作系统,使用 Python 作为开发语言,PyCharm开发工具,PyTorch深度学习框架,其中PyCharm中主要库的安装列表如表4.1所示。

4.1 安装库列表

库名

版本

streamlit

1.30.0

numpy

1.26.0

matplotlib

3.9.2

opencv-python

4.8.1.78

pillow

10.4.0

pyyaml

6.0.2

requests

2.32.3

SpeechRecognition

3.10.0

pyttsx3

2.9

pyaudio

0.2.13

scipy

1.14.1

tqdm

4.66.6

psutil

6.1.0

py-cpuinfo

9.0.0

pandas

2.2.3

seaborn

0.13.2

lapx

0.5.11

根据前面软硬件架构搭建以及所用到的依赖库,该系统可以达到深度学习模型高效训练和推理的目的,并且大大提高了多源数据处理能力、实时响应能力和工程化部署能力。稳定的基础给系统功能拓展、综合验证、实际使用打下了基础。

4.3 识别模型的设计与实现

1. 数据集构建与划分

数据采集过程中得到的数据集为约3200张图片,主要分为两个部分,一是公开可以下载的施工领域安全数据集,包括与安全帽识别有关的一些图片;二是现场拍摄并编辑过的实际施工场景视频片段。所有目标要素(人员、安全帽、反光背心等)都经过专业的标注软件进行精确标注,然后将标注后得到的模型转换为训练所用格式的元素信息。

根据经典80/20比例法则把数据分成训练集(占70%)、验证集(占20%)、测试集(占10%),既可以避免过拟合问题,又可以从不同的角度评价模型的推广性能。

2. 模型设计

Faster R-CNN 为核心框架,针对施工场景优化:

特征提取阶段用主干卷积神经网络获取多尺度的特征表示,再用特征金字塔网络把不同分辨率的空间特征映射综合起来,大幅度提高目标检测对小型物体以及遮挡场景的识别准确率和系统的稳定性。

区域建议生成机制用到了Region Proposal Network(RPN),利用特征图上的多尺度滑动窗口扫描加上锚框匹配算法来提取目标检测任务的潜在候选区域。

融合分类和回归任务的检测框架,它的训练目标函数是由交叉熵损失(分类)和平滑L1损失(回归)共同组成的,用来提高边界框定位精度以及类别预测的准确性。

3. 模型训练与实现

数据增强策略有随机裁剪、图像缩放、水平翻转、垂直翻转、改变颜色亮度对比度这几种方法。模型在训练之初就会用预训练权重做迁移学习,在提高特征提取效果的同时又提高了速度。

本文以 PyTorch平台为基础建立模型,采用随机梯度下降(SGD)作为优化器,学习率设为0.001,动量系数设为0.9,权重衰减系数设为0.0005,用动态学习率衰减的方式进行训练。实验中batch大小设为8,总迭代次数设为50轮,在验证集数据上评价模型性能,在性能最好的时候保存参数。

性能评估:如图4.1所示,为分析目标检测模型在训练过程中的收敛性及性能变化趋势,本文对训练阶段的关键指标进行了可视化展示,如图所示。图中包含训练损失(train/box_losstrain/cls_losstrain/dfl_loss)、验证损失(val/box_lossval/cls_lossval/dfl_loss)以及精度指标(precisionrecallmAP50mAP50-95)随训练轮数(epoch)的变化情况。

从第一行训练损失曲线可以看出,随着训练轮数的增加,各项损失函数值整体呈现出单调下降趋势,并在后期逐渐趋于平稳,说明模型在训练过程中不断优化参数,逐步逼近最优解,且未出现明显震荡或发散现象,具有良好的收敛性。

从第二行验证损失曲线来看,其变化趋势与训练损失基本一致,且两者之间差距较小,表明模型在训练过程中未出现明显过拟合现象,具有较好的泛化能力,能够适应未见数据。

在性能指标方面,precisionrecall 以及 mAP 指标均随着训练轮数增加呈现持续上升趋势,并在训练后期逐步趋于稳定。其中,mAP50 mAP50-95 的提升尤为明显,说明模型在目标定位精度与分类能力方面均得到了有效提升。

图4.1 性能指标图

4.4 系统功能模块设计与实现

4.4.1 用户管理模块

注册登录模块属于系统完成用户身份认证和权限管控的主要部分,负责创建用户账户以及身份查验,以此来保证访问的安全性,并且约束数据的操作行为。该模块使用json格式文件对本地用户的进行存储与管理,用Python编程语言中文件读写以及序列化的方式完成数据处理过程,创建出一种较为轻量化的、易于操作的模式,摆脱了传统数据库依靠而产生的复杂情况,极大地改善了系统部署速度和维护便捷度。在界面设计上使用PyQt5开发前端,用Python标准库做业务逻辑解析和数据交互支持,一起形成一体化的自动化注册、登录服务。具体的功能结构图如图4.2所示。

图4.2 注册登录模块流程图

注册模块的主要功能就是帮助新用户创建账户,并保存相关的信息。本模块主要用以界面设计的用户名输入框、密码输入框和注册按钮这几部分组成。用户提交完全部信息之后,系统就会依次执行一系列的验证工作,其中包括对用户名是否唯一的检验,密码强度分析(最低长度限制、字符组合规律等)。如果所有的检验都通过了,则系统就会产生或者更新本地的 JSON 数据文件,该文件用加密的方式保存用户输入的用户名和密码,对每一个用户进行唯一标识,从而达到高效的数据结构化管理目的。注册成功之后系统给出操作结果,再指引用户进入登录界面。该方法大大减少了对于数据库服务的使用频率,它在单机或者小型分布式系统中表现出非常良好的稳定性和方便性。具体的布局见图 4.3

图4.3 注册界面

登陆模块的主要目的就是完成用户身份的认证以及管理用户的访问控制权限。此模块包含用户输入的用户名、密码两个字段和提交按钮,当用户进行操作的时候,系统就会从本地的JSON文件中取出已经存储过的账户信息,采用双重验证的方法对比输入的内容是否正确。为了提高安全性,在密码比对环节用加密算法对敏感信息进行处理,防止明文存储或者传输造成的安全隐患。如果用户名和密码都满足规范要求,则认证成功,使用户进入主界面并使用相关的功能模块;否则显示提示信息来阻止没有被授权的访问。在保证隐私保护的基础上,用高效的JSON文件存取方式来实现身份验证的高效性。具体的可以参考图4.4

图4.4 登录界面

该套设计方案在保证系统安全性的基础上,试图简化用户的数据库信息并达到快速存取的目的,根据用户的身份认证需求,对施工安全监控平台以及智能交互平台做出相应的适应性改进。该设计具有较好的技术兼容性和可扩展性特点,给以后各个功能单元的平稳部署奠定了良好的技术基础。核心代码如下:

def register(username, password):

    users = load_users()

    if not username or not password:

        return "用户名或密码不能为空"

    if username in users:

        return "用户名已存在"

    if len(password) < 6:

        return "密码长度不能小于6"

    users[username] = encrypt_password(password)

    save_users(users)

    return "注册成功"

4.4.2 安全穿戴识别模块

图片识别模块属于施工现场安全穿戴监测系统的重要组成部分,主要是完成对静态影像的安全帽和反光背心佩戴状态的判定工作。本模块使用 PyQt5 进行图形化的用户界面设计,在后端使用 PyTorch 加载 Faster R-CNN 深度学习框架进行目标检测计算;利用 OpenCVPillow 库对图像数据进行读取、格式转换以及预处理等工作。其主要功能就是用准确的目标定位和分类算法把检测结果转化为可视化的形式给操作人员展示。图4.5是图片识别具体流程。

图4.5 图片识别模块流程图

图像识别模块主要是给用户提供图像上传的功能,可以支持JPGPNGBMP等主流格式的文件上传,采用PyQt5文件选择控件在界面上选择本地图片。之后通过OpenCVPillow进行图像的解析工作,完成对图像的尺寸调节、像素值归一化、颜色空间转换等工作,使得处理过的图片更适合用Faster R-CNN来进行训练。根据现场施工图像中出现的分辨率不统一或者光照变化的情况,用自适应缩放算法和噪声滤除的方法提高数据的质量,从而提高模型在复杂环境下对图像进行处理的能力。预处理过的图像数据被转换成Tensor的形式之后再传给深度神经网络继续做后续的分析。图4.6是本模块中图像上传界面以及其主要流程的示意图。

图4.6 图片上传界面

核心代码如下:

def run_image_detection(image_path, model):

    img_tensor, original_img = preprocess_image(image_path)

    results = detect_image(model, img_tensor)

    output_img = draw_results(original_img.copy(), results)

    return output_img

在图像预处理完成后,系统将处理后的图像数据输入到基于 PyTorch 框架构建的 Faster R-CNN 模型中进行前向推理计算。具体实现过程中,首先通过 Pillow OpenCV 读取用户上传的图像文件,并将其统一转换为 RGB 格式;随后利用 torchvision.transforms 中的预处理方法对图像进行尺寸缩放(如统一调整为 640×640)、归一化处理以及张量化操作,将图像转换为模型可接受的 Tensor 数据格式。处理完成后,通过 unsqueeze(0) 在数据维度上增加 batch 维度,使其满足模型输入要求,然后调用 model(image_tensor) 执行前向传播,获得模型输出结果。

在目标检测结果解析阶段,模型输出为一个字典结构,主要包含 boxes(边界框坐标)、labels(类别标签)以及 scores(置信度)等字段。系统通过遍历输出结果,将置信度低于设定阈值(如 0.5)的检测结果进行过滤,仅保留高置信度目标。对于每一个有效检测结果,提取其边界框坐标(x1, y1, x2, y2)、类别编号以及对应的置信度值,并根据类别编号映射为具体标签(如“安全帽”“反光衣”“未佩戴”等),从而实现对检测结果的结构化解析。

在检测结果可视化方面,系统调用 OpenCV 库中的绘图函数对原始图像进行标注处理。具体实现为使用 cv2.rectangle() 在图像上绘制目标边界框,同时利用 cv2.putText() 在边界框附近标注检测类别与置信度信息。处理完成后的图像通过 PyQt5 界面组件(如 QLabel QGraphicsView)进行显示,从而实现检测结果的直观呈现。

在安全预警实现方面,当系统检测到“未佩戴安全帽”或“未穿反光衣”等违规行为时,通过设定类别判断逻辑触发预警机制。具体实现为:在结果解析阶段判断目标类别是否属于违规类别,一旦满足条件,则调用 PyQt5 提供的 QMessageBox.warning() 接口弹出警告提示窗口,同时可对对应目标框使用不同颜色(如红色)进行高亮显示。此外,为增强交互效果,系统集成 pyttsx3 语音合成库,通过调用其 engine.say() engine.runAndWait() 方法,实现语音播报功能,例如播报“检测到未佩戴安全帽,请注意安全”,从而在视觉与听觉两个层面提醒用户。

在数据记录方面,系统将每次检测的结果信息(包括检测时间、图像路径、检测类别及置信度等)以 JSON 或日志文件形式存储到本地,通过 Python 文件操作接口实现数据写入与管理。这些数据可用于后续的安全分析与历史记录查询,为施工安全管理提供数据支持。通过上述具体实现流程,系统完成了从图像读取、模型推理、结果解析到可视化展示及预警反馈的完整闭环,提高了系统的实用性与工程应用价值。图4.7给出的是检测结果的具体表现方式。

图4.7 图片检测结果界面

本模块把图像采集,数据预处理,模型推理,结果展示和预警输出等环节有机地结合起来,可以保证检测精度,又能提高系统的运行效率。其在施工现场个人防护状态自动化监控方面起到了关键的作用,给有关技术的应用提供可靠的支持和保证。

视频识别模块属于施工现场动态安全监测体系的重要部分,它主要执行对连续帧的解析工作,并且对作业人员的安全装备是否符合规定进行评判。其架构利用 PyQt5 作人机交互界面设计,用 PyTorch 架构加上 Faster R-CNN 目标检测算法来完成深度神经网络模型的训练与部署,并借助 OpenCV 库做离线视频文件解码、逐帧提取和可视化呈现,进而达成对施工现场人员防护措施的持续、高效智能化监视。该模块整个流程见图 4.8

图4.8 视频识别模块流程图

视频识别模块支持MP4AVIMOV等多种常见的格式的视频,在这些格式的视频中选一种进行导入。本模块利用 OpenCV 库中的 VideoCapture 类解析视频流,按照预设的帧率一个一个地读取每个帧的图像数据。为了使深度学习模型的数据能够被接受,对获得的原始图像要进行尺寸缩放、格式转换等预处理。对于长时间序列的视频,用时间间隔算法来对帧进行筛选,在保证核心事件信息完整性的同时降低计算资源的消耗,从而提高运行效率。相关的功能布局可以参见图4.9

图4.9 视频导入界面

系统接收到连续帧的数据之后,就会把它们传送到Faster R-CNN模型上执行逐帧的推理运算,从而完成对于各个帧内安全帽、反光衣等防护装备目标的准确检测,并得到其位置信息。根据上面的检测结果,系统可以对施工人员是否按照防护用品佩戴规定进行实时的评价,用对某一行为序列时间维度上出现的异常来加强施工现场安全监测能力。由于复杂环境下时序滤波的准确性差,所以在进行复杂环境检测时使用时序滤波来修正相邻帧识别结果,在保持数据的连续、一致的基础上避免出现瞬变报警或者漏检的现象。

视频识别模块在目标检测完成后,会把检测出的目标的检测框、类别标签和置信度信息叠加到原始视频帧上,然后用实时播放的方式显示出来。识别出的违规行为系统用边框和弹窗提示用户,并把有关的录像片段、时间戳、类型数据等信息存入本地日志文件中,供之后安全审核及事件追踪之用。图4.10为视频分析结果显示界面具体布局图。

图4.10 视频检测结果界面

利用连续的视频流数据采集和实时解析,可以得到施工现场人员安全防护状态的信息。动态监测功能大大超过传统的静止图像分析只关注时间这一维度所存在的限制,给施工场地安全管理和安全管理提供了新的手段,它具有很高的时效性以及系统的完整性。

摄像头实时识别模块属于施工现场安全监控体系中的重要部分,它肩负着对视频流实施不间断分析并发出违规举动探测的任务,为系统达成即时监测及即时预警赋予技术支撑。本模块使用PyQt5来创建图形化的用户界面,用OpenCV库来获取图像、编码解析,利用基于pytorskfaster R-CNN神经网络模型进行动态目标的精确识别和分类。同时使用多线程并发的方式提高资源的分配效率,使算法运行的速度变快、系统的响应速度变快。总结构如图 4.11所示。

图4.11 摄像头实时识别模块流程图

本系统使用统一框架实现对USB摄像头、网络摄像头、RTSP协议视频流的集成化接入,用户可以根据设备标识符或者输入RTSP地址来完成设备的连接。依靠OpenCV库中的VideoCapture类,模块可以获取并且解析各种视频源的数据,用缓存队列的方式来改进图像帧的存储管理,来应对网络不稳定、设备响应慢等状况,从而保证系统稳定的运行。针对原始视频流数据,本系统进行了适应性预处理过程,即对分辨率进行调整以及色彩空间转换等一系列的处理过程,使输入的数据满足目标检测算法的技术规范要求,为高性能实测分析打下了基础。摄像头配置界面的具体显示可以参考图4.12。

图4.12 摄像头接入界面

视频流稳定获取之后,系统就用多线程并发的方式把视频采集、模型推理和界面展示的任务拆分开来。该设计使得图像预处理、目标检测、结果显示可以同时进行,大大减小了整个响应时间。每张图片都会传给 Faster R-CNN,然后对这些图像进行动态的评价,看人员是否正确佩戴安全帽和反光背心。如果连续几帧出现异常情况,就开启预警系统,用图形提示、边框高亮、语音播报等方法给现场管理人员发送实时报警信号,及时消除可能存在的隐患。

本摄像头实时监测系统依靠目标检测算法,把边界框,分类标签以及置信度这些信息做成可视化的形式加上到动态视频流当中,从而让操作人员清楚地明白施工场地人员的防护情况。系统使用时间序列记录功能生成包含时间戳、设备编码、目标类型、警示标识等内容的本地JSON日志文件存放在指定的位置上,给以后的安全评价以及责任追溯给予数据支撑。图4.13就是具体的实时监控界面。

图4.13 实时检测结果界面

本模块通过不断地获取摄像头实时的视频流,并且构建出有效的响应机制,从而达到了对施工场地安全状况实行全方位的动态监测的目的。该种新型技术不但提高了系统在实际运用中的能力,而且给智慧工况下的安全防护给予了可靠的科技支持。

4.4.3 知识问答模块

知识问答模块属于施工现场安全的重要部分,给施工管理人员及现场作业人员及时、准确地获取安全规范提供支持,并且可以给现场施工安全提供智能化服务。主要作用就是把视觉检测技术和语义理解这两个手段有效地结合在一起,从而提高系统的综合能力。本模块用到的是 Streamlit PyQt5 框架来创建交互式的图形界面,同时使用大型语言模型(LLMAPI 和本地化的安全数据库资源,可以完成对自然语言问题的解析,语义映射以及自动回答的服务功能。同时利用SpeechRecognitionpyttsx3库支持语音识别、语音合成,使设备在噪音大的环境下操作更加方便、用户更加满意。其运行逻辑为图4.14所示内容。

图4.14 知识问答模块功能流程图

本系统把文本输入框和语音识别模块结合在一起,给用户赋予各种各样的交互手段。文本输入模式下,用户可以直接对施工安全相关问题进行提出,在文本输入框内可以提出有关安全帽佩戴规范的定义等问题。高空作业的风险控制要点。当输入的内容被系统标准化处理、分词之后,再按照事先设定的格式提交给后端问答引擎,从而得到相应的回答。语音输入模式就是用SpeechRecognition库对麦克风捕捉到的声音信号做降噪处理,并将语音转化为文字的形式,之后再传递给统一的语义解析、知识检索模块来达到高效、流畅的人机交互效果。该系统的主要操作界面如图 4.17所示。

图4.17 问题输入界面

核心代码如下:

def ask_llm(question):

    headers = {

        "Authorization": f"Bearer {API_KEY}",

        "Content-Type": "application/json"

    }

    prompt = f"""

你是施工安全专家,请用规范、专业的语言回答问题:

问题:{question}

要求:回答应符合施工安全规范,简洁明确。

    payload = {

        "model": "deepseek:14b ",

        "messages": [

            {"role": "system", "content": "你是施工安全领域专家"},

            {"role": "user", "content": prompt}

        ],

        "temperature": 0.3

    }

    response = requests.post(API_URL, headers=headers, data=json.dumps(payload))

    result = response.json()

    return result["choices"][0]["message"]["content"]

在语义解析与问答生成实现过程中,系统并非简单调用大语言模型接口,而是通过构造标准化请求、解析返回结果并进行二次处理,从而实现完整的问答流程。具体实现上,系统基于 HTTP 接口调用大语言模型服务(如 OpenAI API),通过 requests 库向模型发送结构化请求数据。首先,将用户输入的问题进行预处理(去除无效字符、统一格式),然后结合提示工程构造完整的输入指令(Prompt),并以 JSON 格式封装为请求体,其中包括模型名称(如 "gpt-4o-mini")、消息上下文(messages)、温度参数等关键字段。示例代码如下:

def ask_llm(question):

    headers = {

        "Authorization": f"Bearer {API_KEY}",

        "Content-Type": "application/json"

    }

    prompt = f"请根据施工安全规范回答以下问题:{question}"

    payload = {

        "model": "gpt-4o-mini",

        "messages": [

            {"role": "system", "content": "你是施工安全专家"},

            {"role": "user", "content": prompt}

        ],

        "temperature": 0.3

    }

    response = requests.post(API_URL, headers=headers, data=json.dumps(payload))

    return response.json()

在获取模型返回结果后,系统需要对响应数据进行解析。大模型返回的数据通常为嵌套的 JSON 结构,其中回答内容位于 choices[0].message.content 字段中。因此,系统通过字典解析方式提取有效信息,并进行必要的异常处理(如接口调用失败或字段缺失)。具体实现如下:

def parse_response(response_json):

    try:

        answer = response_json["choices"][0]["message"]["content"]

        return answer.strip()

    except:

        return "系统暂时无法获取答案,请稍后重试"

完整问答流程中,系统先调用 ask_llm() 获取原始响应,再调用 parse_response() 提取最终文本结果,并将其返回至前端界面进行展示。同时,为增强交互体验,系统调用 pyttsx3 语音合成接口实现语音播报。具体过程为初始化语音引擎对象,通过 engine.say(text) 将文本加入播放队列,再调用 engine.runAndWait() 执行语音输出,实现“文本→语音”的转换。例如:

import pyttsx3

def speak(text):

    engine = pyttsx3.init()

    engine.say(text)

    engine.runAndWait()

在实际运行过程中,系统执行流程为:用户输入问题 构造 Prompt 调用大模型 API 解析返回 JSON 提取回答文本 前端展示 调用语音合成进行播报。通过这种方式,不仅实现了对用户问题的语义理解与智能回答,还保证了输出结果的结构化与可控性,使系统在施工现场复杂环境中具备良好的实用性与交互能力。。图 4.16 展示的是问答结果具体的呈现形式。

图4.16 问答结果展示界面

本系统用JSON格式把用户的咨询内容、模型产生的输出、交互过程中重要的参数等全部进行本地化的保存,创建起完整的问答日志。这些数据不仅可以为系统运行效能分析以及智能模型的更新打下基础,而且可以借助对于高频的问题以及错误的回答进行细致研究,从而促使提示规则不断得以改善,同时也在某种程度上促使知识图谱结构愈加完备。

4.4.4 数据管理模块

保证系统数据完整可靠、能追溯是数据管理模块的主要工作,即整合业务运营期间生成的数据资源,并对它们加以存储、维护。它的主要工作是对用户资料进行集中管理,对检测结果进行有序地记载,并且保存系统的日志以及其他各种数据。经过创建标准化的数据架构体系之后,该模块可以实现对核心数据资产的掌控,从而给系统的正常运作以及后期的数据挖掘分析赋予了有力的技术支持。

数据库架构设计时使用关系型数据库管理系统来进行数据的存储和组织工作。核心数据表有用户信息管理表、识别结果记录表和互动问答日志表这三个主要部分。用户信息表主要用来存储用户的基础信息,例如账号标识符、加密密码、注册时间等重要属性,给身份认证提供技术支持,识别记录表主要存储视觉分析引擎处理过后的图像、视频流或者实时监控画面的结果,包含事件发生的时间、检测类型、判断结果以及相关的媒体文件路径等内容,供历史任务查询和统计使用,问答记录表主要是保存用户咨询的问题及系统给出的答案,为之后的数据挖掘以及决策提供数据支撑。经由改进各个数据表之间的联系规律以及执行规范化的设计流程之后,可大幅度加强数据的统一程度和总体运转效能。

就功能实现而言,数据库管理模块主要是进行数据的增加、删除、修改、查询等基本的操作。用户注册或者登录的时候,使用数据库接口来获取和校验用户信息来完成身份认证;在目标检测之后,系统会将处理结果以及相关参数存入指定的表单当中,保证数据的安全存储和长期保存。该模块还具有历史记录查询、清除的功能,可以供用户按时间或者类别来查找以往的数据并加以处理。对知识问答子系统来说,在生成出问题回答之后也会把相关信息同步到底层数据库中去,方便以后用户查阅有关的过往信息。

系统开发时,使用Python后端程序来处理与数据库有关的任务,用标准化接口完成数据的增删改查等主要操作。该设计模式采用模块化思想,使得各个功能模块可以各自调用底层数据访问接口,从而达到代码结构优化、系统可扩展性提高、方便维护的目的。就数据完整性、系统可靠性的角度来说,在出现错误的场景时也做出了全面的预测,进而制定了相关的容错措施,而且对一些重要的字段实行了较为严格的校验规则以及约束条件的设定。因此,所建立的数据库管理系统把各种各样的数据资源有机地整合起来,给工程安全管理平台赋予了可信的数据支撑架构。

图4.17为本系统指定查询界面显示安全帽和反光背心检测结果。

图4.17 识别数据查询页面

对应核心代码如下:

USERS_FILE = Path(__file__).parent / "users.json"

def hash_password(password):

    """

    对密码进行 SHA256 哈希

    :param password: 原始密码

    :return: 哈希后的密码

    """

    return hashlib.sha256(password.encode()).hexdigest()

def load_users():

    """

    从 JSON 文件加载用户数据

    :return: 用户字典,格式:{username: {password_hash, email}}

    """

    if USERS_FILE.exists():

        with open(USERS_FILE, 'r', encoding='utf-8') as f:

            return json.load(f)

    return {}

 

5章 系统测试

5.1 系统测试目标及方案

这是本研究核心成果评价的重要部分,系统测试主要是检验由深度学习和语言模型(LLM)构成的施工安全监测及交互问答系统的功能性、稳定性、检测准确性和人机协作可靠性等各个方面的情况。其主要目的就是全方位评价该系统工程适用性和推广前景,从数据整合处理的各个角度出发考察系统在处理大量信息的时候的性能指标和推理速度,同时还要测试系统对于各种复杂情况的应对方法。通过严格系统的检测可以发现存在的技术不足或性能问题,并且还可以给算法的改进、硬件设备升级、用户需求提升提供依据,进而使系统更安全可靠、运行更好,为施工监测实际使用打下良好的基础。

系统测试的目标有多个方面,主要包含如下几个方面:首先对系统各个功能模块的完整性、正确性做验证,保证注册登录、图像识别、视频解析、摄像头动态监控、基于大型语言模型的知识查询等各项功能可以正常工作;其次模拟多源数据接入场景下的实时处理效能,评价系统的响应速度和运行稳定性,在连续视频流传输和实时监控模式下尤为明显;再次就深度学习目标检测算法的主要性能指标展开量化剖析,着重注意其在光照改变、部分遮挡、人群拥挤这些繁杂情况下究竟准确还是可靠;最后从用户体验的角度出发,对系统的交互简便程度及对于异常情况的应对能力予以全面评判,即在强干扰环境下语音与文字交流功能是否有效,系统能经受得住高并发请求或者突然出现的故障时,其整体稳定性怎样。

本文所用的测试方案是以功能、性能、稳定性相结合来构建一个综合的测试方案。功能层面按照系统需求规格说明书中的具体业务逻辑进行单元测试和集成测试,保证各个子模块满足功能性需求并保持一致的界面展示;性能方面利用动态负载环境下响应时延、吞吐量、资源占用率等指标分析方法,在数据流量模拟工具下创建各种复杂的场景案例研究系统在负载大的时候的表现以及扩展性,稳定维度依靠长时间运行实验考察系统高并发访问时服务的连续性,并考虑技术隐患(内存泄漏或者代码重复等)给用户体验带来的影响。经过创建包含三个主要方面多元化的测试体系之后,不但明显改善了所选平台的技术可实施性,而且明显加大了其市场匹配能力和成长前景。

5.2 模块功能测试

5.2.1 注册登录模块的功能测试

注册登录模块主要目的是保证用户的认证以及权限控制的安全性,其测试工作主要是对注册、认证、密码修改等关键环节的正确性进行测试。利用JSON格式保存用户数据,可以自动建立数据库并且实时更新。对系统进行实际的注册流程模拟、异常请求处理模拟、常规登录验证模拟、非法访问检测模拟等一系列的场景,来考察该系统的稳定性、防御能力。

测试案例一,用户输入有效的用户名和密码之后,点击注册按钮,系统会将用户的注册数据保存到JSON文件里,并且向用户发送一个注册成功的信息,如图5.1所示。

图5.1 注册成功页面

测试案例二,当用户注册时输入已经被使用的用户名的时候,系统应该触发重复数据校验,给出提示信息“该用户名已存在”,来验证系统对于用户标识唯一性的控制能力是否符合预期的设计,如图5.2所示。

图5.2 用户已被注册页面

测试案例三,用户注册时如果用户名或者密码为空,则弹出提示框“请确认输入完整信息”,阻止请求提交,以此来考察系统对于异常数据输入的有效拦截及处理能力。如图5.3所示。

图5.3 密码为空页面

根据测试结果可知,注册登录模块对于用户信息的管理具有较好的稳定性,在逻辑上是合理的并且提示信息也很清楚,可以满足系统的用户身份认证以及数据安全的要求。

5.2.2 图片识别模块的功能测试

本文所建立的图像识别系统,主要是对现场拍摄的照片中安全帽和反光服是否佩戴进行智能化的分析,其主要目的就是看模型对于复杂光照条件、人多的地方和部分被遮挡的环境下,能否对目标物体进行准确的检测。

测试案例一,用户提交包含安全帽和反光衣的施工人员图像时,系统应该能够准确地提取出目标,在界面中显示边界框,给出类别标签以及置信度值等信息来测试模型在正常环境下分类性能的好坏,如图5.4所示。

图5.4 识别头盔页面

测试案例二,输入图片不包含头盔,则识别结果显示没有结果,如图5.5页面。

图5.5 不存在头盔页面

测试案例三,当输入错误类型的文件时,提示文件无效,如图5.6所示。

图5.6 文件类型错误页面

从研究数据可以知道,本课题建立起来的图像识别模块具有很高的精确度、可靠性和稳定性能,在复杂的使用环境下也满足动态视频安全监控系统对于静态视频的控制要求,达到了预期的效果。

5.2.3 视频识别模块的功能测试

本模块针对的是离线视频文件的逐帧解码以及目标序列化追踪任务,它的评价指标主要是对系统在视频处理过程中稳定性和连续性的好坏进行衡量,并且还要考虑实时显示图像的效果。

用户上传符合要求的施工视频之后,系统就会对视频进行解码、帧级分析、可视化展示等一系列工作,来判断整体处理功能的好坏、运行状况如何等。如图5.7所示。

图5.7 视频识别页面

本测试主要目的在于检验系统在高频遮挡、快动目标、复杂背景等动态环境下的持续监测性能,评价系统对各种不确定性有怎样的适应性、稳定性表现。

实验数据显示,视频识别模块对离线视频解析、目标检测等任务有较好的性能,在连续性以及可视化的程度上也得到了很好的满足。

5.2.4 摄像头实时识别模块的功能测试

该为一个主要的功能模块,摄像头实时识别模块可以对施工现场的视频流实时地加以解析,并及时发出报警信息。测试环节主要对它的运行过程中,实时性能、系统可靠性和连续工作等各方面情况进行评价。

通过本地或者网络设备接入摄像头,对视频流进行实时采集,并使用目标识别算法进行分析,保证检测结果在界面上可以实时显示出来,用来检验系统的实时数据处理能力。如图5.8所示。

图5.8 摄像头识别页面

本测试案例主要目的是考察系统在持续运行情况下稳定性的特点,重点对存在明显的界面卡顿、内存泄漏、程序异常终止等问题进行分析,从而评价系统长时间稳定性表现的好坏。

该功能可以实时检测施工现场人员是否正确戴好安全帽和反光背心,及时发出报警,起到安全生产监管、风险防范的作用。后台打印输出的log如图5.9所示。

图5.9 后台打印输出的log

从实验结果可以得知该模块在实时响应能力、运行可靠性和告警触发效率等各方面都表现出明显的优势,完全可以满足施工环境下连续监测和及时报警的功能要求。

5.2.5 知识问答模块的功能测试

知识问答子系统依靠大型语言模型来实现施工领域安全规范、操作规程、风险防控专业问题的解答。评价主要是看系统对于自然语言指令理解的程度,回复正确程度和用户交互体验改善的水平。用户询问安全帽佩戴标准的时候,系统输出符合建筑施工安全规范的完整答案,用以考查系统在回答规则性问题时知识储备及运用情况。如图5.9所示。

图5.9 知识问答页面

清空功能如下图5.10所示。

图5.9 清空问答页面

由研究数据可知,该知识问答系统对于语义分析、信息提取以及响应文本生成等方面有比较高的性能,可以给建筑行业的从业人员提供及时准确的安全信息帮助。

由此可以看出各个功能模块对于标准测试案例的稳定性和准确性都很高。该系统整体结构完整,逻辑设计严密,为之后的性能优化和实际运用打下了基础。

5.2.6 数据管理模块测试

如图5.105.13所示,数据管理模块主要负责系统中各类核心数据的存储、维护与管理,包括识别结果记录的查询、更新与删除等功能。为验证该模块在实际运行过程中的功能完整性与数据操作正确性,设计如下典型测试用例对系统进行验证。

图5.10 查看数据页面

如图5.10 查看数据页面所示,"查看数据"页面是数据管理模块的首个标签页,主要用于展示当前登录用户的所有识别记录。系统将从数据库(detection_records.json)中查询该用户的全部历史记录,并以易读的列表形式展示。用户进入数据管理界面后,选择按照时间或检测类型进行数据查询,系统能够从数据库中检索符合条件的识别记录,并以列表形式展示,包括检测时间、检测结果及对应图片路径等信息。

图5.11 搜索数据页面

如图5.11 搜索数据页面所示,"搜索数据"页面提供了按时间范围查询识别记录的功能。用户可通过指定开始日期和结束日期,从系统中检索出符合时间条件的识别记录。该功能使用户能够快速定位特定时间段内的检测结果。

图5.12 更新数据页面

如图5.12 更新数据页面所示,"更新数据"页面允许用户对已有的识别记录进行修改和更新。用户可选择特定的识别记录,修改其状态信息或检测结果详情,然后将更新内容写入数据库。此功能支持对检测数据的后处理和纠正。

图5.13 统计分析页面

如图5.13 统计分析页面所示,"统计分析"页面对用户的所有识别记录进行汇总统计,提供三个核心指标和一个对象统计可视化展示。该页面帮助用户了解其识别任务的全面情况。

图5.14 删除记录页面

如图5.14 删除记录页面所示,删除功能集成在"查看数据"页面中(图5.10),允许用户删除指定的识别记录。系统提供了便捷的单条删除操作,用户可针对任意不需要的记录进行删除,实现数据库的有效维护。

5.3 测试总结

本文主要针对注册登录、图像处理、视频解析、摄像头实时监控、智能问答这五个主要功能模块进行了系统的测试,严格按照软件工程规范设计了相应的测试体系。该框架从功能性完整性的角度出发,从运行可靠性的角度出发,从用户体验的角度出发来建立评价指标,并根据典型用户的操作逻辑来创建出包含正常输入范围、边界条件、异常情况的全部测试用例。实验结果说明,所有的元件都可以达到预期的目标,主要性能指标与设计目标相符合,系统的结构集成较好、兼容性高,在高并发的情况下具有较好的容错能力和适应性,为之后的优化升级打下了良好的技术基础和发展方向。

注册和登录功能测试显示系统可以很好地完成身份认证的任务。主要作用是精确对准用户所提交的账号、密码,就注册、登录以及密码重置等事宜给出即时、清晰的结果响应,进而很好地保证信息的安全以及用户的使用体验。本模块在图片识别性能评价时表现突出,在各种环境下(不同的分辨率,复杂背景以及不理想的光照状况等)都能够取得比较好的效果,具有较好的识别准确率和识别速度,可以满足实际使用的需求。视频分析组件的运行情况也比较稳定,不但可以长时间连续地对视频帧进行处理,而且还可以准确地跟踪和记录目标运动轨迹的变化,没有明显的延时或者中断现象。对基于摄像头采集的数据流进行了毫秒级的响应速度,使得事件被感知的速度得到了很大提高,并且决策的支持性也随之加强了。另外智能问答系统利用深度学习框架建立起来的知识图谱模型具有很好的信息检索、逻辑推理能力,给用户提供了更加详细、准确的答案,从而提高了整个交互过程中的一致性以及可用性。

经过系统的集成测试发现,在持续使用的过程中整体上稳定。该系统内存的使用率以及运算资源的消耗一直都在可以接受的范围内。模块之间数据的传输以及接口的交互过程无任何逻辑上的错误或者数据丢失的情况出现,说明系统的架构设计合理且具备未来可扩展的能力。详细的测试结果如表5.3所示。

表5.3 系统测试结果表

测试功能

测试结果

测试结论

注册

可以实现用户注册

通过

登录

可以实现用户登录

通过

忘记密码

可以实现密码修改

通过

图片识别

正确显示识别结果

通过

视频识别

连续稳定显示识别结果

通过

摄像头实时识别

实时显示检测结果

通过

知识问答

能够准确回答用户问题

通过

 

6章 结 论

通过对系统各功能模块进行综合测试与实际运行验证,可以看出本系统能够较好地应用于施工现场安全监测与管理场景,实现对人员安全帽与反光衣佩戴情况的自动识别,并结合知识问答功能为现场作业人员提供辅助支持。在实际应用中,系统能够完成图像、视频及摄像头数据的处理与分析,具备一定的实用价值与工程意义。

本文根据模块化设计的思想把系统分成用户管理、图像或视频识别、智能问答等主要子模块,用清晰的功能划分和标准接口来达到系统结构高度分离、功能扩展方便的目的。图像与视频识别模块使用深度学习目标检测算法建立起来,依靠神经网络非常出色地提取出特征并进行模式匹配,在复杂环境下大幅度提高了目标检测的精度以及鲁棒性;摄像头实时监控模块用加强训练来完成对于动态场景下对象的准确定位和分类任务。从实验结果可以看出,在各种情况下,每一个识别单元都会给出同样的结论,并且反应时间也比较短,符合实际部署的要求。为了进一步提高系统的智能化程度,本文在已有的基础之上又对自然语言处理技术进行了应用,并在此基础上建立起了一个简单的知识库检索系统,给系统带来了一定程度上的理解、对话以及交互的功能,大大拓宽了其应用场景,提升了用户体验。

同时,本研究构建了从模型设计、系统开发到功能实现的完整技术流程,在提升施工安全管理信息化水平方面具有一定参考价值。然而,由于数据规模与实验条件的限制,系统在复杂环境(如强遮挡、多目标密集场景)下的识别效果仍有提升空间,知识问答模块在语义理解深度方面仍有待加强。未来可通过扩充高质量标注数据集、引入更高性能的目标检测模型(如Transformer结构模型)、优化多模态信息融合机制以及提升自然语言处理能力等方向进行改进,从而进一步增强系统的鲁棒性与实用性,并拓展其在智慧工地及智能安全管理领域中的应用范围。

 

参考文献

[1] 陈迪欢,陆希,张耀峰.基于LangChain+LLM的招投标领域问答系统研究[J]. 大数据时代,2024,(05):23-28.

[2] 刘克凡.桥梁施工中的风速监测与预警技术研究[J].工程建设与设计,2025,(1):140-142.

[3] 高玮,王森,崔爽,等.基于深度信念网络的盾构隧道施工安全研究[J].河北工程大学学报(自然科学版),2023,40(01):75-80+87.

[4] 姚宏利,陈晓楠.基于LLM和LangChain的电力问答系统设计与实现[J]. 无线互联科技, 2025, 22 (13): 49-52+66.

[5] 杨泞珲,钟栋青.基于图像识别技术的施工安全风险管理研究现状及趋势分析[J].价值工程,2025,44(27):148-151.

[6] 马茜,王港,刘纾彤,等.基于检索增强生成的卫星任务需求决策优化模型[J]. 无线电工程,2025,55(11):2316-2324.

[7] 常庆国,张亚娇,刘晓龙.基于物联网技术的安全挂钩智能监测关键技术研究[J].无线互联科技,2025,22(08):24-28.

[8] 廖正龙,赵勇,谢广建,等.基于大数据分析的公路建设施工风险动态防控体系构建[J].中国公路,2025,(09):99-101.

[9] 蒋文利.基于声音识别技术的煤矿瓦斯抽采施工安全监测方法设计[J].电声技术,2024,48(11):45-47.

[10] 宋雨蒙.面向中职的《AI智能问答的实现-基于Langchain框架》课程开发[D].导师:欧卫华.贵州师范大学,2025.

[11]许婷,肖桐,张圣林,等.基于LLM的日志故障诊断[J].电子学报,2025,53(04):1123-1141.

[12] 窦凤岐,胡珊,李佳隆,等.基于LangChain的RAG问答系统设计与实现——以C语言课程问答系统为例[J].信息与电脑(理论版),2024,36(06):101-103.

[13] 罗会银,李成臣,何延志.基于图像处理的隧道施工人员流动监测与隐患识别系统研究[J].工程技术研究,2025,10(02):12-14.

[14] 严智才,罗璟,顾满局.机器视觉在玫瑰鲜切花花形分类中的研究[J].电子测量技术,2023,46(9):143-150.

[15] Hayat, Ahatsham;Morgado-Dias, Fernando.Deep Learning-Based Automatic Safety Helmet Detection System for Construction Safety[J].Applied Sciences,2022,12(16):826

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐