\section{Introduction}

The wire-tap channel models a communication system in which a
source node wishes to transmit confidential information to a
destination node and wishes to keep a wire-tapper as ignorant of
this information as possible. This channel was introduced by Wyner
in \cite{Wyner75}, where the secrecy capacity was given. The
secrecy capacity of the Gaussian wire-tap channel was given in
\cite{Leung78}. The wire-tap channel was considered recently for
fading and multiple antenna channels in \cite{Parada05,Barros06}.
A more general model of the wire-tap channel was studied by
Csisz$\acute{\text{a}}$r and K$\ddot{\text{o}}$rner in
\cite{Csiszar78}, where the source node also has a common message
for both receivers in addition to the confidential message for
only one receiver. This channel is regarded as the broadcast
channel with confidential messages (BCC). The
capacity-equivocation region and the secrecy capacity region of
the discrete memoryless BCC were characterized in
\cite{Csiszar78}. The BCC was further studied recently in
\cite{Liu06}, where the source node transmits two confidential
message sets for two receivers, respectively.

In this paper, we investigate the fading BCC, which is based on
the BCC studied in \cite{Csiszar78} with the channels from the
source node to receivers 1 and 2 corrupted by multiplicative
fading gain coefficients in addition to additive Gaussian noise
terms. We assume that the channel state information (CSI) is known
at both the transmitter and the receivers. The CSI at the
transmitter (the source node) can be realized by reliable feedback
from the two receivers, who are supposed to receive information
from the source node.

The fading BCC we study in this paper relates to or generalizes a
few channels that have been previously studied in the literature.
Compared to the fading broadcast channel studied in
\cite{Hugh95,Tse97,Li01a,Li01,Jindal04}, the fading BCC requires a
secrecy constraint that the confidential information for one
receiver must be as secret as possible from the other receiver.
The fading BCC includes the fading wire-tap channel studied in
\cite{Liang06allerton_a,Li06} and \cite{Gopa06} (full CSI case) as
a special case, because the fading BCC assumes that the source
node has a common message for both receivers in addition to the
confidential message for receiver 1. The fading BCC also includes
the parallel Gaussian wire-tap channel studied in \cite{Yama91}
(the case where wire-tappers cooperate) as a special case for the
same reason as above and also because a power constraint is
assumed for each subchannel in \cite{Yama91}.

In this paper, we first study the parallel Gaussian BCC, which
serves as a basic model that includes the fading BCC as a special
case. We show that the secrecy capacity region of the parallel
Gaussian BCC is a union over the rate regions achieved by all
source power allocations (among the parallel subchannels).
Moreover, we derive the optimal power allocations that achieve the
boundary of the secrecy capacity region and hence completely
characterize this region. In particular, we establish the secrecy
capacity region of the Gaussian case of the
Csisz$\acute{\text{a}}$r-K$\ddot{\text{o}}$rner BCC model.

We then apply our results to study the fading BCC, which can be
viewed as the parallel Gaussian BCC with each fading state
corresponding to one subchannel. Thus, the secrecy capacity region
of the parallel Gaussian BCC applies to the fading BCC. In
particular, since the source node knows the CSI, it can
dynamically change its transmission power with channel state
realization to achieve the boundary of the secrecy capacity
region.

In this paper, we use $X_{[1,L]}$ to indicate a group of variables
$(X_1,X_2,\ldots,X_L)$, and use $X_{[1,L]}^n$ to indicate a group
of vectors $(X_1^n,X_2^n,\ldots,X_L^n)$, where $X_l^n$ indicates
the vector $(X_{l1},X_{l2},\ldots,X_{ln})$. Throughout the paper,
the logarithmic function is to the base $2$.

The paper is organized as follows. We first study the parallel
Gaussian BCC. We then study the fading BCC and demonstrate our
results with numerical examples. We conclude the paper with a few
remarks.

\section{Parallel Gaussian BCCs}\label{sec:gau}

We consider the parallel Gaussian BCC with $L$ independent
subchannels (see Fig.~\ref{fig:bcc_para}), where there are one
source node and two receivers. As in the BCC, the source node
wants to transmit common information to both receivers and
confidential information to receiver 1. Moreover, the source node
wishes to keep the confidential information to be as secret as
possible from receiver 2.

For each subchannel, outputs at receivers 1 and 2 are corrupted by
additive Gaussian noise terms. The channel input-output
relationship is given by
\begin{equation}\label{eq:gaumodel}
Y_{li}=X_{li}+W_{li}, \hspace{5mm} Z_{li}=X_{li}+V_{li}, \hspace{5mm} \text{for
}\; l=1,\ldots,L
\end{equation}
where $i$ is the time index. For $l=1,\ldots,L$, the noise
processes $\{W_{li}\}$ and $\{V_{li}\}$ are independent
identically distributed (i.i.d.) with the components being
Gaussian random variables with the variances $\mu_l^2$ and
$\nu_l^2$, respectively. We assume $\mu_l^2 < \nu_l^2$ for $l\in
A$ and $\mu_l^2 \ge \nu_l^2$ for $l \in A^c$. The channel input
sequence $X_{[1,L]}^n$ is subject to the average power constraints
$P$, i.e.,
\begin{equation}\label{eq:power}
\frac{1}{n}\sum_{i=1}^n \sum_{l=1}^L \mathrm{E} \left[X_{li}^2\right]
\leq P.
\end{equation}

\begin{figure}
\begin{center}
\includegraphics[width=8cm,clip]{bcc_para.eps}
\caption{Parallel BCC} \label{fig:bcc_para}
\end{center}
\end{figure}

A $\left( 2^{nR_0},2^{nR_1}, n \right)$ code consists of the
following:
\begin{list}{$\bullet$}{\topsep=0ex \leftmargin=5mm
\rightmargin=2mm \itemsep=0mm}

\item Two message sets: $\mathcal{W}_0=\{1,2,\ldots,2^{nR_0}\}$ and
$\mathcal{W}_1=\{1,2,\ldots,2^{nR_1}\}$ with the messages $W_0$ and $W_1$
uniformly distributed over the sets $\mathcal{W}_0$ and $\mathcal{W}_1$,
respectively;

\item One (stochastic) encoder at the source node that maps each
message pair $(w_0,w_1) \in (\mathcal{W}_0,\mathcal{W}_1) $ to a codeword
$x_{[1,L]}^n $;

\item Two decoders: one at receiver 1 that maps a received
sequence $y_{[1,L]}^n $ to a message pair $(\hat{w}^{(1)}_0,\hat{w}_1) \in
\left(\mathcal{W}_0,\mathcal{W}_1 \right)$; the other at receiver 2 that maps a
received sequence $z_{[1,L]}^n $ to a message $\hat{w}^{(2)}_0 \in
\mathcal{W}_0$.
\end{list}

The secrecy level of the confidential message $W_1$ achieved at
receiver 2 is measured by the following {\em equivocation rate}:
\begin{equation}
\frac{1}{n} H\left(W_1 \Big|Z_{[1,L]}^n\right).
\end{equation}

A rate-equivocation triple $(R_0,R_1,R_e)$ is {\em achievable} if
there exists a sequence of $\left(2^{nR_0},2^{nR_1}, n \right)$
codes with the average probability of error goes to zero as $n$
goes to infinity and with the equivocation rate $R_e$ satisfying
\begin{equation}
R_e \leq \lim_{n\rightarrow \infty} \frac{1}{n} H\left(W_1
\Big|Z_{[1,L]}^n \right).
\end{equation}

In this paper, we focus on the case in which perfect secrecy is
achieved, i.e., receiver 2 does not obtain any information about
the message $W_1$. This happens if $R_e=R_1$. The {\em secrecy
capacity region} $\mathcal{C}_s$ is defined to be the set that includes
all $(R_0,R_1)$ such that $(R_0,R_1,R_e=R_1)$ is achievable, i.e.,
\begin{equation}
\mathcal{C}_s=\Big\{(R_0,R_1): (R_0,R_1,R_e=R_1) \text{ is achievable}
\Big\}.
\end{equation}

For the parallel Gaussian BCC, we characterize the secrecy
capacity region in the following Theorems \ref{th:gausec} and
\ref{th:gauoptsl}.
\begin{theorem}\label{th:gausec}
The secrecy capacity region of the parallel Gaussian BCC is
\begin{equation}\label{eq:gausec}
\begin{split}
& \mathcal{C}^{g}_s =\bigcup_{\underline{p} \in \mathcal{P}} \\
& \left\{
\begin{array}{l}
(R_0,R_1): \\
 R_0 \leq \min \\
\Bigg\{ \displaystyle \sum\limits_{l\in A}
\frac{1}{2}\log\left(1+\frac{p_{l0}}{\mu_l^2+p_{l1}}\right)
+\sum\limits_{l\in A^c} \frac{1}{2}\log\left(1+\frac{p_{l0}}{\mu_l^2}\right), \\
\displaystyle \hspace{3mm} \sum\limits_{l\in A}
\frac{1}{2}\log\left(1+\frac{p_{l0}}{\nu_l^2+p_{l1}}\right)
+\sum\limits_{l\in A^c} \frac{1}{2}\log\left(1+\frac{p_{l0}}{\nu_l^2}\right) \Bigg\} \\
\displaystyle R_1 \leq \sum\limits_{l \in A} \left[
\frac{1}{2}\log\left(1+\frac{p_{l1}}{\mu_l^2}\right)
-\frac{1}{2}\log\left(1+\frac{p_{l1}}{\nu_l^2}\right)\right]\\
\end{array} \right\}
\end{split}
\end{equation}
where $\underline{p}$ is the power allocation vector, which consists of
$(p_{l0}, p_{l1})$ for $l\in A$ and $p_{l0}$ for $l \in A^c$ as
components. The set $\mathcal{P}$ includes all power allocation vectors
$\underline{p}$ that satisfy the power constraint \eqref{eq:power}, i.e.,
\begin{equation}\label{eq:uppower}
\mathcal{P}:=\left\{ \underline{p}: \sum_{l\in A} [p_{l0}+p_{l1}]+\sum_{l\in A^c}
p_{l0} \leq P \right\}.
\end{equation}
\end{theorem}
\begin{proof}
The achievability proof uses the following scheme. For $l \in A$,
the source node transmits both common and confidential messages
using the superposition encoding, and $p_{l0}$ and $p_{l1}$
indicate the powers allocated to transmit the common and private
messages, respectively. For $l \in A^c$, the source node transmits
only the common message, and $p_{l0}$ indicates the power to
transmit the common message. The converse proof involves clever
use of the entropy power inequality. Details of the proof can be
found in \cite{Liang06novit}.
\end{proof}

