All Projects → vicwer → rebar_detect

vicwer / rebar_detect

Licence: Apache-2.0 license
CCFDF rebar detection

Programming Languages

c
50402 projects - #5 most used programming language
Cuda
1817 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to rebar detect

Pytorch Onnx Tensorrt
A set of tool which would make your life easier with Tensorrt and Onnxruntime. This Repo is designed for YoloV3
Stars: ✭ 66 (+371.43%)
Mutual labels:  darknet, yolov3
Darknet face with landmark
加入关键点的darknet训练框架,轻量级的人脸检测,支持ncnn推理
Stars: ✭ 192 (+1271.43%)
Mutual labels:  darknet, yolov3
Mobilenet Yolo
MobileNetV2-YoloV3-Nano: 0.5BFlops 3MB HUAWEI P40: 6ms/img, YoloFace-500k:0.1Bflops 420KB🔥🔥🔥
Stars: ✭ 1,566 (+11085.71%)
Mutual labels:  darknet, yolov3
JSON2YOLO
Convert JSON annotations into YOLO format.
Stars: ✭ 222 (+1485.71%)
Mutual labels:  darknet, yolov3
darknet
php ffi darknet
Stars: ✭ 21 (+50%)
Mutual labels:  darknet, yolov3
Mobilenet Yolo
A caffe implementation of MobileNet-YOLO detection network
Stars: ✭ 825 (+5792.86%)
Mutual labels:  darknet, yolov3
Pytorch Imagenet Cifar Coco Voc Training
Training examples and results for ImageNet(ILSVRC2012)/CIFAR100/COCO2017/VOC2007+VOC2012 datasets.Image Classification/Object Detection.Include ResNet/EfficientNet/VovNet/DarkNet/RegNet/RetinaNet/FCOS/CenterNet/YOLOv3.
Stars: ✭ 130 (+828.57%)
Mutual labels:  darknet, yolov3
Yolo Tensorrt
Support Yolov5s,m,l,x .darknet -> tensorrt. Yolov4 Yolov3 use raw darknet *.weights and *.cfg fils. If the wrapper is useful to you,please Star it.
Stars: ✭ 495 (+3435.71%)
Mutual labels:  darknet, yolov3
DIoU YOLO V3
📈📈📈【口罩佩戴检测数据训练 | 开源口罩检测数据集和预训练模型】Train D/CIoU_YOLO_V3 by darknet for object detection
Stars: ✭ 53 (+278.57%)
Mutual labels:  darknet, yolov3
Yolo person detect
person detect based on yolov3 with several Python scripts
Stars: ✭ 212 (+1414.29%)
Mutual labels:  darknet, yolov3
ffcnn
ffcnn is a cnn neural network inference framework, written in 600 lines C language.
Stars: ✭ 50 (+257.14%)
Mutual labels:  darknet, yolov3
object detection
Implementatoin of object detection using Tensorflow 2.1.0 | this can be use in a car for object detection
Stars: ✭ 13 (-7.14%)
Mutual labels:  darknet, yolov3
Bmw Yolov4 Training Automation
This repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.
Stars: ✭ 533 (+3707.14%)
Mutual labels:  darknet, yolov3
Yolo annotation tool
Annotation tool for YOLO in opencv
Stars: ✭ 17 (+21.43%)
Mutual labels:  darknet, yolov3
Yolo3 4 Py
A Python wrapper on Darknet. Compatible with YOLO V3.
Stars: ✭ 504 (+3500%)
Mutual labels:  darknet, yolov3
Darknet2caffe
Convert darknet weights to caffemodel
Stars: ✭ 127 (+807.14%)
Mutual labels:  darknet, yolov3
Tensorflow 2.x Yolov3
YOLOv3 implementation in TensorFlow 2.3.1
Stars: ✭ 300 (+2042.86%)
Mutual labels:  darknet, yolov3
Msnhnet
🔥 (yolov3 yolov4 yolov5 unet ...)A mini pytorch inference framework which inspired from darknet.
Stars: ✭ 357 (+2450%)
Mutual labels:  darknet, yolov3
Pine
🌲 Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: ✭ 202 (+1342.86%)
Mutual labels:  darknet, yolov3
object-detection-indonesian-traffic-signs-using-yolo-algorithm
Pendeteksian rambu lalu lintas khas Indonesia menggunakan dataset custom dan menggunakan algoritma Deep Learning You Only Look Once v4
Stars: ✭ 26 (+85.71%)
Mutual labels:  darknet, yolov3

