Beruflich Dokumente
Kultur Dokumente
FINAL REPORT
On
SUBMITTED BY
DIKSHANT 17BCS1558
APRIL-2019
SUPERVISED BY MENTORD BY
We, Aditya Chauhan, Dikshant and Rahul Kumar having uid 17BCS15508,17BCS1558 and
17BCS1548 respectively, B.E.-2019 of the Chandigarh University, Punjab hereby declare
that the Integrated Project Report entitled “Online Train Ticketing System” is an original
work and data provided in the study is authentic to the best of our knowledge. This report has
not been submitted to any other Institute for the award of any other course.
Place:
Date:
CERTIFICATE
This is to be certified that the project entitled “Online Train Ticketing System” has been submitted
for the Bachelor of Computer Science Engineering at Chandigarh University, during the academic
semester January 2018 – May 2018 is a bonafide piece of project work carried out by “Aditya
Chauhan , Dikshant and Rahul Kumar ” towards the partial fulfilment for the award of the course
Integrated Project (CSP-2204) under the guidance of “Mrs. Navpreet Walia” and supervision.
Aditya Chauhan
Dikshant
Rahul Kumar
TABLE OF CONTENTS
Page No.
TITLE PAGE i.
DECLARATION ii.
CERTIFICATE iii.
ACKNOWLEDGEMENT iv.
Chapter 1: ABSTRACT 1
SPECIFICATION
3.1 Methods 5-6
3.2 Programming/Working Environment 6-7
3.3 Requirements to run the application 7-8
ABSTRACT
The main goal and objective of this online train ticketing system is to online book the train
tickets in the real time environment, & to keep all the details and database of the train ticketing
system on a daily basis to keep track of the reservation of the individual. The system will mark
and record the resrvation in any environment. In this system user can capture all the details of
resrvation and accordingly book the tickets accordingly of the passenger will be reserved,
improving the accuracy to great extent and finally the ticket will be generated of the passenger.
CHAPTER 2
INTRODUCTION
In many Institution and Organization, the attendance is a very important factor to maintain the
record of lectures, salary and work hours etc. Most of the institutes and organizations follow
the manual method using old paper and file method and some of them have shifted to biometric
technique. The current method that colleges use is that the professor passes a sheet or make
roll calls and mark the attendance of the students and this sheet further goes to the admin
department with updates the final excel sheet. This process is quite hectic and time consuming.
Also, for professors or employees at institutes or organizations the biometric system serves one
at a time. So, why not shift to an automated attendance system, which works on face
recognition technique? Be it a classroom or entry gates it will mark the attendance of the
students, professors, employees, etc. This system uses Viola and Jones algorithm for detecting
and recognizing the faces. The main elements of this technology are as follows: a) Face
Detection b) Face Recognition.
(a) Face Detection: Face detection is a computer technology being used in a variety of
applications that identifies human faces in digital images. Face detection also refers to the
psychological process by which humans locate and attend to faces in a visual scene. Face
detection can be regarded as a specific case of object-class detection. In object-class detection,
the task is to find the locations and sizes of all objects in an image that belong to a given class.
Examples include upper torsos, pedestrians, and cars. Face-detection algorithms focus on the
detection of frontal human faces. It is analogous to image detection in which the image of a
person is matched bit by bit. Image matches with the image stores in database. Any facial
feature changes in the database will invalidate the matching process. A reliable face-detection
approach based on the genetic algorithm and the Eigen-face technique: Firstly, the possible
human eye regions are detected by testing all the valley regions in the gray-level image. Then
the genetic algorithm is used to generate all the possible face regions which include the
eyebrows, the iris, the nostril and the mouth corners. Each possible face candidates is
normalized to reduce lightning effect caused due to uneven illumination and the shirring effect
due to head movement. The fitness value of each candidate is measured based on its projection
on the Eigen-faces. After a number of iterations, all the face candidates with a high fitness
value are selected for further verification. At this stage, the face symmetry is measured and the
existence of the different facial features is 1 1.1. Introduction verified for each face candidate
The previous approach in which manually takes and maintains the attendance records was very
inconvenient task. Traditionally, student’s attendances are taken manually by using attendance
sheet given by the faculty members in class, which is a time consuming event. Moreover, it is
very difficult to verify one by one student in a large classroom environment with distributed
branches whether the authenticated students are actually responding or not. The ability to
compute the attendance percentage becomes a major task as manual computation produces
errors, and also wastes a lot of time. This method could easily allow for impersonation and the
attendance sheet could be stolen or lost. An automatic attendance management system using
biometrics would provide the needed solution. The results showed improved performance over
manual attendance management system. Biometricbased techniques have emerged as the most
promising option for recognizing individuals in recent years since, instead of authenticating
people and granting them access to physical and virtual domains based on passwords, PINs,
smart cards, plastic cards, tokens, keys and so forth, these methods examine an individual’s
physiological and/or behavioural characteristics in order to determine and/or ascertain his
identity.
CHAPTER 3 SOFTWARE AND HARDWARE
REQUIREMENT ANALYSIS
To be used efficiently, all computer software needs certain hardware components or other
software resources to be present on a computer. These prerequisites are known as (computer)
system requirements and are often used as a guideline as opposed to an absolute rule. Most
software defines two sets of system requirements: minimum and recommended.
3.1 Methods
OpenCV
OpenCV (Open Source Computer Vision Library) is released under a BSD license and hence
it is free for both academic and commercial use. It has C++, C, Python and Java interfaces and
supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
computational efficiency and with a strong focus on real-time applications. Written in
optimized C/C++, the library can take advantage of multi-core processing. Enabled with
OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous
compute platform.
Theano
Maintained by Montréal University group.
Pioneered the use of a computational graph.
General machine learning tool - Use of Lasagne and Keras.
Very popular in the research community, but not elsewhere.
Caffe
Caffe is a well-known and widely used machine-vision library that ported Matlab’s
implementation of fast convolutional nets to C and C++. Caffe is not intended for other
deeplearning applications such as text, sound or time series data. Like other frameworks
mentioned here, Caffe has chosen Python for its API. Caffe perform image classification with
convolutional nets, which represent the state of the art. In contrast to Caffe, Deeplearning4j
offers parallel GPU support for an arbitrary number of chips, as well as many, seemingly
trivial, features that make deep learning run more smoothly on multiple GPU clusters in
parallel. While it is widely cited in papers, Caffe is chiefly used as a source of pre-trained
models hosted on its Model Zoo site.
TenserFlow
TensorFlow is an open source software library for numerical computation using data flow
graphs. Nodes in the graph represent mathematical operations, while the graph edges represent
the multidimensional data arrays (tensors) communicated between them. The flexible
architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop,
server, or mobile device with a single API. TensorFlow was originally developed by
researchers and engineers working on the Google Brain Team within Google's Machine
Intelligence research organization for the purposes of conducting machine learning and deep
neural networks research, but the system is general enough to be applicable in a wide variety
of other domains as well.
MATLAB
MATLAB combines a desktop environment tuned for iterative analysis and design processes
with a programming language that expresses matrix and array mathematics directly. MATLAB
toolboxes are professionally developed, rigorously tested, and fully documented.
MATLAB apps let you see how different algorithms work with your data. Iterate until you’ve
got the results you want, then automatically generate a MATLAB program to reproduce or
automate your work. Scale your analyses to run on clusters, GPUs, and clouds with only
minor code changes. There’s no need to rewrite your code or learn big data programming and
out-of-memory techniques.
3.2 Programming/Working Environment
Python
Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides
a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented
interface to the Tk GUI toolkit.
OpenCV
OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed
at real-time computer vision. Originally developed by Intel, it was later supported by Willow
Garage then Itseez (which was later acquired by Intel). The library is crossplatform and free
for use under the open-source BSD license. OpenCV supports the deep learning frameworks
TensorFlow ,Torch/PyTorch and Caffe.
3.3 Requirements to run the application:
Supportive Operating Systems: The supported Operating Systems for client include:
Windows 2010, windows 2008, windows 2007.
Python
b. OpenCV framework
c. MS Excel.
Software requirements deal with defining software resource requirements and prerequisites
that need to be installed on a computer to provide optimal functioning of an application. These
requirements or prerequisites are generally not included in the software installation package
and need to be installed separately before the software is installed.
OpenCV (Open Source Computer Vision Library) is an open source computer vision and
machine learning software library. OpenCV was built to provide a common infrastructure for
computer vision applications and to accelerate the use of machine perception in the commercial
products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and
modify the code. The library has more than 2500 optimized algorithms, which includes a
comprehensive set of both classic and state-of-the-art computer vision and machine learning
algorithms. These algorithms can be used to detect and recognize faces, identify objects,
classify human actions in videos, track camera movements, track moving objects, extract 3D
models of objects, produce 3D point clouds from stereo cameras, stitch images together to
produce a high resolution image of an entire scene, find similar images from an image database,
remove red eyes from images taken using flash, follow eye movements, recognize scenery and
establish markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand
people of user community and estimated number of downloads exceeding 7 million. The
library is used extensively in companies, research groups and by governmental bodies. As an
asynchronous event driven framework.
The most common set of requirements defined by any operating system or software application
is the physical computer resources, also known as hardware. A hardware requirements list is
often accompanied by a hardware compatibility list (HCL), especially in case of operating
systems. An HCL lists tested, compatible, and sometimes incompatible hardware devices for
a particular operating system or application.
(SRS)
Introduction
Purpose
Face Recognition is a software application which helps to identify the face and age of
any person. You can link the social media apps and various other online platforms
where information about gender, age and facial points is asked. Using this we can stop
spam accounts creation in various social media websites.
Product Scope
All social media companies require a system for verifying the gender of the person. This
will be useful for small to medium scale companies willing to add an improvement in
their system.
Features
• FaceRecognition
Referred Websites
https://www.google.com/ https://www.w3schools.com/
https://www.github.com/
https://www.stackoverflow.com/
https://www.python.org/
Referred Books
• Python for Everyone
• Intro. To machine learning with python
• Numpy Book
Architecture Diagram
Block diagram
Flow Diagram
Face recognized
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system. It differs from the flowchart as it shows the data flow instead of the control
flow of the program. A data flow diagram can also be used for the visualization of data
processing (structured design).
For constructing GUI of Face Detection Attendance System Tkinter is used. Tkinter is the
standard GUI library for Python. Python when combined with Tkinter provides a fast and easy
way to create GUI applications. Tkinter provides a powerful object-oriented interface to the
Tk GUI toolkit.
Automated Attendance Management System has the following functions:
Create Dataset- Clicking this function create dataset of a person and it clicks 60 images
of a person.
Train Dataset- After creating dataset this function train the dataset images.
Recognizing + Attendance - This function recognizes the person and marks its
attendance in excel sheet.
Attendance Sheet- This function opens attendance of current date.
Project Reports- This function lists all project reports.
Developers- This open html page that contains information about developers.
CHAPTER 5 CODE-IMPLEMENTATION
Code for Face Detection Attendance System is implemented with python language and
openCV library.
assure_path_exists(path): dir =
os.path.dirname(path) if not
os.path.exists(dir): os.makedirs(dir)
cv2.VideoCapture(0)
cv2.CascadeClassifier('haarcascade_profileface.xml')
= face_detector.detectMultiScale(gray, 1.3, 5)
for f in os.listdir(path)]
Ids=[]
#now looping through all the image paths and loading the Ids and the images for imagePath in
imagePaths:
imageNp=np.array(pilImage,'uint8')
Id=int(os.path.split(imagePath)[-1].split(".")[1]) # extract
faces=detector.detectMultiScale(imageNp)
#If a face is there then append that in the list as well as Id of it for
(x,y,w,h) in faces:
faceSamples.append(imageNp[y:y+h,x:x+w])
5.3 Implementation of Recognizer and attendance
5.3.1 Algorithm for recognizer and attendance
#We created a recognizer object using openCV library and load the training data (before
that just save your script in the same location where your “trainer” folder is located)
#Now we will create a cascade classifier using haar cascade for face detection, assuming u
have the cascade file in the same location, cascadePath =
#Next we need a “font” that’s because we are going to write the name of that person in the
cv2.cv.InitFont(cv2.cv.CV_FONT_HERSHEY_SIMPLEX, 1, 1, 0, 1, 1)
filename=xlwrite.output('attendance','class1',1,id,'yes'); dict[str(id)]=str(id);
str(id);
If lighting conditions are poor than it affects the recognition as it recognizes wrong and
sometimes don’t recognize in poor lighting conditions, so while creating dataset and
recognizing it needs proper lighting.
Webcam and processor with high specification is required as system consumes a lot of
resources.
This system is developed for maintaining the attendance record. The main motive behind
developing this system is to eliminate all the drawbacks, which were associated with manual
attendance system. The drawbacks ranging from wastage of time and paper, till the proxy
issues arising in a class, are eliminated. Hence, desired results with user-friendly interface is
expected in the future, from the system. The efficiency of the system could also be increased
by integrating various steps and techniques in the future developing stages of the system.
The research work has implemented a face recognition system by using PCA which is
eigenvector based multivariate analyses. Often, its operation can be thought of as revealing
the internal structure of the data in a way which best explains the variance in the data. By
implementing PCA the proposed Face Recognition System supplies the user with a lower
dimensional picture, a "shadow" of this object when viewed from its most informative
viewpoint.
The algorithm has been tested with multiple students in the scene and also captured faces at
different angles in the scene. The algorithm delivers quite good results but there is a room to
improve the algorithm performance in case of large number of students and also in case of
faces captured in a dark environment, so proposed system can be extended in the future to
cover this aspect. The efficiency of the algorithm also can be increased further so there is also
a room for future work in this area. This system can be enhanced further in terms of achieving
more efficiency by ease of analysis of patterns in the data.
CHAPTER 10 BIBLIOGRAPHY
[1] Technical Paper on â_ Image Based Intelligent Attendance Logging System, IEEE
Technical Paper by Hary Oktavianto, Hsu Gee-Sern Chung Sheng-Luen, June 30-July 2,
2012, Dalian,China.
[2] Z. Zhou, X. Chen, Y. â“C. Chung, Z. He, T. X. Han, and J. M. Keller, "Activity
analysis,summarization, and visualization for indoor human activity monitoring,â IEEE
Transactions on Circuits and Systems for Video Technology, Volume 18, Issue 11, pp.
14891498, 2008.
[3] OpenCV. Available: http://sourceforge.net/projects/ opencvlibrary/.
[4] Activity zones for context-aware computing, Lecture Notes in Computer Science, Volume
2864/2003, pp. 90-106, 2003.
[5]International Journal of Innovative Research in Computer and communication
Engineering(Vol.3,Issue 8,Aug 2015)(Automated Attendance System Using Face
Recognition.)
[6]International Journal of Computer Applications (0975-8887) Volume 98-No.20,July
2014(Adjacency Matrix based Face Recognition Approach.)
[7]International Journal of Information Technology and Knowledge Management
JulyDecember 2012, Volume 5, No. 2, pp. 361-3639(Face Recognition Techniques:
Classification and Comparisons.)
[8]Face Recognition using Line Edge Map Vipin Kumar and Mohit Mehta Department of
Electronics and communication, Punjab College of engineering and technology, India
Accepted 01 January 2014, Available online 10 January 2014, Vol.2 (Jan/Feb 2014 issue)
[9]International Journal of Advanced Computer Research (ISSN (Print): 2249-7277 ISSN
(Online): 2277-7970) Volume-4 Number-4 Issue-17 December-2014 939 Study of Face
Recognition Techniques Sangeeta Kaushik1*, R. B. Dubey2 and Abhimanyu Madan3
[10]Face Recognition Using Line Edge Map Yongsheng Gao, Member, IEEE, and Maylor
K.H. Leung, Member, IEEE (IEEE TRANSACTIONS ON PATTERN ANALYSIS AND
MACHINE INTELLIGENCE, VOL. 24, NO. 6, JUNE 2002)
[11] C. Kotropoulos and I. Pitas, “Rule-based face detection in frontal views,” Proc. Int’l
Conf. Acoustics, Speech and Signal Processing, vol. 4, pp. 2537-2540, 1997.
[12] E. Saber and A.M. Tekalp, “Frontal-view face detection and facial feature extraction
using color, shape and symmetry based cost functions,” Pattern Recognition Letters,
vol. 17, no. 8, pp. 669-680, 1998.
[13] M. Turk, A. Pentland, Eigenfaces for Recognition, Journal of Cognitive Neurosicence,
Vol. 3, No. 1, Win. 1991, pp. 71-86 .
[14] Discriminant analysis for recognition of human face images Kamran Etemad and Rama
Chellappa
[15] Sanjay singh et.al, “A robust skin color based face detection algorithm”, Tamkang
Journal of Science and Engineering vol.6, no.4,pp227-234, 2003
[16] Jose M.Chaves-Gonzalez, Miguel A Vega-Rodriguez,Juan A.Gomez-Pulido,Juan
M.Sanchez-perez,” Detecting skin in face recognition systems: A color spaces study”, Dig\]ital
signal processing, 20(2010) 806-823.
1