text:
International motoring
icon Roadside Assistance search Contact Sign up
icon Roadside Assistance
Driving Overseas
Cost of Transport
Contacting my local MP
Who is the AAA?
Can I take my motorcycle overseas?
Get your passport to driving overseas before you leave Australia
If you are planning to drive while overseas this Christmas, don't risk disruptions to your travel plans or serious legal and financial problems. To drive legally in most countries, Australian travellers need an international driving permit.
If you are planning to drive while overseas this Christmas, don't risk disruptions to your travel plans or serious legal and financial problems.
To drive in most overseas countries, Australian travelers need more than just a valid Australian driver's license.
But many travelers don't realise the serious risks of driving without a current international driving permit (IDP).
Not having an IDP can ruin your plans in several ways.
An IDP is required for renting a motor vehicle in most countries, which means some companies won't even let you rent a car.
"Our staff get calls almost every day from travellers who have made arrangements to hire a car but have been turned away when they were not able to show a current IDP," says Australian Automobile Association Chief Executive, Michael Bradley.
"It's much less hassle to organise an IDP before leaving Australia than it is from overseas.
"But travelers can actually face worse problems if the rental company lets them hire a car without a valid IDP. If they have an accident or are stopped by the police, their trip can really go sour."
A routine traffic stop can turn into a bureaucratic nightmare, culminating in a hefty fine, and insurers won't pay out on accidents if you have been driving without an IDP. In most countries, driving without an IDP is equivalent to driving without valid insurance.
Apply for an IDP
How an IDP works
An IDP is a United Nations-sanctioned document printed in nine languages, so that local authorities can read it. It lets you drive legally in more than 150 countries and is valid for 12 months.
It includes photo ID and driver information, so it is also very helpful for travelers who find themselves in need of identification or assistance.
While an IDP is proof that you hold a current domestic driver's licence, you must also carry your domestic driver's licence with your IDP.
Don't risk it
Mr Bradley warns that your IDP only covers you for the classes of vehicle you are licensed to drive in Australia.
"If you hire a motorcycle in Southeast Asia, but don't have an Australian motorbike license, your IDP may or may not fool the traffic cop who pulls you over– but it won't convince your travel insurer to pay out on any claims," he says.
"Many countries don't make it clear that these rules apply, and it's only when travelers have an accident or are stopped by the police that they realise the consequences of driving without an IDP."
This year, Greece cracked down on non-EU travelers driving without an IDP. Most Greek car hire companies will no longer rent vehicles to Australians who don't have an IDP, and Australian drivers who can show an IDP when stopped by Greek police can now be fined up to 1,000 euros ($A1,580).
While Greece is having a crackdown on international drivers, Australian drivers can strike similar problems in most countries.
The Australian Government recommends that travelers obtain a valid IDP before leaving Australia.
A recent AAA survey of IDP customers showed 77 per cent used their IDP while overseas. The countries where the IDPs were most widely used included Japan, Italy, Greece, France and the US.
An IDP costs $A39 plus postage and takes 3-8 business days to be processed and delivered in Australia. It is valid for 12 months from the purchase date, unless your domestic drivers licence expires or is suspended or revoked in the meantime.
For more information see the Australian Automobile Association's website: www.aaa.asn.au
$125 million Volkswagen penalty reinforces need for accurate consumer information
The Federal Government should urgently consider ensuring motorists have access to independent testing reports on vehicle emissions following today's decision by the Federal Court ordering Volkswagen AG to pay $125 million in penalties for making false representations about diesel emissions.
MYEFO's extra $4.2 billion for transport infrastructure endorsed by AAA
Australia's peak motoring body has welcomed and endorsed the Federal Government's decision to bring forward $4.2 billion in transport infrastructure investment as part of the Midyear Economic and Fiscal Outlook (MYEFO).
Latest road toll figures show National Road Safety Strategy has failed
Australia's alarmingly high road toll remains stuck at the levels it was at four years ago.
We use cookies to provide you with the best possible experience on our website. By continuing to use this site you consent to the use of cookies. You can find out more about the cookies we use and learn how to manage them in our Privacy Policy.
The AAA would like to send you occasional news, surveys and information relating to its products, services and events. To join our mailing list simply tick this box. You can unsubscribe at any time.
I have read and accept the AAA Privacy Policy.

redpajama_set_name: RedPajamaCommonCrawl


text:
\section{Introduction}

Convolutional Neural Networks (CNNs) have produced impressive performance improvements in many computer vision tasks, such as image classification~\cite{krizhevsky2012imagenet,simonyan2014very,szegedy2015going,he2016deep,huang2016densely}, object detection~\cite{girshick2014rich,girshick2015fast,ren2015faster,li2016r,liu2016ssd,redmon2016you}, image segmentation~\cite{long2015fully,hariharan2015hypercolumns,chen2014semantic,yu2015multi}, etc.
In the past several years, many innovative CNN network structures have been proposed.
Szegedy {\em{et al.}}~\cite{szegedy2015going} propose an ``Inception'' module which concatenates features maps produced by various sized filters. He {\em{et al.}}~\cite{he2016deep} propose residual learning blocks with skip connections, which enable training {\em{very deep}} networks with more than 100 layers.
Huang {\em{et al.}}~\cite{huang2016densely} propose DenseNets with dense layer-wise connections.
Thanks to these excellent network structures, the accuracy of many vision tasks has been greatly improved.
Among them, object detection is one of the fastest moving areas due to its wide applications in surveillance, autonomous driving, etc.

In order to achieve good performance, most of the advanced object detection systems fine-tune networks
pre-trained on ImageNet~\cite{deng2009imagenet}. This fine-tuning process is also viewed as transfer learning~\cite{oquab2014learning}.
Fine-tuning from pre-trained models has at least two advantages.
First, there are many state-of-the-art deep models publicly available.
It is very convenient to reuse them for object detection.
Second, fine-tuning can quickly generate the final model and requires much less instance-level annotated training data than the classification task.
\begin{figure*}[]
	\centering
	\includegraphics[width=0.80\textwidth]{images/dense_connection_update2}
	\vspace{-0.12in}
	\caption{DSOD prediction layers with plain and dense structures (for 300$\times$300 input).
		Plain structure is introduced by SSD~\cite{liu2016ssd} and dense structure is ours.
		See Section~\ref{model} for more details.}
	\label{dense_connection}
	\vspace{-0.16in}
\end{figure*}

However, there are also critical limitations when adopting the pre-trained networks in object detection:
(1) {\em{Limited structure design space}}.
The pre-trained network models are mostly from ImageNet-based classification task, which are usually very heavy --- containing a huge number of parameters.
Existing object detectors directly adopt the pre-trained networks,
and as a result there is little flexibility to control/adjust the network structures (even for small changes of network structure).
The requirement of computing resources is also bounded by the heavy network structures.
(2) {\em{Learning bias}}.
As both the loss functions and the category distributions between classification and detection tasks are different,
we argue that this will lead to different searching/optimization spaces.
Therefore, learning may be biased towards a local minimum which is not the best for detection task.
(3) {\em{Domain mismatch}}. As is known, fine-tuning can mitigate the gap due to different target category distribution.
However, it is still a severe problem when the source domain (ImageNet) has a huge mismatch to the target domain such as depth images, medical images, etc \cite{gupta2016cross}.

Our work is motivated by the following two questions.
First, is it possible to train object detection networks from scratch?
Second, if the first answer is positive,
are there any principles to design a resource efficient network structure for object detection while keeping high detection accuracy?
To meet this goal, we propose deeply supervised objection detectors (DSOD), a simple yet efficient framework which could learn object detectors from scratch.
DSOD is fairly flexible, so that we can tailor various network structures for different computing platforms such as server, desktop, mobile and even embedded devices.

We contribute a set of principles for designing DSOD.
One key point is that {\em{deep supervision}} plays a critical role, which is motivated by the work of~\cite{lee2015deeply,xie2015hed}. In~\cite{xie2015hed}, Xie {\em{et al.}} proposed a holistically-nested structure for edge detection, which included the side-output layers to each conv-stage of base network for explicit deep supervision.
Instead of using the multiple cut-in loss signals with side-output layers, this paper adopts {\em{deep supervision}} implicitly through the dense layer-wise connections proposed in DenseNet~\cite{huang2016densely}.
Dense structures are not only adopted in the backbone sub-network, but also in the front-end multi-scale prediction layers.
Figure~\ref{dense_connection} illustrates the structure comparison in front-end prediction layers.
The fusion and reuse of multi-resolution prediction-maps help keep or even improve the final accuracy
while reducing model parameters to some extent.

Our main contributions are summarized as follows:
\begin{itemize}
	\addtolength{\itemsep}{-0.1in}
	\item[(1)] We present DSOD, to the best of our knowledge, world first framework that can train object detection networks from scratch with state-of-the-art performance.
	\item[(2)] We introduce and validate a set of principles to design efficient object detection networks from scratch through step-by-step ablation studies.
	\item[(3)] We show that our DSOD can achieve state-of-the-art performance on three standard benchmarks (PASCAL VOC 2007, 2012 and MS COCO datasets) with real-time processing speed and more compact models.
\end{itemize}

\renewcommand{\arraystretch}{1.1}
\begin{table*}[]
	\centering
	\resizebox{0.65\textwidth}{!}
		\begin{tabular}{c|c|c|c}
			\hline
			\multicolumn{2}{c|}{Layers}                                & Output Size (Input 3$\times$\cross{300}) & DSOD                                                               \\ \hline
			\multirow{4}{*}{Stem}             & Convolution             &64$\times$150$\times$150  & 3$\times$3 conv, stride 2                                                     \\ \cline{2-4}
			& Convolution             & 64$\times$150$\times$150  & 3$\times$3 conv, stride 1                                                     \\ \cline{2-4}
			& Convolution             & 128$\times$150$\times$150 & 3$\times$3 conv, stride 1                                                     \\ \cline{2-4}
			& Pooling                 & 128$\times$75$\times$75   & 2$\times$2 max pool, stride 2                                                \\ \hline
			\multicolumn{2}{c|}{\begin{tabular}[c]{@{}c@{}}Dense Block\\ (1)\end{tabular}}                       & 416$\times$75$\times$75   & \conv{6} \\ \hline
			\multicolumn{2}{c|}{\multirow{2}{*}{\begin{tabular}[c]{@{}c@{}}Transition Layer\\ (1)\end{tabular}}} & 416$\times$75$\times$75   & 1$\times$1 conv                                                              \\ \cline{3-4}
			\multicolumn{2}{c|}{}                                      & 416$\times$38$\times$38   & 2$\times$2 max pool, stride 2                                                \\ \hline
			\multicolumn{2}{c|}{\begin{tabular}[c]{@{}c@{}}Dense Block\\ (2)\end{tabular}}                       & 800$\times$38$\times$38   &                     \conv{8}                                              \\ \hline
			\multicolumn{2}{c|}{\multirow{2}{*}{\begin{tabular}[c]{@{}c@{}}Transition Layer\\ (2)\end{tabular}}} & 800$\times$38$\times$38   & 1$\times$1 conv                                                              \\ \cline{3-4}
			\multicolumn{2}{c|}{}                                      & 800$\times$19$\times$19   & 2$\times$2 max pool, stride 2                                                \\ \hline
			\multicolumn{2}{c|}{\begin{tabular}[c]{@{}c@{}}Dense Block\\ (3)\end{tabular}}                       & 1184$\times$19$\times$19  &                        \conv{8}                                               \\ \hline
			\multicolumn{2}{c|}{Transition w/o Pooling Layer (1)}      & 1184$\times$19$\times$19  & 1$\times$1 conv                                                              \\ \hline
			\multicolumn{2}{c|}{\begin{tabular}[c]{@{}c@{}}Dense Block\\ (4)\end{tabular}}                       & 1568$\times$19$\times$19  &                        \conv{8}                                               \\ \hline
			\multicolumn{2}{c|}{Transition w/o Pooling Layer (2)}      & 1568$\times$19$\times$19  & 1$\times$1 conv                                                              \\ \hline
			\multicolumn{2}{c|}{DSOD Prediction Layers}                           &    --       & Plain/Dense                                                           \\ \hline
		\end{tabular}
	}
	\vspace{-0.05in}
	\caption{DSOD architecture (growth rate $k$ = 48 in each dense block).}
	\label{base_network}
	\vspace{-0.15in}
