\section{Introduction}
Generating class activation map (CAM) for deep classification network is an important task in computer vision. It is the basis of many weakly supervised computer vision tasks, such as segmentation\cite{li2018weakly,zhou2018weakly,durand2017wildcat,hu2018associating}, fine-grained classification \cite{rodriguez2018attend, sun2018multi,woo2018cbam}, domain adaption \cite{kang2018deep} and detection\cite{gan2018geometry}.

The existing CAM generation method consists of two steps: the training of the classification model, and the generation of the activation map. The training step is the basic step of CAM generation that can be summarized as
\begin{equation}
C = CNN_c (c_i|c_r)
\end{equation}
where $c_i$ is the $i$th class for CAM generation, $c_r$ is the additional classes for comparison. $CNN_c$ is the deep classification network, and $C$ is the classification model by the training. The CAM generation indeed compares the differences between classes $c_i$ and $c_r$ so as to capture the discriminative regions inter the classes to form the activation region, where the activation regions are related to the class set $c_r$ used for comparing.

However, the existing method specifies $c_r$ as all the given classes, i.e., setting $c_r$ as a fixed set $\{c_1, ..., c_n\}$ (where $n$ is the number of the classes), and ignores the using of different classes of $c_r$, which leads to two problems. First, the highlighted region should be distinguished from all classes, resulting in the local region generation. Second, existing methods ignore the impact of the comparison classes on the CAM extraction.
Note that by selecting appropriate $c_r$, more distinct regions can be activated, which results in more accurate activation map generation.

\begin{figure}[t]
\begin{center}
   \includegraphics[width=0.9\linewidth]{fig1.eps}
\end{center}
   \caption{Examples of activation maps highlighted by different classes. The fusion maps and the activation maps by Grad-CAM \cite{selvaraju2017grad} method are also displayed for comparison. }\label{different_introduction}
\end{figure}

In order to observe the affection of the comparison classes, we conduct an experiment on CAM extraction by different comparison classes. Specifically, given the images of a class such as ``Cat'', we consider the binary classification with comparison classes such as ``Bottle'', ``Chair'', and ``Monitor'', and obtain the activation map for each binary classification task. Grad-CAM method \cite{selvaraju2017grad} is used to generate the activation map. Resnet-152 network is employed as backbone network, and PASCAL VOC 2012 dataset is considered. The original images, the corresponding class activation maps by each comparison class, and the activation map by all class (original Grad-CAM method) are displayed in Fig. \ref{different_introduction}.

\begin{table*}
\caption{The results by Grad-CAM \cite{selvaraju2017grad} on PASCAL VOC 2012 dataset, where the binary classification of all class pairs are considered. The value is the mIoU of the CAM (threshold by 0.15) and the segmentation groundtruth. The Top$k$ means to generate CAM by averaging the class activation maps with the best top $k$ classes. ``All'' is the results by fusing CAM of all rest 19 classes. Grad-CAM is the baseline results by Grad-CAM. It is seen that the mIoU values of Top$k$ method are obviously larger than the traditional Grad-CAM method that uses all classes and one multi-class classification model.}
\begin{center}
\resizebox{\textwidth}{30mm}{
\begin{tabular}{cccccccccccccccccccccc}
\hline
 Class Name  & aeroplane & bicycle & bird & boat & bottle & bus & car & cat & chair & cow & diningtable & dog & horse & motorbike & person & pottedplant & sheep & sofa & train & tvmonitor & avg \\
\hline
aeroplane & - & 0.1680 & 0.2390 & 0.1915 & 0.2255 & 0.5525 & 0.3352 & 0.4462 & 0.1155 & 0.3651 & 0.2498 & 0.4839 & 0.4396 & 0.3707 & 0.2960 & 0.1376 & 0.4108 & 0.2295 & 0.4558 & 0.1541 & - \\
\hline
bicycle & 0.2321 & - & 0.2080 & 0.2014 & 0.2571 & 0.5005 & 0.3279 & 0.4945 & 0.1718 & 0.4604 & 0.3047 & 0.4596 & 0.4268 & 0.4759 & 0.2363 & 0.1692 & 0.3833 & 0.3397 & 0.4347 & 0.1962 &  - \\
\hline
bird & 0.3397 & 0.1740 & - & 0.2507 & 0.2641 & 0.5036 & 0.3534 & 0.4079 & 0.1632 & 0.4744 & 0.2443 & 0.4246 & 0.3977 & 0.3931 & 0.3042 & 0.1648 & 0.4240 & 0.3033 & 0.4321 & 0.2219 &  - \\
\hline
boat & 0.3270 & 0.1904 & 0.2786 & - & 0.2103 & 0.5160 & 0.2606 & 0.4919 & 0.1290 & 0.4581 & 0.1840 & 0.4502 & 0.4334 & 0.3843 & 0.3210 & 0.1264 & 0.2826 & 0.2338 & 0.4659 & 0.2399 & -  \\
\hline
bottle & 0.2349 & 0.1813 & 0.2306 & 0.2071 & - & 0.5100 & 0.3354 & 0.5318 & 0.1678 & 0.4359 & 0.2243 & 0.5077 & 0.4053 & 0.5181 & 0.2685 & 0.1997 & 0.3578 & 0.3161 & 0.4250 & 0.2880 &  - \\
\hline
bus & 0.2807 & 0.1862 & 0.2511 & 0.2166 & 0.1919 & - & 0.3300 & 0.4688 & 0.1666 & 0.3859 & 0.2971 & 0.4363 & 0.4457 & 0.3635 & 0.3250 & 0.1511 & 0.3121 & 0.2572 & 0.3617 & 0.1979 &  - \\
\hline
car & 0.1996 & 0.2072 & 0.2216 & 0.2166 & 0.2064 & 0.5539 & - & 0.4519 & 0.1717 & 0.4417 & 0.2570 & 0.4109 & 0.3975 & 0.4631 & 0.2960 & 0.1711 & 0.3494 & 0.2979 & 0.4513 & 0.2547 &  - \\
\hline
cat & 0.1816 & 0.1666 & 0.2306 & 0.2141 & 0.2677 & 0.5412 & 0.2715 & - & 0.1501 & 0.3908 & 0.2834 & 0.3997 & 0.3712 & 0.3833 & 0.2861 & 0.1421 & 0.2845 & 0.2923 & 0.4938 & 0.2167 & - \\
\hline
chair & 0.2796 & 0.2391 & 0.2247 & 0.1981 & 0.4022 & 0.5453 & 0.3700 & 0.5408 & - & 0.3576 & 0.3113 & 0.4728 & 0.4773 & 0.4305 & 0.3087 & 0.2437 & 0.3491 & 0.4226 & 0.4817 & 0.3153 &  - \\
\hline
cow & 0.2669 & 0.1619 & 0.2510 & 0.1858 & 0.2196 & 0.521 & 0.3675 & 0.3717 & 0.1608 & - & 0.2854 & 0.3913 & 0.3807 & 0.4941 & 0.2110 & 0.1528 & 0.3336 & 0.2538 & 0.4354 & 0.1691 & -  \\
\hline
diningtable & 0.2693 & 0.1705 & 0.2273 & 0.1345 & 0.2240 & 0.5389 & 0.2833 & 0.5184 & 0.1766 & 0.3870 & - & 0.4802 & 0.3924 & 0.3474 & 0.2587 & 0.2239 & 0.2960 & 0.3852 & 0.3555 & 0.3292 &  -\\
\hline
dog & 0.2325 & 0.2458 & 0.2242 & 0.2023 & 0.2876 & 0.5457 & 0.3311 & 0.4520 & 0.2111 & 0.3155 & 0.3829 & - & 0.3797 & 0.4956 & 0.3494 & 0.1801 & 0.3269 & 0.3289 & 0.4480 & 0.2963 &  - \\
\hline
horse & 0.2044 & 0.1732 & 0.2131 & 0.2246 & 0.1865 & 0.5400 & 0.3580 & 0.3745 & 0.1529 & 0.3381 & 0.3338 & 0.3984 & - & 0.3935 & 0.3095 & 0.1463 & 0.3631 & 0.2579 & 0.3899 & 0.2116 & -  \\
\hline
motorbike & 0.2742 & 0.1576 & 0.1982 & 0.2009 & 0.2068 & 0.4881 & 0.3456 & 0.4879 & 0.1725 & 0.4218 & 0.2882 & 0.4668 & 0.4103 & - & 0.2919 & 0.1451 & 0.3654 & 0.2736 & 0.3370 & 0.1760 &  - \\
\hline
person & 0.2743 & 0.2003 & 0.2276 & 0.2099 & 0.3940 & 0.5181 & 0.4040 & 0.5078 & 0.1732 & 0.4369 & 0.2992 & 0.4903 & 0.4432 & 0.4281 & - & 0.2120 & 0.3635 & 0.3702 & 0.4201 & 0.3189 & -  \\
\hline
pottedplant & 0.2202 & 0.2072 & 0.2295 & 0.2064 & 0.2654 & 0.4895 & 0.3435 & 0.4209 & 0.2207 & 0.3458 & 0.3293 & 0.4130 & 0.3768 & 0.4251 & 0.2849 & - & 0.3394 & 0.3397 & 0.4114 & 0.2802 &  - \\
\hline
sheep & 0.2551 & 0.1818 & 0.2288 & 0.2934 & 0.2336 & 0.5306 & 0.3292 & 0.3953 & 0.1161 & 0.3892 & 0.2630 & 0.3801 & 0.3399 & 0.4582 & 0.3062 & 0.1625 & - & 0.2553 & 0.4877 & 0.2057 &   -\\
\hline
sofa & 0.2652 & 0.1330 & 0.1765 & 0.1719 & 0.2500 & 0.4075 & 0.2841 & 0.4846 & 0.1572 & 0.3315 & 0.3161 & 0.3950 & 0.3409 & 0.4991 & 0.2147 & 0.2157 & 0.2995 & - & 0.3732 & 0.3990 & -  \\
\hline
train & 0.2273 & 0.1769 & 0.2140 & 0.1742 & 0.2136 & 0.4252 & 0.2729 & 0.4303 & 0.1436 & 0.3634 & 0.3310 & 0.4104 & 0.3653 & 0.3959 & 0.2819 & 0.1336 & 0.3409 & 0.2494 & - & 0.2621 & -  \\
\hline
tvmonitor & 0.1991 & 0.1377 & 0.1872 & 0.1764 & 0.2349 & 0.5241 & 0.3091 & 0.5383 & 0.1714 & 0.3147 & 0.3698 & 0.4246 & 0.2930 & 0.3724 & 0.2562 & 0.1809 & 0.3185 & 0.3391 & 0.4287 & - & - \\
\hline\\
\hline
Top1 & 0.3397 & 0.2458 & 0.2786 & 0.2934 & 0.4022 & 0.5539 & 0.404 & 0.5408 & 0.2207 & 0.4744 & 0.3829 & 0.5077 & 0.4773 & 0.5181 & 0.3494 & 0.2437 & 0.424 & 0.4226 & 0.4938 & 0.399 & 0.3986 \\
\hline
Top2 & 0.3397 & 0.2433 & 0.2781 & 0.2756 & 0.3641 & 0.5923 & 0.3861 & 0.5617 & 0.2253 & 0.4958 & 0.4152 & 0.5203 & 0.4788 & 0.5401 & 0.3677 & 0.2256 & 0.4251 & 0.4105 & 0.5165 & 0.3672 & 0.4015 \\
\hline
Top3 & 0.324 & 0.2429 & 0.2709 & 0.2685 & 0.3218 & 0.6159 & 0.3967 & 0.5685 & 0.2242 & 0.5068 & 0.4107 & 0.5193 & 0.483 & 0.554 & 0.3749 & 0.2253 & 0.4254 & 0.4096 & 0.5257 & 0.3501 & 0.4009 \\
\hline
Top4 & 0.3165 & 0.2379 & 0.2686 & 0.2614 & 0.3046 & 0.6203 & 0.4029 & 0.5801 & 0.2215 & 0.5019 & 0.4061 & 0.5249 & 0.4789 & 0.5515 & 0.379 & 0.221 & 0.4244 & 0.409 & 0.5301 & 0.3408 & 0.3991 \\
\hline
All & 0.2703 & 0.1984 & 0.2326 & 0.2133 & 0.2513 & 0.5991 & 0.3704 & 0.5244 & 0.1745 & 0.4631 & 0.3235 & 0.4998 & 0.4264 & 0.497 & 0.3715 & 0.1885 & 0.3874 & 0.3212 & 0.4817 & 0.2491 & 0.3522 \\
Grad-CAM & 0.1941 &  0.1377 &  0.1715  & 0.1576 &  0.2194 &  0.4469 &  0.2892 &  0.4491  & 0.1533 &  0.3778 &  0.2249 &  0.4053 &  0.3046 &  0.3354 &  0.3452 &  0.1765 &  0.2726 &  0.2244 &  0.3483 &  0.2138 &  0.2724\\
\hline
\end{tabular}}
\end{center}
\label{bianry_test}
\end{table*}

From the results, we can summarize that:
\begin{itemize}
\item The CAM extracted by different comparison classes are different. For example, the CAM by ``Bottle'' is very different from the one by ``Monitor''.
\item The CAM generated by all classes is blurred, while the results generated by the binary classification are more clear.
\item The CAMs generated by these classes are complementary, such as the maps by ``Chair'' and ``Monitor''.
\end{itemize}

