AI工人操作行为流程规范识别算法

AI工人操作行为流程规范识别算法通过yolov7+python网络模型框架,AI工人操作行为流程规范识别算法对作业人员的操作行为进行实时分析,根据设定算法规则判断操作行为是否符合作业标准规定的SOP流程。Yolo意思是You Only Look Once,它并没有真正的去掉候选区域,而是创造性的将候选区和目标分类合二为一,看一眼图片就能知道有哪些对象以及它们的位置。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而言是将原始图像划分为 7x7=49 个网格(grid),每个网格允许预测出2个边框(bounding box,包含某个对象的矩形框),总共 49x2=98 个bounding box。我们将其理解为98个预测区,很粗略的覆盖了图片的整个区域,就在这98个预测区中进行目标检测。

YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GPU 和从边缘到云端的 GPU 设备。除了架构优化之外,该研究提出的方法还专注于训练过程的优化,将重点放在了一些优化模块和优化方法上。这可能会增加训练成本以提高目标检测的准确性,但不会增加推理成本。研究者将提出的模块和优化方法称为可训练的「bag-of-freebies」。对于模型重参数化,该研究使用梯度传播路径的概念分析了适用于不同网络层的模型重参数化策略,并提出了有计划的重参数化模型。此外,研究者发现使用动态标签分配技术时,具有多个输出层的模型在训练时会产生新的问题:「如何为不同分支的输出分配动态目标?」针对这个问题,研究者提出了一种新的标签分配方法,称为从粗粒度到细粒度(coarse-to-fine)的引导式标签分配。

YOLOv7 的在速度和精度上的表现也优于 YOLOR、YOLOX、Scaled-YOLOv4、YOLOv5、DETR 等多种目标检测器。YOLOv7 在 5 FPS 到 160 FPS 范围内,速度和精度都超过了所有已知的目标检测器。并在V100 上,30 FPS 的情况下达到实时目标检测器的最高精度 56.8% AP。YOLOv7 是在 MS COCO 数据集上从头开始训练的,不使用任何其他数据集或预训练权重。

相对于其他类型的工具,YOLOv7-E6 目标检测器(56 FPS V100,55.9% AP)比基于 transformer 的检测器 SWINL Cascade-Mask R-CNN(9.2 FPS A100,53.9% AP)速度上高出 509%,精度高出 2%,比基于卷积的检测器 ConvNeXt-XL Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) 速度高出 551%,精度高出 0.7%。

Yolo的源码是用C实现的,但是好在Github上有很多开源的TF复现。这里我们参考gliese581gg的实现来分析Yolo的Inference实现细节。我们的代码将构建一个end-to-end的Yolo的预测模型,利用的已经训练好的权重文件,你将可以用自然的图片去测试检测效果。

首先,我们定义Yolo的模型参数:

class Yolo(object):

def init(self, weights_file, verbose=True):

self.verbose = verbose

detection params

self.S = 7 # cell size

self.B = 2 # boxes_per_cell

self.classes = ["aeroplane", "bicycle", "bird", "boat", "bottle",

"bus", "car", "cat", "chair", "cow", "diningtable",

"dog", "horse", "motorbike", "person", "pottedplant",

"sheep", "sofa", "train","tvmonitor"]

self.C = len(self.classes) # number of classes

offset for box center (top left point of each cell)

self.x_offset = np.transpose(np.reshape(np.array([np.arange(self.S)]*self.S*self.B),

self.B, self.S, self.S\]), \[1, 2, 0\]) self.y_offset = np.transpose(self.x_offset, \[1, 0, 2\]) self.threshold = 0.2 # confidence scores threhold self.iou_threshold = 0.4 # the maximum number of boxes to be selected by non max suppression self.max_output_size = 10

相关推荐
聚客AI1 小时前
⭐超越CNN与RNN:为什么Transformer是AI发展的必然选择?
人工智能·llm·掘金·日新计划
快手技术1 小时前
可灵AI数字人来了!快手重磅发布Kling-Avatar,面向多模态指令理解与控制的数字人长视频生成新范式
人工智能
算家计算2 小时前
PDF解析神器——MinerU本地部署教程,一键去除页眉页脚,精准提取公式表格,支持84种语言,让文档转换更简单!
人工智能·开源
逛逛GitHub2 小时前
面壁「小钢炮」最新开源!0.5B 的声音克隆神器。
人工智能·github
掘金安东尼3 小时前
Amazon Lambda + API Gateway 实战,无服务器架构入门
算法·架构
后端小肥肠3 小时前
Coze 一键生成 AI 星座漫画,从 0 到 1 拿捏 10w + 流量!,小白可学
人工智能·aigc·coze
canonical_entropy3 小时前
AI的集体反思:我们为什么未能预见到"可逆计算"的演进方向?
人工智能·低代码·aigc
码流之上3 小时前
【一看就会一写就废 指间算法】设计电子表格 —— 哈希表、字符串处理
javascript·算法
mortimer5 小时前
Python 文件上传:一个简单却易犯的错误及解决方案
人工智能·python