← Back to team overview

hugin-devs team mailing list archive

[Bug 1856336] Re: Running geometric optimizer changes displayed focal length

 

"there can always be several minimums" - sure.

"the optimizer can finish in different minimum" - no, it can NOT with
the same initial conditions IN ABSENCE of randomization.

Randomization can be explicit or implicit due to usage of uninitialized
data.

If randomization is explicit, and UI does not allow to turn it off, it's
a bug in UI - missing feature.

If randomization is implicit due to usage of initialization is implicit
due to usage of uninitialized data, it's a banal bug.

...

You might be interested to read "Everything Is Broken" -
https://medium.com/message/everything-is-broken-81e5f33a24e1 .

...

I think I've found usage of uninitialized data in the GUI - the bug
report is yet to filed.

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/1856336

Title:
  Running geometric optimizer changes displayed focal length

Status in Hugin:
  Opinion

Bug description:
  I am a new 'hugin' user and I've been playing with it for about a week
  encountering various problems. I hope I've managed to make some
  systematization of the problems, so this report is the first in a
  series of reports I'm going to file.

  System info as hugin reports it:

  "
  Operating System: Linux 4.15.0-72-generic x86_64
  Architecture: 64 bit
  Free memory: 2055068 kiB

  Hugin
  Version: 2019.0.0.a369cbe55179
  Path to resources: /usr/share/hugin/xrc/
  Path to data: /usr/share/hugin/data/
  Hugins camera and lens database: /home/sergei/.hugindata/camlens.db
  Multi-threading using C++11 std::thread and OpenMP

  Libraries
  wxWidgets: wxWidgets 3.0.4
  wxWidgets Library (wxGTK port)
  Version 3.0.4 (Unicode: wchar_t, debug level: 1),
  Runtime version of toolkit used is 2.24.
  Compile-time GTK+ version is 2.24.32.

  libpano13: 2.9.19 
  Boost: 1.65.1
  Exiv2: 0.25.0
  SQLite3: 3.22.0
  Vigra: 1.11.0
  LittleCMS2: 2.9
  ".

  Location of input images: https://cloud.mail.ru/public/HmmR/35U75uuiB/
  . Input images are DSC_0849.NEF .. DSC_0856.NEF files, i.e. 8 images
  altogether. If you want to download any file from the the URL, right-
  click on the file, and a drop-down menu with the following items in
  Russian will appear:

  Открыть в новой вкладке
  Скачать
  Сохранить в Облако
  .

  Select the second item, i.e. Скачать (which means Download), and the
  regular browser download window will appear.

  To reproduce the problem first import into 'hugin' input .NEF files
  the usual way using the "Photos" tab. Have a look at
  'correct_focal_length.png' file in the above web folder for
  assistance.

  I chose RawTherapee version 5.7 to import files into 'hugin', and the
  profile file for RawTherapee is
  '/usr/share/rawtherapee/profiles/Unclipped.pp3' (it comes with
  RawTherapee). Just in case contents of the file:

  "
  [Exposure]
  ClampOOG=false
  Curve=0;
  Curve2=0;

  [Black & White]
  BeforeCurve=0;
  AfterCurve=0;

  [Vibrance]
  Enabled=false

  [Color appearance]
  Enabled=false

  [Film Simulation]
  Enabled=false

  [RGB Curves]
  LumaMode=false

  [Color Management]
  ApplyLookTable=false

  [RAW]
  CA=true
  CAAutoIterations=2
  ".

  As the files are imported into hugin and the list of .tif files
  produced from the input .NEF files appears, click on any of the .tif
  files - as one can see in 'correct_focal_length.png' file
  'DSC_0849.tif' file is selected, and it is also the default anchor
  file for both position and exposure. As a result of clicking on input
  .tif file lens focal distance and crop factor are displayed - which in
  this case are 18mm and 1.5 (again, see the 'correct_focal_length.png'
  file) . The numbers are correct - I indeed set the zoom to 18mm and
  the camera crop factor is 1.5 . I assume 'hugin' grabs this info from
  the .NEF files as it should. In this case all input files have the
  same focal length.

  After importing input files I went to the "Feature making" part of the
  GUI and detected control points fully automatically - see the
  'correct_focal_length.png' file for details.

  After detecting control points I went to the "Optimize" part of the
  GUI and ran geometric optimizer - see the 'correct_focal_length.png'
  file for details.

  When geometric optimizer finished its work a window with its report
  appeared, and I clicked OK. As a result of it displayed focal length
  in the GUI changed to 22.982mm and the crop factor field became empty
  - see 'wrong_focal_length.png' file for details in the above web
  folder.

  It should be noted that the 22.982 is about 23, and the keyword here
  is "about". With the same set of input images the number changes
  slightly from invoking to invoking - for example, I remember 23.001,
  22.999, etc.

  IMO such behavior is wrong - input focal length either comes from the
  raw file, or from user input - it shouldn't be changed by 'hugin'.
  Such behavior might indicate usage of uninitialized data or freed
  memory or index overrun, etc. If I understand correctly how overall
  'hugin' works, focal length is used to calculate view angle, so wrong
  focal length can cause calculation of wrong view angles and thus lead
  to wrong stitching.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hugin/+bug/1856336/+subscriptions


References