zoukankan      html  css  js  c++  java
  • Image segmentation starting points

    I am programming an image segmentation program. For this purpose I am using a multi-resolution algorithm. It works partially but one problem remains. 
    In literature I found the following description of my problem: 

    For the maintenance of a similar size/scale of all image objects it is necessary to let them grow in a simultaneous way. This can be achieved by choosing a sequence of starting points which fulfills the following two conditions (for each object taken into account the procedure performs one merge):
    1. Handle each point respectively each object once per cycle
    2. Distribute subsequent merges as far as possible from each other over the whole scene.
    A simple approximate solution for this problem is a procedure which handles each segment in the scene in a random sequence. It turns out that such a random sequence is sub optimal due to the percolation patterns or clusters which increasingly appear, starting at a certain density of points. Better procedures are sequences which are systematically taking points with maximum distance to all other points treated before. Such a procedure can for instance be derived from a dither matrix produced by a binary counter 

    Has anyone an idea what a dither matrix produced by a binary counter is? And how I should program this in cpp? 
    All other solutions to my problem are also welcome. 

    Global mutual best fitting is the most common solution to such an optimization problem but has the disadvantage that it builds initial segments in regions of low spectral variance, resulting in uneven growth of image objects across the scene

    To counter this, FNEA incorporates local mutual best fitting which always undertakes the most homogeneous merge in the local vicinity, following the gradient of best fitting. An arbitrary starting
    point is required and, to ensure simultaneous growth of similar sized objects, it is necessary that
    each object is treated once per iteration and that subsequent merges are distributed as far away
    as possible from each other over the whole scene. The application of a random sequence here is
    sub-optimal because clustering can occur. Consequently, a distributed treatment order derived from
    a dither matrix generated by a binary counter, which systematically takes points with a maximum
    distance to all other points treated previously, is implemented in FNEA.
    Starting with single pixel objects, pairwise merging will evidently increase the heterogeneity.
    The aim of the optimization procedure is to minimize the incorporated heterogeneity at each single
    merge. An image object should, therefore, be merged with the adjacent object that incorporates
    the minimum increase in defined heterogeneity. To assess this, the ‘merging cost’ representing
    the ‘degree of fitting’ for every possible pair of adjacent objects is described by the change in
    heterogeneity (h) before and after a virtual merge (mg). The spectral criterion (hcolor
    ) is the

  • 相关阅读:
    new JSONObject()报空指针异常
    转:修改Fckeditor 2.6 增加插入Mp3等多媒体文件功能
    执行更新操作时,timestamp类型的字段自动被更新为了系统当前日期
    读取某个文件的位置
    myeclipse配置注释
    为eclipse 的 hibernate 配置文件加提示
    hibernate3与hibernate4
    查看eclipse版本
    Eclipse编译没有class文件生成
    严重: Error loading WebappClassLoader context:
  • 原文地址:https://www.cnblogs.com/xiangshancuizhu/p/2437329.html
Copyright © 2011-2022 走看看