Rebar_Detect

介绍

CCFDF 智能盘点-钢筋数量AI识别

仓库文件路径组织如下:

rebar_detect/
    |->darknet/
    |    |->cfg
    |    |->data
    |    |->cv_list
    |    |->data_augment
    |    |->img_list
    |    |->labels
    |    |->original_img
    |    |->original_list
    |    |->test_list
    |    |->train_list
    |->examples
    |->include
    |->python
    |->src
    |->tools/
    |    |->gen_train_list_tools
    |    |->imgaug_tools
    |    |->submit_tools
    |->DataFountain/
    |    |->GLODON_ObjDet
    |    |->data_augment

安装

  1. 下载代码
git clone https://github.com/vicwer/rebar_detect.git
  1. 由于使用的darknet框架,没有任何依赖,所以下载代码后按照官网方式编译就可以

比赛思路,实现过程,训练,预测

比赛思路

由于给定的数据集分辨率很高,而且图数量不算多,重要的是,算力有限,所以原图训练不适合。

由此,整体思路是每张图滑窗裁剪保存作为新的训练集,训练时使用裁剪后的图做多尺度训练,由于是全卷积网络,所以预测时可以用大分辨率检测。

实现过程

  1. 准备数据
DataFountain/
    |    |->GLODON_ObjDet
    |    |    |->data_augment
    |    |    |->train_dataset
    |    |    |->train
    |    |    |->test_dataset

将下载的数据集解压到train文件夹,train_label.csv放在GLODON_ObjDet下。

  1. 运行以下脚本生成图像img_label.txt,存放图像路径和标签:
cd tools/imgaug_tools/
python3 gen_img_and_label_list.py
  1. 做CV:
cd tools/imgaug_tools/
python3 gen_cv_list.py
  1. CV后选择四个文件做训练集,一个做验证集,然后做镜像翻转:
cd tools/imgaug_tools/
python3 data_augment.py
  1. 将数据增广后的文件列表合并,做滑窗裁剪操作:
cd tools/imgaug_tools/
python3 img_cv.py
  1. 将滑窗后的文件列表合并,转换成YOLO训练的格式:
cd tools/gen_train_list_tools/
python3 gen_train_list.py
  1. 得到的文件列表shuffle

训练

  1. anchor设定两种方式,聚类或者统计boxes最大最小值均分:
cd tools/imgaug_tools/
python3 kmeans.py
or
python3 find_max_min_box.py
  1. cfg设置:
cd darknet/cfg/
vim rebar.data
train = {your path}
etc.

训练

vim yolov3-rebar.cfg
# batch = 1
# subdivsions = 1
batch = 64
subdivsions = 32
width = 416
height = 416
./darknet detector train cfg/rebar.data cfg/yolov3-rebar.cfg -gpus 0,1,2,3

预测

cd darknet/cfg/
vim yolov3-rebar.cfg
batch = 1
subdivsions = 1
# batch = 64
# subdivsions = 32
width = 1504
height = 1504
./darknet detector test cfg/rebar.data cfg/yolov3-rebar.cfg {model} {img_path}

结果

提交结果

检测效果

其他

  1. 训练图像的尺寸必须是32的倍数

  2. 修改训练尺寸在"darknet/examples/detector.c"的line65, line66

  3. darknet预训练模型可在darknet官网下载,我训练时没用预训练模型,应该不影响精度

  4. 如有疑问,可issue

  5. 引文:

@article{yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal = {arXiv},
  year={2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].