Image Description Literature Review

profileMagnum_1993
IJERT-Image_Captioning_using_Deep_Learni.pdf

Image Captioning using Deep Learning

Bhamidi Haripriya ISE Department

BNMIT,Bangalore, India

Srushti G M ISE Department

BNMIT, Bangalore, India

Syed Haseeb ISE Department

BNMIT, Bangalore, India

Mrs. Madhura Prakash Asst. Prof ISE Department

BNMIT Bangalore,India

Abstract—In the last few years, deep learning has led to huge

success in the field of computer vision and natural language

understanding and also in the interplay between them. Among

different types of deep learning models, convolutional neural

networks have been most extensively studied for the tasks related

to visual perception and machine vision. Due to lack of

computational resources and training data, it is very hard to the

use high-capacity convolutional neural network without

overfitting. But recent growth in the availability of annotated

data and high-performance GPUs have made it possible to obtain

state-of-the-art results using convolutional neural networks.

Automatically describing the content of an image is a

fundamental problem in artificial intelligence that connects

computer vision and natural language processing. In this project,

a generative model based on a deep recurrent architecture that

combines recent advances in computer vision and machine

translation is being used. Recurrent architecture is used to

generate natural sentences describing an image. The model will

be trained to maximize the likelihood of the target description

sentence given the training image.

Keywords—Deep Learning, Image captioning, Convolution

Neural Network, MSCOCO, Recurrent Nets, Lstm, Resnet.

I. INTRODUCTION A recent study on Deep Learning shows that it is part of a

broader family of machine learning methods based on learning

data representations, as opposed to task-specific algorithms.

Deep Learning (DL) and Neural Network (NN) is currently

driving some of the most ingenious inventions in today’s

century. Their incredible ability to learn from data and

environment makes them the first choice of machine learning

scientists. Deep Learning and Neural Network lies in the heart

of products such as self-driving cars, image recognition

software, recommender systems etc. Evidently, being a

powerful algorithm, it is highly adaptive to various data types

as well.

Image annotation is a process by which a computer system

assigns metadata in the form of captioning or keywords to a

digital image. It is a Type of multi-class image classification

with a very large number of classes. It is used in image retrieval

systems to organize and locate images of interest from the

database. The goal of image captioning research is to annotate

and caption an image which describes the image using a

sentence. To train a network to accurately describe an input

image by outputting a natural language sentence. The task of

describing any image sits on a continuum of difficulty. Some

images, such as a picture of a dog, an empty beach, or a bowl

of fruit, may be on the easier end of the spectrum. While

describing images of complex scenes which require specific

contextual understanding  and to do this well, not just possibly

proves to be a much greater captioning challenge. Providing

contextual information to networks has been both a sticking

point, and a clear goal for researchers to strive for.

Figure 1. Architectural Design

Our model to caption images are built on multimodal

recurrent and convolutional neural networks. A Convolutional

Neural Network is used to extract the features from an image

which is then along with the captions is fed into an Recurrent

Neural Network. The architecture of the image captioning

model is shown in figure 1.

Image captioning is interesting because it concerns what we

understand and about perception with respect to machines. The

problem setting requires both an understanding of what features

(or pixel context) represent which objects, and the creation of a

semantic construction “grounded” to those objects.

II. RELATED WORK This paper presents how convolutional neural network

based architectures can be used to caption the contents of an

image. Captioning here means labelling an image that best

explains the image based on the prominent objects present in

that image. Deep convolutional neural networks based machine

learning solutions are now days dominating for such image

annotation problems [1, 2]. Recent researches in [3, 4] has

proposed solution that automatically generates human-like

description of any image. This problem is of significance in

practical applications and moreover it link two artificial

intelligence areas i.e. NLP (Natural Language Processing) and

Computer Vision. The convolutional network architecture that

won the ImageNet Challenge in 2012, have been used for large-

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

381

scale image and video recognition [8]. It uses the large public

image repositories, such as ImageNet [11], and high-

performance computing systems, such as GPUs or large-scale

