AUTOMATED IMAGE CAPTION GENERATOR
A Project Report
Submitted by:
1. Bhavya Tyagi (181B070)
2. Bhawana Mishra(181B071)
3. Chandan Kumar(181B074)
Under the guidance of Mr. Kunj Bihari Meena
Nov-2020
Submitted in partial fulfillment of the Degree of
Bachelor of Technology
Department of Computer Science & Engineering
JAYPEE UNIVERSITY OF ENGINEERING & TECHNOLOGY GUNA (M.P.)-473226
1
Declaration by the Student
I hereby declare that the work reported in the [Link] project entitled
as “Automated Image Caption Generator”, in partial fulfillment for
the award of degree of B. Tech submitted at Jaypee University of
Engineering and Technology, Guna, as per best of my knowledge and
belief there is no infringement of intellectual property right and
copyright. In case of any violation I will solely be responsible.
1. Bhavya Tyagi(181B070)
2. Bhawana Mishra(181B071)
3. Chandan Kumar(181B074)
Signature of the Student
Date:
2
ACKNOWLEDGEMENT
When undergoing through the making of a certain project, there exists a lot of contribution
and guidance of other people who support us in achieving what lies in front. Not only do they
guide our path, but also play a vital role in the establishment and understanding of what we
really want to achieve.
Thus, this is to show our gratitude towards our Mentor, Mr. K.B. Meena for guiding us
through our entire Report. He supported us immensely in the better understanding of the
project, guiding us towards the better knowledge of the project we were working on. The
weekly interaction with him brought to us more clarification on the topic and thus simplifying
our task.
1. Bhavya Tyagi(181B070)
2. Bhawana Mishra(181B071)
3. Chandan Kumar(181B074)
Signature of the Student
Date:
3
Executive Summary
In recent years, with the rapid development of artificial intelligence, image caption has
gradually attracted the attention of many researchers in the field of artificial intelligence and
has become an interesting and arduous task. Image caption, automatically generating natural
language descriptions according to the content observed in an image, is an important part of
scene understanding, which combines the knowledge of computer vision and natural
language processing. The application of image caption is extensive and significant, for
example, the realization of human-computer interaction.
Common uses for Automated Image Caption Generator (AICG) are that it can act like a
Caption Bot. For example, It can generate relevant captions for Blog Post. It also makes
google Image Search easy.
Furthermore, the advantages and the shortcomings of this model are discussed. providing the
commonly used datasets in this field.
4
List of Figures
Figure 1. A Functional CNN-RNN Model
Figure 2. CNN-LSTM Architecture for Image Captioning
Figure 3. Schematic of the Merge Model For Image Captioning
Figure 4. A-CNN-is-composed-of-two-basic-parts-of-feature-extraction-and-
classification-Feature
Figure 5. Converting the image captions into a list of tokenized words.
Figure 6. Image Captioning Model by Team Oodles
Figure 7. Plot of the Caption Generation Deep Learning Model
5
CONTENTS
Title Page
Declaration by the Student
Acknowledgement
Executive Summary
List of Figures
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-15
1.1 Advantages of Automated Image Caption Generator . . . . . . . . . . . . . . . . . . 8-8
1.2 Limitations of this model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
1.3 Applications of Automated Image Caption Generator . . . . . . . . . . . . . . . . . 9-10
1.4 Technology Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-10
1.5 Technical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-15
2. What constitutes Automated Image Captioning Model?. . . . . . . . . . . . . . . .16-23
2.1 CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-18
2.2 RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-18
2.3 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-19
2.4 3 Phases of Automated Image Caption Generator . . . . . . . . . . . . . . . . . . . .20-23
3. Train with Progressive Loading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23-23
4. Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24-27
5. Difference between Machine learning and Deep learning . . . . . . . . . . . . . . .28-28
6. Code Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29-30
7. Output snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31-31
8. Experiments and Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32-33
9. Conclusion and Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33-34
References & Citations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35-35
Student Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36-36
6
1. Introduction
Caption Generation is a challenging artificial intelligence problem where a textual description
must be generated for a given photograph.
It requires both methods from computer vision to understand the content of the image and a
language model from the field of natural language processing to turn the understanding of the
image into words in the right order. Recently, deep learning methods have achieved state-of-
the-art results on examples of this problem.
Deep Learning methods have demonstrated state-of-the-art results on caption generation
problems. What is most impressive about these methods is a single end-to-end model can be
defined to predict a caption, given a photo, instead of requiring sophisticated data preparation
or a pipeline of specifically designed models.
Common uses for Automated Image Caption Generator (AICG) are that it can act like a
Caption Bot. For example, It can generate relevant captions for Blog Post. It also makes
google Image Search easy. The development of the image description system may help the
visually impaired people “see” the world in the future. Recently, it has drawn increasing
attention and become one of the most important topics in computer vision.
7
1.1 ADVANTAGES OF AUTOMATED IMAGE CAPTION GENERATOR
Visuals and imagery continue to dominate social and professional interactions globally. With
a growing scale, manual efforts are falling short on tracking, identifying, and annoting the
predigious amounts of visual data.
With the advent of artificial intelligence, multimedia businesses are able to accelerate the
process of image captioning while generating significant value.
AI-powered image caption generator employs various artificial intelligence services and
technologies like deep neural networks to automate image captioning processes.
1.2 LIMITATIONS OF THIS MODEL
Disadvantages of retrieval based image captioning methods are obvious. Such methods
transfer well-formed human-written sentences or phrases for generating descriptions for
query images.
Although the yielded outputs are usually grammatically correct and fluent,
constraining image descriptions to sentences that have already existed can not adapt to new
combinations of objects or novel scenes.
Under certain conditions, generated de-
scriptions may even be irrelevant to image contents.
Retrieval based methods have large limitations to their capability to describe images.
Our model will depend on the data, so, it can not predict the words that are out of the scope
Of its vocabulary.
8
1.3 APPLICATIONS OF AUTOMATED IMAGE CAPTION GENERATOR
The AI-powered image captioning model is an automated tool that generates concise and
Meaningful captions for prodigious volumes of images efficiently. The model employs
Techniques from computer vision and Natural Language Processing(NLP) to extract
Comprehensive textual information about the given images.
1) Recommendations in Editing Applications
The image captioning model automates and accelerates the close captioning process for
Digital content production, editing, delivery, and archival. Well-trained models replace
manual efforts for generating quality captions for images as well as videos.
2) Assistance for Visually Impaired
The advent of machine learning solutions like image captioning is a boon for visually
impaired people who are unable to comprehend visuals.
With AI-powered image caption generator, image descriptions can be read out to visually
impaired, enabling them to get a better sense of their surroundings.
3) Media and Publishing Houses
The media and public relations industry circulate tens of thousands of visual data across
borders in the form of newsletters, emails, etc.
The image captioning model accelerates subtitle creation and enables executives to focus on
more important tasks.
9
4) Social Media Posts
For social media, artificial intelligence is moving from discussion rooms to underlying
mechanisms for identifying and describing terabytes of media files.
It enables community administrators to monitor interactions and analysts to formulate
business strategies.
1.4 TECHNOLOGY USED
1. Python 3
2. Numpy(v1.19.0)
3. Keras(v2.4.3)
The model requires:
1. Methods from Computer Vision(to understand the content of the image)
2. Language model from NLP (to turn the understanding of image into
Words)
3. After training the model, its learning will be tested using Deep Learning.
10
1.5 TECHNICAL DESCRIPTION
Python 3
Python is a general-purpose interpreted, interactive, object-oriented, and high-level
programming language. It was created by Guido van Rossum during 1985- 1990.
Like Perl, Python source code is also available under the GNU General Public License
(GPL).
Python is named after a TV Show called ëMonty Pythonís Flying Circusí and not after
Python-the snake.
Python 3.0 was released in 2008. Although this version is supposed to be backward
incompatibles, later on many of its important features have been backported to be
compatible with version 2.7.
Python is a high-level, interpreted, interactive and object-oriented scripting language.
Python is designed to be highly readable. It uses English keywords frequently where
as other languages use punctuation, and it has fewer syntactical constructions than
other languages.
11
Numpy
NumPy, which stands for Numerical Python, is a library consisting of multidimensional
array objects and a collection of routines for processing those arrays.
Using NumPy, mathematical and logical operations on arrays can be performed.
Numeric, the ancestor of NumPy, was developed by Jim Hugunin. Another
package Numarray was also developed, having some additional functionalities.
In 2005, Travis Oliphant created NumPy package by incorporating the features
of Numarray into Numeric package. There are many contributors to this open
source project.
NumPy is often used along with packages like SciPy
(Scientific Python) and Mat−plotlib (plotting library). This combination is widely
used as a replacement for MatLab, a popular platform for technical computing.
However, Python alternative to MatLab is now seen as a more modern and
complete programming language.
It is open source, which is an added advantage of NumPy.
12
Keras
While deep neural networks are all the rage, the complexity of the major frameworks has
been a barrier to their use for developers new to machine learning. There have been several
proposals for improved and simplified high-level APIs for building neural network models,
all of which tend to look similar from a distance but show differences on closer examination.
Keras is one of the leading high-level neural networks APIs. It is written in Python and
supports multiple back-end neural network computation engines.
Keras was created to be user friendly, modular, easy to extend, and to work with Python.
The API was “designed for human beings, not machines,” and “follows best practices
for reducing cognitive load.”
Neural layers, cost functions, optimizers, initialization schemes, activation functions,
and regularization schemes are all standalone modules that you can combine to create
new models. New modules are simple to add, as new classes and functions. Models
are defined in Python code, not separate model configuration files.
13
Software Used for Execution
Jupyter Notebook using Anaconda Framework in python
At some point, we all need to show our work. Most programming work is shared either as
raw source code or as a compiled executable. The source code provides complete
information, but in a way that’s more “tell” than “show.” The executable shows us what the
software does, but even when shipped with the source code it can be difficult to grasp
exactly how it works.
The Jupyter Notebook is an open source web application that you can use to create and
share documents that contain live code, equations, visualizations, and text. Jupyter
Notebook is maintained by the people at Project Jupyter.
Jupyter Notebooks are a spin-off project from the IPython project, which used to have
an IPython Notebook project itself. The name, Jupyter, comes from the core supported
programming languages that it supports: Julia, Python, and R. Jupyter ships with the
IPython kernel, which allows you to write your programs in Python, but there are
currently over 100 other kernels that you can also use.
14
Anaconda Framework
Anaconda Navigator
Anaconda distribution comes with over 250 packages automatically installed, and over
7,500 additional open-source packages can be installed from PyPI as well as
the conda package and virtual environment manager. It also includes a GUI, Anaconda
Navigator, as a graphical alternative to the command line interface (CLI).
Anaconda Navigator is a desktop graphical user interface(GUI) included in Anaconda
distribution that allows users to launch applications and manage conda packages,
environments and channels without using command-line commands. Navigator can
search for packages on Anaconda Cloud or in a local Anaconda Repository, install them
in an environment, run the packages and update them. It is available for Windows, macOS
And Linux.
The following applications are available by default in navigator:-
• Jupyter Lab
• Jupyter Notebook
• QtConsole
• Spyder
• Glue
• Orange
• RStudio
• Visual Studio Code
15
2. WHAT CONSTITUTES AN AI-POWERED IMAGE CAPTIONING
MODEL?
The AI-infused image caption generator is packed with deep learning neural networks;
namely, Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), and
Long Short Term Memory (LSTM), wherein-
1) CNNs are deployed for extracting spatial information from the images
2) RNNs are harnessed for generating sequential data of words
3) LSTM is good at remembering lengthy sequences of words
Figure 1. A functional CNN-RNN model.
Image Source- Research Gate
16
2.1 CONVOLUTIONAL NEURAL NETWORKS(CNN)
Convolutional Neural Networks or CNN is a type of deep neural networks that are
efficient at extracting meaningful information from visual imagery. As an experiential AI
Development Company, Oodles AI decodes the underlying layers of CNN and how
businesses can deploy CNN for computer vision applications.
When it comes to us, humans, evolution has gifted us with very complex yet efficient
techniques to view and detect several objects. Our brain keeps on learning continuously
without our notice. There are several organs and parts of our brain involved in the process
like eyes, receptors and visual cortex.
In the era, with the resources and immense computational power, it would be pointless
not to explore computer vision. With so many applications of computer vision services,
we can take current generation technology to the next level. A great example is the
upcoming Tesla’s Robo-taxi which gives us a glimpse into the future.
A very popular machine learning algorithm, especially for Object Detection, is
Convolutional Neural Networks or CNN. CNN consists of four hidden layers such as-
Convolutional layers
Pooling layers
fully connected layers, and
Normalization layers.
Convolutional Layers takes two input layers - a part of the image and an equally sized filter
called the kernal. The output of this layer is the dot product of both inputs.
The idea of Pooling is to down-sample data. The Pooling Layer takes the input (an image)
and reduces its size in terms of a number of pixels. There are two ways to perform this -
Max Pooling and Min Pooling. Max Pooling picks the maximum value from the selected
region, whereas Min Pooling picks up the minimum value.
Under Fully Connected Layers, as the name suggests, all the outputs from one layer are
connected to the input of another layer. These layers are useful in the classification of the
data.
17
Normalization Layers are used to stabilize the neural networks. It performs normalization
on the input data.
CNN performs incredibly when it comes to analyzing a single image, but it lacks one
essential quality - they only consider spatial features and visual data ignoring the temporal
and time features i.e., how a frame is related to the previous frame. This is where
Recurrent Neural Networks or RNN come into play. The term ‘recurrent’ suggests that the
neural network repeats the same tasks for every sequence. RNN can also be used in
Natural Language Processing.
2.2 RECURRENT NEURAL NETWORKS(RNN)
RNNs are harnessed for generating sequential data of words.
In neural image captioning systems, a recurrent neural network (RNN) is typically viewed
as the primary `generation' component. This view suggests that the image features should
be `injected' into the RNN. This is in fact the dominant view in the literature. Alternatively,
the RNN can instead be viewed as only encoding the previously generated words. This view
suggests that the RNN should only be used to encode linguistic features and that only the
final representation should be `merged' with the image features at a later stage.
18
2.3 LONG SHORT TERM MEMORY(LSTM)
We use a deep convolutional neural network to generate a vectorized representation of an
image that we then feed into a Long-Short-Term Memory (LSTM) network, which then
generates captions.
Figure 2. CNN-LSTM ARCHITECTURE FOR IMAGE CAPTIONING
We use a deep convolutional neural network to create a semantic representation of an
image, which we then decode using a LSTM network. (Right) A unrolled LSTM
network for our CNN-LSTM model. All LSTMs share the same parameters. The
vectorized image representation is fed into the network, followed by a special start
of sentence token. The hidden state produced is then used by the LSTM predict/generate
the caption for the given image.
19
2.4 3 PHASES OF AUTOMATED IMAGE CAPTION GENERATOR
Figure 3. Schematic of the Merge Model For Image Captioning
1) Feature Extraction
The first move is made by CNNs to extract distinct features from an image based on its
spatial context. CNNs create dense feature vectors, also called embedding, that is used as
an input for the following RNN algorithms.
Figure 4. A-CNN-is-composed-of-two-basic-parts-of-feature-extraction-and-
classification-Feature
The CNN is fed with images as inputs in different formats including png, jpg, and others.
The neural networks compress large amounts of features extracted from the original image
into smaller and RNN-compatible feature vector. It is the reason why CNN is also referred
to as ‘Encoder’.
20
2) Tokenization
The second phase brings RNN into the picture for ‘decoding’ the process vector
inputs generated by the CNN module. For initiating the task for captions, the RNN
model needs to be trained with a relevant dataset. It is essential to train the RNN model
for predicting the next word in the sentence. However, training the model with strings
is ineffective without definite numerical alphas values.
For this purpose, it required to convert the image captions into a list of tokenized words as
shown below-
Figure 5. Image Source- Manning
21
3) Text Prediction
Post tokenization, the last phase of the model is triggered using LSTM. This step requires an
embedding layer for transforming each word into the desired vector and eventually pushed
for decoding. With LSTM, the RNN model must be able to remember spatial information
from the input feature vector and predict the next word. Now with LSTM performing its
tasks, the final output is generated by calling the (get_prediction) function.
Recently, a company named Oodles built an image captioning model powered by deep
neural networks. Here’s how it process the images to generate near accurate outputs-
Figure 6. Image Captioning Model by Team Oodles
Image Source Oodles AI
In addition to image captioning, the model can be used to search for relevant images
with input in the form of tags such as “cars”, “books”, etc.
22
We also create a plot to visualize the structure of the network that better helps understand
the two streams of input.
Figure 7. Plot of the Caption Generation Deep Learning Model
3. TRAIN WITH PROGRESSIVE LOADING
The training of the caption model does assume you have a lot of RAM.
The code in the previous section is not memory efficient and assumes you are running
on a large EC2 instance with 32GB or 64GB of RAM. If you are running the code on a
workstation of 8GB of RAM, you cannot train the model.
8GB of RAM should be more than capable.
23
4. RELATED WORKS
There are many number of applications wherever images and deep learning involved.
SkinVision
Lets you confirm weather a skin condition can be skin cancer or not.
Since the publication of the last systematic review of smartphone applications, a study
on a smartphone application called SkinVision reported improved results for an algorithm
trained on more than 130,000 images by more than 30,000 users.
Over the past years, SkinVision has made great progress towards developing an application
that is significantly reliable in recognizing dangerous skin lesions.
SkinVision started off with a ‘rule-based’ system which went through every picture and
checked skin lesions for certain characteristics to determine risk. Even though this algorithm
has helped them detect the risk of thousands of dangerous lesions, they are continuously
looking to improve its accuracy.
They have trained the SkinVision algorithm with large quantities of images which were
previously assessed by our team of dermatologists.
The algorithm learns which lesions are dangerous and which ones are not. They
continuously train and improve our algorithm with new sets of images. From now on, all the
24
pictures submitted through the SkinVision application go through this algorithm.
It is common for doctors to ask a second opinion, and so at this moment, every photo is also
reviewed by our in-house dermatologists and image recognition experts. They have set up
this process to assist the algorithm to become more accurate and to make sure that their
dermatologists agree with the risk indication.
The best part, however, is that we are training our algorithm to become on a par with the
best dermatologists.
Picasa
Using facial Recognition to identify your friends and you in a group picture.
Google Photos
Classify your photo into Mountains, sea etc.
25
Deepmind
Achieved superhuman level playing Game Atari.
Facebook
Preventing Suicide
Around the world, suicide is the second leading cause of death for 15 to 29-year olds.
Thankfully, Facebook can now help prevent suicides through the use of AI. AI can signal
posts of people who might be in need and/or perhaps driven by suicidal tendencies. The AI
uses machine learning to flag key phrases in posts and concerned comments from friends or
family members to help identify users who may be at risk. Analyzing human nuance as a
whole is quite complex, but AI is able to track it the context and understand what is a
suicidal pattern and what isn’t. It’s great to see that Facebook and other social media sites
are doing their part to help with this issue.
26
Anyways, main implication of image captioning is automating the job of some person who
interprets the image (in many different fields).
1. Probably, will be useful in cases/fields where text is most used and with the use of
this, you can infer/generate text from images. As in, use the information
directly from any particular image in a textual format automatically..
2. There are many NLP applications right now, which extract insights/summary from
a given text data or an essay etc. The same benefits can be obtained by people who
would benefit from automated insights from images.
3. A slightly (not-so) long term use case would definitely be, explaining what happens
in a video, frame by frame.
4. Would serve as a huge help for visually impaired people. Lots of applications can be
developed in that space.
5. Social Media. Platforms like facebook can infer directly from the image, where you
are ( beach, cafe etc), what you wear (color) and more importantly what you’re
doing also (in a way). See an example to understand it better.
27
5. Difference between Deep Learning and Machine Learning
In practical terms, deep learning is just a subset of machine learning. In fact, deep learning
technically is machine learning and functions in a similar way (hence why the terms are
sometimes loosely interchanged). However, its capabilities are different.
While basic machine learning models do become progressively better at whatever their
function is, they still need some guidance. If an AI algorithm returns an inaccurate
prediction, then an engineer has to step in and make adjustments. With a deep learning
model, an algorithm can determine on its own if a prediction is accurate or not through
its own neural network.
Let’s go back to the flashlight example: it could be programmed to turn on when it
recognizes the audible cue of someone saying the word “dark”. As it continues learning,
it might eventually turn on with any phrase containing that word. Now if the flashlight had
a deep learning model, it could figure out that it should turn on with the cues “I can’t
see” or “the light switch won’t work,” perhaps in tandem with a light sensor. A deep
learning model is able to learn through its own method of computing—a technique that
makes it seem like it has its own brain.
28
6. CODE SNAPSHOTS
29
30
[Link] AND RESULTS
31
UI SNAPSHOTS
32
33
34
35
Training the model with metrics Accuracy and MSE
36
BLEU SCORE
37
DATASET AND DIRECTORY SNAPSHOTS
Screenshot of Image Dataset
Screenshot of Text Dataset
38
Screenshot of Main Directory
8. Conclusion and Future Scope
Thanks a lot if you have reached here. This is our first attempt in making project report
so we expect the readers to be a bit generous and ignore the minor mistakes we might have
Made.
Our described model is based on a CNN that encodes an image into a compact
representation, followed by an RNN that generates corresponding sentences based on the
learned image features. It worked quite well when tested on several images. The captions
it generated for the images were quite accurate. But the source of input image also played
an important role in feature extraction and hence caption generation. Certain images are
not well recognized and we found out that there is, still some scope of improvement. We
Got accuracy of 35.93%.
39
Of course this is just a first-cut solution and a lot of modifications can be made to improve
this solution like:
. Using a larger dataset.
• Changing the model architecture, e.g. include an attention module.
• Doing more hyper parameter tuning (learning rate, batch size, number of layers,
number of units, dropout rate, batch normalization etc.).
• Use the cross validation set to understand overfitting.
40
9. References and Citations
[1] Brett Grossfeld(2020, 23 January). Deep learning vs machine learning: a simple way to
understand the difference: [Link]
learning/#:~:text=To%20recap%20the%20differences%20between,intelligent%20decisions%
20on%20its%20own
[2] Mike Driscoll. Jupyter Notebook: An Introduction: [Link]
notebook-introduction/
[3] Haoran Wang. Research Article. An Overview of Image Caption Generation Methods:
[Link]
[4] SkinVision In Articles. How Machine Learning Technology Detects Skin Cancer:
[Link]
[5] Kambria In Articles(2019, 5 June). How facebook Uses Artificial Intelligence:
[Link]
intelligence/#:~:text=AI%20can%20signal%20posts%20of,who%20may%20be%20at%20ris
k.
[6] Moses Soh. Research Article. Department of Computer Science. Stanford University.
Learning CNN-LSTM Architectures for Image Caption Generation:
[Link]
[7] Sanam Malhotra. Oodles AI(2020, 8 April). Building and Deploying an AI-powered
Image Caption Generator: [Link]
captiongenerator/#:~:text=The%20advent%20of%20machine%20learning,better%20sense%2
0of%20their%20surroundings.
[8] Jason Brownlee(2019, 3 September). How to develop a Deep learning photo caption
generator: [Link]
model-in-python/
[9] Machine learning Handouts of College
[10] Dr. Vinayak [Link], Mahiman [Link], Anuj [Link], Amit [Link]. Research
Journal. International Research Journal of Engineering and Technology(IRJET)(2020, April).
Image Caption Generator using Big Data and Machine Learning:
[Link]
41
10. STUDENTS DETAILS
Bhavya Tyagi
Enrollment Number- 181B070
Email-ID- 181b070@[Link]
Bhawana Mishra
Enrollment Number- 181B071
Email-ID- 181b071@[Link]
Chandan Kumar
Enrollment Number- 181B074
Email-ID- 181b074@[Link]
42