谈球吧科技有限公司
谈球吧科技有限公司成立于2019年,总部位于浙江省杭州市。作为专业的体育用品电商平台,我们深耕足球装备与运动服装领域,致力于为广大球迷和运动爱好者提供高品质产品。依托杭州数字经济产业优势,公司整合全球优质供应链资源,提供正品保障与专业选购服务...
体育资讯
时间:2026-03-05 02:48:49

美国劳工部职业安全与健康管理局(OSHA)的一项研究表明,70%遭受严重手部伤害的工人在事发时没有佩戴手套[1]。这是个人防护装备(
本项目将构建一个名为SafeGear Check的安全装备检测系统,该系统在人员进入工作区域时进行扫描,确保其佩戴了必需的PPE。该系统采用ArduinoNicla Vision人工智能(AI)摄像头模块和基于Edge Impulse训练的AI模型,并配备指示灯和扬声器,可根据检测结果提供视觉和语音反馈。
Arduino Nicla Vision(图1)是一款集成AI的摄像头模块,专为图像分析与处理而设计。该模块采用基于STMicroelectronics VL53LIX飞行时间(ToF)传感器的接近传感器来测量距离。Nicla Vision适用于物体识别和资产追踪,其配备的六轴惯性测量单元(IMU)可采集三维加速度计数据,实现基于机器学习的物体识别功能。
Edge Impulse通过输入现有数据集中每件PPE的若干图像,对AI模型进行训练以识别PPE。
OpenMV IDE用于将Edge Impulse模型上传至Nicla Vision并进行测试,并且包含Nicla Vision需要执行的所有操作代码,例如根据检测结果控制灯光和扬声器。
Visual Studio Code(VS Code)是雇主设置必需PPE的Web界面(前端和后端),雇员通过该界面登录进行扫描识别。
本项目的目标包括:训练AI模型识别特定类型的PPE,将模型上传至Nicla Vision模块,并编程控制该模块的灯光、接近传感器和扬声器,以实现视觉和语音反馈功能;同时开发Web界面,供雇主指定必须佩戴的PPE,雇员通过该界面登录并证明其已佩戴相应防护装备。
我们将首先在Edge Impulse平台训练AI模型,然后再处理软硬件组件的开发。
Edge Impulse是专为训练模型并部署至边缘计算设备(如Nicla Vision)而设计的AI平台。通过上传各类PPE的图像数据集,可以训练AI模型识别工人穿戴的防护装备。
要开始训练模型,首先需要收集工人佩戴各类PPE(如头盔、背心、口罩)的图片,这些素材可从现有数据集中获取,例如Roboflow Universe提供的资源。为确保模型识别的准确度,每种PPE需收集至少100张图片,包括从不同角度拍摄,以及人员佩戴该装备的实拍图,以便模型能够识别佩戴PPE的工人(这才是主要目标),而非仅识别PPE本身。搜索“电子工程世界”或“EEWorld”了解学习更多干货内容。
a. 对于每张图片,点击Sample Name(样本名称)(图2),在PPE周围绘制边界框并标注。
注意:标注PPE时,请确保绘制的边界框包含佩戴者(图3)。例如,标注头盔时,佩戴该头盔的工人头部也要包含在边界框内。此操作可确保模型能够识别出“工人佩戴了头盔”,而非仅识别头盔本身。
b. 在Image(图像)模块的Name(名称)字段中,输入Image,并从下拉菜单中选择Image(图像)。
注意:如果某些PPE的识别率偏低,请上传更多图像并重新训练模型。可点击Live Classification(实时分类)使用其他图像测试模型,判断其能否准确识别PPE。
11. 完成模型优化与测试后,点击左侧导航栏中的Deployment(部署)。
该工具将生成一个ZIP压缩包,其中包含训练好的模型、标注集以及包含物体识别模型代码的Python文件。请解压所有文件。
6. 窗口右侧的摄像头应进入活动状态。通过向摄像头展示不同PPE的照片来测试模型。
7. 点击窗口左下角的Serial Terminal(串行终端)选项卡,即可查看摄像头的输出。例如,在摄像头前展示佩戴头盔的工人时,串行终端将显示Helmet(头盔)(图9)。
图10所示的原理图展示了系统正常运行所需的硬件连接。请严格按照引脚编号进行连接,因为代码中也包含这些特定连接。
a. 对于每个按钮,需要找到位于对角线两端的两个端子(即对角端子)。将其中一个对角端子连接到VCC。
b. 将另一个对角线KΩ电阻器的一端,并将该电阻器的另一端连接到GND。
c. 从电阻器的同一端子引出一根导线,连接至该按钮对应的Nicla Vision引脚:头盔按钮PE13、背心按钮PE14、口罩按钮PE11、手套按钮PF3。
c. 将上述每个电阻器的另一端分别连接到对应的Nicla Vision输出引脚:PG12、D2和D3。
e. 为保护晶体管和LED免受反向电压影响,需通过二极管将各集电极连接至+12V电源线V仅供塔灯使用;接地端必须共用,但电压轨必须隔离。)
调试技巧:若无法通过晶体管控制塔灯,请使用万用表的二极管档位逐个检测每个晶体管是否工作正常。检查基极-发射极和基极-集电极结的正向电压降是否正常(通常为0.6V–0.7V)。
5. 将电源插头插入墙壁插座,并将Nicla Vision连接至计算机。
现在,您已经构建了一个能正确识别所有必需PPE的工作模型,接下来就可以在OpenMV中导入库文件、初始化硬件并添加逻辑语句。
• sensor和image库使Nicla Vision摄像头能够扫描前方站立的人员,判断其是否佩戴了必需的PPE。
连接三个状态指示灯和四个按钮至Nicla Vision前,必须先完成初始化。请参照图10中的原理图,确保物理连接与代码中指定的连接相匹配。
要保存工人信息和检测结果,需要先创建名为system_log.txt的文本文件,并将该文件名包含在代码中(例如LOG_FILE = system_log.txt)。此操作将指示系统创建带时间戳的记录,其中包含日期、工人姓名和检测结果。
下面的代码演示了如何配置UART与DFPlayer Mini进行通信,以根据检测结果实现语音输出。发往DFPlayer的每条命令都遵循固定的数据包结构:以起始字节(0x7E)开头;包含版本字节、命令长度等参数;以结束字节(0xEF)终止。DFPlayer使用此数据包来设置音量并选择相应的音频文件进行播放。
DFPlayer和扬声器采用UART连接,因而必须建立USB连接,才能在Web界面查看Nicla Vision的检测结果。这是至关重要的一步,因为它通过USB建立了Nicla Vision与Web界面之间的通信。
以下代码将VL53L1X飞行时间传感器设置为最大检测距离(1,000mm),并指示系统在传感器检测到运动或存在时激活:
接近传感器激活后,黄色塔灯将会亮起(图12),Nicla Vision开始检测工人的存在状态。系统将在工人登录后显示人员存在检测结果。
下面的代码将对按钮进行初始化,并供您选择必需的PPE。每个选中的项目都将显示在Web界面的Employer Settings(雇主设置)中。
选择完PPE并点击Log Out(注销)后,系统将更新PPE清单并发送至Nicla Vision,该设备将依据此清单核验工人是否符合装备要求。
初始化所有硬件连接后,接下来就需要创建检测结果逻辑语句。这些语句定义了系统对PPE存在或缺失的相应方式。如果Nicla Vision检测到了所有必需PPE,绿灯亮起,Web界面显示“all clear”(通过检测)提示信息,同时扬声器将播放“all clear”音频文件;若Nicla Vision未能检测到所有必需PPE,则红灯亮起,Web界面显示缺失的装备,扬声器播放“missing gear”(装备缺失)音频文件。
本项目使用VS Code管理Web界面的前端与后端。前端文件定义页面设计,供雇主和雇员使用。这些文件位于public文件夹中,该文件夹包含员工仪表板页面、雇主和雇员登录页面以及雇主设置页面(图13)。
要访问这些文件,请在VS Code中打开SGC-WEB项目。打开后,左侧窗格(即资源管理器)将显示SGC-WEB中的所有文件夹,包括public文件夹。
下面的代码负责管理按钮界面、Nicla Vision与Web应用程序之间的数据交换。其中,parser.on(data, ...) 函数用于监听Nicla Vision发往Node.js后端的串行消息。当接收到代表所选安全装备的输入数据时,服务器会向Web界面触发gear-list-update事件。经过处理后,Nicla Vision发送检测结果,表明是否识别出所选安全装备,该结果随后作为检测事件输出。这些结果控制着Web界面上的相应视觉指示器和扬声器发出的声音。
server.js文件的其余部分使用Express定义服务器路由。这些路由指定了向浏览器提供哪些前端文件(如登录页面或雇主仪表板),以及用户与网页界面交互时触发哪些操作(如提交用户名、登录或页面跳转)。该文件还包含运行node server.js时初始化服务器并启动Web界面的逻辑。代码中穿插了控制台日志语句,用于验证从用户登录、装备检测到注销的所有功能是否正确执行,并确保系统按预期运行。在运行服务器之前,请在计算机的设备管理器中检查分配给Nicla Vision的COM端口,确保其与server.js中指定的端口(如COM5)相匹配。此操作可确保Nicla Vision与PC之间的串行通信正常。
这些依赖项使后端能够同时与Web界面和Nicla Vision进行通信。
在下面的步骤中,您将运行server.js文件以打开Web界面,随后以雇主身份登录进行配置设置,最后以雇员身份登录,在佩戴PPE的情况下测试系统功能。
5. Employer Settings页面(图18)显示电路上各按钮对应的PPE类型。在面包板上,按下与必需PPE对应的按钮。
6. 按下按钮时,对应的PPE名称将显示在屏幕上(图19),由此确定Nicla Vision将核查的必需PPE。
7. 设置好必需PPE后,点击Return to Sign-in Page(返回登录页面)即可注销并返回雇员登录页面。
9. 收到登录确认后(图21),点击Start Safety Check(开始安全检查)。接近传感谈球吧器将检测到您的存在和动作,触发黄灯亮起。
a. 若Nicla Vision检测到PPE缺失,红灯将亮起(图22),扬声器将播放“Missing Gear”(装备缺失)语音提示,同时Web界面将显示“Missing Gear”提示信息,并列出缺失的PPE(图23)。
图22:红灯、屏幕提示和语音提提示,指出缺失的PPE。(图源:贸泽电子)
图23:当工人缺失PPE时,Web界面显示缺失装备的提示信息。(图源:贸泽电子)
b. 若Nicla Vision检测到所有必需PPE,绿灯将亮起(图24),扬声器将播放“All Clear”(通过检测)语音提示,同时Web界面将显示“All Clear”提示信息(图25)。
图24:当检测到必需装备齐全时,显示“All Clear”提示、绿灯和对应语音提示。(图源:贸泽电子)
图25:当检测到必需装备齐全时,Web界面显示“All Clear”的提示信息。(图源:贸泽电子)
11. 收到“All Clear”提示后,点击Log Out(注销)按钮。系统将重置,以便下一位雇员登录。
图26:system_log.txt文件中的日期、时间、雇员姓名和检测结果。(图源:贸泽电子)
SafeGear Check项目展示了Arduino Nicla Vision如何有效检测员工在危险环境中是否正确佩戴PPE。通过采用Edge Impulse训练的AI模型,Nicla Vision不仅能精准识别必需的PPE,还能根据检测结果控制外部设备,如塔灯和扬声器。
通过该系统的Web界面,雇主可以设定必需的PPE,员工可以登录激活检测系统。SafeGear Check使雇主能够确保员工在进入危险环境前做到装备齐全、防护到位,从而有效降低工伤事故发生率。