# Image Human Thorax Using Ultrasound Traveltime Tomography with Supervised Descent Method
## 3 Traveltime Tomography with SDM  
### Formulations of Inverse Problem with SDM  
Solving the inverse problem is an optimization process to find the best \(\mathbf{m}\) that minimizes the loss function. The loss function of this problem is defined as  
\[L(\mathbf{m})=\left\|\mathbf{d_{obs}}-F(\mathbf{m})\right\|^{2} \tag{3}\]  
Figure 1: Example of element and possible ray path. Dashed lines: element boundaries. Solid lines: node connections. where \(\mathbf{d_{obs}}\) is the real traveltime data. The Gauss-Newton method can be used to solve this optimization problem [51]. The update of the model can be calculated as  
\[\Delta\mathbf{m}=\left(\mathbf{I}^{T}\mathbf{I}\right)^{-1}\mathbf{J}^{T}(\mathbf{d_{obs}}-F(\mathbf{m} ))=\mathbf{K}(\mathbf{d_{obs}}-F(\mathbf{m}))=\mathbf{K}\Delta\mathbf{d} \tag{4}\]  
where \(\mathbf{J}\) is the Jacobian matrix of \(F(\mathbf{m})\) and \(\mathbf{K}=\left(\mathbf{J}^{T}\mathbf{J}\right)^{-1}\mathbf{J}^{T}\) is a mapping from \(\Delta\mathbf{d}\) to \(\Delta\mathbf{m}\). The element of Jacobian matrix \(J_{ik}\) tells us the change in the \(i\)th data point (traveltime) due to a unit change in the \(k\)th model parameter (acoustic velocity). In this problem, \(J_{ik}\) is non-zero only when the \(i\)th path goes through the \(k\)th element, and it has an analytical form as  
\[J_{ik}=-\frac{s_{ik}}{v_{k}^{2}} \tag{5}\]  
where \(s_{ik}\) is the length of the \(i\)th path within the \(k\)th element. \(v_{k}^{2}\) is the acoustic velocity of the \(k\)th element. The update direction \(\mathbf{K}\) contains the local information of \(\mathbf{F}\) near \(\mathbf{m}\). The calculation of \(K\) is the key step in Gauss-Newton method, which is also the most time-consuming step, because the calculation of \(\mathbf{J}\) and matrix inversion take a lot of time. SDM introduces an alternative approach to compute \(\mathbf{K}\) in a shorter time. In SDM, \(\mathbf{K}\) is calculated offline in advance. From Equation (4), the optimization of Equation (3) can be converted to minimize the following function:  
\[S=\left\|\Delta\mathbf{m}-\mathbf{K}\Delta\mathbf{d_{obs}}\right\|^{2} \tag{6}\]  
The size of \(\Delta\mathbf{m}\) and \(\mathbf{m}\) is \(n_{ele}\times 1\), where \(n_{ele}\) is the number of elements in the grid, which is also the number of unknowns to be solved. The size of \(\mathbf{d_{obs}}\) is \(n_{d}\times 1\), where \(n_{d}\) is the number of traveltime data we use. The size of \(\mathbf{K}\) is \(n_{ele}\times n_{d}\). We assume that the real model \(\mathbf{m}\) is in the space expanded by \(N\) reference models \(\mathbf{m}_{prior}^{i}(i=1,2,\cdots,N)\). The corresponding traveltime is \(\mathbf{d}_{prior}^{i}\). Then, an average update direction \(\mathbf{\tilde{K}}\) is calculated by minimizing  
\[S^{Tr}\left(\mathbf{\tilde{K}}\right)=\sum_{i=1}^{N}\left\|\Delta\mathbf{m}_{prior}^{ i}-\mathbf{\tilde{K}}\Delta\mathbf{d}_{prior}^{i}\right\|^{2} \tag{7}\]  
where  
\[\Delta\mathbf{m}_{prior}^{i}=\mathbf{m}_{prior}^{i}-\mathbf{m_{0}} \tag{8}\]  
\[\Delta\mathbf{d}_{prior}^{i}=\mathbf{d}_{prior}^{i}-\mathbf{d_{0}} \tag{9}\]  
and \(\mathbf{m_{0}}\) is an initial guess of the real model \(\mathbf{m}\) and \(\bmand  
\[\mathbf{D}_{\mathbf{prior}}= \begin{bmatrix}\mathbf{d}_{\mathbf{prior}}^{\mathbf{1}}\\ \mathbf{d}_{\mathbf{prior}}^{\mathbf{2}}\\ \vdots\\ \mathbf{d}_{\mathbf{prior}}^{\mathbf{N}}\\ \end{bmatrix} ,\mathbf{D_{0}}= \begin{bmatrix}\mathbf{d}_{\mathbf{0}}^{\mathbf{0}}\\ \mathbf{d}_{\mathbf{0}}^{\mathbf{0}}\\ \vdots\\ \mathbf{d}_{\mathbf{0}}^{\mathbf{T}}\\ \end{bmatrix} ,\Delta\mathbf{D}=\mathbf{D}_{\mathbf{prior}}-\mathbf{D_{0}} \tag{12}\]  
Here, the size of \(\Delta\mathbf{M}\) is \(N\times n_{ele}\) and the size of \(\Delta\mathbf{D}\) is \(N\times n_{d}\). \(\mathbf{\tilde{K}}\) is a \(n_{ele}\times n_{d}\) matrix. Because forward modeling of traveltime tomography is non-linear, it takes several iterations to minimize \(S^{\mathbf{T}}\) and learn \(\mathbf{\tilde{K}}\). The prediction also computes in a iterative way [52].