distributed clusters. In ImageNet LSVRC-2010 contest, 1.2

million high resolution images are classified into the 1000

different classes using Deep Convolutional neural network. The

top-1 and top5 error rates achieved using this model are 37.5%

and 17.0% respectively and this is substantially better than the

state-of-the-art. The neural network architecture which consists

of 650,000 neurons with 60 million parameters contains five

convolutional layers. Some of these layers were followed by

max-pooling layers and three fully-connected layers with a final

1000-way SoftMax layer. With the applications of ConvNets

growing rapidly in the computer vision community, a number

of attempts have been made to improve the original architecture

proposed in [8], in a bid to achieve better accuracy [7]. One of

the most recent work in [3] uses an algorithm which learns the

semantics very selectively and fuse them into hidden and output

states of RNN.

III. MODELS

A. CONVOLUTIONAL NEURAL NETWORK A very deep convolutional neural network model is

proficient in extracting visual features from an image in a

hierarchical manner, starting from very basic features like edge

detectors, and then progressively building more complex

features like shape detection. In this section we describe the

components of a basic ConvNet model, and show how these

different modules are arranged in a network which leads to

efficient extraction of visual features.

Figure 2. Convolutional neural network architecture

CNNs use a variation of multilayer perceptron designed to

require minimal preprocessing. They are also known as shift

invariant or space invariant artificial neural

networks (SIANN), based on their shared-weights architecture

and translation invariance characteristics. A CNN consists of

an input and an output layer, as well as multiple hidden layers

.The hidden layers of a CNN typically consist of convolutional

layers, pooling layers, fully connected layers and

normalization layers. Certain pre-processing steps needed for

efficient working of the CNN model are:

a. Data pre-processing The only pre-processing we do here is Mean Subtraction.

The mean RGB value is computed on the training set and

subtracted from each pixel. Normalization is ignored because

normalization only have meaning if different input features

have different scales, but they should be of approximately

equal importance to the learning algorithm. Mean subtraction

is the most common form of pre-processing. It has the

geometric interpretation of centering the cloud of data on the

origin along every dimension. With images specifically, for

convenience it can be common to subtract a single value from

all pixels, or to do so separately across the three color channels.

By applying Mean Subtraction we get corresponding mean

values for RGB [123.682, 116.779 and 103.939]. Same is

explained with an example in figure 3.

Figure 3. Data pre-processing

b. Convolutional layer Convolutional Neural Networks (ConvNets) are

nearly same as regular neural networks. They consist of

neurons with weights and biases as learning parameters. A

non-linear activation function is applied on inputs of each

neuron. The complete network manifests a single

differentiable score function from one end pixels of image

to class scores at the other. And they have a loss function

(e.g. SVM/SoftMax) on the last layer i.e. fully-connected

layer. All other steps as in ordinary neural networks also

apply in ConvNet in same fashion. Unlike of typical Neural

Networks, an explicit consideration in ConvNet

architectures is that the images itself are the input to the

network. And prominent properties of the images are

encoded in the network is the peculiarity of architecture.

Images being the input to ConvNet constrain the

architecture in a more sensible way. In particular, the

neurons in layers of ConvNet are arranged in all three

dimensions i.e. width, height and depth which is

uncommon to that in trivial neural networks. For example,

the input images have the volume

dimensions224x224x3.The final output layer dimension is

reduced to 1x1x1000, because full input image is

transformed into a single vector of class scores (arranged

along the depth dimension), moving towards the end of the

ConvNet architecture.

c. Local connectivity When dealing with high-dimensional inputs such as

images, connecting neurons in two successive volumes

fully is very impractical. That is why each neuron is only

connected to neurons in a local region of the input volume.

The spatial extent of this connectivity is a hyper parameter

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

382

called the ’receptive field’ of the neuron (equivalently this

is the filter size). The extent of the connectivity along the

depth axis is always equal to the

depth of the input volume. It is important to emphasize again

on the asymmetry that how we treat the spatial dimensions i.e.

width, height and the depth. The connections are local in space