\end{table*}
\section{Related Work}\label{related_work}
\noindent{\textbf{Object Detection.}}
State-of-the-art CNN based object detection methods can be divided into two groups: (i) region proposal based methods and (ii) proposal-free methods.

Proposal based methods include R-CNN~\cite{girshick2014rich}, Fast R-CNN~\cite{girshick2015fast}, Faster R-CNN~\cite{ren2015faster} and R-FCN~\cite{li2016r}.
R-CNN uses selective search~\cite{uijlings2013selective} to first generate potential object regions in an image and then perform classification on the proposed regions.
R-CNN requires high computational costs since each region is processed by the CNN network separately. Fast R-CNN and Faster R-CNN improve the efficiency by sharing computation and using neural networks to generate the region proposals. R-FCN further improves speed and accuracy by removing fully-connected layers and adopting position-sensitive score maps for final detection.

Proposal-free methods like YOLO~\cite{redmon2016you} and SSD~\cite{liu2016ssd} have recently been proposed for real-time detection. YOLO uses a single feed-forward convolutional network to directly predict object classes and locations. Comparing with the region-based methods, YOLO no longer requires a second per-region classification operation so that it is extremely fast. SSD improves YOLO in several aspects, including (1) using small convolutional filters to predict categories and anchor offsets for bounding box locations; (2) using pyramid features for prediction at different scales; and (3) using default boxes and aspect ratios for adjusting varying object shapes. Our proposed DSOD is built upon the SSD framework and thus it inherits the speed and accuracy advantages of SSD, while produces smaller and more flexible models.

\noindent{\textbf{Network Architectures for Detection.}}
Significant efforts have been devoted to the design of network architectures for image classification.
Many different networks are emerged, such as AlexNet~\cite{krizhevsky2012imagenet}, VGGNet~\cite{simonyan2014very}, GoogLeNet~\cite{szegedy2015going}, ResNet~\cite{he2016deep} and DenseNet~\cite{huang2016densely}. Meanwhile, several regularization techniques~\cite{srivastava2014dropout,ioffe2015batch} have also been proposed to further enhance the model capabilities.
Most detection methods \cite{girshick2014rich,girshick2015fast,ren2015faster,liu2016ssd} directly utilize pre-trained ImageNet models as the backbone network.

Some other works design specific backbone network structures for object detection, but still require pre-training the network on ImageNet classification dataset first.
For instance, YOLO~\cite{redmon2016you} defines a network with 24 convolutional layers followed by 2 fully connected layers. YOLO9000~\cite{redmon2016yolo9000} improves YOLO by proposing a new network named Darknet-19, which is a simplified version of VGGNet~\cite{simonyan2014very}.
Kim {\em et al.} \cite{kim2016pvanet} proposes PVANet for object detection, which consists of the simplified ``Inception'' block from GoogleNet.
Huang {\em et al.}~\cite{huang2016speed} investigated various combination of network structures and detection frameworks, and found that Faster R-CNN~\cite{ren2015faster} with Inception-ResNet-v2~\cite{szegedy2016inception} achieved the highest performance.
In this paper, we also consider network structures for generic object detection.
However, the pre-training on ImageNet is no longer required by the proposed DSOD.

