传统的CT图像
1.采用大津阈值法进行分割用来实现将肺组织和人体骨骼脂肪分离开。
代码:cv::threshold(inputMat, outputMat, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
2.去除背景目标
从上面的分割结果可以看到,背景跟肺组织不是连通的区域,因此我们可以通过连通域分析去除与背景相连通的区域。代码:
cv::copyMakeBorder(inputMat, exapndMat, 3, 3, 3, 3, cv::BORDER_CONSTANT, cv::Scalar(0));
cv::floodFill(exapndMat, cv::Point(0, 0), cv::Scalar(255));
cv::Mat maskMat = ~exapndMat(cv::Rect(3, 3, inputMat.cols, inputMat.rows));
3、去除气管,噪声
气管和噪声区域都不是很大,我们通过设置区域面积大小来去除气管和噪声。
4、重构肺轮廓边缘
从上图可以看到,肺的边缘会有一些凹陷瑕疵,所以我们通过形态学闭操作来填补这些缺陷。代码:cv::morphologyEx(grayscale, MatOut, cv::MORPH_CLOSE, elemnt);
5、最后得到肺组织区域
深度学习减少了手工提取特征和规则的步骤减少了传统特征提取中对肺部边缘结节的损耗,应用端对端学习从原始数据汇总自动学习特征,直接对HU灰度图数据集进行掩膜提取,使用图像变换算法扩增数据集提高模型泛化能力,得到原始的image和mask切片,使用unet网络对依据医生标注的csv文件对切片进行结节区域边框分割生成候选集,使用3dcnn对上一步骤生成的结果进行分类,剔除假阳性的候选,保留真正的结节,将这两种模型合并后并放入预先设定好的损失函数进行训练,
参考https://cloud.tencent.com/developer/news/235320
https://blog.csdn.net/wsp_1138886114/article/details/81840891
https://cloud.tencent.com/developer/article/1161012