(along width and height), but always full along the entire depth

of the input volume.

d. Zero padding Zero-padding is the process of adding zeroes to the input

matrix in symmetric fashion. This kind of modification is most

common practice to adjust the size of the input according to

our requirement. Same is customarily followed in CNN layers

to preserve the input volume dimensions to be used at the

output volume. The image is passed through a stack of

convolutional (conv.) layers, where we use filters with a very

small receptive field of 3x3. This is the smallest size to capture

the notion of left/right, up/down, and center. The convolution

stride is fixed to 1 pixel; the spatial padding of convolutional

layer input is such that the spatial resolution is preserved after

convolution, i.e. the padding is 1 pixel for 3 3 conv. layers. The

figure 4 presents the working of 3x3 filter. Rather than using

relatively large receptive fields in the first convolutional layers

e.g.11x11 with stride 4, or 7x7 with

stride 2, very small 3x3 receptive fields are used throughout

the whole net, which are convolved with the input at every

pixel (with stride 1). So a stack of two 3x3 convolution

layers(without spatial pooling in between) has an effective

receptive field of 5x5; three such layers have a 7x7 effective

receptive field. The advantage of using a stack of three 3x3

convolutional layers instead of a single 7x7 layer are: • First,

incorporating 3 non-linear rectification layers instead of a

single one, makes the decision function more discriminative. •

Second, there is a decrease in the number of parameters:

assuming both the input and the output of a three layer 3x3

convolution stack has C channels, it can be mathematically

shown that using filters of 3x3 will eventually lead to smaller

number of parameters than using 5x5 or 7x7.

Fig. 4. Working of a 3x3 filter.

e. Max Polling layer Max Pooling layer is very commonly used layer in the

Convolutional network architecture. It is used after applying

Convolution to the input as it reduces the dimensions of the

layer that is given as an input to the layer. As the name suggests

the function of the layer is to take input and return the

maximum of all the pixels in the range of the filter applied.

Mostly small filters are used as using large filters may destroy

the image and the effect the classification drastically in an

unwanted manner. Max polling example is shown in figure 5.

Figure 5. Max pooling operation

f. Fully connected layers In a fully connected layer all the neurons of the input are

connected with all the neurons of the output of the layer. In

this layer all the neurons have connections with all the

activations in the previous layer. They are computationally

costly in terms of both memory and time. Activations of the

neurons can be computed using matrix multiplication and

followed by a bias offset.

Figure 6. Fully connected layers

g. ReLu (Rectified linear unit) ReLu refers to the Rectifier Unit, the most commonly

deployed activation function for producing non-linearity in

ConvNets. In the context of artificial neural networks, the

rectifier is an activation function defined as f(x)=max(0;x);

Where x is the weighted input to a neuron. It has been used in

convolutional networks more effectively than the widely used

logistic sigmoid, and its more practical counterpart, the

hyperbolic tangent. This is mainly because of its sparse

activation and efficient gradient propagation (no vanishing or

exploding gradient problems).

According to the universal approximation theorem,

given enough capacity, we know that a feedforward network

with a single layer is sufficient to represent any function.

However, the layer might be massive and the network is prone

to overfitting the data. Therefore, there is a common trend in

the research community that our network architecture needs to

go deeper. The authors argue that stacking layers shouldn’t

degrade the network performance, because we could simply

stack identity mappings (layer that doesn’t do anything) upon

the current network, and the resulting architecture would

perform the same. This indicates that the deeper model should

not produce a training error higher than its shallower

counterparts. They hypothesize that letting the stacked layers

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

383

fit a residual mapping is easier than letting them directly fit the

desired underlaying mapping. And the residual block above

explicitly allows it to do precisely.

As a matter of fact, ResNet was not the first to make

use of shortcut connections, Highway Network introduced

gated shortcut connections. These parameterized gates control

how much information is allowed to flow across the shortcut.

Similar idea can be found in the Long Term Short Memory

(LSTM) cell, in which there is a parameterized forget gate that

controls how much information will flow to the next time step.

