1

[从统计和数据科学交叉发布]

我正在研究一个动物分类问题,数据是从视频提要中提取的。录音是用钢笔制作的,所以这个问题在深色背景和许多阴影下非常具有挑战性:在此处输入图像描述

最初我尝试了 scikit-image,但后来有人帮助我使用了一个名为 crf-rnn ( http://crfasrnn.torr.vision/ ) 的高级工具,它可以很好地分割和标记图像中的对象。我做了以下事情:

import caffe
net = caffe.Segmenter(MODEL_FILE, PRETRAINED)
IMAGE_FILE = '0045_crop2.png'
input_image = caffe.io.load_image(IMAGE_FILE)
from PIL import Image as PILImage
image = PILImage.fromarray(np.uint8(input_image))
image = np.array(image)
mean_vec = [np.mean(image[:,:,vals]) for vals in range(image.shape[2])]
im = image[:, :, ::-1]
im = im - reshaped_mean_vec
cur_h, cur_w, cur_c = im.shape
pad_h = 750 - cur_h
pad_w = 750 - cur_w
print(pad_h, pad_w, "999")
im = np.pad(im, pad_width=((0, max(pad_h,0)), (0, max(pad_w,0)), (0, 0)), mode = 'constant', constant_values = 255)
segmentation = net.predict([im])
segmentation2 = segmentation[0:cur_h, 0:cur_w]

生成的图像分割相当差(尽管正确识别了两头奶牛): 在此处输入图像描述

我使用训练有素的 crf-rnn (MODEL_FILE, PRETRAINED),它适用于其他问题,但这个更难。我将不胜感激有关如何预处理此类图像以提取大多数奶牛形状的任何建议。

4

0 回答 0