<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">26086</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.026086</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Video Frame Prediction by Joint Optimization of Direct Frame Synthesis and Optical-Flow Estimation</article-title>
<alt-title alt-title-type="left-running-head">Video Frame Prediction by Joint Optimization of Direct Frame Synthesis and Optical-Flow Estimation</alt-title>
<alt-title alt-title-type="right-running-head">Video Frame Prediction by Joint Optimization of Direct Frame Synthesis and Optical-Flow Estimation</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Ranjan</surname><given-names>Navin</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Bhandari</surname><given-names>Sovit</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Kim</surname><given-names>Yeong-Chan</given-names></name><xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-4" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Kim</surname><given-names>Hoon</given-names></name><xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref><email>hoon@inu.ac.kr</email></contrib>
<aff id="aff-1"><label>1</label><institution>Iot and Big Data Research Center, Incheon National University</institution>, <addr-line>Yeonsu-gu, Incheon, 22012</addr-line>, <country>Korea</country></aff>
<aff id="aff-2"><label>2</label><institution>Department of Electronics Engineering, Incheon National University</institution>, <addr-line>Yeonsu-gu, Incheon, 22012</addr-line>, <country>Korea</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Hoon Kim. Email: <email>hoon@inu.ac.kr</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>27</day><month>3</month><year>2023</year></pub-date>
<volume>75</volume>
<issue>2</issue>
<fpage>2615</fpage>
<lpage>2639</lpage>
<history>
<date date-type="received"><day>16</day><month>12</month><year>2021</year></date>
<date date-type="accepted"><day>02</day><month>3</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Ranjan et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Ranjan et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_26086.pdf"></self-uri>
<abstract>
<p>Video prediction is the problem of generating future frames by exploiting the spatiotemporal correlation from the past frame sequence. It is one of the crucial issues in computer vision and has many real-world applications, mainly focused on predicting future scenarios to avoid undesirable outcomes. However, modeling future image content and object is challenging due to the dynamic evolution and complexity of the scene, such as occlusions, camera movements, delay and illumination. Direct frame synthesis or optical-flow estimation are common approaches used by researchers. However, researchers mainly focused on video prediction using one of the approaches. Both methods have limitations, such as direct frame synthesis, usually face blurry prediction due to complex pixel distributions in the scene, and optical-flow estimation, usually produce artifacts due to large object displacements or obstructions in the clip. In this paper, we constructed a deep neural network Frame Prediction Network (FPNet-OF) with multiple-branch inputs (optical flow and original frame) to predict the future video frame by adaptively fusing the future object-motion with the future frame generator. The key idea is to jointly optimize direct RGB frame synthesis and dense optical flow estimation to generate a superior video prediction network. Using various real-world datasets, we experimentally verify that our proposed framework can produce high-level video frame compared to other state-of-the-art framework.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Video frame prediction</kwd>
<kwd>multi-step prediction</kwd>
<kwd>optical-flow prediction</kwd>
<kwd>delay</kwd>
<kwd>deep learning</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>Next-frame prediction is the problem of generating future frames by adopting the spatiotemporal correlation between a given set of current and past successive frames. Such predictive cognitive neural networks are often considered the essence of computer vision. They play a critical role in a variety of applications, such as abnormal event detection [<xref ref-type="bibr" rid="ref-1">1</xref>], autonomous driving [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>], intention prediction in robotics [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>], video coding [<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-8">8</xref>], collision avoidance systems [<xref ref-type="bibr" rid="ref-9">9</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>], activity and event prediction [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>], and pedestrian and traffic prediction [<xref ref-type="bibr" rid="ref-13">13</xref>&#x2013;<xref ref-type="bibr" rid="ref-15">15</xref>]. However, modeling future image content and object motion is challenging due to dynamic evolution and image complexity, such as occlusions, camera movements, and illumination. In the past, statistical algorithms such as Hidden Markov Model [<xref ref-type="bibr" rid="ref-16">16</xref>,<xref ref-type="bibr" rid="ref-17">17</xref>], Dynamic Random Forests [<xref ref-type="bibr" rid="ref-18">18</xref>], Gaussian Mixture Model [<xref ref-type="bibr" rid="ref-19">19</xref>], and Boltzmann Machine [<xref ref-type="bibr" rid="ref-20">20</xref>] have been used for simple periodic motion. On the other hand, data-driven approaches with Deep Learning were considered, for more complex scene evolutions.</p>
<p>Recently, the Deep Neural Network model has become popular in various fields because of its ability to handle multidimensional data without feature engineering, nonlinear learning capabilities, and availability of cheap and high computational power [<xref ref-type="bibr" rid="ref-21">21</xref>&#x2013;<xref ref-type="bibr" rid="ref-24">24</xref>]. Numerous attempts have been made for frame prediction with Deep Learning in the past. The top-performing algorithm exploits spatiotemporal feature learning in an unsupervised manner without the need for labeled data. They are designed to take advantage of supervised learning by generating infinite training samples for input-output, where the predicting frame (output label) is taken from the database. In general, these models either learn to compute optical flow (motion) on a pixel-by-pixel basis or learn to synthesize RGB pixels by finding correspondences between given frames. These predictive models are generally based on autoencoder [<xref ref-type="bibr" rid="ref-25">25</xref>,<xref ref-type="bibr" rid="ref-26">26</xref>], (where the models first learn spatiotemporal features by encoding multiple input images into a small latent state and later reconstruct them to predict the future image with small reconstruction error), recurrent neural networks [<xref ref-type="bibr" rid="ref-27">27</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>], (where the model directly learns the temporal correlations between input frames, to predict the future frame) or generative adversarial networks [<xref ref-type="bibr" rid="ref-29">29</xref>&#x2013;<xref ref-type="bibr" rid="ref-31">31</xref>] (where two neural networks compete with each other, among them generative network predicts future frame based on the past observed frames, while the discriminative network classifies the output image as real or fake). These models have significant drawbacks. In the pixel-based motion approach, the model is prone to errors in extrapolating the future frame due to lighting conditions, object occlusion, and camera movements. With RGB synthesis, it is difficult to estimate all content and object motion in the scene, often resulting in blurry prediction.</p>
<p>Inspired by the successful application of Convolutional Autoencoder [<xref ref-type="bibr" rid="ref-32">32</xref>,<xref ref-type="bibr" rid="ref-33">33</xref>] and Long Short-Term Memory (LSTM) [<xref ref-type="bibr" rid="ref-34">34</xref>]. In this work, we propose a deep Frame Prediction Network (FPNet-OF) with a multi-prediction branch (Optical flow and Frame) for predicting future images, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. We developed the &#x2018;Frame Prediction Branch&#x2019; based on a recurrent convolutional autoencoder architecture [<xref ref-type="bibr" rid="ref-14">14</xref>] to learn the spatiotemporal correlation for a given past frame to predict the future frames. However, the frame-based architecture alone doesn&#x2019;t generate a coherent image (as shown in the ablation study in Section 4.4.1), as the relationship between objects motion in subsequent frames are not unique. Moreover, the predicted image becomes blurred or fuzzy when the prediction range is several time-steps in the future. Therefore, we design a second convolutional autoencoder (optical-flow prediction branch) in parallel with the frame prediction branch, which is identical to the frame prediction branch and learns to incorporate future object motion, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. The optical-flow prediction branch is connected through element-wise multiplication operations at the decoder module of the frame prediction branch. The input to optical-flow architecture is the sequence of past optical-flow images (optical-flow image is generated from the corresponding original frames, explained in Section 4.2). A detailed explanation of the architecture design is presented in Section 3.2 and the training process in Section 3.3. The main contribution of the paper is summarized as follows:
<list list-type="bullet">
<list-item><p>We proposed a deep neural prediction network, FPNet-OF, made of two identical branches named frame prediction branch and optical-flow prediction branch to predict the future video frame. The branches are made up of the recurrent convolutional autoencoder architecture. These branches exploit the spatio-temporal relation of the past image sequences to learn future representations. The frame prediction branch takes past frames to generate the future frame. The optical-flow prediction branch takes past optical-flow images to synthesize the future optical flow images.</p></list-item>
<list-item><p>We adaptively fuse future optical-flow estimation (from optical-flow prediction network) to reconstruction layer of frame prediction network, using an element-wise multiplication layers. This enables frame prediction network to adjust the magnitude range of moving object, benefiting high-quality future prediction.</p></list-item>
<list-item><p>Exhaustive experiments validate that the FPNet-OF demonstrate a state-of-the-art performance in terms of Structural Similarity Index (SSIM), peak signal-to-noise ratio (PSNR), and mean square error (MSE) on Caltech, UCF101, CUHK Avenue, and ShanghaiTech Campus datasets.</p></list-item>
</list></p>
<fig id="fig-1"><label>Figure 1</label><caption><title>FPNet-OF model architecture, made up of frame prediction branch and optical-flow prediction branch. Each branch further made up of three modules, section A and D are encoder module, Section B and E are recurrent network, and section C and F are decoder module. The color code represents the type of operations</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-1.tif"/></fig>
<p>In this section, we describe the background and motivation of the study. The rest of the paper is structured as follows: Section 2 discusses related works. Section 3 presents the methodology, including problem statements, key components of FPNet-OF architecture design, the loss functions, and the training process. Section 4 presents the data source, optical-flow generation from frame image, model implementation details, model performance, and comparison with other state-of-the-art models. Finally, Section 5 concludes our work and provides the future direction of this study.</p>
</sec>
<sec id="s2"><label>2</label><title>Related Works</title>
<p>In many computer vision applications, it is important to correctly predict future scenarios to avoid undesirable outcomes. In this study, we aim to predict the future frames by incorporating the future optical-flow motion into the direct RGB synthesis. This is in contrast to most recent work, where researchers mainly focused on developing a neural network architecture by using either direct frame synthesis or optical-flow motion. Here, we jointly optimize direct RGB frame prediction and future dense optical motion estimation to develop a superior prediction network. In the following subsections, we will discuss in detail the most relevant work for our study.</p>
<sec id="s2_1"><label>2.1</label><title>Direct Frame Synthesis</title>
<p>The direct frame synthesis approach exploits spatiotemporal information in numerous ways that depend on the design of the network architecture. Some of the common approaches [<xref ref-type="bibr" rid="ref-35">35</xref>&#x2013;<xref ref-type="bibr" rid="ref-43">43</xref>] are based on 3D convolutional neural networks (3D-CNN), convolutional autoencoder, recurrent networks, and generative adversarial training methods. The 3D-CNN-based model learns spatiotemporal features as it performs convolution operations across temporal and spatial dimensions. In [<xref ref-type="bibr" rid="ref-44">44</xref>] researchers used 3D-CNN with the input of a short clip to predict the temporal motion in the video. The limitation of 3D-CNN is that it only considers short-term dependencies and cannot model the learning of long-term features. To overcome this limitation, most of the existing work uses the hybrid architecture of convolutional networks and recurrent networks, which allows to simultaneously exploit the convolutional model&#x2019;s ability to learn spatial relationships and the recurrent model&#x2019;s ability to capture temporal relationships. In [<xref ref-type="bibr" rid="ref-39">39</xref>], the researcher proposes an action-dependent video prediction model using two spatiotemporal prediction architectures based on convolutional networks and recurrent neural networks to directly control one or more objects in Atari games by action and indirectly influence many other objects. Finn et al. [<xref ref-type="bibr" rid="ref-45">45</xref>] proposed an action-based video prediction model based on Convolutional LSTMs to explicitly make a long-range prediction in real videos by predicting a distribution over pixel motion from previous frames. Yu et al. [<xref ref-type="bibr" rid="ref-35">35</xref>] use a hybrid network based on a 3D convolution and recurrent network to build a two-way autoencoder for predicting future frames by spatiotemporal learning. Ranzato et al. [<xref ref-type="bibr" rid="ref-40">40</xref>] propose a recurrent convolutional neural network to handle spatial correlations between nearby image patches. The model leverages both temporal dependencies and spatial correlations to predict the central patch of missing frames or extrapolate future frames from an input video sequence. Lotter et al. [<xref ref-type="bibr" rid="ref-46">46</xref>] introduced a predictive neural network based on the CNN-LSTM-deCNN frame to predict future images and learn the latent structural representations of the three-dimensional objects in a synthetic video sequence. Lotter et al. [<xref ref-type="bibr" rid="ref-8">8</xref>] proposed a predictive neural network (PredNet) based on ConvLSTM inspired by the concept of &#x201C;predictive coding&#x201D; to predict future frames in a video sequence by making a local prediction in each layer and passing only the deviation of the prediction to the subsequent layers.</p>
<p>Although the aforementioned works make a significant contribution to video prediction, these works often lead to blurry predictions. In [<xref ref-type="bibr" rid="ref-38">38</xref>], the author proposes a multi-scale architecture with an adversarial training process and a new loss function based on the image gradient to cope with the inherently blurry predictions obtained with the standard loss function mean squared error. Byeon et al. [<xref ref-type="bibr" rid="ref-47">47</xref>] identified blind spots (lack of access to all relevant past information) as an important factor for blurry prediction and propose a fully context-aware video prediction (ContextVP) that captures all available context for each pixel using parallel multidimensional LSTM units and aggregates them using blending units. Kwon et al. [<xref ref-type="bibr" rid="ref-31">31</xref>] propose a unified generative adversarial network with a single generator and two discriminators (to identify fake frame and fake contained image sequences from the real sequence) that can predict both future and past frames enforcing bi-directional prediction consistency using retrospective cycle constraints.</p>
</sec>
<sec id="s2_2"><label>2.2</label><title>Optical Flow Estimation</title>
<p>Optical flow is the most commonly investigated method for predicting future motion fields or video frames [<xref ref-type="bibr" rid="ref-25">25</xref>,<xref ref-type="bibr" rid="ref-48">48</xref>,<xref ref-type="bibr" rid="ref-49">49</xref>] and the quality of the prediction depends on the accuracy of the flow generation for a given image or video sequence. In general, large displacements or the fast motions in the video clips poses problems. Mahajan et al. [<xref ref-type="bibr" rid="ref-50">50</xref>] describe an image interpolation technique for generating a sequence of intermediate frames by simply copying and moving pixel gradients from the input images along the path. Luo et al. [<xref ref-type="bibr" rid="ref-51">51</xref>] present an unsupervised learning approach that compactly encodes the motion dependencies in video clips to predict the long-term 3D motions based on the LSTM Encoder-Decoder framework. Since the work by Horn et al. [<xref ref-type="bibr" rid="ref-52">52</xref>], optical flow estimation has been dominated by variational methods [<xref ref-type="bibr" rid="ref-25">25</xref>,<xref ref-type="bibr" rid="ref-49">49</xref>]. Revaud et al. [<xref ref-type="bibr" rid="ref-49">49</xref>] propose EpicFlow, a novel approach for estimating optical flow in presence of large displacements and significant occlusions through a sparse-to-dense interpolation scheme of correspondences based on edge-aware distance. Dosovitskiy et al. [<xref ref-type="bibr" rid="ref-53">53</xref>] propose FlowNet, which is based on CNN&#x2019;s and capable of solving optical flow estimation problems by correlating the feature vectors at different image positions. Liu et al. [<xref ref-type="bibr" rid="ref-26">26</xref>] propose Deep Voxel Flow (DVF), a deep network that learns to synthesize video frames by flowing pixel values from previous frames.</p>
</sec>
<sec id="s2_3"><label>2.3</label><title>Joint Frame Prediction and Optical Estimation</title>
<p>More recently, researchers have focused on developing a hybrid deep neural network that takes advantage of both optical-flow estimation and direct RGB frame synthesis for the task of video prediction [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-54">54</xref>&#x2013;<xref ref-type="bibr" rid="ref-56">56</xref>]. Sedaghat et al. [<xref ref-type="bibr" rid="ref-56">56</xref>] propose NextFlow trained in a semi-supervised hybrid multitasking environment to use real-world videos without ground truth and synthetic images with ground truth to learn optical flow estimation and next frame prediction. Lui et al. [<xref ref-type="bibr" rid="ref-1">1</xref>] propose a video prediction framework for anomaly detection, to predict a high-quality future frame for normal events, a motion (temporal) constraint-based on optical flow is introduced in addition to appearance (spatial) constraints on intensity and gradient. The spatial and temporal constraints predict future frames for normal events and consider events as abnormal if the event does not confirm the expectation. Liang et al. [<xref ref-type="bibr" rid="ref-54">54</xref>] proposed Dual Motion GAN, which learns to explicitly enforce the prediction of the future frame to be consistent with the pixel-wise flows in the video sequence through a dual learning mechanism. Li et al. [<xref ref-type="bibr" rid="ref-55">55</xref>] proposed a deep multi-branch mask network (DMMNet) that adaptively combines the advantages of optical-flow wrapping and RGB pixel synthesis to predict video frames.</p>
<p>Although direct frame synthesis and optical flow estimation provide compelling results, they often reach their limits. In particular, direct frame synthesis often leads to fuzz prediction because these models cannot explicitly model complex pixel distributions, and the image becomes blurrier or fuzzier when the prediction range is several time steps in the future. On the other hand, optical-flow estimation is poor in situations with large displacements, distortions, motions, and obstructions and produces significant artifacts due to inaccurate flow estimation. In the case of research focused on joint frame prediction and optical-flow estimation, these methods are comparatively better than individual system but with further room for improvement, they are tough to train due to their sizeable network architecture. Initially, our model has longer training time per epoch, as it trains both the Frame Prediction Branch and the Optical-flow Prediction Branch simultaneously. As the optical-flow images have lower pixel distribution complexity than the original frames, the Optical-flow Prediction Branch requires fewer epochs to train than the Frame Prediction Branch. When the Optical-flow Prediction Branch starts to predict the accurate future optical-flow, we halt the training of the Optical-flow Prediction Branch, resulting in the decrease of the overall training time of the model per epochs. Hence, the FPNet-OF is a lightweight architecture and easier to train. Moreover, in contrast to the work in [<xref ref-type="bibr" rid="ref-55">55</xref>], where the researcher fuses the future motion and future appearance synthesis only at the last layer. Here in this work, the future motion of the optical flow from the Optical-flow Prediction Branch merges with the Frame Prediction Branch at different depths, supplementing the advantage of both architecture to achieve more realistic results.</p>
</sec>
</sec>
<sec id="s3"><label>3</label><title>The Proposed Method</title>
<p>In this section, at first, we define the problem statement for the next frame prediction. Secondly, we elaborate on all the modules of the proposed FPNet-OF model in detail. Finally, we present the objective function and model training process.</p>
<sec id="s3_1"><label>3.1</label><title>Problem Statement</title>
<p>Let <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>F</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> be the chronological order of <italic>n</italic> original-frame images and <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>O</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> be the chronological order of <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> optical flow image, such that <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> optical flow &#x2018;<inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mrow><mml:msub><mml:mi>o</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>&#x2019; is generated from frames <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>{</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>F</mml:mi></mml:math></inline-formula>. We proposed a deep neural network <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> which takes input <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mrow><mml:mo>(</mml:mo><mml:mi>X</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> list of past <italic>p</italic> consecutive frames and optical flow to predict output <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mi>Y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> which is <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mtext>&#x00A0;&#x00A0;</mml:mtext><mml:msup><mml:mi>k</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> future frame <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. We denote our prediction frame as <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. To make <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> close to <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, we minimize their distance regrading intensity, gradient and structure similarity. <xref ref-type="table" rid="table-1">Table 1</xref> shows the input sequence and its corresponding prediction frame for <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> and <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> samples.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msubsup><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<table-wrap id="table-1"><label>Table 1</label><caption><title>Input sequence and its corresponding prediction output</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Input</th>
<th align="left">Output</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>:</mml:mo><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>:</mml:mo><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Here, <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>&#x03B8;</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> is the model parameter.</p>
<p>Here, <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msup><mml:mi>X</mml:mi><mml:mrow><mml:mo>&#x22C5;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> represent the sample number and <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mo>&#x22C5;</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula> represent the number of past consecutive images. The model <italic>M</italic> can be defined as</p>
</sec>
<sec id="s3_2"><label>3.2</label><title>Model Architecture</title>
<p>As mentioned earlier, FPNet-OF contains two branches: Frame Prediction Branch and Optical-flow Prediction Branch. Each branch is composed of three modules: (i) Encoder Module (feature extraction network), which extracts features from the input by gradually reducing the spatial resolution; (ii) Recurrent Module (recurrent network), which learns the spatial and temporal features; and (iii) Decoder Module (reconstruction network), which gradually recovers the frame by expanding the spatial resolution. Both branches consist of multiple skip connections from their respective encoder module to the decoder module. The architecture of both branches is identical, except that the decoder module in the frame prediction branch has an additional connection (optical-flow connection) from the decoder module of the optical-flow prediction branch. A schematic of our framework is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<sec id="s3_2_1"><label>3.2.1</label><title>Feature Extraction Network</title>
<p>The encoder module consists of an input layer followed by series of four encoder blocks stacked on top of each other. Each encoder block consists of one Pooling Block (PB) to achieve shift-invariance by gradually reducing the spatial resolution of the feature map while learning important information, followed by a Convolutional Residual Block for spatial receptive learning. Residual learning is used in the Convolutional Residual Block to overcome a degradation problem (a condition in which the accuracy of a deep neural network enters saturates at one point and then rapidly degrades). The degradation problem often occurs in networks with high depth, as reported in [<xref ref-type="bibr" rid="ref-57">57</xref>]. Deep residual learning was first introduced in [<xref ref-type="bibr" rid="ref-57">57</xref>] to overcome the degradation problem, and the application of residual learning can be seen in [<xref ref-type="bibr" rid="ref-58">58</xref>]. Unlike traditional neural networks where the layer feeds to the next layer, in residual learning, the current layer feeds into the next layer and also feeds to the layers about few hops away. The residual block makes use of shallow features to get more key features.</p>
<p>In our proposed architecture, Convolutional Residual Block is made by stacking two CNN blocks. Each CNN block consists of a 2D Convolutional layer with the strides of <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mn>1</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and filter kernel size of <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mn>3</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, followed by a Batch Normalization layer, and a ReLU activation layer. We adopt the Convolutional Residual block as seen in <xref ref-type="fig" rid="fig-2">Fig. 2a</xref>. The output of CNN block 1 is directly fed to CNN block 2. The result from the batch normalization layer of the CNN block 2 is first element-wise added with the input of Convolutional Residual block (performed by shortcut connection) and then passed through ReLU nonlinearity layer to generate the output of Convolutional Residual block. The spatial resolution and the number of the filter remain constant throughout the CNN residual block.</p>
<fig id="fig-2"><label>Figure 2</label><caption><title>Architecture design for (a) convolutional residual block, and (b) frame optical-flow fusion block</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-2.tif"/></fig>
<p>Let <italic>x</italic> and <italic>y</italic> be the input and output vector of the CNN Residual block. The output of the 2D convolutional layer is given by
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msubsup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mtext>&#x00A0;</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula>Here <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> are the input, output, and model parameters (weight, bias), filter index, number of convolutional filters, respectively of the <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msup><mml:mi>L</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> layer (depth of CNN layer). For simplicity, we omitted the biases and represent the weight of the convolutional layer as <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, then the output of the convolution layer from <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref> is represented by <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>x</mml:mi></mml:math></inline-formula>. The output of CNN block 1 is given, as in <xref ref-type="disp-formula" rid="eqn-3">(3)</xref>
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>B</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>B</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are batch normalization operation, non-linear activation layer (ReLU), and output of CNN block 1, respectively. Batch normalization operation is omitted from the equations here onwards for simplifying notations. The output of Convolutional Residual Block is given, as in <xref ref-type="disp-formula" rid="eqn-4">(4)</xref>
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is the weight of the convolutional layer in CNN block 2. The Pooling Block is made of one 2D Convolutional layer with the strides of <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mn>2</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> and filter size of <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mn>2</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>, followed by a Batch Normalization layer, and a ReLU activation layer.</p>
<p>Both prediction branch takes the input of size <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtext>b</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">h</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">w</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>c</mml:mtext></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mtext>p</mml:mtext></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, where &#x2018;<inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>b</mml:mi></mml:math></inline-formula>&#x2019; is the batch size, &#x2018;<inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>h</mml:mi></mml:math></inline-formula>&#x2019;, &#x2018;<inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>w</mml:mi></mml:math></inline-formula>&#x2019;, &#x2018;<inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>c</mml:mi></mml:math></inline-formula>&#x2019; are height, width, and channel of input image, and &#x2018;<inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>p</mml:mi></mml:math></inline-formula>&#x2019; is the number of past input sequence. Here, &#x2018;<inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>c</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>p</mml:mi></mml:math></inline-formula>&#x2019; represents the input images are stacked before feeding to the network. Let <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the input sequence of frame encoder module, <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the output of <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> frame Pooling Block, and <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> represent the output of <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> encoder block (Convolutional Residual Block). Then, the output of frame encoder module (i.e., output of <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msup><mml:mn>4</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> frame encoder block) is given by <xref ref-type="disp-formula" rid="eqn-6">(6)</xref>
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>P</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, and &#x2018;<inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:math></inline-formula>&#x2019; are the output of 3rd frame encoder block, convolutional weights of Convolutional Residual Block in 4th frame encoder block and pooling operation. Similarly, the output of optical flow encoder module (i.e., output of 4th optical flow encoder block) is given, as in <xref ref-type="disp-formula" rid="eqn-7">(7)</xref>
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and &#x2018;<inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:math></inline-formula>&#x2019; are convolutional weights of Convolutional Residual Block in 4th optical-flow encoder block and pooling operation.</p>
</sec>
<sec id="s3_2_2"><label>3.2.2</label><title>Recurrent Network</title>
<p>As seen in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the Recurrent Module consists of two ConvLSTM layers. ConvLSTM is a recurrent layer, just like LSTM, but the internal matrix multiplications are replaced by convolution operations. The ConvLSTM absorbs the properties of Convolution and LSTM and learns both spatial dependencies and temporal relationships between frames. It contains a cell state, a memory, and three gates (input, forget, and output) to protect and control the cell state. The output of the recurrent network is computed by the following operations. At the input gate, the information is added to the cell state in two steps. First, the sigmoid layer decides which input value <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> should be updated given, as in <xref ref-type="disp-formula" rid="eqn-8">(8)</xref>, then the tanh layer creates a vector of new candidate values <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover><mml:mi>c</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> given, as in <xref ref-type="disp-formula" rid="eqn-9">(9)</xref>. At forget gate, ConvLSTM decides which information <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> should be forgotten from the cell states, as in <xref ref-type="disp-formula" rid="eqn-10">(10)</xref>. Based on the update at the input and forget gate, the old cell state <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> updates cell state <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> given, as in <xref ref-type="disp-formula" rid="eqn-11">(11)</xref>. At the output gate, the ConvLSTM decides which part of the cell state to send to the output <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, as in <xref ref-type="disp-formula" rid="eqn-12">(12)</xref>. Finally, the output of the recurrent layer is given, as in <xref ref-type="disp-formula" rid="eqn-13">(13)</xref>.
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:msub><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2299;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msub><mml:mover><mml:mi>c</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>tanh</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2299;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2299;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2299;</mml:mo><mml:msub><mml:mover><mml:mi>c</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2299;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2299;</mml:mo><mml:mi>tanh</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mo>&#x2299;</mml:mo></mml:math></inline-formula> represent the sigmoid layer, convolution operation and the element-wise multiplication, respectively.</p>
</sec>
<sec id="s3_2_3"><label>3.2.3</label><title>Reconstruction Network</title>
<p>The decoder module in both branches (frame and optical) consists of a series of four decoder blocks followed by an output layer. Each decoder block consists of a 2D transposed convolutional layer, a decoder-convolutional block, and a skip connection from the corresponding encoder block. Except for the decoder-convolutional block, the architecture of the two prediction branches is identical. There is an additional connection layer called the optical-flow connection in the frame-decoder module. On the other hand, the Optical-flow decoder module is similar to the optical-flow convolutional residual block without residual connection. The Transpose Convolutional layer increases the latent representation of the learned spatiotemporal feature map into the original resolution. The Convolution operation grasps the spatial dependencies between pixels before the next upsampling layer. Due to the depth of the neural network, the network suffers not only from the degradation problem but also from the vanishing gradient problem (when the gradient shrinks towards zero during backpropagation, resulting in the weight never updating its value). A skip connection from the feature extraction network to the reconstruction network solves the problem by allowing the gradient to flow directly back from the end layers to the initial layers.</p>
<p>The architecture of the frame decoder-convolutional block (Frame Optical-flow Fusion Block) is shown in <xref ref-type="fig" rid="fig-2">Fig. 2b</xref>. The output of the transposed convolutional layer is fed into CNN block 1 along with a skip connection (of the appropriate dimension) from the frame encoder module. A mask layer (a 2D convolutional layer with the same number of filters as the previous layer) is generated from the result of CNN block 1. The mask layer is bitwise multiplied with the optical-flow connection of the corresponding dimension from the optical-flow decoder block, then added to the output of CNN block 1 and fed into CNN block 2.</p>

<p>Consider the decoder block are numbered in decreasing order (i.e., the inner-most decoder block number being the highest and the outer-most decoder block numbered as 1). Let <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the output of <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> optical-flow decoder block. Then, the output of the transpose layer from 1st optical-flow decoder block <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is given, as in <xref ref-type="disp-formula" rid="eqn-14">(14)</xref>
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="italic">transpose</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mrow><mml:mtext>transpose</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represent 2D transpose convolution with strides of <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mn>2</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> and filter kernel size of <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mn>2</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>. After adding skip connection <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> from frame optical-flow Convolutional Residual Block to the transpose layer of <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> decoder block, we get the output of transposed layer <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> as in <xref ref-type="disp-formula" rid="eqn-15">(15)</xref>, and based on <xref ref-type="disp-formula" rid="eqn-4">(4)</xref>, we can compute the output of optical-flow decoder block 1, as in <xref ref-type="disp-formula" rid="eqn-16">(16)</xref>
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></disp-formula>
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents ReLU activation function and convolutional weights of 1st optical-flow decoder block. For frame decoder, let <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the output of <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> frame decoder block. Then, the output of transpose layer from 1st frame decoder block <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is given, as in <xref ref-type="disp-formula" rid="eqn-17">(17)</xref>
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="italic">transpose</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>A skip connection <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> (from frame Convolutional Residual Block) as in <xref ref-type="disp-formula" rid="eqn-6">(6)</xref> along with the output of Transposed Convolutional layer (from 1st frame decoder block) is fed to CNN block 1, the output CNN Block 1 is given as in <xref ref-type="disp-formula" rid="eqn-19">(19)</xref>
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></disp-formula>
<disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup></mml:math></inline-formula> represents ReLU activation function and convolutional weights of CNN block 1 of 1st frame-decoder. At this stage, a mask layer is created to incorporate the future optical motion of the objects. Optical-flow connection from corresponding optical-flow decoder block is multiplied with mask layer and added with the output of CNN block 1 and passed to CNN block 2. The optical flow incorporated with mask layer <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is given as in <xref ref-type="disp-formula" rid="eqn-20">(20)</xref> and the output of CNN block 1 (or output of 1st frame-decoder block) as in <xref ref-type="disp-formula" rid="eqn-21">(21)</xref>
<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2299;</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math></disp-formula>
<disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup></mml:math></inline-formula> are the weight of mask convolutional layer and CNN block 2 of 1st frame-decoder block module, and <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mo>&#x2299;</mml:mo></mml:math></inline-formula> represents the bitwise multiplication operation.</p>
<p>Finally, the output of both frame <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> and optical-flow <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>O</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> branch is computed by performing convolution operation to output of 1st decoder block from their respective branch with the strides of <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mn>1</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, filter kernel size of <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mn>3</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula> and channel output of 3, followed by batch normalization layer and sigmoid activation function (<inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>), given as in <xref ref-type="disp-formula" rid="eqn-22">(22)</xref> and <xref ref-type="disp-formula" rid="eqn-23">(23)</xref>
<disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mover><mml:mi>O</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mover><mml:mi>o</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msubsup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mover><mml:mi>O</mml:mi><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:msubsup></mml:math></inline-formula> are is the convolutional weight of output layer of frame and optical-flow branch, respectively. From <xref ref-type="table" rid="table-1">Table 1</xref>, we have ground truth frame and optical-flow. Hence, we train our model to learn to predict future frame and future optical flow by minimizing the error between the predicted frames and optical-flow from the proposed architecture and ground truth frames and optical-flow from the database.</p>

</sec>
</sec>
<sec id="s3_3"><label>3.3</label><title>Model Training</title>
<p>In this sub-section, we first explain the objective function used for training and then present the pseudo-algorithm for overall model training process.</p>
<sec id="s3_3_1"><label>3.3.1</label><title>Loss Function</title>
<p>Since the final output of the model is the images future frames, for learning the parameters in FPNet-OF, we combined the image gradient different loss (GDL), the mean squared difference loss or MSE, and the SSIM loss to measure the quality of the frames between the ground truth images <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the predicted image <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Similarly, we used the least absolute deviation (<inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> loss) to measure the quality of the optical-flow between the ground truth images <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the predicted image <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>Image gradient different loss directly penalizes the differences between neighbor pixels in predicted and ground truth images. The GDL function between the ground truth images <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and predicted image <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is given by <xref ref-type="disp-formula" rid="eqn-24">(24)</xref>
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>G</mml:mi><mml:mi>D</mml:mi><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> denotes the spatial index of a frame. Similarly, for ground truth image <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and predicted image <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> which contains the sequence of p frames, the mean gradient difference loss is given by <xref ref-type="disp-formula" rid="eqn-25">(25)</xref>
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:msub><mml:mover><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover><mml:mrow><mml:mi>G</mml:mi><mml:mi>D</mml:mi><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>h</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>w</mml:mi></mml:mrow></mml:mfrac><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>g</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>h</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> and <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mtext>&#x00A0;</mml:mtext><mml:mi>w</mml:mi></mml:math></inline-formula> represents the height and width of each frame, respectively.</p>
<p>The SSIM evaluates the visual quality differences and similarities between the ground truth image <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the predicted image <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> based on luminance, contrast and texture. The SSIM ranges from 0 and 1. SSIM closer to 1 means that the images are nearly identical. Our goal is to minimize the error between the images. Therefore, we subtract the SSIM from one in objective function, i.e., SSIM value closer to 0 is better. The SSIM loss function is calculated as in <xref ref-type="disp-formula" rid="eqn-26">(26)</xref>
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>I</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>Y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>Y</mml:mi><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03BC;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03C3;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>Y</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> are the average of <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mrow><mml:mtext>Y&#xA0;</mml:mtext></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, respectively; <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>Y</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> and <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> are the variance of <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mrow><mml:mtext>Y&#xA0;</mml:mtext></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, respectively; <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>Y</mml:mi><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is the covariance of <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mrow><mml:mtext>Y&#xA0;</mml:mtext></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>. <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are constant and correspond to 0.01 and 0.03, respectively. For the ground truth image <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the predicted image <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> which contains the sequence of past <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>p</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> frames, the SSIM is given as in <xref ref-type="disp-formula" rid="eqn-27">(27)</xref>
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>I</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>p</mml:mi></mml:mfrac><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>I</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The mean squared distance loss measure the quality of predicted image by computing a Euclidean distance between the ground truth and predicted image, as in <xref ref-type="disp-formula" rid="eqn-28">(28)</xref>
<disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>w</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>h</mml:mi></mml:mrow></mml:mfrac><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></disp-formula></p>
<p>The mean least absolute deviation measure the quality of predicted image and is calculated as in <xref ref-type="disp-formula" rid="eqn-29">(29)</xref>
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mi>A</mml:mi><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>w</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>h</mml:mi></mml:mrow></mml:mfrac><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The overall loss function to train frame branch FPNet-OF is given in <xref ref-type="disp-formula" rid="eqn-30">(30)</xref>
<disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover><mml:mrow><mml:mi>G</mml:mi><mml:mi>D</mml:mi><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>I</mml:mi><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mi>&#x02112;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>where <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are the weights and are empirically set to 1, 1 and 1 for loss functions mean gradient difference loss, structure similarity measurement loss, and mean square loss, respectively.</p>
<p>The PSNR metric represents the signal-to-noise-ratio based on the mean square error. The PSNR between the ground truth image <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the predicted image <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is given, as in <xref ref-type="disp-formula" rid="eqn-31">(31)</xref>. The PSNR value is high if there is less noise between the images.
<disp-formula id="eqn-31"><label>(31)</label><mml:math id="mml-eqn-31" display="block"><mml:mrow><mml:mtext>PSNR</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mfrac><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is the maximum possible value of the image intensities and <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> denote the spatial index of a frame.</p>
</sec>
<sec id="s3_3_2"><label>3.3.2</label><title>Training Process</title>
<p>Algorithm 1 summarizes the training process of the proposed architecture. The frame and optical-flow dataset (generated using frame dataset, as explained in Section 4.2), the number of the past image sequences <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mi>p</mml:mi></mml:math></inline-formula>, and the next frame prediction horizon <italic>k</italic> are the input constraints for training the model, as in Line 1. The weighting factor <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mi>&#x03BB;</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> to balance the objective function and the learning rate <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03B1;</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> is hyper-parameters, as described in line 2. The generation of the input-output sequence of frame and optical-flow datasets for training the model <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mrow><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> using the gradient-descent backpropagation and Adam optimization algorithm is shown in lines 4 to 9. We initialized the parameters of the optical-flow prediction branch and the joint optical-flow and frame prediction model as <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> and <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">FPNet</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>O</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, respectively, based on a &#x2018;he uniform&#x2019; distribution, as shown in line 10. The training process for the model is shown in lines 11 to 16. The FPNet-OF simultaneously trains the optical-flow prediction model (as shown in lines 12 to 14) and the joint optical-flow and frame prediction model (as shown in lines 12 to 16). Training the optical-flow prediction branch falls under the training process of the FPNet-OF. Therefore, the training of the optical-flow branch is terminated when the termination criteria for the joint model are satisfied. Generally, the termination criteria of the optical-flow prediction model are satisfied earlier compared to the joint model. After the training process is completed, an optimal set of parameters <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="italic">FPNet</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>O</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x00A0;</mml:mtext></mml:math></inline-formula> representing the prediction model <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mrow><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> is generated as shown line 17.</p>
<fig id="fig-6">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-6.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s4"><label>4</label><title>Experiments</title>
<p>In this section, we evaluate the proposed method with multiple real-world data and compare our results with the state-of-the-art frame prediction methods.</p>
<sec id="s4_1"><label>4.1</label><title>Dataset</title>
<p>In this work, we train and verify the predictive ability of our model on several publicly available datasets, such as Caltech Pedestrian [<xref ref-type="bibr" rid="ref-59">59</xref>], UCF101 [<xref ref-type="bibr" rid="ref-60">60</xref>], CUHK Avenue [<xref ref-type="bibr" rid="ref-61">61</xref>], and ShanghaiTech Campus [<xref ref-type="bibr" rid="ref-62">62</xref>]. To make a fair performance comparison with the existing method, we chose the training and testing dataset the same as mentioned in the original papers.</p>
<p>The Caltech pedestrian data was recorded while driving through regular traffic with the cameras mounted on the vehicle. The dataset consists of about 10&#x2005;h of video recording with an image resolution of 640&#x2009;&#x00D7;&#x2009;480. Since it was recorded in a moving car, the dataset has frequent occlusions and relatively large movements of pixels of vehicles and pedestrians compared to other data sources. The dataset consists of 11 video sets, of which the first six sets are used for training with 71 video sequences, and the last five sets are used for testing with 66 video sequences. The UCF101 dataset comes from YouTube. It contains 101 action categories with 13320 videos at 25 frames per second and of 240&#x2009;&#x00D7;&#x2009;320 resolution. UCF101 is commonly used for action prediction and classification. Some of the frequent actions include driving, dancing, push-ups, climbing, crawling, etc. The CUHK Avenue dataset is for abnormal event detection recorded on the CUHK campus. It has 37 video clips (30652 frames), of which 16 video clips (15328 frames) for training and 21 video clips (15324 frames) for testing. The ShanghaiTech campus dataset is for anomaly detection. It contains 13 scenes with complex lighting conditions and camera angles, which include 130 abnormal events. It has 317398 frames for training and 274515 frames for testing.</p>
</sec>
<sec id="s4_2"><label>4.2</label><title>Optical Flow Estimation</title>
<p>The optical flow estimation of video frames is calculating the angle and magnitude shift for each pixel. In the statistical approach, the optical-flow is the estimation in two steps: First, the selection of &#x201C;descriptive&#x201D; points or visual features (such as corners, edges, ridges, and textures), and then the track &#x201C;descriptive&#x201D; in subsequent frames, and calculate the optical change. There are various statistical approaches for estimating optical flow, such as differential techniques [<xref ref-type="bibr" rid="ref-52">52</xref>], region-based matching [<xref ref-type="bibr" rid="ref-63">63</xref>], energy-based methods [<xref ref-type="bibr" rid="ref-64">64</xref>], and phase-based methods [<xref ref-type="bibr" rid="ref-65">65</xref>]. Recent work in this area has addressed approaches based on deep neural network techniques [<xref ref-type="bibr" rid="ref-25">25</xref>,<xref ref-type="bibr" rid="ref-48">48</xref>&#x2013;<xref ref-type="bibr" rid="ref-53">53</xref>,<xref ref-type="bibr" rid="ref-56">56</xref>] (see Section 2.2 for more details).</p>
<p>In this paper, we have estimated the optical flow based on the work of G. Farneback [<xref ref-type="bibr" rid="ref-66">66</xref>]. Farneback presents a novel algorithm for motion estimation based on two frames, wherein a first step each neighborhood of both frames is approximated by quadratic polynomials, and then the displacement fields are estimated from the polynomial expansions. For simplicity, we used the built-in function &#x2018;calcOpticalFlowFarneback&#x2019; by OpenCV in this work. OpenCV also provides other built-in functions for optical flow estimation, such as &#x2018;SparseOpticalFlow&#x2019;, &#x2018;SparsePyrLKOpticalFlow&#x2019;, &#x2018;calcOpticalFLowPyrLK&#x2019;, etc. Algorithm 2 represents the process of optical flow estimation. Two consecutive video frames are the input, as in line 1. The built-in function &#x2018;calcOpticalFlowFarneback&#x2019; is algorithm requirement, as in line 2. The input frames should first be converted to a grayscale image, as in line 4. The output of the Farneback algorithm provides two matrices in the Cartesian coordinate system, one for the magnitude shift and the other for the angle, as shown in line 5. The result is converted to a polar coordinate system, as shown in line 6. Finally, we store the magnitude matrix as an image, as in line 7, and discard the angle shift, since we do not use it in the FPNet-OF algorithm.
</p>
<fig id="fig-7">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-7.tif"/>
</fig>
</sec>
<sec id="s4_3"><label>4.3</label><title>Model Parameters and Training Details</title>
<p>The details of the FPNet-OF are explained in this subsection. As shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the FPNet-OF consists of 2 identical recurrent convolutional autoencoders branch. Each branch consists of four encoder modules, four decoder modules, a recurrent block, and an input and output layer. Each module contains three hidden layers with a constant number of convolutional filters that perform either down-sampling or up-sampling operations, followed by two convolutional operations. The number of filters is doubled, and the spatial resolution is halved in each subsequent encoder module and vice-versa in the decoder module.</p>
<p>The number of convolutional filters and the spatial resolution are constant in the recurrent block. [32, 64, 128, 256, 512], [512] and [256, 128, 64, 32, 3] are the number of convolutional filters for the hidden layers in the encoder module (input layer and four encoder modules), recurrent block, and decoder module (four decoder modules and output layer), respectively. All convolutional layers, down-sampling, and up-sampling layers have a dropout of 0.1 and batch normalization.</p>
<p>We trained the FPNet-OF for 50 epochs. For the first 10 epochs, we trained both branches of FPNet-OF, and for the remaining 40 epochs, we only trained the frame prediction branch and stopped the training process of the optical-flow prediction branch. On a single GPU, to train the model on the Caltech Pedestrian dataset, the model took 26.5&#x2005;h for the first 10 epochs, an average of 2.65&#x2005;h per epoch, and 58.56&#x2005;h for the remaining 40 epochs, an average of 1.46&#x2005;h per epoch. The model training time per epoch is decreased by 1.19&#x2005;h after optical flow learns to predict the accurate future optical flow. To train, we used the Adaptive Moment Estimation (Adam) optimizer for the mini-batch stochastic gradient descent method with momentum parameters, a batch size of 8, and a learning rate of 1e-4. We implemented the FPNet-OF using the Tensorflow deep learning library on an Ubuntu 18.04.4 machine with 1 NVIDIA TITAN Xp Graphics Card with a GPU memory of 11&#x2005;GB.</p>
</sec>
<sec id="s4_4"><label>4.4</label><title>Result and Analysis</title>
<p>For quantitative evaluation, we use three metrics video prediction: structural similarity, mean square error, and PSNR as given in <xref ref-type="disp-formula" rid="eqn-26">Eqs. (26)</xref>, <xref ref-type="disp-formula" rid="eqn-28">(28)</xref>, and <xref ref-type="disp-formula" rid="eqn-31">(31)</xref>, respectively. A metric value close to zero is better for MSE, close to one is better for SSIM, and a higher positive value is better for PSNR. In this work, we set the length of the past input sequence to two images (i.e., two frames and two optical-flow) for predicting the next frame and take a long input history to forecast multiple time steps in the future. Some of the works, such as PredNet [<xref ref-type="bibr" rid="ref-8">8</xref>], Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], BeyondMSE [<xref ref-type="bibr" rid="ref-38">38</xref>], Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>], and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] uses more than two input images to predict the next frame. We evaluate FPNet-OF as follows: First, we analyze an ablation study on various components to design our proposed architecture. Then, we compare next-frame prediction predictions with other state-of-the-art approaches for various datasets. Finally, we compare the multiple time-step forecasting ability of FPNet-OF with other state-of-the-art approaches.</p>
<sec id="s4_4_1"><label>4.4.1</label><title>Ablation Study</title>
<p>We carried out an ablation study under various settings by excluding different parts from our proposed architecture one by one to see the impact of each designed module. <xref ref-type="table" rid="table-2">Table 2</xref> compares the quantitative result with various architectural designs. The red &#x2018;cross&#x2019; in the table indicates that the proposed architecture is designed without that corresponding part(s) whereas, the green &#x2018;tick&#x2019; represents that the architecture contains that particular part(s). The simple convolutional autoencoder architecture with skip connections performs adequately for the next frame prediction. It is evident from Ablation studies 2 and 3. The network performance is boosted with the addition of a recurrent block, as seen in Ablation 4. From ablation studies 4 &#x0026; 6, we can say the addition of recurrent components has a higher impact on the model performance than that of the optical-flow connections. But, with the addition of optical flow connections, recurrent blocks, and skip connections, the performance of the model is improved significantly, as seen in Ablation 8. Therefore, the use of all the components for predicting the future frame is crucial. <xref ref-type="fig" rid="fig-3">Fig. 3</xref> shows some typical qualitative comparisons of the ablation studies 3, 6, and 8 with the ground truth. Since all three ablation studies have high performance, the difference in the prediction is very subtle.</p>
<table-wrap id="table-2"><label>Table 2</label><caption><title>An ablation study of the proposed method under various settings, i.e., by excluding different parts one by one to see the impact of each designed module. &#x2713; and &#x2717; indicate that weather the corresponding part is used or not for training the network</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Ablation</th>
<th align="center" colspan="2">Skip connections</th>
<th align="center" colspan="4">Without optical-flow connection</th>
<th align="center" colspan="2">Without recurrent block</th>
<th align="center" colspan="3">Metrics</th>
</tr>
<tr>
<th align="left"/>
<th align="left">FPB</th>
<th align="left">OPB</th>
<th align="left"><inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:msub><mml:mi>O</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th align="left"><inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:msub><mml:mi>O</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th align="left"><inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:msub><mml:mi>O</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th align="left"><inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:msub><mml:mi>O</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th align="left">FPB</th>
<th align="left">OPB</th>
<th align="left">PSNR</th>
<th align="left">SSIM</th>
<th align="left">MSE</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">1.</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">23.81</td>
<td align="left">0.82</td>
<td align="left">0.00713</td>
</tr>
<tr>
<td align="left">2.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">25.09</td>
<td align="left">0.89</td>
<td align="left">0.00589</td>
</tr>
<tr>
<td align="left">3.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">25.09</td>
<td align="left">0.89</td>
<td align="left">0.00589</td>
</tr>
<tr>
<td align="left">4.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">27.62</td>
<td align="left">0.91</td>
<td align="left">0.00237</td>
</tr>
<tr>
<td align="left">5.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">26.04</td>
<td align="left">0.90</td>
<td align="left">0.00311</td>
</tr>
<tr>
<td align="left">6.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2717;</td>
<td align="left">&#x2717;</td>
<td align="left">26.74</td>
<td align="left">0.92</td>
<td align="left">0.00275</td>
</tr>
<tr>
<td align="left">7.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2717;</td>
<td align="left">29.12</td>
<td align="left">0.932</td>
<td align="left">0.00182</td>
</tr>
<tr>
<td align="left">8.</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left"><bold>30.80</bold></td>
<td align="left"><bold>0.947</bold></td>
<td align="left"><bold>0.00157</bold></td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-3"><label>Figure 3</label><caption><title>Qualitative comparisons of the ablation studies with the ground truth for one-frame prediction result on some calTech pedestrian dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-3.tif"/></fig>
</sec>
<sec id="s4_4_2"><label>4.4.2</label><title>Next Frame Prediction Performance</title>
<p>Caltech Pedestrian Dataset: At first, we generate frame and optical-flow triples for training and testing, where each triplet consists of three consecutive images, the first two as input and last as predicting ground truth. Next, we resized the frames and optical flow to 256&#x2009;&#x00D7;&#x2009;256 and finally normalized their pixels value in the range of 0 and 1. <xref ref-type="table" rid="table-3">Table 3</xref> shows the qualitative evaluation of our approach compared to several state-of-the-art methods such as PredNet [<xref ref-type="bibr" rid="ref-8">8</xref>], Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], BeyondMSE [<xref ref-type="bibr" rid="ref-38">38</xref>], ContextVP [<xref ref-type="bibr" rid="ref-47">47</xref>], Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>], and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] for next-frame prediction on Caltech Pedestrian Dataset. The results for the other model are from original papers or cited papers. From <xref ref-type="table" rid="table-3">Table 3</xref>, we can see that in terms of MSE and PSNR, our model achieves the highest performance compared to the other, and in terms of SSIM, our model achieves the highest performance compared to all except DMMNet. Our model achieves an SSIM value of 0.947, 0.3 percent lower than DMMNet, while the MSE and PSNR performance is significantly high. Our model achieves the MSE value of 0.00157, which is around half compared to the DMMNet MSE value of 0.00317 while maintaining nearly equal SSIM. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> shows the qualitative comparisons of FPNet-OF with other state-of-art approaches on the next frame prediction. It shows the comparison between Ground Truth, Proposed (Ours), Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], and ContextVP [<xref ref-type="bibr" rid="ref-47">47</xref>] from left to right, respectively.</p>
<table-wrap id="table-3"><label>Table 3</label><caption><title>Quantitative performance evaluation of Next Frame prediction using Caltech Pedestrian Dataset and UCF101 dataset. Number are copied from original or citing paper. We put dash if the result is not presented in the papers. The best performance is marked in bold</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left" rowspan="2">Methods</th>
<th align="center" colspan="3">Caltech pedestrian</th>
<th align="center" colspan="3">UCF101</th>
</tr>
<tr>
<th align="left">SSIM</th>
<th align="left">MSE</th>
<th align="left">PSNR</th>
<th align="left">SSIM</th>
<th align="left">MSE</th>
<th align="left">PSNR</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Last frame copy</td>
<td align="left">0.779</td>
<td align="left">0.00795</td>
<td align="left">23.3</td>
<td align="left">0.89</td>
<td align="left">0.00409</td>
<td align="left">30.2</td>
</tr>
<tr>
<td align="left">MCnet+RES [<xref ref-type="bibr" rid="ref-42">42</xref>]</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">0.91</td>
<td align="left">-</td>
<td align="left">31</td>
</tr>
<tr>
<td align="left">BeyondMSE [<xref ref-type="bibr" rid="ref-38">38</xref>]</td>
<td align="left">0.881</td>
<td align="left">0.00326</td>
<td align="left">-</td>
<td align="left">0.92</td>
<td align="left">-</td>
<td align="left">32</td>
</tr>
<tr>
<td align="left">PredNet [<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td align="left">0.884</td>
<td align="left">0.00313</td>
<td align="left">27.6</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
</tr>
<tr>
<td align="left">EpicFlow [<xref ref-type="bibr" rid="ref-49">49</xref>]</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">0.93</td>
<td align="left">-</td>
<td align="left">31.6</td>
</tr>
<tr>
<td align="left">Dual motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>]</td>
<td align="left">0.899</td>
<td align="left">0.00241</td>
<td align="left">-</td>
<td align="left"><bold>0.94</bold></td>
<td align="left">-</td>
<td align="left">30.5</td>
</tr>
<tr>
<td align="left">DVF [<xref ref-type="bibr" rid="ref-26">26</xref>]</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left"><bold>0.94</bold></td>
<td align="left">-</td>
<td align="left">33.4</td>
</tr>
<tr>
<td align="left">Retro-cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>]</td>
<td align="left">0.919</td>
<td align="left">0.00161</td>
<td align="left">29.2</td>
<td align="left"><bold>0.94</bold></td>
<td align="left"><bold>0.00137</bold></td>
<td align="left"><bold>35.0</bold></td>
</tr>
<tr>
<td align="left">ContextVP [<xref ref-type="bibr" rid="ref-47">47</xref>]</td>
<td align="left">0.921</td>
<td align="left">0.00194</td>
<td align="left">28.7</td>
<td align="left">0.92</td>
<td align="left">-</td>
<td align="left">34.9</td>
</tr>
<tr>
<td align="left">DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>]</td>
<td align="left"><bold>0.950</bold></td>
<td align="left">0.00317</td>
<td align="left">30.6</td>
<td align="left"><bold>0.94</bold></td>
<td align="left">-</td>
<td align="left">30.6</td>
</tr>
<tr>
<td align="left">Ours</td>
<td align="left">0.947</td>
<td align="left"><bold>0.00157</bold></td>
<td align="left"><bold>30.8</bold></td>
<td align="left"><bold>0.94</bold></td>
<td align="left">0.00145</td>
<td align="left">34.6</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-4"><label>Figure 4</label><caption><title>Qualitative comparisons of the next-frame prediction by ours, Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], and Contextvp [<xref ref-type="bibr" rid="ref-47">47</xref>] on Caltech pedestrian dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-4.tif"/></fig>
<p>From <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, we can see that the prediction result of the FPNet-OF is smoother compared to other methods because our model learns both the optical motion of the objects and spatial-temporal dependencies between the images to predict the future frame. <xref ref-type="fig" rid="fig-5">Fig. 5</xref> shows some typical comparisons of the next frame prediction results of the FPNet-OF with the ground truth, under various conditions, such as an object moving across, the scene with a large number of dynamic bodies, under different lighting, at an intersection, and image with occlusion, etc. In all the cases, our model shows superior performance.</p>
<fig id="fig-5"><label>Figure 5</label><caption><title>Some typical qualitative comparisons of our method with ground truth for next-frame prediction under various conditions, such as vehicle moving across, the scene with a large number of dynamic bodies, under different lighting, at an intersection, and image with occlusion on Caltech pedestrian dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_26086-fig-5.tif"/></fig>
<p>UCF 101 Dataset: Similar to the Caltech dataset, we first generate frame and optical-flow triples for training and testing, resize them to the resolution of 256&#x2009;&#x00D7;&#x2009;256, and normalized their pixels value in the range of 0 and 1. <xref ref-type="table" rid="table-3">Table 3</xref> shows the qualitative evaluation of our approach compared to several state-of-the-art methods such as DVF [<xref ref-type="bibr" rid="ref-26">26</xref>], Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], BeyondMSE [<xref ref-type="bibr" rid="ref-38">38</xref>], MCnet &#x002B; RES [<xref ref-type="bibr" rid="ref-42">42</xref>], ContextVP [<xref ref-type="bibr" rid="ref-47">47</xref>], EpicFlow [<xref ref-type="bibr" rid="ref-49">49</xref>], Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>], and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] for next-frame prediction. The results for the other model are from original papers or cited papers. From <xref ref-type="table" rid="table-3">Table 3</xref>, we can see that the prediction performance of our model is equal to other high-performing models like [<xref ref-type="bibr" rid="ref-26">26</xref>,<xref ref-type="bibr" rid="ref-31">31</xref>,<xref ref-type="bibr" rid="ref-54">54</xref>], and [<xref ref-type="bibr" rid="ref-55">55</xref>] in terms of SSIM. On the other hand, our model performance is slightly lower in MSE and PSNR to Retro-cycle GAN (the highest value). <xref ref-type="fig" rid="fig-4">Fig. 4</xref> shows the qualitative comparison of the FPNet-OF with other state-of-the-art approaches. It shows the comparison between ground truth, ours (proposed), Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], ContextVP [<xref ref-type="bibr" rid="ref-47">47</xref>] from left to right, respectively. The figure shows that our model shows consistent performance compared to other top performing models.</p>