Therefore, ResNet can be thought of as a special case of

Highway Network.

However, experiments show that Highway Network

performs no better than ResNet, which is kind of strange

because the solution space of Highway Network contains

ResNet, therefore it should perform at least as good as ResNet.

This suggests that it is more important to keep these “gradient

highways” clear than to go for larger solution space.

Figure 7. ResNet Architecture

Plain Network. Our plain baselines (Figure 7, middle) are

mainly inspired by the philosophy of VGG nets [4] (Figure

7,left). The convolutional layers mostly have 3×3 filters and

follow two simple design rules: (i) for the same output feature

map size, the layers have the same number of filters; and (ii) if

the feature map size is halved, the number of filters is doubled

so as to preserve the time complexity per layer. We perform

down sampling directly by convolutional layers that have a

stride of 2. The network ends with a global average pooling

layer and a 1000-way fully-connected layer with softmax. The

total number of weighted layers is 34 in Figure 7 (middle).

It is worth noticing that our model has fewer filters and lower

complexity than VGG nets [4] (Figure 7, left). Our 34-layer

baseline has 3.6 billion FLOPs (multiply-adds), which is only

18% of VGG-19 (19.6 billion FLOPs).

Residual Network. Based on the above plain network, we

insert shortcut connections (Figure 7,right) which turn the

network into its counterpart residual version. The identity

shortcuts can be directly used when the input and output are of

the same dimensions (solid line shortcuts in Figure 7). When

the dimensions increase , we consider two options:

(A) The shortcut still performs identity mapping, with extra

zero entries padded for increasing dimensions. This option

introduces no extra parameter; (B) The projection shortcut in

Eqn.(2) is used to match dimensions(done by 1×1

convolutions). For both options, when the shortcuts go across

feature maps of two sizes, they are performed with a stride of

2.

Figure 8. A residual model

In this paper, we address the degradation problem by

introducing a deep residual learning framework. Instead of

hoping each few stacked layers directly fit a desired underlying

mapping, we explicitly let these layers fit a residual mapping.

Formally, denoting the desired underlying mapping as H(x),

we let the stacked nonlinear layers fit another mapping of F(x)

:= H(x)−x. The original mapping is recast into F(x)+x. We

hypothesize that it is easier to optimize the residual mapping

than to optimize the original, unreferenced mapping. To the

extreme, if an identity mapping were optimal, it would be

easier to push the residual to zero than to fit an identity

mapping by a stack of nonlinear layers.

The formulation of F(x) +x can be realized by

feedforward neural networks with “shortcut connections”

(Figure 8). Shortcut connections [2, 3, 4] are those skipping

one or more layers. In our case, the shortcut connections

simply perform identity mapping, and their outputs are added

to the outputs of the stacked layers (Fig. 2). Identity shortcut

connections add neither extra parameter nor computational

complexity. The entire network can still be trained end-to-end

by SGD with backpropagation, and can be easily implemented

using common libraries (e.g., Caffe [9]) without modifying the

solvers. We present comprehensive experiments on

ImageNet[5] to show the degradation problem and evaluate

our method. We show that: 1) Our extremely deep residual nets

are easy to optimize, but the counterpart “plain” nets (that

simply stack layers) exhibit higher training error when the

depth increases; 2) Our deep residual nets can easily enjoy

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

384

accuracy gains from greatly increased depth, producing results

substantially better than previous networks.

Similar phenomena are also shown on the CIFAR-10

set, suggesting that the optimization difficulties and the effects

of our method are not just akin to a particular dataset. We

present successfully trained models on this dataset with over

100 layers, and explore models with over 1000 layers. On the

ImageNet classification dataset [5], we obtain excellent results

by extremely deep residual nets.

B. RECURRENT NEURAL NETWORK In this paper, we propose a neural and probabilistic

framework to generate descriptions from images. Recent

advances in statistical machine translation have shown that,

given a powerful sequence model, it is possible to achieve state-

of-the-art results by directly maximizing the probability of the

correct translation given an input sentence in an “end-to-end”