In particular, the converse proof for the parallel Gaussian BCC
also gives the converse proof for the Gaussian BCC ($L=1$), and
hence establishes the following secrecy capacity region for the
Gaussian case of the
Csisz$\acute{\text{a}}$r-K$\ddot{\text{o}}$rner BCC model.
\begin{corollary}\label{cor:cksec}
The secrecy capacity region of the Gaussian BCC is
\begin{equation}\label{eq:cksec}
\begin{split}
& \mathcal{C}_s =\bigcup_{0 \leq \beta \leq 1} \\
& \left\{
\begin{array}{l}
(R_0,R_1): \\
\displaystyle R_0 \leq \min \Bigg\{ \frac{1}{2}\log\left(1+
\frac{(1-\beta)P}{\mu^2+\beta P}\right), \\
\displaystyle  \hspace{2cm} \frac{1}{2}\log\left(1+
\frac{(1-\beta)P}{\nu^2+\beta P}\right) \Bigg\}\\
\displaystyle R_1 \leq \left[\frac{1}{2}\log\left(1+\frac{\beta
P}{\mu^2}\right) -\frac{1}{2}\log\left(1+\frac{\beta
P}{\nu^2}\right)\right]^+
\end{array} \right\}
\end{split}
\end{equation}
where $(x)^+=x$ if $x > 0$ and $(x)^+=0$ if $x \leq 0$.
\end{corollary}

Note that the secrecy capacity region of the parallel Gaussian BCC
given in \eqref{eq:gausec} is convex. Hence the boundary of this
region can be characterized as follows. For every point
$(R^*_0,R^*_1)$ on the boundary, there exist $\gamma_0
>0$ and $\gamma_1>0$ such that $(R^*_0,R^*_1)$ is the solution to
the following problem
\begin{equation}
\max_{(R_0,R_1) \in \mathcal{C}_s^{g}} \Big[\gamma_0 R_0 + \gamma_1
R_1\Big].
\end{equation}
Therefore, the power allocation $\underline{p}^*$ that achieves the boundary
point $(R^*_0,R^*_1)$ is the solution to the following problem
\begin{equation}\label{eq:gauopt}
\begin{split}
\max_{\underline{p} \in \mathcal{P}} & \Big[\gamma_0 R_0(\underline{p}) + \gamma_1 R_1(\underline{p})\Big] \\
& = \max_{\underline{p} \in \mathcal{P}} \Big[\gamma_0 \min \left\{
R_{01}(\underline{p}),R_{02}(\underline{p}) \right\} + \gamma_1 R_1(\underline{p})\Big]
\end{split}
\end{equation}
where $R_0(\underline{p})$ and $R_1(\underline{p})$ indicate the bounds on $R_0$ and
$R_1$ in \eqref{eq:gausec}. We further define $R_{01}(\underline{p})$ and
$R_{02}(\underline{p})$ to be the two terms over which the minimization in
$R_0(\underline{p})$ is taken, i.e., $R_0(\underline{p})=\min
\{R_{01}(\underline{p}),R_{02}(\underline{p}) \}$. The solution to \eqref{eq:gauopt}
is given in the following theorem. The proof can be found in
\cite{Liang06novit} and is omitted here due to space limitations.
\begin{theorem}\label{th:gauoptsl}
The optimal power allocation vector $\underline{p}^*$ that solves
\eqref{eq:gauopt} and hence achieves the boundary of the secrecy
capacity region of the parallel Gaussian BCC has one of the
following three forms.

\begin{small}
Case 1: $\underline{p}^*=\underline{p}^{(1)}$ if the following $\underline{p}^{(1)}$ satisfies
$R_{01}\left(\underline{p}^{(1)}\right) < R_{02}\left(\underline{p}^{(1)}\right)$.
\begin{equation*}
\begin{split}
& \text{For} \;\; l \in A, \;\; \text{if} \;\;
\frac{\gamma_1}{\gamma_0}
> \frac{\nu_l^2}{\nu_l^2-\mu_l^2}, \\
& p^{(1)}_{l0}=\left(\frac{\gamma_0}{2\lambda\ln
2}-\left(\frac{\gamma_1}{\gamma_0}-1
\right)(\nu_l^2-\mu_l^2)\right)^+,
\\
& p^{(1)}_{l1}= \\
& \Bigg(\min \Bigg\{\frac{1}{2}\sqrt{(\nu_l^2-\mu_l^2)
\left(\nu_l^2-\mu_l^2+\frac{2\gamma_1}{\lambda\ln
2}\right)}-\frac{1}{2}\left( \mu_l^2+\nu_l^2 \right), \\
& \hspace{1.3cm}\frac{\gamma_1}{\gamma_0}(\nu_l^2-\mu_l^2)-\nu_l^2
\Bigg\}\Bigg)^+, \\
& \text{if}\;\; \frac{\gamma_1}{\gamma_0} \leq
\frac{\nu_l^2}{\nu_l^2-\mu_l^2}, \;\;
p^{(1)}_{l0}=\left(\frac{\gamma_0}{2\lambda\ln
2}-\mu_l^2\right)^+, \hspace{5mm} p^{(1)}_{l1}=0; \\
& \text{For}\;\; l \in A^c, \;\; p^{(1)}_{l0}= \left(
\frac{\gamma_0}{2\lambda\ln 2}-\mu_l^2 \right)^+ \hspace{2.4cm}
\end{split}
\end{equation*}
where $\lambda$ is chosen to satisfy the power constraint
\begin{equation}\label{eq:gaupower}
\sum_{l\in A} [p_{l0}+p_{l1}]+\sum_{l\in A^c} p_{l0} \leq P.
\end{equation}

Case 2: $\underline{p}^*=\underline{p}^{(2)}$ if the following $\underline{p}^{(2)}$ satisfies
$R_{01}\left(\underline{p}^{(2)}\right) > R_{02}\left(\underline{p}^{(2)}\right)$.
\begin{equation*}\label{eq:gauopt2}
\begin{split}
& \text{For} \;\; l \in A, \;\; \text{if} \;\;
\frac{\gamma_1}{\gamma_0}
> \frac{\mu_l^2}{\nu_l^2-\mu_l^2}, \\
& p^{(2)}_{l0}=\left(\frac{\gamma_0}{2\lambda\ln
2}-\left(\frac{\gamma_1}{\gamma_0}+1
\right)(\nu_l^2-\mu_l^2)\right)^+,
\\
& p^{(2)}_{l1}= \\
& \Bigg(\min \Bigg\{\frac{1}{2}\sqrt{(\nu_l^2-\mu_l^2)
\left(\nu_l^2-\mu_l^2+\frac{2\gamma_1}{\lambda\ln 2}\right)}
-\frac{1}{2}\left( \mu_l^2+\nu_l^2 \right), \\
& \hspace{1.3cm}
\frac{\gamma_1}{\gamma_0}(\nu_l^2-\mu_l^2)-\mu_l^2 \Bigg\}\Bigg)^+, \\
& \text{if}\;\; \frac{\gamma_1}{\gamma_0} \leq
\frac{\mu_l^2}{\nu_l^2-\mu_l^2},
\;\;\; p^{(2)}_{l0}=\left(\frac{\gamma_0}{2\lambda\ln 2}-\nu_l^2\right)^+, \hspace{5mm} p^{(1)}_{l1}=0; \\
& \text{For}\;\; l \in A^c, \;\; p^{(2)}_{l0}= \left(
\frac{\gamma_0}{2\lambda\ln 2}-\nu_l^2 \right)^+
\end{split}
\end{equation*}
where $\lambda$ is chosen to satisfy \eqref{eq:gaupower}.

Case 3: $\underline{p}^*=\underline{p}^{(\alpha)}$ if there exists $0 \leq \alpha \leq
1$ such that the following $\underline{p}^{(\alpha)}$ satisfies
$R_{01}\left(\underline{p}^{(\alpha)}\right)=
R_{02}\left(\underline{p}^{(\alpha)}\right)$.
\begin{equation*}
\begin{split}
& \text{For} \;\; l \in A, \;\; \text{if} \;\;
\frac{\gamma_1}{\gamma_0}
> \frac{\alpha\nu_l^2+\bar{\alpha}\mu_l^2}{\nu_l^2-\mu_l^2}, \\
&
p^{(\alpha)}_{l0}=\Bigg(\frac{1}{2}\sqrt{\left(\nu_l^2-\mu_l^2-\frac{\gamma_0}{2\ln
2 \lambda}\right)^2+\frac{2\alpha\gamma_0}{\lambda\ln
2}(\nu_l^2-\mu_l^2)}\\
& \hspace{1.4cm} +\frac{\gamma_0}{4\ln 2
\lambda}-\left(\frac{\gamma_1}{\gamma_0}-\alpha+\frac{1}{2}
\right)(\nu_l^2-\mu_l^2)\Bigg)^+,
\\
& p^{(\alpha)}_{l1}= \\
& \Bigg(\min \Bigg\{\frac{1}{2}\sqrt{(\nu_l^2-\mu_l^2)
\left(\nu_l^2-\mu_l^2+\frac{2\gamma_1}{\lambda\ln 2}\right)}
-\frac{1}{2}\left( \mu_l^2+\nu_l^2 \right), \\
& \hspace{1.3cm}
\frac{\gamma_1}{\gamma_0}(\nu_l^2-\mu_l^2)-(\alpha\nu_l^2+\bar{\alpha}\mu_l^2)
\Bigg\}\Bigg)^+, \\
 & \text{if}\;\; \frac{\gamma_1}{\gamma_0} \leq
\frac{\alpha\nu_l^2+\bar{\alpha}\mu_l^2}{\nu_l^2-\mu_l^2}, \\
&
p^{(\alpha)}_{l0}=\Bigg(\frac{1}{2}\sqrt{\left(\nu_l^2-\mu_l^2-\frac{\gamma_0}{2\ln
2 \lambda}\right)^2+\frac{2\alpha\gamma_0}{\lambda\ln
2}(\nu_l^2-\mu_l^2)} \\
&
\hspace{1.3cm}-\frac{1}{2}\left(\mu_l^2+\nu_l^2-\frac{\gamma_0}{2\ln
2\lambda} \right) \Bigg)^+, \\
& p^{(\alpha)}_{l1}=0; \\
& \text{For}\;\; l \in A^c, \\
& p^{(\alpha)}_{l0}=
\Bigg(\frac{1}{2}\sqrt{\left(\nu_l^2-\mu_l^2-\frac{\gamma_0}{2\ln
2 \lambda}\right)^2+\frac{2\alpha\gamma_0}{\lambda\ln
2}(\nu_l^2-\mu_l^2)}
\\
&
\hspace{1.3cm}-\frac{1}{2}\left(\mu_l^2+\nu_l^2-\frac{\gamma_0}{2\ln
2\lambda} \right) \Bigg)^+
\end{split}
\end{equation*}
where $\lambda$ is chosen to satisfy \eqref{eq:gaupower}.
\end{small}
\end{theorem}

Based on Theorem \ref{th:gauoptsl}, we provide the following
algorithm to search the optimal $\underline{p}^*$.
\begin{center}
\begin{small}
Algorithm to search $\underline{p}^*$ that solves \eqref{eq:gauopt}
\begin{tabular}{ll}
\hline \\
 Step 1. & \small Find $\underline{p}^{(1)}$ given in Case 1 in Theorem \ref{th:gauoptsl}. \\