Table \ref{bianry_test} shows the objective values of the activation maps generated by all the binary classification models in PASCAL VOC validation dataset that further supports our observations. The activation map is extracted by Grad-CAM \cite{selvaraju2017grad}. The objective value is the mIoU of the CAM mask (by threshold 0.15) and the segmentation groundtruth. The Top-$k$ means to generate CAM by averaging the class activation maps of the best top $k$ classes. ``All'' is the results by fusing CAM of the rest 19 classes. ``Grad-CAM'' is the baseline results by Grad-CAM. It is seen that the mIoU values of Top-$k$ method are obviously larger than Grad-CAM method \cite{selvaraju2017grad} that uses all classes and multi-class classification model (0.4009 vs 0.2724). Hence, selecting complementary classes are useful to improve the CAM generation. It is also seen that using top three classes has been able to achieve significant improvement. It means that when we are able to choose a small number of proper classes so that their activation regions are complementary, the CAM generation can be effectively enhanced.

Based on such motivation, we propose a CAM generation method based on class selection strategy. On the one hand, the complementary classes are selected to achieve more comprehensive generation of the activation maps. On the other hand, a few of classes rather than all classes are considered so that small CNN-based network can be used.
The proposed method consists of two steps. In the first step, we select the representative classes by clustering strategy. To this end, we use false positive of the classification model to represent the class relationship and generate the class similarity matrix. The improved k-means based clustering method is then proposed to divide the classes into several clusters.
Finally, we select representative classes from different clusters to guarantee their differences.

In the second step, we generate the CAM by the representative classes. Instead of constructing a multi-classification model as used in the existing methods, we use multiple binary classification models. Specifically, given a class $c_i$ and its representative classes $s=\{s_1,\cdots, s_N\}$, we generate the activation maps by each binary classification task $(c_i,s_k)$, and then combine them to generate the class activation map. We propose a multi-layer analysis fusion method with the aim of combining low-level and high-level features to enhance the CAM generation.

We conduct experiments on PASCAL VOC 2012 dataset with segmentation groundtruth. Several backbone networks including classical CNN network and small CNN network are considered. The experimental results show that the proposed method can obviously improve the CAM extraction with larger mIoU values.

\section{Related Work}

Several class activation map generation methods have been proposed recently \cite{Fong2018Interpretable,zhang2017interpretable,park2018multimodal,chen2018attention,owens2018audio}. Some methods first introduce the local mechanisms such as global max pooling \cite{Oquab2015Is} and log-sum-exp pooling \cite{ pinheiro2015image} to highlight the activation regions. Then, Zhou et al. \cite{zhou2016learning} propose CAM method that uses average pooling layer and FC layer to modify the high layers of the classification network. The CAM is then highlighted by averaging the last convolution layer weighted by the weights of the following FC layer. Better CAM can be generated. After that, several methods are proposed to enhance the CAM generation. An important extension is the Grad-CAM \cite{selvaraju2017grad} that uses the gradient signals to form the weights directly. Hence, the drawbacks of CAM that modifies the initial network is avoided.

By seeing the fact that the CAM generated by \cite{zhou2016learning} are usually local part region rather than the object regions, researchers try to solve such drawbacks to generate more activation regions. Erasing strategy that finds more activation regions by erasing the obtained regions is a useful solution, and is widely used. For example,
Wei et al. \cite{Wei2017Object} propose an adversarial erasing method that erases the obtained activation regions, and implement the CAM extraction again to obtain the next most activation regions. Such process iteratively implemented to find more regions.
Kim et al. \cite{Kim2017Two} propose a two-phase based method that first extract the activation map by CAM method. Then, the activation region is erased, and the rest region is send to the second phase learning by element-wise multiplication to extract more activation regions.
Li et al. \cite{li2018tell} design additional loss for activation map that makes the output of classification network as small as possible when the activation regions are erased.
Recently, Zhang et al. \cite{zhang2018adversarial} propose the adversarial complementary learning (ACoL) method that uses two classifier to extract the complementary object regions through the erasing operation. Better results can be obtained. However, these methods consider all classes, and fail to analyze the affects of the selection of the comparison classes that can provide more complementary regions.

\section{The Proposed Method}
The framework is shown in Fig. \ref{framework}, where our method consists of three steps such as class selection step $S$, CAM generation step $A$, and fusion step $F$.

\textit{Class selection step $S$}: Given a class $c_i$ with images $I_i = \{I_{i1},\cdots, I_{in_i}\}$, and the rest classes $\bar{c}_i=\{c_1,\cdots,  c_{i-1}, c_{i+1}, \cdots, c_n\}$, we first select $N$ classes from $\bar{c}_i$ and build the representative class $s = \{s_1, \cdots, s_N\}$ that will be used for extraction. We denote such process as $s=S(c_i, \bar{c}_i)$.

\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.85\linewidth]{aaa.eps}
\end{center}
   \caption{The flowchart of the proposed method. Given a class such as ``Aeroplane'', we first select the representative class $c_r$ by class selection process $S$. Then, for each representative class, we construct binary classification, and use multi-layer CAM generation $A$ to obtain activation map. Finally, we fuse the activation maps of all representative classes to obtain our classification map.}\label{framework}
\end{figure*}

\textit{CAM generation step $A$}: For each class $s_k \in s, k=1, ..., N$, we construct a binary classification task by class pair $(c_i, s_k)$, and extract the activation map $M_{ij}^k$ for each image $I_{ij}$ based on the binary classification by CAM extraction process $A$, i.e., $M_{ij}^k = A(I_{ij}, s_k)$.

\textit{Fusion step $F$}: Given the class activation maps $M_{ij}^k, k=1, \cdots, N$ for image $I_{ij}$, we combine these activation maps by $F$ process, i.e., $M_{ij} = F(M_{ij}^k),k=1, \cdots, N$, and the final class activation map $M_{ij}$ is generated.

Here, we propose a clustering based method for process $S$, and multiple binary based CAM fusion framework and a multi-layer based CAM extraction method for process $A$. The merging method $F$ is achieved simply by the map averaging. We next detail these steps.

\subsection{The Class Selection Step: $S$}

Intuitively, the class in $s$ can be selected randomly. However, such process ignores the differences of classes on activating the regions. Here, we select the regions based on class similarity, and try to select classes that are very dissimilar. Two selection methods are proposed.

\subsubsection{Selection by Similarity Sorting}
The first one is a similarity-based sorting and selection method. Specifically, the similarity is represented by a matrix $B$ where $B_{ij}$ depicts the similarity between classes $c_i$ and $c_j$. For the class $c_i$, the $i$th row means the similarities between the rest classes and $c_i$. The larger the value, the more similarity the two classes. By the similarity, we sort the class index by descending order.
The classes in different positions has different similarity to $c_i$, and they are different with each other. Therefore, we select classes from different positions. For simplicity, we use the fixed position for the selection.

An example can be found in Fig. \ref{sort}, where the ranked classes of the class ``aeroplane'', ``bus'', and  ``cow'' are displayed. It is seen that the ``Car'', and ``Train'' are similar to the class ``Bus''. They are highly likely to have the same activation region. Therefore, we intend to select one of them only as our representative class.

\begin{figure}[t]
\begin{center}
   \includegraphics[width=0.8\linewidth]{res_sort.eps}
\end{center}
   \caption{The ranked classes of the class ``aeroplane'', ``bus'', and  ``cow'' by the proposed method.}\label{sort}
\end{figure}
\subsubsection{Generating the Similarity Matrix by False Classification}
The sorting based selection method depends on accurate similarity matrix $B$. We use the false positive probability of the classification model to construct the similarity matrix. Specifically, we first train the classification model for all classes. Given an image $I_{ik}$, the output of the final softmax layer is the probability vector $v_{ik}=\{v_{ik}(1),\cdots,v_{ik}(n)\}$ where $v_{ik}(l)$ means the probability of the image classifying to class $c_l$. Then, for a pair of classes $(c_i,c_j)$, we sum the probability value of the images in $c_i$ classifying to class $c_j$, and use the sum value as the similarity value $B_{ij}$, i.e.,
\begin{equation}
B_{ij} = \sum_{k} v_{ik}(j)
\end{equation}
It is seen that the larger the value of $B_{ij}$, the more similar the two classes $c_i$ and $c_j$.

\subsubsection{Selection by Clustering Strategy}

For the sorting-based selection method, it ensures that classes similar to $c_i$ have similar relationships, such as ``Cow'' and ``Dog'' to ``Cat''. However, the relationships between its dissimilar classes are still unknown. To this end, we further consider all the relationships between classes, and use clustering to enhance the class selection.

Our idea is simple that we cluster all the classes into $N$ clusters according to their similarity relationships. Therefore, the similar classes are grouped into one class. We then select the class from different clusters, and form the representative class set.

The clustering is based on the similarity matrix $B$. Here, we use the method above to construct the similarity matrix $B$. Since the similarity is obtained by the classification model, it is hard to measure the similarity between a sample and a cluster center. The traditional k-means method cannot be directly applied here. To this end, we propose an improved K-means method by using the averaging distance to replace the distance between samples and cluster center.

Specifically, we first divide all the classes into $N$ clusters randomly. Then, for each class $c_i$, we calculate the average similarity value between $c_i$ and the samples in the cluster $g_j$, and move $c_i$ into the cluster with the largest average similarities. The above processes are iterative implemented until the stop of the updating. After clustering, we select one class from each cluster to form $c_s$. Here, we sort the classes in each cluster $g_j$ by the similarity values with the given class. Then, we select the $k'$th class from each cluster as $s_j$.

\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.8\linewidth]{multi_layer_network.eps}
\end{center}
   \caption{The multi-layer based class activation map generation.}\label{cam_improved}
\end{figure*}
\subsection{The Class Activation Map Generation Step: $A$}
Rather than training a multi-class based model, our CAM extraction is based on multiple binary classification models. Specifically,
given a class $c_i$ and a set of selected class $s=\{s_1,\cdots,s_N\}$, we generate the activation map of $I_{ik}\in c_i$ by considering each class in $s$. First, we generate the activation map $M_{ij}^k$ based on the binary classification model with each class pair $(c_i,s_k)$. Then, we fuse the activation maps $M_{ij}^k, k=1,\cdots, N$ to produce the final activation map.

Given two classes $(c_i, s_k)$, we extract the CAM based on Grad CAM extraction method. Since the Grad-CAM uses high-level convolution features only, the high-level features lack location details, and makes the activation map blurred. Here, we improve grad-cam by multi-layer fusion. Specifically, we first extract the activation map by different feature layers. Then, we add these activation maps to obtain the final activation map.

The proposed network is shown in Fig. \ref{cam_improved}. Compared to the traditional Grad-CAM method, we not only generate the activation map in the last layer, but also output the activation map in the front layer, i.e., we add the grad-cam generation branch to each layer and generate a series of class activation maps, as shown in the figure. The final activation map $M_k$ is then achieved by fusing the previous activation maps.
The fusion manner can be found in Fig. \ref{cam_improved}.

In training the classification network, many classical networks such as VGG-16, Resnet-50, Resnet-101, and Resnet-152 can be selected. Since we use binary classification in generating the CAM, the network with small size such as Resnet-18 and mobileNet can also be employed.

\subsection{The Fusion Step: $F$}

After obtaining the activation map $M_{ij}^k$ for all the classes in $s$, we average these activation maps, and obtain the final activation map, i.e., $M_{ij}=\sum_{k=1}^{N} M_{ij}^k$.

\section{Experiment}
\subsection{Dataset}
We verify our method by PASCAL VOC 2012 and COCO 2017 dataset. The PASCAL VOC 2012 contains 20 classes. The training dataset with 11658 images, and the validation dataset with 1449 images are used.
In our experiment, all the classification models such as 20-class based classification model and multiple binary classification models are trained by the training dataset.  The COCO 2017 dataset consists of 80 classes. We train the classification network on training dataset (by images with single class label only) and extract the class activation map from the validation dataset.

\subsection{Experiment Setup}

In normalizing the images, the short border of all images are resized to 224. Then, the center region with size $224 \time 224$ is cut out from the resized image as the normalized images. In our training, our batch size is set to 24.

Our 20-class based classification network is initialized by model pretrained on ImageNet. We set the initial learning rate to 0.0001. The learning rate is dynamically reduced with scale 0.5 when the reduction of the loss is very small within 5 epochs. A total of 200 epochs are trained in our experiments.

\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.8\linewidth]{fig5.eps}
\end{center}
   \caption{The class activation map generated by the proposed method. The activation map by each representative class, our method, Grad-CAM, and groundtruth are displayed.}\label{cam_res_all}
\end{figure*}

\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.8\linewidth]{res_layer.eps}
\end{center}
   \caption{The class activation maps of different layers and their fusion by our multi-layer based CAM generation. The activation maps by Grad-CAM are also displayed for comparison.}\label{cam_res_layer}
\end{figure*}

In training the binary classification network, the network pretrained on ImageNet is used as the initial model. We set the learning rate to 0.0001. we end the training when the classification accuracy is larger than 0.95 or the epoch number is larger than 10. We train our network on the NVIDIA GeForce GTX1080 with memory of 8GB using the PyTorch 0.4 framework.

\subsection{Implementation Details}
In generating the similarity matrix, we use the VGG-19 as the backbone network to train the classification model. To generate accurate classification model, we select the images with single class label for training. Here, we use the images from PASCAL VOC dataset for simple. Note that  the training images from other datasets such as COCO and ImageNet can also be used for the training here, since the classification network is used only to generate the similarity relationships between classes.

We set the cluster number as four empirically to make a trade off between the performance and training burden. We use the clustering method described above to cluster 20 classes into four classes with no less than 4 samples per cluster. It is interesting to see that the final clustering result by our method is \{aeroplane, bird,  cow, sheep\}, \{bicycle, bus, car, motorbike\}, \{boat, bottle, dining table, horse, person, potted plant, train\}, \{cat, chair, dog, sofa, tv monitor\} for PASCAL VOC dataset.