fashion – both for training and inference. These models make

use of a recurrent neural network which encodes the variable

length input into a fixed dimensional vector, and uses this

representation to “decode” it to the desired output sentence.

Thus, it is natural to use the same approach where, given an

image (instead of an input sentence in the source language), one

applies the same principle of “translating” it into its description.

Thus, we propose to directly maximize the probability of the

correct description given the image by using the following

formulation:

where θ are the parameters of our model, I is an image, and S

its correct transcription. Since S represents any sentence, its

length is unbounded. Thus, it is common to apply the chain rule

to model the joint probability, where N is the length of this

particular example as

where we dropped the dependency on θ for convenience. At

training time, (S,I) is a training example pair, and we optimize

the sum of the log probabilities as described in (2) over the

whole training set using stochastic gradient descent.

It is natural to model with a Recurrent Neural Network

(RNN), where the variable number of words we condition upon

up to t − 1 is expressed by a fixed length hidden state or memory

ht. This memory is updated after seeing a new input xt by using

a non-linear function f:

To make the above RNN more concrete two crucial design

choices are to be made: what is the exact form of f and how are

the images and words fed as inputs xt. For f we use a Long-

Short Term Memory (LSTM) net, which has shown state-of-the

art performance on sequence tasks such as translation. This

model is outlined in the next section. For the representation of

images, we use a Convolutional Neural Network (CNN). They

have been widely used and studied for image tasks, and are

currently state-of-the art for object recognition and detection.

Our particular choice of CNN uses a novel approach to batch

normalization and yields the current best performance on the

ILSVRC 2014 classification competition [12]. Furthermore,

they have been shown to generalize to other tasks such as scene

classification by means of transfer learning [4]. The words are

represented with an embedding model.

C. LSTM-based Sentence Generator Define abbreviations and acronyms the first time they are

used in the text, even after they have been defined in the

abstract. Abbreviations such as IEEE, SI, MKS, CGS, sc, dc,

and rms do not have to be defined. Do not use abbreviations in

the title or heads unless they are unavoidable.

The choice of f in (3) is governed by its ability to deal with

vanishing and exploding gradients [10], the most common

challenge in designing and training RNNs. To address this

challenge, a particular form of recurrent nets, called LSTM,

was introduced [10] and applied with great success to

translation [3, 13] and sequence generation [9]. The core of the

LSTM model is a memory cell c encoding knowledge at every

time step of what inputs have been observed up to this step (see

Figure 2) . The behavior of the cell is controlled by “gates” –

layers which are applied multiplicatively and thus can either

keep a value from the gated layer if the gate is 1 or zero this

value if the gate is 0. In particular, three gates are being used

which control whether to forget the current cell value (forget

gate f), if it should

Figure 9. LSTM: the memory block contains a cell c which is

controlled by three gates. In blue we show the recurrent

connections – the output m at time t − 1 is fed back to the

memory at time t via the three gates; the cell value is fed back

via the forget gate; the predicted word at time t − 1 is fed back

in addition to the memory output m at time t into the SoftMax

for word prediction.

read its input (input gate i) and whether to output the new cell

value (output gate o). The definition of the gates and cell update

and output are as follows:

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

385

where ⊙ represents the product with a gate value, and the various W matrices are trained parameters. Such multiplicative

gates make it possible to train the LSTM robustly as these gates

deal well with exploding and vanishing gradients [10]. The

nonlinearities are sigmoid σ(·) and hyperbolic tangent h(·). The

last equation mt is what is used to feed to a SoftMax, which will

produce a probability distribution pt over all words.

IV. METHODOLOGY The first step involves collecting properly annotated data, large

enough so that a complex model trained on it will give

satisfactory results. For this purpose, we use MSCOCO

dataset, which contains about 1.2 million images of 1000

different categories. The second and the most challenging part

include training the model after deciding what its architecture

would be. The training phase actually involves two phases, a

pre-training phase followed by a fine tuning phase. Among

these, the pre-training phase is more challenging and involves

much more computational resources than the fine tuning phase

