识别检测类系统(基于pytorch)(一)

本文介绍了如何构建一个识别检测系统,以火焰识别为例,涵盖了数据采集、模型选择(如SSD、YOLO等)、特征提取(如RGB、HSV、YCrCb颜色空间)和可疑区域提取方法。文章讨论了不同颜色空间对火焰特征的提取效果,并强调针对明显特征的目标,可以设计相应的提取规则。
摘要由CSDN通过智能技术生成

概要

本文主要总结了识别检测类系统该如何做,其步骤有哪些
这里以火焰识别系统为列来说明

前期准备

首先是完成数据采集与标准的工作,这里推荐使用精灵标注助手

其次是训练模型的选取,一般识别系统都是基于图片或者视频来实现的,所以模型的般都是通过对图像进行卷积操作进行特征提取。现在用的比较多的神经网络框架有SSD、YOLO、VGG、Fasrer R-CNN等,在后面会详细介绍

最后都准备好后就可以进行模型训练了,因为标注的文件读取需要按照一定规则,pytroch中需要重写utils文件中data的Dataset类,在U-Net语义分割中,小编详细阐述过。训练后就可以得到系统的识别模型了

识别目标的可疑区域提取

该部分就到如何识别了,所有的识别检测类系统都是通过寻找识别目标的可疑区域,再通过机器学习或者深度学习的方法对可疑区域进行识别,筛选出识别目标所在的区域。提取可疑区域主流方法有以下几种:规则限定、神经网络、机器学习

特征提取

特征提取主要是通过计算特征,找到大概的图片位置,如火焰检测可以通过火焰的颜色特征确定火焰的大概位置,小编共实验了多个颜色空间
RGB颜色空间规则如下:
请添加图片描述

 def rule_rgb(image):
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        r = image[:, :, 0]
        g = image[:, :, 1]
        b = image[:, :, 2]
        # r_avg = np.mean(r)
        g_avg = np.mean(g)
        tmp1 = cv2.compare(r, ColorSpace.redThre, cv2.CMP_GT)
        tmp2 = cv2.compare(g, g_avg, cv2.CMP_GT)
        tmp_1 = cv2.multiply(tmp1, tmp2)
        tmp1 = cv2.compare(r, g, cv2.CMP_GT)
        tmp2 = cv2.compare(g, b, cv2.CMP_GT)
        tmp_2 = cv2.multiply(tmp1, tmp2)
        tmp = cv2.multiply(tmp_1, tmp_2)
        empty_img = cv2.convertScaleAbs(tmp, 1.0 / 255)
        return empty_img

效果如图:
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值