& \small If $R_{01}\left(\underline{p}^{(1)}\right) <
R_{02}\left(\underline{p}^{(1)}\right)$, then $\underline{p}^*=\underline{p}^{(1)}$ and finish. \\
& \small Otherwise, go to Step 2. \\
Step 2. & \small Find $\underline{p}^{(2)}$ given in Case 2 in Theorem \ref{th:gauoptsl}. \\
& \small If $R_{01}\left(\underline{p}^{(2)}\right)>
R_{02}\left(\underline{p}^{(2)}\right)$,
then $\underline{p}^*=\underline{p}^{(2)}$ and finish. \\
& \small Otherwise, go to Step 3. \\
Step 3. & For a given $\alpha$, find $\underline{p}^{(\alpha)}$ given in
Case 3 in Theorem \ref{th:gauoptsl}. \\
& \small Search over $0 \leq \alpha \leq 1$ to find $\alpha$ that
satisfies \\
& $R_{01}\left(\underline{p}^{(\alpha)}\right)=
R_{02}\left(\underline{p}^{(\alpha)}\right)$. Then $\underline{p}^*=\underline{p}^{(\alpha)}$ and finish. \\
\hline
\end{tabular}
\end{small}
\end{center}

A numerical example that demonstrates power allocations following
from three cases is given in Section \ref{sec:ergodic}.
\section{Fading BCCs}\label{sec:ergodic}

In this section, we study the fading BCC, where the channel
input-output relationship is given by
\begin{equation}\label{eq:fdmodel}
Y_i = h_{1i} X_i+W_i, \hspace{5mm} Z_i = h_{2i} X_i+V_i
\end{equation}
where $i$ is the time index. The channel gain coefficients
$h_{1i}$ and $h_{2i}$ are proper complex random variables. We
define $\underline{h}_i:=(h_{1i},h_{2i})$, and assume $\{\underline{h}_i\}$ is a
stationary and ergodic vector random process. The noise processes
$\{W_i\}$ and $\{V_i\}$ are i.i.d.\ proper complex Gaussian with
$W_i$ and $V_i$ having variances $\mu^2$ and $\nu^2$,
respectively. The input sequence $\{X_i \}$ is subject to the
average power constraint $P$, i.e., $\frac{1}{n}\sum_{i=1}^n
\mathrm{E}\big[ X^2_i \big]\leq P$.

We assume that the channel state information (i.e., the
realization of $\underline{h}_i$) is known at both the transmitter and the
receivers instantaneously. The fading BCC can be viewed as a
parallel Gaussian BCC with each fading state corresponding to one
subchannel. Thus, the following secrecy capacity region of the
fading BCC follows from Theorem \ref{th:gausec}.
\begin{corollary}\label{cor:fdsec}
The secrecy capacity region of the fading BCC is
\begin{equation}\label{eq:fdsec}
\begin{split}
& \mathcal{C}_s =\bigcup_{(p_0(\underline{h}),p_1(\underline{h})) \in \mathcal{P}} \\
& \left\{
\begin{array}{l}
(R_0,R_1): \\
\displaystyle R_0 \leq \min \Bigg\{ \mathrm{E}_{\underline{h} \in
A}\log\left(1+\frac{p_0(\underline{h})|h_1|^2}{\mu^2+p_1(\underline{h})|h_1|^2}\right)\\
\displaystyle \hspace{2cm} +\mathrm{E}_{\underline{h} \in A^c}
\log\left(1+\frac{p_0(\underline{h})|h_1|^2}{\mu^2}\right), \\
\displaystyle \hspace{2.cm} \mathrm{E}_{\underline{h} \in A}
\log\left(1+\frac{p_0(\underline{h})|h_2|^2}{\nu^2+p_1(\underline{h})|h_2|^2}\right)
\\
\displaystyle \hspace{2cm} +\mathrm{E}_{\underline{h}
\in A^c}\log\left(1+\frac{p_0(\underline{h})|h_2|^2}{\nu^2}\right) \Bigg\} \\
\displaystyle R_1 \leq \mathrm{E}_{\underline{h} \in A} \Bigg[
\log\left(1+\frac{p_1(\underline{h})|h_1|^2}{\mu^2}\right) \\
\displaystyle \hspace{2cm}-\log\left(1+\frac{p_1(\underline{h})|h_2|^2}{\nu^2}\right)\Bigg]\\
\end{array} \right\}.
\end{split}
\end{equation}
where $A:= \Big\{\underline{h}: \frac{|h_1|^2}{\mu^2} >
\frac{|h_2|^2}{\nu^2} \Big\}$. The random vector $\underline{h}=(h_1,h_2)$
has the same distribution as the marginal distribution of the
process $\{\underline{h}_i\}$ at one time instant. The functions $p_0(\underline{h})$
and $p_1(\underline{h})$ indicate the source powers allocated to transmit
the common and confidential messages, respectively. The set $\mathcal{P}$
is defined as
\begin{equation}\label{eq:fdpowerset}
\mathcal{P}=\Big\{(p_0(\underline{h}),p_1(\underline{h})): \mathrm{E}_A
\left[p_0(\underline{h})+p_1(\underline{h})\right]+\mathrm{E}_{A^c} [p_0(\underline{h})] \leq P \Big\}.
\end{equation}
\end{corollary}

From the bound on $R_1$ in \eqref{eq:fdsec}, it can be seen that
as long as $A$ is not a zero probability event, positive secrecy
rate can be achieved. Since fading introduces more randomness to
the channel, it is more likely that the channel from the source
node to receiver 1 is better than the channel from the source node
to receiver 2 for some channel states, and hence positive secrecy
capacity can be achieved by exploiting these channel states.

Since the source node is assumed to know the channel state
information, it can allocate its power according to the
instantaneous channel realization to achieve the best performance,
i.e., the boundary of the secrecy capacity region. Such optimal
power allocations can be derived from Theorem \ref{th:gauoptsl}.
The details can be found in \cite{Liang06novit}.
\begin{remark}
If the source node does not have common messages for both
receivers, and only has confidential messages for receiver 1, the
fading BCC becomes the fading wire-tap channel. For this channel,
Corollary \ref{cor:fdsec} and Theorem \ref{th:gauoptsl} give the
secrecy capacity and the optimal source power allocation obtained
in \cite{Liang06allerton_a,Li06} and \cite{Gopa06} (full CSI
case).
\end{remark}

We now provide numerical results for the fading BCC. We consider
the Rayleigh fading BCC, where $h_1$ and $h_2$ are zero mean
proper complex Gaussian random variables. Hence $|h_1|^2$ and
$|h_2|^2$ are exponentially distributed with parameters $\sigma_1$
and $\sigma_2$. We assume the source power $P=5$ dB, and fix
$\sigma_1=1$. In Fig.~\ref{fig:region_gauss}, we plot the
boundaries of the secrecy capacity regions corresponding to
$\sigma_2=0.4,0.7,1$, respectively. It can be seen that as
$\sigma_2$ decreases, the secrecy rate $R_1$ of the confidential
message improves, but the rate $R_0$ of the common message
decreases. This fact follows because smaller $\sigma_2$ implies
worse channel from the source node to receiver 2. Thus,
confidential information can be forwarded to receiver 1 at a
larger rate. However, the rate of the common information is
limited by the channel from the source node to receiver 2, and
hence decreases as $\sigma_2$ decreases.

\begin{figure}
\begin{center}
\includegraphics[width=7.5cm]{region_gauss}
\caption{Secrecy capacity regions for Rayleigh fading BCCs}
\label{fig:region_gauss}
\end{center}
\end{figure}

\begin{figure}
\begin{center}
\includegraphics[width=8cm]{cases}
\caption{Three cases in power allocation optimization to achieve
the boundary of the secrecy capacity region for a Rayleigh fading
BCC} \label{fig:cases}
\end{center}
\end{figure}

For the Rayleigh fading BCC with $\sigma_1=1$ and $\sigma_2=0.4$,
we plot the boundary of the secrecy capacity region in
Fig.~\ref{fig:cases}. The three cases (see Theorem
\ref{th:gauoptsl}) to derive the boundary achieving power
allocations are also indicated with the corresponding boundary
points. It can be seen that the boundary points with large $R_1$
are achieved by the power allocations derived from Case 1, and are
indicated by the line with circle on the graph. The boundary
points with large $R_0$ are achieved by the optimal power
allocations derived from Case 2, and are indicated by the line
with square. Between the boundary points achieved by Case 1 and
Case 2, the boundary points are achieved by the power allocations
derived from Case 3, and are indicated by the plain solid line.

An intuitive reason why the three cases associate with the
boundary points is given as follows. To achieve large secrecy rate
$R_1$, most channel states in the set $A$ where receiver 1 has a
stronger channel than receiver 2 are used to transmit the
confidential message. The common message is hence transmitted
mostly over the channel states in the set $A^c$, over which the
common rate is limited by the channel from the source node to
receiver 1. Thus, power allocation needs to optimize the rate of
this channel, and hence the optimal power allocation follows from
Case 1. To achieve large $R_0$, the common message is forwarded
over the channel states both in $A$ and $A^c$. Since in average
the source node has a much worse channel to receiver 2 than to
receiver 1, the channel from the source node to receiver 2 limits
the common rate. Power allocation now needs to optimize the rate
to receiver 2, and hence follows from Case 2. Between these two
cases, power allocation needs to balance the rates to receivers 1
and 2 and hence follows from Case 3.
\section{Conclusions}

We have established the secrecy capacity region for the parallel
Gaussian BCC, and have characterized the optimal power allocations
that achieve the boundary of this region. An interesting result we
have established is the secrecy capacity region of the Gaussian
case of the Csisz$\acute{\text{a}}$r and K$\ddot{\text{o}}$rner
BCC model.

We have further applied our results to obtain the ergodic secrecy
capacity region for the fading BCC. Our results generalize the
secrecy capacity of the fading wire-tap channel that has been
recently obtained in \cite{Liang06allerton_a}, \cite{Li06} and
\cite{Gopa06} (full CSI case). We have also studied the outage
performance of the fading BCC, the results of which are not
presented in this paper due to space limitations; details can be
found in \cite{Liang06novit}.

\bibliographystyle{IEEEtran}