because it involves training a model from the scratch, while

fine tuning just involves slight modifications to the network’s

parameters so as to use the network for some different

application. We use pre-trained weights of the ResNet model.

So, in the training part we train the model to classify an image

as belonging to one of the 1000 classes and generate a caption.

A. Training For any machine learning algorithm to perform the desired

task, we’ve to train the model to do so. By training we mean

that we’ve to obtain the optimal values of the parameters of the

model (weights and biases in our case), which will generalize

well to perform the required task. The ConvNet training

procedure generally follows [8]. Namely, the training is carried

out by optimizing the multinomial logistic regression objective

using mini-batch gradient descent (based on backpropagation

[12]) with momentum. The training was regularized by weight

decay and dropout regularization for the first two fully

connected layers (dropout ratio set to 0.5). The learning rate

was initially set to 102, and then decreased by a factor of 10

when the validation set accuracy stopped improving. The

learning was stopped after 370K iterations (74 epochs). The

model is trained for the image captioning task.

B. Dataset COCO is a large-scale object detection, segmentation, and

captioning dataset. COCO has several features:

Object segmentation, recognition in context etc.The COCO dataset is an excellent object detection dataset with 80 classes,

80,000 training images,41,000 testing images and 40,000

validation images.

C. Testing Once the model has been trained for the image

classification and captioning task, it can now be used for the

object detection phase. The image can contain large objects as

well as relatively smaller objects. Our task is to detect all of

them, not just the larger objects. For that purpose, we

progressively divide the image and classify it as belonging to

one of the 1000 classes. We start with the whole image, feed it

into the ConvNet architecture. The resulting class mostly

represents the most significant (in terms of size) object in the

image. Now we divide the image into two equal halves, and

feed these two halves into the ConvNet. The idea is that these

two halves as separate images will mostly contain a different

object as the most prominent object. We repeat this experiment

by further dividing these images into 2 halves and classifying

them. This step may further detect smaller objects which are

prominent in the divided image. Finally, we repeat this step

one last time to further divide the image into two halves and

classifying them. So, in total we have 15 images of different

sizes, formed from the original image. For all the above-

mentioned steps, we display top 2 classes per image and

threshold the probabilities to threshold. What this means is that

we’ll only show the second class if its probability exceeds

more than threshold i.e. it is a prominent object in the image.

Here threshold is given as an input by the user while feeding

the image to the Convolutional network. For measuring the

accuracy, precision and recall of the model, we define the

following terms:

• Correctly matched: True positive (the objects that were

detected by the model and were actually present in the image).

• Mistakenly matched: False positive (the objects that were

detected by the model but were actually not present in the

image).

• Correctly rejected: True negative (the objects that were

not detected by the model and were actually not present in the

image).

• Mistakenly rejected: False negative (the objects that were

not detected by the model but were actually present in the

image).

Figure 10. Progressive division and classification of the sample image

For each threshold value, we measure the accuracy,

precision and recall of our model on different images and take

the average. Below is the plot showing variation of accuracy,

precision and recall with different threshold values.

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

386

Figure 11. Graph showing the variation of model’s recall with threshold

values

Figure 12. Graph showing the variation of model’s accuracy with

threshold values

Figure 11. Graph showing the variation of model’s precision with

threshold values

D. Evaluation Metrics Although it is sometimes not clear whether a description

should be deemed successful or not given an image, prior art

has proposed several evaluation metrics. The most reliable (but

time consuming) is to ask for raters to give a subjective score

on the usefulness of each description given the image. In this

paper, we used this to reinforce that some of the automatic

metrics indeed correlate with this subjective score.

The metrics can be computed automatically assuming one

has access to ground truth, i.e. human generated descriptions.

The most commonly used metric so far in the image

description literature has been the BLEU score [5], which is a

form of precision of word n-grams between generated and

reference sentences 2. Even though this metric has some

obvious drawbacks, it has been shown to correlate well with

human evaluations.

V. RESULTS Many of the challenges that we faced when training our