In generating the multi-layer CAM, for Resnet, we generate the CAM of each block (a total of 4 feature blocks), and add them together. Then, we multiply the sum map by the CAM of the final layer to obtain the final CAM. For VGG network, we generate the CAM from the convolution feature before max pooling layers (a total of 5 feature layers). The fusion method is the same to the Resenet. For Mobilenet, we add the CAM generation after each down-sampling layer.

\subsection{Results on PASCAL VOC dataset}
\subsubsection{Subjective Results}

Some class activation maps obtained by our method are displayed in Fig. \ref{cam_res_all}, where the original images, the CAM by all classes (Grad-CAM), the CAM by our selected representative classes, and the final CAM are displayed. The Resnet-101 network is used for training. It is seen that the activation maps by these representative classes are different, and they are complementary. The class activation maps by our fusion method are better than the CAMs of each representative class and the initial Grad-CAM, which demonstrates the effectiveness of the proposed method.

Fig. \ref{cam_res_layer} displays some activation maps by different layers. The original image, the class activation maps of different layers, and the fusion CAM are displayed. Resnet-101 is used.
It is seen that the CAM by low-level layer depicts edges well but contains noise regions. The CAM of the high-level is blurred, but with more accurate localization. By their combination, the final CAM is more accurate.

\subsubsection{Objective Results}

We next show the objective results by our method and the comparison method. As we mainly verify the enhancement of our method on the existing class activation generation methods, we compare mainly with the baseline method such as Grad-CAM. Since the CAM generation is used widely in weakly supervised semantic segmentation, we use more detailed segmentation annotations as the groundtruth. The mIoU is used for verification. Larger the value of mIoU, better the CAM extraction. Since the CAM is a probability map rather than binary segmentation task, as usually used in the CAM evaluation, we use a threshold $T=0.15$ to threshold the class activation map, and obtain the segmentation mask.

We display the results in Table \ref{res_miou_validation} and Table \ref{res_miou_train} for PASCAL VOC 2012 validation and training dataset respectively. The mIoU values by the baseline method (Grad-CAM \cite{selvaraju2017grad}), the random selection method (selecting the representative classes randomly), the proposed cluster-based classification method and their combination with the proposed processes such as multi-layer CAM generation $A$ and fusion method $F$ are displayed. It is interesting to see from Table \ref{res_miou_validation} that the random method improves the baseline method on network with small size, such as VGG-19,  and Res-50, while the results becomes worse when the network is large, such as Res-101 and Res-152. By using the proposed multi-layer CAM generation method (i.e., process $A$), the results on all the networks are obviously improved. Such observation is also supported by Table \ref{res_miou_train} for training data. This demonstrates the effectiveness of the proposed multi-layer CAM generation.

Compared the networks in the row of ``Baseline'', it is seen that larger network obtains better mIoU values  such as 29.21 for Res-152 and 27.72 for Res-50.  Compared the proposed method ``S-1+A+F'' with ``Random+F'', we can see our method obviously improves the CAM generation.  Moreover, the best mode for each network on validation network are ``S-4+A+F'', ``S-1+A+F'' and ``S-1+A+F'' for Res-50, Res-101 and Res-152, respectively.  For training dataset, the best mode are ``S-4+A+F'', ``S-1+A+F'', and ``S-1+A+F'' for Res-50, Res-101 and Res-152 that are the same to the validation dataset. This demonstrates the effectiveness of our combination mode.

In the view of ablation, we can see that when we delete our selection strategy ($S$ and $Rank$), and our multi-layer CAM generation $F$, the values decrease very large (34.66 to 27.24 on validation dataset, and 35.93 to 29.41 on training dataset). Meanwhile, when we delete the process $A$, the mIoU values also decrease obviously. But when combing the selection strategy and multi-layer CAM generation, the proposed method becomes better than each of them. This further demonstrates the effectiveness of our combination.

\begin{table}
\small
\caption{The mIoU values by baseline and the proposed method on PASCAL VOC validation dataset. The mIoU values by baseline and the proposed method. ``Baseline'' is the Grad-CAM since we use it as the basic CAM generation method. ``Random'' is the selection manner that randomly selects the representative classes. ``S'', ``A'', and ``F'' are our cluster based class selection, the multi-layer CAM generation, and our multiple binary classification based CAM generation method. ``Rank-a'' and ``Rank-b'' means the proposed fixed selection orders such as [3,9,14,17] and [3,8,13,18] respectively. ``S-k'' means the kth class ranked by the similarity is selected for each cluster. }
\begin{center}
\begin{tabular}{ccccc}
\hline
Method   & Res-50 & Res-101 & Res-152\\ \hline
Baseline \cite{selvaraju2017grad}& 25.49 & 27.94 & 27.24\\ \hline
Random+F  & 27.06 & 26.38 & 25.72\\ \hline
Random+A+F & 28.77 & 32.68 & 33.56\\ \hline
Rank-a +F  & 27.03 & 26.54 & 25.80\\ \hline
Rank-a+A+F  & 29.34 & 32.57 & 33.39\\ \hline
Rank-b +F & 26.64 & 26.16 & 25.37\\ \hline
Rank-b+A+F  & 29.17 & 32.86 & 33.30\\ \hline
S-1+F   & 27.19 & 27.25 & 26.60\\ \hline
S-1+A+F & 28.40 & $\mathbf{33.43}$ & $\mathbf{34.66}$\\ \hline
S-2+F   & 27.25 & 26.72 & 26.14\\ \hline
S-2+A+F  & 28.66 & 32.88 & 33.48\\ \hline
S-3+F  & 26.96 & 26.03 & 25.78\\ \hline
S-3+A+F  & 29.40 & 32.00 & 33.44\\ \hline
S-4+F   & 26.27 & 25.45 & 24.76\\ \hline
S-4+A+F & $\mathbf{29.89}$ & 32.57 & 32.95\\ \hline
\end{tabular}
\end{center}
\label{res_miou_validation}
\end{table}

\begin{table}
\small
\caption{The mIoU values by baseline and the proposed method on PASCAL VOC training dataset. The terms in the first row is the same to the ones in Table \ref{res_miou_validation}}
\begin{center}
\begin{tabular}{cccc}
\hline
Method   & Res-50 & Res-101 & Res-152\\ \hline
Baseline \cite{selvaraju2017grad}& 27.72 & 29.41 & 29.21 \\ \hline
random +F&    28.92 & 28.97 & 27.87 \\ \hline
random+A+F & 30.15 & 33.80 & 35.11 \\ \hline
Rank-a+F & 29.15 & 28.88 & 27.86 \\ \hline
Rank-a+A+F & 30.33 & 33.98 & 34.96 \\ \hline
Rank-b+F & 29.04 & 28.51 & 27.57 \\ \hline
Rank-b+A+F & 30.23 & 33.98 & 34.71 \\ \hline
S-1+F & 29.53 & 29.39 & 28.75 \\ \hline
S-1+A+F & 29.72 & $\mathbf{34.43}$ &$\mathbf{35.93}$ \\ \hline
S-2+F & 29.41 & 28.74 & 28.05 \\ \hline
S-2+A+F & 29.76 & 34.26 & 34.75 \\ \hline
S-3+F & 29.08 & 28.35 & 27.94 \\ \hline
S-3+A+F & 30.26 & 33.17 & 34.82 \\ \hline
S-4+F & 28.69 & 27.72 & 26.96 \\ \hline
S-4+A+F & $\mathbf{31.01}$ & 33.68 & 34.22 \\ \hline
\end{tabular}
\end{center}
\label{res_miou_train}
\end{table}

We also show the mIoU values by network with small size, since our method is based on binary classification tasks that can be implemented by small network. The results are displayed in Table \ref{res_samll_network}, where VGG-19 (VGG-19), Resnet-18 (Res-18) and Mobilenet-v2 (Mob) are displayed. It is seen that our method obviously improves the mIoU than baseline method. Meanwhile, sorting-based selection method obtains the best results among all of these manners.  This indicates that sorting-based selection should be employed for small network. However, the mIoU values by cluster-based selection method are very close to the values of the sorting-based method (34.62 vs 35.87, 30.90 vs 31.23, 26.21 vs 26.31 for VGG-19, Res-18, and Mobilenet respectively). This further indicates the effectiveness of the  proposed cluster-based selection method. It is also seen that the mIoU by very small network such as Res-18 and mobilenet are 31.23 and 26.31 by our method, which outperforms or be comparable to the baseline results by deeper network Res-152. We will study the implementation of the proposed method on small network to accelerate the running speed of our method further.

\begin{table}
\small
\caption{The mIoU values by small network, such as VGG-19 (VGG-19), Resnet-18 (Res-18) and mobilenet-v2 (Mobilenet) on validation dataset. The terms in the first row is the same to the ones in Table \ref{res_miou_validation}.}
\begin{center}
\begin{tabular}{cccc}
\hline
Method & VGG-19 & Res-18 & Mobilenet \\ \hline
Baseline \cite{selvaraju2017grad} & 22.43 & 19.65 & 25.54  \\ \hline
Random & 32.02 & 24.57 & 26.07  \\ \hline
Random+A+F & 34.54 & 30.83 & 23.03  \\ \hline
Rank-a & 34.62 & 25.19 & $\mathbf{26.31}$  \\ \hline
Rank-a+A+F & $\mathbf{35.87}$ & $\mathbf{31.23}$ & 23.89 \\ \hline
Rank-b & 32.09 & 24.40 & 25.86\\ \hline
Rank-b+A+F & 32.97 & 30.73 & 23.28 \\ \hline
S-1+F & 33.54 & 24.53 & 25.19 \\ \hline
S-1+A+F &34.62 & 29.55 & 22.74 \\ \hline
S-2+F & 32.56 & 24.88 & 25.47 \\ \hline
S-2+A+F &33.37 & 30.90 & 23.00 \\ \hline
S-3+F &  32.85 & 24.61 & 25.76 \\ \hline
S-3+A+F &34.83 & 30.73 & 23.23 \\ \hline
S-4+F & 31.24 & 24.36 & 26.21 \\ \hline
S-4+A+F &34.95 & 30.73 & 23.45 \\ \hline
\end{tabular}
\end{center}
\label{res_samll_network}
\end{table}

\subsection{Results on COCO 2017 Dataset}
We next verify the proposed method on COCO 2017 dataset, which consists of 80 classes. In our verification, the mode ``S-1+A+F'' and ResNet101 are used. We train the classification network on training dataset (by images with single class) and extract the class activation map from the validation dataset.

The results by our method on COCO 2017 dataset are displayed in Fig. \ref{res_coco_layers}, where the original images (``Image''), the activation maps of different layers (``Layer1''-``Layer4''), the sum of the activation maps of the layers (``Adding''), and our final activation map (``Fusion'') are displayed. The activation maps by baseline method (``Grad-CAM'') and the groundtruth (``GT'') are also displayed for comparison. It is seen that the proposed method extracts the activation maps successfully from these images. Moreover, the activation maps by the proposed method (``Fusion'') are better than the rest maps and the baseline method \cite{selvaraju2017grad}.
\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.95\linewidth]{res_coco_layers.eps}
\end{center}
   \caption{The activation maps by the proposed method on COCO 2017 dataset. ``Layer1'', ``Layer2'', ``Layer3'', ``Layer4'' and ``Adding'' are the CAMs of four different layers, and the sum of the four maps. ``Fusion'' is our final results. ``Grad-CAM'' and ``GT'' are the baseline method \cite{selvaraju2017grad} and groundtruth, respectively.}\label{res_coco_layers}
\end{figure*}

\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.95\linewidth]{coco_res3.eps}
\end{center}
   \caption{The mIoU values on COCO 2017 dataset by the proposed method and the existing methods. x-axis: the class name. y-axis: the mIoU value.}\label{coco_res2}
\end{figure*}

\begin{figure*}[t]
\begin{center}
   \includegraphics[width=0.95\linewidth]{res_comparision_subjective1.eps}
\end{center}
   \caption{The class activation maps generated by the existing methods and the proposed method (``w/o Fusion'' and ``Fusion'').}\label{res_comparision_subjective}
\end{figure*}

The mIoU values on COCO 2017 dataset are shown in Table \ref{res_com}. ``Ours'' and ``Our w/o fusion'' are the results of our method using and without using the proposed multiple-layer based CAM generation method respectively. It is seen that using our multiple-layer based CAM generation method can obtain better results (15.41 vs 12.85). Furthermore, the mIoU values on COCO 2017 dataset are small, which is caused by the complicated backgrounds, the multiple class of objects and the multiple instances of each class in the images of COCO 2017 dataset. The mIoU value of each class by our method can be found in Fig. \ref{coco_res2}.
\begin{table*}
\small
\caption{The mIoU values by the existing methods and our method. The best backbone networks for different methods are used. PASCAL VOC 2012 and COCO 2017 dataset are considered.}
\begin{center}
\begin{tabular}{ccccc}
\hline
Method&Network&PASCAL-val& PASCAL-train & COCO-val\\ \hline
CAM \cite{zhou2016learning}&ResNet101&24.54 & 26.86&10.32\\ \hline
Grad-CAM \cite{selvaraju2017grad}&ResNet101&27.94 &27.94 &11.82\\ \hline
ACoL \cite{zhang2018adversarial}&VGG19&19.42 & 19.41 &9.42\\ \hline
CBAM \cite{woo2018cbam}&ResNet50&17.63 & 21.08&9.67\\ \hline
Our w/o fusion&ResNet101&27.25 &29.39 &12.85\\ \hline
Our&ResNet101&33.43 &34.43 &15.41\\ \hline
\end{tabular}
\end{center}
\label{res_com}
\end{table*}

