计算机系统应用教程网站

网站首页 > 技术文章 正文

智能盘点,Yolo用于钢筋检测计数

btikc 2024-09-12 12:01:25 技术文章 21 ℃ 0 评论

向AI转型的程序员都关注了这个号

机器学习AI算法工程 公众号:datayx

在工地现场,对于进场的钢筋车,验收人员需要对车上的钢筋进行现场人工点根,确认数量后钢筋车才能完成进场卸货。目前现场采用人工计数的方式,如图1-1中所示:




上述过程繁琐、消耗人力且速度很慢(一般一车钢筋需要半小时,一次进场盘点需数个小时)。针对上述问题,希望通过手机拍照->目标检测计数->人工修改少量误检的方式(如图1-2)智能、高效的完成此任务:



主要难点:
(Main Difficulties:)
(1)精度要求高(High precision requirement )
钢筋本身价格较昂贵,且在实际使用中数量很大,误检和漏检都需要人工在大量的标记点中找出,所以需要精度非常高才能保证验收人员的使用体验。需要专门针对此密集目标的检测算法进行优化,另外,还需要处理拍摄角度、光线不完全受控,钢筋存在长短不齐、可能存在遮挡等情况。

(2)钢筋尺寸不一(Various dimensions of rebars)
钢筋的直径变化范围较大(12-32中间很多种类)且截面形状不规则、颜色不一,拍摄的角度、距离也不完全受控,这也导致传统算法在实际使用的过程中效果很难稳定。

(3)边界难以区分(Indistinguishable boundaries )
一辆钢筋车一次会运输很多捆钢筋(如图1-3),如果直接全部处理会存在边缘角度差、遮挡等问题效果不好,目前在用单捆处理+最后合计的流程,这样的处理过程就会需要对捆间进行分割或者对最终结果进行去重,难度较大。


基于钢筋进场现场的图片和标注,综合运用计算机视觉和机器学习/深度学习等技术,实现拍照即可完成钢筋点根任务,大幅度提升建筑行业关键物料的进场效率和盘点准确性,将建筑工人从这项极其枯燥繁重的工作中解脱出来。

项目代码,数据集 获取方式:

https://mp.weixin.qq.com/s?__biz=MzA4MTk3ODI2OA==&mid=2650352643&idx=1&sn=463c95d72b370f36dc6e08c2a03a017a&chksm=87813af0b0f6b3e67e41627673e720599c33368fa9c375d24169f77d239af43c886cd03f094f&token=288508295&lang=zh_CN#rd


使用方法

安装:

git clone https://github.com/tutan123/detect_steel_yolov3_darknet.git
cd detect_steel_darknetyolo
make -j
pip install -r requirements.txt

下载数据并解压,训练和测试图像分别放到train目录和test目录,目录结构如下:

- detect_steel_darknetyolo
    train_labels.csv
    train/
    test/

生成训练的label文件

- python gen_labels.py

将label/文件夹下的文件拷贝到train/目录

- cp -r label/* train/

训练:

./get_weight.sh
./train.sh

预测:

python infer.py

单张照片预测:

./darknet detector test voc.data cfg/yolov3.cfg backup/yolov3_final.weights test/FF5AE15C.jpg

效果:

线上 0.96+


原文地址

https://mp.weixin.qq.com/s?__biz=MzA4MTk3ODI2OA==&mid=2650352643&idx=1&sn=463c95d72b370f36dc6e08c2a03a017a&chksm=87813af0b0f6b3e67e41627673e720599c33368fa9c375d24169f77d239af43c886cd03f094f&token=288508295&lang=zh_CN#rd

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表