Trying to Understand Iterative Conditional Modes (ICM)

112 Views Asked by At

I am looking at pseudo code for ICM

enter image description here

What is the point of the outerloop at line 3? It doesn't seem like it's being used at all?

2

There are 2 best solutions below

0
On

I’m not familiar with this algorithm, but the outer loop does make you iterate the inner loop T times. And perhaps that’s the only point. Doing the inner loop gets you closer to what you want, and doing a again gets you even closer, and so on, so just do it a bunch of times.

Often in this kind of approach there are techniques to make sure you iterate enough or not way more than necessary and it’s rare that a simple fixed number of iterations is used, but perhaps there’s no good way to do that here, or more likely they’re just trying to keep it simple.

0
On

At each iteration, the values of all pixels are updated (in line 4). In the next iteration of the loop in line 3, the value updated from the previous iteration is used. The function p(.) is an estimator of the probability. Thus, at each iteration, the estimated value at each pixel keeps getting updated to move it closer to the actual estimate. This will lead to a 'greedy descent' and a local minimum of the estimate.