繁体   English   中英

从 SuperPixels 中提取特征的最佳方法,例如 gabor 和 HOG 特征

[英]Best way of extracting features from SuperPixels such as gabor and HOG features

我已经使用 slic 聚类算法来创建生物医学图像的超像素(生物医学成像专家的整个幻灯片图像)。 我想为超像素提取不同的特征、纹理和空间以创建特征表示,然后将其输入分类器(SVM、RF)以尝试对每个超像素进行分类,因为我有每个超像素的标签。 最终目标是对每个超像素进行分类,然后使用它来构建分割。

对于每个超像素,我根据所有超像素的平均高度和宽度在其周围绘制一个具有一致大小的边界框,因为尺寸分布在平均值周围相当高(有些会切掉小部分,其他会包括一些填充。我有几个问题

  1. 关于每个超像素的 gabor 滤波器,我得到一个 gabor 特征,每个像素都有一个值,然后我取这些的平均值来获得超像素 gabor 特征值。 这是正确的方法吗? 下面的代码

    def getGabor(img, ksize, sigma, theta, lamda, gamma, l, ktype): kernel=cv2.getGaborKernel((ksize, ksize), sigma, theta, lamda, gamma, l, ktype=ktype) fimg = cv2.filter2D(img, cv2.CV_8UC3, kernel) filteredImage=fimg.reshape(-1) return filteredImage def getGabors(img): ksize=5 thetas = list(map(lambda x: x*0.25*np.pi, [1, 2])) gabors=[] for theta in thetas: for sigma in (1,3): for lamda in np.arange(0, np.pi, np.pi*0.25): for gamma in (0.05, 0.5): gabor = getGabor(img.reshape(-1), ksize, sigma, theta, lamda, gamma, 0, cv2.CV_32F) . gabors.append(np.mean(gabor)) return gabors
  2. 这将如何与 HOG 一起使用? 我是否会采用相同的方法平均特征向量,以及如何防止 HOG​​ 描述符过大?

  3. 将超像素输入 CNN 以学习特征表示是否明智?

  4. 如果有人在对其他有用的图像特征描述符提出任何建议之前使用过这种数据,这将是该类型数据的好方法?

任何有关构建功能或查看超像素的功能类型的建议将不胜感激!

谢谢

我不确定医学图像分割的最新技术水平,但在所有深度学习模型出现之前,超像素、HOG 和 gabor 听起来肯定像 2012 年之前的特征工程方法。 结果必然在很大程度上取决于超像素分割图像的方式(可能不太稳健)。

为什么不使用最近的图像分割 CNN,比如 DeepLab( https://github.com/tensorflow/models/tree/master/research/deeplab )? 只需提供分割的训练示例(其中很多,无可否认),然后看看模型本身是否学习了正确的特征。 它会的可能性非常高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM