<div dir="ltr">Hi,<div><br></div><div>As far as I know, the residual column represents the difference (distance in map units) between the GCP coordinates and the place where that image position ended up after the georeferencing process. So, yes, it represents the error for each GCP.</div><div><br></div><div>To calculate the total RMSE, I think you have the formula wrong. According to Wikipedia:</div><div><br></div><div><p style="margin:0.5em 0px;color:rgb(32,33,34);font-family:sans-serif;font-size:14px">The RMSD of predicted values <span class="gmail-mwe-math-element"><span class="gmail-mwe-math-mathml-inline gmail-mwe-math-mathml-a11y" style="display:none;overflow:hidden;width:1px;height:1px;opacity:0;font-size:16.52px">{\displaystyle {\hat {y}}_{t}}</span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8eaf7c274686b0259802f8f0928b2a28b2665d8b" class="gmail-mwe-math-fallback-image-inline" alt="\hat y_t" style="border: 0px; vertical-align: -0.838ex; margin: 0px; display: inline-block; width: 2.128ex; height: 2.676ex;"></span> for times <i>t</i> of a <a href="https://en.wikipedia.org/wiki/Regression_analysis" title="Regression analysis" style="text-decoration-line:none;color:rgb(11,0,128);background:none">regression's</a> <a href="https://en.wikipedia.org/wiki/Dependent_variable" class="gmail-mw-redirect" title="Dependent variable" style="text-decoration-line:none;color:rgb(11,0,128);background:none">dependent variable</a> <span class="gmail-mwe-math-element"><span class="gmail-mwe-math-mathml-inline gmail-mwe-math-mathml-a11y" style="display:none;overflow:hidden;width:1px;height:1px;opacity:0;font-size:16.52px">{\displaystyle y_{t},}</span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a729287d101ee372925468b7978c876227bec22e" class="gmail-mwe-math-fallback-image-inline" alt="{\displaystyle y_{t},}" style="border: 0px; vertical-align: -0.671ex; margin: 0px; display: inline-block; width: 2.612ex; height: 2.009ex;"></span> with variables observed over <i>T</i> times, is computed for <i>T</i> different predictions as the square root of the mean of the squares of the deviations:</p><dl style="margin-top:0.2em;margin-bottom:0.5em"><dd style="color:rgb(32,33,34);font-family:sans-serif;font-size:14px;margin-left:1.6em;margin-bottom:0.1em;margin-right:0px"><span class="gmail-mwe-math-element"><span class="gmail-mwe-math-mathml-inline gmail-mwe-math-mathml-a11y" style="display:none;overflow:hidden;width:1px;height:1px;opacity:0;font-size:16.52px">{\displaystyle \operatorname {RMSD} ={\sqrt {\frac {\sum _{t=1}^{T}({\hat {y}}_{t}-y_{t})^{2}}{T}}}.}</span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/eeb88fa0f90448e9d1a67cd7a70164f674aeb300" class="gmail-mwe-math-fallback-image-inline" alt="{\displaystyle \operatorname {RMSD} ={\sqrt {\frac {\sum _{t=1}^{T}({\hat {y}}_{t}-y_{t})^{2}}{T}}}.}" style="border: 0px; vertical-align: -2.505ex; display: inline-block; width: 28.992ex; height: 7.509ex;"></span></dd><dd style="color:rgb(32,33,34);font-family:sans-serif;font-size:14px;margin-left:1.6em;margin-bottom:0.1em;margin-right:0px"><br></dd>So, I think you need to sum the squares of each GCP residual, divide it by the number of GCP, and then get the Square root of the result.</dl><dl style="margin-top:0.2em;margin-bottom:0.5em"><br></dl><dl style="margin-top:0.2em;margin-bottom:0.5em">If we look at an example, imagine you have 10 GCP, each with a residual of 2 m.</dl><dl style="margin-top:0.2em;margin-bottom:0.5em"><br></dl><dl style="margin-top:0.2em;margin-bottom:0.5em">Your suggested formula:</dl><dl style="margin-top:0.2em;margin-bottom:0.5em"><br></dl>Sqrt (20) = 4,47 m</div><div><br></div><div>Following Wikipedia suggestion:</div><div><br></div><div>Sqrt (10 * (2^2) / 10 ) = 2 m</div><div><br></div><div>Hope it helps.</div><div><br></div><div>Alexandre Neto</div><div>QGIS Support</div><div><a href="http://www.qcooperative.net">www.qcooperative.net</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 2, 2020 at 9:43 PM Alexis R.L. <<a href="mailto:alroyliz0@gmail.com">alroyliz0@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Greetings,<div><br></div><div>The relevant code is located here <a href="https://github.com/qgis/QGIS/blob/master/src/app/georeferencer/qgsleastsquares.cpp" target="_blank">https://github.com/qgis/QGIS/blob/master/src/app/georeferencer/qgsleastsquares.cpp</a></div><div><br></div><div>Hope this helps.</div><div><br clear="all"><div><div dir="ltr"><div dir="ltr">Alex</div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 2 nov. 2020 à 16:18, Randal Hale <<a href="mailto:rjhale@northrivergeographic.com" target="_blank">rjhale@northrivergeographic.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div>
    <p>Good afternoon QGIS People <br>
    </p>
    <p>I received a question on RMSE errors in georeferencer and after
      talking to Ethan about it I realized I have no clue what I'm
      talking about. How would we go about calculating an RMSE for a
      rectified image in QGIS? <br>
    </p>
    <p>I've cc'd ethan on this so he can chime in also. <br>
    </p>
    <p>Thanks <br>
    </p>
    <p>Randy<br>
    </p>
    <div><br>
      <br>
      -------- Forwarded Message --------
      <table cellspacing="0" cellpadding="0" border="0">
        <tbody>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">Subject:
            </th>
            <td>Georeferencer Plugin Help - QGIS</td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">Date: </th>
            <td>Fri, 2 Oct 2020 15:27:13 +0000</td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">From: </th>
            <td>Ethan Cissell <a href="mailto:ecissell@bio.fsu.edu" target="_blank"><ecissell@bio.fsu.edu></a></td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">To: </th>
            <td><a href="mailto:info@northrivergeographic.com" target="_blank">info@northrivergeographic.com</a>
              <a href="mailto:info@northrivergeographic.com" target="_blank"><info@northrivergeographic.com></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      
      <span style="color:rgb(0,0,0);font-family:GillSans">Hi Randal,</span>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        I have a question about the usage and outputs of the
        Georeferencer Plugin in QGIS, and thought, given your expertise,
        you might be able to directly help, or point me in the right
        direction.</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        I am a Ph.D. candidate in Ecology and Evolution at Florida State
        University applying spatial techniques to study the dynamics of
        benthic cyanobacterial mats on coral reefs. This past summer, I
        photographically tracked individual cyanobacterial mats in which
        I had placed plastic stakes as ground control points for later
        image rectification. I am trying to essentially create image
        stacks, so that I can parameterize a generalized additive mixed
        effects model that accounts for the inherent spatial
        autocorrelation and includes a parameter with occupation at the
        previous time-point explicitly included to hopefully model the
        population dynamics of this system.</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Thus, a quantitative understanding of the error in my alignment
        is absolutely critical to the downstream conclusions (especially
        for informing my resampling to larger grid size to account for
        error in my alignments).</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        I am using QGIS for obtaining all raw data from these photos
        (scaling, rectification, classification, resampling), but I am
        stuck at the rectification step. I am using the “Georeferencer”
        plugin to accomplish my alignments, but I have received mixed
        advice on how to interpret the residuals output on the GCP table
        in the Georeferencer window (screenshot below). The
        documentation for this plugin seems to indicate that the far
        right column (Residual) is actually a per GCP RMS error.</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Can you tell me how to interpret these errors/how to obtain a
        total RMSE error for the image alignment (i.e. not just per GCP
        error, but total error for each image)? I have been told to sum
        all of the values from the residuals column and take the square
        root of that raw summation. Is this correct?</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Many thanks in advance. I apologize for the lengthy email, but I
        wanted to establish the motivations for this project so that you
        would have more context for the goals of the alignment.</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Any and all help here is greatly appreciated.</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Best,</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        <br>
      </div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Ethan C Cissell</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        ——————————————</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Ph.D. Candidate - McCoy Lab</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        National Science Foundation Graduate Research Fellow</div>
      <div style="color:rgb(0,0,0);font-family:GillSans">
        Florida State University</div>
    </div>
  </div>

_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a></blockquote></div>
_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a></blockquote></div>