\noindent{\textbf{Learning Deep Models from Scratch.}}
To the best of our knowledge, there are no works which train object detection networks from scratch.
The proposed approach has very appealing advantages over existing solutions.
We will elaborate and validate the method in the following sections.
In semantic segmentation, J{\'e}gou {\em {et al.}}~\cite{jegou2016one} demonstrated that a well-designed network structure can outperform state-of-the-art solutions without using the pre-trained models. It extends DenseNets to fully convolutional networks by adding an upsampling path to recover the full input resolution.

\section{DSOD}\label{model}
In this section, we first introduce our DSOD architecture and its components, and elaborate several important design principles. Then we describe the training settings.

\subsection{DSOD Architecture}
\paragraph{Overall Framework.}
The proposed DSOD method is a multi-scale proposal-free detection framework similar to SSD \cite{liu2016ssd}.
The network structure of DSOD can be divided into two parts: the backbone sub-network for feature extraction and the front-end sub-network for prediction over multi-scale response maps.
The backbone sub-network is a variant of the deeply supervised DenseNets \cite{huang2016densely} structure, which is composed of a {\em {stem block}}, four {\em {dense blocks}}, two {\em {transition layers}} and two {\em {transition w/o pooling layers}}.
The front-end subnetwork (or named {\em DSOD prediction layers}) fuses multi-scale prediction responses with an elaborated {\em {dense structure}}.
Figure~\ref{dense_connection} illustrates the proposed DSOD prediction layers along with the plain structure of multi-scale predicting maps as used in SSD \cite{liu2016ssd}.
The full DSOD network architecture\footnote{The visualization of the complete network structure is available at: \url{http://ethereon.github.io/netscope/\#/gist/b17d01f3131e2a60f9057b5d3eb9e04d}.} is detailed in Table~\ref{base_network}.
We elaborate each component and the corresponding design principle in the following.

\noindent{\textbf{Principle 1: Proposal-free.}}
We investigated all the state-of-the-art CNN based object detectors, and found that they could be divided into three categories.
First, R-CNN and Fast R-CNN require external object proposal generators like selective search.
Second, Faster R-CNN and R-FCN require integrated region-proposal-network (RPN) to generate relatively fewer region proposals.
Third, YOLO and SSD are single-shot and proposal-free methods, which handle object location and bounding box coordinates as a regression problem.
We observe that only the proposal-free method (the 3rd category) can converge successfully without the pre-trained models.
We conjecture this is due to the RoI (Regions of Interest) pooling in the other two categories of methods ---
RoI pooling generates features for each region proposals, which hinders the gradients being smoothly back-propagated from region-level to convolutional feature maps.
The proposal-based methods work well with pre-trained network models because the parameter initialization is good for those layers before RoI pooling,
while this is not true for training from scratch.

Hence, we arrive at the first principle: training detection network from scratch requires a proposal-free framework.
In practice, we derive a multi-scale proposal-free framework from the SSD framework \cite{liu2016ssd},
as it could reach state-of-the-art accuracy while offering fast processing speed.

\noindent{\textbf{Principle 2: Deep Supervision.}}
The effectiveness of deeply supervised learning has been demonstrated in GoogLeNet~\cite{szegedy2015going}, DSN~\cite{lee2015deeply}, DeepID3~\cite{sun2015deepid3}, etc.
The central idea is to provide integrated objective function as direct supervision to the earlier hidden layers, rather than only at the output layer.
These ``companion''  or ``auxiliary'' objective functions at multiple hidden layers can mitigate the ``vanishing'' gradients problem.
The proposal-free detection framework contains both classification loss and localization loss.
The explicit solution requires adding complex side-output layers to introduce ``companion'' objective at each hidden layer for the detection task, similar to \cite{xie2015hed}.
Here we empower \textit{deep supervision} with an elegant \& implicit solution called dense layer-wise connection, as introduced in DenseNets~\cite{huang2016densely}.
A block is called \textit{dense block} when all preceding layers in the block are connected to the current layer.
Hence, earlier layers in DenseNet can receive additional supervision from the objective function through the skip connections.
Although only a single loss function is required on top of the network, all layers including the earlier layers still can share the supervised signals unencumbered.
We will verify the benefit of deep supervision in Section~\ref{validation}.

\noindent{\emph{Transition w/o Pooling Layer.}}
We introduce this layer in order to increase the number of dense blocks without reducing the final feature map resolution.
In the original design of DenseNet, each transition layer contains a pooling operation to down-sample the feature maps. The number of dense blocks is fixed (4 dense blocks in all DenseNet architectures) if one wants to maintain the same scale of outputs.
The only way to increase network depth is adding layers inside each block for the original DenseNet.
The transition w/o pooling layer eliminates this restriction of the number of dense blocks in our DSOD architecture, and can also be used in the standard DenseNet.

\noindent{\textbf{Principle 3: Stem Block.}}
Motivated by Inception-v3~\cite{szegedy2016rethinking} and v4~\cite{szegedy2016inception}, we define stem block as a stack of three 3$\times$3 convolution layers followed by a 2$\times$2 max pooling layer. The first conv-layer works with stride = 2 and the other two are with stride = 1. We find that adding this simple stem structure can evidently improve the detection performance in our experiments.
We conjecture that, compared with the original design in DenseNet (7$\times$7 conv-layer, stride = 2 followed by a 3$\times$3 max pooling, stride = 2), the stem block can reduce the information loss from raw input images.
We will show that the reward of this stem block is significant for detection performance in Section~\ref{validation}.

\noindent{\textbf{Principle 4: Dense Prediction Structure.}}
Figure~\ref{dense_connection} illustrates the comparison of the plain structure (as in SSD) and our proposed dense structure in the front-end sub-network.
SSD designs prediction-layers as an asymmetric hourglass structure. For 300$\times$300 input images, six scales of feature maps are applied for predicting objects.
The Scale-1 feature maps are from the middle layer of the backbone sub-network, which has the largest resolution (38$\times$38) in order to handle the small objects in an image.
The remaining five scales are on top of the backbone sub-network. Then, a plain transition layer with the {\em {bottleneck}} structure (a 1$\times$1 conv-layer for reducing the number of feature maps plus a 3$\times$3 conv-layer)~\cite{szegedy2016rethinking,he2016deep} is adopted between two contiguous scales of feature maps.

\noindent{\emph{Learning Half and Reusing Half.}}
In the plain structure as in SSD (see Figure~\ref{dense_connection}), each later scale is directly transited from the adjacent previous scale.
We propose the dense structure for prediction, which fuses multi-scale information for each scale.
For simplicity, we restrict that each scale outputs the same number of channels for the prediction feature maps.
In DSOD, in each scale (except scale-1), half of the feature maps are learned from the previous scale with a series of conv-layers,
while the remaining half feature maps are directly down-sampled from the contiguous high-resolution feature maps.
The down-sampling block consists of a 2$\times$2, stride $=$ 2 max pooling layer followed by a 1$\times$1, stride = 1 conv-layer.
The pooling layer aims to match resolution to current size during concatenation.
The 1$\times$1 conv-layer is used to reduce the number of channels to 50\%.
The pooling layer is placed before the 1$\times$1 conv-layer for the consideration of reducing computing cost.
This down-sampling block actually brings each scale with the multi-resolution feature maps from all of its preceding scales,
which is essentially identical to the dense layer-wise connection introduced in DenseNets.
For each scale, we only learn half of new feature maps and reuse the remaining half of the previous ones.
This dense prediction structure can yield more accurate results with fewer parameters than the plain structure, as will be studied in Section~\ref{ablation}.
\begin{table}[]
	\centering
	\resizebox{1\linewidth}{!}
		\begin{tabular}{r|cccccccc}

			& \multicolumn{7}{c}{DSOD300}                 \\ \hline
			transition w/o pooling? &    & \Checkmark    & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  \\
			hi-comp factor $\theta$?         &  &      & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  \\
			wide bottleneck?   &     &  &      & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark  \\
			wide 1st conv-layer? &    &   &      &      & \Checkmark  & \Checkmark  & \Checkmark  & \Checkmark   \\
			big growth rate?               &    &      &      &      &      & \Checkmark  & \Checkmark  & \Checkmark  \\
			stem block?                           &     &      &      &      &      &      & \Checkmark  & \Checkmark \\
			dense pred-layers?     & &       &      &      &      &      &      & \Checkmark   \\
			\hline
			VOC 2007 mAP                    & 59.9      & 61.6 & 64.5 & 68.6 & 69.7 & 74.5 & 77.3 & 77.7  \\
		\end{tabular}
	}
	\vspace{-0.1in}
	\caption{\textbf{Effectiveness of various designs on VOC 2007 \texttt{test} set.} Please refer to Table~\ref{ablation_study} and Section~\ref{ablation} for more details.}
	\label{effects}
	\vspace{-0.22in}
\end{table}

\renewcommand{\arraystretch}{1.03}
\setlength{\tabcolsep}{1.0em}
\begin{table*}[]
	\centering
	\resizebox{0.84\textwidth}{!}
		\begin{tabular}{c|c|c|c|c|c|c|c|c}
			\hline
			Method     & data  & pre-train & transition w/o pooling & stem &     backbone network & prediction Layer & \# parameters & mAP  \\ \hline
			DSOD300   & 07+12 &\ding{55}& \ding{55} &\ding{55}& DS/32-12-16-0.5 &   Plain  & 4.1M & 59.9 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\ding{55}& DS/32-12-16-0.5 &   Plain  & 4.2M & 61.6 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\ding{55}& DS/32-12-16-1 &   Plain  &   5.5M   & 64.5 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\ding{55}&  DS/32-64-16-1  &   Plain & 6.1M & 68.6 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\ding{55}&  DS/64-64-16-1  &   Plain  &   6.3M   & 69.7 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\ding{55}&  DS/64-192-48-1  &   Plain & 18.0M &  74.5\\
			\hline
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\Checkmark&  DS/64-12-16-1  &   Plain  &   5.2M   & 70.7 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\Checkmark&  DS/64-36-48-1  &   Plain  &   12.5M   & 76.0 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\Checkmark& DS/64-192-48-1  &   Plain  &  18.2M    & 77.3 \\ \hline
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\Checkmark& DS/64-64-16-1  &   Dense &  5.9M  & 73.6 \\
			DSOD300   & 07+12 &\ding{55}&\Checkmark&\Checkmark& DS/64-192-48-1  &   Dense &  14.8M  & 77.7 \\
			DSOD300   & 07+12+COCO &\ding{55}&\Checkmark&\Checkmark& DS/64-192-48-1  &   Dense &  14.8M  & 81.7 \\
			\hline

		\end{tabular}
	}
	\vspace{-0.1in}
	\caption{\textbf{Ablation study on PASCAL VOC 2007 \texttt{test} set.} \textbf{DS/A-B-$k$-$\theta$} describes our backbone network structure. \textbf{A} denotes the number of channels in the 1st conv-layer. \textbf{B} denotes the number of channels in each {\em{bottleneck}} layer (1$\times$1 convolution). \textbf{$k$} is the growth rate in dense blocks. \textbf{$\theta$} denotes the compression factor in transition layers. See Section~\ref{ablation} for more explanations.}
	\label{ablation_study}
	\vspace{-0.1in}
\end{table*}

\subsection{Training Settings}
We implement our detector based on the Caffe framework \cite{jia2014caffe}.
All our models are trained from scratch with SGD solver on NVidia TitanX GPU.
Since each scale of DSOD feature maps is concatenated from multiple resolutions, we adopt the L2 normalization technique~\cite{liu2015parsenet} to scale the feature norm to 20 on all outputs.
Note that SSD only applies this normalization to scale-1. Most of our training strategies follow SSD, including data augmentation, scale and aspect ratios for default boxes and loss function ({\em{e.g.,}} smooth L1 loss for localization purpose and softmax loss for classification purpose), while we have our own learning rate scheduling and mini-batch size settings. Details will be given in the experimental section.

\renewcommand{\arraystretch}{1.03}
\setlength{\tabcolsep}{1.0em}
\begin{table*}[]
	\centering
	\resizebox{1\textwidth}{!}
		\begin{tabular}{c|c|c|c|c|c|c|c|c}
			\hline
			Method     & data  & pre-train &    backbone network  & prediction layer & speed (\textit{fps}) & \# parameters & input size & mAP  \\ \hline
			Faster RCNN~\cite{ren2015faster}  & 07+12 &\Checkmark&     VGGNet    &     -      &   7    & 134.7M & $\sim600\times1000$&73.2 \\
			Faster RCNN~\cite{ren2015faster}  & 07+12 &\Checkmark&   ResNet-101    &     -      &  2.4$^*$     &   -   &$\sim600\times1000$& 76.4 \\
			R-FCN~\cite{li2016r}     & 07+12 &\Checkmark&   ResNet-50    &     -      &    11   &31.9M& $\sim600\times1000$& 77.4 \\
			R-FCN~\cite{li2016r}     & 07+12 &\Checkmark&   ResNet-101    &     -      &  9     &50.9M& $\sim600\times1000$& 79.5 \\
			R-FCN{\footnotesize{multi-sc}}~\cite{li2016r}    & 07+12 &\Checkmark&ResNet-101& - & 9   &50.9M&$\sim600\times1000$&  80.5 \\ \hline
			YOLOv2~\cite{redmon2016yolo9000}   & 07+12 &\Checkmark&  Darknet-19       &   -    &     81  &-&$352\times352$&  73.7 \\
			SSD300~\cite{liu2016ssd}   & 07+12 &\Checkmark&  VGGNet       &   Plain    &     46  &26.3M&$300\times300$&  75.8 \\
			SSD300*~\cite{liu2016ssd}   & 07+12 &\Checkmark&   VGGNet       &   Plain    &    46   &26.3M& $300\times300$& 77.2 \\

			\hline
			Faster RCNN  & 07+12 &\ding{55}&  VGGNet/ResNet-101/DenseNet  &   \multicolumn{5}{c}{Failed}    \\
			R-FCN     & 07+12 &\ding{55}&  VGGNet/ResNet-101/DenseNet  &   \multicolumn{5}{c}{Failed}    \\ \hline
			SSD300S$^\dagger$    & 07+12 &\ding{55}&   ResNet-101    &   Plain    &   12.1    &   52.8M   & $300\times300$& 63.8$^*$ \\
			SSD300S$^\dagger$     & 07+12 &\ding{55}&    VGGNet       &   Plain    &   46    &  26.3M    &$300\times300$&  69.6 \\
			SSD300S$^\dagger$     & 07+12 &\ding{55}&    VGGNet       &   Dense    &   37    &  26.0M    &$300\times300$&  70.4 \\ \hline

			DSOD300   & 07+12 &\ding{55}&  DS/64-192-48-1  &   Plain    &  20.6     &  18.2M    &$300\times300$&  77.3 \\
			DSOD300   & 07+12 &\ding{55}&  DS/64-192-48-1  &   Dense   &   17.4    &  14.8M  &$300\times300$&  77.7 \\
			DSOD300   & 07+12+COCO &\ding{55}&  DS/64-192-48-1  &   Dense &   17.4  &  14.8M &$300\times300$& 81.7 \\ \hline
		\end{tabular}
	}
	\vspace{-0.1in}
	\caption{\textbf{PASCAL VOC 2007 \texttt{test} detection results.} SSD300* is updated version by the authors after the paper publication. SSD300S$^\dagger$ indicates training SSD300* from scratch with ResNet-101 or VGGNet, which serves as our baseline. Note that the speed of Faster R-CNN with  ResNet-101 (2.4 \textit{fps}) is tested on K40, while others are tested on Titan X. The result of SSD300S with ResNet-101 (63.8\% mAP, without the pre-trained model) is produced with the default setting of SSD, which may not be optimal.}
	\label{VOC2007}
	\vspace{-0.2in}
\end{table*}

