caffe-SSD训练自己的数据集

本文详细阐述了如何使用SSD(Single Shot MultiBox Detector)深度学习框架来训练和验证自己的数据集。首先介绍了数据集的标注过程,包括使用改进后的BBox-Label-Tool进行图像标注。接着,讨论了数据集转换的步骤,然后讲解了SSD模型的训练流程,最后提到了测试方法。在数据集准备中,要求图片目录为images,标签目录为labels,且类别目录按001,002等编号。" 115724954,10283053,Mac环境下安装与管理Redis,"['macos', 'redis', 'homebrew']
摘要由CSDN通过智能技术生成

本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括:

1 数据集的标注
2 数据集的转换
3 使用SSD如何训练

4 使用SSD如何测试

1、数据集的标注

 

深度学习训练需要标记图像位置和类别,之前用的时候是叫做BBox-Label-Tool-master,遇到大图像就显示不完整了,没有自适应缩放, 这是改进后的python脚本。

BBox-Label-Tool-master下载链接:https://github.com/puzzledqs/BBox-Label-Tool

目录结构:图片目录名images, 标签目录名labels,图像目录下各类别目录名要以001,002,003,...的格式命名。

 

这是运行labelTool ( python main.py)时的截屏,图像框记录的是比例值,

快捷键a,d前后切换图像,esc取消当前框

 

python脚本main.py:

# -*- coding:utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        Object bounding box label tool
# Purpose:     Label object bboxes for ImageNet Detection data
# Author:      Qiushi
# Created:     06/06/2014
 
#
#-------------------------------------------------------------------------------
from __future__ import division
from Tkinter import *
import tkMessageBox
from PIL import Image, ImageTk
import os
import glob
import random
 
w0 = 1; #图片原始宽度
h0 = 1; #图片原始高度
 
# colors for the bboxes
COLORS = ['red', 'blue', 'yellow', 'pink', 'cyan', 'green', 'black']
# image sizes for the examples
SIZE = 256, 256
 
#指定缩放后的图像大小
DEST_SIZE = 500, 500 
 
class LabelTool():
    def __init__(self, master):
        # set up the main frame
        self.parent = master
        self.parent.title("LabelTool")
        self.frame = Frame(self.parent)
        self.frame.pack(fill=BOTH, expand=1)
        self.parent.resizable(width = TRUE, height = TRUE)
 
        # initialize global state
        self.imageDir = ''
        self.imageList= []
        self.egDir = ''
        self.egList = []
        self.outDir = ''
        self.cur = 0
        self.total = 0
        self.category = 0
        self.imagename = ''
        self.labelfilename = ''
        self.tkimg = None
 
        # initialize mouse state
        self.STATE = {}
        self.STATE['click'] = 0
        self.STATE['x'], self.STATE['y'] = 0, 0
 
        # reference to bbox
        self.bboxIdList = []
        self.bboxId = None
        self.bboxList = []
        self.hl = None
        self.vl = None
 
        # ----------------- GUI stuff ---------------------
        # dir entry & load
        self.label = Label(self.frame, text = "Image Dir:")
        self.label.grid(row = 0, column = 0, sticky = E)
        self.entry = Entry(self.frame)
        self.entry.grid(row = 0, column = 1, sticky = W+E)
        self.ldBtn = Button(self.frame, text = "Load", command = self.loadDir)
        self.ldBtn.grid(row = 0, column = 2, sti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值