\subsection{Comparisons with More Existing Methods}
We finally compare our method with several existing methods such as CAM \cite{zhou2016learning}\footnote{https://github.com/metalbubble/CAM}, Grad-CAM \cite{selvaraju2017grad}, ACoL \cite{zhang2018adversarial}\footnote{https://github.com/xiaomengyc/ACoL} and CBAM \cite{woo2018cbam} \footnote{https://github.com/Jongchan/attention-module}. The codes publicly released by the authors are used. Since the generation models on PASCAL VOC 2012 and COCO 2017 dataset are not provided in these source codes, we train the models by the two datasets. For CAM, we use ResNet101 as the backbone network. For ACoL, we use VGG19 (VGG16 is suggested in the released code) that can obtain better results as the backbone network. For CBAM, we use ResNet50 (obtains better results than ResNet101 in our experiments) as the backbone network.

Some subjective results are displayed in Fig. \ref{res_comparision_subjective}, where the original images, the activation maps by the existing methods and our method (``Fusion'' and ``w/o Fusion'' are our methods using and without using the multiple-layer based CAM generation) are displayed. Groundtruth (``GT'') is also displayed. It is seen that out method obtains better maps than the existing methods.

The mIoU values by the comparison methods and our method are displayed in Table \ref{res_com}. The detailed mIoU values by these methods on COCO 2017 dataset can be found in Fig. \ref{coco_res2}. It is interesting to see that the results by ACoL and CBAM are smaller than CAM and Grad-CAM methods. The reason is that ACoL is based on erasing strategy which performs well when the object is large, and the image contains single class of object. But when the objects are small, and the images contain multiple classes of objects as usually appeared in PASCAL VOC 2012 and COCO 2017 datasets, the objects are highly likely to be erased in the first stage, and second most activation regions by the second stage are usually the regions of different class of objects, which reduces the mIoU values. For CBAM, the attention model is used to enhance the convolution features. It focuses on attention regions that may belong to different classes. It is also seen that the proposed method outperforms the existing methods well, since our method selects representative classes for each class that can avoid the interferences of the classes, and generate better class activation maps.

\section{Conclusion}
This paper proposes a new class activation map generation method by selecting representative classes, with the aim of fusing the complementary regions activated by different classes. A clustering based class selection method is first proposed. The classification based similarity matrix construction and the improved k-means clustering method are proposed for the selection. Then, we propose a multi-layer based CAM generation method. The multiple binary classification based CAM generation with a simple fusion method is finally introduced to generate the activation map. Experimental results show that the proposed method can improve the basic Grad-CAM method obviously. Moreover, small CNN networks also work well on our method due to our multiple binary classification based strategy.

{\small
\bibliographystyle{ieee}


\section{Supplementary Material}

\begin{figure}[!h]
	\raggedright
         \includegraphics[width=0.48\linewidth]{plength}
         \includegraphics[width=0.48\linewidth]{pmom}
         \includegraphics[width=0.48\linewidth]{p_mlike}
         \includegraphics[width=0.48\linewidth]{rtot2}
         \includegraphics[width=0.48\linewidth]{ortot}
         \includegraphics[width=0.48\linewidth]{aang}
         \includegraphics[width=0.48\linewidth]{dist}
         \includegraphics[width=0.48\linewidth]{nmue}
			\caption{The distribution of the eight input variables into the multi-variate analysis for simulated protons (blue solid line, scaled up x10 for visibility) and non-proton events (red solid line) in the SKI-IV atmospheric neutrino sample after reduction and precuts.
The corresponding data is superimposed on the figures as black points.
			The definition of the variables can be found in the main text.}
         \label{fig:MVAdist}
\end{figure}

For a given light pattern, compared to muons, protons tend to be reconstructed with a lower momentum due to their larger mass, and the track lengths can be inferred from the sharper ring edges by the hadronic interaction cutoff.
Therefore, the fitted track length, fitted momentum, as well as the proton likelihood over muon assumption provided by the proton fitter~\cite{Super-Kamiokande:2009kfy} are used in the MVA.
Since the kinematic range of protons that can be reconstructed is narrower than muons, the corrected charge within $70^\circ$ of the direction of proton events is typically more peaked.
On the other hand, the corrected charge outside $70^\circ$ of the direction for protons is typically lower since a recoil proton is a clean event, while a low energy muon from atmospheric neutrinos can have $\gamma$ emissions and other processes yielding low intensity Cherenkov light.
These charge distributions, together with the reconstructed Cherenkov angle, are provided by an initial event fitter without PID assumption, and are sent into the MVA as well.
The initial vertex reconstruction at SK utilizes hit time, while ring fitting gives a more precise vertex for muons that is typically close to the initial vertex.
We therefore include the distance between the initial vertex and the ring fitting vertex in the MVA.
Finally, since muons typically produce decay electrons, while protons can only produce decay electrons via secondary particle decays, we employed the number of decay electron to reject muons.
The distributions of the eight input variables described above for the simulated protons, non-proton events mostly composed of muons, and the data after the precuts are shown in Fig.~\ref{fig:MVAdist}.

\begin{figure}
   \centering
         \includegraphics[width=0.98\linewidth]{skymap.png}
			\caption{The skymap of the proton sample. Events passing the zenith angle cut $-\cos\theta_z>0.2$ is marked by red, and other events are in blue. The solid star marker in black marks the Galactic Center and the star marker in grey marks the off-source, which is 180$^\circ$ away in right ascension. The yellow region around the star marker indicates the directional cut of $\cos\theta>0.6$.}
         \label{fig:skymap}
\end{figure}

\end{document}


\section{Introduction}
We consider the Signorini problem, find $u$ such that
\begin{equation}\label{signorini}
\begin{array}{rcl}
-\Delta u &=& f \mbox{ in } \Omega \\
u &= & 0  \mbox{ on } \Gamma_D \\
\partial_n u &=& 0 \mbox{ on } \Gamma_N \\
u \leq 0,\; \partial_n u \leq 0, \; u \partial_n u &=& 0 \mbox{ on } \Gamma_C,
\end{array}
\end{equation}
where $f \in L^2(\Omega)$ and $\Omega \subset \mathbb{R}^d$, $d=2,3$
is a convex polygonal (polyhedral) domain with boundary $\partial \Omega$
and $\Gamma_D \cup \Gamma_N \cup \Gamma_C = \partial \Omega$. We assume that
$\Gamma_C$ coincides with one of the sides of the polygon. We write
$\partial_n u := n \cdot \nabla u$, where $n$ denotes the outwards
pointing normal of $\partial \Omega$.

It is well known that this problem admits a unique solution $u \in
H^1(\Omega)$. This follows from the theory of Stampacchia applied to
the corresponding variational inequality (see for instance \cite{HHN96}). We will also assume the
additional regularity $u \in H^{\frac32+\nu}(\Omega)$ $0 < \nu \leq
\frac12$. There exists a large body of litterature treating finite
element methods for contact
problems.  In
general however, it has proven difficult to prove optimal error
estimates without making assumptions on the regularity of
the exact solution or the constact zone. In the pioneering work of Scarpini and Vivaldi
\cite{SV77} $O(h^{\frac34})$ convergence was proved in the energy norm
for solutions in $H^2(\Omega)$. Brezzi, Hager and Raviart
\cite{BHR77} then proved $O(h)$ convergence under the additional condition
that the solution was in $W^{1,\infty}(\Omega)$ or that the number of
  points where the contact condition changes from binding to
  non-binding is finite. These initial works were
followed by a series of papers where the scope was widened and sharper
estimates obtained
\cite{KO88,GleT89,BB00,BBB03,BBR03,Wriggers2007,WPGW12,CH13a}. Discretization of \eqref{signorini} is usually performed on
the variational inequality or using a penalty method. The first case however leads to some nontrivial
choices in the construction of the discretization spaces in order to
satisfy the nonpenetration condition and it has proved difficult to
obtain optimal error estimates \cite{HR12}. The latter case, leads to the usual
consistency and conditioning issues of penalty methods. A detailed analysis
the penalty method was recently performed by Chouly and Hild \cite{CH13a}. Another approach proposed by Hild and
Renard \cite{HR10} is to use a
stabilized Lagrange-multiplier in the spirit of Barbosa and Hughes \cite{BH92},
using the reformulation of the contact condition
\begin{equation}\label{cond1}
\partial_n u = - \gamma^{-1} [u - \gamma \partial_n u ]_+
\end{equation}
where $[x]_\pm = \pm \max(0,\pm x)$, proposed by Alart and Curnier \cite{AC91} in an augmented Lagrangian
framework.
Using the close relationship between the Barbosa and Hughes method and
Nitsche's method \cite{Nit71} as discussed by Stenberg \cite{Sten95}, this method was
then further developed in the elegant Nitsche type formulation
introduced by Chouly, Hild and Renard
\cite{CH13b,CHR15}. In these works
optimal error estimates for solutions in $H^{\frac32+\nu}(\Omega)$ to
the above model problem were obtained for
the first time. Their method was proposed in a nonsymmetric and a
symmetric version similar to Nitsche's method for the imposition of
boundary conditions; it has however been observed that in their framework,
there was no equivalent to the penalty--free non--symmetric Nitsche
method proposed in \cite{Bu12}. Our aim in this work is to fill this
gap, rather adding a piece to the puzzle than pretending to
propose a method superior to the previous variants.

The penalty free Nitsche method can be interpreted as a Lagrange
multiplier method where the multiplier and the corresponding
test function has been replaced by the normal flux of the solution
variable and of its test function, respectively. To design this method
for contact problems we take a slightly different approach than in \cite{CH13b}.
Instead of working on the formulation \eqref{cond1} for the
lateral forces we use a similar relation on the displacement:
\begin{equation}\label{cond2}
u = - \gamma [\partial_n u  - \gamma^{-1} u]_+.
\end{equation}
Setting $P_{\gamma}(u) = \gamma \partial_n u - u$
we may write this relation as
\begin{equation}\label{eq:condonu}
u = - [P_{\gamma}(u)]_+.
\end{equation}
It is straightforward to show that this is equivalent to the contact
condition of equation \eqref{signorini}. First assume that
\eqref{cond2} holds. Then by construction $u \leq 0$. For $u=0$ we see
that $[\partial_n u]_+ = 0$ so in this case $\partial_n u \leq 0$. On
the other hand if $u \ne 0$ and
$\partial_n u > 0$ then $u = - \gamma (\partial_n u  -
\gamma^{-1} u) < u$, which is a contradiction. Similarly if
$\partial_n u < 0$ and $u \ne 0$ then $u = - \gamma (\partial_n u  -
\gamma^{-1} u)> u$. On the other hand if $u \leq 0$ and $u \partial_n u
 = 0$ then \eqref{cond2} holds and similarly if $\partial_n u \leq 0$ and $u\partial_n u
 = 0$ then \eqref{cond2} holds.

We multiply \eqref{signorini}
by a function $v$ with zero trace on $\Gamma_D$ and apply Green's
formula to obtain
\[
a(u,v)- \left< \partial_n u ,
  v\right>_{\Gamma_C} = (f,v)_{\Omega},
\]
where $(\cdot,\cdot)_{\Omega}$ and $\left< \cdot,\cdot\right>_{\Gamma_C}$ denote the $L^2$-scalar product on
$\Omega$ and $\Gamma_C$ respectively and
$a(u,v) :=(\nabla u,\nabla v)_{\Omega}$.
We then add  a term imposing \eqref{cond1} on the following form
\begin{equation}\label{full_coupling_form}
 \left<u  + \gamma [\partial_n u  - \gamma^{-1} u]_+, \theta_1 \partial_n v
   + \theta_2 \gamma^{-1} v\right>_{\Gamma_C},
\end{equation}
resulting in family of Nitsche formulations defined by two parameters
$\theta_1$ and $\theta_2$,
\[\begin{array}{c}
a(u,v)- \left< \partial_n u ,
  v\right>_{\Gamma_C} +  \theta_1\left< \partial_n
  v,u\right>_{\Gamma_C} + \theta_2\gamma^{-1}
\left<u,v\right>_{\Gamma_C}  \\[3mm]
+ \left<\gamma [\partial_n u  - \gamma^{-1} u]_+, \theta_1 \partial_n v
   + \theta_2 \gamma^{-1} v\right>_{\Gamma_C}= (f,v)_{\Omega}.
\end{array}\]
Taking $\theta_1 \in
\{-1,0,1\}$ and $\theta_2 =1$ results in methods equivalent to those
proposed in \cite{CHR15} on the form
\begin{equation}\label{formal_Nit_contact}\begin{array}{c}
(\nabla u,\nabla v)_{\Omega} - \left< \partial_n u ,
  v\right>_{\Gamma_C} \pm  \left<
  u, \partial_n v\right>_{\Gamma_C} + \left< \gamma^{-1} u,
  v\right>_{\Gamma_C}\\[3mm]
+ \left< [P_{\gamma}(u)]_+, \gamma^{-1} v \pm \partial_n v
   \right>_{\Gamma_C} = (f,v)_\Omega
\end{array}
\end{equation}
from which we deduce that the linear part of the formulation coincides
with the classical version of Nitsche's method. It is straightforward
to verify that \eqref{formal_Nit_contact} is equivalent with the
formulation proposed in \cite{CHR15}.

Herein we will consider the method obtained
when $\theta_1=1$ and $\theta_2 = 0$ in which case the term imposing
the contact condition reduces to
\[
 \left<u  + \gamma [\partial_n u  - \gamma^{-1} u]_+, \partial_n v
 \right>_{\Gamma_C} .
\]
Observe that the two terms only differ by
the exclusion of the last term which corresponds to a penalty
and in that sense the latter variant is penalty free.

It follows that the penalty free version leads to the following formal restatement of \eqref{signorini} for
smooth $u$
\begin{equation}\label{formal_var_contact}
(\nabla u,\nabla v)_{\Omega} - \left< \partial_n u ,
  v\right>_{\Gamma_C} +  \left<
  u, \partial_n v\right>_{\Gamma_C}
+ \left< [P_{\gamma}(u)]_+, \partial_n v
   \right>_{\Gamma_C} = (f,v)_\Omega.
\end{equation}
Observe that the linear part of the system is equivalent to that
proposed in \cite{Bu12} for Dirichlet boundary conditions, but that
here this is used to enforce the condition \eqref{eq:condonu} on $u$.

For the discretization of \eqref{formal_var_contact} we will use the
Crouzeix--Raviart nonconforming piewewise affine element with midpoint
continuity on element edges (or continuity of averages over faces in
three dimensions). As we shall see below, this element is
advantageous for the formulation proposed, since the necessary
stability results are relatively straightforward to prove. The
nonconforming finite element space has been analysed for the Signorini
problem by Hua and Wang \cite{HW07}. They prove optimal convergence up to a
logarithmic factor for $H^2(\Omega)$ solutions under the assumption
that the number of points where the constraint changes from binding
to nonbinding is finite. In this work we prove the same optimal
results for solutions in $H^{\frac32+\nu}(\Omega)$, $\nu>0$ as those
obtained in \cite{CH13b,CHR15}.

To handle the nonconformity error we need to make an additional mild
assumption on the source term: the trace of $f$ must be well
defined in the vicinity of the contact boundary $\Gamma_C$. To make
this precise, let
$$\Omega_{t_C}:= \{x \in \bar \Omega: x= y  - n_y t, \mbox{ where } y\in
\Gamma_C \mbox{ and } 0 \leq t \leq t_C\},
$$
where $n_y$ denotes the outward pointing normal on $\Gamma_C$ at the
point $y$. For a fixed $t$, we define
$$
\partial_t
  \Omega := \{x \in \bar \Omega:  x= y  - n_y t, \mbox{ where } y\in
\Gamma_C \}.
$$
Observe that for any
function $v \in H^s(\Omega_{t_C})$ with $s>\tfrac12$ there holds
\begin{equation}\label{eq:tracebound}
\|v\|_{\Omega_C} \lesssim t_C^{\frac12} \sup_{0\leq t \leq t_C} \|v\|_{\partial_t
  \Omega}.
\end{equation}
We introduce the norm $\|u\|_{L^2_{\infty}(\Omega)} :=
\|u\|_{L^2(\Omega)} +  \sup_{0\leq t \leq t_C} \|v\|_{\partial_t
  \Omega}$ and assume that
\begin{equation}\label{f_assump}
\exists ~ t_C>0\mbox{ such that }
\|f\|_{L^2_{\infty}(\Omega)} < \infty.
\end{equation}
\section{The nonconforming finite element method}
To simplify the analysis below we will work with the nonconforming
finite element space proposed by Crouzeix and Raviart in \cite{CR73}.
Let $\{\mathcal{T}_h\}_h$ denote a family of shape regular and quasi uniform
tessellations of $\Omega$ into nonoverlapping simplices, such that for
any two different simplices $\kappa$, $\kappa' \in \mathcal{T}_h$, $\kappa \cap
\kappa'$ consists of either the empty set, a common face or edge, or a common
vertex. The diameter of a simplex $\kappa$ will be denoted
$h_{\kappa}$ and the outward pointing normal $n_{\kappa}$. The family
$\{\mathcal{T}_h\}_h$ is indexed by the maximum element size of
$\mathcal{T}_h$, $h :=
\max_{\kappa \in \mathcal{T}_h} h_\kappa$. We denote the set of element faces in $\mathcal{T}_h$ by
$\mathcal{F}$ and let $\mathcal{F}_i$ denote the set of interior faces and $\mathcal{F}_{\Gamma}$ the set of faces in some
$\Gamma \subset \partial \Omega$. We will assume that the mesh is
fitted to the subsets of $\partial \Omega$ representing the boundary
conditions $\Gamma_D$, $\Gamma_N$  and $\Gamma_C$, so that the
boundaries of these subsets coincide with the boundaries of subsets of
element faces.
To each face
$F$ we associate a unit normal vector, $n_F$. For interior faces its orientation is arbitrary, but fixed. On the boundary
$\partial \Omega$ we identify $n_F$ with the outward pointing normal
of $\partial \Omega$.
The subscript on the normal is dropped in cases where it follows from the context.

We define the jump over interior faces $F \in
\mathcal{F}_i$ by $$\jump{v}\vert_F:= \lim_{\epsilon \rightarrow
  0^+} (v(x\vert_F- \epsilon n_F) - v(x\vert_F+ \epsilon n_F))$$
and for faces on the boundary, $F \in \partial \Omega$, we let
$\jump{v}\vert_F := v \vert_F$. Similarly we define the average of a function over
an interior
face $F$ by $$\{v \}\vert_F := \tfrac12 \lim_{\epsilon \rightarrow
  0^+} (v(x\vert_F- \epsilon n_F) + v(x\vert_F+ \epsilon n_F))$$ and
for $F$ on the boundary we define $\{v \}\vert_F := v \vert_F$.
The classical nonconforming space of piecewise affine
finite element functions (see \cite{CR73}) then reads
$$
V_h := \{v_h \in L^2(\Omega): \int_{F} \jump{v_h}~
\mbox{d}s = 0,\, \forall F \in \mathcal{F}_i \cup \mathcal{F}_{\Gamma_D}
\mbox{ and } v_h\vert_{\kappa} \in \mathbb{P}_1(\kappa),\,
\forall \kappa \in \mathcal{T}_h \}
$$
where $\mathbb{P}_1(\kappa)$ denotes the set of polynomials of degree less than
or equal to one restricted to the element $\kappa$.

The finite element method takes the form: find $u_h \in
V_h$ such that
\begin{equation}\label{FEM}
A_h(u_h,v_h) = L(v_h), \quad \forall v_h
\in V_h
\end{equation}
where $L(v_h) := (f,v_h)_\Omega$ and
\begin{equation}\label{Aform}
A_h(u_h,v_h):= a_h(u_h,v_h) + \left<u_h + [P_\gamma(u_h)]_+, \partial_n v_h \right>_{\Gamma_C}
\end{equation}
with $P_\gamma(u_h) = \gamma\partial_n u_h -
 u_h$ and $\gamma>0$ a parameter to determine. The
linear form $a_h(\cdot,\cdot)$ coincides with the consistent part of Nitsche's method,
\[
a_h(u_h,v_h) := a(u_h,v_h) - \left< \partial_n u_h ,
  v_h\right>_{\Gamma_C}
\]
where we have redefined $a(u,v) :=\sum_{\kappa \in \mathcal{T}_h} (\nabla u_h,\nabla v_h)_{K}$.
To see the effect of the nonlinear term, let $\Gamma_C^+$ denote the
part of the contact zone where $\gamma [\partial_n u  - \gamma^{-1}
u]_+>0$ and $\Gamma_C^0 = \Gamma_C \setminus \Gamma_C^+$. We may then
write the form $A(\cdot,\cdot)$
\[
a(u_h,v_h) - \left< \partial_n u ,
  v_h\right>_{\Gamma_C} + \left< \partial_n v,
  u_h\right>_{\Gamma^0_C} +\left<\gamma \partial_n u , \partial_n v \right>_{\Gamma^+_C}.
\]
This corroborates the naive idea that the method should impose a
Dirichlet condition on $\Gamma_C^0$, here using the penalty free
Nitsche method, and a Neumann condition on
$\Gamma_C^+$, here in the form of a penalty term. Observe that the continuity of the form that is obvious
in the formulation \eqref{Aform} (by the continuity of $[\cdot]_+$,
see more details below) is
no longer clear in this latter expression.

For comparison, in the method of Chouly, Hild and Renard, the form \eqref{formal_Nit_contact}
$A(\cdot,\cdot)$ takes the form
\begin{multline*}
a(u_h,v_h) - \left< \partial_n u ,
  v_h\right>_{\Gamma^0_C} +\theta_1 \left< \partial v_n,
  u_h\right>_{\Gamma^0_C} + \left<u_h ,\gamma^{-1}
  v_h\right>_{\Gamma^0_C} +\theta_1\left<\gamma \partial_n u , \partial_n v \right>_{\Gamma^+_C},
\end{multline*}
where $\theta$ takes the values $-1$ or $1$ for the symmetric and
nonsymmetric versions respectively. Clearly in this case the Dirichlet
condition on $\Gamma^0_C$ is imposed using the classical Nitsche
method and the Neumann condition on $\Gamma_C^+$ is imposed either
weakly or with an additional penalty term (in the symmetric case, this
term has the wrong sign and does not stabilize the boundary condition).
\subsection{Preliminary results}
For the analysis below we will use some elementary tools that we
collect here. We will use the notation $a \lesssim b$ for
$a \leq C b$ where $C$ is a constant independent of $h$.

The following norms on $H^{\frac32+\nu}(\Omega)+V_h$ will be used below
simplify to simplify the notation,
\[
\|v\|_{h,\Omega} := \left(\sum_{\kappa \in \mathcal{T}_h}
  \|v\|_{\kappa}^2 \right)^{\frac12},\quad \|v\|_{h,\Gamma_C} := \left(\sum_{F \in \mathcal{F}_{\Gamma_C}}
  \|v\|_{F}^2 \right)^{\frac12},
\]
the broken $H^1$-norms,
\[
\|v\|_{1,h}:=\|\nabla v \|_{h,\Omega} + \|v \|_{h,\Omega}
\]
and
\[
\|v\|_{1,C}:=\|v\|_{1,h}+ \gamma^{\frac12}  \|\partial_n
  v \|_{h,\Gamma_C}+\gamma^{-\frac12} \|v\|_{h,\Gamma_C}.
\]
We recall, for future reference, the following inequalities:
\begin{itemize}
\item Poincar\'e inequality,
there exists $\alpha>0$ such that
\begin{equation}\label{poincare}
\alpha \|v\|^2_{1,h} \leq \|\nabla v\|^2_{h} \quad \forall
v \in V_h + {H^1(\Omega)}.
\end{equation}
\item Inverse
inequality,
\begin{equation}\label{inverse}
|v|_{H^1(\kappa)} \leq C_I h^{-1}_\kappa \|v\|_{L^2(\kappa)}\quad \forall v \in \mathbb{P}_1(\kappa).
\end{equation}
\item Trace inequalities,
\begin{equation}\label{trace0}
\|v\|_{L^2(\partial \kappa)} \leq C_T \left( h_\kappa^{-\frac12} \|v\|_{L^2(\kappa)} +
h_\kappa^{\frac12} |v|_{H^1(\kappa)}\right)\quad \forall v \in H^1(\kappa)
\end{equation}
and
\begin{equation}\label{trace}
\|v\|_{L^2(\partial \kappa)} \leq C_t h_\kappa^{-\frac12} \|v\|_{L^2(\kappa)} \quad\forall v \in \mathbb{P}_1(\kappa).
\end{equation}
\end{itemize}
For the analysis below we also need a quasi-interpolation operator
that maps piecewise linear nonconforming functions into the space of
piecewise linear conforming functions.
Let $I_\text{cf}: V_h \mapsto V_h \cap H^1(\Omega) $ denote a quasi interpolation operator \cite{HW96,ABC03,KP03} such that
\begin{equation}\label{discrete_interp}
\| I_\text{cf} v_h - v_h \|_\Omega+ h \|\nabla(I_\text{cf} v_h -
v_h)\|_{h} \lesssim \|h^{\frac12} \jump{v_h}\|_{\mathcal{F}_i}\lesssim
h \|\nabla v_h\|_h .
\end{equation}
Stability is based on the fact that we can construct a function which
is zero in the bulk of the domain and with a certain value of the flux
on the boundary. We make this precise in the following lemma.
\begin{lemma}\label{specfunc}
Let $r:\Gamma_C \mapsto \mathbb{R}$ be a face--wise constant function such that $r\vert_F
\in \mathbb{R}$ for all $F\in \mathcal{F}_{\Gamma_C}$.
There exists $v_h \in V_h$ such that
\begin{equation}\label{eq:v1}
\partial_n v_h\vert_F =r_F \in \mathbb{R} \quad \text{ for } F \in \mathcal{F}_{\Gamma_C},
\end{equation}
\begin{equation}\label{eq:v2}
\int_F  \{v_h\} ~\mbox{d}s = 0 \quad\text{for}\; F \in \mathcal{F}_i \cup
\mathcal{F}_{\Gamma_D}\cup
\mathcal{F}_{\Gamma_N}
\end{equation}
and
\begin{equation}\label{funcstab}
\|v_h\|_{\Omega} \lesssim h^{\frac32} \|r\|_{\Gamma_C}.
\end{equation}
\end{lemma}
\begin{proof}
For a given simplex $\kappa$ with one face in
$\mathcal{F}_{\Gamma_C}$, assume that  $x_1,\hdots,x_d$ are the
vertices in $\Gamma_C$ and $x_0$ is the vertex in the bulk. Define $v_\kappa
\in \mathbb{P}_1(\kappa)$ by $
v_{\kappa}(x_i)=1$,
$i=1,\hdots,d$ and $v_h(x_0)=1-d$. Then it follows that for $F
\subset \partial \kappa \cap \Omega$
\[
\int_{F} v_\kappa ~\mbox{d}x = 0
\]
and  $\nabla v_\kappa:= |\nabla v_h| n_{\partial \Omega}$, where
$n_{\partial \Omega}$ is the normal to $\Omega$ on $\partial \kappa
\cap \partial \Omega$ and $|\nabla v_h|=c_\kappa h_{\kappa}^{-1}$ where $c_\kappa$ is a positive constant that depends only on the shape
regularity of $\kappa$. It follows that
\[
v_h := \sum_{\kappa \in \mathcal{T}_h} v_\kappa \in V_h.
\]
We conclude by multiplying $v_h$ in each
element with $h_{\kappa} c_\kappa^{-1} r_F$. Then by construction
\eqref{eq:v1} and \eqref{eq:v2} are satisfied. The stability
\eqref{funcstab} is a consequence of an inverse trace inequality,
\[
\|v_h\|_{\Omega} \lesssim \left(\sum_{F \in \mathcal{F}_{\Gamma_C}}
  h_\kappa \|h_{\kappa} c_\kappa^{-1} r_F\|_F^2 \right)^{\frac12}
\lesssim h^{\frac32} \|r\|_{\Gamma_C}.
\]
\end{proof}

The nonlinearity satisfies the following monotonicity and continuity
properties.
\begin{lemma}\label{nonlinprop}
Let $a,b \in \mathbb{R}$ then there holds
\[
([a]_+-[b]_+)^2 \leq ([a]_+ - [b]_+) (a - b),
\]
\[
|[a]_+-[b]_+| \leq |a-b|.
\]
\end{lemma}
\begin{proof}
Developing the left hand side of the expression we have
\[
[a]_+^2 +[b]_+^2 - 2 [a]_+[b]_+ \leq  [a]_+ a + [b]_+ b -  a [b]_+
-  [a]_+b =  ([a]_+ - [b]_+) (a - b).
\]
The second claim is trivially true in case both $a$
and $b$ are positive or negative. If $a$ is negative and $b$ positive then
\[
|[a]_+-[b]_+| = |b| \leq |b-a|
\]
and similarly if $b$ is negative and $a$ positive
\[
|[a]_+-[b]_+| = |a| \leq |b-a|.
\]
\end{proof}
\begin{lemma}(Continuity of $A_h$)\label{lem:continuityA}
Let $v_1,v_2 \in H^{\frac32+\nu}+V_h$ and $w_h \in V_h$. Then there holds
\[
|A_h(v_1,w_h) - A_h(v_2,w_h)| \lesssim  \|v_1 - v_2\|_{1,C}
 \|w_h\|_{1,C} \lesssim \Theta(h)^2\|v_1 - v_2\|_{\Omega} \|w_h\|_{\Omega}.
\]
\end{lemma}
\begin{proof}
By the Cauchy--Schwarz inequality we have
\[
a_h(v_1-v_2,w_h)| \leq \|v_1 - v_2\|_{1,C} \|w_h\|_{1,C}.
\]
For the nonlinear term the following bound holds as a consequence
of the third inequality of Lemma \ref{nonlinprop} and the inequalities
\eqref{inverse}--\eqref{trace}:
\[\begin{array}{l}
\left< \gamma ( [\partial_n v_1 - \gamma^{-1} v_1]_+ - [\partial_n v_2 - \gamma^{-1} v_2]_+, \partial_n w_h
   \right>_{\Gamma_C} \\[3mm]
\qquad \leq \left< (|\gamma^{\frac12} \partial_n( v_1-v_2) - \gamma^{-1/2} (v_1-v_2)|,\gamma^{\frac12} |\partial_n w_h
   |\right>_{\Gamma_C} \\[3mm]
   \qquad  \lesssim \|v_1 - v_2\|_{1,C}
 \|w_h\|_{1,C}\\[3mm]\qquad
\lesssim \Theta(h)^2 \|u_1 - u_2\|_{\Omega}
\|w_h\|_{\Omega}
\end{array}\]
with $\Theta(h):=1+h^{-1}( C_I + C_t C_I \gamma^{\frac12} h^{-\frac12} + C_t
\gamma^{-\frac12} h^{\frac12})$.
\end{proof}
\section{Existence and uniqueness of discrete solutions}
In this section we will prove that the finite dimensional nonlinear
system \eqref{FEM} admits a unique solution under suitable assumptions
on the parameter $\gamma$. First, with $N_V:= \mbox{dim}~ V_h$ define the mapping $G:\mathbb{R}^{N_V} \mapsto \mathbb{R}^{N_V}$ by
\begin{equation}\label{nonlin_syst}
(G(U),V)_{\mathbb{R}^{N_V}} :=A_h(u_h,v_h) - L(v_h),
\end{equation}
where $U = \{u_i\}$, with $u_i$ denoting the degrees of freedom of
$V_h$ associated with the Crouzeix-Raviart basis functions $\{\varphi_i\}_{i=1}^{N_V}$ and similarly
$V=\{v_i\}$ denotes the vector of degrees of freedom associated with the
test function $v_h$. The nonlinear system associated to \eqref{FEM} may
then be written, find $U \in \mathbb{R}^{N_V}$ such that $G(U)=0$.

Let us next prove a positivity result for the formulation \eqref{FEM}
that will be useful when proving existence and uniqueness.
\begin{proposition}\label{positivity}
Assume that $\gamma = \gamma_0 h$ with $\gamma_0$ large enough. Then, for $u_1,u_2\in
V_h$, there exists $v_ h\in
V_h$ such that
\begin{equation}\label{eq:monotone}
\begin{array}{c}\alpha\| u_1 - u_2\|^2_{1,h} + \gamma^{-1} \|u_1-u_2+  [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+\|^2_{\Gamma_C}\\[3mm]
 \lesssim A_h(u_1,v_h)-A_h(u_2,v_h).
\end{array}\end{equation}
Moreover, for $\gamma_0$ large enough, there exists $B\in
\mathbb{R}^{N_V\times N_V}$ such that for $X$ with $|X|_{\mathbb{R}^{N_V}}$ large enough
\[
(G(X),BX)_{\mathbb{R}^{N_V}} > 0
\]
and there exists $b_1,b_2>0$ associated to $B$ such that
\[
b_1 |X|_{\mathbb{R}^{N_V}} \leq |BX|_{\mathbb{R}^{N_V}} \leq b_2 |X|_{\mathbb{R}^{N_V}}.
\]
\end{proposition}
\begin{proof}
Let $w_h:= u_1-u_2$. Observe that by Lemma \ref{specfunc}
we can choose $x_h(w_h) \in V_h$ such that
\begin{equation}\label{eq:x1}
\partial_n x_h\vert_F = \gamma^{-1} |F|^{-1} \int_F  w_h ~\mbox{d}s =:
\gamma^{-1} \bar w\vert_F, \quad \mbox{ for } F \in \mathcal{F}_{\Gamma_C}
\end{equation}
and
\begin{equation}\label{eq:x2}
\int_F  \{x_h\} ~\mbox{d}s = 0 \mbox{ for  } F \in \mathcal{F}_i \cup
\mathcal{F}_{\Gamma_D}\cup
\mathcal{F}_{\Gamma_N}.
\end{equation}
It follows using integration by parts that for all $y_h \in V_h$ there holds
\[
(\nabla y_h,\nabla x_h) - \left<\partial_n y_h , x_h
\right>_{\Gamma_C} = 0.
\]
Now taking $v_h = w_h + x_h$ leads to
\begin{align*}
A_h(u_1,v_h)-A(u_2,v_h)  ={}& \|\nabla w_h\|^2_h  + (\nabla w_h,\nabla x_h)_h - \left<\partial_n w_h, x_h
\right>_{\Gamma_C}  + \left<\gamma^{-1} \bar w, w_h \right> \\  & + \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \partial_n w_h + \gamma^{-1} \bar w
\right>_{\Gamma_C} \\
 = {}&\|\nabla w_h\|^2_\Omega + \left<\gamma^{-1} \bar w, w_h \right>\\ & + \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \partial_n w_h - \gamma^{-1} w_h
\right>_{\Gamma_C} \\
&+ \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \gamma^{-1} (w_h + \bar w) \right>_{\Gamma_C} \\
 = {}&\|\nabla w_h\|^2_\Omega + \left<\gamma^{-1} w_h, w_h \right> \\ & + \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \partial_n w_h - \gamma^{-1} w_h
\right>_{\Gamma_C} \\
& +2  \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \gamma^{-1} w_h \right>_{\Gamma_C} \\
& + \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+ + w_h, \gamma^{-1} (w_h -\bar w)
\right>_{\Gamma_C}.
\end{align*}
Applying the monotonicity $$\gamma^{-1} \| [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+\|_{\Gamma_C}^2 \leq  \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \partial_n w_h - \gamma^{-1} w_h
\right>_{\Gamma_C}$$
we see that
\[\begin{array}{c}
\gamma^{-1} \| [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_++w_h\|_{\Gamma_C}^2 \leq  \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \partial_n w_h - \gamma^{-1} w_h
\right>_{\Gamma_C}\\[3mm]
 + \left<\gamma^{-1} w_h, w_h \right>_{\Gamma_C} + 2  \left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+, \gamma^{-1} w_h \right>_{\Gamma_C}.
\end{array}\]

Then, using the arithmetic-geometric inequality together
with the approximation properties of the piecewise constant
approximation $\bar w$ and an elementwise trace inequality to get the bound
\[\begin{array}{c}
\left< [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+ + w_h, \gamma^{-1} (w_h -\bar w)
\right>_{\Gamma_C} \\[3mm] \leq \frac12 \gamma^{-1} \|[P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+ + w_h\|_{\Gamma_C}^2 +
  \frac12 \gamma^{-1} C h \|\nabla w_h\|^2_\Omega
\end{array}\]
we finally obtain
\[\begin{array}{c}
(1 -  \frac12 \gamma^{-1} C h) \|\nabla
w_h\|^2_h +   \frac12 \gamma^{-1}\| [P_\gamma(u_1)]_+- [P_\gamma(u_2)]_+ + w_h\|_{\Gamma_C}^2\\[3mm]  \leq
  A_h(u_1,v_h) -A_h(u_2,v_h).
\end{array}\]
We conclude by choosing $\gamma > C h$.

For the second claim, first consider equation \eqref{eq:monotone} with
$u_1=u_h$, $u_2=0$,
\begin{equation}\label{eq:pos_u}
\alpha\| u_h \|^2_{1,h} + \gamma^{-1} \|u_h-  [P_\gamma(u_h)]_+]_+\|^2_{\Gamma_C} \lesssim A_h(u_h,u_h + x_h(u_h)).
\end{equation}
Let the positive constants $c_h$ and $C_h$ denote the square roots of
the   smallest and the
largest eigenvalues respectively of the matrix given by $(\varphi_i,\varphi_j)_{\Omega}$, $1\leq i,j\leq
N_V$ such that
\[
c_h |U|_{\mathbb{R}^{N_V}} \leq  \|u_h\|_{\Omega} \leq C_h |U|_{\mathbb{R}^{N_V}}.
\]
Let $B$ denote the transformation matrix such that the finite element function
corresponding to the vector $B U$ is the function $u_h +
x_h(u_h)$. First we show that for  $\gamma$ sufficiently large there are constants $b_1$ and $b_2$ such that $b_1 |U|_{\mathbb{R}^{N_V}}
\leq |BU|_{\mathbb{R}^{N_V}} \leq b_2 |U|_{\mathbb{R}^{N_V}}$. This can be seen by observing that
$$
\|u_h\|_\Omega \leq \|u_h+x_h\|_\Omega+\|x_h\|_\Omega\leq
C_h |B U|_{\mathbb{R}^{N_V}} + C \gamma^{-1} h \|u_h\|_\Omega
$$
so that
$$
c_h  (1 - C \gamma^{-1} h)|U|_{\mathbb{R}^{N_V}} \leq  (1 - C \gamma^{-1} h) \|u_h\|_\Omega \leq C_h |BU|_{\mathbb{R}^{N_V}}.
$$
Similarly we may prove the upper bound using $c_h |B
U|_{\mathbb{R}^{N_V}} \leq \|u_h+x_h\|_\Omega$ so that
\begin{multline*}
c_h |B U|_{\mathbb{R}^{N_V}} \leq \|u_h\|_{\Omega}+\|x_h\|_{\Omega}
\leq \|u_h\|_{\Omega}+ C \gamma^{-1} h \|u_h\|_\Omega \leq C_h  (1 + C \gamma^{-1} h)|U|_{\mathbb{R}^{N_V}} .
\end{multline*}
Then there holds using
\eqref{eq:pos_u},
\begin{align*}
(G(U),B U)_{\mathbb{R}^{N_V}}{}& =   A_h(u_h,u_h +
x_h(u_h)) - L(u_h +
x_h(u_h)) \\
{}&\ge
\frac{\alpha}{2} \|u_h\|^2_{1,h} - \frac{C_*^2}{2 \alpha}
\|f\|^2_{\Omega}
 \ge \frac{\alpha}{2}  \lambda_1 |U|_{\mathbb{R}^{N_V}}^2 - \frac{C_*^2}{2 \alpha} \|f\|^2_{\Omega} .
\end{align*}
where $C_*$ is the constant such that $L(u_h +
x_h(u_h)) \leq C_*
\|f\|_{\Omega}\|u_h\|_{1,h}$ and $\lambda_1$ is the smallest eigenvalue of the matrix defined by
$(\nabla \varphi_i,\nabla \varphi_j)_h+(\varphi_i,\varphi_j)_{\Omega}$, $1\leq i,j\leq
N_V$. We conclude that for
\[
|U|_{\mathbb{R}^{N_V}} >  \frac{C_*}{\alpha \lambda_1^{\frac12}} \|f\|_{\Omega}
\]
there holds
\[
(G(U),B U)_{\mathbb{R}^{N_V}} >0.
\]
\end{proof}
\begin{proposition}
The formulation \eqref{FEM} admits a unique solution
for $\gamma = \gamma_0 h$, with $\gamma_0$ large enough.
\end{proposition}

\begin{proof}
Fix $h>0$.
Observe that $G$ defined by \eqref{nonlin_syst} is continuous since by Lemma \ref{lem:continuityA}
\begin{align*}
|G(U_1) - G(U_2)|_{\mathbb{R}^{N_V}} = & \sup_{W \in \mathbb{R}^{N_V}: |W|=1} (G(U_1)
-G(U_2),W)_{\mathbb{R}^{N_V}} \\
= & \sup_{w \in V_h} (A_h(u_1,w_h) - A_h(u_2,w_h))  \\
\lesssim & \Theta(h)^2 \|u_1 - u_2\|_{\Omega}
\|w_h\|_{\Omega} \leq
    \Theta(h)^2 C^2_h |U_1 - U_2|_{\mathbb{R}^{N_V}}.
\end{align*}

By the second claim of Proposition \ref{positivity} we may fix $q \in
\mathbb{R}_+$ such that for $X \in \mathbb{R}^{N_V}$ with
$|X| \ge q$ there holds
\begin{equation}\label{eq:Gpos}
(G(X), B X)_{\mathbb{R}^{N_V}} > 0.
\end{equation}
Assume that there exists no $X \in \mathbb{R}^{N_V}$ such that $G(X)=0$ and define the
function $\phi(X) = -q/{b_1} B^\text{T}
G(X)/|G(X)|_{\mathbb{R}^{N_V}}$. Since $G(X)\ne 0$ and by the
continuity of $G(X)$ $\phi(\cdot)$ is well defined
and continuous. The transpose of
$B$ satisfies the same bounds as $B$ and therefore $\phi$ maps the ball of radius
$q b_2/b_1$ in $\mathbb{R}^{N_V}$ into itself. It then follows by Brouwers fixed point
theorem that $\phi$ admits a fixed point: there exists $Z \in
\mathbb{R}^{N_V}$ with $|Z|_{\mathbb{R}^{N_V}}\ge q$ such that
\[
Z = \phi(Z) =- q/b_1 B^\text{T} G(Z)/|G(Z)|_{\mathbb{R}^{N_V}}.
\]
By definition then $|Z|_{\mathbb{R}^{N_V}}^2= -q/b_1 (G(Z),B Z)_{\mathbb{R}^{N_V}}/|G(Z)|_{\mathbb{R}^{N_V}}<0$ which
contradicts the assumption \eqref{eq:Gpos}. It follows that there exists at least one
$U\in \mathbb{R}^{N_V}$ such that $G(U)=0$.

Uniqueness of the discrete solution is an immediate consequence of
Proposition \eqref{positivity}. Indeed assume that $u_1$ and $u_2$
both are solutions to \eqref{FEM}, then for $v_h$ chosen as in the Proposition,
\[
\alpha \| u_1 - u_2\|^2_{1,h}
\lesssim A_h(u_1,v_h)-A_h(u_2,v_h) = (f,v_h)_\Omega- (f,v_h)_\Omega = 0.
\]

\end{proof}
\section{A priori error estimates}
A priori error estimates may now be derived by combining the
techniques of the uniqueness argument above with the Galerkin
perturbation arguments.
\begin{theorem}\label{thm:apriori}
Assume that $u \in H^{\frac32+\nu}(\Omega)$, with
$0<\nu\leq \tfrac12$ is the solution of the problem
\eqref{signorini}.
Assume that  $u_h$ denotes the
solution of \eqref{FEM}-\eqref{Aform}  where $\gamma =
\gamma_0 h$. If $\gamma_0$ is chosen sufficiently large and $h\leq t_C$, where
$t_C$ is the constant of assumption \eqref{f_assump}, then there holds, with $e:=u-u_h$,
\begin{align*}
\alpha^{\frac12} \|e\|_{1,h} + \gamma^{-\frac12}\| [P_\gamma
u_h]_++  u_h\|_{\Gamma_C}
\lesssim {}& \inf_{v_h \in V_h} (\|u - v_h\|_{1,C} + h^{\frac12}
\|\partial_n (u -v_h)\|_{\mathcal{F}_i}) \\
& + h \|f\|_{L^2_\infty(\Omega)}.
\end{align*}
\end{theorem}
\begin{proof}
Using the definition of the form
$a(\cdot,\cdot)$ we have
\begin{equation}\label{coercivity1}
 \|\nabla e\|_{h}^2 \leq a(e,e)  =
a(e,u-v_h) + a(e,v_h-u_h).
\end{equation}
For the first term we have
\begin{equation}\label{splita1}
a(e,u-v_h) \leq \frac{1}{2} \|\nabla e\|_{h}^2 +
\frac{1}{2} \|\nabla (u - v_h)\|_{h}^2.
\end{equation}
Considering the second term we see that
\begin{align}\nonumber
a(e,v_h-u_h) = {}& \left<\{\partial_n u\},\jump{v_h-u_h}
\right>_{\mathcal{F}\setminus \mathcal{F}_{\Gamma_C}}
+\left<\partial_n e, v_h-u_h\right>_{\Gamma_C} \\ \nonumber
& - \left<\partial_n (v_h-u_h), e\right>_{\Gamma_C} \\ \label{0st_step}
& - \left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \partial_n
  (v_h-u_h) \right>_{\Gamma_C}
\end{align}
Using that
\begin{align*}
\left<\partial_n e, v_h-u_h\right>_{\Gamma_C}
- \left<\partial_n (v_h-u_h), e\right>_{\Gamma_C}
=
\left<\partial_n e, v_h-u\right>_{\Gamma_C}  - \left<\partial_n (v_h-u), e\right>_{\Gamma_C}
\end{align*}
and
\begin{align*}
\left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \partial_n
  (v_h-u_h) \right>_{\Gamma_C} = {}& \left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \partial_n
  (v_h-u) \right>_{\Gamma_C} \\ & + \left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \partial_n
  e \right>_{\Gamma_C}\\
= {}&\left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \partial_n
  (v_h-u) \right>_{\Gamma_C}\\ & + \gamma^{-1} \left<[P_\gamma u]_+ - [P_\gamma u_h]_+,
  P_\gamma e \right>_{\Gamma_C} \\
& + \gamma^{-1}\left<[P_\gamma u]_+ - [P_\gamma u_h]_+,
 e \right>_{\Gamma_C}
\end{align*}
we arrive at the identity
\begin{align} \nonumber
a(e,v_h-u_h) = {}&\left<\{\partial_n u\},\jump{v_h-u_h} \right>_{\mathcal{F}\setminus \mathcal{F}_{\Gamma_C}}+
\left<\partial_n e, v_h-u\right>_{\Gamma_C}
\\ \nonumber & - \left<\partial_n (v_h-u),e+ ([P_\gamma u]_+ - [P_\gamma u_h]_+)\right>_{\Gamma_C} \\ \nonumber &
-  \gamma^{-1} \left<[P_\gamma u]_+ - [P_\gamma u_h]_+,
  P_\gamma (u-u_h) \right>_{\Gamma_C} \\
& - \gamma^{-1}\left<e,[P_\gamma u]_+ - [P_\gamma u_h]_+\right>_{\Gamma_C}.\label{1st_step}
\end{align}
Observe now that the following relation holds using monotonicity and the
elementary relation $a^2+b^2+2ab= (a+b)^2$, with $a=\gamma^{-1/2}
(u-u_h)$ and $b=\gamma^{-1/2}([P_\gamma u]_+ - [P_\gamma u_h]_+)$,
\[\begin{array}{c}
- \gamma^{-1} \|e\|_{\Gamma_C}^2 - \gamma^{-1} \left<[P_\gamma u]_+ - [P_\gamma u_h]_+, P_\gamma e\right>_{\Gamma_C} - \gamma^{-1}\left<[P_\gamma u]_+ - [P_\gamma u_h]_+,
2 e \right>_{\Gamma_C} \\[3mm]
\leq - \gamma^{-1} \|e\|_{\Gamma_C}^2
 - \gamma^{-1} \|[P_\gamma u]_+ - [P_\gamma u_h]_+\|_{\Gamma_C}^2 -
 \gamma^{-1} \left<[P_\gamma u]_+ - [P_\gamma u_h]_+,
2 e \right>_{\Gamma_C} \\[3mm]
\leq -\|\gamma^{-\frac12}( [P_\gamma u_h]_++ u_h)\|_{\Gamma_C}^2.
\end{array}\]
We deduce the following bound
\begin{align}\nonumber
a(e,v_h-u_h) \leq  {}& \left<\{\partial_n u\},\jump{v_h-u_h} \right>_{\mathcal{F}\setminus \mathcal{F}_{\Gamma_C}}+
\left<\partial_n e, v_h-u\right>_{\Gamma_C} \\ \nonumber &
- \left<\partial_n (v_h-u), e+ ([P_\gamma u]_+ - [P_\gamma u_h]_+)\right>_{\Gamma_C} \\ \nonumber &
  -\|\gamma^{-\frac12}( [P_\gamma u_h]_++ u_h)\|_{\Gamma_C}^2
+  \gamma^{-1}\left<e,[P_\gamma u]_+ - [P_\gamma u_h]_+\right>_{\Gamma_C} \\ & +\gamma^{-1} \|e\|_{\Gamma_C}^2.\label{1st_step}
\end{align}
Choosing now $x_h \in V_h$ as in Lemma \ref{specfunc},
but with $\partial_n x_h\vert_F = \gamma^{-1} (\bar u - \bar
u_h)\vert_F= \gamma^{-1} \bar e\vert_F$ on faces $F \subset \Gamma_C$ we
obtain
\[
a_h(e,x_h) -\left<\{\partial_n u\},\jump{x_h} \right>_{\mathcal{F}}+
\gamma^{-1}\| \bar e\|_{\Gamma_C}^2
+
\left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \gamma^{-1} \bar e\right>_{\Gamma_C} = 0.
\]
Note that using orthogonality on the faces
\eqref{eq:condonu} we have
\[
\gamma^{-1}\| \bar e\|_{\Gamma_C}^2 = \gamma^{-1}\| e\|_{\Gamma_C}^2 - \gamma^{-1}\| \bar e -e\|_{\Gamma_C}^2
\]
and once again using orthogonality and also the contact condition
\begin{align*}
\left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \gamma^{-1} \bar e\right>_{\Gamma_C}
= {}& \left<[P_\gamma u]_+ - [P_\gamma u_h]_++ e, \gamma^{-1} e\right>_{\Gamma_C}\\
& -\left< [P_\gamma u_h]_++
  u_h, \gamma^{-1} \bar e-\gamma^{-1} e\right>_{\Gamma_C} \\
& - \gamma^{-1} \|\bar e- e\|_{\Gamma_C}^2.
\end{align*}
For the last term in the right hand side we may add and subtract
$v_h-\bar v_h$ and use the triangle inequality followed by the
interpolation properties of the projection onto piecewise constants
and a trace inequality to obtain
\begin{multline}\label{tracebound}
\gamma^{-1} \|\bar e -e\|_{\Gamma_C}^2 \leq C (\gamma^{-1} \|u - v_h\|_{\Gamma_C}^2 +
  \gamma^{-1} h^{-1} h^2 \|\nabla (v_h - u_h)\|_{h}^2) \\
\leq C (\|u - v_h\|_{1,C}^2+ \gamma^{-1} h^{-1} h^2 \|\nabla e\|_{h}^2)
\end{multline}
As a consequence
\begin{align}\nonumber
\gamma^{-1}\| e\|_{\Gamma_C}^2 +
\left<[P_\gamma u]_+ - [P_\gamma u_h]_+, \gamma^{-1} e\right>_{\Gamma_C}
\leq {}& \frac14\|\gamma^{-\frac12}(
[P_\gamma u_h]_++ u_h)\|_{\Gamma_C}^2 \\ \nonumber &
+ C (\|u - v_h\|_{1,C}^2+ \gamma^{-1} h^{-1} h^2 \|\nabla e\|_{h}^2)\\
& - a_h(e,x_h)+\left<\{\partial_n u\},\jump{x_h} \right>_{\mathcal{F}}.\label{infsup_bound}
\end{align}
Collecting the results of equations \eqref{coercivity1}, \eqref{splita1},
\eqref{1st_step} and \eqref{infsup_bound} and applying the Poincar\'e inequality
\eqref{poincare} leads to
\begin{align}\nonumber
\alpha \left(\frac{1}{2} -   C \frac{h}{\gamma} \right) \|e\|_{1,h}^2 + \frac{1}{2\gamma} \| ([P_\gamma u_h]_++
u_h)\|_{\Gamma_C}^2 \leq {}& - a(e,x_h) +
\left<\partial_n e, v_h-u\right>_{\Gamma_C} \\ \nonumber
&
- \left<  [P_\gamma u_h]_++ u_h, \partial_n (v_h -u)\right>_{\Gamma_C}\\ \nonumber & +\left<\{\partial_n u\},\jump{v_h-u_h} \right>_{\mathcal{F}_i}\\ \nonumber & +\left<\{\partial_n e\},\jump{x_h} \right>_{\mathcal{F}}\\  &  +C \left(1+\frac{h}{\gamma}\right)\|u - v_h\|_{1,\Gamma_C}^2.\label{eq:bound1}
\end{align}
Observe that $a(u_h,x_h) - \left<\{\partial_n u_h\},\jump{x_h}
\right>_{\mathcal{F}} = 0$ using integration by parts and the
construction of $x_h$. Then, once again by integration by parts, we have
\[
a(e,x_h) - \left<\{\partial_n e\},\jump{x_h} \right>_{\mathcal{F}}
 = (-\Delta u, x_h)_{\Omega_C} \leq \|\Delta u\|_{\Omega_C} \|x_h\|_{\Omega_C},
\]
where $\Omega_C$ is the set of elements with one face on
$\Gamma_C$. Let $h_C>0$ be the largest value such that
$\partial_{h_C} \Omega \cap \Omega_C \ne \emptyset$ and assume that
$h_C \leq t_C$.
Observe that by the construction of $x_h$ and adding and subtracting $v_h$ there holds
\begin{align*}
\|x_h\|_{\Omega_C} \lesssim h^{\frac12} h \gamma^{-1} \|\bar e\|_{\Gamma_C} \lesssim {}& h^{\frac12} h \gamma^{-1} \| e\|_{\Gamma_C} \\
\lesssim {}&
h^{\frac12} (h \gamma^{-1})(\|u-v_h\|_{\Gamma_C} + \| u_h - v_h\|_{\Gamma_C}).
\end{align*}
Let $w_h = u_h - v_h$, then by adding and subtracting $I_\text{cf}
w_h$ and applying the local trace inequality \eqref{trace} and the
standard global trace inequality for functions in $H^1(\Omega)$ we obtain
\begin{align*}
\|w_h\|_{\Gamma_C} \leq {}& \|w_h - I_\text{cf} w_h\|_{\Gamma_C} +
\|I_\text{cf} w_h\|_{\Gamma_C}\\
\lesssim {}&  h^{-\frac12} \|w_h - I_\text{cf} w_h\|_{h}+
\|w_h - I_\text{cf} w_h\|_{1,h} + \|w_h\|_{1,h}.
\end{align*}
Applying the discrete interpolation estimate \eqref{discrete_interp},
we then have
\[
\|w_h\|_{\Gamma_C} \lesssim \| w_h\|_{1,h}
\]
from which it follows that
\[
(h \gamma^{-1})  \| u_h - v_h\|_{\Gamma_C} \lesssim (h \gamma^{-1}) (\|e\|_{1,h}+\|u-v_h\|_{1,h}).
\]
For the factor $\|\Delta u\|_{\Omega_C}$ we use \eqref{eq:tracebound} to obtain the bound
\[
\|\Delta u\|_{\Omega_C} \lesssim h^{\frac12}\sup_{0\leq t \leq h_C}
\|\Delta u\|_{\partial_{t} \Omega} \leq h^{\frac12}  \|f\|_{L^2_\infty(\Omega)}.
\]
It follows that
\begin{equation}\label{eq:bound2}
a_h(e,x_h) - \left<\{\partial_n e\},\jump{x_h}
\right>_{\mathcal{F}} \lesssim h \|f\|_{L^2_\infty(\Omega)}(h \gamma^{-1}) (\|e\|_{1,h}+\|u-v_h\|_{1,h}).
\end{equation}
For the remaining terms of \eqref{eq:bound1} we have by first adding and
subtracting $v_h$ and using the mean
value property of the space $V_h$ and then applying the
Cauchy--Schwarz inequality followed by the arithmetic--geometric inequality,
\begin{equation}
\begin{array}{c}
\left<\partial_n e, v_h-u\right>_{\Gamma_C}
-\left<  [P_\gamma u_h]_++ u_h, \partial_n (v_h
  -u)\right>_{\Gamma_C} +\left<\{\partial_n u\},\jump{v_h-u_h}
\right>_{\mathcal{F}} \\[3mm]
=\left<\partial_n (u-v_h), v_h-u\right>_{\Gamma_C} + \left<\partial_n (v_h-u_h), v_h-u\right>_{\Gamma_C}\\
- \left<  [P_\gamma u_h]_++ u_h, \partial_n (v_h
  -u)\right>_{\Gamma_C}\\[3mm]
+\left<\{\partial_n (u - v_h)\},\jump{v_h -u_h}
\right>_{\mathcal{F}_i} \\[3mm]
\leq C \varepsilon^{-1} \|u -v_h\|_{1,C}^2  + \gamma \|\partial_n (u -v_h)\|_{\mathcal{F}_i}^2
+ \frac14 \gamma^{-1}\|[P_\gamma
u_h]_++ u_h\|_{\Gamma_C}^2 \\[3mm]
+ \varepsilon (\gamma
\|\partial_n (v_h-u_h) \|^2_{\Gamma_C}+\gamma^{-1} \|\jump{v_h-u_h}\|_{\mathcal{F}_i}^2).
\end{array}
\end{equation}
Using the zero average property of the nonconforming space,
elementwise trace inequalities and a triangular inequality we obtain
\begin{align*}
\gamma \|\partial_n (v_h-u_h)
\|^2_{\Gamma_C}+\gamma^{-1} \|\jump{v_h-u_h}\|_{\mathcal{F}_i}^2 \leq {}& C_{\gamma_0}
\|v_h-u_h\|^2_{1,h} \\
\leq {}& 2 C_{\gamma_0} (\|e\|^2_{1,h}+\|v_h-u\|^2_{1,h}).
\end{align*}
Observe that $C_{\gamma_0}$ is constant for $\gamma_0 = \gamma/h$ fixed, but it
can not be made small by choosing $\gamma_0$ large (ore small). Instead we choose
$\varepsilon< \alpha/(16 C_{\gamma_0})$ to obtain the bound
\begin{multline}\label{eq:bound3}
\left<\partial_n e, v_h-u\right>_{\Gamma_C}
- \left<  [P_\gamma u_h]_++ u_h, \partial_n (v_h
  -u)\right>_{\Gamma_C} +\left<\{\partial_n u\},\jump{v_h-u_h}
\right>_{\mathcal{F}} \\
\leq  C \|u -v_h\|_{1,C}^2  + \gamma \|\partial_n (u -v_h)\|_{\mathcal{F}_i}^2+ \frac{1}{4\gamma} \|([P_\gamma
u_h]_++ u_h)\|_{\Gamma_C}^2+ \frac{\alpha}{8} \|e\|_{1,h}^2.
\end{multline}
Collecting the above bounds \eqref{eq:bound1}, \eqref{eq:bound2} and
\eqref{eq:bound3}, choosing $h \gamma^{-1}$ and $\varepsilon$
small enough (i.e. $\gamma_0$ large enough) we conclude that for all $v_h \in V_h$
\begin{align*}
\alpha^{\frac12} \|e\|_{1,h} + \gamma^{-\frac12}\| [P_\gamma
u_h]_++  u_h\|_{\Gamma_C}
\lesssim {}& (\|u - v_h\|_{1,C} + h^{\frac12}
\|\partial_n (u -v_h)\|_{\mathcal{F}_i}) \\
& + \frac{h}{\alpha^{\frac12}} \|f\|_{L^2_\infty(\Omega)}.
\end{align*}
\end{proof}
\begin{corollary}
Under the assumptions of Theorem \ref{thm:apriori} there holds
\begin{equation}\label{estimate_2}
\alpha^{\frac12} \|e\|_{1,h} + \gamma^{-\frac12}\| [P_\gamma
u_h]_++  u_h\|_{\Gamma_C}
\lesssim h^{\frac12+\nu} \|u\|_{H^{\frac32+\nu}(\Omega)}
+ \frac{h}{\alpha^{\frac12}} \|f\|_{L^2_\infty(\Omega)}.
\end{equation}
\end{corollary}
\begin{proof}
This is immediate from the best approximation result of Theorem
\ref{thm:apriori} and the existence of an optimal approximation of $u$
in $V_h$. Since the Crouzeix-Raviart space contains the
$H^1$-conforming space of piecewise affine functions we may take the
standard Lagrange interpolant $i_h u$ for which there holds (see \cite{DS80,CHR15}).
\[
\|u - i_h u\|_{1,C} + h^{\frac12}
\|\partial_n (u -i_h u)\|_{\mathcal{F}_i}\lesssim h^{\frac12+\nu} \|u\|_{H^{\frac32+\nu}(\Omega)}.
\]
\end{proof}
\section{Numerical example}
Here we will consider two examples on the unit square,
$\Omega=[0,1]^2$. We have used the package FreeFEM++ for the
computations \cite{He12}. We let $\Gamma_D=[0,1]\times\{1\}$,
$\Gamma_N=\{0\}\times [0,1] \cup  \{1\}\times [0,1]$ and $\Gamma_C
=[0,1]\times\{0\}$. In all cases we use a fixed point iteration to
compute the solution and we iterate until the relative $H^1$-error of
the increment if smaller than $10^{-5}$.

In the graphics below the $H^1$-error is marked with squares,
the $L^2$-error with circles and finally the residual quantity $\|u_h +
[P_\gamma(u_h)]_+\|_{\Gamma_C}$ by triangles. Dotted lines are
reference lines with slopes $O(h)$ (upper)  and $O(h^2)$ (lower).

\subsection{Problem with known solution}\label{sec:known}
We first consider an example where the exact solution is known,
\[
u(x,y) := -\cos(\pi/2\,y)\,\sin ^2 (\pi\,x)
\]
with the right hand side
\[
f=\frac{\pi^2}{4}\cos(\pi/2 y)\sin ^2 (\pi x)-2 \pi^2\cos(\pi/2\, y)\cos(2\pi\,x).
\]
Observe that this actually is a solution to a linear Neumann problem,
but we can still use it as a solution to the nonlinear problem. The
contact takes place in the set $\{0,1\}$. We
solve it on a sequence of Union Jack style meshes (see the left plot
of Figure \ref{mesh_solution} for an example) with $h/\sqrt{2} \in \{ 2^{-(i+4)}
\}_{i=0}^{3}$. The result is presented in the left
graphic of Figure \ref{fig:exa2}. As expected we observe first order
convergence of the relative $H^1$-error and second order
convergence of the relative  $L^2$-error. As expected the residual quantity has
a convergence close to $\mathcal{O}(h^{\frac32})$.
\subsection{Problem with unknown solution}\label{sec:unknown}
Here we propose the problem obtained by setting
\begin{equation}\label{sourceterm}
f= ( 2 \pi N)^2 \cos(2 \pi N x), N \in \{3,5\}.
\end{equation}
We solve the problem on a mesh with $h=2\sqrt{2} \cdot 10^{-3}$ (a
$500\times 500$ mesh), using the
nonsymmetric Nitsche method from \cite{CHR15} and piecewise quadratic
conforming approxmation to obtain a reference
solution. We report the contour lines of the solution for $N=5$ in the
right plot of Figure \ref{mesh_solution}. Then we solve the problem for $h/\sqrt{2} \in \{ 2^{-(i+4)}
\}_{i=0}^{4}$ and compute the same quantities as in
the previous case. The convergences are reported in the right
graphic of Figure \ref{fig:exa2}. The cases $N=3$ and $N=5$ are
                                 distinguished by the use of white
                                 and black markers respectively,
                                 similar convergence orders were
                                 observed in both cases.
First order convergence is observed for the error in the $H^1$-norm
and second order convergence in the $L^2$--error. As before the
convergence of $\|u_h +
[P_\gamma(u_h)]_+\|_{\Gamma_C}$ is approximately
$\mathcal{O}(h^{\frac32})$.
\begin{figure}
\begin{center}
\hspace{-1cm}
\includegraphics[angle=90,height=6cm]{mesh.pdf}\hspace{-2cm}\includegraphics[trim=0
60 0 60,clip,angle=90,height=6cm
]{exact_sol.pdf}
\caption{Left: example of a computational mesh. Right: the fine mesh solution
  using \eqref{sourceterm} with $N=5$.}\label{mesh_solution}
\end{center}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[height=6cm]{exact_graph.pdf}\hspace{0.5cm}\includegraphics[height=6cm]{no_exact_graph.pdf}
\caption{Convergence plots of the two numerical examples. Left the
  problem from Section \ref{sec:known}. Right from Section \ref{sec:unknown}. Dotted lines
are reference curves. Upper $O(h)$, lower $O(h^2)$. Square markers -
$H^1$-error; circle markers - $L^2$--error; triangle markers -
satisfaction of the contact condition,
$\|u_h+[P_\gamma(u_h)]_+\|_{\Gamma_C}$. In the right plot, white
markes indicate $N=3$ and black markers $N=5$.}\label{fig:exa2}
\end{center}
\end{figure}
\section{Conclusion}
We have proved that the nonsymmetric Nitsche method of \cite{Bu12} may
be applied in the framework of \cite{CH13b,CHR15} for the approximation
of unilateral contact problems. An optimal error estimate for a method
using a nonconforming finite element space was derived
combining tools from the inf-sup analysis of \cite{Bu12}
with the monotonicity argument of \cite{CH13b,CHR15}. The theoretical
results were illustrated in two numerical examples. Herein we only
considered the simplified case of the Signorini problem based on
Poisson's equation, but the extention to elasticity may be feasible
using the results from \cite{BB16}. Another natural question is if the
above analysis can be extended to the case of standard conforming
elements. The difficulty here is to handle the non-local character of
the function necessary for the stability argument, adding a layer of
terms that must be estimated. Numerical
experiments not reported here indicate that the conforming method also
performs well.
\bibliographystyle{plain}