\renewcommand{\arraystretch}{1.03}
\setlength{\tabcolsep}{1.0em}
\begin{table*}[]\small
	\centering
	\setlength{\tabcolsep}{1.82pt}
	\resizebox{1\textwidth}{!}
			\begin{tabular}{l|c|c|c|c|cccccccccccccccccccc}
				\hline
				Method &  data  &  backbone network &  pre-train &  mAP &  aero &  bike &  bird &  boat &  bottle &  bus &  car &  cat &  chair &  cow &  table &  dog &  horse &  mbike &  person &  plant &  sheep &  sofa &  train &  tv \\
				\hline
				ION~\cite{bell2016inside} &  07+12+S &  VGGNet & \Checkmark& 76.4 & 87.5 & 84.7 & 76.8 & 63.8 & 58.3 & 82.6 & 79.0 & 90.9 & 57.8 & 82.0 & 64.7 & 88.9 & 86.5 & 84.7 & 82.3 & 51.4 & 78.2 & 69.2 & 85.2 & 73.5 \\
				Faster RCNN~\cite{ren2015faster} &  07++12 &  ResNet-101 & \Checkmark& 73.8 & 86.5 & 81.6 & 77.2 & 58.0 & 51.0 & 78.6 & 76.6 & 93.2 & 48.6 & 80.4 & 59.0 & 92.1 & 85.3 & 84.8 & 80.7 & 48.1 & 77.3 & 66.5 & 84.7 & 65.6 \\
				R-FCN{\footnotesize{multi-sc}}~\cite{li2016r} &  07++12&  ResNet-101 & \Checkmark& 77.6 & 86.9 & 83.4 & 81.5& 63.8& 62.4 & 81.6 & 81.1 & 93.1 & 58.0 & 83.8 & 60.8& 92.7 & 86.0 & 84.6 & 84.4 & 59.0 & 80.8 & 68.6& 86.1 & 72.9 \\ \hline
				YOLOv2~\cite{redmon2016yolo9000} &  07++12 &  Darknet-19 & \Checkmark& 73.4 & 86.3 & 82.0 & 74.8 & 59.2 & 51.8 & 79.8 & 76.5 & 90.6 & 52.1 & 78.2 & 58.5 & 89.3 & 82.5 & 83.4 & 81.3 & 49.1 & 77.2 & 62.4 & 83.8 & 68.7 \\
				SSD300*~\cite{liu2016ssd} &  07++12&
				VGGNet & \Checkmark& 75.8 & 88.1 & 82.9 & 74.4 & 61.9 & 47.6 & 82.7 & 78.8 & 91.5 & 58.1 & 80.0 & 64.1 & 89.4 & 85.7 & 85.5 & 82.6 & 50.2 & 79.8 & 73.6 & 86.6 & 72.1\\
				\hline
				DSOD300 &  07++12&
				DS/64-192-48-1 & \ding{55} & 76.3 & 89.4  & 85.3 & 72.9 & 62.7 & 49.5 & 83.6 & 80.6 & 92.1 & 60.8 & 77.9 & 65.6 & 88.9 & 85.5 & 86.8 & 84.6 & 51.1 & 77.7 & 72.3 & 86.0 & 72.2 \\
				DSOD300 &  07++12+COCO&
				DS/64-192-48-1 & \ding{55} & 79.3 &  90.5 & 87.4 & 77.5 & 67.4 & 57.7 & 84.7 & 83.6 & 92.6 & 64.8 & 81.3 & 66.4 & 90.1 & 87.8 & 88.1 & 87.3 & 57.9 & 80.3 & 75.6 & 88.1 & 76.7 \\
				\hline
			\end{tabular}
	}
	\vspace{-1.6ex}
	\caption{\textbf{PASCAL VOC 2012 \texttt{test} detection results.}
		\textbf{07+12}: 07 \texttt{trainval} + 12 \texttt{trainval}, \textbf{07+12+S}: 07+12 plus segmentation labels, \textbf{07++12}: 07 \texttt{trainval} + 07 \texttt{test} + 12 \texttt{trainval}. Result links are DSOD300 (07+12) : \url{http://host.robots.ox.ac.uk:8080/anonymous/PIOBKI.html}; DSOD300 (07+12+COCO): \url{http://host.robots.ox.ac.uk:8080/anonymous/I0UUHO.html}.}
	\label{voc12}
	\vspace{-1.5ex}
\end{table*}

\begin{table*}[]
	\centering
	\resizebox{1\textwidth}{!}
		\begin{tabular}{l|c|c|c|ccc|ccc|ccc|ccc}
			\hline
			\multirow{2}{*}{Method}          & \multirow{2}{*}{data} & \multirow{2}{*}{network} & \multirow{2}{*}{pre-train} & \multicolumn{3}{c|}{Avg. Precision, IoU:} & \multicolumn{3}{c|}{Avg. Precision, Area:} & \multicolumn{3}{c|}{Avg. Recall, \#Dets:} & \multicolumn{3}{c}{Avg. Recall, Area:} \\
			&                       &              &            & 0.5:0.95        & 0.5        & 0.75       & S            & M            & L            & 1            & 10           & 100         & S           & M           & L           \\ \hline
			Faster RCNN~\cite{ren2015faster} & trainval              & VGGNet          &    \Checkmark     & 21.9            & 42.7       & -          & -            & -            & -            & -            & -            & -           & -           & -           & -           \\
			ION~\cite{bell2016inside}  & train                 & VGGNet    &    \Checkmark   & 23.6            & 43.2       & 23.6       & 6.4          & 24.1         & 38.3         & 23.2         & 32.7         & 33.5        & 10.1        & 37.7        & 53.6        \\
			R-FCN~\cite{li2016r}        & trainval              & ResNet-101 & \Checkmark & 29.2            & 51.5       & -          & 10.3         & 32.4         & 43.3         & -            & -            & -           & -           & -           & -           \\
			R-FCN{\footnotesize{multi-sc}}~\cite{li2016r}        & trainval              & ResNet-101 & \Checkmark & 29.9            & 51.9       & -          & 10.8         & 32.8         & 45.0         & -            & -            & -           & -           & -           & -           \\ \hline
			SSD300 (Huang et al.)~\cite{huang2016speed}        & $<$ trainval35k           & MobileNet   & \Checkmark      & 18.8            & -       & -       & -          & -        & -         & -        & -        & -        & -        & -        & -        \\
			SSD300 (Huang et al.)~\cite{huang2016speed}        & $<$ trainval35k           & Inception-v2   & \Checkmark      & 21.6            & -       & -       & -          & -        & -         & -        & -        & -        & -        & -        & -        \\
			YOLOv2~\cite{redmon2016yolo9000}        & trainval35k           & Darknet-19   & \Checkmark      & 21.6            & 44.0       & 19.2       & 5.0          & 22.4         & 35.5         & 20.7         & 31.6         & 33.3        & 9.8        & 36.5        & 54.4        \\
			SSD300*~\cite{liu2016ssd}        & trainval35k           & VGGNet   & \Checkmark      & 25.1            & 43.1       & 25.8       & 6.6          & 25.9         & 41.4         & 23.7         & 35.1         & 37.2        & 11.2        & 40.4        & 58.4        \\
			DSOD300                           & trainval         & DS/64-192-48-1 & \ding{55} & 29.3            & 47.3       & 30.6       & 9.4          & 31.5         & 47.0         & 27.3         & 40.7         & 43.0        & 16.7        & 47.1        & 65.0        \\ \hline
		\end{tabular}
	}
	\vspace{-1.5ex}
	\caption{\textbf{MS COCO \texttt{test-dev 2015} detection results.}}
	\label{COCO}
	\vspace{-0.18in}
\end{table*}

\section{Experiments}\label{experiments}
We conduct experiments on the widely used PASCAL VOC 2007, 2012 and MS COCO datasets that have 20, 20, 80 object categories respectively.
Object detection performance is measured by mean Average Precision (mAP).

\subsection{Ablation Study on PASCAL VOC2007} \label{ablation}
We first investigate each component and design principle of our DSOD framework.  The results are mainly summarized in Table~\ref{effects} and Table~\ref{ablation_study}.
We design several controlled experiments on PASCAL VOC 2007 with our DSOD300 (with 300$\times$300 inputs) for this ablation study.
A consistent setting is imposed on all the experiments, unless when some components or structures are examined.
In this study, we train the models with the combined training set from VOC 2007 \texttt{trainval} and 2012 \texttt{trainval} (``07+12''), and test on the VOC 2007 testset.

\subsubsection{Configurations in Dense Blocks}
We first investigate the impact of different configurations in dense blocks of the backbone sub-network.

\noindent{\textbf{Compression Factor in Transition Layers.}}
We compare two compression factor values ($\theta$ = 0.5, 1) in the transition layers of DenseNets.
Results are shown in Table~\ref{ablation_study} (rows 2 and 3).
Compression factor $\theta$ = 1 means that there is no feature map reduction in the transition layer, while $\theta$ = 0.5 means half of the feature maps are reduced.
Results show that $\theta$ = 1 yields 2.9\% higher mAP than $\theta$ = 0.5.

\noindent{\textbf{\# Channels in bottleneck layers.}}
As shown in Table~\ref{ablation_study} (rows 3 and 4),
we observe that wider bottleneck layers (with more channels of response maps) improve the performance greatly (4.1\% mAP).

\noindent{\textbf{\# Channels in the 1st conv-layer}}
We observe that a large number of channels in the first conv-layers is beneficial, which brings 1.1\% mAP improvement (in Table~\ref{ablation_study} rows 4 and 5).

\noindent{\textbf{Growth rate.}}
A large growth rate $k$ is found to be much better.
We observe 4.8\% mAP improvement in Table~\ref{ablation_study} (rows 5 and 6) when increase $k$ from 16 to 48 with 4$k$ bottleneck channels.

\vspace{-0.10in}
\subsubsection{Effectiveness of Design Principles} \label{validation}
We now justify the effectiveness of the key design principles elaborated earlier.

\noindent{\textbf{Proposal-free Framework.}}
We tried to train object detectors from scratch using the proposal-based framework such as Faster R-CNN and R-FCN.
However, the training process failed to converge for all the network structures we attempted (VGGNet, ResNet, DenseNet).
We further tried to train object detectors using the proposal-free framework SSD.
The training converged successfully but gives much worse results (69.6\% for VGG), compared with the case fine-tuning from pre-trained model (75.8\%), as shown in Table~\ref{VOC2007}.
This experiment validates our design principle to choose a proposal-free framework.

\noindent{\textbf{Deep Supervision.}}
We then tried to train object detectors from scratch with deep supervision.
Our DSOD300 achieves 77.7\% mAP, which is much better than the SSD300S that
is trained from scratch using VGG16 (69.6\%) without deep supervision.
It is also much better than the fine-tuned results by SSD300 (75.8\%).
This validates the principle of deep supervision.

\noindent{\textbf{Transition w/o Pooling Layer.}}
We compare the case without this designed layer (only 3 dense blocks) and the case with the designed layer (4 dense blocks in our design).
The backbone network is DS/32-12-16-0.5. Results are shown in Table~\ref{ablation_study}. The network structure with the {\em Transition w/o pooling layer} brings 1.7\% performance gain,
which validates the effectiveness of this layer.

\noindent{\textbf{Stem Block.}}
As can be seen in Table~\ref{ablation_study} (rows 6 and 9), the stem block improves the performance from 74.5\% to 77.3\%.
This validates our conjecture that using stem block can protect information loss from the raw input images.

\noindent{\textbf{Dense Prediction Structure.}}
We analyze the dense prediction structure from three aspects: speed, accuracy and parameters.
As shown in Table~\ref{VOC2007}, DSOD with dense front-end structure runs slightly lower than the plain structure (17.4 \textit{fps} vs. 20.6 \textit{fps}) on a Titan X GPU, due to the overhead from additional down-sampling blocks.
However, the dense structure improves mAP from 77.3\% to 77.7\%,
while reduces the parameters from 18.2M to 14.8M.
Table~\ref{ablation_study} gives more details (rows 9 and 10).
We also tried to replace the prediction layers in SSD with the proposed dense prediction layers.
The accuracy on VOC 2007 test set can be improved from 75.8\% (original SSD) to 76.1\% (with pre-trained models), and 69.6\% to 70.4\% (w/o pre-trained models), when using the VGG-16 models as backbone.
This verifies the effectiveness of the dense prediction layer.

\noindent{\textbf{What if pre-training on ImageNet?}}
It is interesting to see the performance of DSOD with backbone network pre-trained on ImageNet.
We trained one lite backbone network DS/64-12-16-1 on ImageNet, which obtains 66.8\% top-1 accuracy and 87.8\% top-5 accuracy on the validation-set (slightly worse than VGG-16).
After fine-tuning the whole detection framework on ``07+12" \texttt{trainval} set, we achieve 70.3\% mAP on the VOC 2007 test-set.
The corresponding training-from-scratch solution achieves 70.7\% accuracy, which is even slightly better.
Future work will investigate this point more thoroughly.

\vspace{-0.10in}
\subsubsection{Runtime Analysis}\label{running_time}
The inference speed is shown in the 6\emph{th} column of Table~\ref{VOC2007}.
With 300$\times$300 input, our full DSOD can process an image in 48.6ms (20.6 \textit{fps}) on a single Titan X GPU with the plain prediction structure,
and 57.5ms (17.4 \textit{fps}) with the dense prediction structure.
As a comparison, R-FCN runs at 90ms (11 \textit{fps}) for ResNet-50 and 110ms (9 \textit{fps}) for ResNet-101.
The SSD300$^*$ runs at 82.6ms (12.1 \textit{fps}) for ResNet-101 and 21.7ms (46 \textit{fps}) for VGGNet.
In addition, our model uses about only 1/2 parameters to SSD300 with VGGNet, 1/4 to SSD300 with ResNet-101, 1/4 to R-FCN with ResNet-101 and 1/10 to Faster R-CNN with VGGNet. {A lite-version of DSOD (10.4M parameters, w/o any speed optimization) can run 25.8 \textit{fps} with only 1\% mAP drops.}

\subsection{Results on PASCAL VOC2007}
Models are trained based on the union of VOC 2007 \texttt{trainval} and VOC 2012 \texttt{trainval} (``07+12'') following~\cite{liu2016ssd}. We use a batch size of 128.
Note that this batch-size is beyond the capacity of GPU memories (even for an 8 GPU server,  each with 12GB memory).
We use a trick to overcome the GPU memory constraints by accumulating gradients over two training iterations, which has been implemented on Caffe platform~\cite{jia2014caffe}.
The initial learning rate is set to 0.1, and then divided by 10 after every 20k iterations.
The training finished when reaching 100k iterations. Following~\cite{liu2016ssd}, we use a weight decay of 0.0005 and a momentum of 0.9.
All conv-layers are initialized with the ``xavier'' method~\cite{glorot2010understanding}.

Table~\ref{VOC2007} shows our results on VOC2007 \texttt{test set}. SSD300$^*$ is the updated SSD results which use the new data augmentation technique. Our DSOD300 with plain connection achieves 77.3\%, which is slightly better than SSD300$^*$ (77.2\%).
DSOD300 with dense prediction structure improves the result to 77.7\%. After adding COCO as training data, the performance is further improved to 81.7\%.
\begin{figure*}[]
	\centering
	\includegraphics[width=0.82\textwidth]{images/examples_small}
	\vspace{-0.20in}
	\caption{Examples of object detection results on the MS COCO {\em {test-dev}} set using DSOD300. The training data is COCO {\em {trainval}} without the ImageNet pre-trained models (29.3\% mAP@[0.5:0.95] on the {\em {test-dev}} set). Each output box is associated with a category label and a softmax score in [0, 1]. A score threshold of 0.6 is used for displaying. For each image, one color corresponds to one object category in that image. The running time per image is 57.5ms on one Titan X GPU or 590ms on Intel (R) Core (TM) i7-5960X CPU @ 3.00GHz.}
	\label{examples}
	\vspace{-0.2in}
\end{figure*}

\subsection{Results on PASCAL VOC2012}
For the VOC 2012 dataset, we use VOC 2012 {\texttt {trainval}} and VOC 2007 {\texttt {trainval}} + {\texttt{test}} for training, and test on VOC 2012 {\texttt{test}} set. The initial learning rate is set to 0.1 for the first 30k iterations, then divided by 10 after every 20k iterations.
The total training iterations are 110k. Other settings are the same as those used in our VOC 2007 experiments.
Our results of DSOD300 are shown in Table~\ref{voc12}. DSOD300 achieves 76.3\% mAP, which is consistently better than SSD300$^*$ (75.8\%).

\subsection{Results on MS COCO}
Finally we evaluate our DSOD on the MS COCO dataset~\cite{lin2014microsoft}. MS COCO contains 80k images for training, 40k for validation and 20k for testing ({\texttt {test-dev}} set).
Following~\cite{ren2015faster,li2016r}, we use the {\texttt {trainval}} set (train set + validation set) for training.
The batch size is also set as 128.
The initial learning rate is set to 0.1 for the first 80k iterations, then divided by 10 after every 60k iterations. The total number of training iterations is 320k.

Results are summarized in Table~\ref{COCO}. Our DSOD300 achieves 29.3\%/47.3\% on the {\texttt {test-dev}} set, which outperforms the baseline SSD300$^*$ with a large margin. Our result is comparable to the single-scale R-FCN, and is close to the R-FCN{\footnotesize{multi-sc}} which uses ResNet-101 as the pre-trained model.
Interestingly, we observe that our result with 0.5 IoU is lower than R-FCN, but our [0.5:0.95] result is better or comparable. This indicates that our predicted locations are more accurate than R-FCN under the larger overlap settings. It is reasonable that our small object detection precision is slightly lower than R-FCN since our input image size (300$\times$300) is much smaller than R-FCN's ($\sim$ 600$\times$1000). Even with this disadvantage, our large object detection precision is still much better than R-FCN. This further demonstrates the effectiveness of our approach. Figure~\ref{examples} shows some qualitative detection examples on COCO with our DSOD300 model.

\section{Discussion}\label{discussion}
\paragraph{Better Model Structure {\em{vs.}} More Training Data.}
An emerging idea in the computer vision community is that object detection or other vision tasks might be solved with deeper and larger neural networks backed with massive training data like ImageNet~\cite{deng2009imagenet}.
Thus more and more large-scale datasets have been collected and released recently, such as the Open Images dataset~\cite{openimages},
which is 7.5x larger in the number of images and 6x larger of categories than that of ImageNet.
We definitely agree that, under modest assumptions that given boundless training data and unlimited computational power, deep neural networks should perform extremely well. However, our proposed approach and experimental results imply an alternative view to handle this problem: a better model structure might enable similar or better performance compared with complex models trained from large data.
Particularly, our DSOD is only trained with 16,551 images on VOC 2007, but achieves competitive or even better performance than those models trained with 1.2 million + 16,551 images.

In this premise, it is worthwhile rehashing the intuition that as datasets grow larger, training deep neural networks becomes more and more expensive. Thus a simple yet efficient approach becomes increasingly important. Despite its conceptual simplicity, our approach shows great potential under this setting.

\vspace{-2 ex}
\paragraph{Why Training from Scratch?}
There have been many successful cases where model fine-tuning works greatly.
One may ask why should we train object detectors from scratch.
We argue that, as aforementioned briefly, training from scratch is of critical importance at least for two cases.
First, there may be big domain differences from pre-trained model domain to the target one.
For instance, most pre-trained models are trained on large scale RGB image dataset, ImageNet.
It is very difficult to transfer ImageNet model to the domains of depth images, multi-spectrum images, medical images, etc.
Some advanced domain adaptation techniques have been proposed.
But what an amazing thing if we have a technique which can train object detector from scratch.
Second, model fine-tuning restricts the structure design space for object detection networks. This is very critical for the deployment of deep neural networks models to resource-limited Internet-of-Things (IoT) scenario.

\vspace{-2 ex}
\paragraph{Model Compactness {\em{vs.}} Performance.}
It has often been reported that there is a trade-off between model compactness (in terms of the number of parameters) and performance.
Most CNN-based detection solutions require a huge memory space to store the massive parameters.
Therefore the models are usually unsuitable for low-end devices like mobile-phones and embedded electronics.
Thanks to the parameter-efficient dense block, our model is much smaller than most competitive methods.
For instance, our smallest dense model (DS/64-64-16-1, with dense prediction layers) achieves 73.6\% mAP with only 5.9M parameters, which shows great potential for applications on low-end devices.

\section{Conclusion}\label{conclusion}
We have presented Deeply Supervised Object Detector (DSOD), a simple yet efficient framework for training object detector from scratch.
Without using pre-trained models on ImageNet, DSOD demonstrates competitive accuracy to state-of-the-art detectors such as SSD, Faster R-CNN and R-FCN on the popular PASCAL VOC 2007, 2012 and MS COCO datasets,
with only 1/2, 1/4 and 1/10 parameters compared to SSD,  R-FCN and Faster R-CNN, respectively.
DSOD has great potential on domain different scenario
like depth, medical, multi-spectral images, etc.
Our future work will consider these domains,
as well as learning ultra efficient DSOD models to support resource-bounded devices.

\begin{figure*}[]
	\centering
	\includegraphics[width=0.9\textwidth]{images/voc_07}
	\vspace{-0.12in}
	\caption{More examples of object detection results on the PASCAL VOC 2007 {\em {test}} set using DSOD300. The training data is VOC 2007 {\em trainval}, VOC 2012 {\em trainval} and MS COCO {\em {trainval}} (81.7\% mAP@0.5 on the {\em {test}} set). Each output box is associated with a category label and a softmax score in [0, 1]. A score threshold of 0.6 is used for displaying. For each image, one color corresponds to one object category in that image.}
	\label{voc07}
	\vspace{-0.12in}
\end{figure*}

\begin{figure*}[]
	\centering
	\includegraphics[width=0.9\textwidth]{images/voc_12}
	\vspace{-0.12in}
	\caption{More examples of object detection results on the PASCAL VOC 2012 {\em {test}} set using DSOD300. The training data is VOC 2007 {\em trainval}, VOC 2007 {\em test}, VOC 2012 {\em trainval} and MS COCO {\em {trainval}} (79.3\% mAP@0.5 on the {\em {test}} set). Each output box is associated with a category label and a softmax score in [0, 1]. A score threshold of 0.6 is used for displaying. For each image, one color corresponds to one object category in that image.}
	\label{voc12}
	\vspace{-0.12in}
\end{figure*}

\section*{Acknowledgements}
Yu-Gang Jiang and Xiangyang Xue are supported in part by a NSFC project (\#61622204), a project from STCSM (\#16JC1420401), and an European FP7 project (PIRSESGA-2013-612652).

   {\small
	\bibliographystyle{ieee}

redpajama_set_name: RedPajamaArXiv


We are a minority own group of companies and our goal is to bridge the gap between the perceived and the realities of doing business.
We are experience enough to have confidence and small enough to be resourceful, innovative, flexible, dedicated, involved and result oriented.
The success of yesterday is not a guarantee for the survival of today or the existence of tomorrow. New ways should constantly be formulated and implemented to meet the needs and the demands of tomorrow's marketplace.
These are what we can do, when you allow us to make your business grow stronger and bigger.
We thank you for selecting us and we encourage you to review our services. We look forward to enhancing your vision.
We are your product of choice and our goal is to bridge the gap between people, process and technology.


what a gorgeous day it was on sunday, eh? after the atrocity saturday was, and the wash out we endured on the way to and from renegade (more on that another day), it was nice to wake up to a clear sky and a bit of sun! i'm already a bit bored of all of the muted autumnal colourways at the moment, so the sun was a welcome excuse to break out some of the pastels that appear to have stuck around this autumn too - in particular, peach.
this pretty estelle cross body bag by nica that i was gifted by bagable is a perfect example of a trans-seasonal pastel accessory. the muted shade of peach makes it the perfect thing to jazz up a dull, autumn outfit, without bringing too much of those spring feelings back to life. it's a bonus that peach looks great with other autumnal shades like burgandy and grey, making this baby my new favourite accessory (after the cat hat!). the tassels and laser cut flowers are obviously an added bonus! it is me after all.
are you as happy as i am that pastels are still adorning the high street rails?
I really, really love your shoes! Was looking at some v v similar in Berties the other day, can't believe yours are Primark!
I've never been a big fan of pastels as they look weird on me (incredible paleness and orange hair tends to clash with pink/yellow etc!) but I love them on other people.
I love that skirt, and that bag is to die for! So cute!!!!
aw! what lovely things to say! primark have some similar ones at the moment!
Love the hat, love the bag, love the glasses. That's all.
course you do. you're me. but smaller.


Located on the outskirts of Putrajaya, Le Méridien Putrajaya is one of the few 5-Star hotels in town. The hotel is strategically connected to IOI City Mall and is about 20 minutes drive from KL. Thanks to a lucky draw, we had the privilege to stay at Le Méridien Putrajaya for 4 days and 3 nights and it was a pleasurable experience to say the least.
According to Le Méridien's official website, a signature room starts from RM340 exclude breakfast. The price is definitely on the higher side as it's typically expected for a 5-Star Luxury Hotel. The room was equipped with basic amenities and more – 40inch LED TV, work desk and chair, mini sofa, fridge and free WiFi. We must say the WiFi connection is fairly speedy as we didn't encounter any issues watching HD videos on YouTube.
Upon entering the room, the first thing that grabbed our attention was the spacious interior. Our single beds were massive for a single bed and comfortable – it's one of the best parts of the room. We had our buffet breakfast at 6AM in the morning and went back to bed afterwards – that's how comfortable the beds were.
And of course, this view. Yes, it's not the conventional KL City skyline view, nonetheless we were at the 7th floor of Le Méridien and the empty highways do give out a peaceful vibe at night. It's also worth mentioning that the sound-proof of Le Méridien's rooms was pretty solid as we didn't hear any noise from outside.
Just like the rooms in here, the bathroom was roomy and has the necessary bath products you need for your stay. For the price per night, we thought getting Malin + Goetz toiletries was a fair deal.
The bathroom features a regular water heater, rain shower system and a bathtub with an extensive window view of your room (and blinds for privacy).
Our one complaint here is the water heater's temperature isn't consistent as it drops from hot to slightly colder from time to time. This kinda ruins the relaxing shower experience, hence we decided to use the bathtub to avoid the "potong-steam".
All hotel guest are given one complimentary Cappuccino/Black Coffee from Latitude 02 – a cafe/bar nearby the lobbyLe Méridien Putrajaya, courtesy of Le Méridien.
One of the best parts of a 5-Star Luxury Hotel is the pool area. Le Méridien's pool is located at the 3rd floor of the hotel and it does provide a decent view. There aren't any lifeguards on duty hence do exercise caution in the pool area.
The gym at Le Méridien's was well-equipped as it was furnished with every important gym items such as dumbbells and roller in a gym.
Now, on to the best part of any 5-Star luxury hotel, the buffet breakfast. We had our breakfast at Latest Recipe which offers International Buffet Breakfast. The buffet spread features cuisines of Malay, Chinese, Indian, Japanese and Western.
Latest Recipe's breakfast starts from 6AM – 10AM, we woke up around 5.30AM to make sure we avoid the breakfast crowd.
The buffet is generic, the food are exactly what you expect from a 5-Star hotel – decent spread, various cuisines, and acceptable taste. We personally wished there were more variety of sushi and more dishes in the western section. We didn't care for the Indian section as the Roti Canai, Tosai and Capati weren't made fresh.
Still, we highly recommend you try the Latest Recipe's buffet breakfast, at least for a day as it's one of the best parts during our stay.
All in all, our 4 days and 3 nights stay at Le Méridien was enjoyable. Indeed there are few things we feel Le Méridien could do better but let's be honest, there's no such thing as the perfect hotel.
We personally feel Le Méridien is more suitable for business trips or family who perfects a high quality and comfortable stay.


SOLUTIONS with Effective, Powerful Advice.
In the present page we are going to dig more deeply to clarify certain details.
Some subjects of Welding Underwater were not sufficiently covered in the previous page above.
Anyone wishing to prepare for a Career in Welding Underwater should study very thoroughly theory and practice of this demanding job.
As a Career it is a further specialization for Commercial Diving professionals.
It is essential to absorb all the available information on under water welding presented in our pages.
As it is essential welding reading for anyone involved in building underwater structures and a perfect reference for all welders, we urge our interested readers to read the first excerpt from Chapter 1 by clicking on A Case for Wet Welding.
You will find there the links to other two previews and to the book itself.
A well known Specification for Welding-underwater was ANSI/AWS D3.6.
It is now superseded by the more recent Underwater Welding Code with the same number.
To the contractor, for estimating means and costs of the project.
Type A welds are characterized by requirements ensuring a weld, performed by Welding underwater, comparable to a surface weld.
Usually dry (hyperbaric) Welding-underwater meets these requirements.
Type B welds refer to wet Welding-underwater weldments. Requirements are appropriate for less critical applications, despite reduced ductility and increased porosity.
Type C welds have even less requirements than type B welds for applications without load-bearing functions.
Type O welds present requirements of surface dry welds, as well as those of other Codes and Specifications.
Other Welding underwater documents have been developed by different agencies.
We may remind that the main drive to the development of Welding-underwater technology is economic, because in spite of the complexity, it permits to save much time and expense when compared with the need of pulling the structure to build or to repair to a dry dock.
Offshore platforms and structures, used for the exploitation of submarine oil fields, are constructions whose continuous availability has important economic consequences.
It is customary to provide a thorough inspection at least once every five years unless unscheduled accidents require immediate intervention.
Damages requiring repair may be due to corrosion or fatigue, or even to impact from massive moving objects.
Here please find some more insight into the influence of the physical conditions of Deep Water Welding onto the metallurgical microstructures obtained and on the soundness of the welded constructions.
the presence of porosity and its influence on fatigue life.
The process most commonly used for Welding-underwater is SMAW (Shielded Metal Arc Welding with covered Electrodes of special types) although FCAW (Flux Cored Arc Welding) has been also employed.
Wet Welding-underwater has been carried out as a building or repairing technique at depths of 100 m (330 ft) and down to 200 m (660 ft) under sea level and over.
As already remarked in the previous page (see above), Welding-underwater by the Electric Arc is performed in either the wet environment or in a protective chamber to be constructed around the weld zone and evacuated of water by compressed helium gas, to create the dry conditions.
Although the quality might be higher, the cost of hyperbaric Welding-underwater is much higher than that of wet welding. Assembling and dismantling the additional chamber equipment can be very expensive in a deep-sea environment.
In both cases pressure increases with depths: this fact brings about unexpected consequences like a decrease of Silicon and Manganese and an increase of Carbon in the weld pool, correlated to an increase of Oxygen.
Also Hydrogen content may increase with depth, with increased danger of cracking. And the arc is less stable with increasing depth, because the high ionization potential of Hydrogen makes it more difficult to sustain the arc.
Wet Welding-underwater of higher strength steels is very susceptible to Hydrogen cracking because Hydrogen is more available in presence of water.
using the addition to the weld pool of specific elements that getter the Hydrogen by forming hydrides.
Another considerable concern in wet Welding-underwater is weld metal pore formation which increases with pressure (depth).
Alternating current is not used in wet Welding-underwater.
800 to 500 oC is generally between 8 and 16 s (second), under water the same cooling interval is covered in 1 to 6 s, depending on joint thickness and heat input.
Obviously this rapid quench rate in wet Welding-underwater, produces significant amounts of heat affected zone (HAZ) martensite in carbon steels and has measurable consequences on microstructure and properties of welds.
Hardness of 400 Vickers measured under a load of 10 kg can be found in the weld when the Carbon Equivalent is about 0.40%.
This hardness may be considered medium to high, and quite worrying as an indication of limited ductility.
The major changes in microstructure and in mechanical properties occur in the first 50 m (165 ft) of depth. At greater depths, the weld metal composition and microstructure remain fairly constant.
If necessary, compositional modifications of consumables for wet Welding-underwater must be studied to provide for suitable properties.
The Welding Institute, (www.twi.co.uk) with progressive involvement and success.
One of the most important advantages of friction welding is the absence of liquid phase, with the complete elimination of the influence of gases (Hydrogen and Nitrogen) and the fact that the metal composition is not altered, with consequent uniformity of results independent of depth.
Therefore a procedure demonstrated at a certain depth, needs not be re-qualified at another one. This fact would represent a considerable advantage for friction welding, as for all other Welding-underwater processes re-qualification is a requirement.
A process was developed with the intent of providing a method of repair for linear cracks. A sort of stitch welding was employed by which subsequent friction welds of tapered studs (short conical rods) were performed in precise holes to bridge the gap between the two sides of a crack.
The continuity was assured by a certain overlap of the rods along the crack. And the integrity was demonstrated by destructive bending tests.
Special Welding equipment and procedures were and are developed to perform this kind of repairs. Most of the functions of the welding head were designed to be performed automatically.
This is due to the known fact that at a depth of more than 400 meters under sea level, the ability of human divers-welders to concentrate in performing demanding tasks deteriorates rapidly.
Deep water is that at more than 400 m, and ultra-deep water at about 1500 m.
The trend of these developments is for increasing the independent autonomy of systems in order to dispose of the requirement for manual operation of divers.
The programmed developments of automatic systems will enable to perform pipe laying down and Welding-underwater even at extreme depths still not heard of, without manual intervention.
of Practical Welding Letter for May 2009.
and a short note on Underwater Friction Stud Welding in section (11).
Click on PWL#069 to see both.
An Article on Developments in Underwater wet Welding was published In Section 11 in Issue 29 of Practical Welding Letter for January 2006. To read the article click on PWL#029.
An Article on Filler Metals for Underwater Welding (2) was published in Issue 48 of Practical Welding Letter for August 2007.
Click on PWL#048 for reading it.
An Article on Electrodes for Underwater Welding was published (4) in Issue 61 of Practical Welding Letter for September 2008. In the same issue there is also a note (11) on Underwater Welders Pay.
Click on PWL#061 to read them.
An Article on Underwater Inspection and Welding was published (3) in Issue 116 of Practical Welding Letter for April 2013.
Click on PWL#116 to see it.
An Article on Underwater Laser Cutting for Nuclear Decommissioning was published (7) in Issue 138 of Practical Welding Letter for February 2015.
Click on PWL#138 to see it.
An Article on THERMAL SPRAY ALUMINUM COATINGS FOR SPLASH ZONE STRUCTURES was introduced in a publication (iTSSe) reported (8) in Issue 148 of Practical Welding Letter for December 2015.
To receive all issues of PWL as they are published please subscribe.
Let us remind you that, if you are interested, we offer a no cost subscription to our Practical Welding Letter and a bonus book in pdf format, downloadable to your computer, on PRACTICAL HARDNESS TESTING MADE SIMPLE.
It is always important to know the hardness of any material before welding.
Browse through the other pages of this Website from the Site Map.
For any of the following Processes click on the underlined item.


text:
#include "position.hpp"

const string VarBox::m_type = "box";

SkinsRect::SkinsRect( int left, int top, int right, int bottom ):
    m_left( left ), m_top( top ), m_right( right ), m_bottom( bottom )
{
}

Position::Position( int left, int top, int right, int bottom,
                    const GenericRect &rRect,
                    Ref_t refLeftTop, Ref_t refRightBottom,
                    bool xKeepRatio, bool yKeepRatio ):
    m_left( left ), m_top( top ), m_right( right ), m_bottom( bottom ),
    m_rRect( rRect ), m_refLeftTop( refLeftTop ),
    m_refRighBottom( refRightBottom ), m_xKeepRatio( xKeepRatio ),
    m_yKeepRatio( yKeepRatio )
{
    // Here is how the resizing algorithm works:
    //
    //  - if we "keep the ratio" (xkeepratio="true" in the XML), the relative
    //    position of the control in the parent box (i.e. the given rRect) is
    //    saved, and will be kept constant. The size of the control will not
    //    be changed, only its position may vary. To do that, we consider the
    //    part of the box to the left of the control (for an horizontal
    //    resizing) and the part of the box to the right of the control,
    //    and we make sure that the ratio between their widths is constant.
    //
    //  - if we don't keep the ratio, the resizing algorithm is completely
    //    different. We consider that the top left hand corner of the control
    //    ("lefttop" attribute in the XML) is linked to one of the 4 corners
    //    of the parent box ("lefttop", "leftbottom", "righttop" and
    //    "rightbottom" values for the attribute). Same thing for the bottom
    //    right hand corner ("rightbottom" attribute). When resizing occurs,
    //    the linked corners will move together, and this will drive the
    //    moving/resizing of the control.

    // Initialize the horizontal ratio
    if( m_xKeepRatio )
    {
        // First compute the width of the box minus the width of the control
        int freeSpace = m_rRect.getWidth() - (m_right - m_left);
        // Instead of computing left/right, we compute left/(left+right),
        // which is more convenient in my opinion.
        if( freeSpace != 0 )
        {
            m_xRatio = (double)m_left / (double)freeSpace;
        }
        else
        {
            // If the control has the same size as the box, we can't compute
            // the ratio in the same way (otherwise we would divide by zero).
            // So we consider that the intent was to keep the control centered
            // (if you are unhappy with this, go and fix your skin :))
            m_xRatio = 0.5;
        }
    }

    // Initial the vertical ratio
    if( m_yKeepRatio )
    {
        // First compute the height of the box minus the height of the control
        int freeSpace = m_rRect.getHeight() - (m_bottom - m_top);
        // Instead of computing top/bottom, we compute top/(top+bottom),
        // which is more convenient in my opinion.
        if( freeSpace != 0 )
        {
            m_yRatio = (double)m_top / (double)freeSpace;
        }
        else
        {
            // If the control has the same size as the box, we can't compute
            // the ratio in the same way (otherwise we would divide by zero).
            // So we consider that the intent was to keep the control centered
            // (if you are unhappy with this, go and fix your skin :))
            m_yRatio = 0.5;
        }
    }

}

int Position::getLeft() const
{
    if( m_xKeepRatio )
    {
        // Ratio mode
        // First compute the width of the box minus the width of the control
        int freeSpace = m_rRect.getWidth() - (m_right - m_left);
        return m_rRect.getLeft() + (int)(m_xRatio * freeSpace);
    }
    else
    {
        switch( m_refLeftTop )
        {
        case kLeftTop:
        case kLeftBottom:
            return m_rRect.getLeft() + m_left;
            break;
        case kRightTop:
        case kRightBottom:
            return m_rRect.getLeft() + m_rRect.getWidth() + m_left - 1;
            break;
        }
        // Avoid a warning
        return 0;
    }
}

int Position::getTop() const
{
    if( m_yKeepRatio )
    {
        // Ratio mode
        // First compute the height of the box minus the height of the control
        int freeSpace = m_rRect.getHeight() - (m_bottom - m_top);
        return m_rRect.getTop() + (int)(m_yRatio * freeSpace);
    }
    else
    {
        switch( m_refLeftTop )
        {
            case kLeftTop:
            case kRightTop:
                return m_rRect.getTop() + m_top;
                break;
            case kRightBottom:
            case kLeftBottom:
                return m_rRect.getTop() + m_rRect.getHeight() + m_top - 1;
                break;
        }
        // Avoid a warning
        return 0;
    }
}

int Position::getRight() const
{
    if( m_xKeepRatio )
    {
        // Ratio mode
        // The width of the control being constant, we can use the result of
        // getLeft() (this will avoid rounding issues).
        return getLeft() + m_right - m_left;
    }
    else
    {
        switch( m_refRighBottom )
        {
            case kLeftTop:
            case kLeftBottom:
                return m_rRect.getLeft() + m_right;
                break;
            case kRightTop:
            case kRightBottom:
                return m_rRect.getLeft() + m_rRect.getWidth() + m_right - 1;
                break;
        }
        // Avoid a warning
        return 0;
    }
}

int Position::getBottom() const
{
    if( m_yKeepRatio )
    {
        // Ratio mode
        // The height of the control being constant, we can use the result of
        // getTop() (this will avoid rounding issues).
        return getTop() + m_bottom - m_top;
    }
    else
    {
        switch( m_refRighBottom )
        {
            case kLeftTop:
            case kRightTop:
                return m_rRect.getTop() + m_bottom;
                break;
            case kLeftBottom:
            case kRightBottom:
                return m_rRect.getTop() + m_rRect.getHeight() + m_bottom - 1;
                break;
        }
        // Avoid a warning
        return 0;
    }
}

int Position::getWidth() const
{
    return getRight() - getLeft() + 1;
}

int Position::getHeight() const
{
    return getBottom() - getTop() + 1;
}

VarBox::VarBox( intf_thread_t *pIntf, int width, int height ):
    Variable( pIntf ), m_width( width ), m_height( height )
{
}

int VarBox::getWidth() const
{
    return m_width;
}

int VarBox::getHeight() const
{
    return m_height;
}

void VarBox::setSize( int width, int height )
{
    m_width = width;
    m_height = height;
    notify();
}

redpajama_set_name: RedPajamaGithub


text:
Q: How to get RSpec to test controllers in subdirectories? I have some controllers that are in subdomains of the controllers folder.
for example, i have a controller in app/controllers/api/v1/offers_controller.rb that looks like this:
class Api::V1::OffersController < ApplicationController
  respond_to :json

  def index
   ...some code here
  end
end

I tried putting a controller in spec/controllers/api/v1/offers_controller.rb that looks like this:
require 'spec_helper'
descripe Api::V1::OffersController do
  describe "GET 'index'" do
    it "returns http success" do
      get 'index'
      response.should be_success
    end
  end
end

however, when I run rspec spec, this test does not get run at all. I also tried putting it  in the spec/controllers directory, named api_v1_offers_controller.rb, and the test is still not run.
How can I write RSpec tests for these types of controllers?

A: It actually seems it was a mistake it how I named the file. it seems all RSpec tests need to end it _spec

redpajama_set_name: RedPajamaStackExchange


text:
An Art Journey
JOIN ME IN MY DISCOVERIES OF THE BEAUTIES OF THE NATURAL WORLD.
New Beach Houses
"Beach Houses" was a picture I did back in early 2005 when I was brand-new to pastels, and had only been using them a couple weeks. I knew nothing about them! I had no clue about layering or blending or overlaying of colors. I used them the way a child uses crayons.
But these beach houses down in Atlantic Beach, NC always fascinated me with their gorgeous pastel colors. And early in my pastel life I decided to try to produce a picture of them from a reference photo I had taken. The photo was taken on a drear day in flat light, not the best reference, and the picture was clearly beyond my level of ability. But I struggled on to try to produce an image. I spent 5-6 hours on the picture which was about triple what I would normally spend, yet I still was not happy.
So I put the picture in a drawer and went on to learn more about pastels. But I always loved the Beach Houses. So today I pulled out that old picture and wondered if there was any way to add to it and improve it. The pastel was laid on lightly and sketchily, only a single layer of color really. But I had made the beginner's mistake of using the wrong paper, just standard drawing paper. It has little tooth and can't hold many layers of pastel. But it was what I had to work with short of starting from scratch, and I was not about to draw all those houses again!
I know the houses look rickety-rackety, with stairs and balconies leaning every which way. That's what I get for drawing freehand, but no way was I going to use a straight-edge or ruler. It's just so not "me". So rickety-rackety is what I get, but I still love the houses. This is now at a "sit back and think about it" stage, so I might tweak a bit more here or there. The tooth is almost all gone so not too much more I'll be able to add.
But just preliminarily I like it better than my maiden effort 2 1/2 years ago.
Posted by Debbie Cusick at 11:10 PM
Labels: North Carolina
Name:Debbie Cusick
Location:NE Florida, United States
Debbie has loved nature and drawing since early childhood, and spent a lot of time drawing and coloring - mostly animals, and visiting art museums, encouraged by an artistic and nature-loving mother. At age 11 she won an art scholarship of a year's free lessons at the Montclair Art Museum.
But Debbie veered away from art in her teen years. Her interests lay in more classical drawing, and more representational interpretations, all of which were totally out of vogue, and totally untaught, in those teen years. In her 20s she turned to quilting, and spent many years making quilts, primarily her own original designs.
But she still missed drawing, painting, and the fine arts, and in 2005 began to pursue this passion again. She discovered pastels and finally found an art medium she could love.
From 2005-2011 she continued to take lessons with Master Pastelists – first Alex Piccarillo at the Montclair Art Museum (Life drawing, figurative art) and later with Christina Debarry (still lifes and landscapes) at her home studio. Debbie owes a huge debt of gratitude to both Alex and Christina, to their fine teaching skills and warm personalities.
Debbie is a Signature Member of the Pastel Society of New Jersey, and served as their 2nd Vice President and Exhibitions Chair. In 2011 Debbie moved to northeast Florida where she is Recording Secretary of the Art Guild of Orange Park, a member of the Jacksonville Artists Guild, and also currently serves as the Secretary and Webmaster of the First Coast Pastel Society , as well as Secretary of the St. Johns Audubon chapter.
Debbie is also a member of the Riverside Presbyterian Church in Jacksonville where she sings alto in the church Chancel Choir.
Her work can be seen at the Starving Artist Gallery in St. Augustine, FL.
The Sewing Table
Morning in the Shed
Afternoon at the small barn
Crowded Classroom Nude
Non-Art Links
Light, Bright and Sparkling
Rambling Woods
First Coast Pastel Society
International Association of Pastel Societies
Pastel Society of America
Pastel Society of New Jersey
Wet Canvas - Cyber Living for Artists
animal portrait (21)
Atlantic Canada (96)
non-pastel (15)
oil pastel (7)
Other Artist's Blogs
Painting my World
Kim Denise Fine Art
Pet Portraits and Animal Art by Michelle
Amber L. Lowe Dog Art
Other Artist's Links
Pastels and Pencils


NEWPORT – A Baytown homeowner was given an example of faith and law enforcement when she was reunited with her American Bulldog ward last week.
On March 24, the Padillas returned home from work noted their gate was open and one of their two dogs was gone. The mixed breed lab that remained was growling at his masters in suspicion.
So, they asked their neighbors, got on social media called Baytown P.D. and was referred to Animal Control. They made a report and got fliers printed to put up all over the neighborhood.
"Yes ma'am!" he reacted quickly.
"Ah, yeah." the man replied.
"How long have you had that dog?" asked the deputy.
"Well, I found it when I was out at my friends house the other day in Baytown." the man said.
"What were you doing with your friends when you found the dog?" the deputy continued noticing that the man began to fidget and stammer.
Elizabeth Padilla showed up at a park in Newport to claim her brother's dog, just in time to answer her son's prayer before the weekend with all manner of papers and fliers for the deputy. Since then the extended family when hoping for anything they jokingly ask her son to pray it into reality. "We also pray in gratitude for Greg Nason.
AUSTIN– "Eleven to nothing," beemed Scott Stephens immediately following the House of Representatives' Public Education Committee that heard testimony contesting if E.K.G tests should be done on new high school athletes.
Scott Stephens spoke fourth in committee hearing.
During testimony before the committee Stephens expounded on his personal loss and a barrage of facts related to the testing. One fact is that when the current high school athlete test was required the E.K.G. did not exist in anything like the compact and portable test that is available now. Thus far nine student athletes have been referred for intensive follow up or surgury. Sudden cardiac arrest is the leading cause of death among student athletes, although fortunately it is rare. It can happen when the heart has a structural defect or abnormal electrical signaling, conditions that show no symptoms.
Representatives Sylvester Turner, Wayne Smith and Dan Huberty were supporters once having heard from Scott Stephens.
Opponents of the bill would balk at the mandatory nature, apparently ignoring the opt out clause within the bill. They also argued that the mandatory nature would decease accuracy of the evaluation.


The team suggests that straight edges on the object, revealed by newly released multi-beam sonar images, support the notion that this submerged mystery is something manufactured.
That strange object most commonly referred to as the Baltic Sea UFO is making headlines again.
The object at the bottom of the Baltic Sea was detected on sonar in June 2011 by Ocean X Team. Based on these initial sonar images, the media and members of Ocean X Team fueled speculation that the object could be a crashed UFO resting on the sea floor. The treasure-hunting outfit set out on an expedition in June 2012 in hopes of identifying the object. According to some sources, an identification has been made. But others, including Ocean X Team believe the object's identity is still a mystery.
But Ocean X Team co-founders Dennis Aasberg and Peter Lindberg claim that the only samples provided for analysis so far were collected in the vicinity. Samples have yet to be taken from the unidentified object itself. In their minds, the object's identification is still a mystery.
This most recent article by Wolchover was republished by Fox News with the title, "Deep-sea Baltic UFO hunt turns up mere rocks." If you're detecting a bit of skepticism from Wolchover, you're not alone.
Another Ocean X Team expedition is scheduled to leave Sweden on September 8, following the disappointing outing in June that resulted in multiple equipment failures.
And if you just can't get enough of the Baltic Sea UFO, you're in luck. A documentary is reportedly being made about Ocean X Team's discovery of the strange object and their subsequent expeditions.
Copyright © 2019 HardEvidence.info All Rights Reserved.


text:
Mentor Principals » Cohort 1 Biographies
Michael Browning
St. Anne School, Santa Monica
Michael Browning is the principal at Saint Anne School. St. Anne's is a Catholic TK-8th Grade school located in Santa Monica California. The school was founded in 1908 by the Sisters of the Holy Names of Jesus and Mary. The school has traditionally served lower income families from predominantly Latino background and currently serves 266 students from 66 different zip codes throughout Los Angeles County. Saint Anne was the first fully blended learning Catholic school in Southern California. The school offers a truly individualized educational program specific to the needs of each student.
Mission Statement: We, the school community of Saint Anne, recognize our purpose to provide a quality Catholic education to the children that we serve. In a safe and nurturing learning environment we address the individual needs of our students. We create for them the opportunity to realize their unique potential: body, mind and spirit. We affirm the importance of the interrelationship of church, home and school. We strive to serve the total community and we continue, both locally and globally, to honor our commitment to the less fortunate.
Michael Browning was born in Scotland in the United Kingdom where he attended St. Patrick Primary School and Holy Cross High School. He has a Bachelors Degree in Business from the University of Glasgow and a Masters Degree in Educational Psychology and Counseling from California State University Northridge. Currently in his 28th year with the Archdiocese, Michael has served as a teacher at St. Vincent, Los Angeles and Blessed Sacrament, Hollywood and as principal of Ascension, Los Angeles and is in his 17th year as principal of Saint Anne School in Santa Monica.
Website link: www.saintanneschool.com
Karen D. Lloyd
Holy Trinity, Los Angeles
Holy Trinity School is a Catholic elementary school located in the suburban Atwater Village area of Los Angeles. Founded by the Immaculate Heart Sisters, and later staffed by the Felician order, the school has faithfully served the children of the parish and surrounding community since 1949. The school currently serves students in grades transitional kindergarten through eight. Nearly 60% of all students qualify for and receive tuition assistance. The school, like the parish, has a strong traditional Catholic identity and is thoroughly immersed in the Filipino and Central American cultures which it serves. With the spiritual leadership and support of a dynamic pastor, the school strives every day to live out its mission of "Forming Saints and Scholars."
Karen Lloyd grew up in Torrance, California – where she still lives today. Growing up in her grandparents' home with a single mother, it was in 5th grade she was introduced to Catholic schools for "disciplinary reasons rather than religious ones." Of course no one could have anticipated the changes that would come as a result of this move to Nativity School in Torrance. Karen notes that she was enchanted with stories of the saints and soon came to love the scriptures and the Catholic faith. She was baptized in 8th grade, went on to Bishop Montgomery High School and has spent the last thirty plus years trying to give back through the Church the love and grace that was so freely given to her in Catholic school. Karen attended Cal Lutheran University where she received her Bachelor's degree as well as her teaching credential and a Masters Degree in Curriculum and Instruction. In 2003 she completed her Masters Degree in Catholic School Administration at Loyola Marymount University as part of the first cohort of the program for the Archdiocese of Los Angeles. As first a teacher and then a principal she has served her entire educational career working for the Department of Catholic Schools, serving seven different communities in four out of the five regions. She became principal at Holy Trinity School in 2014. Karen says that she knows that working in our Catholic schools is her vocation because it is the only thing that "makes her heart sing" and swears that being with the children is the very best part of every day.
Website link: www.holytrinityla.com
Maryann Reynoso Davis
San Miguel School, Los Angeles
San Miguel School is a Catholic elementary school located in the Watts area of Los Angeles. The school was founded in 1966 by the Order of Augustinian Recollects. The school currently serves students in grades transitional kindergarten through eight. The students are mostly from the area of Watts and nearby surrounding cities such as Compton, Lynwood, and South Gate. The majority of the families served by San Miguel qualify for the free or reduced federal food program. According to the Archdiocese of Los Angeles financial rankings, San Miguel School is a lower-economic school, placing it at a level 9 out of 10. San Miguel School has a strong family population of Catholics. The school continues to serve as a ministry of the church and live on its chrism of "bringing God's love to all people."
Maryann Reynoso Davis was born in Los Angeles, CA. Her father was born in Mexico and her mother was born and raised in Los Angeles. Maryann and her four siblings attended San Miguel School and graduated from Catholic high schools. She attended the University of Notre Dame and earned her Bachelor's degree in American Studies and Spanish. She was accepted into Loyola Marymount University's PLACE Corps program where she earned her Master's degree in elementary education and preliminary teaching credential. In 2006 she returned to San Miguel School to serve as the third grade teacher. In 2008 Maryann became the principal of San Miguel School where she has served in this leadership position until today. Maryann's mission is to serve her community and empower children through academic excellence and faith formation. She desires that all children, regardless of their circumstance, receive a quality faith-filled education that will prepare them for the demands of this world while demonstrating acts of love for all whom they encounter.
Website link: www.sanmiguelcatholicschool.com
Victor Serna
St. Turibius, Los Angles
St. Turibius School opened its doors in 1949 and it has proudly served the Fashion District community just southeast of Downtown Los Angeles ever since. The mission of the school is to educate the whole child in mind, body, and spirit. St. Turibius School was recently named one of the best schools in the area by Downtown News because of its excellence in academics and athletics. The school serves a student population of 98% Hispanic/Latino and 100% of the students qualify for free or reduced lunch.
Mr. Victor Serna is a proud graduate of Bishop Mora Salesian High School where he later served as a coach, teacher and administrator before becoming a principal at the elementary school level. Mr. Serna began his career at St. Mary's Elementary School in the Boyle Heights community of Los Angeles. Mr. Serna briefly considered a law enforcement career with the California Department of Corrections but his desire to coach led him to a career in education where he now serves as the principal of St. Turibius Elementary School. Mr. Serna holds a BS in Criminal Justice, an MS in Education, an MS in Educational Administration and he is close to completing his third Master's degree in Instructional Leadership. Mr. Serna is a credentialed teacher in the state of California and he possesses a state Administrative Services credential as well. Both Mr. Serna and his Wife Evelyn are products of Catholic schools and they support as many Catholic School events as possible. Mr. Serna enjoys a round of golf with his spare time.
Website link: http://www.stturibius.org/
Teresa Villarreal
Our Lady of Guadalupe, Los Angeles
Our Lady of Guadalupe School, located in the heart of East Los Angeles, has provided education, formation and overall outreach to the Belvedere and City Terrace communities since 1950. The majority of the students are of Latino descent and members of the Our Lady of Guadalupe parish. Additionally, many are also the children of alumni. The majority of families are working class parents who receive some form of tuition assistance. Our Lady of Guadalupe School is blessed to have the support of the OLG Alumni Association who assists the school with monetary and in-kind donations. Graduates work to keep alive the legacy of faith, service, and excellence started by the founding Columban Sisters many years ago.
Teresa Villarreal is in her twenty-third year in Catholic Education. She was born and raised in East Los Angeles and is a proud graduate of Our Lady of Guadalupe School. After graduating from OLG, she attended Sacred Heart of Mary High School in Montebello and then went on to be the first to attend a university in her family. She obtained a degree in History with an emphasis on Diversified Liberal Arts from the University of California, Los Angeles and earned a California Teaching Credential from California State University, Los Angeles.
This fall began her eighth year as principal of Our Lady of Guadalupe School where she also served as vice-principal and taught third, fourth, and fifth grades. She is currently serving her third year on Leadership Council as Deanery 9 PLC chair. Additionally, she is the principal representative for the San Gabriel region of the Archdiocese of Los Angeles on the MAX LA (Marketing Archdiocesan Excellence in Los Angeles) team.
Ms. Villarreal is the eldest of four children and all graduates of Our Lady of Guadalupe School and Catholic high schools in the Archdiocese of Los Angeles. She is married and has two beautiful daughters who are also proud graduates of OLG School. Her eldest, Christine, attended St. Paul High School and her youngest, Samantha, is currently attending Cantwell-Sacred Heart High School.
Website link: http://www.olglions.org


text:
+++
categories = ["rant"]
tags = ["code", "design", "process"]
date = "2016-05-19T00:26:02-07:00"
draft = true
title = "code blobs"

+++

Designing software is hard

preemptive counter critique, That once code commentary passes from the realm of
the technical into stylistic territory it becomes equivalent to artistic
criticism.

Section about working without a net, with no second party to provide discretion
or influence design decisions.

In concept art, digital painting (and digital sculpting), the initial process
often involves just applying big blobs of color. The goal is first to dirty the
canvas, to break down creative mental blocks, and once you have some interesting
shapes and forms you start refining what is working.

I sometimes follow the same process when coding. It is better to have a working
prototype of a bad idea than to endlessly research and tinker with a design that
doesn't get built. Once you have the thing in front of you it is much easier to
see where it is misshapen or lacking. You may also stumble into some spontaneous
_happy accident_, which is a primary goal of this process in concept art.

There is also a saying in art: you must kill your darlings. Just because you
found something interesting, or just because you've invested time perusing an
idea, that shouldn't unduly influence your design decisions.

In art the key to making that less painful is to work big and loose. Don't get
caught up in the details until you are ready to commit. I think in code there
are several ways to avoid minutia:

Firstly - don't code! Compilers and interpreters are very picky, but scribbling
on paper or a whiteboard doesn't require type-checking or valid syntax. Getting
big structural ideas down first will guide what you do next, and having them in
an ephemeral media helps when you have to scrap your designs later.

Secondly - learn to type! You need to be familiar and facile with your tools if
you want to work fast and loose, and your keyboard is your primary tool. There
is an [old Steve Yegge blog post](http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html)
that sums it up well (though in not too few words). Obligatory quote: "If you
*really* think refactoring tools are a substitute for typing, it's like you're
telling us that it's OK for you to saw your legs off because you have a car".

Secondly - continued, learn your editor! The ability to run your code editor of
choice using strictly the keyboard has all the same benefits as learning to type.
I switched from a fancy IDE to VIM several years ago, and I am writing this post
in Emacs Evil mode. I love keyboard first, and modal editing, but whatever tool
you use learn to use it well. Here is an old post by Vim's author on the
subject: [Seven habits of effective text editing](http://www.moolenaar.net/habits.html).

Third