models had to do with overfitting. Indeed, purely supervised

approaches require large amounts of data, but the datasets that

are of high quality have less than 100000 images. The task of

assigning a description is strictly harder than object

classification and data driven approaches have only recently

become dominant. As a result, we believe that, even with the

results we obtained which are quite good, the advantage of our

method versus most current human-engineered approaches

will only increase in the next few years as training set sizes

will grow. Nonetheless, we explored several techniques to deal

with overfitting. The most obvious way to not overfit is to

initialize the weights of the CNN component of our system to

a pretrained model . We did this in all the experiments (similar

to [8]), and it did help quite a lot in terms of generalization.

Another set of weights that could be sensibly initialized are

We, the word embeddings. We tried initializing them from a

large news corpus [2], but no significant gains were observed,

and we decided to just leave them uninitialized for simplicity.

Lastly, we did some model level overfitting-avoiding

techniques. We tried dropout [4] and ensemble models, as well

as exploring the size (i.e., capacity) of the model by trading off

number of hidden units versus depth. Dropout and ensemble

gave a few BLEU points improvements, and that is what we

report throughout the paper.

VI. CONCLUSION

An end-to-end neural network system that can

automatically view an image and generate a reasonable

description in plain English. It is based on a convolution neural

network that encodes an image into a compact representation,

followed by a recurrent neural network that generates a

corresponding sentence. The model is trained to maximize the

likelihood of the sentence given the image. Experiments on

several datasets show the robustness in terms of qualitative

results (the generated sentences are very reasonable) and

quantitative evaluations, using either ranking metrics or

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

387

BLEU, a metric used in machine translation to evaluate the

quality of generated sentences. It is clear from these

experiments that, as the size of the available datasets for image

description increases, so will the performance of the proposed

model. Furthermore, it will be interesting to see how one can

use unsupervised data, both from images alone and text alone,

to improve image description approaches.

REFERENCES [1] Zeiler, Matthew D., and Rob Fergus. ”Visualizing and understanding

convolutional networks.” European conference on computer vision. Springer International Publishing, 2014.

[2] Simard, Patrice Y., David Steinkraus, and John C. Platt. ”Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis.” ICDAR. Vol. 3. 2003.

[3] You, Quanzeng, et al. ”Image captioning with semantic attention.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.

[4] Oriol, Vinyals, et al. ”Show and tell: A neural image caption generator.” arXiv preprint arXiv: 1411.4555, 2014 (2014).

[5] Young, Peter, et al. ”From image descriptions to visual denotations: New similarity metrics for semantic inference over event descriptions.”

Transactions of the Association for Computational Linguistics 2 (2014): 67-78.

[6] Karen Simonyan, Andrew Zisserman, Very Deep Convolutional Networks ForLarge-

ScaleImageRecognition,InInternationalConferenceonLearning

Representation, 2015. [7] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. ”Imagenet

classification with deep convolutional neural networks.” Advances in

neural information processing systems. 2012. [8] Karpathy, Andrej, and Li Fei-fei. ”visual-semantic alignments for

generating image descriptions. arXiv preprint arXiv: 1412.2306.”

(2014). [9] Wei, Yunchao, et al. ”CNN: Single-label to multi-label.” arXiv preprint

arXiv:1406.5726 (2014).

[10] Deng, Jia, et al. ”Imagenet: A large-scale hierarchical image database.” Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE

Conference.

[11] Deng, Jia, et al. ”Imagenet: A large-scale hierarchical image database.” Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE

Conference.

[12] LeCun, Yann, et al. ”Backpropagation applied to handwritten zip code recognition.” Neural computation 1.4 (1989): 541-551.

[13] Singh, Dushyant Kumar. ”Recognizing hand gestures for human computer interaction.” Communications and Signal Processing (ICCSP), 2015 International Conference on. IEEE, 2015.

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181http://www.ijert.org

IJERTV8IS050284 (This work is licensed under a Creative Commons Attribution 4.0 International License.)

Published by :

www.ijert.org

Vol. 8 Issue 05, May-2019

388