\documentclass[runningheads]{llncs}
\usepackage{graphicx}

\usepackage{tikz}
\usepackage{comment}
\usepackage{amsmath,amssymb} %
\usepackage{color}
\begin{document}
\pagestyle{headings}
\mainmatter
\def\ECCVSubNumber{100}  %

\title{EfficientSeg: An Efficient Semantic Segmentation Network} %
\titlerunning{EfficientSeg}
\author{Vahit Bugra Yesilkaynak \and
Yusuf H. Sahin \and
Gozde Unal}
\authorrunning{Yesilkaynak et al.}
\institute{
Istanbul Technical University, Istanbul, Turkey\\
\email{\{yesilkaynak15, sahinyu, gozde.unal\}@itu.edu.tr}\\
}
\maketitle

\begin{abstract}
Deep neural network training without pre-trained weights and few data is shown to need more training iterations. It is also known that, deeper models are more successful than their shallow counterparts for semantic segmentation task. Thus, we introduce EfficientSeg architecture, a modified and scalable version of U-Net, which can be efficiently trained despite its depth. We evaluated EfficientSeg architecture on Minicity dataset and outperformed U-Net baseline score ($40\%$ mIoU) using the same parameter count ($51.5\%$ mIoU). Our most successful model obtained $58.1\%$ mIoU score and got the fourth place in semantic segmentation track of ECCV 2020 VIPriors challenge.
\keywords{semantic segmentation, few data, MobileNet, data efficiency}
\end{abstract}
\section{Introduction}
\label{sec:intro}
Typical machine learning approaches, especially deep learning, draw its strength from the usage of a high number of supervised examples\cite{NIPS2012_4824}. However, reliance on large training sets restricts the applicability of deep learning solutions to various problems where high amounts of data may not be available. Thus, generally in few shot learning approaches, it is very common to start the network training using a pre-trained network or network backbone to obtain prior knowledge \cite{wang2020generalizing} from a larger dataset like ImageNet\cite{imagenet_cvpr09}. However, for the tasks defined on domains that are different from that of natural images such as for medical image segmentation \cite{ronneberger2015u,kamnitsas2017efficient}, it is not meaningful to start from pre-trained weights. This distinction makes learning from scratch using a low number of data instances, an important objective. This is also the objective of the newly emerging data-efficient deep learning field.

In \cite{he2019rethinking}, the authors argued that, non-pre-trained models can perform similar to their pre-trained counterparts even if it takes more iterations and/or fewer data to train. Also in \cite{zoph2020rethinking}, it is shown that, with stronger data augmentation the need to pre-train the network lessens. Even when using pre-trained networks, there is strong evidence that data augmentation improves the results \cite{howard2013some,long2015fully,chen2017rethinking}.

