# 3D检测
## Requirements
- `os`
- `json`
- `numpy == 1.22.4`
- `torch == 1.13.0`
- `logging`
- `argparse`

## Overview
一．	CT肺结节多病种辅助检测
1.	CT肺结节检测模型
CT肺结节检测模型的主要功能是检测筛选出CT肺部影像中属于结节类型的多个病灶部位，起到全面筛选的作用。
（1）功能架构
（a）数据导入子模块：负责对CT肺部影像及标签数据进行处理以符合后续模型使用的需求。
（b）数据预处理子模块：负责对CT肺部影像进行预处理，作为模型的输入。
		（c）肺结节检测子模块：负责检测出CT肺部影像中属于肺结节的病灶。
		（d）结果输出子模块：负责对模型输出结果按规定格式进行输出。
（2）算法实现
		（a）数据预处理子模块：使用标准DICOM读取协议导入CT肺部影像数据。首先通过基于影像数据第一行和第一列相对于病人的方向的cosine距离，对CT影像中病人的相对位置进行了标准化处理。接着，对CT肺部影像进行了重采样，以保持spacing的一致性。最后，所有的dcm格式的CT影像被转换成nii格式进行保存。对于标签文件，额外计算标注点的像素坐标，最终转换为mdb格式保存，以提高模型读写效率。
		（b）数据预处理子模块：主要使用pytorch工具，按需对CT影像进行预处理，包括随机翻转、随机旋转、随机缩放和随机交换影像中的不同部分。
		（c）肺结节检测子模块：对于输入的CT肺部影像数据，使用ResUNet网络模型作为主干网络，获得全局图像信息，以利用3D肺部影像的丰富信息。并且，配合使用RPN模块可以快速准确识别CT肺部影像中的肺结节区域，高效地识别出阴性区域，作为后续肺结节分类任务的基础。
		（d）结果输出子模块：在训练过程中，最好的模型参数会被保存下来，并且会记录每一个训练迭代中的模型输出信息，包括epoch、学习率、训练损失和F1-score等。

