基于深度学习方法的头盔佩戴检测研究与系统实现

        随着经济与社会的发展,各大城市车辆保有量不断提高,越来越多的人选择乘车出行,非机动车事故问题也越来越 严重。驾驶人不得在乘坐人员未按照规定使用安全头盔的情况下驾驶摩托车。因此,检测非机动车驾驶员与乘坐者是否佩戴头盔对生命财产安全至关重要。本文采用深度学习的方法,结合 YOLOv4 模型的特点,建立相应头盔检测神经网络模型,在搭建的神经网络各层次中调整偏置项,进而训练得到有效的神经网络模型,实现检测非机动车驾驶 人是否戴头盔的功能,即实现头盔识别,并保证其较高的精确度。

目标检测数据集及其标注:

 读取数据集的代码如下:

HELMET = []
NO_HELMET = []

DIRECTORY = r"annotations"
DIRECTORY2 = r"images"
for xml_file in os.listdir(DIRECTORY):
    path = os.path.join(DIRECTORY,xml_file)
    tree = ET.parse(path)
    root = tree.getroot()
    img_path = os.path.join(DIRECTORY2,str(root.find('filename').text))
    frame = cv2.imread(img_path)
    for member in root.findall('object'):
        Switch  = member.find('name').text
        for i in member.findall('bndbox'):
            xmin = int(i.find('xmin').text) - 20
            ymin = int(i.find('ymin').text) - 20
            xmax = int(i.find('xmax').text) + 20
            ymax = int(i.find('ymax').text) + 20

            if xmin < 0 :
                xmin = int(i.find('xmin').text)
            if ymin < 0 :
                ymin = int(i.find('ymin').text)

            if Switch == 'With Helmet':
                temp = frame[ymin:ymax,xmin:xmax]
                if temp.shape[0] != 0 and temp.shape[1] != 0 :
                    temp = cv2.resize(temp,(224,224))
                    HELMET.append(temp)
            else:
                temp = frame[ymin:ymax,xmin:xmax]
                if temp.shape[0] != 0 and temp.shape[1] != 0 :
                    temp = cv2.resize(temp,(224,224))
                    NO_HELMET.append(temp)

应用完成的实现界面如下所示:

 上传需要检测的图像数据:

点击检测后的输出结果:

 结论:

        本文建立相应头盔检测神经网络模型,完整代码加Q:525894654, 在搭建的神经网络各层次中调整偏置项,进而训练得到有效的神经网络模型,实现非机动车驾驶人是否戴头盔检测功能并保证其较好的应用性。可以有效减少非机动车和电动自行车的交通事故,使人们养成良好的交通习惯,规范驾驶员的交通行为。点击添加群:正在跳转正在跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习设计与实现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值