In semantic segmentation, it is known that building deeper networks or using deeper backbones affects the results positively \cite{he2016deep,li2019global}. Yet deeper networks come with limitations. Ideally, a baseline network which is subject to scaling should be memory and time-efficient. The latter is due to the fact that the number of needed training iterations will be increased for a large network. Using MobileNetV3\cite{DBLP:journals/corr/abs-1905-02244} blocks, we are able to create a baseline model which is still expressive and deep with a lower parameter count. Regarding all these considerations, in this article, we present a new deep learning architecture for segmentation, using MobileNetV3 blocks. As we focused on the problem of training with few data, we evaluated our network in Minicity dataset\footnote{https://github.com/VIPriors/vipriors-challenges-toolkit/tree/master/semantic-segmentation}, which is a subset of Cityscapes \cite{cordts2016cityscapes}. Our method obtained the fourth place in the semantic segmentation challenge on ECCV VIPriors workshop \footnote{https://vipriors.github.io/challenges/}.
\section{Related Work}

\textbf{Semantic Segmentation.} Computer vision problems focus on extracting useful information from images automatically such as classifying objects, detecting objects, estimating pose and so on. Semantic segmentation is one such problem where the main concern is to group the pixels on an image to state what pixels belong to which entity in the image. Semantic segmentation finds many applications in real life problems yet we can divide the efforts on the field into two main categories: offline segmentation and real-time segmentation. Real-time segmentation networks need to be both fast and accurate, with this constraint they generally have lower mIoU compared to their counter-parts. To our knowledge currently the state-of-the-art is U-HarDNet-70\cite{chao2019hardnet} with reported 75.9\% class mIoU and 53 frames per second with a 1080Ti GPU. On the other hand, offline segmentation has no time concerns thus the proposed solutions are generally slower. To our knowledge, the state of the art technique on offline Cityscapes segmentation is HRNet-OCR\cite{tao2020hierarchical} with a class mIoU of 85.1\%. 
We next describe the most popular architectural paradigm in image recognition, namely the MobileNet. 

\textbf{MobileNet Blocks.} With the increasing popularity of CNNs, the demand on easy-to-access applications based on CNNs have also increased. One way to establish the demanded accessibility is to use mobile devices, yet the competition on image recognition challenges generally pushed CNN networks into being too big to run on mobile devices. In this environment, there are two main solutions to make mobile CNN applications feasible: running the networks in powerful servers for external computation or using smaller networks to fit in mobile devices. In this paper, we focus on the second solution, which aims at creating smaller networks. Howard et al. introduced a family of networks called MobileNets\cite{howard2013some} with this motivation. The main idea behind MobileNets is utilizing Depthwise Separable Convolutional (DSC) layers. DSC layer is very much like a standard 2D convolutional layer and serves the same purpose yet it is both smaller in number of parameters and faster compared to its counterpart. Figure \ref{fig:depthwise} depicts the difference between a standard convolution layer and DSC layer. MobileNet architecture has two more improved versions namely MobileNetV2\cite{DBLP:journals/corr/abs-1801-04381} and MobileNetV3\cite{DBLP:journals/corr/abs-1905-02244}, before going into the details of MobileNetV3, we describe MobileNetV2 and another work based on it, EfficientNet\cite{DBLP:journals/corr/abs-1905-11946}.\\

\textbf{MobileNetV2 Blocks and EfficientNet.} MobileNetV2 relies on two main components: depthwise separable convolutional layers and inverted residual architecture with linear bottlenecks. Inverted residual architecture is implemented by adding a middle phase called expansion phase, inside MobileNetV2 blocks the input tensor are expanded into having $ t \times d $ depth with a convolution operation $t$ and $d$ are expansion ratio and depth of the input tensor respectively, after the expansion phase depthwise separable convolution phase follows. EfficientNets\cite{DBLP:journals/corr/abs-1905-11946} are a family of networks which was built to be small, fast and accurate on image classification task. It consists of blocks pretty similar to MobileNetV2, yet instead of making the networks mobile, the authors used the advantages of MobileNetV2 blocks to create bigger networks, namely EfficientNets, are have significantly smaller number of parameters compared to their similar performing counterparts thus they are both memory and time efficient. After the success EfficientNet has achieved, Howard et al. published another work which is called MobileNetV3\cite{DBLP:journals/corr/abs-1905-02244}.\\

\begin{figure}[h]
    \centering
    \includegraphics[width=0.5\linewidth]{figure_conv.PNG}
    \caption{Figure shows the difference between a standard convolution layer (a) and a depthwise separable convolution layer (b), depthwise separable layer consists of two convolution operations which decreases the number of parameters. In the figure "k" is the kernel size and "d" is the depth of the input tensor.}
    \label{fig:depthwise}
\end{figure}

\textbf{MobileNetV3.} We use MobileNetV3 as the building blocks of our network EfficientSeg. Howard et al. added a Squeeze-and-Excite\cite{DBLP:journals/corr/abs-1709-01507} operation to the residual layer and introduced a new architecture scheme. In our work we use this architecture to create a U-shaped semantic segmentation network. We will discuss further details in the following sections.

\textbf{Data augmentation.} As stated in Section \ref{sec:intro}, data augmentation is important for learning from few data. In traditional neural network training, transformations like flipping, cropping, scaling and rotating are highly used. In \cite{ma2019optimizing}, \cite{cubuk2020randaugment} and \cite{imgaug} more complex data augmentation methods like JPEG compression, local copying of segmentation masks, contrast, brightness and sharpness changes, blurring are suggested. There are also data augmentation methods focusing on generating new data by GANs or style transfer\cite{zhu2017data,DBLP:journals/corr/abs-1904-09135,frid2018gan}, but they are out of scope for the Minicity segmentation task since they are not generally applicable for training from scratch. 
\section{Method}

In this paper, we present a new neural architecture called EfficientSeg, which can be counted as a modified version of the classic U-Net architecture\cite{ronneberger2015u} by alternating the blocks with inverted residual blocks which are presented in  MobileNetV3\cite{DBLP:journals/corr/abs-1905-02244}.

The EfficientSeg network, which is illustrated in Figure \ref{fig:my_label}, is a U-shaped architecture with 4 concatenation shortcuts, between an encoder and a decoder. Our encoder which is the down-sampling encoding branch of the network is like a MobileNetV3-Large classifier itself without the classification layers, whereas the decoder is its mirror symmetric version, where the down-sampling is replaced with upsampling operation. In the decoder part, we need to upsample the input tensors to retrieve a segmentation mask image which is the same size as the input image. We apply an upsample with bilinear interpolation and a scale factor 2 at each block where its symmetric is a downsample block on the encoder side.

We have 4 shortcut connections across from the encoder towards the decoder at the same layer. Each shortcut is done by concatenating the input of a downsampling block in the encoder part with the corresponding upsampled output in the decoder part. In this way, we enable the network to capture the fine details through these shortcuts rather than solely preserving them in the bottleneck. 

As in MobileNetV3 blocks, a width scaling parameter to upscale the network also exists in EfficientSeg, making it suitable to create networks of different scales. We will be discussing two of them which are EfficientSeg (1.5) which has the same number of parameters as baseline the U-Net in Minicity Challenge and also our larger network EfficientSeg (6.0).

\begin{figure}[h]
    \centering
    \includegraphics[width=\linewidth]{effseg.pdf}
    \caption{EfficientSeg architecture. There are 5 different type of blocks. Inverted Residual Blocks are MobileNetV3 blocks described as in the paper. 1x1 and 3x3 blocks are standard convolution blocks which has activation and batch normalization. Downsampling operations are done with increasing the stride and for upsampling, linear interpolation is used.}
    \label{fig:my_label}
\end{figure}

\section{Experiment}

In our experiments, we train the EfficientSeg network with $384\times768$ sized cropped images using Adam\cite{kingma2014adam} optimization algorithm with a learning rate of $\textit{lr=1e-3}$ at the start. We divide the learning rate by 10 at $200^{th}$ and $400^{th}$ epochs. As the objective function, we use a weighted cross-entropy loss. In the dataset, we observe that some of the categories are  underrepresented relative to the others. We incorporate that information into the objective function in the form of increased weights: a weight of 2 (wall, fence, pole, rider, motorcycle, bicycle) and a weight of 3(bus, train, truck) are used for the rare classes. For every epoch, 20 extra images for each rare class are also fed to the network.

Deciding on which data augmentations to use requires prior knowledge of the domain \cite{cubuk2020randaugment}. Since in our train set we have few objects of same category having different color and texture properties, we decided to reduce the texture dependency and increase the color invariance by (i) multiplying hue and brightness values of the image by uniformly distributed random values in ($0.4,1.6$), and (ii) JPEG compression. We also did (iii) non-uniform scaling, (iv) random rotation ($\pm20^\circ$) and (v) flipping as in standard deep learning approaches. At evaluation time, we feed the network with both the original test images and their flipped versions, then calculate average of their scores to obtain the final segmentation.

Utilizing nearly the same parameter count by using a depth parameter of 1.5, we obtain an mIoU score of $51.5\%$ on the test set whereas baseline U-Net model has a score of $40\%$. To further improve the model we also tested with a depth parameter of 6.0 and obtain an improved mIoU result of $58.1\%$. To demonstrate the importance of texture based data augmentation, we also train the network without the aforementioned augmentations. As can be seen in Table \ref{table:table1}, using both the aforementioned augmentation strategy and increasing the depth of the network, we obtain our highest score. Our code for these experiments is publicly available\footnote{https://github.com/MrGranddy/EfficientSeg}.

\begin{table}[h]
\begin{center}
\begin{tabular}{ccccc}
\multicolumn{1}{l|}{}              & \textbf{EfficientSeg (1.5)} & \begin{tabular}[c]{@{}c@{}}\textbf{EfficientSeg (6.0)}\\ \textbf{w/o aug.}\end{tabular} & \textbf{EfficientSeg (6.0)} &  \\ \hline
\multicolumn{1}{l|}{road}          & 0.960              & 0.954                                                                  & 0.962              &  \\
\multicolumn{1}{l|}{sidewalk}      & 0.707              & 0.685                                                                  & 0.738              &  \\
\multicolumn{1}{l|}{building}      & 0.846              & 0.832                                                                  & 0.864              &  \\
\multicolumn{1}{l|}{wall}          & 0.277              & 0.165                                                                  & 0.318              &  \\
\multicolumn{1}{l|}{fence}         & 0.285             & 0.197                                                                  & 0.304              &  \\
\multicolumn{1}{l|}{pole}          & 0.449              & 0.471                                                                  & 0.517              &  \\
\multicolumn{1}{l|}{traffic light} & 0.239              & 0.382                                                                  & 0.450              &  \\
\multicolumn{1}{l|}{traffic sign}  & 0.491             & 0.517                                                                  & 0.615              &  \\
\multicolumn{1}{l|}{vegetation}    & 0.885              & 0.888                                                                  & 0.899              &  \\
\multicolumn{1}{l|}{terrain}       & 0.501              & 0.464                                                                  & 0.576              &  \\
\multicolumn{1}{l|}{sky}           & 0.912              & 0.919                                                                  & 0.932              &  \\
\multicolumn{1}{l|}{person}        & 0.580              & 0.575                                                                  & 0.710              &  \\
\multicolumn{1}{l|}{rider}         & 0.222              & 0.179                                                                  & 0.353              &  \\
\multicolumn{1}{l|}{car}           & 0.864              & 0.842                                                                  & 0.899              &  \\
\multicolumn{1}{l|}{truck}         & 0.342              & 0.106                                                                  & 0.497              &  \\
\multicolumn{1}{l|}{bus}           & 0.264              & 0.128                                                                  & 0.325              &  \\
\multicolumn{1}{l|}{train}         & 0.169              & 0.002                                                                  & 0.137              &  \\
\multicolumn{1}{l|}{motorcycle}    & 0.278              & 0.191                                                                  & 0.333              &  \\
\multicolumn{1}{l|}{bicycle}       & 0.518              & 0.544                                                                  & 0.611              &  \\ \hline
\multicolumn{1}{l|}{mIoU}          & 0.515              & 0.476                                                                  & 0.581              &  \\
                                   &                    &                                                                        &                    & 
\end{tabular}
\end{center}
\caption{Class IoU and mIoU scores on Minicity test set for differently trained EfficientSeg architectures}
\label{table:table1}
\end{table}

It is also worth mentioning that, the effect of the aforementioned data augmentation techniques, is more significant than depth up-scaling. This result empirically shows the importance of texture based data augmentation.  

\section{Conclusions}

In conclusion, we introduced a novel semantic segmentation architecture EfficientSeg which consists of scalable blocks to  make it easy to fit for problems of different scales. In our work we empirically show how selecting the most beneficial augmentation improves the success of the network, making it even more advantageous than up-scaling the network. When trained with our augmentation set EfficientSeg (1.5) achieves 51.5\% mIoU, outperforming its much larger counterpart EfficientSeg (6.0) if no augmentation is applied, in the other hand when trained with our augmentation set we achieve our best score 58.1\%. Utilizing prior knowledge is especially important on tasks providing few data to train on, as the popularity of efficient image recognition networks increases, it is expected that data efficiency is the next step to have simple, efficient and elegant solutions to image recognition tasks.
\bibliographystyle{splncs04}
\bibliography{egbib}
\end{document}


Peer reviews:

content: confidence: 5: The reviewer is absolutely certain that the evaluation is correct and very familiar with the relevant literature
rating: 4: Ok but not good enough - rejection
review: #### 1. [Summary] In 2-3 sentences, describe the key ideas, experiments, and their significance.
The paper proposes new U-Net architecture which uses MobileNetV3 blocks.

#### 2. [Strengths] What are the strengths of the paper? Clearly explain why these aspects of the paper are valuable.
- New Unet


#### 3. [Weaknesses] What are the weaknesses of the paper? Clearly explain why these aspects of the paper are weak.
- Only changing the architecture and no prior rather than generic data augmentation
- It is more like technical report.
#### 4. [Overall rating] Paper rating
4

#### 5. [Justification of rating] Please explain how the strengths and weaknesses aforementioned were weighed in for the rating. 


#### 6. [Detailed comments] Additional comments regarding the paper (e.g. typos or other possible improvements you would like to see for the camera-ready version of the paper, if any.)
- Why the 'related works' are related to the paper is missing.
- L.32: Is any meaningful pretraining available for medical data?
- Simple present tense instead of past tense
- Fig.1 image resolution
Typos:
- L.173: 10 at .
Missing citations:
- L.24: "..appoaches.." (only one is given.)
- L.26: "..various problems.."
- L.34: "..newly emerging..". What are those fields?
- L.57: classifying objects[?,?,?], detecting objects[?,?,?], estimating pose[?,?,?]
- L.72: easy-to-access applications[?,?,?]
- L.61: offline[?,?,?].., real-time[?,?,?]
title: EfficientSeg: An Efficient Semantic Segmentation Network 

content: confidence: 4: The reviewer is confident but not absolutely certain that the evaluation is correct
rating: 5: Marginally below acceptance threshold
review: #### 1. [Summary] In 2-3 sentences, describe the key ideas, experiments, and their significance.
The paper proposes a novel CNN architecture for semantic segmentation based on U-Net and MobileNetV3 blocks. The proposed architecture is applied on the MiniCity dataset and performance improvements are shown.

#### 2. [Strengths] What are the strengths of the paper? Clearly explain why these aspects of the paper are valuable.
* Clarity: the paper is clear and easy to read.
* Effectiveness: the method seems effective on small-size datasets.

#### 3. [Weaknesses] What are the weaknesses of the paper? Clearly explain why these aspects of the paper are weak.
* Scope: The proposed architecture change is motivated by computational efficiency and parameter reduction rather than incorporating prior knowledge. Prior knowledge is only considered to motivate the techniques used for data augmentation, which are generic and widely used techniques.

#### 4. [Overall rating] Paper rating
* 5. Marginally below acceptance threshold

#### 5. [Justification of rating] Please explain how the strengths and weaknesses aforementioned were weighed in for the rating.
Despite being effective, the proposed architecture is not motivated by incorporating prior knowledge but rather by computational efficiency and therefore the paper falls outside of the intended scope of this workshop.

#### 6. [Detailed comments] Additional comments regarding the paper (e.g. typos or other possible improvements you would like to see for the camera-ready version of the paper, if any.)
(line 173) "We divide the learning rate by 10 at . "
Missing word.
(line 177) "poll" --> pole
title: Effective method, out of scope