future.graph.merge_hierarchical

bricklemacho at gmail.com bricklemacho at gmail.com
Thu Sep 17 11:11:49 EDT 2015


Hi Juan,

I am working on this in slow time.   At the moment I am writing a 
generic function to create the RAG.  It is similar to rag_mean_colour() 
but takes two callbacks, one to describe the nodes and another to 
compute the edge weight.  Based on Vighnesh advice below, I my use case 
I  will ensure the "least" weight implies the most similar.   Theh first 
step will be to have the rag_generic() duplicate rag_mean_colour().

Once I am happy with rag_generic(), I will need to an create alternative 
merging process.  The alternative method wont use a threshold but rather 
at each step will select the "most" similar nodes for merging.  This 
merge process will terminate once there is a single node in the graph.   
The final output will be the initial regions, plus each of the single 
merge (hope that make sense).

Anyway, I have created a fork and when basic functionally is working 
will submit a PR.

Regards,

Michael.
--


On 16/09/2015 5:34 pm, Juan Nunez-Iglesias wrote:
> Hey Brickle,
>
> This is a very cool application! Feel free to ask for more guidance 
> about this. The RAG is in future because we weren't sure whether the 
> API would provide enough for all use cases, so if it needs extending, 
> this is exactly the kind of feedback we're looking for!
>
> If you've made any interesting changes to the code, but want help, you 
> can submit them as a pull request on GitHub. Just start the PR title 
> with "[WIP]" for "work in progress".
>
> Thanks!
>
> Juan.
>
>
>
>
> On Wed, Sep 9, 2015 at 11:23 PM, bricklemacho at gmail.com 
> <bricklemacho at gmail.com <mailto:bricklemacho at gmail.com>> wrote:
>
>     Hi,
>
>     Been away for a few days.  Thanks for that, clears a few things
>     up.  I am looking at modifying the RAG code from the furture.graph.
>
>     Regards,
>
>     Brickle.
>
>
>     On 3/09/2015 11:26 pm, Vighnesh Birodkar wrote:
>>     Hello
>>
>>     At each step, the edge with the least weight is merged. The code
>>     uses a min heap for that. You could take an inverse of your
>>     measure such that similar nodes have lesser values. 'in_place'
>>     just decides whether a new node is created for a merge or not, it
>>     most likely won't do what you need in this case.
>>
>>     I hope I was clear.
>>
>>     Thanks
>>     Vighnesh
>>
>>     On Tuesday, September 1, 2015 at 7:24:31 PM UTC-4, bricklemacho
>>     wrote:
>>
>>         Hi All,
>>
>>         I am looking at generating some detection proposals, see 
>>         Hosang, Jan, et al. "What makes for effective detection
>>         proposals?." /arXiv preprint arXiv:1502.05082/ (2015),
>>         http://arxiv.org/pdf/1502.05082.pdf Starting with the
>>         Selective Search algorithm, Section 3 of  Uijlings, Jasper
>>         RR, et al. "Selective search for object recognition."
>>         /International journal of computer vision/ 104.2 (2013):
>>         154-171,
>>         https://staff.fnwi.uva.nl/th.gevers/pub/GeversIJCV2013.pdf
>>
>>         The basic idea is the performing a hierarchical merging of
>>         the image, where each new merge get added to the list of
>>         regions suspected to contain an object, you can capture
>>         objects at all scales. This reduces the search space
>>         significantly than say compared to floating window.  The
>>         output is NOT a image segmentaiton, rather a list of regions
>>         (bounding boxes) of potential objects (deteciton proposals).
>>
>>         I have looked in the gallery at RAG Merging
>>         http://scikit-image.org/docs/dev/auto_examples/plot_rag_merge.html,
>>         fairly confident I can setup the callback methods to provided
>>         the similarity measure.   I am naively hoping that
>>         future.graph.hierarchical(), even though it seems to output a
>>         segmentation (labels), can be easily adapted to the task.   
>>         What would be the best way to have
>>         future.graph.merge_hierarchica() merge regions with the
>>         "highest" similarity measure, rather thana threshold?   What
>>         would be the best way future.graph.merge_hierarchica() save
>>         each merged region?   Tried setting  "in_place" to false, but
>>         didn't notice any difference.
>>
>>         Any help appreciated,
>>
>>         Brickle.
>>         --
>>
>>
>>
>>
>>     -- 
>>     You received this message because you are subscribed to the
>>     Google Groups "scikit-image" group.
>>     To unsubscribe from this group and stop receiving emails from it,
>>     send an email to scikit-image+unsubscribe at googlegroups.com
>>     <mailto:scikit-image+unsubscribe at googlegroups.com>.
>>     For more options, visit https://groups.google.com/d/optout.
>
>     -- 
>     You received this message because you are subscribed to the Google
>     Groups "scikit-image" group.
>     To unsubscribe from this group and stop receiving emails from it,
>     send an email to scikit-image+unsubscribe at googlegroups.com
>     <mailto:scikit-image+unsubscribe at googlegroups.com>.
>     For more options, visit https://groups.google.com/d/optout.
>
>
> -- 
> You received this message because you are subscribed to the Google 
> Groups "scikit-image" group.
> To unsubscribe from this group and stop receiving emails from it, send 
> an email to scikit-image+unsubscribe at googlegroups.com 
> <mailto:scikit-image+unsubscribe at googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20150917/a3c1d143/attachment.html>


More information about the scikit-image mailing list