<p>For surveillance datasets, such as CUHK Avenue and ShanghaiTech: Similar to the Caltech pedestrian dataset and the UCF101 dataset, we first generate frame and optical-flow triples for training and testing, resize them to the resolution of 256&#x2009;&#x00D7;&#x2009;256, and normalized their pixels value in the range of 0 and 1. <xref ref-type="table" rid="table-4">Table 4</xref> shows the qualitative evaluation of our approach compared to two other state-of-the-art methods: Liu et al. [<xref ref-type="bibr" rid="ref-1">1</xref>] and Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>] for next-frame prediction. The results for the other model are from original papers or cited papers. From <xref ref-type="table" rid="table-4">Table 4</xref>, we can say that FPNet-OF outperforms other models in MSE and PSNR for both surveillance datasets and have an equal SSIM value compared to high-performing state-of-the-art approaches.</p>
<table-wrap id="table-4"><label>Table 4</label><caption><title>Quantitative performance evaluation of Next Frame prediction using CUHK Avenue and ShanghaiTech Campus dataset. Number are copied from original or citing paper. The best performance is marked in bold</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Dataset</th>
<th align="left">Methods</th>
<th align="left">SSIM</th>
<th align="left">MSE</th>
<th align="left">PSNR</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="3">CUHK avenue [<xref ref-type="bibr" rid="ref-61">61</xref>]</td>
<td align="left">Liu et al. [<xref ref-type="bibr" rid="ref-1">1</xref>]</td>
<td align="left"><bold>0.98</bold></td>
<td align="left">0.00051</td>
<td align="left">34.8</td>
</tr>
<tr>
<td align="left">Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>]</td>
<td align="left"><bold>0.98</bold></td>
<td align="left">0.00039</td>
<td align="left">35.2</td>
</tr>
<tr>
<td align="left">Ours</td>
<td align="left"><bold>0.98</bold></td>
<td align="left"><bold>0.00032</bold></td>
<td align="left"><bold>35.8</bold></td>
</tr>
<tr>
<td align="left" rowspan="3">ShanghaiTech [<xref ref-type="bibr" rid="ref-62">62</xref>]</td>
<td align="left">Liu et al. [<xref ref-type="bibr" rid="ref-1">1</xref>]</td>
<td align="left"><bold>0.97</bold></td>
<td align="left">0.00093</td>
<td align="left">31.4</td>
</tr>
<tr>
<td align="left">Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>]</td>
<td align="left"><bold>0.97</bold></td>
<td align="left">0.00064</td>
<td align="left">34.1</td>
</tr>
<tr>
<td align="left">Ours</td>
<td align="left"><bold>0.97</bold></td>
<td align="left"><bold>0.00058</bold></td>
<td align="left"><bold>34.5</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_4_3"><label>4.4.3</label><title>Multiple Frame Prediction Performance</title>
<p>The quantitative comparison of multi-frame prediction on the Caltech pedestrian dataset is evaluated in this subsection. We compared the prediction performance of FPNet-OF with other state-of-the-art frame prediction models, such as PredNet [<xref ref-type="bibr" rid="ref-8">8</xref>], Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], BeyondMSE [<xref ref-type="bibr" rid="ref-38">38</xref>], Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>], and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>]. We evaluate the prediction performance in terms of SSIM and PSNR up to six-frame in the future.</p>
<p>For multi-step prediction, we first generate frame and optical-flow input-output image batch. Each batch contains ten images, the first four for input and the last six for ground truth. Then each image is resized to the resolution of 256&#x2009;&#x00D7;&#x2009;256, and pixels are normalized in the range of 0 and 1. First, we predict the next frame and then concatenate the result to the input sequence to create a new input sequence to forecast the next frame. This procedure is repeated until the desired prediction horizon is not achieved. <xref ref-type="table" rid="table-5">Table 5</xref> shows the quantitative comparison of multi-frame prediction results. For a prediction horizon equal to 1, the SSIM value of DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] has the highest value of 0.95, which is 0.03 higher than our proposed model (FPNet-OF), which achieves the second position, and the rest of the study have much lower values averaging around 0.9. In terms of the PSNR value, our model achieves 30.8, which is the highest among all the other studies. For the prediction horizon equal to 2, FPNet-OF attains the highest performance in terms of the SSIM and PSNR 0.929 and 29.9, respectively. The DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] scheme comes second compared to our model. For k equals 3, in terms of SSIM, FPNet-OF attains 0.88, which is equal to DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] and Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>], whereas, in terms of PSNR, our model outperforms other schemes. For k equals 4 &#x0026; 5, our models perform better than DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] in both SSIM &#x0026; PSNR. But Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>] to achieve the values in terms of SSIM. For prediction horizons equal to 6, FPNet-OF attains 0.79 and 22.9 in terms of SSIM and PSNR, respectively, which are the highest value in contrast to PredNet [<xref ref-type="bibr" rid="ref-8">8</xref>], Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>], and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>]. The SSIM and PSNR value decreases as we go further in time. The FPNet-OF predicts frames with the higher SSIM for second, third, and sixth future frames and higher PSNR for all six future frames. From <xref ref-type="table" rid="table-5">Table 5</xref>, we can see the SSIM value of FPNet-OF and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] outperforms all other schemes by a large margin for the next frame prediction due to adaptive fusing of optical-flow estimation to frame prediction. But, for large prediction horizons, the SSIM performance of Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>] is better than FPNet-OF and DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>] because of adversarial learning. From <xref ref-type="table" rid="table-5">Table 5</xref>, we can also see that the state-of-the-art frame prediction schemes are good at predicting multi-frame only up to a few prediction horizons. After a certain threshold, the performance of the networks decreases drastically and is not suitable for frame prediction. Therefore, in this experiment, we limit the prediction horizon to 6.</p>
<table-wrap id="table-5"><label>Table 5</label><caption><title>Quantitative comparison of multi-frame prediction results on Caltech pedestrian dataset. Number are copied from original or citing paper. We put dash if the result is not presented in the papers</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Methods</th>
<th align="left"/>
<th align="left">k&#x2009;&#x003D;&#x2009;1</th>
<th align="left">k&#x2009;&#x003D;&#x2009;2</th>
<th align="left">k&#x2009;&#x003D;&#x2009;3</th>
<th align="left">k&#x2009;&#x003D;&#x2009;4</th>
<th align="left">k&#x2009;&#x003D;&#x2009;5</th>
<th align="left">k&#x2009;&#x003D;&#x2009;6</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="3">BeyondMSE [<xref ref-type="bibr" rid="ref-38">38</xref>]</td>
<td align="left">PSNR</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
</tr>
<tr>
<td align="left">SSIM</td>
<td align="left">0.88</td>
<td align="left">0.87</td>
<td align="left">0.86</td>
<td align="left">0.85</td>
<td align="left">0.84</td>
<td align="left">-</td>
</tr>
<tr>
<td align="left">(Input frames: 10)</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="left" rowspan="3">PredNet [<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td align="left">PSNR</td>
<td align="left">27.6</td>
<td align="left">-</td>
<td align="left">21.7</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">20.3</td>
</tr>
<tr>
<td align="left">SSIM</td>
<td align="left">0.90</td>
<td align="left">-</td>
<td align="left">0.72</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">0.66</td>
</tr>
<tr>
<td align="left">(Input frames: 10)</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="left" rowspan="3">Dual Motion GAN [<xref ref-type="bibr" rid="ref-54">54</xref>]</td>
<td align="left">PSNR</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">-</td>
</tr>
<tr>
<td align="left">SSIM</td>
<td align="left">0.90</td>
<td align="left">0.89</td>
<td align="left"><bold>0.88</bold></td>
<td align="left">0.87</td>
<td align="left">0.86</td>
<td align="left">-</td>
</tr>
<tr>
<td align="left">(Input frames: 10)</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="left" rowspan="3">Retro-Cycle GAN [<xref ref-type="bibr" rid="ref-31">31</xref>]</td>
<td align="left">PSNR</td>
<td align="left">29.2</td>
<td align="left">-</td>
<td align="left">25.9</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">22.3</td>
</tr>
<tr>
<td align="left">SSIM</td>
<td align="left">0.91</td>
<td align="left">-</td>
<td align="left">0.83</td>
<td align="left">-</td>
<td align="left">-</td>
<td align="left">0.73</td>
</tr>
<tr>
<td align="left">(Input frames: 4)</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="left" rowspan="3">DMMNet [<xref ref-type="bibr" rid="ref-55">55</xref>]</td>
<td align="left">PSNR</td>
<td align="left">30.6</td>
<td align="left">29.6</td>
<td align="left">26.1</td>
<td align="left">23.5</td>
<td align="left">22.4</td>
<td align="left">21.6</td>
</tr>
<tr>
<td align="left">SSIM</td>
<td align="left"><bold>0.95</bold></td>
<td align="left">0.92</td>
<td align="left"><bold>0.88</bold></td>
<td align="left">0.80</td>
<td align="left">0.77</td>
<td align="left">0.73</td>
</tr>
<tr>
<td align="left">(Input frames)</td>
<td align="left">(2)</td>
<td align="left">(2)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
</tr>
<tr>
<td align="left" rowspan="3">FPNet-OF (Ours)</td>
<td align="left">PSNR</td>
<td align="left"><bold>30.8</bold></td>
<td align="left"><bold>29.9</bold></td>
<td align="left"><bold>27.7</bold></td>
<td align="left"><bold>24.3</bold></td>
<td align="left"><bold>23.2</bold></td>
<td align="left"><bold>22.9</bold></td>
</tr>
<tr>
<td align="left">SSIM</td>
<td align="left">0.947</td>
<td align="left"><bold>0.929</bold></td>
<td align="left"><bold>0.88</bold></td>
<td align="left">0.83</td>
<td align="left">0.80</td>
<td align="left"><bold>0.76</bold></td>
</tr>
<tr>
<td align="left">(Input frames)</td>
<td align="left">(2)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
<td align="left">(4)</td>
</tr>
</tbody>
</table>
<table-wrap-foot><fn id="tfn5_1"><p>Note: &#x2018;k&#x2019; denotes the prediction horizons. The best performance is marked in bold.</p></fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Conclusions</title>
<p>In this work, we proposed an end-to-end deep neural network architecture, FPNet-OF (Frame Prediction Network with multiple-branch inputs (optical flow and original frame)), to predict the future video frame. The FPNet-OF consists of two branches named frame prediction branch and optical-flow prediction branch. Frame prediction branch exploits spatiotemporal information from past frame input sequence to predict the next frame. The optical-flow prediction branch learns the spatiotemporal relations of object motion from the input past optical-flow image to generate the future optical-flow image. Due to the adaptively fusing of future object-motion with the future frame generator, the hybrid model generates superior future frame prediction compared to other state-of-the-art.</p>
<p>As discussed in Sub-Section 4.1.1, we conclude the optimal architecture of the FPNet-OF should consist of skip connection in both branches, optical-flow connection at every decoder block to provide excellent performance. From the result analysis Sub-Sections 4.4.2&#x2013;4.4.3, we can see that FPNet-OF achieves superior performance in frame prediction on multiple datasets. In future work, incorporating recent ideas like adversarial training or explicit background modeling with our model can improve prediction performance. Furthermore, we can investigate for large-step video prediction like a few seconds in the future rather than a few frames, which is more desirable for real-world applications.</p>
</sec>
</body>
<back>
<ack>
<p>This work was supported by Incheon National University Research Grant in 2017.</p>
</ack>
<sec><title>Funding Statement</title>
<p>The authors received no specific funding for this study.</p></sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p></sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Luo</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Lian</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Gao</surname></string-name></person-group>, &#x201C;<article-title>Future frame prediction for anomaly detection-A new baseline</article-title>,&#x201D; <year>2018</year> in <conf-name>IEEE/CVF Conf. on Computer Vision and Pattern Recognition (CVPR)</conf-name>, <conf-loc>Salt Lake City, UT, USA</conf-loc>, pp. <fpage>6536</fpage>&#x2013;<lpage>6545</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Chaabane</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Trabelsi</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Blanchard</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Beveridge</surname></string-name></person-group>, &#x201C;<article-title>Looking ahead: Anticipating pedestrians crossing with future frames prediction</article-title>,&#x201D; in <conf-name>2020 IEEE Winter Conf. on Applications of Computer Vision (WACV)</conf-name>, <conf-loc>Snowmass Village, CO, USA</conf-loc>, pp. <fpage>2286</fpage>&#x2013;<lpage>2295</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Deo</surname></string-name> and <string-name><given-names>M. M.</given-names> <surname>Trivedi</surname></string-name></person-group>, &#x201C;<article-title>Multi-modal trajectory prediction of surrounding vehicles with maneuver based LSTMs</article-title>,&#x201D; in <conf-name>Proc. IEEE Intelligent Vehicles Symp. (IV)</conf-name>, <conf-loc>Changshu, Suzhou, China</conf-loc>, pp. <fpage>1179</fpage>&#x2013;<lpage>1184</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. -R.</given-names> <surname>Xue</surname></string-name>, <string-name><given-names>J. -W.</given-names> <surname>Fang</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>A survey of scene understanding by event reasoning in autonomous driving</article-title>,&#x201D; <source>International Journal of Automation and Computing</source>, vol. <volume>15</volume>, no. <issue>3</issue>, pp. <fpage>249</fpage>&#x2013;<lpage>266</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Kumar</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Perrollaz</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Lefevre</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Laugier</surname></string-name></person-group>, &#x201C;<article-title>Learning-based approach for online lane change intention prediction</article-title>,&#x201D; in <conf-name>2013 IEEE Intelligent Vehicles Symp. (IV)</conf-name>, <conf-loc>Gold Coast, QLD, Australia</conf-loc>, pp. <fpage>797</fpage>&#x2013;<lpage>802</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Saleem</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Riaz</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Shaikh</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Rajab</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Rajab</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Optimizing steering angle predictive convolutional neural network for autonomous car</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>71</volume>, no. <issue>2</issue>, pp. <fpage>2285</fpage>&#x2013;<lpage>2302</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Park</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Kim</surname></string-name></person-group>, &#x201C;<article-title>Deep predictive video compression using mode-selective uni-and bi-directional predictions based on multi-frame hypothesis</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>9</volume>, pp. <fpage>72</fpage>&#x2013;<lpage>85</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Lotter</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Kreiman</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Cox</surname></string-name></person-group>, &#x201C;<article-title>Deep predictive coding networks for video prediction and unsupervised learning</article-title>,&#x201D; in <conf-name>5th Int. Conf. on Learning Representations (ICLR)</conf-name>, <conf-loc>Toulon France</conf-loc>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. -J.</given-names> <surname>Leou</surname></string-name>, <string-name><given-names>Y. -L.</given-names> <surname>Chang</surname></string-name> and <string-name><given-names>J. -S.</given-names> <surname>Wu</surname></string-name></person-group>, &#x201C;<article-title>Robot operation monitoring for collision avoidance by image sequence analysis</article-title>,&#x201D; <source>Pattern Recognition</source>, vol. <volume>25</volume>, no. <issue>8</issue>, pp. <fpage>855</fpage>&#x2013;<lpage>867</lpage>, <year>1992</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Pedro</surname></string-name>, <string-name><given-names>J. P.</given-names> <surname>Matos-Carvalho</surname></string-name>, <string-name><given-names>J. M.</given-names> <surname>Fonseca</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Mora</surname></string-name></person-group>, &#x201C;<article-title>Collision avoidance on unmanned aerial vehicles using neural network pipelines and flow clustering techniques</article-title>,&#x201D; <source>Remote Sensing</source>, vol. <volume>13</volume>, no. <issue>13</issue>, pp. <fpage>2643</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Deotale</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Verma</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Suresh</surname></string-name>, <string-name><given-names>S. K.</given-names> <surname>Jangir</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Kaur</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>HARTIV: Human activity recognition using temporal information in videos</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>70</volume>, no. <issue>2</issue>, pp. <fpage>3919</fpage>&#x2013;<lpage>3938</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Zeng</surname></string-name>, <string-name><given-names>W. B.</given-names> <surname>Shen</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Sun</surname></string-name> and <string-name><given-names>J. C.</given-names> <surname>Niebles</surname></string-name></person-group>, &#x201C;<article-title>Visual forecasting by imitating dynamics in natural sequences</article-title>,&#x201D; in <conf-name>Int. Conf. on Computer Vision (ICCV)</conf-name>, <conf-loc>Venice, Italy</conf-loc>, pp. <fpage>3018</fpage>&#x2013;<lpage>3027</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Thamizhazhagan</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Sujatha</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Umadevi</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Priyadarshini</surname></string-name>, <string-name><given-names>V. S.</given-names> <surname>Parvathy</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>AI based traffic flow prediction model for connected and autonomous electric vehicles</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>70</volume>, no. <issue>2</issue>, pp. <fpage>3333</fpage>&#x2013;<lpage>3347</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Ranjan</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bhandari</surname></string-name>, <string-name><given-names>H. P.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Kim</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Khan</surname></string-name></person-group>, &#x201C;<article-title>City-wide traffic congestion prediction based on CNN, LSTM and transpose CNN</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>8</volume>, pp. <fpage>81606</fpage>&#x2013;<lpage>81620</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Ranjan</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bhandari</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Khan</surname></string-name>, <string-name><given-names>Y. -S.</given-names> <surname>Hong</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Kim</surname></string-name></person-group>, &#x201C;<article-title>Large-scale road network congestion pattern analysis and prediction using deep convolutional autoencoder</article-title>,&#x201D; <source>Sustainability</source>, vol. <volume>13</volume>, no. <issue>9</issue>, pp. <fpage>5108</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Bregler</surname></string-name></person-group>, &#x201C;<article-title>Learning and recognizing human dynamics in video sequences</article-title>,&#x201D; in <conf-name>Proc. of IEEE Computer Society Conf. on Computer Vision and Pattern Recognition</conf-name>, <conf-loc>San Juan, PR, USA</conf-loc>, pp. <fpage>568</fpage>&#x2013;<lpage>574</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Brand</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Oliver</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Pentland</surname></string-name></person-group>, &#x201C;<article-title>Coupled hidden markov models for complex action recognition</article-title>,&#x201D; in <conf-name>Proc. of IEEE Computer Society Conf. on Computer Vision and Pattern Recognition</conf-name>, <conf-loc>San Juan, PR, USA</conf-loc>, pp. <fpage>994</fpage>&#x2013;<lpage>999</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A. M.</given-names> <surname>Lehrmann</surname></string-name>, <string-name><given-names>P. V.</given-names> <surname>Gehler</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Nowozin</surname></string-name></person-group>, &#x201C;<article-title>Efficient nonlinear markov models for human motion</article-title>,&#x201D; in <conf-name>Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)</conf-name>, <conf-loc>Columbus, OH, USA</conf-loc>, pp. <fpage>1314</fpage>&#x2013;<lpage>1321</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>V.</given-names> <surname>Mahadevan</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Bhalodia</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Vasconcelos</surname></string-name></person-group>, &#x201C;<article-title>Anomaly detection in crowded scenes</article-title>,&#x201D; in <conf-name>2010 IEEE Computer Society Conf. on Computer Vision and Pattern Recognition</conf-name>, <conf-loc>San Francisco, CA, USA</conf-loc>, pp. <fpage>1975</fpage>&#x2013;<lpage>1981</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y. W.</given-names> <surname>Teh</surname></string-name> and <string-name><given-names>G. E.</given-names> <surname>Hinton</surname></string-name></person-group>, &#x201C;<article-title>Rate-coded restricted boltzmann machines for face recognition</article-title>,&#x201D; <source>Advances in Neural Information Processing Systems (NIPS)</source>, Denver, CO, USA, pp. <fpage>908</fpage>&#x2013;<lpage>914</lpage>, <year>2001</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Neupane</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Seok</surname></string-name></person-group>, &#x201C;<article-title>Bearing fault detection and diagnosis using case western reserve university dataset with deep learning approaches: A review</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>8</volume>, pp. <fpage>93155</fpage>&#x2013;<lpage>93178</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Neupane</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Seok</surname></string-name></person-group>, &#x201C;<article-title>A review on deep learning-based approaches for automatic sonar target recognition</article-title>,&#x201D; <source>Electronics</source>, vol. <volume>9</volume>, no. <issue>11</issue>, pp. <fpage>1972</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Bhandari</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Ranjan</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Khan</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Kim</surname></string-name> and <string-name><given-names>Y. -S.</given-names> <surname>Hong</surname></string-name></person-group>, &#x201C;<article-title>Deep learning-based content caching in the fog access points</article-title>,&#x201D; <source>Electronics</source>, vol. <volume>10</volume>, no. <issue>4</issue>, pp. <fpage>512</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Bhandari</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Kim</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Ranjan</surname></string-name>, <string-name><given-names>H. P.</given-names> <surname>Zhao</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Khan</surname></string-name></person-group>, &#x201C;<article-title>Optimal cache resource based on deep neural network for fog radio access networks</article-title>,&#x201D; <source>Journal of Internet Technology</source>, vol. <volume>21</volume>, no. <issue>4</issue>, pp. <fpage>967</fpage>&#x2013;<lpage>975</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Walker</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Doersch</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Gupta</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Hebert</surname></string-name></person-group>, &#x201C;<article-title>An uncertain future: Forecasting from static images using variational autoencoders</article-title>,&#x201D; in <conf-name>Proc. of the European Conf. on Computer Vision (ECCV)</conf-name>, <conf-loc>Amsterdam, The Netherlands</conf-loc>, pp. <fpage>835</fpage>&#x2013;<lpage>851</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>R. A.</given-names> <surname>Yeh</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Agarwala</surname></string-name></person-group>, &#x201C;<article-title>Video frame synthesis using deep voxel flow</article-title>,&#x201D; in <conf-name>Proc. IEEE Int. Conf. on Computer Vision (ICCV)</conf-name>, <conf-loc>Venice, Italy</conf-loc>, pp. <fpage>4473</fpage>&#x2013;<lpage>4481</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Gregor</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Danihelka</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Graves</surname></string-name>, <string-name><given-names>D. J.</given-names> <surname>Rezende</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Wierstra</surname></string-name></person-group>, &#x201C;<article-title>DRAW: A recurrent neural network for image generation</article-title>,&#x201D; in <conf-name>Proc. of the 32nd Int. Conf. on Machine Learning</conf-name>, <conf-loc>Lille, France</conf-loc>, pp. <fpage>1462</fpage>&#x2013;<lpage>1471</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Srivastava</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Mansimov</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Salakhudinov</surname></string-name></person-group>, &#x201C;<article-title>Unsupervised learning of video representations using LSTMs</article-title>,&#x201D; in <conf-name>Proc. Int. Machine Learning Society (ICML)</conf-name>, <conf-loc>Lille, France</conf-loc>, pp. <fpage>843</fpage>&#x2013;<lpage>852</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Ke</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Bennamoun</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Rahmani</surname></string-name>, <string-name><given-names>S.</given-names> <surname>An</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Sohel</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Learning latent global network for skeleton-based action prediction</article-title>,&#x201D; <source>IEEE Transactions on Image Processing</source>, vol. <volume>29</volume>, pp. <fpage>959</fpage>&#x2013;<lpage>970</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Yuan</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Early action prediction with generative adversarial networks</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>35795</fpage>&#x2013;<lpage>35804</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Kwon</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Park</surname></string-name></person-group>, &#x201C;<article-title>Predicting future frames using retrospective cycle GAN</article-title>,&#x201D; in <conf-name>2019 IEEE/CVF Conf. on Computer Vision and Pattern Recognition (CVPR)</conf-name>, <conf-loc>Long Beach, CA, USA</conf-loc>, pp. <fpage>1811</fpage>&#x2013;<lpage>1820</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>V.</given-names> <surname>Badrinarayanan</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Kendall</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Cipolla</surname></string-name></person-group>, &#x201C;<article-title>SegNet: A deep convolutional encoder-decoder architecture for image segmentation</article-title>,&#x201D; <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, vol. <volume>39</volume>, no. <issue>12</issue>, pp. <fpage>2481</fpage>&#x2013;<lpage>2495</lpage>, <year>2017</year>; <pub-id pub-id-type="pmid">28060704</pub-id></mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Deng</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Recent progress in semantic image segmentation</article-title>,&#x201D; <source>Artificial Intelligence Review</source>, vol. <volume>52</volume>, no. <issue>2</issue>, pp. <fpage>1089</fpage>&#x2013;<lpage>1106</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Elsayed</surname></string-name>, <string-name><given-names>A. S.</given-names> <surname>Maida</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Bayoumi</surname></string-name></person-group>, &#x201C;<article-title>Reduced-gate convolutional LSTM architecture for next-frame video prediction using predictive coding</article-title>,&#x201D; in <conf-name>2019 Int. Joint Conf. on Neural Networks (IJCNN)</conf-name>, <conf-loc>Budapest, Hungary</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>9</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>S. M.</given-names> <surname>Easterbrook</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Fidler</surname></string-name></person-group>, &#x201C;<article-title>Efficient and information-preserving future frame prediction and beyond</article-title>,&#x201D; in <conf-name>Proc. of the Int. Conf. on Learning Representations (ICLR)</conf-name>, <conf-loc>Addis Ababa, Ethiopia</conf-loc>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Haziq</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Fernando</surname></string-name></person-group>, &#x201C;<article-title>A Log-likelihood regularized KL divergence for video prediction with a 3D convolutional variational recurrent network</article-title>,&#x201D; in <conf-name>2021 IEEE Winter Conf. on Applications of Computer Vision Workshops (WACVW)</conf-name>, <conf-loc>Waikola, HI, USA</conf-loc>, pp. <fpage>209</fpage>&#x2013;<lpage>217</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Mahesh Kumar</surname></string-name>, <string-name><given-names>S. S.</given-names> <surname>Nabavi</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Future frame prediction using convolutional VRNN for anomaly detection</article-title>,&#x201D; in <conf-name>2019 16th IEEE Int. Conf. on Advanced Video and Signal Based Surveillance (AVSS)</conf-name>, <conf-loc>Taipei, Taiwan</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>8</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Mathieu</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Couprie</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>LeCun</surname></string-name></person-group>, &#x201C;<article-title>Deep multi-scale video prediction beyond mean square error</article-title>,&#x201D; in <conf-name>4th Int. Conf. on Learning Representations (ICLR)</conf-name>, <conf-loc>San Juan, Puerto Rico</conf-loc>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Oh</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>R. L.</given-names> <surname>Lewis</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Singh</surname></string-name></person-group>, &#x201C;<article-title>Action-conditional video prediction using deep networks in atari games</article-title>,&#x201D; <source>Advances in Neural Information Processing Systems</source>, <publisher-loc>Montreal, Quebec, Canada</publisher-loc>, pp. <fpage>2863</fpage>&#x2013;<lpage>2871</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-40"><label>[40]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Ranzato</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Szlam</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Bruna</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Mathieu</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Collobert</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Video (language) modeling: A baseline for generative models of natural videos</article-title>,&#x201D; <source>CoRR</source>, vol. <volume>abs/1412.6604v5</volume>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-41"><label>[41]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Vondrick</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Pirsiavash</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Torralba</surname></string-name></person-group>, &#x201C;<article-title>Generating videos with scene dynamics</article-title>,&#x201D; <source>Advances in Neural Information Processing Systems</source>, <publisher-loc>Barcelona, Spain</publisher-loc>, pp. <fpage>613</fpage>&#x2013;<lpage>621</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-42"><label>[42]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Villegas</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Hong</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Lin</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Lee</surname></string-name></person-group>, &#x201C;<article-title>Decomposing motion and content for natural video sequence prediction</article-title>,&#x201D; in <conf-name>Proc. ICLR</conf-name>, <conf-loc>Toulon, France</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>22</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-43"><label>[43]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Xue</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Bouman</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Freeman</surname></string-name></person-group>, &#x201C;<article-title>Visual dynamics: Probabilistic future frame synthesis via cross convolutional networks</article-title>,&#x201D; in <conf-name>Proc. Advances in Neural Information Processing Systems (NIPS)</conf-name>, <conf-loc>Barcelona, Spain</conf-loc>, pp. <fpage>91</fpage>&#x2013;<lpage>99</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-44"><label>[44]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Tran</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Bourdev</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Fergus</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Torresani</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Paluri</surname></string-name></person-group>, &#x201C;<article-title>Learning spatiotemporal features with 3D convolutional networks</article-title>,&#x201D; in <conf-name>Int. Conf. on Computer Vision(ICCV)</conf-name>, <conf-loc>Santiago, Chile</conf-loc>, pp. <fpage>4489</fpage>&#x2013;<lpage>4497</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-45"><label>[45]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Finn</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Goodfellow</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Levine</surname></string-name></person-group>, &#x201C;<article-title>Unsupervised learning for physical interaction through video prediction</article-title>,&#x201D; <source>Advances in Neural Information Processing Systems (NIPS)</source>, <publisher-loc>Barcelona, Spain</publisher-loc>, pp. <fpage>64</fpage>&#x2013;<lpage>72</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-46"><label>[46]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Lotter</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Kreiman</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Cox</surname></string-name></person-group>, &#x201C;<article-title>Unsupervised learning of visual structure using predictive generative networks</article-title>,&#x201D; in <conf-name>Int. Conf. on Learning Representation (ICLR)</conf-name>, <conf-loc>San Juan, Puerto Rico</conf-loc>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-47"><label>[47]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Byeon</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>R. K.</given-names> <surname>Srivastava</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Koumoutsakos</surname></string-name></person-group>, &#x201C;<article-title>ContextVP: Fully context-aware video prediction</article-title>,&#x201D; in <conf-name>Proc. of the European Conf. on Computer Vision (ECCV)</conf-name>, <conf-loc>Munich, Germany</conf-loc>, pp. <fpage>781</fpage>&#x2013;<lpage>797</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-48"><label>[48]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yuen</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Torralba</surname></string-name></person-group>, &#x201C;<article-title>Sift flow: Dense correspondence across scenes and its applications</article-title>,&#x201D; <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, vol. <volume>33</volume>, no. <issue>5</issue>, pp. <fpage>978</fpage>&#x2013;<lpage>994</lpage>, <year>2011</year>; <pub-id pub-id-type="pmid">20714019</pub-id></mixed-citation></ref>
<ref id="ref-49"><label>[49]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Revaud</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Weinzaepfel</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Harchaoui</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Schmid</surname></string-name></person-group>, &#x201C;<article-title>EpicFlow: Edge-preserving interpolation of correspondences for optical flow</article-title>,&#x201D; in <conf-name>Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)</conf-name>, <conf-loc>Boston, MA, USA</conf-loc>, pp. <fpage>1164</fpage>&#x2013;<lpage>1172</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-50"><label>[50]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Mahajan</surname></string-name>, <string-name><given-names>F. -C.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Matusik</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Ramamoorthi</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Belhumeur</surname></string-name></person-group>, &#x201C;<chapter-title>Moving gradients: A path-based method for plausible image interpolation</chapter-title>,&#x201D; in <source>SIGGRAPH09: Special Intrest Group on Computer Graphics and Interactive Techniques Conf.</source>, <publisher-loc>New Orleans, LA</publisher-loc>, <comment>Article 42</comment>, pp. <fpage>1</fpage>&#x2013;<lpage>11</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-51"><label>[51]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Luo</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Peng</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Alahi</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Fei-Fei</surname></string-name></person-group>, &#x201C;<article-title>Unsupervised learning of long-term motion dynamics for videos</article-title>,&#x201D; in <conf-name>Conf. on Computer Vision and Pattern Recognition (CVPR)</conf-name>, <conf-loc>Honolulu, HI, USA</conf-loc>, pp. <fpage>7101</fpage>&#x2013;<lpage>7110</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-52"><label>[52]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. K. P.</given-names> <surname>Horn</surname></string-name> and <string-name><given-names>B. G.</given-names> <surname>Schunck</surname></string-name></person-group>, &#x201C;<article-title>Determining optical flow</article-title>,&#x201D; <source>Artificial Intelligence</source>, vol. <volume>17</volume>, pp. <fpage>185</fpage>&#x2013;<lpage>203</lpage>, <year>1981</year>.</mixed-citation></ref>
<ref id="ref-53"><label>[53]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Dosovitskiy</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Fischer</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Ilg</surname></string-name>, <string-name><given-names>P.</given-names> <surname>H&#x00E4;usser</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Hazirbas</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>FlowNet: Learning optical flow with convolutional networks</article-title>,&#x201D; in <conf-name>IEEE Int. Conf. on Computer Vision (ICCV)</conf-name>, <conf-loc>Santiago, Chili</conf-loc>, pp. <fpage>2758</fpage>&#x2013;<lpage>2766</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-54"><label>[54]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Liang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Dai</surname></string-name> and <string-name><given-names>E. P.</given-names> <surname>Xing</surname></string-name></person-group>, &#x201C;<article-title>Dual motion GAN for futureflow embedded video prediction</article-title>,&#x201D; in <conf-name>Proc. IEEE Int. Conf. on Computer Vision (ICCV)</conf-name>, <conf-loc>Venice, Italy</conf-loc>, pp. <fpage>1762</fpage>&#x2013;<lpage>1770</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-55"><label>[55]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Fang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Xu</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Xue</surname></string-name></person-group>, &#x201C;<article-title>Video frame prediction by deep multi-branch mask network</article-title>,&#x201D; <source>IEEE Transactions on Circuits and Systems for Video Technology</source>, vol. <volume>31</volume>, no. <issue>4</issue>, pp. <fpage>1283</fpage>&#x2013;<lpage>1295</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-56"><label>[56]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Sedaghat</surname></string-name></person-group>, &#x201C;<article-title>Next-flow: Hybrid multi-tasking with next-frame prediction to boost optical-flow estimation in the wild</article-title>,&#x201D; <source>CoRR</source>, vol. <volume>abs/1612.03777v2</volume>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-57"><label>[57]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>He</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Ren</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Sun</surname></string-name></person-group>, &#x201C;<article-title>Deep residual learning for image recognition</article-title>,&#x201D; in <conf-name>2016 IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)</conf-name>, <conf-loc>Las Vegas, NV, USA</conf-loc>, pp. <fpage>770</fpage>&#x2013;<lpage>778</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-58"><label>[58]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>He</surname></string-name></person-group>, &#x201C;<article-title>An improved ResNet based on the adjustable shortcut connections</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>6</volume>, pp. <fpage>18967</fpage>&#x2013;<lpage>18974</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-59"><label>[59]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Doll&#x00E1;r</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Wojek</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Schiele</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Perona</surname></string-name></person-group>, &#x201C;<article-title>Pedestrian detection: An evaluation of the state of the art</article-title>,&#x201D; <source>Transactions on Pattern Analysis and Machine Intelligence (TPAMI)</source>, vol. <volume>34</volume>, no. <issue>4</issue>, pp. <fpage>743</fpage>&#x2013;<lpage>761</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-60"><label>[60]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Soomro</surname></string-name>, <string-name><given-names>A. R.</given-names> <surname>Zamir</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Shah</surname></string-name></person-group>, &#x201C;<article-title>UCF101: A dataset of 101 human action classes from videos in the wild</article-title>,&#x201D; <source>CRCV-TR-1 2&#x2013;01</source>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-61"><label>[61]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Ravanbakhsh</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Nabi</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Sangineto</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Marcenaro</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Regazzoni</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Abnormal event detection in videos using generative adversarial nets</article-title>,&#x201D; in <conf-name>Int. Conf. on Image Processing (ICIP)</conf-name>, <conf-loc>Beijing, China</conf-loc>, pp. <fpage>1577</fpage>&#x2013;<lpage>1581</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-62"><label>[62]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Luo</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Gao</surname></string-name></person-group>, &#x201C;<article-title>A revisit of sparse coding based anomaly detection in stacked RNN framework</article-title>,&#x201D; in <conf-name>Int. Conf. on Computer Vision (ICCV)</conf-name>, <conf-loc>Venice, Italy</conf-loc>, pp. <fpage>341</fpage>&#x2013;<lpage>349</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-63"><label>[63]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Barron</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Fleet</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Beauchemin</surname></string-name></person-group>, &#x201C;<article-title>Performance of optical flow techniques</article-title>,&#x201D; <source>International Journal of Computer Vision</source>, vol. <volume>12</volume>, pp. <fpage>43</fpage>&#x2013;<lpage>47</lpage>, <year>1994</year>.</mixed-citation></ref>
<ref id="ref-64"><label>[64]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D. J.</given-names> <surname>Heeger</surname></string-name></person-group>, &#x201C;<article-title>Optical flow using spatiotemporal filters</article-title>,&#x201D; <source>International Journal of Computer Vision</source>, vol. <volume>1</volume>, pp. <fpage>279</fpage>&#x2013;<lpage>302</lpage>, <year>1988</year>.</mixed-citation></ref>
<ref id="ref-65"><label>[65]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Buxton</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Buxton</surname></string-name></person-group>, &#x201C;<article-title>Computation of optical flow from the motion of edge features in image sequences</article-title>,&#x201D; <source>Image and Vision Computing</source>, vol. <volume>2</volume>, no. <issue>2</issue>, pp. <fpage>59</fpage>&#x2013;<lpage>74</lpage>, <year>1984</year>.</mixed-citation></ref>
<ref id="ref-66"><label>[66]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Farneback</surname></string-name></person-group>, &#x201C;<article-title>Two-frame motion estimation based on polynomial expansion</article-title>,&#x201D; <source>Scandinavian Conf. on Image Analysis (SCIA)</source>, <publisher-loc>Halmstad, Sweden</publisher-loc>, pp. <fpage>363</fpage>&#x2013;<lpage>370</lpage>, <year>2003</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>