DeepLearning4j-使用Java训练YOLO模型

这篇博客介绍了如何利用DeepLearning4j在Java环境中训练YOLO模型,特别是针对YOLOv3。内容涵盖数据集准备、模型训练参数、数据读取、模型构建、训练过程及可视化,以及训练结果和代码资源分享。
摘要由CSDN通过智能技术生成

DeepLearning4j-使用Java训练YOLO模型

在这个Yolo v3发布的大好日子。
Deeplearning4j终于迎来了新的版本更新1.0.0-alpha,在zoo model中引入TinyYolo模型可以训练自己的数据用于目标检测。

不得不说,在Yolo v3这种性能和准确率上面都有大幅度提升的情况下,dl4j才引入TinyYolo总有一种49年加入国军的感觉


一、任务和数据

数据来源自 https://github.com/cosmicad/dataset ,主要目的是识别并定位图像中的红细胞。
数据集总共分为两个部分:

  1. 数据集:JPEGImages
  2. 标签:Annotations

1.1 数据集

数据集样张如图所示:
数据集

数据集中所有的图像均为.jpg格式。一共有410张图片用于模型的训练。

1.2 标签

标签如图所示,每一个图片都会有一个对应的xml文件作为训练标签。

标签

没一个标签的数据都是遵守PASCAL VOC的数据格式,文件内容如下:

<annotation verified="no">
  <folder>RBC</folder>
  <filename>BloodImage_00000</filename>   //对应的图片
  <path>/Users/cosmic/WBC_CLASSIFICATION_ANNO/RBC/BloodImage_00000.jpg</path>  //路径(不重要)
  <source>                               //数据来源(不重要)
    <database>Unknown</database>
  </source>
  <size>                                 //图像的宽高和通道数
    <width>640</width>
    <height>480</height>
    <depth>3</depth>
  </size>
  <segmented>0</segmented>               //是否用于分割(在图像物体识别中01无所谓)
  <object>                               //需要检测的物体
    <name>RBC</name>                     //物体类别的标签,可以使用中文
    <pose>Unspecified</pose>             //拍摄角度
    <truncated>0</truncated>             //是否被截断(0表示完整)
    <difficult>0</difficult>             //目标是否难以识别(0表示容易识别) 
    <bndbox>                             //bounding-box(包含左上角和右下角xy坐标)  
      <xmin>216</xmin>
      <ymin>359</ymin>
      <xmax>316</xmax>
      <ymax>464</ymax>
    </bndbox
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值