detecting object in Homogeneous Intensity image

前端 未结 2 795
独厮守ぢ
独厮守ぢ 2020-12-31 20:18

I have image of Tiger\'s Pugmark (footprint impression) in mud. I want to detect the boundary of the pugmark but the image is uniform in intensity that is foreground and bac

2条回答
  •  -上瘾入骨i
    2020-12-31 21:03

    The approach in the @mmpg’s answer may be unstable, since the used algorithms require setting of parameters, which may be specific for each image. This problem seems to be better approached with parametric models that have prior knowledge about the shape.

    Active Shape Models framework iteratively approximates the boundary of the shape. First, you initialize it with some average shape (images are just illustrations, not the actual output of the algorithm):

    Initialization of the shape

    The contour is defined by the anchor points (shown by blue ticks, only for the palm to avoid clutter). In each iteration the algorithm considers orthogonal directions in each anchor point and estimates the probability of the boundary at each distance (usually using the image gradient, but in your case it should be more complicated — may be the difference in texture, e.g. distance between histograms of textons). Here red points highlight arg-maximums of that distributions:

    Modes of the edge-ness distribution

    Then the new contour is fit to the data to maximize those distributions multiplied by the prior distribution of the shape. Assuming the uniform prior, the new contour would look like this:

    The new contour

    In practice you would like to have a non-trivial shape distribution. To estimate that, you will need a training set of images where the pugmark masks are manually labelled.

    You may want to try this MATLAB implementation.

提交回复
热议问题