<p>I'm trying to implement metropolis light transport based on <a href="https://pdfs.semanticscholar.org/a386/55316ee7f438ba115b38e8d0b1410c691a26.pdf" rel="noreferrer">this paper</a>, and I have the basic thing working. I run the algorithm multiple times with different starting points, add the results for each starting point together and multiply them by a scaling factor to approximate the real image.</p>

<p>The scaling factor is the one described in the paper:</p>

<p>$average\_brightess / average\_samples\_per\_pixel$.</p>

<p>In the resulting image, the starting points are noticeably brighter (they are aligned in a grid below).</p>

<p><a href="https://i.sstatic.net/YT0qH.png" rel="noreferrer"><img src="https://i.sstatic.net/YT0qH.png" alt="resulting image"></a></p>

<p>The paper I was reading doesn't have any advice on avoiding this start up bias. I found this <a href="https://graphics.stanford.edu/papers/metro/metro.pdf" rel="noreferrer">other paper</a> that has advice on this, but I find the paper a little hard to understand.</p>

<p>It says each initial path should be assigned a weight $f(x_0) / p_0(x_0)$. </p>

<p>$f(x_0)$ should be the luminance of the sample at the starting point $x_0$, but is it raw luminance or normalized? $p_0$ is supposed to be a path distribution (possibly sampled by path tracing). How do I get the value of a path distribution at a specified point? Is it the ratio of the point's luminance over the average luminance of the distribution (i.e. average brightness of the image)?</p>

CC BY-SA 4.0
2018-10-01T14:18:42.100Z
I'm currently trying to implement the path space MLT on my own, but struggle a bit. Are you willing to share your code with me?
0xbadf00d
CC BY-SA 3.0
2017-06-12T13:32:29.433Z
If I remember correctly, MLT usually starts with a frame from general path tracing (one way, or bi-directional). They use this image to find places with high luminance, and explore more in that area.
RichieSams
CC BY-SA 3.0
2017-06-12T20:18:17.980Z
Oh? I thought it starts randomly, but the probability of moving to a new location favors locations that are brighter. So I do multiple rounds from multiple initial locations to avoid the sampling getting stuck in bright areas.

Also, I'm a student in this so I don't know a lot, but I just learned while researching about this that path tracing is not the same as ray tracing. Does that have anything to do with my problem above? Do you know if I can even do MLT using ray tracing?
devil0150
<rendering><pathtracing>
Help with start up bias in Metropolis Light Transport
devil0150
# Help with start up bias in Metropolis Light Transport

(Asked by: username_0 on 2017-06-10)

I'm trying to implement metropolis light transport based on [this paper](https://pdfs.semanticscholar.org/a386/55316ee7f438ba115b38e8d0b1410c691a26.pdf), and I have the basic thing working. I run the algorithm multiple times with different starting points, add the results for each starting point together and multiply them by a scaling factor to approximate the real image.

The scaling factor is the one described in the paper:

$average\\_brightess / average\\_samples\\_per\\_pixel$.

In the resulting image, the starting points are noticeably brighter (they are aligned in a grid below).

[![resulting image](https://i.sstatic.net/YT0qH.png)](https://i.sstatic.net/YT0qH.png)

The paper I was reading doesn't have any advice on avoiding this start up bias. I found this [other paper](https://graphics.stanford.edu/papers/metro/metro.pdf) that has advice on this, but I find the paper a little hard to understand.

It says each initial path should be assigned a weight $f(x\_0) / p\_0(x\_0)$.

$f(x\_0)$ should be the luminance of the sample at the starting point $x\_0$, but is it raw luminance or normalized? $p\_0$ is supposed to be a path distribution (possibly sampled by path tracing). How do I get the value of a path distribution at a specified point? Is it the ratio of the point's luminance over the average luminance of the distribution (i.e. average brightness of the image)?

**Tags:** rendering, pathtracing

> **Comments:**
> **username_2**: If I remember correctly, MLT usually starts with a frame from general path tracing (one way, or bi-directional). They use this image to find places with high luminance, and explore more in that area.  
> **username_0**: Oh? I thought it starts randomly, but the probability of moving to a new location favors locations that are brighter. So I do multiple rounds from multiple initial locations to avoid the sampling getting stuck in bright areas.  Also, I'm a student in this so I don't know a lot, but I just learned while researching about this that path tracing is not the same as ray tracing. Does that have anything to do with my problem above? Do you know if I can even do MLT using ray tracing?  
> **username_1**: I'm currently trying to implement the path space MLT on my own, but struggle a bit. Are you willing to share your code with me?  

---

## 0 answers

