Skip to content

Sandiagal/DeepFOB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DeepFOB

FOB卡检测软件——算法部分。对于给出的FOB卡片图像进行分级,给出阴、阳、弱阳、异常等结果。

算法讲解请看这里

软件部分请看这里

文件说明

为了保证代码的正常运行,请务必了解本项目包含了哪些文件,哪些文件是需要另外下载的,哪些依赖库是需要自行安装的。

总览

本项目的文件结构如下:

DeepFOB/
|-- train.py
|-- 数据集/
| |-- ...

让我来依次解释:

  • train.py完成上述所有操作和模型训练只需要这一个文件就够了。
  • 数据集本项目的数据集,包含了所有处理后的图像。包含文件较大,需要在另外下载

就这么点文件?没错,Python先进的依赖库管理可以让工程本身十分瘦小。依赖库文件在环境配置的时候已经安装在其他地方。此外网络模型结构将在运行代码的时候自动下载,不必放在工程里。

数据集

数据集中包含3个文件夹:训练数据测试数据中间图。文件结构如下图所示:

数据集/
|-- 训练集/
| |-- ...
|-- 测试集/
| |-- ...
|-- 中间样本/
| |-- ...

在训练的时候,请将训练集目录至于train.py同级下,或者你对python的调用路径足够了解的话,也可以自行修改train.py中的路径。

训练集

训练集包含了所有训练用的图像:2149张1280×960的图像。注意这并不官方提供的原始图像。为了适配本小组的算法,所有图像从png格式转换到了90%质量的jpg格式,并且按照样本属性放在特定的文件夹内。文件结构如下图所示:

训练集/
|-- N/
| |-- 20171219114727680.jpg
| |-- ...
|-- P_L/
| |-- 20171219181353176.jpg
| |-- ...
|-- WP_N_L/
| |-- 20171219160241831.jpg
| |-- ...
|-- ...

总共存在N、N_L、P、P_L、WP、WP_L、WP_N、WP_N_L、WP_P、WP_P_L、Y共11种属性组合。放置在同一文件夹内的样本具有相同的属性,具体属性参见文加夹名。存在的属性包括:L(污染)、N(阴性)、P(阳性)、WP(弱阳)、Y(异常)。算法要求对于任一样本预测一个Value,也可以加上Pollution。

其中试剂卡判定结果Value:N(阴性)、P(阳性)、WP(弱阳)是最关键的属性。所有算法必须对任一样本预测一个Value。L(污染)表示该试剂卡存在污渍、墨水等干扰。算法正确判断Pollution可作为加分项。Y(异常)表示试剂卡破损、折断或无任何响应。对于异常样本Value和Pollution都应标注为Y。

注意:同一样本可能拥有复数属性,比如WP_N表示该样本可能是N(阴性),也可能是WP(弱阳)。判断WP_N为N或WP都算正确。

测试集

测试集包含了所有测试用的图像:505张298×224的图像。同样不是官方提供的原始图像。所有图像从png格式缩小并转换到了90%质量的jpg格式。并且按照样本属性放在特定的文件夹内。文件结构如下图所示:

测试集/
|-- machine_black/
| |-- N/
| | |-- ...
| |-- ...
|-- machine6_425/
| |-- N/
| | |-- ...
| |-- ...
|-- machine17_420/
| |-- N/
| | |-- ...
| |-- ...
|-- ...

总共存在machine_black、machine6_425、machine17_420、machine23k_350共4种测试难度。每个文件夹内的样本摆放方式同训练集

中间样本

中间样本包含了11张960×960的图像。每张图片都代表了N、N_L、P、P_L、WP、WP_L、WP_N、WP_N_L、WP_P、WP_P_L、Y种的一个典型样本。文件结构如下图所示:

中间样本/
|-- N.jpg
|-- N_L.jpg
|-- P.jpg
|-- ...

使用方式

在你正确的配置完环境和数据集之后,只需要一行就可以进行训练了。

python3 train.py

About

FOB卡检测软件——算法部分

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages