Answers.Body: <p>The <a href="https://arxiv.org/pdf/1804.01005.pdf" rel="nofollow noreferrer">paper</a> you are citing is the paper that introduced the <a href="https://pdollar.github.io/files/papers/DollarCVPR10pose.pdf" rel="nofollow noreferrer">cascaded</a> convolution neural network. In fact, in this paper, the authors say</p>
  
  <blockquote>
    <p>To realize 3DDFA, we propose to <strong>combine two achievements</strong> in recent years, namely, <strong>Cascaded Regression</strong> and the <strong>Convolutional Neural Network</strong> (CNN). This combination requires the introduction of a new input feature which fulfills the "cascade manner" and "convolution manner" simultaneously (see Sec. 3.2) and a new cost function which can model the priority of 3DMM parameters (see Sec. 3.4)</p>
  </blockquote>
  
  <p>where 3DDFA stands for <strong>3D Dense Face Alignment</strong>, the framework proposed in this paper for <strong>face alignment</strong>, in which a dense <a href="https://gravis.dmi.unibas.ch/publications/pami03.pdf" rel="nofollow noreferrer"><strong>3D Morphable Model</strong> (3DMM)</a> is fitted to the image via cascaded CNNs (the <a href="https://en.wikipedia.org/wiki/Regression_analysis" rel="nofollow noreferrer">regressor</a>), where the term <em>dense</em> refers to the number of points of the face that will be modeled. See figure 1 of this paper, which should provide some intuition behind the purpose of this framework.</p>
  
  <p>In section 3 (page 3), they also say</p>
  
  <blockquote>
    <p>In this section, we introduce how to combine Cascaded Regression and CNNs to realize 3DDFA. By applying a CNN as the regressor in Eqn. 1, Cascaded CNN can be formulated as:</p>
  </blockquote>
  
  <p><span class="math-container">\begin{align}
  \mathbf{p}^{k+1} = \mathbf{p}^{k} + \text{Net}^{k}
  (\text{Fea}(\mathbf{I}, \mathbf{p}^k)) \tag{1}\label{1}
  \end{align}</span></p>
  
  <p>where </p>
  
  <ul>
  <li><span class="math-container">$k$</span> is the iteration number</li>
  <li><span class="math-container">$\mathbf{p}$</span> is the regression objective </li>
  <li><span class="math-container">$\text{Net}$</span> is the CNN structure </li>
  <li><span class="math-container">$\text{Fea}$</span> contains the two constructed image features 
  
  <ul>
  <li>Pose Adaptive Feature (PAF) (section 3.2.1)</li>
  <li>Projected Normalized Coordinate Code (PNCC) (section 3.2.2)</li>
  </ul></li>
  <li><span class="math-container">$\mathbf{I}$</span> is the image</li>
  </ul>
  
  <p>The expression <em><a href="https://pdollar.github.io/files/papers/DollarCVPR10pose.pdf" rel="nofollow noreferrer">cascaded</a> CNN</em> apparently refers to the fact that equation \ref{1} is used iteratively, so there will be multiple CNNs, one for each iteration <span class="math-container">$k$</span>. In fact, in the paper, they say</p>
  
  <blockquote>
    <p>Unlike existing CNN methods that apply different network structures for different fitting stages, 3DDFA employs a unified network structure across the cascade. In general, at iteration <span class="math-container">$k$</span> (<span class="math-container">$k = 0, 1, \dots, K$</span>), given an initial parameter <span class="math-container">$\mathbf{p}^k$</span>, we construct PNCC and PAF with <span class="math-container">$\mathbf{p}^k$</span> and train a two-stream CNN <span class="math-container">$\text{Net}^k$</span> to conduct fitting. The output features from two streams are merged to predict the parameter update <span class="math-container">$\Delta \mathbf{p}^k$</span></p>
    
    <p><span class="math-container">$$
  \Delta \mathbf{p}^k = \text{Net}^k(\text{PAF}(\mathbf{p}^k, \mathbf{I}), \text{PNCC}(\mathbf{p}^k, \mathbf{I}))
  $$</span></p>
    
    <p>Afterwards, a better <strong>intermediate</strong> parameter <span class="math-container">$\mathbf{p}^{k+1} = \mathbf{p}^k + \Delta \mathbf{p}^k$</span> becomes the input of the next network <span class="math-container">$\text{Net}^k$</span> which has the <strong>same structure but different weights with <span class="math-container">$\text{Net}^k$</span></strong>.</p>
  </blockquote>
  
  <p>In <a href="https://arxiv.org/pdf/1804.01005.pdf" rel="nofollow noreferrer">figure 2 of the paper</a> (page 4), the structure of this two-stream CNN, <span class="math-container">$\text{Net}^k$</span>, at iteration <span class="math-container">$k$</span>, is shown.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-01-10T14:56:16.347Z
Answers.Text: I wasn't familiar with this cascade CNN. I only quickly read certain parts of the paper and I tried to provide some intuition behind it. Maybe later I will refine this answer to provide even more intuition.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-01-10T14:53:56.940Z
Answers.LastActivityDate: 2020-01-10T14:58:58.383Z
Answers.LastEditDate: 2020-01-10T14:58:58.383Z
Answers.UserDisplayName: nbro
Body: <p>For a project I am doing, I found the paper <a href="https://arxiv.org/pdf/1804.01005.pdf" rel="nofollow noreferrer">Face Alignment in Full Pose Range: A 3D Total Solution</a>.</p>
  
  <p>It is using a cascaded convolutional neural network, but I wasn't able to find the original paper explaining what that is.</p>
  
  <p>In layman's terms and intuitively, how does a cascaded CNN work? What does it solve? </p>
  
Tags: <deep-learning><convolutional-neural-networks><computer-vision><definitions><papers>
Title: What is a cascaded convolutional neural network?
UserDisplayName: Gulzar
ThreadText: # What is a cascaded convolutional neural network?
  
  (Asked by: username_0 on 2020-01-10)
  
  For a project I am doing, I found the paper [Face Alignment in Full Pose Range: A 3D Total Solution](https://arxiv.org/pdf/1804.01005.pdf).
  
  It is using a cascaded convolutional neural network, but I wasn't able to find the original paper explaining what that is.
  
  In layman's terms and intuitively, how does a cascaded CNN work? What does it solve?
  
  **Tags:** deep-learning, convolutional-neural-networks, computer-vision, definitions, papers
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-01-10. Score: 3 | Accepted answer
  
  The [paper](https://arxiv.org/pdf/1804.01005.pdf) you are citing is the paper that introduced the [cascaded](https://pdollar.github.io/files/papers/DollarCVPR10pose.pdf) convolution neural network. In fact, in this paper, the authors say
  
  > To realize 3DDFA, we propose to **combine two achievements** in recent years, namely, **Cascaded Regression** and the **Convolutional Neural Network** (CNN). This combination requires the introduction of a new input feature which fulfills the "cascade manner" and "convolution manner" simultaneously (see Sec. 3.2) and a new cost function which can model the priority of 3DMM parameters (see Sec. 3.4)
  
  where 3DDFA stands for **3D Dense Face Alignment**, the framework proposed in this paper for **face alignment**, in which a dense [**3D Morphable Model** (3DMM)](https://gravis.dmi.unibas.ch/publications/pami03.pdf) is fitted to the image via cascaded CNNs (the [regressor](https://en.wikipedia.org/wiki/Regression_analysis)), where the term *dense* refers to the number of points of the face that will be modeled. See figure 1 of this paper, which should provide some intuition behind the purpose of this framework.
  
  In section 3 (page 3), they also say
  
  > In this section, we introduce how to combine Cascaded Regression and CNNs to realize 3DDFA. By applying a CNN as the regressor in Eqn. 1, Cascaded CNN can be formulated as:
  
  \begin{align}
  \mathbf{p}^{k+1} = \mathbf{p}^{k} + \text{Net}^{k}
  (\text{Fea}(\mathbf{I}, \mathbf{p}^k)) \tag{1}\label{1}
  \end{align}
  
  where
  
  * $k$ is the iteration number
  * $\mathbf{p}$ is the regression objective
  * $\text{Net}$ is the CNN structure
  * $\text{Fea}$ contains the two constructed image features
    + Pose Adaptive Feature (PAF) (section 3.2.1)
    + Projected Normalized Coordinate Code (PNCC) (section 3.2.2)
  * $\mathbf{I}$ is the image
  
  The expression *[cascaded](https://pdollar.github.io/files/papers/DollarCVPR10pose.pdf) CNN* apparently refers to the fact that equation \ref{1} is used iteratively, so there will be multiple CNNs, one for each iteration $k$. In fact, in the paper, they say
  
  > Unlike existing CNN methods that apply different network structures for different fitting stages, 3DDFA employs a unified network structure across the cascade. In general, at iteration $k$ ($k = 0, 1, \dots, K$), given an initial parameter $\mathbf{p}^k$, we construct PNCC and PAF with $\mathbf{p}^k$ and train a two-stream CNN $\text{Net}^k$ to conduct fitting. The output features from two streams are merged to predict the parameter update $\Delta \mathbf{p}^k$
  >
  > $$
  > \Delta \mathbf{p}^k = \text{Net}^k(\text{PAF}(\mathbf{p}^k, \mathbf{I}), \text{PNCC}(\mathbf{p}^k, \mathbf{I}))
  > $$
  >
  > Afterwards, a better **intermediate** parameter $\mathbf{p}^{k+1} = \mathbf{p}^k + \Delta \mathbf{p}^k$ becomes the input of the next network $\text{Net}^k$ which has the **same structure but different weights with $\text{Net}^k$**.
  
  In [figure 2 of the paper](https://arxiv.org/pdf/1804.01005.pdf) (page 4), the structure of this two-stream CNN, $\text{Net}^k$, at iteration $k$, is shown.
  
  > **Comments:**
  > **username_1**: I wasn't familiar with this cascade CNN. I only quickly read certain parts of the paper and I tried to provide some intuition behind it. Maybe later I will refine this answer to provide even more intuition.  
  
  ---
  
  