\section{Introduction}\label{sec:introduction}

	Bone age is the indicator to determine the skeletal maturity of an individual. This index is the best way to assess the chronological ages by comparing with skeletal age. Hence, bone age assessment (BAA) is the common method to determine the final adult of the normal child or diagnosis of the children growth problem. Bone age has also used for determining the age at the condition where birth record and birth data are not available~\cite{mughal2014bone}. In addition, BAA can be used in the rejuvenation study associated with chronological and biological ages.

	All the previous studies merely consider evaluating the skeletal bone until the end of the adolescence when the form of the bone is completed. However, this leads to a question: how to cope with the maturity people. In such cases, BAA using left-hand X-ray does not work. Indeed, the image of bone such as CT scan of hand or full skeleton change according to the development and aging, from the whole bone level to the specific components~\cite{Boskey2010}. With aging, the bone becomes more fragile and less able to perform its mechanical functions. Hence, having a deep insight into skeleton change is a major interesting area of investigation, especially BAA of all age ranges. Considering that the bone morphology does not change when reaching adulthood, existing methods using left-hand X-ray image are not suitable for. Another approach is needed to overcome this issue.

	To this end, in this paper, we perform BAA by using whole-body CT scans. To the best of our knowledge, this is the first work of estimating the bone age for adults which also provides dataset for future research. Besides the contributions to the research of automated skeletal bone age analysis, this work will aim to build a novel deep learning based method for BAA by balancing the number of generated features in a network and avoiding overfitting with limited data. The outcome shows notable achievements in improving BAA accuracy based on whole-body CT image. Additionally, our research also shows the regions of interest (ROIs) impacting on BAA from the whole-body CT scan. Last but not least, we will demonstrate how gender plays a crucial role in BAA.

	The rest of the paper is organized as follows. In Section~\ref{sec:related_works}, we review conventional and deep learning based methods for BAA regarding their contributions and limitations. A novel BAA system based on whole-body CT scan will be introduced in Section~\ref{sec:architecture}. The major contribution of this work is to build a model that generates a massive number of features while reducing overfitting influence on small training data in the medical image analysis research area. In Section~\ref{sec:experimental_results}, the proposed model is evaluated and compared to other methods. This section also provides our findings on the relationship between BAA, bone locations (ROIs), and gender based on the experimental analysis. Section~\ref{sec:conclusion} concludes our study and comments future directions for further improvement.

	\section{Related Works}\label{sec:related_works}

	There are a variety of methods to compute the bone age. Over the past decade, most of the BAA had been developed using various visualization techniques. Those methods, for the most part, come from the X-ray or CT scan of the left-hand by comparing with the standard atlas of bone development based on a large number of collected images and assessed manually. G\&P is the most common method developed by Greulich and Pyle~\cite{greulich1959radiographic}. The radiologists used the entire reference images of the left wrist and hand which are standard for different ages of the individuals from birth till 19 years. This method is simple, but it can be influenced by the age population, race, and gender. Another renowned method is Tanner Whitehouse (TW)~\cite{tanner4goldstein,tanner1975assessment}. On the contrary, it depends on the set of specific ROIs in lieu of the whole hand. Each ROI have its own scores which will be summed up to give an overall bone maturity score. TW method is more complex and performs better than the G\&P method. Follow by TW approach, there are numerous other researches based on ROIs~\cite{4530646,5742275,5559448,6675918}. Although the outcome was improved, these traditional methods are still time-consuming and sensitive to the image quality.

	In addition to conventional methods such as G\&P or TW, recently, deep learning, particularly convolutional neural network (CNN), has rapidly become a methodology of choice for analyzing medical images~\cite{ litjens2017survey}. This method demonstrated performance improvements over the conventional methods on many problems in medical imaging. In this part, we review recent deep learning based methods that identify the age of a child from an X-ray of their hand. One of the well-known BAA systems using deep learning was proposed in the 2017 Pediatric Bone Age Challenge organized by Radiological Society of North America (RSNA)~\cite{rsna17}, the winner achieved the mean square error (MAE) of 4.265 months using multimodal technique considering both visual information and gender. Their backbone model was GoogLeNet combined with a simple multilayer perceptron taking human gender into account~\cite{rsna_winner}. That outcome exceeds the performance of conventional methods as well as some pediatric radiologists in an extensive experiment. Spampinato \etal~\cite{SPAMPINATO201741} provided a deep study of all possible cases by training from scratch, fine-tuning, and building a deep model named BoNet for BAA. Another work of Lee \etal~\cite{Lee2017} proposed a system that used LeNet for hand mask detection and GoogLeNet in age assessment. In the same manner, Iglovikov \etal~\cite{DBLP:journals/corr/abs-1712-05053} introduced a method that applied U-Net for hand segmentation, image registration based on key points, and a plain network inspired by VGGNet~\cite{Simonyan14c} for BAA. However, their results cannot lead to a better performance compared to the winner of the 2017 Pediatric Bone Age Challenge. Similarly, Zhou \etal~\cite{8227503} proposed a model based on VGGNet for BAA. Instead of using the entire X-ray image, they extracted ROIs then fed them into pre-trained models to obtain bone age by model fusion. As we stated above, unlike all the previous works which consider X-ray left-hand scans across up to 20 years of ages to monitor the growth status of the children, this paper introduces a novel network architecture for whole-body CT bone images in all age ranges that works well on small training data. In addition, source code and data will be also available to provide related materials for future research in this area.

	\section{Network Architecture}\label{sec:architecture}

	\begin{figure}[t]
		\begin{center}

			\includegraphics[scale=0.408]{./mlvgg.pdf}
		\end{center}
		\caption{Whole-body CT bone age estimation model. Both local and global information are considered for regression which generate a massive number of features for small medical training data.}
		\label{fig:mlvgg}
	\end{figure}

	In this section, we provide the details of networks for automatic BAA using full-body CT images. Various architectures and learning techniques were taken into account including: fine-tuning models originally trained on the large-scale ImageNet dataset, ensembling fine-tuned models, and building a new model for BAA.

	\subsection{Fine-tuned Models}\label{sec:sub_fine_tuned}

	CNNs have achieved many successes in image classification owning to the availability of public large-scale datasets and high performance GPUs. VGGNet, GoogLeNet~\cite{7298594}, and ResNet~\cite{7780459} are excellent examples that outperformed the others in the ImageNet Challenge and they are still useful for transfer learning to tackle related computer vision issues.

	In general, given an image, deep neural networks automatically generate simple, moderate, and complex information via low-level, mid-level, and high-level layers respectively. Even though the extracted features from these models can be used directly for a particular task, the patterns are significantly different in medical images. Therefore, a great amount of annotated data are required to train network layers. However, this requirement is not always reserved especially in medical image analysis research area. Hence, reusing first layers of a well-trained model and fine-tuning last layers is a straightforward solution to this issue.

	In this paper, we fine-tune VGGNet, GoogLeNet, and ResNet on our dataset for automatic BAA. In other words, mid-level and high-level layers in the base architectures and a regression network will be trained to be adapted to our data while the early layers in the backbone models are reserved. Training configurations will be discussed in Section \ref{sec:sub_implementation} and the best fine-tuned models will be use for ensembling.

	\subsection{Hierarchical Features for Whole-body BAA}\label{sec:sub_mlvgg}

	In this section, we introduce a model which is based on VGGNet for automatic BAA. By combining features from different levels of the base network, our model generates a large amount of essential information related to whole-body bone age. Moreover, trivial features are also eliminated from the early stages by simple fully connected layers.

	Our base model is a VGGNet which is a conventional CNN with stacks of convolutional layers arranged in 5 blocks. Unlike deep architectures such as GoogLeNet or ResNet which take advantage of additional network connections to save activations from dying, the role of the added connections in our model as shown in Fig.~\ref{fig:mlvgg} is to enlarge number of features for our limited training data. In place of taking only high-level features into account, our model considers information from different layers of the base architecture for regression. That is, both global and local features will be used in a single network.

	\begin{figure}[t]
		\begin{center}

			\includegraphics[scale=0.408]{./ml_connect.pdf}
		\end{center}
		\caption{An additional connection uses local features in our model.}
		\label{fig:add_connection}
	\end{figure}

	Let $C$ be the number of feature maps generated by a specific layer of the network, $H$ and $W$ be the height and width of each feature map respectively (Fig.~\ref{fig:add_connection}), then the number of learnable parameters of an additional connection in our model is given as follow
	\begin{equation}
	N(C,H,W,n_U)=C\times H\times W\times n_U + n_U ,
	\end{equation}
	where $n_U$ is the number of units of the fully connected layer in the connection. It can be seen that the feature map size ($H\times W$) at the low-level layer is not small regularly. In addition, they are supposed to contain elementary features which are trivial for the final task of the network. Therefore, to avoid complicating the model, the information from the first two blocks are not directly used for regression. Furthermore, since a small number of mid-level features play an important role in the final regression, we insert a fully connected layer with $n_U=256$ units in network connections. The main purpose of these layers is to reserve useful information while insignificant features will be eliminated. Then we concatenate all extracted features and feed them into a regression network containing three fully connected layers. By adding two simple network connections, our model outperforms other architectures in the comparison with the same data and training configurations. Since the network contains several intermediate layers, we may have other promising choices to gather mid-level features for regression. However, as increasing number of additional connections, the architecture will be more complex. We chose the best model including two connections with max-pooling layers from block \#3 and block \#4. It is reasonable to assume that the abstracted features generated by max-poolings are more effective compared to the others.

	\section{Experimental Results}\label{sec:experimental_results}

	This section describes the dataset and metric that we used to evaluate the models. The details of network implementation and a performance comparison between architectures will be covered also. Last but not least, an experimental analysis will be discussed to provide some interesting findings related to age estimation using full-body bone CT scan.

	\subsection{Dataset}\label{sec:sub_dataset}
	In the previous works, X-ray left-hand scans of children of the age up to 18 years old are considered. On the other hand, our dataset was provided by \textit{Anonymous} hospital containing $813$ whole-body CT bone images with the age range between $8$ months and $87$ years. All the images are grayscale and the average resolution is $3000\times900$ pixels. Each image was annotated with corresponding age (in years) and gender (see Fig.~\ref{fig:samples} for examples). Fig.~\ref{fig:sub_data_dis_age} shows the data distribution with respect to age while Table~\ref{fig:sub_data_dis_gen} represents number of data for each gender. $73.432\%$ of the data are at the age from $40$ to $60$ while $8.487\%$ and $18.081\%$ of the data belong to the age ranges of $0-39$ and $61-87$, respectively. In addition, it is noticeable that we have a serious imbalanced data problem in terms of gender. Even though the purpose of this research is to estimate age via whole-body CT scan, we will discuss the influence of gender on BAA in the next section. As the number of training images is limited, it provides an interesting benchmarking platform for different learning methods, particularly deep neural networks which acquire a reputation for the performance on large-scale datasets. We used this dataset in our experiments by randomly dividing it into two partitions: $569$ images for training ($70\%$) and $244$ images for testing ($30\%$).

	\begin{figure}[t]
		\begin{center}
			\subfigure[6 years old\newline \hspace*{1.3em} male]
			{
				\includegraphics[width=0.7in]{./20180109_1_1_6.png}
				\label{fig:sub_sample_1}
			}
			\subfigure[18 years old\newline \hspace*{1.3em} male]
			{
				\includegraphics[width=0.7in]{./20180111_16_1_18.png}
				\label{fig:sub_sample_2}
			}
			\subfigure[49 years old\newline \hspace*{1.3em} female]
			{
				\includegraphics[width=0.7in]{./20180109_7_1_49.png}
				\label{fig:sub_sample_3}
			}
			\subfigure[74 years old\newline \hspace*{1.3em} male]
			{
				\includegraphics[width=0.7in]{./20180102_21_1_74.png}
				\label{fig:sub_sample_4}
			}
		\end{center}
		\caption{Whole-body CT bone scan samples with corresponding age and gender.}
		\label{fig:samples}
	\end{figure}

	\begin{figure}[t]
		\begin{center}
			\subfigure[Data distribution w.r.t. age]
			{
				\includegraphics[height=2.0in]{./data_dis_age.pdf}
				\label{fig:sub_data_dis_age}
			}\\
			\subfigure[Data distribution w.r.t. gender]
			{
				\includegraphics[height=1.7in]{./data_dis_gen.pdf}
				\label{fig:sub_data_dis_gen}
			}
		\end{center}
		\caption{Our whole-body CT bone scan data distribution.}
		\label{fig:data_dis}
	\end{figure}

	\subsection{Implementation}\label{sec:sub_implementation}

	All the models were implemented using PyTorch~\cite{paszke2017automatic}. Training images were rescaled to $256\times256$ and $331\times331$ before random cropping to $224\times224$ and $299\times299$ adapting to common architectures VGGNet, ResNet, and GoogLeNet in our comparison. We also normalized the data to have zero mean and unitary standard deviation following the practice in~\cite{SPAMPINATO201741}. Random horizontal flipping is used also. After each convolutional layer and before ReLU nonlinearity, we applied batch normalization~\cite{Ioffe:2015:BNA:3045118.3045167} to improve the network’s generalization capability. In addition, dropout~\cite{DBLP:journals/corr/abs-1207-0580} was used after each fully connected layer to serve the same purpose.

	VGGNet, GoogLeNet, and ResNet were initialized with weights on ImageNet dataset then fine-tuned on our training data. Originally, these models aim to recognize 1000 classes using softmax classifier as the last layer of the network. In this work, we replace softmax classifiers with single unit linear layers for age estimation. In case of our model for BAA, we initialized the backbone network using original VGGNet while two additional connection layers' weights were generated randomly. Then these layers were trained from scratch and the base model was fine-tuned on the same training data as described above.

	All the models were used pre-trained models as the initial conditions, which massively speed up the training procedure. In addition, this technique is remarkably effective to prevent overfitting on our small training data. In our experiments, the models were fine-tuned on the same data for up to 130 iterations. The weights were updated by Adam~\cite{adam2014} with a minibatch size of 256. The learning rate started at $3.10^{-4}$ and the minimum value was $10^{-7}$. During the training procedure, the learning rate will be reduced by the factor of 0.8 after 10 iterations with no improvement in validation loss. To avoid overfitting, online data augmentation was performed on the training data. Data preprocessing techniques comprised normalization, random cropping, and mirroring.

	\subsection{Experimental Analysis}\label{sec:sub_analysis}

	This section reports the performances achieved by our models in terms of MAE. Comparisons will be provided and we will show how our model outperforms the others. Furthermore, we visualize the ROIs that we should pay attention to estimate age using whole-body CT images. An assumption about the relationship between bone age and gender will be made based on the experiments also.

	In the first comparison, we take the fine-tuned VGGNet and our modified VGGNet into account. The difference is that our model takes advantage of local features in intermediate layers of the VGGNet to generate better visual representations as shown in Fig.~\ref{fig:mlvgg}. Table~\ref{tab:vgg_vs_mlvgg} shows a significant improvement thanks to our additional network connections on the same data and learning configurations. In place of training the network from scratch on a small dataset which causes overfitting, we use local features generated from well-learned intermediate layers of VGGNet. Then, these mid-level information will be combined with global features that adapt to our data by training. Fully connected layers are added inside the connections and after concatenation layer to minimize the number of trivial information used for regression. It is noticed that our model can still be trained end-to-end using available optimization algorithms such as SGD, Adam, etc..

	\begin{table}
		\begin{center}
			\begin{tabular}{|l|c|}
				\hline
				Model                          & \begin{tabular}[c]{@{}c@{}}MAE\\ (years)\end{tabular} \\ \hline \hline
				Fine-tuned VGGNet              & 9.741                                                    \\
				Our modified VGGNet & 4.856
				\\ \hline
			\end{tabular}
		\end{center}
		\caption{Performance comparison between the fine-tuned VGGNet and our modified VGGNet with respect to MAE on testing data.}
		\label{tab:vgg_vs_mlvgg}
	\end{table}

	We showed how additional connections improve a VGGNet in BAA. In the next comparison, we will take common deep architectures including GoogLeNet, ResNet, and ensemble models into account. In our experiments, all the models' weights were updated using the same data and training settings. Each model was trained several times and the best performances were picked. See Table~\ref{tab:mlvgg_vs_all} for the comparison.

	\begin{table}
		\begin{center}
			\begin{tabular}{|l|c|}
				\hline
				Model                                   & \begin{tabular}[c]{@{}c@{}}MAE\\ (years)\end{tabular} \\ \hline \hline
				Fine-tuned VGGNet (A)                   & 9.741                                                 \\
				Fine-tuned GoogLeNet (B)             & 5.522                                                 \\
				Fine-tuned ResNet (C)                   & 5.738                                                 \\
				Early fusion of (A), (B), and (C)       & 6.870                                                  \\
				Late fusion of (A), (B), and (C)        & 5.140                                                  \\
				\textbf{Our VGGNet with hierarchical features} & \textbf{4.856}                                        \\ \hline
			\end{tabular}
		\end{center}
		\caption{Performance comparison between our model and common architectures for BAA in terms of MAE.}
		\label{tab:mlvgg_vs_all}
	\end{table}

	Among the popular deep architectures, GoogLeNet obtained the best performance for BAA with the MAE of $5.522$. We argue the reason is that GoogLeNet with \textit{Inception} modules considering different sizes of the kernel are better at understanding local features in a bone age image. This finding might be discovered by Cicero \etal~\cite{rsna_winner} in the 2017 RSNA ML Challenge as well. As they stated, many architectures had been tested and GoogLeNet was the best one to be the winner of the challenge. In our experiments, the performance can be improved by the ensemble of chosen models. We did the fusion in two scenarios: early fusion and late fusion. Although the former can bring the benefit of gathering a variety of features from different type of architectures, the ensemble model seemed to suffer from overfitting due to our small training data compared to the number of learnable parameters of the entire model. On the other hand, late fusion by averaging the ages computed by three models leads to noticeably accurate outcomes with MAE of $5.140$. In our comparison, the best result was achieved by our modified VGGNet with two additional connections. It learned a large number of features from small data and performed better than other single and ensemble models. The key point is that these additional network connections can be easily attached to an arbitrary model. It is still reasonable although the network complexity should be increased.

	In addition to deep architecture comparison, in this section, we provide an interesting insight into ROIs via Grad-CAM~\cite{Visual} that may play a critical role in manual BAA. Fig.~\ref{fig:vital_regions} shows whole-body CT bone images and their corresponding Grad-CAMs indicating the ROIs that the model tends to focus on for age estimation.
	\begin{figure}[t]
		\begin{center}
			\subfigure[Whole-body CT bone images]
			{
				\includegraphics[width=1.0in]{./20180104_4_1_.png}
				\includegraphics[width=1.0in]{./20180104_12_1_.png}
				\includegraphics[width=1.0in]{./20180110_9_1_.png}
				\label{fig:sub_vital_reg_11}
			}\\
			\subfigure[Grad-CAMs]
			{
				\includegraphics[width=1.0in]{./20180104_4_1.png}
				\includegraphics[width=1.0in]{./20180104_12_1.png}
				\includegraphics[width=1.0in]{./20180110_9_1.png}
				\label{fig:sub_vital_reg_21}
			}
		\end{center}
		\caption{ROIs in whole-body CT bone images for BAA produced by our modified VGGNet and Grad-CAM.}
		\label{fig:vital_regions}
	\end{figure}
	Interestingly, the upper body comprises several characteristics related to age assessment. To verify this perception, we carried out an experiment by retraining modified VGGNets in two scenarios. The former takes an upper body image as the input while the latter considers a lower body CT scan instead. Table~\ref{tab:data_type_res} clarifies the Grad-CAMs in Fig.~\ref{fig:vital_regions} as the upper body plays the main role in BAA using our model.

	\begin{table}[]
		\begin{center}
			\begin{tabular}{|l|c|}
				\hline
				Data type  & \begin{tabular}[c]{@{}c@{}}MAE\\ (years)\end{tabular} \\ \hline \hline
				Upper body & 4.854                                                 \\
				Lower Body & 5.100                                                 \\ \hline
			\end{tabular}
		\end{center}
		\caption{The influence of ROIs in BAA.}
		\label{tab:data_type_res}
	\end{table}

	Furthermore, we also inspected the relationship between gender and bone structure for automatic BAA. As we mentioned before, over $83\%$ of patients in our dataset are females. Since our architecture does not consider gender as an attribute, the number of data in each gender should not influence the final performance. Conversely, our experiments show that the differences between male and female human skeleton structure may be an important characteristic for BAA. With a larger number of female instances, the model was likely to discover specific properties in female bone that do not hold in male skeleton (see Table~\ref{tab:gender_res}).

	\begin{table}[]
		\begin{center}
			\begin{tabular}{|l|c|c|}
				\hline
				Gender & Number of data & \begin{tabular}[c]{@{}c@{}}MAE\\ (years)\end{tabular} \\ \hline \hline
				Female & 679            & 4.351                                                 \\
				Male   & 134            & 6.969                                                 \\ \hline
			\end{tabular}
		\end{center}
		\caption{Gender influence in BAA.}
		\label{tab:gender_res}
	\end{table}

	\section{Conclusion}\label{sec:conclusion}

	This paper addressed the whole-body CT scan BAA using hierarchical features from CNN. We tested several pre-trained models on our small dataset before building a new model based on VGGNet for automatic BAA. Our model with additional connections aims to balance the number of generated features in a network and avoiding overfitting with limited data in the medical image analysis research area. In addition, we also provided insights into the ROIs and the influence of gender in BAA. These interesting findings and our public dataset may supply an useful benchmarking platform for further research in whole-body CT image BAA. To the best of our knowledge, this is the first work in bone age estimation using a whole-body skeleton CT scan which also provides related materials for future investigation. Since our network connections may complicate the entire architecture, a global pooling layer~\cite{glob_pool} can be attached right before the connections to reduce the number of network parameters.

	{\small
		\bibliographystyle{ieee}


\section{Conclusion and Future Work}
\label{sec:conclusion}
We have presented a novel algorithm which encourages routability of multi-pin nets in PCB designs.
In an extensive study on 14 PCB designs, we have demonstrated that NS-Place achieves 80.98\%, 70.00\%, and 74.68\% reduction on average \#DRVs and \#unrouted nets for routability and 34.36\% fewer \#Vias on average. We plan to extend our technical and empirical analysis to integrated circuit (IC) placement and explore congestion minimization via nonlinear separators and plan to investigate methods to optimize component orientation during the net separation minimization procedure.
Finally, while first-order methods are efficient in practice, due to the nonlinearity of our objective, optimal solutions are not guaranteed and initialization remains an open problem.

\section{Acknowledgements}
\label{sec:acknowledgement}
We acknowledge the support of the the DARPA IDEA Project and National Science Foundation CCF-2110419.
\section{NS-Place Placement Flow}
\label{sec::flow}
\begin{figure}[h]
\centering
\includegraphics[width=0.4\textwidth]{figures/flow.png}
\caption{Placement procedure with Laplacian Eigenvector initialization, net-separation minimization, and MILP-based legalization with relative positioning constraints.}
\label{fig:flow}
\end{figure}
In this section, we describe the overall flow of our method. The high-level flow is described in Figure \ref{fig:flow}.
\subsection{Initialization with Laplacian eigenvectors}
First-order optimization algorithms are notoriously sensitive to initialization when applied to nonlinear problems. We address this by first collapsing the netlist hypergraph to a component graph via the clique model. We then construct a matrix-representation of the graph connectivity\textemdash the \textit{graph Laplacian}. The solution to the associated eigenvalue problem approximates the solution to the sparsest cut problem \cite{Hall1970}, and clusters arising out of the vertex-projection into the space spanned by the first nontrivial eigenvalues correspond highly connected components of the graph. We use these coordinates to initialize global placement. More concretely, we solve the following problem, where $x$ and $y$ are coordinates of components, $c_i$ are constants, $v$ is a vector of component areas, $V=\mathrm{diag}(v)$, and $L$ is the normalized graph Laplacian; $L = R^{-\frac{1}{2}}AR^{-\frac{1}{2}}$, where $A$ is an adjacency matrix and $R$ is the diagonal degree matrix.
\begin{equation}
\begin{aligned}
    \min\:\: &x^\top Lx + y^\top Ly && &&&  \\
    \textrm{s.t. } &v^\top x = 0,  && v^\top y = 0, &&&  x,y \neq 0 \\
    &x^\top Vx = c_1,  && y^\top Vy = c_2, &&& x^\top Vy = c_3
\end{aligned}
\label{eq:lep}
\end{equation}
Intuitively, the objective is to minimize the weighted squared wire length. The linear and non-equality constraints concentrate the layout about the origin and prevent the trivial solution. The quadratic constraints spread the placement over the $x$ and $y$ axes.

The above problem is unaware of component orientations or fixed position constraints. To resolve this, we generate candidate initializations by considering all possible relative component orientations for a given solution to Problem~\ref{eq:lep}. The solution with minimal cost with respect to Eq.~\ref{eq:obj} is used to seed the global placer.
\subsection{Global placement using coordinate descent}
In Alg.~\ref{alg:nsplace}, we present the detailed steps of our iterative method to reduce congestion.
\begin{algorithm}
\caption{Net crossing minimization}
\begin{flushleft}
\textbf{Input:} Initial placement $[x:y]$, pin matrices $A_e$, $A_{e'}$, regularization parameter $\lambda$ , learning rate $\alpha$, budget $n$ \\
\textbf{Output:} Placement $[x:y]$
\end{flushleft}
\begin{algorithmic}[1]
\Function{NsOpt }{$[x:y],A_e,A_{e'}; \lambda, \alpha$}
\While{Eq.~\ref{eq:obj} not converged}
\State Fix $A_e$, $A_{e'}$, compute $u$, $\gamma$ by Eq. \ref{eq:ns} \Comment{separator}
\State Fix $u$, $\gamma$, compute $\nabla_{p_i}F$, $P$
\State $g \gets \lambda_{D}\nabla_{[x:y]}D + P$ \Comment{compute component update}
\State $[x:y]_{t+1} \gets [x:y]_t + \alpha\cdot g$ \Comment{update components}
\State update $A_e, A_{e'}$ according to $[x:y]_{t+1}$
\EndWhile
\State \Return $[x:y]_{n}$
\EndFunction
\end{algorithmic}
\label{alg:nsplace}
\end{algorithm}

\noindent Recall the proposed global placement optimization problem described in Eq.~\ref{eq:obj}. For brevity, we refer to the cumulative objective as $F$. Note that the above problem may be solved exactly via quadratic programming. We propose to solve the problem approximately by applying first-order methods in an alternating minimization framework by iteratively solving for $u$ and $\gamma$ while keeping $x$ and $y$ fixed and visa-versa. Given a layout, we first compute the separating hyperplane characterized by $u$ and $\gamma$ in Eq.~\ref{eq:ns} (line 4 of Alg.~\ref{alg:nsplace}). Given $u$ and $\gamma$, we can derive the net separation and wirelength gradients associated with individual pins (line 4). To recover the component position update, we introduce the auxiliary variable $P\in \mathbb{R}^{n \times 2}$ corresponding to component update derived from pin-gradients where the $i$-th row of $P$ is defined to be the average of the $i$th component's pin gradients\textemdash i.e. $P_i = \frac{1}{|\mathcal{P}(i)|}\sum_{p \in \mathcal{P}(i)}\nabla_{p}F$. The gradients associated with the density and wirelength terms can then be computed, and component positions updated (lines 5-6). Given these new positions, the pin matrices $A_e$ and $A_{e'}$ can then be updated (line 7).
\subsection{Legalization via mixed integer linear programming}
In this section, we introduce a standard MILP-based layout formulation for placing rectilinear components subject to overlap and boundary constraints. We note that this formulation shares similarities with previous work, e.g. \cite{Funke2016} who discuss the optimality of MILP for wirelength-minimal block placements. Additionally, we integrate relative positioning constraints derived from the global placement procedure to preserve net separation while improving scalability.

\noindent \textbf{MILP-based wirelength-minimal layout}
The objective and constraints are described in the following set of equations. We introduce a second term corresponding to wirelength variance, which we find improves the routability of designs further.
\begin{align*}
    &\min_{x,y,r}\left[\sum_{i\in|\mathcal{E}|}\textrm{hpwl}(i) + \left[\max_{i\in|\mathcal{E}|}\textrm{hpwl}(i) - \min_{i\in|\mathcal{E}|}\textrm{hpwl}(i)\right]\right] \\
    &\:\textrm{hpwl}(i) = (U^{(i)}_x - L^{(i)}_x) + (U^{(i)}_y - L^{(i)}_y)
\end{align*}
where the hpwl term (given for the $x$-direction only) is
\begin{align*}
& U^{(i)}_x \geq p^{(i)}_j(x), \quad L^{(i)}_x \leq p^{(i)}_j(x) \quad \forall j \in \mathcal{E}_i
\end{align*}
and the solution is subject to non-overlapping constraints (for brevity, boundary constraints are not included):
\begin{align*}
&x_i + r_ih_i+(1-r_i)w_i \leq x_j + W(p_{ij}+q_{ij}) &&\textrm{i-left-j}\\
&y_i + r_iw_i + (1-r_i)h_i \leq y_j + H(1+p_{ij}-q_{ij}) &&\textrm{i-under-j}\\
&x_i - r_jh_j - (1-r_j)w_j \geq x_j - W(1-p_{ij}+q_{ij}) &&\textrm{i-right-j}\\
&y_i - r_jw_j - (1-r_j)h_h \geq y_j - H(2-p_{ij}-q_{ij}) &&\textrm{i-over-j}\\
&x_i,y_i \geq 0, \quad r_i, q_{ij}, p_{ij} \in \{0,1\} && \textrm{variables}
\end{align*}
Where $r_i$, $q_{ij}$, $p_{ij}$ are variables representing orientation and relative positions between modules $i$ and $j$.

\noindent \textbf{Relative positioning constraints}
Given a global placement solution, we derive relative position constraints for pairs of components. By doing so, we preserve the global structure of the global placement solution while allowing the MILP placer to make local adjustments.

For each pair of modules, we consider the minimum horizontal and vertical distances between modules (i.e. from boundary to boundary). We then check if the maximum of the horizontal and vertical distances exceeds a pre-defined threshold $k$ which trades off a preference for HPWL-minimal solutions or routability and runtime. A horizontal or vertical relative position constraint is introduced depending on which distance is greater and the associated binary decision variables ($q_{ij}$ or $p_{ij}$) are removed and the corresponding overlap constraints are simplified or pruned entirely. By integrating these constraints, we preserve the global structure of the analytical solution while eliminating a nontrivial number of decision variables.
\section{Experiments}
\label{sec:results}
\iffalse
\begin{figure}[h]
\centering
\includegraphics[width=0.4\textwidth]{figures/flow.png}
\caption{Placement procedure with Laplacian Eigenvector initialization, net-separation minimization via gradient descent, and MILP-based legalization with relative positioning constraints.}
\label{fig:flow}
\end{figure}
\fi
\input{tables/characteristics.tex}
\input{tables/preroute_results}
\input{tables/postroute_results}
\subsection{Experiment setup}
We applied our method to 14 PCB benchmarks~\cite{lincomplicated}. Details are provided in Table~\ref{ref::characteristics}. We solve Eq.~\ref{eq:nstotal} via gradient descent with momentum with $\alpha=1e^{-3}$, $\lambda_{\textrm{NS}}=1$, and $\lambda_{\textrm{D}}=1$. GDMILP corresponds to running the NS-Place with $\lambda_{\textrm{NS}} = 0$, and MILP corresponds to solving the MILP without relative-position constraints. Layout quality is evaluated using the open-source FreeRouting router~\cite{freerouting}. The routed wirelength, number of design rule violations, and the number of vias are reported. Experiments are performed with an 3.4GHz Intel i7-4770 CPU and 31GB RAM. If no optimal solution is found after 4 hours, we report results for the best-so-far (with respect to the MILP objective) feasible solution. If no feasible solution is found, associated entries are marked with "-".
\subsection{Main experiments}
\iffalse
\begin{figure}
\centering
\begin{subfigure}[b]{0.498\linewidth}
\includegraphics[width=\linewidth]{figures/bm1_manual.png}
\label{fig:autoplace_freeroute}
\end{subfigure}
\begin{subfigure}[b]{0.48\linewidth}
\includegraphics[width=\linewidth]{figures/bm1_ce.png}
\label{fig:autoplace_autoroute}
\end{subfigure}
\caption{Stages of our placement flow. \textbf{(\subref{fig:lapl})} placement initialization using Laplacian Eigenmaps \textbf{(\subref{fig:graddesc})} net separation-oriented global placement \textbf{(\subref{fig:milp})} MILP-based local legalization \textbf{(\subref{fig:manual})} manual layout}
\label{fig:bbbc}
\end{figure}
\fi
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{0.498\linewidth}
\resizebox{4cm}{4cm}{\scalebox{1.0}[1.0]{\includegraphics[width=\linewidth]{figures/lapl.png}}}
\subcaption{}
\label{fig:lapl}
\end{subfigure}
\begin{subfigure}[b]{0.48\linewidth}
\resizebox{4cm}{4cm}{\scalebox{1.0}[1.062]{\includegraphics[width=\linewidth]{figures/graddesc.png}}}
\subcaption{}
\label{fig:graddesc}
\end{subfigure}
\begin{subfigure}[b]{0.498\linewidth}
\resizebox{4cm}{4cm}{\scalebox{1.0}[1.0]{\includegraphics[width=\linewidth]{figures/milp.png}}}
\subcaption{}
\label{fig:milp}
\end{subfigure}
\begin{subfigure}[b]{0.48\linewidth}
\resizebox{4cm}{4cm}{\scalebox{1.0}[1.045]{\includegraphics[width=\linewidth]{figures/manual.png}}}
\subcaption{}
\label{fig:manual}
\end{subfigure}
\caption{\textbf{PCB12 layouts}. (\textbf{\subref{fig:lapl}}): Seed placement produced from Laplacian eigenvectors. (\textbf{\subref{fig:graddesc}}) Global placement to minimize net crossings. (\textbf{\subref{fig:milp}}) MILP-based legalization. (\textbf{\subref{fig:manual}}) Manual layout.}
\label{fig:bbbc}
\end{figure}
\noindent \textbf{PCB placement metric comparison}
We provide manual, MILP, GDMILP, and NS-Place placement results in table \ref{tab:preroute_mark}. We show that NS-Place reduces the net separation cost by 77\% and 41\% on average compared to manual and GDMILP. This implies that although the MILP-based fine-tuning step does not optimize net separation explicitly, satisfaction of relative position constraints results in preservation of the global structure produced by the net separation step. Furthermore, the inclusion of the net separation term does not result in a large increase in HPWL. Although the HPWL of NS-Place solutions increase 9\% on average compared to GDMILP, NS-Place still achieves 20\% lower HPWL compared to manual layouts.

We report the cumulative runtime to complete a placement in Table~\ref{tab:preroute_mark}. Note that methods employing relative positioning constraints (i.e., GDMILP, NS-Place) strictly improve over vanilla MILP. We see that NS-Place closely matches the performance of the GDMILP flow with only around 4\% increase on average runtime. This implies that the net separation regularizer imposes low overhead. Fig.~\ref{fig:bbbc} (a), (b), and (c) show the PCB placement results of PCB12 of each stage of automatic placement flow. Fig.~\ref{fig:bbbc} (d) is the manual layout of PCB12. Compared to Fig.~\ref{fig:bbbc} (d), we observe that NS-Place produces placement with fewer net crossings as shown in Fig.~\ref{fig:bbbc} (c).

\noindent \textbf{PCB routing metric comparison}
\begin{figure}[!ht]
\centering
\begin{subfigure}[b]{0.498\linewidth}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] at (0,0) {
\reflectbox{\rotatebox[origin=c]{180}{\includegraphics[width=\linewidth,trim=4 25 4 4,clip]{figures/milp_routed.png}}}};
\draw[green,ultra thick,rounded corners] (1.5,1.8) rectangle (2.8,2.4);
\draw[green,ultra thick,rounded corners] (0.5,2.6) rectangle (1.5,3.2);
\end{tikzpicture}
\caption{}
\label{fig:milprouted}
\end{subfigure}
\begin{subfigure}[b]{0.48\linewidth}
\reflectbox{\rotatebox[origin=c]{180}{\includegraphics[width=\linewidth]{figures/manual_routed.png}}}
\caption{}
\label{fig:manrouted}
\end{subfigure}
\caption{\textbf{PCB12 P\&R result in KiCAD}. (\textbf{\subref{fig:milprouted}}) Solution produced by our method. Routable regions are emphasized with green rectangles. (\textbf{\subref{fig:manrouted}}) Routed manual placement.}
\label{fig:bbbc1}
\end{figure}
We evaluate routability in Table~\ref{tab:postroute} by reporting the routed wirelength, the number of DRVs and vias, and the number of unrouted nets using FreeRouting and Kicad. Compared with manual, MILP, and GDMILP, NS-Place reduces the \#DRVs and \#unrouted nets by roughly 80\%, 70\%, and 75\% on average.

NS-Place additionally reduces the routed wirelength by 10\% and 6\% on average compared to manual and GDMILP respectively and reduces the \#Vias by 18\% and 39\%. Moreover, for PCBs 7, 10, 11, and 13, which have \#components larger than 60 and \#pins larger than 300, NS-Place achieves 34\% \#Vias reduction on average compared to manual. An example routed result is given in Fig.~\ref{fig:bbbc1}. Compared to the manual layout, NS-Place successfully improves routability via net separation (i.e., the routable regions near the center of the board). Note that NS-Place fails to produce a superior solution for PCB2. We attribute this to PCB2's high utilization, with only about 20\% of the board area available to the global placer as whitespace. In summary, we demonstrate that NS-Place significantly reduces \#DRVs, \#unrouted nets, and \#Vias for PCB reliability compared to manual, MILP, and GDMILP with an extensive study on 14 PCBs.
\section{Net Separation-Oriented Placement}
\label{sec:formulation}

\subsection{Preliminaries}
\begin{figure}[!h]
\fbox{\begin{minipage}[t]{0.45\textwidth}
    net \hfill $e\in\mathcal{E}$ \\
    pin matrices \hfill  $A_e \in \mathbb{R}^{p\times2}$ \\
    coordinates and orientation \hfill $x,y \in \mathbb{R}_+^n$, $r \in \{0,1\}^n$ \\
    density \& net separation cost weight \hfill $\lambda_{\textrm{D}}, \lambda_{\textrm{NS}} \in
    \mathbb{R}_+$ \\
    convex hull coefficients \hfill $u\in \mathbb{R}^2, \gamma\in \mathbb{R}$ \\
    wirelength smoothing parameter \hfill $c \in \mathbb{R}_+$
\end{minipage}}
\caption{Notation \& key terms}
\label{tab:hparams}
\end{figure}
Let $x, y\in \mathbb{R}_+^{n}$ be vectors corresponding of coordinates of $n$ components such that the $i$-th component has coordinates encoded in the $i$-th row of $[x:y]$; $[x:y]_i$. Let $\mathcal{E}$ denote a set of $m$ nets. We aim to assign coordinates so that the resulting layout has small cumulative wirelength, layout density, and routing congestion.
\subsection{NS-Place Objective}
Our method may be expressed concisely as the following unconstrained optimization problem given $\lambda$:
\begin{equation}
    \min_{x, y} \sum_{e\in\mathcal{E}}\left[Wa(e;x,y) + \lambda_{\textrm{NS}}Ns(e;x,y)\right] +\lambda_{\textrm{D}} D(x,y)
    \label{eq:obj}
\end{equation}
where $Wa$ and $D$ corresponds to weighted-average wirelength and density terms, and $Ns$ corresponds to the proposed net separation term described in Sec.~\ref{sec:formulation}.D.

\subsection{Wirelength and density-driven optimization}

Many modern techniques for analytic placement rely on quadratic optimization with terms associated with attraction of connected cells, and repulsion of overlapping cells. A typical approach is to represent individual nets as rectangles and to minimize the sum-perimeters over all nets. Repulsion is often applied between overlapping nodes to reduce density. In this work, we adopt the smooth continuous and differentiable weighted-average wirelength (Wa) model~\cite{hsuHPWL} for wirelength cost. The horizontal net-wirelength for net $e$ is given by
$$
Wa^{(e)}_x = \frac{\sum_{i\in e}x_i\exp{(\frac{x_i}{c})}}{\sum_{i\in e}\exp{(\frac{x_i}{c})}} - \frac{\sum_{i\in e}x_i\exp{(-\frac{x_i}{c})}}{\sum_{i\in e}\exp{(-\frac{x_i}{c})}}
$$
where $c$ is a parameter that controls the smoothness and approximation error.
\iffalse We can then express the gradient of $Wa$ with respect to a pin location as
\begin{align*}
\frac{\partial Wa^{(e)}_x}{\partial x_i} &= \frac{1}{(\sum_{j\in e}\exp{(\frac{x_j}{c})})^2}[(\exp{(\frac{x_i}{c})} + \frac{x_i}{c}\exp{(\frac{x_i}{c})}) \cdot \\
&\:\:\phantom{=}\sum_{j\in e}\exp{(\frac{x_j}{c})} - \frac{\exp{(x_i/c)}}{c}\sum_{j\in e}(x_j\exp^{(\frac{x_j}{c})})]
\end{align*}
\fi
\iffalse
\begin{align*}
\frac{\partial Wa^{(e)}_x}{\partial x_i} = \frac{1}{(\sum_{j\in e}\exp{(\frac{x_j}{c})})^2}[&(\exp{(\frac{x_i}{c})} + \frac{x_i}{c}\exp{(\frac{x_i}{c})})\sum_{j\in e}\exp{(\frac{x_j}{c})} - \\
&\frac{\exp{(x_i/c)}}{c}\sum_{j\in e}(x_j\exp^{(\frac{x_j}{c})})]
\end{align*}
\fi
We then write the wirelength of $e$:
$$
Wa(e;x,y) = Wa^{(e)}_x + Wa^{(e)}_y
$$
The density term corresponds to the mixed-size module bin-based density objective described in \cite{kahngaplace}. The placement area is divided into $B$ bins, and the placer seeks to equalize the overlap at each bin. For a bin $b$, let $x_b$ be the $x$-coordinate of the center and $w_b$ be the width. Then the smoothed overlap $\Theta_x(b, i)$ in the $x$-direction between bin $b$ and module $i$ with width $w_i$ and height $h_i$ is
$$
\Theta_x (b,i) =
    \begin{cases}
        1-2d_x^2/w_b^2,\quad \textrm{if }0 \leq d_x \leq w_b/2\\
        2(d_x - w_b)^2/w_b^2,\quad \textrm{if }w_b/2 \leq d_x \leq w_b\\
        0 \quad \textrm{if }w_b \leq d_x
    \end{cases}
$$
where $d_x = |x_i - x_b|$. The overlap in the $y$-direction is defined similarly. The density function of bin $b$ is then
\begin{equation}
    D_b(x,y) = \sum_{i}C_i \Theta_x(b,i)\Theta_y(b,i)
\end{equation}
where $C_i$ is a normalization factor such that $\sum_{b}C_i\Theta_x(b,i)\Theta_y(b,i) = w_i h_i$\textemdash the area of module $i$. Finally, $D(x,y) = \sum_{b}(D_b(x,y) - \frac{\sum_i (w_ih_i)}{B})^2$.

\subsection{Net-separation optimization via margin maximization}
\begin{figure}[t]
\centering
\begin{minipage}[b]{.48\linewidth}
    \centering
    \includegraphics[width=0.8\linewidth,trim=4 4 4 4,clip]{figures/rudy.png}
    \subcaption{}
    \label{fig:rudy}
\end{minipage}%
\begin{minipage}[b]{.48\linewidth}
    \centering
    \includegraphics[width=0.8\linewidth,trim=4 4 4 4,clip]{figures/separator.png}
    \subcaption{}
    \label{fig:separator}
\end{minipage}%
\caption{Congestion between nets denoted by red and blue pins. \textbf{(\subref{fig:rudy})} Rectilinear density metrics are pessimistic. \textbf{(\subref{fig:separator})} An optimistic model of routability. The margin between the convex hulls of nets.}
\label{fig:ec}
\end{figure}

As mentioned in Sec. \ref{sec:related}, typical approaches to model routing congestion rely on estimating or expressing the routed wire density as a function of pin-density and the feasible routing-area (e.g. the pin-bounding box \cite{spindler2007rudy}). The goal is then to minimize this notion of wire-density. In this work, we model the feasible routing region as the convex-hull of the net-pins, and our goal is to separate routing regions. This prevents over-estimation of the routing density as shown in Fig. \ref{fig:ec}. The method consists of two steps:
\begin{enumerate}
\itemsep=0em
    \item Given two nets, find the max-margin separator $h$.
    \item For all movable components, find directions (gradients) that maximize the margin with respect to $h$.
\end{enumerate}
Consider a $k$-pin net $e$ defined by pins with coordinates $e_1 = [{e_1}_x, {e_1}_y], e_2 = [{e_2}_x, {e_2}_y], \ldots, e_k = [{e_k}_x, {e_k}_y]\in \mathbb{R}^2$. Note that the coordinates of \textit{any} point lying in the convex hull of the net-area may be written as a convex combination of these pin coordinates. Let $A_e^\top=
\begin{bmatrix}
{e_1}_x & {e_2}_x & \hdots & {e_k}_x  \\
{e_1}_y & {e_2}_y & \hdots & {e_k}_y
\end{bmatrix}$
be the \textit{pin-matrix} associated with net $e$. Now consider a $k'$-pin net  $e'$ with associated pin matrix $A_{e'}$.
For the convex hulls characterized by the pins to \textit{not} intersect, there necessarily must be a $u \not = 0$ and $\gamma$ such that $x^\top u - \gamma$ is nonpositive for all $x$ lying in one net, and nonnegative for all $x$ lying in the other net. We denote the hyperplane defined by $\{x | x \in \mathbb{R}^2, x^\top u = \gamma\}$ the \textit{separating hyperplane}, and we want to introduce a regularizer which encourages $e$ and $e'$ to lie in different half-spaces with sufficient margin.
Note that $e$ and $e'$ do not intersect if there is no shared point in the interior of the convex hulls characterized by the coordinates of pins in $e$ and $e'$\textemdash i.e. if the following has \textit{no solution}.
\begin{flalign*}
&\exists \delta_{A_e} \in \mathbb{R}^k, \delta_{A_{e'}} \in \mathbb{R}^{k'} \\
&\textrm{ such that } A_e^\top\delta_{A_e} = A_{e'}^\top\delta_{A_{e'}} \quad \mathbf{1}^\top\delta_{A_e}, \mathbf{1}^\top\delta_{A_{e'}}=1,\\
&\phantom{\textrm{ such that }}\delta_{A_e}, \delta_{A_{e'}} \geq 0
\end{flalign*}
Namely, duality \& Farkas' Lemma
provide the conditions that must be satisfied if the convex hulls defined by the pins \textit{do not} intersect
\begin{flalign*}
&A_{e}u \geq \alpha \mathbf{1} \quad A_{e'}u\leq \beta \mathbf{1} \quad \alpha - \beta > 0 \\
&\implies A_{e}u - \gamma \mathbf{1} \geq \mathbf{1}, \quad A_{e'}u - \gamma \mathbf{1} \leq -\mathbf{1}
\end{flalign*}
This formulation naturally implies the solution to the following minimization problem. Note that one might alternatively aim to find the \textit{maximum-margin} separator. Due to the equivalence with the SVM optimization problem~\cite{cortes1995support,kristindualgeomsvm}, efficient solvers may be employed to recover $\gamma$ and $u$.
\begin{equation}
\begin{aligned}
0 &= \min_{u, \gamma}f(e,e',u,\gamma) \\
&= \min_{u,\gamma}||(-A_{e}u + (\gamma+1)\mathbf{1})_+||_2 + \\
&\:\:\phantom{=\min}||(A_{e'}u - (\gamma - 1)\mathbf{1})_+||_2
\end{aligned} \label{eq:ns}
\end{equation}
\noindent Let $A_e$ be the pin matrix corresponding to net $e$. We define the net-separation regularizer:
\begin{equation}
\begin{aligned}
Ns(\cdot) = \frac{1}{|\mathcal{M}|}\sum_{e'\in \mathcal{E}}&\min_{u, \gamma}f(e,e',u,\gamma)
\end{aligned} \label{eq:nstotal}
\end{equation}
The gradient of $Ns$ can then be recovered with respect to the $i$-th row (pin coordinates) of $A_e$:
$$
\frac{\partial Ns}{\partial (A_e)_i} = \mathds{1}_{(A_e)_i\cdot u \leq \gamma+1}2\langle u, (\gamma+1)\mathbf{1}-A_eu \rangle
$$
Note that due to the reliance of the above gradient on $\gamma$, and the reliance of $\gamma$ on pin coordinates $A_e$, we adopt an alternating minimization method described in Sec. \ref{sec:formulation}.B.

\section{Introduction}
\label{sec:introduction}

Packaging technology continues to advance from Printed Circuit Boards, Flip-Chip, Integrated Fan-Out (InFO), Chip-on-Wafer-on-Substrate (CoWoS)~\cite{douglas2014wafer}, Integrated Fan-Out (InFO)~\cite{douglas2017advanced},
to System-on-Integrated-Circuit (SoIC)~\cite{chen2019system} for More than Moore. However, the integration of the packages encounters significant manufacturability and yield issues due to components with arbitrary shape, non-Manhattan routing directions, vias of larger than routing track pitches, high resistance, and/or reliability problems. In this paper, we use Printed Circuit Board placement as a test vehicle to improve manufacturability and yield. We separate nets in 2D space to minimize net crossings, and encourage same layer routing. Our goal is to minimize post-route design rule violations, and reduce via usage. We additionally expect a reduction in the routed metal length.

The PCB placement problem exhibits additional challenges compared to Integrated Chip (IC) placement including arbitrary component shapes,  board boundaries, multiple layers, and routing constraints. Conventional analytical IC placers \cite{ckcheng2018replace} suffer from several key issues which prevent convergence to good\textemdash or even reasonable\textemdash solutions (with respect to wirelength and routability): (1) The vanilla RePlace \cite{ckcheng2018replace} implementation fails to find good solutions for multi-layer designs with diversely sized components. (2) The rate of convergence of the algorithm is dependent on design-specific parameters\textemdash e.g. filler cells and anchor weights.

In this work, we propose and apply a gradient descent-based algorithm to optimize wirelength, component density, and routability and a mixed-integer linear program (MILP) for local legalization. The computational bottleneck introduced by the MILP is addressed by integrating global relative positioning constraints derived from the gradient-based placement stage. Furthermore, our framework involves very few design-dependent parameters. This allows our framework to be generally applied to a variety of designs without a costly tuning stage.
\subsection{Contribution}
Our contributions can be summarized as follows:
\begin{enumerate}
\itemsep=0em
    \item We propose the NS-Place framework for PCB layout which minimizes net congestion using a support vector machine-like formulation and performs legalization by solving a congestion-aware MILP.
    \item We demonstrate that the routed placements produced by our framework have fewer design rule violations and vias, and shorter total metal length compared to manual placements.
\end{enumerate}
In section~\ref{sec:related}, we review previous work. In section~\ref{sec:formulation}, we describe our routability objective. The NS-Place placement framework, including initialization and the MILP-based legalizer is described in Section~\ref{sec::flow}. In section~\ref{sec:results}, we present experimental results on real PCB testcases. We conclude in section~\ref{sec:conclusion}.

\section{Related Work}
\label{sec:related}

In this section we review the previous work with respect to cost and congestion-driven placement and PCB layout.

\subsection{Cost-driven placement}
\iffalse
A naive formulation of placement of square cells on a rectangular, single-layer chip can be formalized as embedding the nodes of a graph - corresponding to a netlist - in the plane such that edge-lengths are minimized and nodes (cell instances) are subject to non-overlapping constraints. This can be concisely expressed as the following unconstrained optimization problem over cell instance positions $(x_i, y_i)$ given the netlist-graph connectivity\textemdash a set of edges $\mathcal{E}$, component lengths $l_i$ and $l_j$, and boundary constraints $b_x$ and $b_y$:
\begin{equation}
  \begin{aligned}
    \min_{x,y} &\sum_{i,j \in \mathcal{E}} c_{i,j} (|x_i - x_j| + |y_i - y_j|) \\
    \text{s.t. } &\min{(\frac{l_i + l_j}{2} - |x_i - x_j|, \frac{l_i + l_j}{2} - |y_i - y_j|)} \leq 0 \\
    & \:|x_i| \leq (b_x - l_i)/2 \text{, }|y_i| \leq (b_y - l_i)/2 \\
  \end{aligned}
  \label{eq::milp}
\end{equation}
Due to the non-differentiability of the overlap constraint in Eq. \ref{eq::milp},
\fi
Conventional global placement strategies for ICs seek to minimize wirelength subject to density constraints. Density constraints are typically integrated with the objective to yield an unconstrained relaxation (e.g. as in \cite{ckcheng2018replace}):
\begin{equation}
  \begin{aligned}
    \min_{x,y} (\sum_{e=(i,j) \in \mathcal{E}} Wl(e; x, y) + \lambda D(x,y))
  \end{aligned}
  \label{eq::repl}
\end{equation}
where $Wl(\cdot; \cdot)$ is a function that takes a net instance $e$ as input and returns the cumulative wirelength,, and $D(\cdot)$ is a density penalty. In the context of IC layout, the wirelength of a net is commonly modelled as the half-perimeter wirelength (HPWL) or a smooth alternative and $D$ is a smooth density \cite{LuePlace15}. Overlap constraints are typically satisfied over the placement process by gradually increasing the weight $\lambda$, at the cost of increased wirelength. The current state-of-the-art IC placement algorithms \cite{LuePlace15, ckcheng2018replace} solve Problem \ref{eq::repl} in this manner. We adopt a similar formulation for PCB placement.
\subsection{Congestion-driven Placement}

A typical method of estimating routing demand is to consider pin or feasible routed-wire density~\cite{spindler2007rudy}. Other methods include applying Rent's rule~\cite{li04}, or more sophisticated routing models; for example relying on the construction of rectilinear Steiner trees or the external evaluation of a router \cite{roy07}. State of the art techniques for congestion-aware placement include mPL~\cite{li04}, a multilevel analytical placer based on non-linear optimization and estimating the routing demand based on a two-pin connection routing model, ROOSTER~\cite{roy07}: a min-cut placer which models nets by Rectilinear Steiner Minimal Trees, and APlace~\cite{kahngaplace}, a multilevel analytical placer based on non-linear optimization and stochastic estimates of the routing demand. Similar to our work, \cite{shabbeer2012crossing} propose to minimize a smooth upper bound on the crossing number to reduce edge crossings in the context of graph visualization, but their formulation is incapable of handling multi-pin nets.

These techniques generally suffer from inadequate estimation or prohibitive computational cost. In contrast, the framework proposed in this work is rigorous and does not rely on rerunning the placement algorithm or applying post-placement optimization.

\subsection{PCB Placement}
Examples of previous work on the PCB placement problem include \cite{JainPCBGenetic96, FatimahSOGAA12, BadriyahGARLEE16, AlexSwarm17}. These techniques rely on various meta-heuristics to produce non-overlapping layouts while taking into account various metrics such as thermal and power characteristics of components, timing, and tidiness. In general, these methods suffer from drawbacks\textemdash e.g. are computationally expensive, incapable of rotating components, or evaluated on synthetic or toy benchmarks. In contrast, our framework is efficient, capable of rotating modules, extensible, and validated on production PCB designs placed by industry experts. We additionally acknowledge the similarity of the PCB placement problem to macro placement, and point the reader to \cite{AdyaMacroPlace05} for a review of relevant techniques.