<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR533</article-id>
<article-id pub-id-type="doi">10.15388/23-INFOR533</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Levenberg-Marquardt Algorithm Applied for Foggy Image Enhancement</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-9865-9855</contrib-id>
<name><surname>Curila</surname><given-names>Sorin</given-names></name><email xlink:href="scurila@uoradea.ro">scurila@uoradea.ro</email><xref ref-type="aff" rid="j_infor533_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>S. Curila</bold> graduated in 1994 with the applied electronics specialization from the Technical University of Cluj-Napoca, Romania, and received in 2000 his PhD in electrical engineering from the University of Oradea, Romania (Compression of 3D polygonal models). He holds a university professor position at the Department of Electronics and Telecommunications of University of Oradea, Romania. His research interests include: pattern recognition, signal and image processing, programming languages.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Curila</surname><given-names>Mircea</given-names></name><email xlink:href="mcurila@uoradea.ro">mcurila@uoradea.ro</email><xref ref-type="aff" rid="j_infor533_aff_002">2</xref><bio>
<p><bold>M. Curila</bold> graduated in 1994 with the applied electronics specialization from the Technical University of Cluj-Napoca, Romania, and in 1995 with the mathematics specialization from the Babes-Bolyai University of Cluj-Napoca, Romania. He received in 2003 his PhD in electrical engineering from the University of Oradea, Romania. He holds a university professor position at the Department of Environmental Engineering of University of Oradea, Romania. His research interests include: virtual reality, signal and image processing, programming languages.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Curila (Popescu)</surname><given-names>Diana</given-names></name><email xlink:href="curila_diana@yahoo.com">curila_diana@yahoo.com</email><xref ref-type="aff" rid="j_infor533_aff_003">3</xref><bio>
<p><bold>D. Curila (Popescu)</bold> graduated in 1995 with the mathematics specialization from the Babes-Bolyai University of Cluj-Napoca, Romania. She is a PhD student at the Faculty of Informatics and Science, University of Oradea, Romania. She is currently a mathematics teacher at Dacia School, Oradea, Romania.</p></bio>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-6316-1368</contrib-id>
<name><surname>Grava</surname><given-names>Cristian</given-names></name><email xlink:href="cgrava@uoradea.ro">cgrava@uoradea.ro</email><xref ref-type="aff" rid="j_infor533_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>C. Grava</bold> is a senior member of IEEE. He received his PhD in electronics and telecommunications from the Politehnica University of Bucharest, Romania, and in images and systems, from the National Institute of Applied Sciences from Lyon, France, in 2003. He is a professor at the University Oradea, Romania, a member of the Department of Electronics and Telecommunications. His research interests include signal and image processing, modelling of complex systems and artificial intelligence.</p></bio>
</contrib>
<aff id="j_infor533_aff_001"><label>1</label>Department of Electronics and Telecommunications, 1 Universitatii Street, Oradea, 410087, Bihor, <institution>University of Oradea</institution>, <country>Romania</country></aff>
<aff id="j_infor533_aff_002"><label>2</label>Environmental Engineering Department, 1 Universitatii Street, Oradea, 410087, Bihor, <institution>University of Oradea</institution>, <country>Romania</country></aff>
<aff id="j_infor533_aff_003"><label>3</label>Mathematics and Computer Science Department, 1 Universitatii Street, Oradea, 410087, Bihor, <institution>University of Oradea</institution>, <country>Romania</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding authors.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2024</year></pub-date><pub-date pub-type="epub"><day>19</day><month>10</month><year>2023</year></pub-date><volume>35</volume><issue>1</issue><fpage>47</fpage><lpage>63</lpage><history><date date-type="received"><month>9</month><year>2022</year></date><date date-type="accepted"><month>10</month><year>2023</year></date></history>
<permissions><copyright-statement>© 2024 Vilnius University</copyright-statement><copyright-year>2024</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>In this paper, we introduce a novel <italic>Model Based Foggy Image Enhancement using Levenberg-Marquardt</italic> non-linear estimation (MBFIELM). It presents a solution for enhancing image quality that has been compromised by homogeneous fog. Given an observation set represented by a foggy image, it is desired to estimate an analytical function dependent on adjustable variables that best cross the data in order to approximate them. A cost function is used to measure how the estimated function fits the observation set. Here, we use the Levenberg-Marquardt algorithm, a combination of the Gradient descent and the Gauss-Newton method, to optimize the non-linear cost function. An inverse transformation will result in an enhanced image. Both visual assessments and quantitative assessments, the latter utilizing a quality defogged image measure introduced by Liu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>), are highlighted in the experimental results section. The efficacy of MBFIELM is substantiated by metrics comparable to those of recognized algorithms like Artificial Multiple Exposure Fusion (AMEF), DehazeNet (a trainable end-to-end system), and Dark Channel Prior (DCP). There exist instances where the performance indices of AMEF exceed those of our model, yet there are situations where MBFIELM asserts superiority, outperforming these standard-bearers in algorithmic efficacy.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>least squares problem</kwd>
<kwd>Levenberg-Marquardt</kwd>
<kwd>foggy images</kwd>
<kwd>image enhancement</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor533_s_001">
<label>1</label>
<title>Introduction</title>
<p>Systems of nonlinear equations appear in the mathematical modelling of applications in the fields of physics, mechanics, chemistry, biology, computer science and applied mathematics.</p>
<p>Newton method is used for solving systems of nonlinear equations when the Jacobian matrix is Lipschitz continuous and nonsingular. The method is not well defined when the Jacobian matrix is singular. Levenberg-Marquardt algorithm was proposed to solve this problem, by introducing a regularization variable <italic>var</italic> which switches between the Gradient Descent method and the Gauss-Newton method under the condition of evaluating a cost function. The difficulty of applying the Levenberg-Marquardt algorithm, in order to be efficient for a large number of applications, lies in determining a strategy for calculating the regularization variable at each iteration step. Thus, numerous solutions have been proposed for this calculation by: Musa <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_013">2017</xref>), Karas <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_008">2016</xref>), Umar <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_017">2021</xref>). Ahookhosh Masoud implements an adaptive variable <italic>var</italic> and studies the local convergence under Holder metric subregularity of the function defining the equation and Holder continuity of its gradient mapping (Masoud <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_012">2019</xref>). He also evaluates the convergence under the assumption that the Lojasiewicz gradient inequality is valid. Liang Chen proposes a new Levenberg-Marquardt method by introducing a novel choice of the regularization variable <italic>var</italic>, incorporating an extended domain for its exponent coefficient (Chen and Ma, <xref ref-type="bibr" rid="j_infor533_ref_003">2023</xref>). He provides evidence that the new algorithm exhibits either superlinear or quadratic convergence, depending on the value of the exponent coefficient.</p>
<p>When the number of equations is very large, solving the identified least-square problem requires considerable resources, resulting in possible measurement redundancies. These realities lead us to conclude that an accurate assessment of the cost function and the gradient is not necessary to get the result of the problem. Jinyan Fan proposes a Levenberg-Marquardt algorithm using the trust region technique, where at each iteration an ap-proximate step is calculated in addition to the step towards the minimum of the function (Fan, <xref ref-type="bibr" rid="j_infor533_ref_005">2012</xref>). The algorithm proposed by Stefania Bellavia is based on a control of the level of accuracy for the cost function and the gradient, increasing the approximation values when the accuracy is too low to continue the optimization (Bellavia <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_001">2018</xref>).</p>
<p>Fog is a suspension of water droplets or ice crystals in the air. These particles are generally less than 50 microns in diameter and reduce visibility due to light scattering to less than 1 km. In the literature, the atmospheric propagation and the distribution of particles participating at effects such as light scattering corresponds to an atmospheric model. Intense research efforts are currently being developed to improve the possibility of detecting objects through fog. Kaiming He developed an algorithm predicated on the concept of dark channel prior (DCP) to mitigate the effects of fog (He <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_007">2011</xref>). His observation elucidated that the majority of local patches in fog-free outdoor images encapsulate pixels exhibiting minimal intensity within at least one colour channel. In the context of foggy images, these low-intensity pixels serve as accurate estimators of light transmission. By implementing an atmospheric scattering model alongside a soft matting interpolation methodology, the image is defogged and restored to its original clarity. Kyungil Kim proposes an image enhancement technique for fog-affected indoor and outdoor images combining dark channel prior (DCP), contrast limited adaptive histogram equalization and discrete wavelet transform. Their algorithm employs a modified transmission map to increase processing speed (Kim <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_009">2018</xref>). Sejal and Mitul (<xref ref-type="bibr" rid="j_infor533_ref_014">2014</xref>) provide the results of enhancement algorithms based on homomorphic filtering (emphasizes contours and reduces the influence of low-frequency components such as airlight), respectively, on a method with a mask and local histogram equalization. A comprehensive study of existing enhancement algorithms for images acquired in fog is described by Xu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_018">2016</xref>). He also addresses the processing of image sequences acquired under the same bad weather conditions. Bolun Cai develops DehazeNet, a trainable system based on convolutional neural networks (CNNs), whose layers are designed to incorporate assumptions made in image dehazing. The algorithm takes in a foggy image and estimates the transmission map of the environment, which is used for reconstructing the defogged image using the mentioned arithmetic fog model (Cai <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_002">2016</xref>). Adrian Galdran implements an image defogging method that eliminates degradation without requiring the model of the fog. The foggy image is first artificially underexposed through a sequence of gamma correction operations. The resulting images contain regions of increased contrast and saturation. A Laplacian multiscale fusion scheme gathers the areas of the highest quality from each image and combines them into a single fog-free image (Galdran, <xref ref-type="bibr" rid="j_infor533_ref_006">2018</xref>). Boyun Li introduced the “You Only Look Yourself” algorithm, an unsupervised and untrained neural network. It utilizes three subnetworks to decompose the foggy image into three layers: scene radiance, transmission map, and atmospheric light. These individual layers are then merged in a self-supervised manner, eliminating the time-consuming data acquisition and image dehazing is done only based on the observed foggy image (Li <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_010">2021</xref>).</p>
<p>The aim of our work is the enhancing visibility when fog reduces it. The method we propose uses a non-linear parametric model based on the extinction coefficient of the atmosphere and the sky light intensity. Both parameters are estimated thanks to the Levenberg-Marquard algorithm. An inverse transformation is applied to measured data (observations) to reconstruct the clear image. We described in Section <xref rid="j_infor533_s_002">2</xref> the “least squares problem” that determines an analytic function that traverses as well as possible a set of observations. Section <xref rid="j_infor533_s_003">3</xref> describes the Levenberg-Marquardt algorithm we use to estimate the components of the vector of unknown parameters of a model describing the process under analysis. The mathematical model for the acquisition process of homogeneous fog time images is described in Section <xref rid="j_infor533_s_007">4</xref>, a more complex approach is given in Curilă <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_004">2020</xref>). In Section <xref rid="j_infor533_s_008">5</xref> we propose an algorithm for improving fog degraded images (using simulated foggy images). Experimental results are presented in Section <xref rid="j_infor533_s_009">6</xref> and Section <xref rid="j_infor533_s_010">7</xref> presents discussions on the proposed method and the obtained results.</p>
</sec>
<sec id="j_infor533_s_002">
<label>2</label>
<title>Non-Linear Least Squares Problem</title>
<p>Data modelling is an interpolation between some observations that belong to a continuous function, while the other observations approach the function with a certain tolerance (see Fig. <xref rid="j_infor533_fig_001">1</xref>). A model that has the parameters <inline-formula id="j_infor533_ineq_001"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi></mml:math><tex-math><![CDATA[$i=1,\dots ,K$]]></tex-math></alternatives></inline-formula> and which fits a <inline-formula id="j_infor533_ineq_003"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{uv}}$]]></tex-math></alternatives></inline-formula> observations, <inline-formula id="j_infor533_ineq_004"><alternatives><mml:math>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$u=1,\dots ,N$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi></mml:math><tex-math><![CDATA[$v=1,\dots ,M$]]></tex-math></alternatives></inline-formula>, provides an analytical function: 
<disp-formula id="j_infor533_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ L(u,v;\mathbf{p}),\mathbf{p}=[{p_{1}}\dots {p_{K}}],\]]]></tex-math></alternatives>
</disp-formula> 
whose variables <bold>p</bold> are adjustable. Here, we consider that <inline-formula id="j_infor533_ineq_006"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$L(u,v;\mathbf{p})$]]></tex-math></alternatives></inline-formula> depends non-linearly on the components of the vector <bold>p</bold>.</p>
<p>The least squares problem’s scope is to estimate a mathematical model that fits a set of observations using the cost function minimization given by the sum of the squares of the errors between the data set and the model’s analytical function. The optimization algorithm is iterative because, as we mentioned, the model is non-linear in its parameters. At each step the parameters are modified to obtain a minimum of the cost function.</p>
<p>As the data is in most cases affected by noise, measurement errors are generated in the fitting process referred to as residues. Thus, for a fixed value of the vector <bold>p</bold> at a given time, the residues will be estimated as follows 
<disp-formula id="j_infor533_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\chi _{uv}}={L_{uv}}-L(u,v;\mathbf{p}).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The objective is to find <inline-formula id="j_infor533_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}$]]></tex-math></alternatives></inline-formula>, where the cost function <inline-formula id="j_infor533_ineq_008"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}(\mathbf{p})$]]></tex-math></alternatives></inline-formula>, given by the second-order norm of the residues <inline-formula id="j_infor533_ineq_009"><alternatives><mml:math>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\| {\chi _{uv}}{\| ^{2}}$]]></tex-math></alternatives></inline-formula>, will take the minimum value. 
<disp-formula id="j_infor533_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\chi ^{2}}(\mathbf{p})=\frac{1}{2}\underset{u=1}{\sum \limits^{N}}\underset{v=1}{\sum \limits^{M}}{\big({L_{uv}}-L(u,v;{p_{1}},\dots ,{p_{K}})\big)^{2}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>With a certain number of <inline-formula id="j_infor533_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{uv}}$]]></tex-math></alternatives></inline-formula> observations and a model that provides an analytical function that fits them, there are parameters for which the fitting is very well made (those parameters are unique), and for other parameter values the model’s analytical function <inline-formula id="j_infor533_ineq_011"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$L(u,v;\mathbf{p})$]]></tex-math></alternatives></inline-formula> does not resemble the data at all.</p>
<fig id="j_infor533_fig_001">
<label>Fig. 1</label>
<caption>
<p>The set of observations <inline-formula id="j_infor533_ineq_012"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{uv}}$]]></tex-math></alternatives></inline-formula> (represented by <bold>O</bold>) and the model’s analytical function <inline-formula id="j_infor533_ineq_013"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$L(u,v;\mathbf{p})$]]></tex-math></alternatives></inline-formula> (represented by a solid gray line).</p>
</caption>
<graphic xlink:href="infor533_g001.jpg"/>
</fig>
<p>Starting with an initial value of the vector <bold>p</bold>, we will implement an optimization algorithm that will adapt <bold>p</bold> by a difference <inline-formula id="j_infor533_ineq_014"><alternatives><mml:math>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold">p</mml:mi></mml:math><tex-math><![CDATA[$\Delta \mathbf{p}$]]></tex-math></alternatives></inline-formula> until the procedure stops based on predetermined constraints described below.</p>
</sec>
<sec id="j_infor533_s_003">
<label>3</label>
<title>Optimization Algorithm</title>
<p>Using the established values of the parameters, the non-linear optimization algorithm determines step by step a series of values of <bold>p</bold> that converge towards a <inline-formula id="j_infor533_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}$]]></tex-math></alternatives></inline-formula> corresponding to the minimum of the cost function <inline-formula id="j_infor533_ineq_016"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}(\mathbf{p})$]]></tex-math></alternatives></inline-formula> (Musa <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_013">2017</xref>; Karas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_008">2016</xref>).</p>
<p>From the Taylor series, the cost function is approximated by a polynomial that has a value very close to that of the function in a specified neighbourhood: 
<disp-formula id="j_infor533_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mo maxsize="2.03em" minsize="2.03em" stretchy="true">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mo maxsize="2.03em" minsize="2.03em" stretchy="true">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mo>…</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo stretchy="false">≈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo>∇</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\chi ^{2}}(\mathbf{p})& ={\chi ^{2}}({\mathbf{p}_{0}})+\underset{i=1}{\sum \limits^{K}}\frac{\partial {\chi ^{2}}}{\partial {p_{i}}}{\bigg|_{\mathbf{p}={\mathbf{p}_{0}}}}(\mathbf{p}-{\mathbf{p}_{0}})\\ {} & \hspace{1em}+\frac{1}{2}\underset{i=1}{\sum \limits^{K}}\underset{j=1}{\sum \limits^{K}}\frac{{\partial ^{2}}{\chi ^{2}}}{\partial {p_{i}}\partial {p_{j}}}{\bigg|_{\mathbf{p}={\mathbf{p}_{0}}}}{(\mathbf{p}-{\mathbf{p}_{0}})^{2}}+\dots \\ {} & \approx {\chi ^{2}}({\mathbf{p}_{0}})+\nabla {\chi ^{2}}({\mathbf{p}_{0}})(\mathbf{p}-{\mathbf{p}_{0}})+\frac{1}{2}{(\mathbf{p}-{\mathbf{p}_{0}})^{T}}{\nabla ^{2}}{\chi ^{2}}({\mathbf{p}_{0}})(\mathbf{p}-{\mathbf{p}_{0}}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>In the above equation the vector <inline-formula id="j_infor533_ineq_017"><alternatives><mml:math>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\nabla {\chi ^{2}}({\mathbf{p}_{0}})$]]></tex-math></alternatives></inline-formula> is called the <italic>Gradient</italic> at <inline-formula id="j_infor533_ineq_018"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}=\mathbf{p}_{\mathbf{0}}}$]]></tex-math></alternatives></inline-formula> and the matrix <inline-formula id="j_infor533_ineq_019"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mo>∇</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\nabla ^{2}}{\chi ^{2}}({\mathbf{p}_{0}})$]]></tex-math></alternatives></inline-formula> is the <italic>Hessian matrix</italic> at <inline-formula id="j_infor533_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}=\mathbf{p}_{\mathbf{0}}}$]]></tex-math></alternatives></inline-formula>. In our approach, we will assume that the cost function is described by a parabola in the neighbourhood of its minimum value.</p>
<sec id="j_infor533_s_004">
<label>3.1</label>
<title>Gradient Descent Method</title>
<p>The gradient descent method finds the minima of a function. The essence of the method is to move one step at a time on the slope to the function that we minimize. In each step the parameters of the cost function are updated by the following relation: 
<disp-formula id="j_infor533_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">var</mml:mtext>
<mml:mo>·</mml:mo>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathbf{p}_{i+1}}={\mathbf{p}_{i}}-\textit{var}\cdot \nabla {\chi ^{2}}({\mathbf{p}_{i}}).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The <italic>var</italic> coefficient is chosen so that the moving <inline-formula id="j_infor533_ineq_021"><alternatives><mml:math>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\Delta \mathbf{p}={\mathbf{p}_{i+1}}-{\mathbf{p}_{i}}$]]></tex-math></alternatives></inline-formula> leads to the maximum decrease of the minimization function.</p>
<fig id="j_infor533_fig_002">
<label>Fig. 2</label>
<caption>
<p>Moving on the slope to the minimize function (low slope, respectively high slope).</p>
</caption>
<graphic xlink:href="infor533_g002.jpg"/>
</fig>
<p>In order to reach the minimum of the cost function, large steps must be taken in the area where the slope is low and small steps where the slope is high (see Fig. <xref rid="j_infor533_fig_002">2</xref>). But in relation to (<xref rid="j_infor533_eq_005">5</xref>) the calculation is inverse to this principle, generating convergence difficulties.</p>
</sec>
<sec id="j_infor533_s_005">
<label>3.2</label>
<title>Gauss-Newton Method</title>
<p>The Gauss-Newton method achieves a safe convergence appealing to the second-order derivative. Using the Taylor series development in the neighbourhood of the current value <inline-formula id="j_infor533_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{i}}$]]></tex-math></alternatives></inline-formula> for the cost function, Gauss-Newton’s method calculates the gradient of the function as follows: 
<disp-formula id="j_infor533_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo>∇</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>…</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \nabla {\chi ^{2}}(\mathbf{p})=\nabla {\chi ^{2}}({\mathbf{p}_{i}})+{(\mathbf{p}-{\mathbf{p}_{i}})^{T}}{\nabla ^{2}}{\chi ^{2}}({\mathbf{p}_{i}})+\dots \]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The Gradient vector is zero when the function reaches a minimum (<inline-formula id="j_infor533_ineq_023"><alternatives><mml:math>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\nabla {\chi ^{2}}(\mathbf{p})=0$]]></tex-math></alternatives></inline-formula>). As we mentioned <inline-formula id="j_infor533_ineq_024"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}(\mathbf{p})$]]></tex-math></alternatives></inline-formula> is described by a parabola in the neighbourhood of its minimum, so high order terms in Eq. (<xref rid="j_infor533_eq_006">6</xref>) are neglected and the retained expression is zero. Thus, solving the equation <inline-formula id="j_infor533_ineq_025"><alternatives><mml:math>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\nabla {\chi ^{2}}(\mathbf{p})=0$]]></tex-math></alternatives></inline-formula> in a single step determines the parameters <inline-formula id="j_infor533_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}$]]></tex-math></alternatives></inline-formula> corresponding to the minimum of the cost function.</p>
<p>Finding the solution <inline-formula id="j_infor533_ineq_027"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}$]]></tex-math></alternatives></inline-formula> becomes difficult for non-quadratic functions due to the complexity of the calculation for the Hessian matrix and the high-order terms. Because of the overlooked values made in the Taylor series development, the calculated corrections no longer ensure the complete displacement from the <inline-formula id="j_infor533_ineq_028"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{i}}$]]></tex-math></alternatives></inline-formula> approximation to the exact solution <inline-formula id="j_infor533_ineq_029"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}$]]></tex-math></alternatives></inline-formula>, but to its new approximation. Therefore, the parameters update relation in Gauss-Newton’s method is the following: 
<disp-formula id="j_infor533_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>∇</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>·</mml:mo>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathbf{p}_{i+1}}={\mathbf{p}_{i}}-{\big({\nabla ^{2}}{\chi ^{2}}({\mathbf{p}_{i}})\big)^{-1}}\cdot \nabla {\chi ^{2}}({\mathbf{p}_{i}}).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>On the other hand, the identity matrix can be used to estimate the Hessian matrix <inline-formula id="j_infor533_ineq_030"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>∇</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({({\nabla ^{2}}{\chi ^{2}}({\mathbf{p}_{i}}))^{-1}}=I)$]]></tex-math></alternatives></inline-formula>, thus obtaining the quasi-Gauss-Newton method: 
<disp-formula id="j_infor533_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">var</mml:mtext>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo>·</mml:mo>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext mathvariant="italic">var</mml:mtext>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathbf{p}_{i+1}}={\mathbf{p}_{i}}-\textit{var}\cdot I\cdot \nabla {\chi ^{2}}({\mathbf{p}_{i}}),\hspace{1em}\textit{var}\in (0,1).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Eqs. (<xref rid="j_infor533_eq_005">5</xref>) and (<xref rid="j_infor533_eq_007">7</xref>) require the calculation of the gradient of the cost function, moreover, Eq. (<xref rid="j_infor533_eq_007">7</xref>) involves the calculation of the Hessian matrix. Both the calculations of the gradient vector and of the Hessian matrix of the <inline-formula id="j_infor533_ineq_031"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}(\mathbf{p})$]]></tex-math></alternatives></inline-formula> are feasible, the model function being known.</p>
<p>The Gradient vector of the cost function has the following components: 
<disp-formula id="j_infor533_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>·</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& \frac{\partial {\chi ^{2}}}{\partial {p_{i}}}=-\underset{u=1}{\sum \limits^{N}}\underset{v=1}{\sum \limits^{M}}\big({L_{uv}}-L(u,v;{p_{1}},\dots ,{p_{K}})\big)\cdot \frac{\partial L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{i}}},\\ {} & \hspace{1em}i=1,\dots ,K.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Next, we calculate the components of the Hessian matrix: 
<disp-formula id="j_infor533_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>·</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mpadded height="0pt" depth="0pt">
<mml:mphantom><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo></mml:mphantom></mml:mpadded>
<mml:mo>−</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>·</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& \frac{{\partial ^{2}}{\chi ^{2}}}{\partial {p_{i}}\partial {p_{j}}}=\underset{u=1}{\sum \limits^{N}}\underset{v=1}{\sum \limits^{M}}\bigg[\frac{\partial L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{i}}}\cdot \frac{\partial L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{j}}}\\ {} & \phantom{\frac{{\partial ^{2}}{\chi ^{2}}}{\partial {p_{i}}\partial {p_{j}}}=}-\big({L_{uv}}-L(u,v;{p_{1}},\dots ,{p_{K}})\big)\cdot \frac{{\partial ^{2}}L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{i}}\partial {p_{j}}}\bigg],\\ {} & \hspace{1em}i,j=1,\dots ,K.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The approximation used in Eq. (<xref rid="j_infor533_eq_010">10</xref>) is linearity of the <inline-formula id="j_infor533_ineq_032"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({L_{uv}}-L(u,v;\mathbf{p}))$]]></tex-math></alternatives></inline-formula> so that <inline-formula id="j_infor533_ineq_033"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{{\partial ^{2}}L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{i}}\partial {p_{j}}}$]]></tex-math></alternatives></inline-formula> are small. The term <inline-formula id="j_infor533_ineq_034"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>·</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$[{L_{uv}}-L(u,v;{p_{1}},\dots ,{p_{K}})]\cdot \frac{{\partial ^{2}}L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{i}}\partial {p_{j}}}$]]></tex-math></alternatives></inline-formula> is generally uncorrelated to the model and can be a destabilizing factor if the fitting is poor or if there are observations that do not belong to the model’s analytical function. This term is eliminated compared to the first term that uses the first derivative, and the components of the Hessian matrix are given by: 
<disp-formula id="j_infor533_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>∂</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>·</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& \frac{{\partial ^{2}}{\chi ^{2}}}{\partial {p_{i}}\partial {p_{j}}}=\underset{u=1}{\sum \limits^{N}}\underset{v=1}{\sum \limits^{M}}\bigg[\frac{\partial L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{i}}}\cdot \frac{\partial L(u,v;{p_{1}},\dots ,{p_{K}})}{\partial {p_{j}}}\bigg],\\ {} & \hspace{1em}i,j=1,\dots ,K.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>This operation does not affect the vector <inline-formula id="j_infor533_ineq_035"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}$]]></tex-math></alternatives></inline-formula> corresponding to the minimum value of the cost function, but only occurs on the way to reach that minimum.</p>
<p>The next iterative algorithm will generally use the Gauss-Newton method, the Gradient Descent method being used only when Eq. (<xref rid="j_infor533_eq_007">7</xref>) does not ameliorate the fit, noting an erroneous quadratic polynomial approximation in Eq. (<xref rid="j_infor533_eq_004">4</xref>).</p>
</sec>
<sec id="j_infor533_s_006">
<label>3.3</label>
<title>Levenberg-Marquardt Algorithm</title>
<p>Depending on the value of the variable <italic>var</italic>, the Levenberg-Marquardt algorithm (<bold>L</bold>-<bold>M</bold>) utilizes in the optimization process either the Gradient Descent method or the Gauss-Newton method (Umar <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_017">2021</xref>). If the cost function decreases from one step to the next one, a correct quadratic approximation is used in Eq. (<xref rid="j_infor533_eq_004">4</xref>) and we will reduce the value of the variable <italic>var</italic> by a factor of 10 to reduce the input of the Gradient Descent method. Otherwise, if the cost function increases from one step to the next one, we are far from the minimum, and therefore the function should not be approximated by a parabola, requiring a large input of the Gradient Descent method by increasing 10 time the value of the variable <italic>var</italic>. 
<disp-formula id="j_infor533_eq_012">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>∇</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="italic">var</mml:mtext>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>·</mml:mo>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathbf{p}_{i+1}}={\mathbf{p}_{i}}-{\big({\nabla ^{2}}{\chi ^{2}}({\mathbf{p}_{i}})+\textit{var}\cdot I\big)^{-1}}\cdot \nabla {\chi ^{2}}({\mathbf{p}_{i}}).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Starting with initial values assigned to unknown parameters, the algorithm will follow the next steps: 
<def-list><def-item><term><bold>Step 0.</bold></term><def>
<p>With <inline-formula id="j_infor533_ineq_036"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{i}}={\mathbf{p}_{0}}$]]></tex-math></alternatives></inline-formula>, evaluate <inline-formula id="j_infor533_ineq_037"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}({\mathbf{p}_{i}})$]]></tex-math></alternatives></inline-formula> from Eq. (<xref rid="j_infor533_eq_003">3</xref>);</p></def></def-item><def-item><term><bold>Step 1.</bold></term><def>
<p>Initialize <inline-formula id="j_infor533_ineq_038"><alternatives><mml:math>
<mml:mtext mathvariant="italic">var</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\textit{var}={10^{-3}}$]]></tex-math></alternatives></inline-formula>;</p></def></def-item><def-item><term><bold>Step 2.</bold></term><def>
<p>Calculate <inline-formula id="j_infor533_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{i+1}}$]]></tex-math></alternatives></inline-formula> from Eq. (<xref rid="j_infor533_eq_012">12</xref>) and evaluate <inline-formula id="j_infor533_ineq_040"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}({\mathbf{p}_{i+1}})$]]></tex-math></alternatives></inline-formula>;</p></def></def-item><def-item><term><bold>Step 3.</bold></term><def>
<p>If <inline-formula id="j_infor533_ineq_041"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}({\mathbf{p}_{i+1}})$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_infor533_ineq_042"><alternatives><mml:math>
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\geqslant {\chi ^{2}}({\mathbf{p}_{i}})$]]></tex-math></alternatives></inline-formula>, increase the value of the variable <italic>var</italic> by a factor of 10 and go to <bold>Step 2</bold>;</p></def></def-item><def-item><term><bold>Step 4.</bold></term><def>
<p>If <inline-formula id="j_infor533_ineq_043"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\chi ^{2}}({\mathbf{p}_{i+1}})$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_infor533_ineq_044"><alternatives><mml:math>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\lt {\chi ^{2}}({\mathbf{p}_{i}})$]]></tex-math></alternatives></inline-formula>, reduce the value of the variable <italic>var</italic> by 10, update the <inline-formula id="j_infor533_ineq_045"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{i}}$]]></tex-math></alternatives></inline-formula> parameters by values <inline-formula id="j_infor533_ineq_046"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathbf{p}_{i+1}}$]]></tex-math></alternatives></inline-formula> and go to <bold>Step 2</bold>.</p></def></def-item></def-list> <italic>Predetermined constraints</italic></p>
<p>If one of the following conditions is met, the iterative algorithm will stop: 
<list>
<list-item id="j_infor533_li_001">
<label>1.</label>
<p>Gradient convergence, the gradient of the cost function decreases below a pre-established threshold: <inline-formula id="j_infor533_ineq_047"><alternatives><mml:math>
<mml:mo>∇</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\nabla {\chi ^{2}}({\mathbf{p}_{i}})\lt {\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor533_li_002">
<label>2.</label>
<p>Convergence of the parameters, the parameter updates become very small: <inline-formula id="j_infor533_ineq_048"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$|{\mathbf{p}_{i+1}}-{\mathbf{p}_{i}}|\lt {\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor533_li_003">
<label>3.</label>
<p>Cost function convergence, when it has reached a certain threshold: <inline-formula id="j_infor533_ineq_049"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\chi ^{2}}({\mathbf{p}_{i+1}})\lt {\varepsilon _{3}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor533_li_004">
<label>4.</label>
<p>The number of iterations is greater than an established limit <italic>MaxIterations</italic>.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="j_infor533_s_007">
<label>4</label>
<title>A Mathematical Model for Fog</title>
<p>It is assumed that a collimated beam of light with a unitary cross-section traverses the dispersive environment of thickness <inline-formula id="j_infor533_ineq_050"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[$dz$]]></tex-math></alternatives></inline-formula> (fog dispersion, see Fig. <xref rid="j_infor533_fig_003">3</xref>) (Curilă <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_004">2020</xref>). The radiative transfer through fog is expressed by Schwarzschild’s equation as follows: 
<disp-formula id="j_infor533_eq_013">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ d{L_{\lambda }}=-{\beta _{\lambda }}\cdot {L_{\lambda }}(z)dz+{\beta _{\lambda }}\cdot {L_{S\lambda }}dz,\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor533_ineq_051"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${L_{\lambda }}(z)$]]></tex-math></alternatives></inline-formula> is the intensity of radiation, <inline-formula id="j_infor533_ineq_052"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\lambda }}$]]></tex-math></alternatives></inline-formula> is the extinction coefficient of the atmosphere and <inline-formula id="j_infor533_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\lambda }}$]]></tex-math></alternatives></inline-formula> is the sky light intensity.</p>
<p>The fractional change in intensity of radiation, the first term of Eq. (<xref rid="j_infor533_eq_013">13</xref>), expresses a relationship between the light intensity and the properties of the dispersive environment.</p>
<fig id="j_infor533_fig_003">
<label>Fig. 3</label>
<caption>
<p>Radiative transfer scheme.</p>
</caption>
<graphic xlink:href="infor533_g003.jpg"/>
</fig>
<p>As represented in the radiative transfer scheme, the aerosol particles capture the sky light and radiate it back in all directions. Some of the scattered light passes into the direct transmission path and raises the pixel intensity value acquired by the camera. Taking into account the increase <inline-formula id="j_infor533_ineq_054"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(z,z+dz)$]]></tex-math></alternatives></inline-formula> of the direct transmission path, the fractional change in the radiation intensity due to the scattering of sky light is given by the second term of Eq. (<xref rid="j_infor533_eq_013">13</xref>). This process, the emission of thermal radiation via the direct transmission path, is typically called airlight. When the distance in the <italic>z</italic>-direction grows, the minus sign in the above equation denotes a reduction in <inline-formula id="j_infor533_ineq_055"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${L_{\lambda }}(z)$]]></tex-math></alternatives></inline-formula>, while the plus points to an increase.</p>
<p>Our approach uses a linear first-order Eq. (<xref rid="j_infor533_eq_013">13</xref>) whose solution was presented in Sokolik (<xref ref-type="bibr" rid="j_infor533_ref_015">2021</xref>). This results in the following mathematical model of the image acquisition during homogeneous fog, which includes both object radiation attenuation and atmospheric veil superposition: 
<disp-formula id="j_infor533_eq_014">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {L_{\lambda }}\big(M(u,v)\big)={L_{\lambda }}\big(O(X,Y,Z)\big)\cdot {e^{-{\beta _{\lambda }}d(u,v)}}+{L_{S\lambda }}\big(1-{e^{-{\beta _{\lambda }}d(u,v)}}\big),\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor533_ineq_056"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${L_{\lambda }}(M(u,v))$]]></tex-math></alternatives></inline-formula> is the intensity of the pixel, <inline-formula id="j_infor533_ineq_057"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${L_{\lambda }}(O(X,Y,Z))$]]></tex-math></alternatives></inline-formula> is the radiant intensity of corresponding point on the scene, <inline-formula id="j_infor533_ineq_058"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$d(u,v)$]]></tex-math></alternatives></inline-formula> is the distance map, <inline-formula id="j_infor533_ineq_059"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\lambda }}$]]></tex-math></alternatives></inline-formula> is the extinction coefficient and <inline-formula id="j_infor533_ineq_060"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\lambda }}$]]></tex-math></alternatives></inline-formula> is the sky light intensity both mentioned above, and <inline-formula id="j_infor533_ineq_061"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${L_{S\lambda }}(1-{e^{-{\beta _{\lambda }}d(u,v)}})$]]></tex-math></alternatives></inline-formula> is the atmospheric veil.</p>
<p>The distance map expresses the distances between the camera and the points on the scene. This matrix recording was obtained by: a) FRIDA image database (as the first one in Fig. <xref rid="j_infor533_fig_004">4</xref>) (Tarel <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_016">2010</xref>); b) using approximate measurements and perspective projection system for real images (the other two distance maps in the same figure). Real-life atmospheric impressions are simulated by choosing the type of fog and adding an atmospheric veil by suitably establishing the local distances. Next, we present distance maps for <italic>LIMA-000011</italic>, <italic>ship</italic> and <italic>bridge</italic> images (Curilă <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_004">2020</xref>; Tarel <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_016">2010</xref>).</p>
<fig id="j_infor533_fig_004">
<label>Fig. 4</label>
<caption>
<p>The distance maps for the three aforementioned images, which are included in the test dataset.</p>
</caption>
<graphic xlink:href="infor533_g004.jpg"/>
</fig>
</sec>
<sec id="j_infor533_s_008">
<label>5</label>
<title>Model Based Foggy Image Enhancement Using L-M (MBFIELM)</title>
<p>The algorithm we propose in this section relies on applying an inverse transformation to the degradation process during fog time image acquisition in order to obtain an enhanced image. We use the mathematical model described in Section <xref rid="j_infor533_s_007">4</xref> to estimate an analytic function that best approximates an image acquired in foggy conditions. We avoid arriving at an indeterminate problem, where the number of data is less than the number of unknowns, by setting the unknown parameters: <inline-formula id="j_infor533_ineq_062"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{\lambda }}$]]></tex-math></alternatives></inline-formula> the mean of the radiant intensities of the scene points, <inline-formula id="j_infor533_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\lambda }}$]]></tex-math></alternatives></inline-formula> the extinction coefficient of the atmosphere and <inline-formula id="j_infor533_ineq_064"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\lambda }}$]]></tex-math></alternatives></inline-formula> the sky light intensity (<inline-formula id="j_infor533_ineq_065"><alternatives><mml:math>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\mathbf{p}=[{\mu _{\lambda }}\hspace{2.5pt}{\beta _{\lambda }}\hspace{2.5pt}{L_{S\lambda }}]$]]></tex-math></alternatives></inline-formula>). In this way, the following pseudo-model is generated for foggy images: 
<disp-formula id="j_infor533_eq_015">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ L(u,v;{p_{1}},{p_{2}},{p_{3}})={\mu _{\lambda }}\cdot {e^{-{\beta _{\lambda }}d(u,v)}}+{L_{S\lambda }}\big(1-{e^{-{\beta _{\lambda }}d(u,v)}}\big),\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor533_ineq_066"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{1}}={\mu _{\lambda }},{p_{2}}={\beta _{\lambda }},{p_{3}}={L_{S\lambda }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_067"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext>mean</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mu _{\lambda }}=\text{mean}({L_{\lambda }}(O(X,Y,Z)))$]]></tex-math></alternatives></inline-formula>.</p>
<p>The optimization algorithm that will estimate the pseudo-model <inline-formula id="j_infor533_ineq_068"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$L(u,v;{p_{1}},{p_{2}},{p_{3}})$]]></tex-math></alternatives></inline-formula> parameters is Levenberg-Marquardt (see Section <xref rid="j_infor533_s_006">3.3</xref>).</p>
<p>We have the following description of the cost function that is minimized to determine the parameter vector <inline-formula id="j_infor533_ineq_069"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[${\mathbf{p}_{\min }}=[{\mu _{\lambda \min }}\hspace{2.5pt}{\beta _{\lambda \min }}\hspace{2.5pt}{L_{S\lambda \min }}]$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor533_eq_016">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">χ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\chi ^{2}}(\mathbf{p})=\frac{1}{2}\underset{u=1}{\sum \limits^{N}}\underset{v=1}{\sum \limits^{M}}{\big({L_{uv}}-{\mu _{\lambda }}\cdot {e^{-{\beta _{\lambda }}d(u,v)}}-{L_{S\lambda }}\big(1-{e^{-{\beta _{\lambda }}d(u,v)}}\big)\big)^{2}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The estimated parameter <inline-formula id="j_infor533_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{\lambda \min }}$]]></tex-math></alternatives></inline-formula> is not used in the degraded image enhancement equation, it only provides information about the mean of the radiant intensities of the scene. The enhanced image is determined by the following equation, applicable to each wavelength (red, green, blue): 
<disp-formula id="j_infor533_eq_017">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>enhanced</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {L_{\lambda \hspace{0.1667em}\text{enhanced}}}(u,v)=\frac{{L_{uv}}-{L_{S\lambda \min }}(1-{e^{-{\beta _{\lambda \min }}d(u,v)}})}{{e^{-{\beta _{\lambda \min }}d(u,v)}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor533_s_009">
<label>6</label>
<title>Experimental Results</title>
<p>We validate the proposed algorithm using a dataset of sixteen simulated foggy images. Testing on real images would have meant having the set of reference images <inline-formula id="j_infor533_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> acquired in the absence of the dispersive environment (fog), the set of images acquired in foggy conditions <inline-formula id="j_infor533_ineq_072"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_real</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_real}}}$]]></tex-math></alternatives></inline-formula> and the corresponding set of distance maps <italic>d</italic>. The three data matrices, corresponding to an image enhancement, must be synchronized (for each pixel that records a point in the scene in the <inline-formula id="j_infor533_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> matrix, there must be a pixel that records the same point in the scene in the presence of fog in the <inline-formula id="j_infor533_ineq_074"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_real</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_real}}}$]]></tex-math></alternatives></inline-formula> matrix and in the <italic>d</italic> matrix we should find the distance between the camera and the point in the scene – with no offsets present). This synchronization requires a camera attached to a tripod that is not moved until both the reference image <inline-formula id="j_infor533_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> and the foggy image <inline-formula id="j_infor533_ineq_076"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_real</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_real}}}$]]></tex-math></alternatives></inline-formula> are acquired. The duration of the capture of the two moments can be very long. Furthermore, to test the robustness of the algorithm we should have made these pairs of acquisitions (reference image, foggy image) in different locations to capture different scenes while also ensuring that the distance map is synchronized.</p>
<p>Therefore, at this point, we are left with the quick solution of testing the enhancement algorithm on images with the presence of simulated fog <inline-formula id="j_infor533_ineq_077"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_simul}}}$]]></tex-math></alternatives></inline-formula> using the mathematical model in Eq. (<xref rid="j_infor533_eq_014">14</xref>) and the corresponding real reference image <inline-formula id="j_infor533_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula>. The set of <inline-formula id="j_infor533_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{uv}}$]]></tex-math></alternatives></inline-formula> observations is determined by the simulated <inline-formula id="j_infor533_ineq_080"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_simul}}}$]]></tex-math></alternatives></inline-formula> image based on the reference image <inline-formula id="j_infor533_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> and the parameters <inline-formula id="j_infor533_ineq_082"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>red</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{red}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>red</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{red}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_084"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>green</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{green}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>green</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{green}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>blue</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{blue}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_087"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>blue</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{blue}}}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor533_eq_018">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {L_{uv}}={L_{\text{fog\_simul}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>We applied the Levenberg-Marquardt optimization algorithm on the dataset of sixteen test images, a representative selection of which are evaluated here. We worked on each channel separately in the RGB (red-green-blue) colour space, as this is how the simulated fog was introduced. Table <xref rid="j_infor533_tab_001">1</xref> shows the parameters used to simulate the images in foggy conditions (<inline-formula id="j_infor533_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_simul}}}$]]></tex-math></alternatives></inline-formula> – <italic>LIma-000011</italic>, <italic>ship</italic>, <italic>bridge</italic>) and the parameters estimated by minimizing the cost function in Eq. (<xref rid="j_infor533_eq_016">16</xref>).</p>
<table-wrap id="j_infor533_tab_001">
<label>Table 1</label>
<table>
<thead>
<tr>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Image</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Parameters used in the simulation</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Estimated parameters</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Red</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Green</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Blue</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Red</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Green</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Blue</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>LIma11</italic></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_089"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{r}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_090"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{g}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{b}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_092"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>92.4392</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{r}\min }}=92.4392$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_093"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>93.8712</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{g}\min }}=93.8712$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_094"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>84.3013</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{b}\min }}=84.3013$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_095"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{r}}}=0.3$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_096"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{g}}}=0.3$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_097"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{b}}}=0.3$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_098"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.2820</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{r}\min }}=0.2820$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.2711</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{g}\min }}=0.2711$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_100"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.2705</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{b}\min }}=0.2705$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>260</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{r}}}=260$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>260</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{g}}}=260$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_103"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>260</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{b}}}=260$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_104"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>263.8087</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{r}\min }}=263.8087$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_105"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>264.7210</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{g}\min }}=264.7210$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_106"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>264.5776</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{b}\min }}=264.5776$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>ship</italic></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_107"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{r}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_108"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{g}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_109"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{b}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_110"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>57.9859</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{r}\min }}=57.9859$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_111"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>91.5837</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{g}\min }}=91.5837$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_112"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>108.4424</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{b}\min }}=108.4424$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_113"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{r}}}=0.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_114"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{g}}}=0.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_115"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{b}}}=0.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_116"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3710</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{r}\min }}=0.3710$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_117"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3177</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{g}\min }}=0.3177$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_118"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.2752</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{b}\min }}=0.2752$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>170</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{r}}}=170$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_120"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>170</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{g}}}=170$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_121"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>170</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{b}}}=170$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_122"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>172.4667</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{r}\min }}=172.4667$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_123"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>173.7974</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{g}\min }}=173.7974$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_124"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>175.0974</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{b}\min }}=175.0974$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>bridge</italic></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_125"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{r}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{g}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_127"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{b}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_128"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>115.2789</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{r}\min }}=115.2789$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_129"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>110.8441</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{g}\min }}=110.8441$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>107.3712</mml:mn></mml:math><tex-math><![CDATA[${\mu _{\text{b}\min }}=107.3712$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_131"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{r}}}=0.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{g}}}=0.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_133"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{b}}}=0.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3054</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{r}\min }}=0.3054$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_135"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3166</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{g}\min }}=0.3166$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor533_ineq_136"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3272</mml:mn></mml:math><tex-math><![CDATA[${\beta _{\text{b}\min }}=0.3272$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_137"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>220</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{r}}}=220$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>220</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{g}}}=220$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_139"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>220</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{b}}}=220$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_140"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>r</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>223.3607</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{r}\min }}=223.3607$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_141"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>g</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>223.4535</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{g}\min }}=223.4535$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_142"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>b</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>223.3768</mml:mn></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{b}\min }}=223.3768$]]></tex-math></alternatives></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We will make a visual inspection of the degree of fit of the estimated foggy image <inline-formula id="j_infor533_ineq_143"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_estim</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_estim}}}$]]></tex-math></alternatives></inline-formula>, obtained with the mathematical model defined by Eq. (<xref rid="j_infor533_eq_014">14</xref>) using <inline-formula id="j_infor533_ineq_144"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> and the estimated parameters (<inline-formula id="j_infor533_ineq_145"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>red</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{red}\min }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_146"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>red</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{red}\min }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_147"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>green</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{green}\min }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_148"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>green</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{green}\min }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_149"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>blue</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{blue}\min }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_150"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>blue</mml:mtext>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{blue}\min }}$]]></tex-math></alternatives></inline-formula>), to the simulated image <inline-formula id="j_infor533_ineq_151"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_simul}}}$]]></tex-math></alternatives></inline-formula>, obtained with the same equation and the parameters <inline-formula id="j_infor533_ineq_152"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>red</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{red}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_153"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>red</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{red}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_154"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>red</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{red}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_155"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>green</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{green}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_156"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>green</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{green}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_157"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>green</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{green}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_158"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.1667em"/>
<mml:mtext>blue</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0\hspace{0.1667em}\text{blue}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_159"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>blue</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\beta _{\text{blue}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor533_ineq_160"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mtext>blue</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{S\hspace{0.1667em}\text{blue}}}$]]></tex-math></alternatives></inline-formula>, representing in 3D the absolute value of the difference of the two images: 
<disp-formula id="j_infor533_eq_019">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">dif</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_estim</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textit{dif}_{\lambda }}=\big|{L_{\text{fog\_estim}}}(:,:,\lambda )-{L_{\text{fog\_simul}}}(:,:,\lambda )\big|.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<fig id="j_infor533_fig_005">
<label>Fig. 5</label>
<caption>
<p>Absolute value of the difference between the estimated foggy image <inline-formula id="j_infor533_ineq_161"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_estim</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_estim}}}$]]></tex-math></alternatives></inline-formula> and the simulated image <inline-formula id="j_infor533_ineq_162"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_simul}}}$]]></tex-math></alternatives></inline-formula> (a, b, c the rgb components of the <italic>ship</italic> image; d, e, f the rgb components of the <italic>bridge</italic> image).</p>
</caption>
<graphic xlink:href="infor533_g005.jpg"/>
</fig>
<p>The better the fit, the smaller the difference <italic>dif</italic> is, so the parameters <inline-formula id="j_infor533_ineq_163"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\beta _{\lambda \min }}{L_{S\lambda \min }}]$]]></tex-math></alternatives></inline-formula> are better estimated and the enhancement algorithm gives a consistent result (ideally <inline-formula id="j_infor533_ineq_164"><alternatives><mml:math>
<mml:mtext mathvariant="italic">dif</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\textit{dif}=0$]]></tex-math></alternatives></inline-formula> and the enhanced image becomes <inline-formula id="j_infor533_ineq_165"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> – this result will never be obtained since the pseudo-model used in the optimization operation has as parameter <inline-formula id="j_infor533_ineq_166"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{1}}$]]></tex-math></alternatives></inline-formula> an average of the <inline-formula id="j_infor533_ineq_167"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> luminances). As it can be seen from Fig. <xref rid="j_infor533_fig_005">5</xref> for both images (<italic>ship</italic> and <italic>bridge</italic>), the mean value of the <italic>dif</italic> is equal to 5 at almost all wavelengths. The exception is only in Fig. <xref rid="j_infor533_fig_005">5</xref>a) where for the red wavelength, in the case of the <italic>ship</italic> image, the mean value of the <italic>dif</italic> is equal to 2.</p>
<p>We assess the algorithm’s performance using both visual subjective inspection and a quantitative criterion. In order to compare our results with those from other algorithms in the relevant literature, we utilize an adapted metric to the quality of defogged images introduced by Liu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>).</p>
<p>Regarding the visual inspection, we present six representative images from the test dataset in the following order: <italic>LIma-000011</italic>, <italic>ship</italic>, <italic>bridge</italic>, <italic>LIma-000013</italic>, <italic>LIma-000015</italic> and <italic>LIma-000006</italic> (Tarel <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_016">2010</xref>). The results of the <italic>Model-Based Foggy Image Enhancement using Levenberg-Marquardt</italic> non-linear estimation (MBFIELM) are depicted in Fig. <xref rid="j_infor533_fig_006">6</xref>. The enhanced image <inline-formula id="j_infor533_ineq_168"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>enhanced</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{enhanced}}}$]]></tex-math></alternatives></inline-formula> is obtained according to Eq. (<xref rid="j_infor533_eq_017">17</xref>).</p>
<fig id="j_infor533_fig_006">
<label>Fig. 6</label>
<caption>
<p>Visual inspection of the enhancing algorithm: a-reference images <inline-formula id="j_infor533_ineq_169"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> without dispersive environment, b-images with simulated fog <inline-formula id="j_infor533_ineq_170"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_simul</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${L_{uv}}({L_{\text{fog\_simul}}})$]]></tex-math></alternatives></inline-formula>, c-enhanced colour images <inline-formula id="j_infor533_ineq_171"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>enhanced</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{enhanced}}}$]]></tex-math></alternatives></inline-formula>.</p>
</caption>
<graphic xlink:href="infor533_g006.jpg"/>
</fig>
<p>The FRFSIM (Fog-Relevant Feature Similarity) indicator introduced by Wei Liu takes into account both <italic>fog density</italic>, measured by the Dark channel feature and the Mean Subtracted Contrast Normalized (MSCN) feature, as well as <italic>artificial distortion</italic>, measured by the Gradient feature (which refers to texture changes) and the Chroma<inline-formula id="j_infor533_ineq_172"><alternatives><mml:math>
<mml:msub>
<mml:mrow/>
<mml:mrow>
<mml:mtext>HSV</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${_{\text{HSV}}}$]]></tex-math></alternatives></inline-formula> feature (which refers to colour distortion). Assessing the quality of the defogged image in relation to the reference image involves utilizing a single score that integrates four similarity maps: Dark Channel Similarity (DS), Mean Subtracted Contrast Normalized Similarity (MS), Gradient Similarity (GS) and Colour Similarity (CS), as detailed by Liu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>). First DS and MS are grouped into a single score to measure fog density, and then GS and CS are grouped into another score to measure texture and colour distortions artifacts. Both scores are merged into FRFSIM <inline-formula id="j_infor533_ineq_173"><alternatives><mml:math>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\in (0,1)$]]></tex-math></alternatives></inline-formula>, index which takes on higher values as the quality of the defogged image increases.</p>
<p>Our method assumes the availability of a 3D component (distance map). In order to be able to compare our results with those of other methods that do not have this data, we define the following relative quantitative measure based on the FRFSIM indicator: 
<disp-formula id="j_infor533_eq_020">
<label>(20)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>·</mml:mo>
<mml:mn>100</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="normal">%</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\text{enhc}_{\text{FRFSIM}}}=\frac{{\text{FRFSIM}_{2}}-{\text{FRFSIM}_{1}}}{{\text{FRFSIM}_{2}}}\cdot 100\hspace{2.5pt}[\% ],\]]]></tex-math></alternatives>
</disp-formula> 
where FRFSIM1 represents the indicator calculated for the foggy image <inline-formula id="j_infor533_ineq_174"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{uv}}$]]></tex-math></alternatives></inline-formula> relative to reference image <inline-formula id="j_infor533_ineq_175"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula> and FRFSIM2 represents the indicator calculated for defogged image <inline-formula id="j_infor533_ineq_176"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>enhanced</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{enhanced}}}$]]></tex-math></alternatives></inline-formula> relative to the same reference image <inline-formula id="j_infor533_ineq_177"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>We used classical contrast enhancement algorithms, linear and non-linear contrast stretching and histogram equalization, working with simulated foggy images alongside with their corresponding reference images. In these cases, for the entire test dataset, the measure expressed by Eq. (<xref rid="j_infor533_eq_020">20</xref>) indicates either a decrese in the quality of the processed image or an irrelevant enhancement with a maximum <inline-formula id="j_infor533_ineq_178"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>4.8</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=4.8\% $]]></tex-math></alternatives></inline-formula>.</p>
<p>Here, we present a comparative analysis of the results obtained by our algorithm versus the best results of foggy image enhancement algorithms discussed in Liu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>). The values of the <inline-formula id="j_infor533_ineq_179"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext></mml:math><tex-math><![CDATA[$\text{FRFSIM1}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor533_ineq_180"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext></mml:math><tex-math><![CDATA[$\text{FRFSIM2}$]]></tex-math></alternatives></inline-formula> indicators for the enhancement algorithm based on the Levenberg-Marquardt method (MBFIELM) are displayed below in each of the six representative images of the test dataset in Fig. <xref rid="j_infor533_fig_006">6</xref>.</p>
<p>Also, the results of four sets of images taken from the article referenced above are presented below. Figures <xref rid="j_infor533_fig_007">7</xref>a1, <xref rid="j_infor533_fig_007">7</xref>a2, <xref rid="j_infor533_fig_007">7</xref>a3 and <xref rid="j_infor533_fig_007">7</xref>a4 represent reference images acquired under normal atmospheric conditions (no fog), Fig. <xref rid="j_infor533_fig_007">7</xref>b1 shows a real foggy image with <inline-formula id="j_infor533_ineq_181"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.2904</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.2904$]]></tex-math></alternatives></inline-formula> (moderately foggy), the next four figures show images with different fog densities: Fig. <xref rid="j_infor533_fig_007">7</xref>b2 Slightly, Fig. <xref rid="j_infor533_fig_007">7</xref>b3 Moderately, Fig. <xref rid="j_infor533_fig_007">7</xref>b4 Highly, Fig. <xref rid="j_infor533_fig_007">7</xref>b5 Extremely, then two other foggy images: Fig. <xref rid="j_infor533_fig_007">7</xref>b6 with <inline-formula id="j_infor533_ineq_182"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.1278</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.1278$]]></tex-math></alternatives></inline-formula> and Fig. <xref rid="j_infor533_fig_007">7</xref>b7 with <inline-formula id="j_infor533_ineq_183"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.3630</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.3630$]]></tex-math></alternatives></inline-formula>.</p>
<fig id="j_infor533_fig_007">
<label>Fig. 7</label>
<caption>
<p>Visual inspection of some results presented by Liu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>): a-reference images <inline-formula id="j_infor533_ineq_184"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{0}}$]]></tex-math></alternatives></inline-formula>, b-real foggy images <inline-formula id="j_infor533_ineq_185"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>fog_real</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{fog\_real}}}$]]></tex-math></alternatives></inline-formula>, c-enhanced colour images <inline-formula id="j_infor533_ineq_186"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>enhanced</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{\text{enhanced}}}$]]></tex-math></alternatives></inline-formula>.</p>
</caption>
<graphic xlink:href="infor533_g007.jpg"/>
</fig>
<p>A first performance reported in Liu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>) on the defogged images is that of the DCP algorithm (He <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_007">2011</xref>) with <inline-formula id="j_infor533_ineq_187"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.5105</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.5105$]]></tex-math></alternatives></inline-formula> (Fig. <xref rid="j_infor533_fig_007">7</xref>c1) and DehazeNet algorithm (Cai <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_002">2016</xref>) with <inline-formula id="j_infor533_ineq_188"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.5202</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.5202$]]></tex-math></alternatives></inline-formula> (Fig. <xref rid="j_infor533_fig_007">7</xref>c2) compared to the foggy image with <inline-formula id="j_infor533_ineq_189"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.2904</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.2904$]]></tex-math></alternatives></inline-formula>. For the set of four images with different fog densities in the same article, the DCP algorithm is also highlighted with the following results: Fig. <xref rid="j_infor533_fig_007">7</xref>c3 with <inline-formula id="j_infor533_ineq_190"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.456</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.456$]]></tex-math></alternatives></inline-formula> compared to <inline-formula id="j_infor533_ineq_191"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.385</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.385$]]></tex-math></alternatives></inline-formula> (Slight fog), Fig. <xref rid="j_infor533_fig_007">7</xref>c4 with <inline-formula id="j_infor533_ineq_192"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.404</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.404$]]></tex-math></alternatives></inline-formula> compared to <inline-formula id="j_infor533_ineq_193"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.304</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.304$]]></tex-math></alternatives></inline-formula> (Moderate fog), Fig. <xref rid="j_infor533_fig_007">7</xref>c5 with <inline-formula id="j_infor533_ineq_194"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.377</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.377$]]></tex-math></alternatives></inline-formula> compared to <inline-formula id="j_infor533_ineq_195"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.228</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.228$]]></tex-math></alternatives></inline-formula> (High fog), Fig. <xref rid="j_infor533_fig_007">7</xref>c6 with <inline-formula id="j_infor533_ineq_196"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.327</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.327$]]></tex-math></alternatives></inline-formula> compared to <inline-formula id="j_infor533_ineq_197"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.215</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.215$]]></tex-math></alternatives></inline-formula> (Extreme fog) (Liu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>).</p>
<p>Next, there are two other images where the AMEF algorithm (Galdran, <xref ref-type="bibr" rid="j_infor533_ref_006">2018</xref>) achieves the best results: Fig. <xref rid="j_infor533_fig_007">7</xref>c7 with <inline-formula id="j_infor533_ineq_198"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.3733</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.3733$]]></tex-math></alternatives></inline-formula> compared to <inline-formula id="j_infor533_ineq_199"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.1278</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.1278$]]></tex-math></alternatives></inline-formula> and Fig. <xref rid="j_infor533_fig_007">7</xref>c8 with <inline-formula id="j_infor533_ineq_200"><alternatives><mml:math>
<mml:mtext>FRFSIM2</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.4208</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM2}=0.4208$]]></tex-math></alternatives></inline-formula> compared to <inline-formula id="j_infor533_ineq_201"><alternatives><mml:math>
<mml:mtext>FRFSIM1</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0.3630</mml:mn></mml:math><tex-math><![CDATA[$\text{FRFSIM1}=0.3630$]]></tex-math></alternatives></inline-formula> (Liu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor533_ref_011">2020</xref>).</p>
<p>The performances of the enhancement algorithms, based on criterion two (Eq. (<xref rid="j_infor533_eq_020">20</xref>), are shown in Table <xref rid="j_infor533_tab_002">2</xref>.</p>
<table-wrap id="j_infor533_tab_002">
<label>Table 2</label>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">No.</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Enhancement algorithm</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Images (reference-foggy-enhanced)</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor533_ineq_202"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}$]]></tex-math></alternatives></inline-formula> [%]</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: right">1</td>
<td style="vertical-align: top; text-align: left">MBFIELM</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_006">6</xref>a1–Fig. <xref rid="j_infor533_fig_006">6</xref>b1–Fig. <xref rid="j_infor533_fig_006">6</xref>c1 <italic>LIma-000011</italic></td>
<td style="vertical-align: top; text-align: left">33.041</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">2</td>
<td style="vertical-align: top; text-align: left">MBFIELM</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_006">6</xref>a2–Fig. <xref rid="j_infor533_fig_006">6</xref>b2–Fig. <xref rid="j_infor533_fig_006">6</xref>c2 <italic>ship</italic></td>
<td style="vertical-align: top; text-align: left">52.577</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">3</td>
<td style="vertical-align: top; text-align: left">MBFIELM</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_006">6</xref>a3–Fig. <xref rid="j_infor533_fig_006">6</xref>b3–Fig. <xref rid="j_infor533_fig_006">6</xref>c3 <italic>bridge</italic></td>
<td style="vertical-align: top; text-align: left">44.447</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">4</td>
<td style="vertical-align: top; text-align: left">MBFIELM</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_006">6</xref>a4–Fig. <xref rid="j_infor533_fig_006">6</xref>b4–Fig. <xref rid="j_infor533_fig_006">6</xref>c4 <italic>LIma-000013</italic></td>
<td style="vertical-align: top; text-align: left">32.41</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">5</td>
<td style="vertical-align: top; text-align: left">MBFIELM</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_006">6</xref>a5–Fig. <xref rid="j_infor533_fig_006">6</xref>b5–Fig. <xref rid="j_infor533_fig_006">6</xref>c5 <italic>LIma-000015</italic></td>
<td style="vertical-align: top; text-align: left">40.36</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">6</td>
<td style="vertical-align: top; text-align: left">MBFIELM</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_006">6</xref>a1–Fig. <xref rid="j_infor533_fig_006">6</xref>b1–Fig. <xref rid="j_infor533_fig_006">6</xref>c1 <italic>LIma-000006</italic></td>
<td style="vertical-align: top; text-align: left">14.821</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">7</td>
<td style="vertical-align: top; text-align: left">DCP</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a1–Fig. <xref rid="j_infor533_fig_007">7</xref>b1–Fig. <xref rid="j_infor533_fig_007">7</xref>c1</td>
<td style="vertical-align: top; text-align: left">43.114</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">8</td>
<td style="vertical-align: top; text-align: left">DehazeNet</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a1–Fig. <xref rid="j_infor533_fig_007">7</xref>b1–Fig. <xref rid="j_infor533_fig_007">7</xref>c2</td>
<td style="vertical-align: top; text-align: left">44.175</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">9</td>
<td style="vertical-align: top; text-align: left">DCP</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a2–Fig. <xref rid="j_infor533_fig_007">7</xref>b2–Fig. <xref rid="j_infor533_fig_007">7</xref>c3</td>
<td style="vertical-align: top; text-align: left">15.570</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">10</td>
<td style="vertical-align: top; text-align: left">DCP</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a2–Fig. <xref rid="j_infor533_fig_007">7</xref>b3–Fig. <xref rid="j_infor533_fig_007">7</xref>c4</td>
<td style="vertical-align: top; text-align: left">24.752</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">11</td>
<td style="vertical-align: top; text-align: left">DCP</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a2–Fig. <xref rid="j_infor533_fig_007">7</xref>b4–Fig. <xref rid="j_infor533_fig_007">7</xref>c5</td>
<td style="vertical-align: top; text-align: left">39.522</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">12</td>
<td style="vertical-align: top; text-align: left">DCP</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a2–Fig. <xref rid="j_infor533_fig_007">7</xref>b5–Fig. <xref rid="j_infor533_fig_007">7</xref>c6</td>
<td style="vertical-align: top; text-align: left">34.258</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right">13</td>
<td style="vertical-align: top; text-align: left">AMEF</td>
<td style="vertical-align: top; text-align: left">Fig.<xref rid="j_infor533_fig_007">7</xref>a3–Fig. <xref rid="j_infor533_fig_007">7</xref>b6–Fig. <xref rid="j_infor533_fig_007">7</xref>c7</td>
<td style="vertical-align: top; text-align: left">65.764</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right; border-bottom: solid thin">14</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">AMEF</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Fig.<xref rid="j_infor533_fig_007">7</xref>a4–Fig. <xref rid="j_infor533_fig_007">7</xref>b7–Fig. <xref rid="j_infor533_fig_007">7</xref>c8</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">13.735</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We utilise the <inline-formula id="j_infor533_ineq_203"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}$]]></tex-math></alternatives></inline-formula> relative measure to rank the analysed foggy image enhancement algorithms. Thus, the best result, as shown in Table <xref rid="j_infor533_tab_002">2</xref>, is achieved by I) AMEF (No. 13, <inline-formula id="j_infor533_ineq_204"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>65.764</mml:mn></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=65.764$]]></tex-math></alternatives></inline-formula>) followed by: II) MBFIELM (No. 2, <inline-formula id="j_infor533_ineq_205"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>52.577</mml:mn></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=52.577$]]></tex-math></alternatives></inline-formula>), III) MBFIELM (No. 3, <inline-formula id="j_infor533_ineq_206"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>44.447</mml:mn></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=44.447$]]></tex-math></alternatives></inline-formula>), IV) DehazeNet (No. 8, <inline-formula id="j_infor533_ineq_207"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>44.175</mml:mn></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=44.175$]]></tex-math></alternatives></inline-formula>), V) DCP (No. 7, <inline-formula id="j_infor533_ineq_208"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>43.114</mml:mn></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=43.114$]]></tex-math></alternatives></inline-formula>), VI) MBFIELM (No. 5, <inline-formula id="j_infor533_ineq_209"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>40.36</mml:mn></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}=40.36$]]></tex-math></alternatives></inline-formula>) etc. The larger FRFSIM2 is compared to FRFSIM1, the higher the quality of the defogged image. The <inline-formula id="j_infor533_ineq_210"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}$]]></tex-math></alternatives></inline-formula> measure of the MBFIELM algorithm is significant (52.577%, 44.447%).</p>
</sec>
<sec id="j_infor533_s_010">
<label>7</label>
<title>Discussion</title>
<p>This work focuses on a mathematical method to determine a two-dimensional analytic function that best approximates a set of measured data, called observations. Starting from the well-known “Least-squares problem”, we proposed, adapted and implemented the Levenberg-Marquardt algorithm that is used to determine the unknown parameters of the mathematical model describing the image acquisition process under foggy conditions. The non-linear form of the model, the observations and the unknown parameters lead to the iterative solution of an overdetermined equation system. The algorithm for improving the quality of these images, based on the determined parameters, involves applying an inverse transformation that removes the “atmospheric veil” from the measured data and compensates for the attenuation of the scene radiance. An effective enhancement in the region of interest is found for almost all test images, but small undesirable colour deviation problems occur in areas where the distances in the <italic>d</italic>-matrix are large (sky).</p>
<p>The mentioned classical algorithms used to improve image contrast do not obtain measures <inline-formula id="j_infor533_ineq_211"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>enhc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>FRFSIM</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{enhc}_{\text{FRFSIM}}}$]]></tex-math></alternatives></inline-formula> that indicate an improvement in the quality of the processed image. This is due to the fact that these general algorithms do not take into account the physics of radiative transfer.</p>
<p>The algorithm we have proposed gives comparable results to the established algorithms such as AMEF, DehazeNet, and DCP. While it is outperformed by AMEF in certain cases, there are situations where it prevails over the mentioned algorithms (to see Table <xref rid="j_infor533_tab_002">2</xref>).</p>
<p>We should mention that in the implementation of the experiment we have encountered an obstacle that we have not overcome at this moment. Specifically, we could not test the MBFIELM algorithm on real foggy images. In a later approach we will extend the database used for testing the enhancement algorithm by obtaining all the resources needed to use images in real foggy conditions. Furthermore, we will work on how to choose the regularization variable in order to increase convergence performance.</p>
</sec>
</body>
<back>
<ref-list id="j_infor533_reflist_001">
<title>References</title>
<ref id="j_infor533_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Bellavia</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Gratton</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Riccietti</surname>, <given-names>E.</given-names></string-name> (<year>2018</year>). <article-title>A Levenberg-Marquardt method for large nonlinear least-squares problems with dynamic accuracy in functions and gradients</article-title>. <source>Numerische Mathematik</source>, <volume>140(3)</volume>, <fpage>791</fpage>–<lpage>825</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s00211-018-0977-z" xlink:type="simple">https://doi.org/10.1007/s00211-018-0977-z</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Cai</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Jia</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Qing</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Tao</surname>, <given-names>D.</given-names></string-name> (<year>2016</year>). <article-title>DehazeNet: an end-to-end system for single image haze removal</article-title>. <source>IEEE Transactions on Image Processing</source>, <volume>25(11)</volume>, <fpage>5187</fpage>–<lpage>5198</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/TIP.2016.2598681" xlink:type="simple">https://doi.org/10.1109/TIP.2016.2598681</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Chen</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>Y.</given-names></string-name> (<year>2023</year>). <article-title>A new modified Levenberg–Marquardt Method for systems of nonlinear equations</article-title>. <source>Journal of Mathematics</source>, <volume>45</volume>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1155/2023/6043780" xlink:type="simple">https://doi.org/10.1155/2023/6043780</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Curilă</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Curilă</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Curilă (Popescu)</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Grava</surname>, <given-names>C.</given-names></string-name> (<year>2020</year>). <article-title>A mathematical model and an experimental setup for the rendering of the sky scene in a foggy day</article-title>. <source>Revue Roumaine des Sciences Techniques – Électrotechnique et Énergétique</source>, <volume>65</volume>(<issue>3-4</issue>), <fpage>265</fpage>–<lpage>270</lpage>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Fan</surname>, <given-names>J.</given-names></string-name> (<year>2012</year>). <article-title>The modified Levenberg-Marquardt method for nonlinear equations with cubic convergence</article-title>. <source>Mathematics of Computation</source>, <volume>81</volume>(<issue>277</issue>), <fpage>447</fpage>–<lpage>466</lpage>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Galdran</surname>, <given-names>A.</given-names></string-name> (<year>2018</year>). <article-title>Image dehazing by artificial multiple-exposure image fusion</article-title>. <source>Signal Processing</source>, <volume>149</volume>, <fpage>135</fpage>–<lpage>147</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.sigpro.2018.03.008" xlink:type="simple">https://doi.org/10.1016/j.sigpro.2018.03.008</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>He</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Tang</surname>, <given-names>X.</given-names></string-name> (<year>2011</year>). <article-title>Single image haze removal using dark channel prior</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>33</volume>(<issue>12</issue>), <fpage>2341</fpage>–<lpage>2353</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/CVPR.2009.5206515" xlink:type="simple">https://doi.org/10.1109/CVPR.2009.5206515</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Karas</surname>, <given-names>E.W.</given-names></string-name>, <string-name><surname>Santos</surname>, <given-names>S.A.</given-names></string-name>, <string-name><surname>Svaiter</surname>, <given-names>B.F.</given-names></string-name> (<year>2016</year>). <article-title>Algebraic rules for computing the regularization parameter of the Levenberg–Marquardt method</article-title>. <source>Computational Optimization and Applications</source>, <volume>65</volume>(<issue>3</issue>), <fpage>723</fpage>–<lpage>751</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s10589-016-9845-x" xlink:type="simple">https://doi.org/10.1007/s10589-016-9845-x</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Kim</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>K.-S.</given-names></string-name> (<year>2018</year>). <article-title>Effective image enhancement techniques for fog-affected indoor and outdoor images</article-title>. <source>IET Image Processing</source>, <volume>12</volume>(<issue>4</issue>), <fpage>465</fpage>–<lpage>471</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1049/iet-ipr.2016.0819" xlink:type="simple">https://doi.org/10.1049/iet-ipr.2016.0819</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Li</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Gou</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>S.</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>J.Z.</given-names></string-name>, <string-name><surname>Zhou</surname>, <given-names>J.T.</given-names></string-name>, <string-name><surname>Peng</surname>, <given-names>X.</given-names></string-name> (<year>2021</year>). <article-title>You only look yourself: unsupervised and untrained single image dehazing neural network</article-title>. <source>International Journal of Computer Vision</source>, <volume>129</volume>, <fpage>1754</fpage>–<lpage>1767</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s11263-021-01431-5" xlink:type="simple">https://doi.org/10.1007/s11263-021-01431-5</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Liu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Zhou</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Duan</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Qiu</surname>, <given-names>G.</given-names></string-name> (<year>2020</year>). <article-title>Image defogging quality assessment: real-world database and method</article-title>. <source>IEEE Transactions on Image Processing</source>, <volume>30</volume>, <fpage>176</fpage>–<lpage>190</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/IVS.2010.5548128" xlink:type="simple">https://doi.org/10.1109/IVS.2010.5548128</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Masoud</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Francisco</surname>, <given-names>A.A.</given-names> <suffix>J.</suffix></string-name>, <string-name><surname>Ronan</surname>, <given-names>M.T.F.</given-names></string-name>, <string-name><surname>Phan</surname>, <given-names>T.V.</given-names></string-name> (<year>2019</year>). <article-title>Local convergence of the Levenberg-Marquardt method under Hölder metric subregularity</article-title>. <source>Advances in Computational Mathematics</source>, <volume>45</volume>, <fpage>2771</fpage>–<lpage>2806</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s10444-019-09708-7" xlink:type="simple">https://doi.org/10.1007/s10444-019-09708-7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Musa</surname>, <given-names>Y.B.</given-names></string-name>, <string-name><surname>Waziri</surname>, <given-names>M.Y.</given-names></string-name>, <string-name><surname>Halilu</surname>, <given-names>A.S.</given-names></string-name> (<year>2017</year>). <article-title>On computing the regularization parameter for the Levenberg-Marquardt method via the spectral radius approach to solving systems of nonlinear equations</article-title>. <source>Journal of Numerical Mathematics and Stochastics</source>, <volume>9(1)</volume>, <fpage>80</fpage>–<lpage>94</lpage>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Sejal</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Mitul</surname>, <given-names>P.</given-names></string-name> (<year>2014</year>). <article-title>Removal of the fog from the image using filters and colour model</article-title>. <source>International Journal of Engineering Research &amp; Technology</source>, <volume>3(1)</volume>, <fpage>553</fpage>–<lpage>557</lpage>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_015">
<mixed-citation publication-type="other"><string-name><surname>Sokolik</surname>, <given-names>I.N.</given-names></string-name> (2021). Principles of passive remote sensing using emission and applications: remote sensing of atmospheric path-integrated quantities (cloud liquid water content and precipitable water vapor). <uri>http://irina.eas.gatech.edu/EAS8803_Fall2017/Petty_8.pdf</uri> Accessed November 2021; <uri>https://www.docsity.com/en/basic-radiometric-quantities-the-beer-bouguer-lambert-law-eas-8803/6417363/</uri> Accessed July 2023.</mixed-citation>
</ref>
<ref id="j_infor533_ref_016">
<mixed-citation publication-type="chapter"><string-name><surname>Tarel</surname>, <given-names>J.-P.</given-names></string-name>, <string-name><surname>Hautière</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Cord</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gruyer</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Halmaoui</surname>, <given-names>H.</given-names></string-name> (<year>2010</year>). <chapter-title>Improved visibility of road scene images under heterogeneous fog</chapter-title>. In: <source>Intelligent Vehicles Symposium, (IV’10)</source>, <conf-loc>La Jolla, CA, USA</conf-loc>, pp. <fpage>478</fpage>–<lpage>485</lpage>. <uri>http://perso.lcpc.fr/tarel.jean-philippe/bdd/frida.html</uri>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/IVS.2010.5548128" xlink:type="simple">https://doi.org/10.1109/IVS.2010.5548128</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Umar</surname>, <given-names>A.O.</given-names></string-name>, <string-name><surname>Sulaiman</surname>, <given-names>I.M.</given-names></string-name>, <string-name><surname>Mamat</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Waziri</surname>, <given-names>M.Y.</given-names></string-name>, <string-name><surname>Zamri</surname>, <given-names>N.</given-names></string-name> (<year>2021</year>). <article-title>On damping parameters of Levenberg-Marquardt algorithm for nonlinear least square problems</article-title>. <source>Journal of Physics: Conference Series</source>, <volume>1734</volume>(<issue>1</issue>), <fpage>012018</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1088/1742-6596/1734/1/012018" xlink:type="simple">https://doi.org/10.1088/1742-6596/1734/1/012018</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor533_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Xu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wen</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Fei</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Z.</given-names></string-name> (<year>2016</year>). <article-title>Review of video and image defogging algorithms and related studies on image restoration and enhancement</article-title>. <source>IEEE Access</source>, <volume>4</volume>, <fpage>165</fpage>–<lpage>188</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ACCESS.2015.2511558" xlink:type="simple">https://doi.org/10.1109/ACCESS.2015.2511558</ext-link>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
