tiny YOLO v3做缺陷检测实战

前言:接触yolo网络是在七月份,当时把yolo检测的论文以及R-CNN系列,SSD等一些论文看了一下,感觉内容很丰富,也尝试了darknet版本的实现,和yolo v3的实现,在网上也有很多关于上面两种的实现,这里就不讲了。九月份用tiny-yolo v3做了一个缺陷检测的实验,效果出乎意料,准确率和召回率“满分”!!过了三个月才想着把以前的实验总结一下,真不应该。下面从头开始说明怎么在自己的数据集上实现tiny-yolo v3,码字不易,给赞啊,代码是在别人的基础上修改的,放到了github上,感谢加星https://github.com/Eatzhy/tiny-yolov3  有问题欢迎交流,会帮忙解决。

1、对图像进行转格式和编队

因为实验使用的缺陷图像为DAGM的数据集,大小为512×512格式为PNG,而tiny-yolo v3输入的格式为jpg,大小为416×416(也有人说tiny网络输入是224×224大小,我们先不管到底哪个,代码在修改的时候是416),对图像转格式,编队代码如下。

将代码copy下来和缺陷图像文件夹放到一个路径,改一下代码的路径名就ok。转换完之后大概是这个样子(部分图片):

# -*- coding: utf-8 -*-

'''
将png转jpg
resize到416
并给图片编队
待转换的图像存放在data下,程序运行后,data下获得的是jpg格式
pre_data存放是png格式
'''
import os 
from PIL import Image 
import shutil 
import sys 
  
#创建一个文件,存放原图
output_dir = 'pre_data' 
if not os.path.exists(output_dir): 
  os.mkdir(output_dir) 
    
def image2png(dataset_dir,type):
    #转换格式并resize到一定大小
    files = [] 
    image_list = os.listdir(dataset_dir) 
    files = [os.path.join(dataset_dir, _) for _ in image_list] 
    for index,png in enumerate(files): 
        if index > 100000: 
            break
        try:
            sys.stdout.write('\r>>Con
  • 48
    点赞
  • 217
    收藏
    觉得还不错? 一键收藏
  • 93
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 93
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值