常见的零部件(螺丝、螺母、垫圈和钢丝螺套)密集不规则摆放600张数据集
为降低因像素、曝光等因素引起的误差,使用高清相机采集样本。样本种类选取的是工业分拣里常见的零部件(螺丝、螺母、垫圈和钢丝螺套),充分考虑到外界环境带来的干扰,随机放置工件在实际环境中进行拍摄,以提高模型鲁棒性。部分图像数据集如图所示。本文共采集600张图片,为丰富数据集,针对工业分拣上工件的污损、运动模糊以及亮度变换等情况,随机引入不同方向翻转、剪切、仿射变换、高斯模糊、平移、自适应高斯噪声、亮度改变等数据增强策略。并将上述数据增强策略随机组合后对训练样本进行处理。处理后的数据集数量增加到18000张,部分随机数据增强样例如图所示,其中训练集占总数据集的80%,测试集和验证集各占10%。
faster-rcnn-pytorch-master源码带详细教程 下载即可根据教程使用运行
训练所需的voc_weights_resnet.pth或者voc_weights_vgg.pth以及主干的网络权重可以在百度云下载。
voc_weights_resnet.pth是resnet为主干特征提取网络用到的;
voc_weights_vgg.pth是vgg为主干特征提取网络用到的;
VOC数据集下载地址如下,里面已经包括了训练集、测试集、验证集(与测试集一样),无需再次划分:
训练步骤
1. 数据集的准备
本文使用VOC格式进行训练,训练前需要下载好VOC07+12的数据集,解压后放在根目录
2. 数据集的处理
修改voc_annotation.py里面的annotation_mode=2,运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。
3.开始网络训练
train.py的默认参数用于训练VOC数据集,直接运行train.py即可开始训练。
4.训练结果预测
需要用到两个文件,分别是frcnn.py和predict.predict.py。
yolo数据集的数据增强 可实现带标签扩增
随机引入不同方向翻转、剪切、仿射变换、高斯模糊、平移、自适应高斯噪声、亮度改变等数据增强策略。并将上述数据增强策略随机组合后对训练样本进行处理。
这是一个目标检测和目标分割增强的小工具,需要您事先标记一些图片,然后变化增强图片(支持LabelIMg和LabelMe标注的文件),希望对您有所帮助!
包括3个python文件(rename_file.py、DataAugmentforLabelImg.py和DataAugmentforLabelMe.py)
1. rename_file.py能实现文件的重命名,注意修改文件的路径
2. DataAugmentforLabelImg.py能实现LabelImg标注后的图片的增强(包括模糊,亮度,裁剪,旋转,平移,镜像等变化)
3. DataAugmentforLabelMe.py能实现LabelMe标注后的图片的增强(包括模糊、亮度、平移、镜像等变化)
**注意:一些包的安装是必要的,比如Opencv_python等**
将您需要增强的图片放在对应的文件夹即可,具体可参考demo给出的图片和xxml文件存放路径,您放入即可*
基于深度学习的多物体分拣系统研究
近些年来,随着工业领域的回暖、人工成本的逐年增加和人口老龄化的影
响,机器人代替人已经成为未来许多领域的主流趋势。机器人分拣作为机器人
常用的技术,广泛应用于家庭服务、工业制造和物流仓储等领域。机器人分拣
是一项具有复杂性的任务,主要涉及了场景感知、目标检测、位姿估计和抓取
规划等,已经成为研究人员研究的热点。但是,目前大多数机器人分拣系统仅
能够对单类目标物体或相互分离的多类目标物体完成分拣任务,而针对非结构
化场景中存在堆叠或遮挡的多类物体的分拣尚未有良好的解决。
YOLOv5算法改进及其现实应用
目标检测(Object Detection)是计算机视觉(Computer Vision, CV)中最基本的任务
之一,也是完成其他计算机视觉相关复杂任务的前提,在图片所包含的信息中寻找并定
位指定对象是其主要任务,完成这一任务,需要融合深度学习、特征提取、图像处理、
模式识别等众多领域的先进技术,其具有的挑战性不言而喻。越来越多目标检测算法在
研究和应用领域出现,如公共安全、医学图像处理、无人驾驶等,这不仅离不开深度学
习相关技术的飞速发展,而且与现在 GPU 不断提升的算力密切相关。
基于改进 的 AOD-Net和 YOLOv5的雾天车辆行人检测算法
在科技与社会极速发展的当今,道路上具备自动驾驶功能的车辆数目愈发
增多,这些先进的汽车之所以能够实现无人驾驶,是因为车上搭载了大量用于
感知周围环境的传感器与摄像机,通过这些设备采集到的图像与路况信息,汽
车的检测系统便可以对道路上的目标进行精准识别。然而在实际应用场景中,
作为汽车“眼睛”的摄像机,往往要面对比预想中更加复杂的情况,比如夜间
光照强度很低,摄像机成像不清晰,致使获取的图片细节丢失严重,又或是雾
霾天气时,可见度降低、视野内的目标轮廓变得模糊,以致于图像采集质量大
幅降低。以上这些问题都极有可能导致检测算法的精度下降,致使驾驶系统无
法有效获取路况信息。由此可见,克服恶劣天气环境对图像采集质量的影响,
确保自动驾驶任务中检测系统准确性的研究是十分必要的。
基于改进 YOLOv5 算法的篮球机器人目标检测系统研究
移动机器人感知系统的目标检测是计算机视觉的基本且重要的任务之一,篮
球机器人比赛作为自主机器人研究的一个非常好的目标系统,非常适合展开机器
人自主感知系统目标检测的研究。由于比赛环境的光线变化大,且机器人运动存
在抖动、目标物模糊等问题,严重影响了机器人目标的识别和在识别基础上的测
距。本文针对上述问题,基于本篮球机器人比赛对机器人的识别要求,设计完整
的篮球自主机器人目标检测系统,并展开相应目标检测算法的研究,提高目标检
测的准确性鲁棒性,主要的研究内容如下
基于机器视觉的机器人分拣系统研究
传统的分拣作业存在效率低下、劳动强度大等诸多缺点,将机器视觉应用
于分拣机器人上,对于实现机器人智能分拣有着重要的现实意义。本文针对基
于机器视觉的机器人分拣系统所研究的重点问题包括:
确定了以库卡 KR6700sixx 机器人为主体的分拣系统总体设计方案,包括
硬件选型、软件设计以及选择通讯协议等内容。视觉系统中的相机标定是通过
理论分析和实验的方法,得到相机的内外参数,在此基础上通过理论分析给出
手眼标定中求解旋转矩阵 R 和平移向量T 的一般方法。
图像预处理过程中采用一种混合滤波的方法解决混合噪声的问题,随后采
用 OTSU 阈值分割法进行图像二值化,为下一步图像特征的提取与匹配做准备。
针对目标物在不受遮挡时的图像匹配问题,采用基于全局特征 Hu 不变矩的匹
配准则,实现了模板与目标物的准确识别。针对目标物在受部分遮挡时的图像
匹配问题,采用基于归一化互相关准则的 Harris 角点匹配法并结合剔除误匹配
点的 RANSAC 算法,实现了模板与受遮挡的目标物准确识别。
基于深度学习的工件智能识别检测与抓取
在工业自动化程度不断提高的背景下,基于视觉系统的机械臂抓取系统是实现工业
自动化生产的一个关键环节,本文针对机械臂自动抓取过程中传统方法对工件识别与检
测精度不够高、特征提取困难以及多工件定位困难等问题,探讨基于深度学习的工件自
动识别与检测模型,尤其将基于卷积神经网络的工件检测模型应用于机械臂抓取,进而
形成智能识别-抓取系统。
基于深度学习的多工件抓取点定位方法研究
针对工业生产线中多工件杂乱放置、互相遮挡,存在漏检、错检以及抓取点定位困难
问题,提出一种基于协同深度学习的多工件抓取点定位方法。首先以 YOLOv5 为基础网络,
在输入端增加数据预处理模块用于图像增强时的角度变换,检测层增加特征细化网络(FRN),
通过旋转锚框实现旋转工件的识别定位,采用轻量化的 Ghost Bottleneck 模块代替主干网络
中的 BottleneckCSP 模块,消除旋转锚框二次定位增加的时间成本,将融合后的特征图分别
输入注意力机制模块,获取工件关键特征;其次根据各工件检测框进行图像裁剪,将多工件
检测近似转化为单工件检测;最后求取工件质心并结合旋转检测框的角度值确定抓取点。实
验结果表明:通过所提 GB-FRN-YOLOv5 检测算法结合图像处理定位多工件的抓取点,有
效解决了工件距离相近或互相遮挡时抓取点定位问题,且检测速度和精度均有明显优势,保
证了工业场景中多工件检测的实时性。
小规模数据集工件检测方法研究与实现
人工智能技术有效改善了现代工业生产的任务适应性与生产工艺,逐渐成为现代
智能制造的关键技术。国内外研究者们围绕以深度学习为代表的人工智能技术开展了
深入的研究,在智能抓取、产品计数、缺陷检测等领域取得了显著的成果。但深度学习
卷积神经网络模型仍存在模型参数量大、数据样本量需求高、终端设备实时性部署困
难等问题。针对上述问题,本文立足于流水线工件检测应用场景,围绕数据集构建和模
型压缩、部署等关键技术展开研究。
Fast R-CNN原文
This paper proposes a Fast Region-based ConvolutionalNetwork method (Fast R-CNN) for object detection. Fast R-CNN builds on previous work to efficiently classify object proposals using deep convolutional networks. Compared to previous work, Fast R-CNN employs several innovations to improve training and testing speed while also
increasing detection accuracy.
Faster R-CNN
—State-of-the-art object detection networks depend on region proposal algorithms to hypothesize object locations.
Advances like SPPnet [1] and Fast R-CNN [2] have reduced the running time of these detection networks, exposing region
proposal computation as a bottleneck. In this work, we introduce a Region Proposal Network (RPN) that shares full-image
convolutional features with the detection network, thus enabling nearly cost-free region proposals.
SSD: Single Shot MultiBox Detector
We present a method for detecting objects in images using
a single deep neural network. Our approach, named SSD, discretizes the
output space of bounding boxes into a set of default boxes over different aspect ratios and scales per feature map location. At prediction
time, the network generates scores for the presence of each object category in each default box and produces adjustments to the box to better
match the object shape. Additionally, the network combines predictions
from multiple fea
改进的 EfficientDet 及直方图均衡化的工件检测
针对流水线加工作业环境下工业机器人对工件检测及定位率较低,速度慢等问题,提出基
于改进的 EfficientDet 工件检测神经网络模型。采用 EfficientNet 作为主干特征提取网络,利用
TripletAttention 注意力机制代替原始的 SEAttention 机制,同时借鉴循环特征融合思想,采用
Recursive-BiFPN 循环特征融合网络结构。针对正负样本不均等问题,采用 Generalized Focal Loss
改进原始 FocalLoss 损失函数。考虑到机械加工特定生产环境,采用直方图均衡化思想对数据进行
对比度提高。最后利用工业相机建立自制数据集并进行模型训练,在复杂工业生产情况下,改进
后的 EfficientDet 在 mAP 上较原始网络提高 6.1%,同时速度提高到 72FPS。最后实验结果表明,
该算法在生产环境下能快速准确地对工件进行定位检测,为实际生产需要提供新的解决思路。
注意力机制优化 RetinaNet 的密集工件检测方法研究
针对密集工件存在相似度高、排列无序的特性导致检测难度大的问题,提出了一种注意力机制优化 Retina Net 的密集工
件检测方法。首先将注意力机制引入到 Retina Net 主干特征提取网络以减少干扰物对检测效果的影响,提高神经网络的特征提
取能力; 然后利用 Soft-NMS 构建新的预测框提高重叠定位精度; 最后通过迁移学习的方法训练数据集,提高模型训练效率。在
密集工件数据集上验证该方法的有效性,实验结果表明,改进后的方法检测精度达到了 98. 11%,相较于改进前提高了 2. 59%,
单张图片检测速度达到了 0. 026 s,该方法能够满足实际工业生产过程中精准检测工件的目的,在保证速度的同时降低了漏检
率和误检率。
Attention-YOLO:引入注意力机制的 YOLO 检测算法
实时目标检测算法 YOLOv3 的检测速度较快且精度良好,但存在边界框定位不够精确、难以区分重叠物体
等不足。提出了 Attention-YOLO算法,该算法借鉴了基于项的注意力机制,将通道注意力及空间注意力机制加入特
征提取网络之中,使用经过筛选加权的特征向量来替换原有的特征向量进行残差融合,同时添加二阶项来减少融合
过程中的信息损失并加速模型收敛。通过在 COCO和 PASCAL VOC数据集上的实验表明,该算法有效降低了边界
框的定位误差并提升了检测精度。相比 YOLOv3 算法在 COCO 测试集上的 mAP@IoU[0.5 :0.95]提升了最高 2.5 mAP,在
PASCAL VOC 2007 测试集上达到了最高 81.9 mAP。
融合坐标注意力和BiFPN 的 YOLOv5s交通标志检测方法
针对不同光照条件下的小目标交通标志检测存在的不易检测、错检等问题,提出了一种融合坐标注意力机制和双向
加权特征金字塔(BiFPN)的 YOLOv5s交通标志检测方法。首先,在特征提取网络中融入坐标注意力机制,提升网络对重要
特征的关注程度,增加模型在不同光照条件下的检测能力;其次,在特征融合网络中使用 BiFPN,提升模型的特征融合能力,
改善对小目标交通标志的检测能力;最后,考虑到真实框与预测框之间的方向匹配问题,将 CIoU 损失函数改为 SIoU 损失函
数,进一步提升模型的检测性能。在 GTSDB数据集上进行验证,与原始模型相比,平均精度均值(mAP)提升了3.9%,推理
时间为2.5ms,能够达到实时检测的标准。
基于改进SSD算法的工件检测
针对自动化生产线上运动的工件检测准确度要求高,部分小工件难以检测的问题,提出一种
基于 SSD 改进的工件目标检测算法。在 SSD 算法的基础上,将 SSD 的骨干网络 VGG16 替换为ResNet50,并增加输出特征层的预选框数量,其次加入特征金字塔( FPN) 的算法思想,将网络中的底层特征与高层特征融合,解决了 SSD 算法中对底层特征提取能力不足的问题,从而改善了对小目标工件检测效果差的缺陷。研究结果表明,相比于 SSD 算法改进的 SSD 工件识别方法降低了对小目标工件的漏检率,平均准确率提高了 2.5% ,保证了工件检测的准确率。
C++入门笔记(从0开始学习)
c++学习笔记从0记录,没有废话只有干货,含图片讲解,对刚开始学习的新手友好,可以快速入门。
最常见的面试项目-TinyWebServer里面有全笔记
TinyWebServer
===============
Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器.
* 使用 **线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现)** 的并发模型
* 使用**状态机**解析HTTP请求报文,支持解析**GET和POST**请求
* 访问服务器数据库实现web端用户**注册、登录**功能,可以请求服务器**图片和视频文件**
* 实现**同步/异步日志系统**,记录服务器运行状态
* 经Webbench压力测试可以实现**上万的并发连接**数据交换
Object Detection in 20 Years.pdf
Object Detection in 20 Years.pdf