SlideShare a Scribd company logo
1 of 102
Face DetectionSystemforTime ManagementSystem
DilshanSarangaDharmawardana(DW003615)
2 | P a g e
Acknowledgement
I would like to express my gratitude to all those who assisted me throughout at every phase of this
project.I am deeplyindebted to our lecturer Mr. John Cowley, Mr. Nico Decourt and Mr. Rob Kinmond
for all the support they gave me at every stage.
My sincere thank you also goes to Staffordshire University for providing me the necessary resources
such as laboratory and library facilities needed to carry out the needful.
My sincere thanksgoestomyfellowcolleaguesandseniorsforwillinglyhelpingme atanypointof time.
Last but not least we thank all my parents for their untiring support and encouragement given for the
successful completion of this assignment.
3 | P a g e
Table of Contents
Background…………………………………………………………………………………………………………………………3
Solution……………………………………………………………………………………………………………………………….4
ProjectScope………………………………………………………………………………………………………………………5
ProjectObjectives……………………………………………………………………………………………………………….5
SolutionOutline………………………………………………………………………………………………………………….6
ReportOutline…………………………………………………………………………………………………………………….7
ProblemAnalysis………………………………………………………………………………………………………………..9
Problem Description……………………………………………………………………………………………………………9
Challenge of the problem…………………………………………………………………………………………………10
System Requirements……………………………………………………………………………………………………….11
Functional Requirements…………………………………………………………………………………………………11
ResourcesIdentification……………………………………………………………………………………………………11
Hardware Resources…………………………………………………………………………………………………………11
Software Resources…………………………………………………………………………………………………………..12
Methodology…………………………………………………………………………………………………………………….13
Why SystemPrototypes?.......................................................................................................15
Researchand Investigation……………………………………………………………………………………………….16
Java…………………………………………………………………………………………………………………………………..16
4 | P a g e
C++……………………………………………………………………………………………………………………………………18
MATHLAB…………………………………………………………………………………………………………………………19
Justificationforselectedlanguage……………………………………………………………………………………20
Face recognitionapproach……………………………………………………………………………………………....21
Line Edge Map………………………………………………………………………………………………………………….23
ElasticBunch Graph………………………………………………………………………………………………………....28
Eigen Face……………………………………………………………………………………………………………………….32
Justification for Eigen-face………………………………………………………………………………………………40
Reference and Bibliography…………………………………………………………………………………………….41
5 | P a g e
Background
UsuallyTime ManagementSystemsare usingformanage daily schedule of staff andgenerate salary.In
earlydays, before computerscome towork,Theyusedtohave a logbookand each time the personal
managerhave to update it, plusIt isveryhard to maintaina logbookif there are more than 20 staff.
Solutionforthat Computerprofessional hasproduced asystemtomanage time.It’san automated
systemthatallows authorizedpersonto(personalsmanages) simplylogintothe systemandsee what
time start workand finish, howmanyhourswork.
Early daysbut still use the Smartcards for loginto the time managementsystemwhenacolleague
starts work.Sometimesitusesbiocharacterslike fingerprint.
I am workingasa part time colleague inASDA andituse Smart Card forcheck into work.Firstwe need
to selectthe option(obviouslywe needtoselectstartbuttonprovidedbythe systeminterfacewhenwe
checkin).Thenthe systemwouldprompttouser,holdthe Smartcard in frontto the sensor.If the Smart
card is valid, the systemwouldautomatically displaycolleaguename,Batch numberandtime he or she
start work. Thisinterface synchroniseswithSystemdatabase andupdates it.If the systemfraileroccurs
personal managerhave toupdate colleague detailsmanually.
6 | P a g e
Face Detection Systems
Image processingisa rapidgrowingfieldinpresent,face recognitionisapart of it. Basicallyface
recognitionsystemwhichusingtoimplementsecuritysystem.Inbottomline face recognitioncan
identifyapersonbyhisor herbiometriccharacteristic.Torecognize apersonbyface thissystemsusing
a sequence of image of single image andprocessitandcompare itwithinbuiltdatabase.Finallyif there
isa matchingimage itwouldgive positive output.
Face recognitionmethodismore usersfriendlyif we compare withotherbiometricsystemssuchas
fingerprint, behaviourpaten,voice recognition.Plustoimplementthose kindof systemrequire
specialize hardwaretocapture data.But in face recognitionsimplyneedacamera.
7 | P a g e
Project Scope
Accurate Identification of Faces
The image processingwouldtake some time togive anoutputdependonwhat algorithm and hardware
we use.Asa resulttovalidate colleague itwill take some time,butkeepingthe colleague waiting would
reduce the efficiencyof company.Therefore the bestwayistoselectmore quickandaccurate algorithm
to solve this problem.
Project Objectives
1) Make the Gantt chart to allocate specifictime andaccomplisheachmilestonewithingiventime
periodtoensure thatfinishthe entire projectfinishwithindeadline.
2) Selectthe appropriate methodologythatmeetthe systemdesignstepsandapplytodesignandother
steps
3) Implementthe core functionisthe mainobjective of thisproject.Face recognitionpart shouldbe
hassle free,efficient,andeffective.There are several stepswhichhelptocome upwithface recognition
part. Firstof all needtocapture image of the personandgo throughimage filteringthatreduce noises
of the picture.Thenthatpicture needtoconvertto gray scale to make the comparisoneasyand
efficiency.Finallythe systemwouldconsidermajorpointsof the face that identifyuniquelyand
calculate an average number,compare thataverage numberwithitspicture database (averagenumbers
will be calculate foreachpersonbythe systemwhenthe comparisonstart).If there anypositive number
(Accordingtothe picture) inthe Systemdatabase itwouldallow usertologinto the system.
4) Afterresearchdone Ihave to selectthe method thatdoesmostreliable,effectivelyidentifypeople
whoalreadyinthe systemdatabase.
5) Aftersuccessfullyfinishthe above objective,nextobjectiveisintegratingface detectionsystemwith
the time managementsystem.Forimplementthe wholesystem the companyclockingmachine andits
8 | P a g e
central database needtoupgrade.The embeddedcamerawilltake apicture of the colleague and
systemwill automaticallysearchinthe central database till findthe identical picture.Thenthe system
will allowtousertoenterto the system.
6) Designthe testplane anddebugthe systemtomake sure all the functionsare workingperfectlyasit
should.
7) FinallyFull documentationwithHarvardreferencing,bibliographiesandappendices.
SolutionOutline
In thisprojectthe outcome isa time managementapplicationforacompany.Ultimatelythisoutcome
provide asecurityapplicationalso.The systemmainlydependsonface recognitionandbecause of that
implementwithmosteffective,reliableface identifyingalgorithm.
User needstoregisterwiththe systemandmeantime userhasto provide aclearfrontedpicture.This
systemwouldable toauthenticatingpersonbyfrontedpicture capturedbyembeddedcameraandit
wouldcompare withitspicture database.
Firstof all userneedtoselectthe optionandafterselectitthe systemwouldpromptusertoface tothe
camera.Withinseconditwould analyze the picture,compare andgive the result.If the userisa valid
colleague,the Systemwouldallowloggingin tosystemanditwill show colleague details.Apartof thata
validcolleague canperformlogout,goingtomeal break.Toactivate those optionusermustloggingto
the system
ReportOutline
Thisprojectdocumentationwouldcategoriestosix stepsasinbelow
1) Analyst
2) Research
3) Design
9 | P a g e
4) Implementation
5) Testing
6) Critical evaluation
In analystsectionwill provide someuseful informationaboutthe system, mainlywhatuserrequirement
shouldconsiderwhendesignthe system.Thissectionwill giveaclearpicture of the system.
Researchstepwill coveraboutpresentface recognitionsystemsanditwill discusseachmethodand
whatis the core functionally,howitperformsface recognition.Finallyinthisstepwilldiscusshowto
overcome with currentsolutionandjustifythe selectedmethod.
In thirdstep,woulddescribe aboutwhole systemandendusers.Give depthinformationaboutsystem
throughsystemarchitecture,Usercase diagrams.Thisstepwouldgive aclearimage of how the system
will be.
Forth stepwill describeall aboutimplementation.Will describe all stepsbeginfromfrontendtoback
end.
Testingstepwouldgivesthe detailsof testplansandwhatmethodsusingtofindoutbugsin thissystem
Finallycritical evaluationstepwoulddescribe aboutthe systeminnakedeye.Whatare the goodpoints
and bad pointinthissystempluslimitation,assumptionhadmade forthissystem.
10 | P a g e
PROBLEM ANALYSIS
Problem Description
The main problemof face recognitionistoidentify animage withthe capturedimage fromthe cameras.
In thisscenariomainlyfocusonface detection,the systemidentifyapersonthroughanimage or a video
Proposedsystemcanverifyapersonandallow himor herto clock inor otherfunctionthatsystem
provides.Whenapersonregisterwithacompanyhave to provide afrontedimage anditwill be store in
a central database.once a personneedtoclock in,the camera will take asnap shotof the person and
verifythe face usingface recognitionmethodology thatwillhave selected afterresearchdone.
In thisscenariothe maindifficultyisrecognisethe face withgivendatabase.
Challenge of the problem
 Academic challenge
There are a lotof waysto detecta face but need to implement the system with the most efficient,
effectivealgorithmafter deep research. There are number of algorithms such as Eigenfaces (PCA),
Elastic Brunch Graph Matching (EBGM) and Neural Network (NN) and many others are also
available. Above mention algorithms are more popular algorithms in present and they are
commonly use in industry
 Technical challenge
Need to find out what is the most suitable programming language for develop the system.
End-Users of the System
There are two end users in this system.
1 Colleague
Person who are interact with the system.
2 Admin
11 | P a g e
Person who are get information through this system
System Requirements
Functional Requirements
Followingare the functionalrequirementsforthissystem
System should capture a snap shot of a colleague automatically after select an option
System should filter the capture image (noise filter)
System should able to compare image with it is picture database
System should able to match the correct image in database with given image
System must able to allow user to enter to the system after authenticate process done.
System must calculate correct time without any mistake, miscalculate from start to end.
Systemshouldable tosummarise all the information and make a final report at the end of the
month
Resources Identification
Mainly Resources are categorized in to two parts. It is Hardware and Software. The System is
going to be developing capable to Microsoft platform
Hardware Resources
According to this project to process the program following hardware resources are required,
Computer Requirements (Minimum)
 Pentium 4 (3.0 GHz) Processor.
 256MB Ram
 20GB HDD
12 | P a g e
 64MB VGA card
Other Resources
 WEB Camera
The web camera will capture the image of a person and the computer will process the program, to
connectthe database.If the image will notmatchingorinvaliduserthe warningmassage will pop out to
the screen.
Software Resources
 To run this system mainly need operating system as windows xp system.
 Math lab 2007b is the software using to develop face detection software.
 Ms SQL 2005 is using as the database system of this system.
 To design interface and buttons of the system expect to use firework and Photoshop
cs3.
 Microsoft Office Project 2003 is using to create grant chart and other project
management reports.
13 | P a g e
Methodology
Accordingto Chapmanidentifyingthe mostimportant milestones in the life of a system makes the life
easy for the project to be executed with an accurate note. And when it comes to the system
developmentlife cycle itisall aboutplanning,managingandexecutingthe stepsinasequentialmanner.
And it is important to allocate more time and more budget over the project when the methodology is
SDLC. (Chapman, 2004)
(Anon,2009)
Thisis one of the mostimportant traditional methodologieswhichhaslaidthe foundation to the rest of
the successful methodologiesandthis is using the most important aspects of the system development
to bring and separate them into several facets and the disadvantage over this system is that the
methodology is taking a lot of time. (Deming, 2006, p.9)
14 | P a g e
According to Ian Sommerville it is really important to make the things intellect together if they are
interrelatedtoeachotherso withthat intensionitisreallyimportantto make the spiral model to come
up withthe newsolutionstothe projectdevelopmentinthe accuracy field as the spiral is providing the
cuttingedge to repeatthe quality assurance checkingof the development of the system (Sommerville,
2004)
On the otherhand waterfall modelsare usedwhenthe requirementsare fullyidentified or known. This
model gives a good starting point to structure a project.
Hybridmodel isa model which is using more than one methodology to form a methodology out of the
selected ones and it lays the foundation to the entire project development or partly contributes to it
withdifference aspectsindifferentstages.This is a good approach when developing software because
waterfall model is adapted for the earlier stages, which ensures requirements are analysed well, and
spiral model to the rest of the development, which ensures the rapid user-driven software delivery.
Prototype isthe mostwidelyusedmethodologyamongthe project managers and the coordinators as it
can be usedasa hybridsolutionalongwithanothermethodology.Anditis really important to keep the
mostimportantnote on thismethodology as it is helping the project team to save the budget and stay
within the constraints as the scope can be reach with the accurate expectation of the customer as the
customer of the product can involve in the methodology stages more actively.
(Anon, 2009)
According to Pressman R. S. (1997) the prototype paradigm starts with requirements collecting. Steps
concerned in this process are defining the overall objectives for the software
Why SystemPrototypes?
Thisis usedas thiscan be usedalongwithdifferentwaystoreachthe projectgoalsandit issimple andit
can be usedtomeetthe requirementsof the clientasthismethodologyusesthe opportunity of getting
15 | P a g e
feedbacksandshootingatthe correct spotto make new decisions.Andalsothismethodology is making
the membersof the projectteamto map theirideastoa one pointfromdifferentperspectives. And it is
reallyimportanttokeepthe mostimportantnote onthis methodology as it is helping the project team
to save the budget and stay within the constraints as the scope can be reach with the accurate
expectationof the customerasthe customerof the product can involve in the methodologystagesmore
actively.
User interface designers,Productmanagers,Developershave tounderstandthe systemagainstpersons,
userroles,andscenarios,aswell asusability.Userinterface designerscanbuildininteresting new ideas
and presentthemtothe developers,ortheycandeveloptheirnew concepts in prototypes and present
them to higher management for buy-in decisions.
(Hatscher,2003)
16 | P a g e
Research and Investigation
Whenimplementingasystemcodingplaysamajor role.To finish the projectsuccessfullyprogramming
toolsand resource needtochoose wisely.Forimplementasuccessful andefficientsystemselectthe
righttool is a major challenge.Inthistopicitwill review the summarizationof the three techniquesand
programmingtools.
Java
Java isan opensource programminglanguage thatfree todownload.Javaisdevelopedby James
Goslingat SunMicrosystems in1995. It is fullyexposedtothe worldtobe usedbyfree userusage
package..Itisbase onC++ and overcome some notbe up to snuff inC++.andthislanguage architecture
neutral soit can run on anyplatform(Operatingsystem).Javagotsome goodfeaturesaswell asbad.It is
listedabove
• It isan opensource,sousersdo not have to struggle withheavylicense feeseachyear
• Platformindependent
• JavaAPI'scan easilybe accessedbydevelopers
• Javaperformsupportsgarbage collection,somemorymanagementisautomatic
• Javaalwaysallocatesobjectsonthe stack
• Javaembracedthe conceptof exceptionspecifications
• Multi-platformsupportlanguage andsupportforweb-services
• UsingJAVA we can developdynamicwebapplications
• It allowsyoutocreate modularprogramsand reusable codes
(Articlesbase,2010)
For image processingJavagotsome packagesthat couldhelptoimplementit.Suchas Java2D, Java
Twainpackage,Gif4Jpackage andDe-NoisingImage packageswouldhelptoimplementimage
processing.
17 | P a g e
C++
The C++ originallydevelopedbyBjarne Stroustrupinearly1980s at Bell Laboratories.ThisProgramming
language havingbothstructural andobjectoriented.SowithC++programmercan performbehaviours
bothlanguageshave. Thisisalsoprovidingthe opportunityforthe usersof thislanguage tomeetthe
demandsof the objectorientedprogrammingandthe language issupportedbyboththe opensource
communitiesandthe industrial communitiesaswell. Inthisprogramminglanguage itisreallyimportant
to keeptrack of the objectorientedconceptsandthenimplementthemusingthislanguage asthe
language will be usingthe highlevel procedures.
(About,2010)
SignificantLanguage Features
C++ isa hybridlanguage sousercan programeitherstructural or objectoriented. Andunlikejavathis
language isprovidingmore userfriendlyoptionstothe programmers.
(About,2010)
C++ programsare consistbothclassesand functions.Usercan create ownfunctionsandclasses.
C++ wasintendedtobe overcome some featuresof Cprogramminglanguage has.Andwiththe speed
and efficiencyof the newC++it helpsfordevelopcomputergames, utilities,OperatingSystems and
compilers.
(About,2010)
C++ got some image processinginbuiltlibrarythathelptoimplementface detection.SuchasCImg
library,paintliblibraryclassesare helpful forimage processing.(MathTools,2010)
18 | P a g e
MATHLAB
MATHLAB is highlevel languagesthathelptodevelopalgorithm, Datavisualization,numeric
computation,dataanalysis.Thistool ismore powerful andeasytosortout problemscompare withsuch
as C and Java.MATHLAB isusedfor implementimage process,signal process,communication
applications,andControl design. Andthe special feature of thislanguage issharingworks/integrate
MATHLAB code withotherlanguage suchasC++ , .Net….. Usingthislanguage will be usingthe image
and the pixel mappingwhichisdone toprocessandmerge imagesandin mostof the casesthe system
are usingthislanguage toprocessthe OCR methodsandobjects.
Advantagesof MATHLAB
 High-level languagefortechnical computing
 Developmentenvironmentformanagingcode,files,anddata
 Interactive toolsforiterativeexploration,design, andproblemsolving
 Mathematical functionsforlinearalgebra,statistics,Fourieranalysis,filtering,optimization,and
numerical integration
 2-D and 3-D graphicsfunctionsforvisualizingdata
 Toolsfor buildingcustomgraphical userinterfaces
 FunctionsforintegratingMATLABbasedalgorithmswithexternalapplicationsandlanguages,suchasC,
C++, Fortran, Java,COM, and MicrosoftExcel
(MATHLAB,2010)
Implementimageprocessingandface recognitionthroughMathLabiseasythanother developingtools
and MathLab has got special dedicatedsimulinktool thatincrease the easyof cordingandimplementing
face recognitionsystem.
19 | P a g e
Justification For selectedlanguage
Usingthe languageslike Javamakesthe lifeeasyasthe languagesare havingalot of helparoundthe
corner as theyall a opensource languagesandthe mostimportantthisisjava isusedina higherscale in
the software developmentwordanditisreallypowerful thoughitseemslikeitissimple andthis
language issupportedbysome powerfulplug-inaswell.Andthe majordrawbackinthislanguage isthat
the language isreallynotmeetingthe demandsof thisprojectthatIam doingas it isnot commonlyand
widelyusedinthe image processingarenaof the worldandalsothislanguage hasa small erroras the
runtime issuesare reallyhigherinthis.Whenitcomestothe core of the language itmakesthe response
time delayedwhencomestoprocessinganimage.
ThenC++ isthe veryfirstobjectorientedlanguage everproducedinthe historyof computingandthis
language wasbornin bell labsandsince thenithas beenabrillianthelperinthe programdevelopment
for the image processingandmergingalongwiththe image stringsortingactivities.
But whenwe compare andcriticallyevaluate all theselanguagesmentionedinthe above columnitis
reallyeasyandsuitable touse a language like MatLabas itis usingthe more efficientfunctionalitiesand
the methodsof achievingthe image stringconversionreadings.Andalsothe equationsare easierin
readingandexecutingasthe language isfullydependingonthe mathematical equationsand
approachessoI wouldprefertouse thislanguage forthe final stagesof my project.
20 | P a g e
Face recognition approach
We humanrecognize apersonby the face.The face playingmajorrole inrecognize apersonand
showingemotions.A humancanrecognize a personbyhisface is a remarkable giftthathas.Human can
recognize thousandof facesatquicklookevenaftersome yearsof separation.Thisremarkable ability
despite large changeslikeaging,changesinhairstyle ect.
(Mattheew A Turk and Alex Pentland,1991).
Face recognitionbyacomputational wayisa huge challenge whenwe considerabove facts.Humanface
keepschanging,Complex, multidimensional,meaningful andneedtorecognize innatural way.
(Mattheew A Turk and Alex Pentland,1991).
Face recognitioncandivide intotwomaintopics.Face recognition(Identifywhetheranew picture isa
humanface or not) part and authorization(identifythe face isknownornot) is the otherhalf.
Againface recognitionapproachcanmainlydivide intotwo.Geometrical ApproachandPictorial
Approach
In geometrical approachbasicallyconsideraboutfacial featuresandthenclassifiedonthe various of
geometrical distancesandanglesbetween features.In thisapproachdoesn’thave store anypixel values
and pre storeddata to face comparisonand recognition.
(Dr T WindeattandGregory Tambasis,1999)
The pictorial approachisa pixel based.Basicideaof thisalgorithmiscreate templates(Includingkey
facial features) of imagesandcompare witheachpixel referringtocomparisonpicture.HaarandCam
shiftalgorithmare examplesforpictorial approach.
(KonradRzeszutek,1999) (W. ZHAO..,2003)
21 | P a g e
Base on pictorial andgeometricapproachesif we consideraboutaccuracyand the efficient,obviously
highsmarkswouldgoesto geometricapproachbecause inthismethodthe comparisonwoulddowith
runningtime withitspicture database (Trainingset) andit doesn’tdependonthe qualityof the picture,
Brightness,size of it.Therefore Geometricapproachwill use inthissystem.
If consideraboutgeometricapproachthere are a lot of methods,algorithmsavailable.InthisresearchI
am intendtofocuson three approachthat dealingwithface recognitioninpresentandstepbystep
brieflydescribe eachapproach.
1) Line Edge Map
2) ElasticBunch Graph Matching
3) EigenFace RecognitionMethod
22 | P a g e
Line Edge Map
The basic of thismethodis identifyingahumanface base on linesandedges.Accordingtostudiesof
psychological,itsaysthathumanbeingcanrecognize line drawingsasquicklyandalmostasaccurately
as gray level picture.Line Edge Mapisa combinationof template matchingand geometrical (PCA)
feature matching.Itgot advantagesfrombothalgorithmstocome up.
(W.ZHAO| R.CHELLAPPA |P.J.PHOLLIPS|A.ROSENFELD,2003)
Whena newface picture representation,Spatial andstructural informationof face image groupby
pixelsof face edge maptoline segments.Afterthinningthe edge map,apolygonal linefittingprocessis
appliedtogenerate the Line Edge Map.In thisapproach itis store onlythe endpointsof line segments
on curves.Soit reducesthe memoryrequirementforoperation.Because of low leveledge map
representationitislesssensitivetoilluminationchangesof aface images.
(G.YONGSHENG| K.H.LEUNG,2002)
23 | P a g e
(G.YONGSHENG| K.H.LEUNG,2002)
Accordingto the researchas a firststepthe face image convertedintograyscale image.Itisbecause
easyfor calculationpurpose andmainlyspace takentostore a picture islessthancolourpicture.Then
the image isencodedintobinaryedge mapusingSobel edge detectionalgorithm.
The core functioninthisapproachis Line SegmentHausdorff distance anduse Hausdorff distance to
masure the similaritybetweentwosetof pointsintwoimages.Thismethodisnotorientedtocalculate
exactlinesfromdifferentpicture butitisflexible onsize positionandorientation.
24 | P a g e
Consideringtwofrontal imagesthathave beenconvertedtobinaryedge maps(New frontal image that
needtoidentifyandthe frontal image thatalreadyinthe database) the LHD isrepresentedbyavector.
(G.YONGSHENG| K.H.LEUNG,2002)
(G.YONGSHENG| K.H.LEUNG,2002)
Mainlyinthisfunctionitwill calculate three differentdistance,orientation,parallelandperpendicular
distance respectively.
In orientationdistance calculationthe functionignoressmalleranglesandpenalizesgreaterones.
(G.YONGSHENG| K.H.LEUNG,2002)
25 | P a g e
(a)Twolinestobe measured.(b) Rotate the shorterline.(c)Rotate Longline.(d) Rotate both
lineshalf of theirangle differentinoppositedirection.Solidlinesrepresentlinesbefore
rotation.Dashedlinesrepresentlinesafterrotation.The line witharrowsillustratesthe
angle differentof twosegments.
(G.YONGSHENG| K.H.LEUNG,2002)
Calculationof parallel andperpendiculardistanceshowsfollowingfigure.
26 | P a g e
Distance betweentwopointsegmentscanbe calculatedwithfollowingequation
A primaryline segmentHausdroff distance (pLHD) canbe calculate as
Where
27 | P a g e
Andl m isthe lengthof segmentml th. (G.YONGSHENG| K.H.LEUNG,2002)
ElasticBunch Graph
In 1989 J.Buhmannhasdiscoveredhierarchicallylabeledgraphtechnique thatisrelatedtoProf.Dr.
LaurenzWiskotts’ElasticBunchGraph Matching approach.
Accordingto LaurenzWiskottresearchthe basicobject(Like face) representlikelabeledgraphwhich
each edge are labeledwithitsdistanceinformation,nodesare labeledwithwaveletresponseslocally
bundledinjets.Pre store model graphuse toproduce the new images’graph.Thisstoredgraphcan
easilytranslate,scaled,orientedordeformedthroughoutthe image process.
(LaurenzWiskott,Jean-Marc,1999).
Asin thisresearcha bunchgraph have to stagesthat qualitativestructure asa graph (setof nodsand
edges) andassignmentof correspondinglabels(Jetsanddistances).Becauseof the bunchgraphthis
algorithmcanhandle pictureswithdifferentposes whenitcomestomatchingprocess.
MainlyGabor Waveletextractsfacial featuresandtransformasFiducial points(Jets).Jetsare basically
pixel thatrepresentingpointsonface image.Costfunctiongraphcompare withitsdatabase pictures
and findlowest costgraphand itwill give the identityof face.
(LaurenzWiskott,2005).
Gabor WaveletsProcess
The representationof facial appearance isdone byGaborwavelettransform.Itisan elasticgraphic
matchingmethod.
(Lsurenz Wiskott,Jean-Marc ,1999 )
Thisprocessis biologicallymotivatedconvolutionkernelsinthe shape of plane waves.Andthiswaves
restrictedbya Gaussianenvelopfunctionandcarryout setof differentfrequencies.The setof
28 | P a g e
convolutioncoefficientforkernelsof differentorientationsandafrequencyatone image pixel iscalled
a jet.
(Wiskott. L and Fellous C. 1997)(Lsurenz Wiskott,Jean-Marc ,1999 )
Facial Bunch Graph
Accordingto researchforeach face there are setof Fiducial pointssuchasmouth,tipof the nose.These
are the majorpointthat use to store in the database insteadof picture inthisapproach.Anypicture can
store as a fiducial point.Inbottomlinethisapproachmakesthe comparisonbase onfiducial point.Each
face has N nodesandtheyare labeledgraph(G) representingaface consistsof N nodesonthese fiducial
points.
To representageneral face shouldcoverabroadcollectionof possible variationwhenitcomestofind
fiducial pointsinnewface.Asanexamplesdifferenttypesof mouth,nose,eyes,male andfemale ect.
For eachfiducial pointthere are some differentvaluessoforthateach model hasthe same grid
structure and the nodesrefertoidentical fiducial points.A setof jetsreferringtoone fiducial pointcall
Bunch.
29 | P a g e
Find approximate face position
First step need to condense down the Facial Bunch Graph. This can be done by taking the average
degree of the jets in each branch. Then evaluate each point with it refers.
Refine Position and size
If the Facial Bunch graph use without condense down the second step (Refine Position and size) will
checkthe fourdifferentpositionpixelsdisplacedfromthe position found in step 1(). And each position
checktwo differentsizeswhichhave same centre positionafactorof 1.18 smallerorlargerthan the FBG
average size. Each of these eight variations is the best appropriate jet for each node is selected. Then
displacement estimation will be according to displacement
(Lsurenz Wiskott,Jean-Marc ,1999)
Refine size and find aspect ratio
Similer to previous step but relaxing the x and y dimension independently.plus the focus is increased
successively.
(Lsurenz Wiskott,Jean-Marc ,1999)
30 | P a g e
Local distortion
Accordingto pseudorandomsequence algorithmthe positionof eachindividual image nodeis varied to
future increase the similarity to facial bunch graph. Then the metric similarity reflect on for which the
estimated displacement. Because on that position are consider the vector is small. The output image
graph will store as individual face of image
(Lsurenz Wiskott,Jean-Marc ,1999)
31 | P a g e
Eigen Face
Eigenface approach isconsideredtobe the firstreal successful demonstrationof automatedhuman
face recognition.ThisisdevelopedbySirovichandKirbyin1987 and used byMatthew Turkand Alex
Petnlandinface recognition.
The Eigenface approachis classified underthe appearance basedmethodsof face recognitionasthe
whole face regionisusedasthe raw inputto the systeminorderto create a low dimensional
representationof face imagestoperformrecognition.The low dimensional representationisderived by
the ‘Principle componentanalysis’(PCA) usingadatasetof facial images. Here the principle
componentsof the datasetof imagesor inothertermseigenvectorsof the covariantmatrix of the
datasetof imagesisfoundconsideringanimage asa vector in a veryhighdimensionalspace.
Eigenvectorscanbe understoodasa setof featuresthatcharacterize the variationsbetweenfacial
images.Itshouldhoweverbe notedthateigenvectorsdonotnecessarilycorrespondtospecificfacial
features suchas nose or mouthbut capture the meaningful variationsbetweenthe imagesof the
datasetwhichallowsthe imagestobe differentiated.Each Eigenface deviatesfromthe low dimensional
representationorthe uniformgraythusthe imagescanbe classifiedwithin the uniformgrayusingthe
nearestneighbourclassifier.
(ChinT. & SuterD. , 2004)
32 | P a g e
Accordingto Turk & Pentlandthe approachinvolvesthe followinginitialisationoperations.
1. Acquiringthe trainingset
2. Calculate the Eigenfaces fromthe trainingset.Onlythe Mimagesthatcorrespondtothe highest
Eigenvalues shouldbe retained.The face space isdefinedbythese Mimages.
3. The correspondingdistributionof M Eigenface-weightsiscalculatedforeachindividual imageof the
trainingsetbyprojectingthe face image tothe face space.
Afterthe initialisationoperationsthe followingstepsare usedtorecognise new face images.
1. A setof weightsbasedonthe inputimage iscalculatedbyprojectingthe inputimage ontoeachof
Eigenfaces.
2. The inputimage isdeterminedif itisa face at all bycheckingif the image issufficientlyclose tothe
face space.This isdone bycomparingthe distance betweenthe inputimage andthe face space toan
arbitrarydistance threshold.
3. If it issufficientlyclose toaface, classifythe weightpatteraseitheraknownor unknownface.A
secondarbitrarythresholdisputinplace here to checkwhetherthe inputimage correspondtoanyof
the trainingset.
4. (Optional) The systemcanbe retainedorallowedtoincorporate anunknownimage tothe system
shouldthe unknownimage isseenseveral times.
33 | P a g e
Start
Original
Faces
Training Set
Input Unknown
Image (X)
E= Eignfaces
(Training set)
W= Weights (E,
Training Set)
Wx = Weight (E,X)
D= Avg( Distance( W,Wx)
D < ө
X is Face
X is Not a face
Store X and Wx
End
Yes
No
Algorithm of Eigenfaces (Mattheew A Turk and Alex P. Pentland, 1991)
CalculatingEigenfaces
A face image,I(x,y), isatwodimensional N byN matrix of intensityvalues,whichare usuallyquantized
to 8-bitvalues.EachX and Y pairdenotedapositioninthe image.Forthe purpose of expositionthe
matrix of intensityvalue isrepresentedbyavector.Therefore insteadof matrix of dimensionof N byN,
a vector dimensionof N2
isused.
(ChinT. & SuterD. , 2004)
Determinationof the meanvector
Imagesinthe trainingset(T1,T2.......TM)
Ti is a vectorof N2
dimension
M= numberof imagesinthe trainingset.
34 | P a g e
=
1
M
∑ Ti
M
n=1 (1)
Aftercalculatingthe meanvectorthe deviationof eachimage fromthe meanisto be calculated. Be i
 l
the average deviation of each image
(Matthew A Turk and Alex P. Pentland,1991)..
i i
    
i
 = difference
ψ=average value off set
i
 =image value
This set of vectors is then subjected to the principal component analysis, which seeks a set of M
orthonormal vector k
u . It,( k
u ), is described as the distribution of data. Eigen values and eigenvectors
can be described according to the formula below which shows k
u and k
 as eigenvalues and
eigenvectors corresponded by the covariance matrix (Mattheew A Turk and Alex P. Pentland,1991).
35 | P a g e
2
1
1
( )
m
T
k k n
i
U
M


 

k
 = Eigenvectors
k
u = Eigenvalues
M= orthonormal vector
i
 = difference
Usingthe covariance matrix the Eigenvalues andeigenvectorsof givenimage setcanthenbe
calculated. Be C the covariance matrix and i
 the difference, have tobe multipliedwith the inverse of
the difference
T
i
 (MatthewA Turkand Alex P.Pentland,1991).
1
1 m
T T
i i
i
C AA
M 
   

C=covariance Matrix
i
 =difference
T
i
 =transpose of difference
1, 2, ,
[ ......, ]
M
A     Collectionof differences
36 | P a g e
Given the matrix 1, 2, ,
[ ......, ]
M
A     and if image containing N x N image space, eigenvalues and
eigenvectors have to be extracted using C covariance matrix .Be the eigenvalues and eigenvectors
2 2
N N
 and M the image space ,the dimensionof space shouldbe lessthan that
2
( )
M N
 . Therefore
inorder to calculate T
AA usingliniercombinationof face images i

,
considerthe eigenvectors T
A A be
i
v the eigenvector of T
A A.
(Mattheew A Turk and Alex P. Pentland,1991),
T
i i i
A Av v


T
A A And i
v = Eigenvectors
i
 = Eiganvalue
Multiplying by A;
( )
T
i i i
T
i i i
A A Av v
AA Av Av



 
The covariance matrix eigenvectorscanbe identifiedusingthe calculationsbelow.Usingthe given
(MxM) matrix can be convertedto T
L A A
 , which wouldgive Meigenvectors.The leaner
combinationof the Mimagesof the trainingsetcan thenbe determinedfromits Eigenfaces.
(Mattheew A Turk and Alex P.Pentland,1991).
37 | P a g e
1
m
l lk k
k
U v 

 
l
U = Eigenfaces
1....
l M

k=image number
m= count of set
The calculationsare reduced to bare minimum with this analysis, from the order of the pixels count in
the images ( 2
N ) to the order of the number of images in the training set (M).The training set of face
images will be comparatively small in practice ( 2
N
M  ), and thus the calculations more convinient
.the eigenvectors can be ranked using the associated eigenvalues based on their usefulness in
characterizing the variation among the images
(Mattheew A Turk and Alex P. Pentland,1991).
38 | P a g e
Outline of the typical face Verify system
Enter Image
Preprocessing
Feature Extract
Training Set
Face Database
Verify Face
Normalize Face
Feature Vector
Classify Or not
Match Face
Matching Or not
Outline of the typical face recognition system (Stan. Z, Anil. J, 2004)
39 | P a g e
Similar Systems Analysis
The face recognition has become a vital aspect in the software development as it has done so many
wandersinthe recognitionaspectinthe securityfield.There ismuchsoftware developedinthe industry
to recognize the facial appearance of the individuals. Image processing is a rapid growing field in
present, face recognition is a part of it. Basically face recognition system which using to implement
security system. In bottom line face recognition can identify a person by his or her biometric
characteristic.Torecognize a personbyface thissystemsusingasequence of image of single image and
processitand compare it withinbuiltdatabase.Finallyif there isamatchingimage itwouldgive positive
output.The bioID metrics face detectionsystemwhichwill be asimilarsystemtothe proposedone will
be an ideal solution to be dealt with to analysis of a similar system.
Figure 1 Bio ID version 3.1 interface (Humans can AG, 2006).
This is a SDK developed in terms of identifying the higher volume of human factors such as the voice
recognition in which the person is capable of narrating his or her name for higher security purposes,
then the lip movement checking and detection along with the eye test which is required for highly
demandingsecuritysystems which are not certainly required for attendance record systems that have
been presented in the proposed solution.
Attendance managementsystemspresentedonline isanotherperfectsystemthat can be matched with
the rest of the application requirements of the proposed system. Further when it comes to this
40 | P a g e
applicationthe architecture of thisapplicationis similar to the developed application in this individual
assignment.
Figure 2: Attendance markingsystem(IndianPolyOne,2004).
This system will be fetching the image details from the camera set in the position and using the face
recognition mechanism in the personal computer the data will be compared to the data fetched from
the destineddatabase.FirstIwouldliketotake Line Edge Map and this is simply using the lines, curves
and the edgesof the face of human and depending on the edges it will be able to decide the required
face and the lines will be helping the system to make the right kind of recognition as the lines will be
converting their patterns depending on the person. Then it is certain that the lines are really unique
from one person to another.
Secure dent2003 isanothergoodsoftware solution to detect the human facial expressions in terms of
maintains the security of the locations.
41 | P a g e
Figure 3: User Interface of SecureIDent (Crypto Metrics, 2000).
Thissoftware isdesignedwithalotof featuresandamong them the ability to manage the facial details
of the system plays a huge role. Further the management of the facial recognition feature in any
environmental condition makes the system more reliable and safer to be used in event the extreme
conditions. Then the system is also capable of capturing the human faces with the ability to zoom the
images when it is required if the user in the capturing area of the system.
Face recognitioncontrollerinthissystemmakesthe usertoachieve the database manipulation process
inthe systemsuchas managingthe userprofiles,fetching data of the stored users in to the view of the
system administrator and developing the new tables if it is required.
The similarsystemshave beenobservedintermsof findingagoodqualitytobe inputinto the findingof
the developedsoftwareapplicationandfurtherthe systemis capable of managing the face recognition
in different environments.
Then the Elastic Bunch Graph Matching is getting the random number of inputs from the system and
then converts them into a string and the string information will be kept in an array of bio data so it is
importantkeep track of the images in the forms of the human faces and then split them to go into the
core of the information presented by those images and depending on the information and the
unwanted space the algorithms will be used to recognized the relevant subject related to the face.
Finally Eigen Face Recognition Method and it has got more advantages over this system as the Eigen
face recognitionsystemmakesthe abilitytobe broadeneduptill the fullface.Thenitallowsthe full face
to be scanned and then it makes the accuracy of the data and the pre-processing and merging
42 | P a g e
techniques used by this technology makes it more suitable so I would like to select this technology to
the processing of the project.
43 | P a g e
Justification for Eigen-face
Thisis the mostimportantpart for the projectif the image mergingsoftware andthatwill be todevelop
a systemto meetthe demandsandthe ultimate requestsof the students,friendsandfamilymembers
can be recognizedbythisina simple manner.Eventhenthereare waysof approachesthatwe have
aheadof usand I am usingthree waysto make a final decisionpriortoexecutingthe development
processof the systemthatI have alreadyproposedinthe documentation.
FirstI wouldlike totake Line Edge Map andthisis simplyusingthe lines,curvesandthe edgesof the
face of humanand dependingonthe edgesitwill be able todecide the requiredface andthe lineswill
be helpingthe systemtomake the rightkindof recognitionasthe lineswill be convertingtheirpatterns
dependingonthe person.Thenitiscertainthatthe linesare reallyunique fromone persontoanother.
Thenthe Elastic BunchGraph Matching isgettingthe randomnumberof inputsfromthe systemand
thenconvertsthemintoa stringand the stringinformation willbe keptinanarray of biodata so itis
importantkeeptrackof the imagesinthe formsof the human facesand thensplitthemtogo intothe
core of the informationpresentedbythose imagesanddependingonthe informationandthe
unwantedspace the algorithmswillbe usedtorecognizedthe relevantsubject relatedtothe face.
FinallyEigenFace RecognitionMethodandithas gotmore advantagesoverthissystemasthe Eigen
face recognitionsystemmakesthe abilitytobe broadeneduptill the fullface.Thenitallowsthe full face
to be scannedand thenitmakesthe accuracy of the data andthe pre-processingandmerging
techniquesusedbythistechnologymakesitmore suitable soIwouldlike toselectthistechnologyto
the processingof the project
44 | P a g e
Design phase of the system
The systemdesignplaysanimportantfactorinthe systemdevelopment life cycle and when it comes to
the designing aspect of the systems the logical design and the physical design are the main areas that
are discussedinthe software developmentmanagement process. Further the concept of the designing
can be elaborated in to major categories that are described in the below passage and they will be
described and elaborated fully in the below section as well. The backbone of the design process is
depicted in the below figure.
45 | P a g e
Open
Camera
Preview
Capture
Frontal
Image
Pre
Process
Image
Identify
Face
Load Face
Database
Matching
Face
Update
Face
Database
Capture
Colleague
Input
Update
Start Time
Update
Finish
Time
Error
Not a valid
image
Error
Not a
Valid Face
If image is a face
If image is
not a face
If frontal
image in
database
If frontal
image is not in
the database
Input = Shift
start
Input = shift
finish
End
Start
46 | P a g e
First of all the system will capture a frontal image and pass it to the preprocess. After going through
preprocess the capture image would come up with balance brightness and contrast. The next step is
identifyingthe capturedfrontal image. If the systemfails toidentifywhether is it a human face it would
show a message box and display error message include is not a face message. Then it will come to
matchingprocess.The systemwill loadthe face database and it will go through each face and calculate
minimum distance and finding the matching image with pre given values. If it is fails to match would
showa message andletuserknowthat it can not matchthe given frontal picture with its database. If it
findthe correct image fromitsdatabase and a dialog box popup and the systempromptuserto answer
a question about the information correct or not. If it is yes the system will update the latest frontal
image withitsdatabase to improve itsaccuracy.By updatingidentifyfrontal image up to date will gives
a maximumoutcome from thissystem. Finallythe enteredusercan selectetherloginorlogoutdepend
on his status. And then the system will update the time table with colleague number.
47 | P a g e
Face Recognition And Time
Management System
Colleague
System Admin Staff Admin
Login Confirmation
Login Confirmation
Login Confirmation
Frontal Image / Login
Details
Login Information
Login Information
Edit User
Edit Confirmation
Colleague Details Request
Send Colleague Details
Option Selection Details
Selection Confirmation
Context Diagram
48 | P a g e
49 | P a g e
Image Pre
Process
Identify Face
Process
Colleague
Authorizing
Process
Selecting
Choice
Process
Calculate
Eigen Face
Process
Capturing
Frontal Image
Process
Matching Face
Process
Colleague
Calculating
Time Process
Login Process
View
Colleague
Process
Edit User
Process
Staff Admin
System Admin
Frontal Database
Colleague Clocking
Database
Frontal Image
Details
Login
Confirmation
Capture Image
Details
Process Image
Details
Eigen Face
Details
Identify Face
Details
User Identification
Details
Retrieve frontal
Image
User Details(ID
number)
Selection
Confirmation
Option Select
Details
Selection Details
Update Details
Update Colleague
Details
Retrieve Clocking
details
Retrieve
Colleague Details
Update Frontal
Database
Login
Confirmation
Login Details Login Details
Edit User Details
Edit Confirmation
Colleague Details
Request
Clocking Details
Level 00
Diagram
Accessi
ng
Details
50 | P a g e
Thisdiagramwill gives basicideaabouthow the systemdeal withouterentityanditsinnerprocess.
51 | P a g e
Display
Error
Message
Remove
noise
Crop Image
Capture
image from
camera
Convert
image to
gray scale
Brightness
Increase
Pre Process
Image
Balance
contrast and
brightness
Brightness
decrees
Start
End
If image not
load
[If level < 20]
[If level > 35 ]
Image load
Crop image 120* 80 pixel , Format *.JPG
Using RBG2GRAY
Using MEDFILT2 filter
Using IMADJUST filter
52 | P a g e
Pre ProcessImage
In the above diagramfirstof all it takesa picture fromthe webcam, the systemcheckswhetheritis
image or not.If itis an image itwill processtothe nextstage if it isnot itwill displayanerrormessage
and endsthe process.The nextstage iscroppingthe image,itwill converttograyscale,noise removal,
Contrastand Brightnessbalancingandif the brightnesslevelislessthan35 brightnesswouldbe increase
and if the brightnesslevel more than 20, brightnesswouldbe decrease.
53 | P a g e
Load Add
Colleague
Capture
Frontal
Image
Load Image
ID
Open
Camera
View
Load
captured
Image
Error
Message
Fill
Colleague
Details
Close
Camera
Preview
Successful
Save
Information
Error
Invalid
Image
Start
End
If information
saved
If information not
saved
If image not
captured
54 | P a g e
Add Colleague tothe system
Above diagramshowshow the systemperformwhenaddinganew colleaguetothe system. Firstof all
thisprocesscapture three frontal imagesandthenitwill checkwethere itcanread images. If it fails,the
systemwouldthrowamessage andletthe userknow that it can not read images.If itis passthrough
that stepthenadminhave to fill the detailsandclickthe save button.If the data save successfullythen
the systemwouldletuserknowthatthe data savedand itssuccess. If not the systemwouldthroughan
error message. If itssuccess thensystemwillcounthow manypicturesavailableincurrentdatabase and
add newpicture byincrementcounterbyone.
55 | P a g e
Load Delete
Colleague
form
Delete
process
Update
Colleague
database
Navigate
Colleague
records
No records
Select
Colleague
If counter -- 0
If counter > 0
Start
End
Delete Colleague
In thisprocessfirstthe detailswillloadfromsystemdatabase andthe deletionwill onlyaffecttoSQL
database.Afterselectthe userthroughnavigationadmincanselecteditbuttonandthatwill allow
adminto editselecteduserdetails.Aftersuccessfullyfinishanupdate the systemwillletuserknowthat
the operation successful. Otherwiseitwouldthrow anerrormessage
56 | P a g e
Form Design
Main Form
Admin
Company
Logo
Colleague
Basicallythisisthe mainformwhenthe systeminrunningmood. There are twobuttonon thisform and
for adminlogin,needtoselectadminbuttonelse selectcolleague buttonandwillleadtocolleaguelog
inform.Companylogowill appearintopleftcorner.
57 | P a g e
Colleague Loginform
Company
Logo
Web Cam Preview Box
Start
Captured Frontal Picture
Above formgotstart buttonand two image preview boxes.Camerapreview wouldshow incampreview
box if the camerais inworkingorder.Companylogowill be there intopleftcorner.Whencolleague
clickstart buttoncapturedimage will comestorighthand side image box.If the systemwouldable to
identifythe capturedimage isafrontal image of a humanthennextformwouldloadandthisformwill
close.Else itwouldclose itselfandmainformwill loadup.
58 | P a g e
Colleague Selectionform
Company
Logo
Capture Picture
Login
Name
Colleague ID
Log out Back
Thisform wouldshowswhenacolleague wassuccessfullylogintothe system. There are three buttons
on thisformand one picturesbox thatwouldshowsselectedcolleague andhisname andcolleague
number.Accordingtocolleague statusthe buttonsvisibilitymayvary.If he is notlog inyetthe onlylog
inbuttonwill shows.Else logoutbuttonwill show onthe form.Thiswouldhelptopreventthe user
mistake andhelptomaintainsuccessful system.Clickonbackbuttonwill allow togoback tomain form
59 | P a g e
Admin/StaffLogin Form
Company
Logo
User Name
Password
Log In Cancel
AdminLoginform has twobuttonsand loginbuttonwill allowusertoenteretherasa staff or admin
dependonthe userprivilege.Clickoncancel buttonwill leadtomainform.
60 | P a g e
Change Password Form
Company
Logo
Password
Repeat Password
Change Back
Thisform will allowchangingpassword.Simplyenteringnew passwordandrepeatitonnexttextbox
and clickon change and the systemwill update passwordrow withnew password.Providingdifferent
passwordwouldnotallowchangingthe passwordof currentloginuser.Clickon back buttonleadto
mainform as usual.
61 | P a g e
Edit Colleague Form
Company
Logo
Name
Colleague Number
DOB
First Previous Next Last
Edit Save Delete Back
Above formwill allow adminusertoeditcolleague informationsimplyclickoneditbutton.Admincan
navigate throughrecordbyclick onnextand previousbutton.Afterdone edithave tosave.Clickonback
buttonwill goback to mainform.
62 | P a g e
Staff ViewForm
Company
Logo
Data Grid View for selected colleague
ComboBox Name List View
Change
Password
Back
Thisform showsonlyforstaff login.Staff admincan view eachcolleague loginandlogout information
by selectingcolleague name oncombobox andthenclickon view button. Andthe all loginand logout
detailswill fill uptodatagrid viewspace.Inthisformthere are anothertwo buttonsthatstaff admin
may use. To change passwordof currentuser needtoclickchange passwordbuttonand backbuttonwill
leadto mainformas usual.
63 | P a g e
AdminPanel Form
Company
Logo
Add Colleague
Edit Colleague
Change Password
Back
Thisis the mainadminformwhenadminloginto the system.Thisformcontainthree mainbuttonand
back buttonas usual.Addcolleague buttonwill leadtoaddingformandeditcolleaguewillleadtoedit
form.If adminneedtochange hisor her password,needtoclickonchange passwordbuttonand itwill
leadto change passwordform.
64 | P a g e
Add Colleague Form
Company
Logo
Frontal Picture
Preview
First Picture
Second
Picture
Third picture
Capture
First
Capture
Second
Capture
Third
Name
Add New Save Back
DOB
Addcolleague formwill showswhenadminclickonaddcolleague buttoninpreviousform.Inthisform
there are four picture boxesandsix button.eachbuttonsgotitsown joband byclickingaddnew button
the three capturesbuttonand save buttonwill came tovisible.Byclickonsave buttonthe new record
wouldinserttocolleague table insystemdatabase andnew three pictureswill uploadtothe three
frontal databases.
65 | P a g e
Design Outcomes
The system will be designed using the major aspects in the designing processes. Further the logical
design will be done using the graphical representation of the drafts and the diagrams in the process
management environment and the rest of the tools will also be used to develop the graphical
representationof the requirements in the field of designing approach. Further the designing aspect of
the system.
Whenthe physical designingisconsideredin the development and implementation processes and the
stagesof the application development environment the prototyping kind of approaches were used to
manipulate the physical designaspectof the developedsystem and that always helps the developer to
geta betterideaof the systematicprogressandalsothe manipulationof the designingprotocolsaswell.
The system architecture diagrams are used to show and elaborate the systematic graphical designing
and managementprocessandthe sequential execution of the graphical interfaces are also depicted in
thisapproach.The designingprocessof the applicationwill include the designing aspects mentioned in
the below description;
 Functional Requirements
 Non functional
 Systems Architecture
 Modules in the system designing process
 User interface design
66 | P a g e
Functional requirements:
The functional requirementsare there tomanage the functional managementprocesses.The functional
requirements are there to manage the scope of the project. The functional requirements of the
application can be different from one system to another event then the functional requirements that
have mentioned in the documentation can be described as below;
The user addition:
Thisis the mostprimaryoptionavailable inthissystemandusingthe useraddition option the system is
capable of managingthe usersand the new userswill be addedintothe systemwiththe login option of
the adminprioritytype assignedusersandtheyare capable of taking the control over the system while
they add the users and the faces of the users will be captured and then the captured faces will be
includedinthe systemdatabase whichthe SQLserver express 2005 and using the user details the basic
details will be updated in to the system while the relevant tag numbers of the captured images are
takeninto the database while storing those images in a virtual database which is been done using the
folder manipulation of the windows operating system.
The admin options management:
In thiszone of the database the user editing option and the deletion option are two major concerns as
the user details are immune to be changed and the deletion option will be erasing the data from the
database and the restof the image details will not be deleted by the system and when it comes to the
admin login the admin login is the highest priority level of the system users.
The staff option management:
In thisoptionthe staff people canloginto the systemusingthe adminoptionandeventhenthe system
iscapable of managing the user details such as the colleague details report views and in this approach
the system will be allowing the staff person to log in to the system and view the summery of the
67 | P a g e
colleague detailsorelse the detailsrelatedtoanindividual colleague will be checkedwiththe numberof
hours per given time.
Login in to the system:
This is one of the key options available for the system to be used for the future manipulation and the
systemwill be havingtwoflavorsof loginasthe formsof the admin or the colleague. The admin option
will be havingthe facilitytoenterthe logindetailsinamanual wayand loginto the highpriorityzone of
the system which is having the user addition. Then the colleague login will be asking the user to get a
snapshot of the user for the moment and it will be compared with the data available in the folders by
matchingthe imagesandthe face recognitiontestrunsinthree folder options that make the reliability
of the system more solid. Then if the login is correct the latest login image will be added in to the
database.
Match the faces:
This will be done using the Eagan face algorithm and this algorithm is simply dealt with the C#
programminglanguage togive agood outputand the stringsof the convertedimage fileswill be sent in
to the algorithmwhichwill be processingthe image with the rest of the images that are already stored
inthe database foldersandthenif the matchis founda positive flag will be sent and this is done thrice
to boost the accuracy of the system as a wrong face detection might cause a huge mess in the
attendance management process in a company.
Grayscale image:
The image will have to be turned in to gray as the noise has to be removed from the images after the
grayscale hasbeendone to the imagesotherwiseitwouldbe hardtoeradicate the noise fromthe image
and this will result in a mismatch of the faces.
Edit delete options:
68 | P a g e
In thissectorof the database the usereditingoptionandthe deletionoption are two major concerns as
the user details are immune to be changed and the deletion option will be erasing the data from the
database and the restof the image details will not be deleted by the system and when it comes to the
admin login the admin login is the highest priority level of the system users.
The database management:
The database management in this face recognition application will be done using two methods which
are unique toeachother.Theycan be respectivelymentionedas the MS SQL Server 2005 Express which
isone of the bestdatabase solutionsthatare usedinthe current application integrationdomainanditis
consideredasone of the bestsolutionsto keep dynamic data as the development management studio
allowsthe database manipulationforthe perfection.Thenwhenitcomestothe systemthe main aspect
isthe storage of the images and it is done in a different way. The fact is due to the sever management
environmentthatisexpectedto be used in the application using environment. The application will be
storingthe imagesinthe folderthatare dividedintothree majorfolderswhichcontain different angled
imagesof the userswhichwill be making the face recognition process more dynamic and accurate due
to the dynamicanglesof an image available forthe algorithmstobe used to detect the right kind of the
face match. This storage was used by the earlier times when the software development was in the
primitive erawhenwe didnothave the advanceddatabase solutions. The flow of the processes can be
elaborate in the below image.
69 | P a g e
Start
Main Selection
Form
Choice
Login Form Colleague Form
Confirm Colleague
Colleague
Selection Form
Choice
Admin Form Staff Form
Admin
selection
Colleague
Selection
Is a face and Is a
valid colleague
If
not
If yes
Capture
Frontal
Image
Result of
the
confirmation
Admin or staff
login details
If login detail =
admin
If login detail =
staff
Update time table and
show main form
70 | P a g e
Non functional requirements
The non functional requirementscanbe definedas a set of requirements that are not directly involved
around the scope of the system. Further when it comes to the non functional requirements the
fundamental istokeeptheminthe scope to deliverameaningful project and there several factors that
decide the non functional features of a system. These requirements are basically designed to manage
the systemexposure more flexible tomeetthe overall system requirement specification mapping. The
major aspects in the non functional requirements can be categorized into the stages as below;
Usability:
The usability factor is one of the most important factors that has to be considered in terms of getting
the user involvement in a positive manner the system has to be able to be utilized and used by the
colleaguesandthe staff people along with the administration people so that the system has to have a
broaderpositive approachinthe usabilitymanagement field as it will be managing and controlling the
usabilityfactorslike effectiveness,efficiency and satisfaction. The effectiveness can be achieved if the
system is generating the right kind of accurate data with which the attendance process of the
supermarketcanbe managed in a perfect way. Further when it comes to the efficiency the user has to
be give the optionof waitingforsome time butthe response timesdecidesthe perfectionof the system
and evenif the image processingisacomplex andsophisticatedtaskthe usabilityfactorof the efficiency
will be managing the likeness of the users in to the system as the system response time has to be
quicker than the manual attendance management time. Then the satisfaction has to be on top as the
super markets carry on the researches among the employees as it requires information about the
services and the features that are available for them to manage the day to day work in the working
process.Sothat the satisfactionof the systemwill guaranteeaperfectposition for the software artifact
that has been developed by me.
71 | P a g e
Maintainability:
Thisis anotherimportantfactorwhenitcomesto the software development and the software that has
been developed is not a prototype so it will be used and manipulated by the employees in the super
marketthenthe maintainabilityfactorcomesintothe act whenthe system is requiring the developers
to add more functionalitiesand the accidental system failures might cause the system to lose the data
and the way of management process has to be functioned in proper way that will be helping the
developersinthe future to maintain the software for the perfection in the future and the main idea is
that the systemneedstobe developednotbyconsideringthe requirements of today and the long term
horizon has t be observed and then the future back up and fault backs plans will have to be prepared
72 | P a g e
Systemarchitecture
The system architecture of the system will be managing the system requirements with the
implementation of the application, central module management and then the usage of the databases
comes in to the act. The system architecture will be developed using the programming language
developmentenvironmentandthe VB.Net environment will be integrated with the modules that have
been designed using the VB.Net development environment and then the modules will hold the data
whichare the variableswhichactlike the global variablesandthe modulesare somewhat similar to the
classes as well. Then the system is capable of managing the database from the other end and the
database will be residedinanotherareawhichisconnectedtothe developmentenvironment using the
SQL querylanguagesandthe querylanguage makesthe thingmore flexible as it is possible to integrate
the SQL language with the C# programming language and the system architecture will be elaborated
further by the implementation of the following design.
The architecture will be elaboratingthe locationandthe localizationof the database andthe application
developmentenvironmentalongwiththe modules.The modulesplayvital role in this approach as they
are capable of managingthe universal variableswhichmightgetdifferedfromthe database connections
to the cookie management. The system architecture is depicted in the below image;
73 | P a g e
Capture Frontal
Image Convert
Grayscale
Adjust
Contrast
Crop
Image
Remove
Noise
Pre Processing Image
Image Captuing
Compare
With
Threshold
Value and
Binary
Value
Calculate
Binary
Value
Calculate
Different
from
Dataset
average
value
Verify
Face or
not
Reshape
Image 2D
to 1D
Verify Face Process
Output
matching
image
number
and
update
database
Calculate
Euclidean
Distances
Projectile
Image
Compare
nearest
Euclidean
distance
Calculate
different
with each
face
Calculate
Average
mean
value
Load it to
covariance
Matrix
Calculate
Eigen
vectors
and Eigen
Values
Reshape
Traning
Set Image
Load
Training
Set
Calculate
Eigen
Faces
Eigen Face Core
Matching Image Process
Load
Database
Verify
Colleague
Details
Capture
Colleague
Selection
Send
Colleague
Selection
Update
Database
with start
time
Update
database
with finish
Time
Authorizing Process
Selection Process
Calculating Time Process
74 | P a g e
Modules inthe systemdesigning processes
The module is the basic option for the VB development environment and the modules are capable of
holdingthe datainthe formof the global variablesandthe database connections can also be located in
the modules.The architecture will be elaborating the location and the localization of the database and
the applicationdevelopment environment along with the modules. The modules play vital role in this
approach as they are capable of managing the universal variables which might get differed from the
database connectionstothe cookie management. The management of the modules is the class kind of
objects that are being inherited in to the VB development environment. Further the modules can be
usedto manage the data inthe reusable mannerandthe modulesthemselvescanbe assignedusingthe
objectsof the classesandthenthe objectswill be usedtoaccess the variables and in each situation the
objects will refer to a different instance.
75 | P a g e
User Interface Design
Thisis the mostimportantthinginthis approach and the systemiscapable of managinguserinteraction
for the perfection and the interfaces have to be defined and developed in terms of maintaining the
usabilityandthe likenessfactorsof the system.Thisisone of the major aspects in the system designing
as thisis notan expertsystemandthe systemwill be usedbydifferentpeople indifferentpriorities and
the admin,staff and the employees will be using the system to manage and enter the details in to the
system.
The user interface is designed with the idea of making the things simple for the users as they are
expectedtobe comingfromvariousvarieties of the diversities. And the interface design is done using
the VB language andthishas allowedme tograbthe iconsand the components. The inbuiltcomponents
in the VB language are allowing the control components, layout management and integration
components in the .NET environment.
The structure of the interfaces will be having the login option which will be the first view for any user
and itwill be executedfirst and then the first view of the application will be the login process and this
will be inthe maximummode onthe screenwhichwill be isolatingthe system from the external views.
Further the next view depends on the selection. The colleague and the admin has to be selected and
dependingonthe selectionprocessthe systemwill be takingthe userto the admin login and the admin
loginwill justrequirethe usertoenterthe useridand the passwordmanuallyintothe system.Thenthe
systemwill be searchingthe SQLdatabase andif the selectionisavailable the login would be successful
and the nextinterface of the optionwill be viewedanddependingonthe useridthe userwill be capable
of gettingintoeitherthe staff vieworthe adminview andinthe staff view the option of using the data
gridviewisavailable while inthe adminview the adminoptionslike editusers,addusersandthe delete
usersoptionsare available.Inthiszone of the database the usereditingoption and the deletion option
are two major concerns as the user details are immune to be changed and the deletion option will be
erasingthe data fromthe database and the rest of the image details will not be deleted by the system
and whenitcomesto the admin login the admin login is the highest priority level of the system users.
The next option is the colleague option and in this approach the system is capable of managing the
systemcameraoptionandthe camerawill be gettingthe capturedimagesandthe captured images will
be gatheredandif the image matchingisfoundthe systemwill be takingthe userinto the next stage of
76 | P a g e
confirmingthe logindetailswhichwill be addingthe starttime orthe endtime into the systemand then
the systemwill be updatingthe time table inthe database.Furtherthe interface will thentake userback
in to the main interface which is one of the key features in the database.
77 | P a g e
Implementation
The implementation will be done using the VB programming language and this is one of the key
advantagesforthe system.Furtherthe implementationprocessincludesaddingthe interfaces together
with the modules. The integration process of the database with the application will also be another
aspect of this approach.
The structure of the interfaces will be having the login option which will be the first view for any user
and itwill be executedfirst and then the first view of the application will be the login process and this
will be inthe maximummode onthe screenwhichwill be isolatingthe system from the external views.
Further the next view depends on the selection. The colleague and the admin has to be selected and
dependingonthe selectionprocessthe systemwill be takingthe userto the admin login and the admin
loginwill justrequirethe usertoenterthe useridand the passwordmanuallyintothe system.Thenthe
systemwill be searchingthe SQLdatabase andif the selectionisavailable the login would be successful
and the nextinterface of the optionwill be viewedanddependingonthe useridthe userwill be capable
of gettingintoeitherthe staff vieworthe adminview andinthe staff view the option of using the data
gridviewisavailable while inthe adminview the adminoptionslike editusers,addusersandthe delete
usersoptionsare available.Inthiszone of the database the usereditingoption and the deletion option
are two major concerns as the user details are immune to be changed and the deletion option will be
erasingthe data fromthe database and the rest of the image details will not be deleted by the system
and whenitcomesto the admin login the admin login is the highest priority level of the system users.
The implementationof the developmentwill be done usingthe VB.NETdevelopment environment, SQL
Database managementsystem. The management process of the implementation will have to be gone
through the testing process which will be introduced under the testing phase of the development
protocol.
The camera view will be taken in to the system by using the below code;
78 | P a g e
Capture image
The capturing option of the images using the camera in the VB.NET is done using the user32.dll
file and calling that function will result in getting the input stream of the cemra and previewing
it. The open preview and close preview functions are there to open and close the camera
connection respectively.
Crop and save image
Microsoft windows module Avicap32.dll is used to capture video AVI format based movies using
the web cameras. The crop image function will be cropping the images into the required sizes.
The cropped images will then be saved with the *.JPG extension. The create directory function
will be saving the image in a folder directory.
Dim SrcRect As New Rectangle(StartPoint.X, StartPoint.Y,
NewSize.Width, NewSize.Height)
Dim DestRect As New Rectangle(0, 0, NewSize.Width,
NewSize.Height)
Dim DestBmp As New Bitmap(NewSize.Width, NewSize.Height,
Imaging.PixelFormat.Format32bppArgb)
Dim g As Graphics = Graphics.FromImage(DestBmp)
g.DrawImage(SrcBmp, DestRect, SrcRect,
GraphicsUnit.Pixel)
Return DestBmp
data = Clipboard.GetDataObject()
If data.GetDataPresent(GetType(System.Drawing.Bitmap))
Then
bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)),
Image)
picR.Image = bmap
bmap = picR.Image
ClosePreviewWindow2()
val2 = "C:FDFBASFaceDB" + txt.Text + ".jpg"
bmap.Save(val2, Imaging.ImageFormat.Jpeg)
79 | P a g e
Read Image and Grayscale Image
The image reading process is done using the Mat lab codings. Imread function in mat lab will be
reading the image and the output will come through the vb.net environment. Using the image
path the following RGB value output will be saved and then it will be converted into to
grayscale. This will be eliminating hue while the laminate colors will be kept as they are.
Remove Noise from Image
Using the medfilt2 function the images will be processed in to the noiseless from which is the
suitable situation for the face recognition. Further the function will be capable of filtering the
noise without reducing the original data in the image.
Brightness/Contrast balance Image
if (minv< 25)
CBblc=imadjust(medFilt,[.001.8 ],[]);
elseif (minv>36)
CBblc=imadjust(medFilt,[.21 ],[]);
else
CBblc=imadjust(medFilt,[.011 ],[]);
medFilt=medfilt2(gray,[71]);
inImg= imread(img);
gray = rgb2gray(inImg);
80 | P a g e
Imadjust function is being developed to maintain the challenges that even after eliminating the
noise from the image. Further this will be using the environmental colors and brightness will be
adjusted using the functionality to manage the color control of the image
Save the Image
In write function will be simply saving the image in a destined location.
Outcome of Capture image and pre process
This has resulted in going through the heavy weight processes like cropping image according to
the requirement of the size, read the image, load the image into the matrix and then noise
removal along with the balancing of colors make the system solid.
Calculate Eigenfaces
Load FaceDB and reshape image
fooneD= [];
for img_no= 1 : SizeOfSet
path= int2str(img_no);
path = strcat('',path,'.jpg');
path = strcat(FaceDB,path)
img= imread(path);
[irowicol] = size(img);
temp= reshape(img',irow*icol,1);
oneD= [oneDtemp];
end
preIm=strcat('C:FDFBASVerifypre.jpg');
imwrite(medFilt,preIm);
81 | P a g e
This will be the key for the loading of the face database which is developed using few folders
and using them the system is capable of managing the paths and the loading option will be
loading the strings of images into the image two dimensional vector arrays. The reshape option
for the databases and vector array management can be used in this situation if the functionality
is being enhanced with that.
Calculate average value of FaceDB
Using the mean function in the mat lab the average value will be calculated. Using those image
vectors the one dimensional array will be filled with the average values.
Calculate distance of each image from average value
The average values will be calculated and the distance of the images will be calculated and
using and accessing the face db the average values will be taken in to an array and the using the
distance the closest image will be selected from the databases to be output.
Diffrence =[];
for img_no= 1 : SizeOfSet
temp= double(oneD(:,img_no)) - avarage;
Diffrence =[Diffrence temp];
end
avarage = mean(oneD,2);
82 | P a g e
Extract Eigenvalues
Loading the covariance values makes the Eagan calculation which requires the distance average
values to be stored in the arrays and that will be done along with the Eagan values. Further the
previous values in the vector array will be multiplied by in every increment. Then the
covariance matrix will be generated and loaded in to the system.
Calculate Eigenfaces
The fetched in Eagan values will be compared with the threshold values and then the lesser
values than the threshold values will be eliminated. Further none zero values are in the Eagan
vectors are considered to be lesser than the average distance of the averages.
Outcome of EigenFace Core
This calculates the mean atoms along with the eigen faces in the databae and save them in a
variable to be used in the next processes..
Eigenfaces=Diffrence*L_eig_vectors;
L = Diffrence'*Diffrence;
[V D] = eig(L);
L_eig_vectors= [];
for img_no= 1 : size(V,2)
if( D(img_no,img_no)>1)
L_eig_vectors=[L_eig_vectorsV(:,img_no)];
end
end
83 | P a g e
Verify Face and Matching Face
Load the Preprocessed image and Load it to vector
Using the imread will be the first attempt and this will be getting a preprocessed image and
then the vector array will be loaded with them and the image will be arranged in a reshape
manner in a single dimensional array.
Find the difference
The images will be fetched from the face database and then they will be processed to get the
average values while the rest of the preprocessed image will also be processed to get the
average value and the difference in between the values will be counted and the lest difference
one will be the match and it might be the closest matching mechanism.
Verify Face
The threshold value in the camera value will be matched with the binary stream of data which
is containing the remaining values and the files of the images that been captured before when
the users were added to the system.
I = imread(InImage);
y=im2bw(I,0.3);
z=mean(mean(y))
Difference_in=double(InImg)-avarage;
InputImage =imread(InImage);
temp= InputImage(:,:,1);
[irowicol] = size(temp);
InImg= reshape(temp',irow*icol,1);
84 | P a g e
This is the reshaping option for the software application and this would be giving more control
over the rest fo the matching processes as the scope is similar in each attempt of capturing.
The test results show that the threshold value difference is in between 250 to 350 and the
binary image value difference is also less than 0.8 which will be processed using the isImage
condition and Notimage conditions.
Calculate projection of Centered images to face space
Using the eigen values the option of managing those values to spot the face appearance in the
image will be allowing the devlopper to guess process creation and the face database image will
be compared with the captured one due to this feature in the applicaiton.
InputImage =imread(InImage);
temp= InputImage(:,:,1);
if (answer>250 & answer<350 & z<0.8)
res='isFace'
else
res='notFace'
end
InImg= reshape(temp',irow*icol,1);
Difference_in=double(InImg)-avarage;
wi=Eigenfaces'*Difference_in;
om=Eigenfaces*wi;
cla=norm(Difference_in-om)^2;
answer=cla^0.1
85 | P a g e
Extract PCA features from given image.
This comes in the mat lab designing methods and the code will be injected in to the vb.net
environment and then the icol and irow will be determined to manage the PCA feature in the
system. According to the finding to execute this kind of an action the developer should have a
clear idea of managing the PCA feature in the mat lab based environments.
Calculate Euclidean Distance
The face DB will be used to fetch the images from it and the images will be checked and process
using the matching algorithms with the captured image to calculate the distance between the
image average values.
The Euclidean Distance will be the one till which the loop of searching will be working and when
it is found the system will be calculating the distance and sending the distance to the other
functions who are accepting the values of the difference.
Eucdian_dist= [];
for i = 1 : SizeOfSet
q = ProjectedImages(:,i);
temp= ( norm( ProjectedLoadImage - q) )^2;
Eucdian_dist= [Eucdian_disttemp];
end
InImg= reshape(temp',irow*icol,1);
Difference_in=double(InImg)-avarage;
ProjectedLoadImage =Eigenfaces'*Difference_in;
86 | P a g e
Match the given image with FaceDB images
The Euclidean distance will be then used to calculate the minimum distance between the
captured image and the destined folder stored images and the minimum distance holder will be
taken in to the account and strcat will be used to concatenate the image string in to a single
array.
The minimum distance matching and measurement will be done using the condition of the o.1
under which value.
verify=min(Eucdian_dist)^0.1;
if(verify>39)
outim='0.jpg';
else
outim=Outputimg;
end
[Eucdien_min,indeximg]=min(Eucdian_dist);
Outputimg= strcat(int2str(indeximg),'.jpg');
87 | P a g e
Pass the outputs to VB.NET program
The manipulation of the matlab calculations they will be passed to those outputs. Further the
input images and the values along with the calculations are bypassed in to the VB.NET
environment. Then the VB.NET application will be dealing with the Face DB which holds the
images of the users.
1. Retrieving the functions from the mat lab
2. Develop .dll file using matlab and copy .dll file and .ctf file to vb.net location.
3. Assign reference to the dll file.
4. Import the dll file into the vb environment and then the bypassing process will be taken
place.
5. The parameters taken from the VB.NET application inputs will be passed in to the matlab
environment to process the data.
The above code is an example forthe patternmatchingof the face and the imageswill be comparedand
the resultswill be sentinthe loginprocesstobe clarifedandthen depending on that te regular process
of the attendance algorithm will be completed.
Fac = NewFace.Faceclass
outputImgNo =Fac.Face("18",inimg,FaceDbpath).ToString
ImportsFace.Faceclass
Private Fac AsFace.Faceclass
function[outim]=Face(count,inImg,faceDBpath)
88 | P a g e
Database management
The database managementinthe applicationwill be done usingthe MSSQL ServerExpressversion 2005
and thisversionof the database managementsystemisallowing the developer to get a wide variety of
managementoptionslike automaticallycreatingthe tables,insertingdataintothe tables and view data
and edit data that are already residing in the system. Further the database management in this
approach will be using the SQL language which his very common to the database manipulation in the
VB.NETenvironment.Thenthe systemwill be addingthe new datasetsinto the system.Andthe system
will be addingthe personal detailsof the employeesandthe imageswillbe storedinthe foldersand the
folders might contain the images with the same image but in different angles.
The designing process of the database is limited due to the fact that the system is not dealing with
highlyadvanceddatabase development or manipulation and due to that reason the ER diagrams were
not developeddue tothe simplicity in the database structure that has been maintained in the system.
89 | P a g e
The testing process for the proposed solution
The testing is considered as one of the most important factors in the application management in the
projectmanagementdomainandthe qualityof the software isdepending on the testing process of the
application.The testingprocesscanbe done in two different flavors that can be divided in to the main
features like unit testing and the integration testing.
The unittestingwasa goodoptionto be usedas the unittestinghasprovento be successful in terms of
finding the major vulnerable errors in the applications as the unit testing involves around the unit by
unittestingandthismeansthe whole software algorithmsorthe programmingcode will be brokeninto
different units or chunks and then the chunks will be examined separately which means the expert
knowledge is required as the unit testing refers to the testing options using the full access in to the
source code.
Thenthe integration testing makes the integration first with the unit combinations and then it will be
testingthe inputsandthe outputsbasicallyand this is like the final stage testing process that has to be
used in the testing strategy. Further the testing strategy involves around the test cases of the system
which have been presented in the below presentation.
90 | P a g e
Description Login process
Process The user will be selecting the option. The options
will be varied from admin to colleague and the
user will then be directed to the relevant page
which may have the option of the admin related
view or colleague related view.
Expected Results The next view for the login process should be
appeared.
Actual Result The click event of the colleague or the admin will
be taking the user in to the next view of the
application.
Comments Not required.
Description The admin view selection
Process The admin view will be coming in to the view and
the user will be going though the processes of
login in to the system.
Expected Results The system will be generating the login
acknowledgement.
Actual Result The systemwill eithertake userto the admin view
or the staff view
Comments Not required.
91 | P a g e
Description The admin view successful
Process The user will be taken in to the next view and the
userwill be directedeithertothe staff view or the
admin view itself
Expected Results The user id will be selected and searched for the
availabilityinthe database andthenthe priority of
the userwill be selected and then the user will be
directed either to the staff or the admin view
Actual Result The adminview or the staff view will be displayed.
Comments Not required.
92 | P a g e
Description Staff view successful
Process The login process will be taking the user to the
staff view if the type of the user is in the staff
mode
Expected Results The interface will be offeringthe usertoselect the
grid view option and using the colleague details
and the dates the summaries can be generated in
to the grid view.
Actual Result The systemwill be getting the user input from the
combo box and the data will be fetched and
filtered from the database according to the
selection of the user.
Comments Not required.
Description Colleague selection in the button click event
Process The process will be taking the user to the image
capturing option in which the camera will be
capturingthe face of the user and the user will be
detected using the face recognition algorithm.
Further the acknowledgement will be given as
well.
Expected Results The user should be going through the screening
process and the face will be compared with the
restof the available imagesinthe folderdatabase.
Then the right kind of data of the user will be
fetched from the database in to the system to
93 | P a g e
manage the attendance record relevant to the
user.
Actual Result The user will be acknowledged about the login
process weather it is successful or not.
Description The Login
Process The user will be selecting the option. The options
will be varied from admin to colleague and the
user will then be directed to the relevant page
which may have the option of the admin related
view or colleague related view.
Expected Results The next view for the login process should be
appeared.
Actual Result The click event of the colleague or the admin will
be taking the user in to the next view of the
application.
Comments Not required.
Description Adding a user
Process The user detailswillbe added into the system and
then the user details addition successful
acknowledgement will be prompted in to the
system.
Expected Results The user will be added in to the database and the
profile picture will be added to the folder
94 | P a g e
database.
Actual Result The user detailswillbe added to the database and
the folder databases will be added with the new
images of the user.
Comments Not required.
95 | P a g e
Limitations
This system is not perfect by any means and is subject to several limitations and constraints.
Thissystemwouldnotbe able to performinefficientmanner because of following limitation affection.
 Cannot identify face angle is 90 degree
If a colleagues’ face capture in 90 degree angle or part of face, this system would neither
recognize the face nor match a face.
 Cannot identify face if environment too dark or too light
According to test results even in small lighting condition change the output values will be
change in long range so the system will not be able to recognize a face
 Cannot identify face if the user too far or too near to camera.
Thisalgorithm compare withitsowndatabase so itwill tryto match withits own pictures. If the
person too far the capture image would be small and it would lead to un identify human face
and match face process.
 Depend on facial expression
If the user change different facial expression this algorithm will not be able to match with
correct image in its database
 Cannot identify Identical twins
Identical twinsalmosthave same facial fractures.Thisalgorithmmatchespeopleusingminimum
distance of the database face and captured image.
96 | P a g e
97 | P a g e
Critical Evaluation
Developingsuchasystemwasan awesome experience andthenthe system is capable of managing the
basicrequirementsthathave beendefinedinthe previous sections. Further the face recognition was a
wonderful areatobe researchedandobservedasthe system development in the face recognition was
somewhat challenging due to the inexperienced nature.
Furtherthe face recognitionisone of the vital factors that are used in the field of security specially for
maintainingthe biometricrequirementswhichmakesthe securednetworksanddomainsmore secured.
Then the application of the face recognition can be done using different approaches and basically the
most important thing is to select a suitable kind of an algorithm to do the face recognition.
The firsthand experience was a wonderful one as there were many algorithms like Eagan face and the
Neural networkswhichare runningintwodifferentlogicsintwodifferent paths as well. Event then the
idea of implementing this solution was decided to be done using the cooperation of the .Net
development environment.
Then the Eagan face was like an idea solution due to the number of opportunities and resources that
were available tobe usedinthe development environment. So due to that main factor of having more
resources and help the choice was made on the Eagan face.
The usage of the folder options and the SQL Server solution together is also significant. The database
managementin this face recognition application will be done using two methods which are unique to
each other.Theycan be respectivelymentioned as the MS SQL Server 2005 Express which is one of the
bestdatabase solutionsthatare usedinthe current applicationintegration domain and it is considered
as one of the best solutions to keep dynamic data as the development management studio allows the
database manipulation for the perfection. Then when it comes to the system the main aspect is the
storage of the images and it is done in a different way. The fact is due to the sever management
environmentthatisexpectedto be used in the application using environment. The application will be
storingthe imagesinthe folderthatare dividedintothree majorfolderswhichcontain different angled
imagesof the userswhichwill be making the face recognition process more dynamic and accurate due
to the dynamicanglesof an image available forthe algorithmstobe used to detect the right kind of the
98 | P a g e
face match. This storage was used by the earlier times when the software development was in the
primitive era when we did not have the advanced database solutions.
Andalsothe systemcouldhave beendevelopedtorecognize the voice andthe lip movement as well as
it ismentionedinthe similarsystemsanalysis.The time constraintfactorwasthe issue due to which the
mentionedfeaturescouldnotbe achieved.Furtherthe systemcouldhave beendevelopedtobe used in
differentcolorconditionsanditisnotbeendesignedintothatconceptas well and it is due to the same
factor of the limitation of time.
So inthe future modifications for this developed application the mentioned features will be included
and the restof the possible featuresthatcanbe includedinthe systemwill be researches and observed
indepthas well.Butas an overall workIam totallysatisfiedwiththe waythe projecthasbeen achieved
and the artifact has been delivered.
99 | P a g e
Reference and Bibliography
 ARTICLEBASE2010, Java andits advantages,Anon.[online].Available at
from:http://www.articlesbase.com/programming-articles/java-and-its-advantages-736621.html,
[Accessed:12/26/2010].
 MATHLAB 2010.Production Description,Anon,[online],Available
from:http://www.mathworks.com/products/matlab/description1.html.[Accessed:12/26/2010
9:35:15 PM]
 ABOUT H 2010.All AboutThe C++ ProgrammingLanguage,Anon.[online].Available
from:http://cplus.about.com/od/introductiontoprogramming/p/profileofcpp.htm.[Accessed:12/
26/2010 9:41:30 PM]
 MATHTOOLS 2009.Image ProcessingAnon.[online].Available
from:http://www.mathtools.net/C_C__/Image_Processing/index.html.[Accessed:12/26/2010
9:55:48 PM]
 Deming,E.,Software Development;MethodologyToday,[Online],Available:
http://www.hyperthot.com/pm_sdm.htm[Accessed:10thJuly2009]
 James,R.,Chapman,Software DevelopmentMethodology,[Online],Available:
http://www.hyperthot.com/pm_sdm.htm[Accessed:10thJuly2009]
 Pressman,R.S.,2005. Software Engineering;A PractitionersApproach,6thedition,McGRAW-
HILL, NewYork
 Sommerville,I.,2004, Software Engineering,7thedition,PearsonEducation,India.
Stellman,A,Greene.J.,2004, AppliedSoftwareProjectManagement - Functional
Requirements,[Online],Available:http://www.stellman-
greene.com/aspm/content/view/40/41/[Accessed:10thJuly2009]
 LOTUS H 2009, The Face RecognitionBasics,PerryPearson,[Online]Available from:
http://www.stellman-greene.com/aspm/content/view/40/41/ [Accessed:10th
June 2010]
 Matthew A.Turk and Alex Pentland.(1991).“Face recognitionusingeigenfaces”.Proc.CVPR,
pp 586-591.
 Zhang J,Yan .Y andLades .M, (1997 )“Face Recognition:Eigenface,ElasticMatching,andNeural
Nets”,Proceedingsof the IEEE,Vol.85, No.9.
100 | P a g e
 ZHAO.W,CHELLAPPA .R, PHILLIPSP.J., ROSENFELD.A. (2003). Face Recognition.A Literature
Survey.36, 399-455
 Bledsoe,W.W.,"Man-machine facial recognition",PanoramicResearchInc.PaloAlto,CA,Rep.
PRI:22, (August1966).
 Bledsoe,W.W.,"Man-machine facial recognition",PanoramicResearchInc.PaloAlto,CA,Rep.
PRI:22, (August1966).
 Bledsoe,W.W.,"The model methodinfacial recognition",PanoramicResearchInc.PaloAlto,
CA,Rep.PRI:15, (August1966).
 Burt, P.,"Smart sensingwithinaPyramidVisionMachine",Proc.of IEEE, Vol.76(8),pp. 139-153,
(1988).
 Burt, P.,"Smart sensingwithinaPyramidVisionMachine",Proc.of IEEE, Vol.76(8),pp. 139-153,
(1988).
 CryptoMetrics.(2000). CryptoMetricsSecureIDent™ VerificationandLookoutKiosk.Product
Profile.1-5.
 CryptoMetrics.(2000). CryptoMetricsSecureIDent™ VerificationandLookout Kiosk.Product
Profile.1-5.
 Fischler,M.A.,and Elschlager,R.A.,"The representationandmatchingofpictorial structures",
IEEE Trans.on Computers,c-22.1,(1973
 Fischler,M.A.,and Elschlager,R.A.,"The representationandmatchingofpictorial structures",
IEEE Trans.on Computers,c-22.1,(1973).
 Fleming, M., and Cottrell, G., "Categorization of faces using unsupervised feature
extraction", Proc. of IJCNN, Vol. 90(2), (1990).
 Fleming, M., and Cottrell, G., "Categorization of faces using unsupervised feature
extraction", Proc. of IJCNN, Vol. 90(2), (1990).
 HenryA. Rowley,ShumeetBaluja,andTakeoKanade.(1998).Neural Network-BasedFace
Detection.
 Rowley,ShumeetBaluja,andTakeoKanade.(1998).Neural Network-BasedFace Detection
 JavadHaddadnia, KarimFaez,Majid Ahmadi.(1998).N-Feature Neural NetworkHumanFace
Recognition.
 Hyeonjoon Moon and Jonathon Pillips. (2000). Computanal and performance aspects of
PCA-based face recognition algorithms. 30, 303-321.
 Hyeonjoon Moon and Jonathon Pillips. (2000). Computanal and performance aspects of
PCA-based face recognition algorithms. 30, 303-321.
101 | P a g e
 Kanade,T.,"Picture processingsystembycomputercomplex andrecognitionof humanfaces",
Dept.of InformationScience,KyotoUniversity,(1973).
 Kohonen, T., "Self-organization and associative memory", Berlin: Springer-Verlag,
(1989).
 Kohonen, T., "Self-organization and associative memory", Berlin: Springer-Verlag,
(1989).
 Kohonen, T., and Lehtio, P., "Storage and processing of information in distributed
associative memory systems", (1981).
 Kohonen, T., and Lehtio, P., "Storage and processing of information in distributed
associative memory systems", (1981).
 Steve Lawrence,C.Lee Giles,AhChungTsoi andAndrew D.Back. (2000). Face Recognition: A
Convolutional NeuralNetworkApproach//Face Recognition:A Convolutional Neural Network
Approach.IEEE Transactionson Neural Networks.
 Roger Pressman (1997). Software Engineering. 4th ed. Singapore: McGraw-Hill
Companies. 37-43.
 Rowley,. Baluja H.A, Kanade S., (1998). Neural network-based face detection. Pattern
Analysis and Machine Intelligence, IEEE Transactions on. 20 (1), 23-28.
 Wiskott L, Fellous J.M ,Kuiger, N. von der Malsburg, C. (1997). Face recognition by
elastic bunch graph matching. . 19 (7), 775 - 779.
 Wiskott L, Fellous J.M ,Kuiger, N. von der Malsburg, C., (1999). “Face Recognition by
Elastic Graph Matching”, Chapter 11, pp. 355-396
 www.mathworks.com.(2008).ProductOverview.Available:
http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help
/techdoc/learn_matlab/f0-
14059.html&http://www.google.com/search?hl=en&rlz=1B3/class/aos340/spr00/whatismatlab.
htm
 www.face-rec.org.(2005).Algorithms. Available:http://www.face-rec.org/algorithms/
 WolframResearch.(2008). Eigenvector.Available:
http://mathworld.wolfram.com/Eigenvector.html
102 | P a g e

More Related Content

Viewers also liked

Sci f1 ans (m)
Sci f1 ans (m)Sci f1 ans (m)
Sci f1 ans (m)zaati
 
Presentación
PresentaciónPresentación
PresentaciónDalia184
 
Felicia Wynter Writer Resume
Felicia Wynter Writer ResumeFelicia Wynter Writer Resume
Felicia Wynter Writer ResumeFelicia Irving
 
Letter of Recommendation - Jack Glasheen.PDF
Letter of Recommendation - Jack Glasheen.PDFLetter of Recommendation - Jack Glasheen.PDF
Letter of Recommendation - Jack Glasheen.PDFMichael Dombrowski
 
Integrated institutional portal
Integrated institutional portalIntegrated institutional portal
Integrated institutional portalambitlick
 
Add value to bread 3
Add value to bread 3Add value to bread 3
Add value to bread 3tainkab
 
Indie front cover analysis
Indie front cover analysisIndie front cover analysis
Indie front cover analysisHattie Townsend
 
Automtaic Cyclic Load shedding in Distribution system
Automtaic Cyclic Load shedding in Distribution systemAutomtaic Cyclic Load shedding in Distribution system
Automtaic Cyclic Load shedding in Distribution systemrajani51
 

Viewers also liked (13)

Sci f1 ans (m)
Sci f1 ans (m)Sci f1 ans (m)
Sci f1 ans (m)
 
Presentación
PresentaciónPresentación
Presentación
 
Connect card
Connect cardConnect card
Connect card
 
Felicia Wynter Writer Resume
Felicia Wynter Writer ResumeFelicia Wynter Writer Resume
Felicia Wynter Writer Resume
 
nilai
nilainilai
nilai
 
Ti manager
Ti managerTi manager
Ti manager
 
chekanski
chekanskichekanski
chekanski
 
Letter of Recommendation - Jack Glasheen.PDF
Letter of Recommendation - Jack Glasheen.PDFLetter of Recommendation - Jack Glasheen.PDF
Letter of Recommendation - Jack Glasheen.PDF
 
Integrated institutional portal
Integrated institutional portalIntegrated institutional portal
Integrated institutional portal
 
Add value to bread 3
Add value to bread 3Add value to bread 3
Add value to bread 3
 
Indie front cover analysis
Indie front cover analysisIndie front cover analysis
Indie front cover analysis
 
Automtaic Cyclic Load shedding in Distribution system
Automtaic Cyclic Load shedding in Distribution systemAutomtaic Cyclic Load shedding in Distribution system
Automtaic Cyclic Load shedding in Distribution system
 
Lear Aug 2016 Final-lo
Lear Aug 2016 Final-loLear Aug 2016 Final-lo
Lear Aug 2016 Final-lo
 

Similar to Final Document

online movie ticket booking system
online movie ticket booking systemonline movie ticket booking system
online movie ticket booking systemSikandar Pandit
 
IRJET- Criminal Recognization in CCTV Surveillance Video
IRJET-  	  Criminal Recognization in CCTV Surveillance VideoIRJET-  	  Criminal Recognization in CCTV Surveillance Video
IRJET- Criminal Recognization in CCTV Surveillance VideoIRJET Journal
 
Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...
Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...
Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...Roman Atachiants
 
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGESA DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGESPNandaSai
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction Mark Billinghurst
 
A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...
A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...
A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...Nischal Lal Shrestha
 
IRJET- Automated Student’s Attendance Management using Convolutional Neural N...
IRJET- Automated Student’s Attendance Management using Convolutional Neural N...IRJET- Automated Student’s Attendance Management using Convolutional Neural N...
IRJET- Automated Student’s Attendance Management using Convolutional Neural N...IRJET Journal
 
Machine learning_ Replicating Human Brain
Machine learning_ Replicating Human BrainMachine learning_ Replicating Human Brain
Machine learning_ Replicating Human BrainNishant Jain
 
CTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docx
CTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docxCTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docx
CTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docxannettsparrow
 
Loan Prediction System Using Machine Learning.pptx
Loan Prediction System Using Machine Learning.pptxLoan Prediction System Using Machine Learning.pptx
Loan Prediction System Using Machine Learning.pptxBhoirRitesh19ET5008
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesKiran Munir
 
Hrms industrial training report
Hrms industrial training reportHrms industrial training report
Hrms industrial training reportNitesh Dubey
 
Resource scheduling algorithm
Resource scheduling algorithmResource scheduling algorithm
Resource scheduling algorithmShilpa Damor
 
Emotion Detection Using Facial Expression Recognition to Assist the Visually ...
Emotion Detection Using Facial Expression Recognition to Assist the Visually ...Emotion Detection Using Facial Expression Recognition to Assist the Visually ...
Emotion Detection Using Facial Expression Recognition to Assist the Visually ...IRJET Journal
 
Cloudera Data Science Challenge 3 Solution by Doug Needham
Cloudera Data Science Challenge 3 Solution by Doug NeedhamCloudera Data Science Challenge 3 Solution by Doug Needham
Cloudera Data Science Challenge 3 Solution by Doug NeedhamDoug Needham
 

Similar to Final Document (20)

online movie ticket booking system
online movie ticket booking systemonline movie ticket booking system
online movie ticket booking system
 
IRJET- Criminal Recognization in CCTV Surveillance Video
IRJET-  	  Criminal Recognization in CCTV Surveillance VideoIRJET-  	  Criminal Recognization in CCTV Surveillance Video
IRJET- Criminal Recognization in CCTV Surveillance Video
 
Z suzanne van_den_bosch
Z suzanne van_den_boschZ suzanne van_den_bosch
Z suzanne van_den_bosch
 
Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...
Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...
Master Thesis: The Design of a Rich Internet Application for Exploratory Sear...
 
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGESA DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction
 
A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...
A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...
A Real-time Classroom Attendance System Utilizing Viola–Jones for Face Detect...
 
IRJET- Automated Student’s Attendance Management using Convolutional Neural N...
IRJET- Automated Student’s Attendance Management using Convolutional Neural N...IRJET- Automated Student’s Attendance Management using Convolutional Neural N...
IRJET- Automated Student’s Attendance Management using Convolutional Neural N...
 
Machine learning_ Replicating Human Brain
Machine learning_ Replicating Human BrainMachine learning_ Replicating Human Brain
Machine learning_ Replicating Human Brain
 
Report
ReportReport
Report
 
Tictac
TictacTictac
Tictac
 
CTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docx
CTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docxCTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docx
CTTS CASE STUDY - Milestone 2 Problem AnalysisPage 2-7MILEST.docx
 
Loan Prediction System Using Machine Learning.pptx
Loan Prediction System Using Machine Learning.pptxLoan Prediction System Using Machine Learning.pptx
Loan Prediction System Using Machine Learning.pptx
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Hrms industrial training report
Hrms industrial training reportHrms industrial training report
Hrms industrial training report
 
Tic tac toe game code
Tic tac toe game codeTic tac toe game code
Tic tac toe game code
 
Tic tac toe
Tic tac toeTic tac toe
Tic tac toe
 
Resource scheduling algorithm
Resource scheduling algorithmResource scheduling algorithm
Resource scheduling algorithm
 
Emotion Detection Using Facial Expression Recognition to Assist the Visually ...
Emotion Detection Using Facial Expression Recognition to Assist the Visually ...Emotion Detection Using Facial Expression Recognition to Assist the Visually ...
Emotion Detection Using Facial Expression Recognition to Assist the Visually ...
 
Cloudera Data Science Challenge 3 Solution by Doug Needham
Cloudera Data Science Challenge 3 Solution by Doug NeedhamCloudera Data Science Challenge 3 Solution by Doug Needham
Cloudera Data Science Challenge 3 Solution by Doug Needham
 

Final Document

  • 2. 2 | P a g e Acknowledgement I would like to express my gratitude to all those who assisted me throughout at every phase of this project.I am deeplyindebted to our lecturer Mr. John Cowley, Mr. Nico Decourt and Mr. Rob Kinmond for all the support they gave me at every stage. My sincere thank you also goes to Staffordshire University for providing me the necessary resources such as laboratory and library facilities needed to carry out the needful. My sincere thanksgoestomyfellowcolleaguesandseniorsforwillinglyhelpingme atanypointof time. Last but not least we thank all my parents for their untiring support and encouragement given for the successful completion of this assignment.
  • 3. 3 | P a g e Table of Contents Background…………………………………………………………………………………………………………………………3 Solution……………………………………………………………………………………………………………………………….4 ProjectScope………………………………………………………………………………………………………………………5 ProjectObjectives……………………………………………………………………………………………………………….5 SolutionOutline………………………………………………………………………………………………………………….6 ReportOutline…………………………………………………………………………………………………………………….7 ProblemAnalysis………………………………………………………………………………………………………………..9 Problem Description……………………………………………………………………………………………………………9 Challenge of the problem…………………………………………………………………………………………………10 System Requirements……………………………………………………………………………………………………….11 Functional Requirements…………………………………………………………………………………………………11 ResourcesIdentification……………………………………………………………………………………………………11 Hardware Resources…………………………………………………………………………………………………………11 Software Resources…………………………………………………………………………………………………………..12 Methodology…………………………………………………………………………………………………………………….13 Why SystemPrototypes?.......................................................................................................15 Researchand Investigation……………………………………………………………………………………………….16 Java…………………………………………………………………………………………………………………………………..16
  • 4. 4 | P a g e C++……………………………………………………………………………………………………………………………………18 MATHLAB…………………………………………………………………………………………………………………………19 Justificationforselectedlanguage……………………………………………………………………………………20 Face recognitionapproach……………………………………………………………………………………………....21 Line Edge Map………………………………………………………………………………………………………………….23 ElasticBunch Graph………………………………………………………………………………………………………....28 Eigen Face……………………………………………………………………………………………………………………….32 Justification for Eigen-face………………………………………………………………………………………………40 Reference and Bibliography…………………………………………………………………………………………….41
  • 5. 5 | P a g e Background UsuallyTime ManagementSystemsare usingformanage daily schedule of staff andgenerate salary.In earlydays, before computerscome towork,Theyusedtohave a logbookand each time the personal managerhave to update it, plusIt isveryhard to maintaina logbookif there are more than 20 staff. Solutionforthat Computerprofessional hasproduced asystemtomanage time.It’san automated systemthatallows authorizedpersonto(personalsmanages) simplylogintothe systemandsee what time start workand finish, howmanyhourswork. Early daysbut still use the Smartcards for loginto the time managementsystemwhenacolleague starts work.Sometimesitusesbiocharacterslike fingerprint. I am workingasa part time colleague inASDA andituse Smart Card forcheck into work.Firstwe need to selectthe option(obviouslywe needtoselectstartbuttonprovidedbythe systeminterfacewhenwe checkin).Thenthe systemwouldprompttouser,holdthe Smartcard in frontto the sensor.If the Smart card is valid, the systemwouldautomatically displaycolleaguename,Batch numberandtime he or she start work. Thisinterface synchroniseswithSystemdatabase andupdates it.If the systemfraileroccurs personal managerhave toupdate colleague detailsmanually.
  • 6. 6 | P a g e Face Detection Systems Image processingisa rapidgrowingfieldinpresent,face recognitionisapart of it. Basicallyface recognitionsystemwhichusingtoimplementsecuritysystem.Inbottomline face recognitioncan identifyapersonbyhisor herbiometriccharacteristic.Torecognize apersonbyface thissystemsusing a sequence of image of single image andprocessitandcompare itwithinbuiltdatabase.Finallyif there isa matchingimage itwouldgive positive output. Face recognitionmethodismore usersfriendlyif we compare withotherbiometricsystemssuchas fingerprint, behaviourpaten,voice recognition.Plustoimplementthose kindof systemrequire specialize hardwaretocapture data.But in face recognitionsimplyneedacamera.
  • 7. 7 | P a g e Project Scope Accurate Identification of Faces The image processingwouldtake some time togive anoutputdependonwhat algorithm and hardware we use.Asa resulttovalidate colleague itwill take some time,butkeepingthe colleague waiting would reduce the efficiencyof company.Therefore the bestwayistoselectmore quickandaccurate algorithm to solve this problem. Project Objectives 1) Make the Gantt chart to allocate specifictime andaccomplisheachmilestonewithingiventime periodtoensure thatfinishthe entire projectfinishwithindeadline. 2) Selectthe appropriate methodologythatmeetthe systemdesignstepsandapplytodesignandother steps 3) Implementthe core functionisthe mainobjective of thisproject.Face recognitionpart shouldbe hassle free,efficient,andeffective.There are several stepswhichhelptocome upwithface recognition part. Firstof all needtocapture image of the personandgo throughimage filteringthatreduce noises of the picture.Thenthatpicture needtoconvertto gray scale to make the comparisoneasyand efficiency.Finallythe systemwouldconsidermajorpointsof the face that identifyuniquelyand calculate an average number,compare thataverage numberwithitspicture database (averagenumbers will be calculate foreachpersonbythe systemwhenthe comparisonstart).If there anypositive number (Accordingtothe picture) inthe Systemdatabase itwouldallow usertologinto the system. 4) Afterresearchdone Ihave to selectthe method thatdoesmostreliable,effectivelyidentifypeople whoalreadyinthe systemdatabase. 5) Aftersuccessfullyfinishthe above objective,nextobjectiveisintegratingface detectionsystemwith the time managementsystem.Forimplementthe wholesystem the companyclockingmachine andits
  • 8. 8 | P a g e central database needtoupgrade.The embeddedcamerawilltake apicture of the colleague and systemwill automaticallysearchinthe central database till findthe identical picture.Thenthe system will allowtousertoenterto the system. 6) Designthe testplane anddebugthe systemtomake sure all the functionsare workingperfectlyasit should. 7) FinallyFull documentationwithHarvardreferencing,bibliographiesandappendices. SolutionOutline In thisprojectthe outcome isa time managementapplicationforacompany.Ultimatelythisoutcome provide asecurityapplicationalso.The systemmainlydependsonface recognitionandbecause of that implementwithmosteffective,reliableface identifyingalgorithm. User needstoregisterwiththe systemandmeantime userhasto provide aclearfrontedpicture.This systemwouldable toauthenticatingpersonbyfrontedpicture capturedbyembeddedcameraandit wouldcompare withitspicture database. Firstof all userneedtoselectthe optionandafterselectitthe systemwouldpromptusertoface tothe camera.Withinseconditwould analyze the picture,compare andgive the result.If the userisa valid colleague,the Systemwouldallowloggingin tosystemanditwill show colleague details.Apartof thata validcolleague canperformlogout,goingtomeal break.Toactivate those optionusermustloggingto the system ReportOutline Thisprojectdocumentationwouldcategoriestosix stepsasinbelow 1) Analyst 2) Research 3) Design
  • 9. 9 | P a g e 4) Implementation 5) Testing 6) Critical evaluation In analystsectionwill provide someuseful informationaboutthe system, mainlywhatuserrequirement shouldconsiderwhendesignthe system.Thissectionwill giveaclearpicture of the system. Researchstepwill coveraboutpresentface recognitionsystemsanditwill discusseachmethodand whatis the core functionally,howitperformsface recognition.Finallyinthisstepwilldiscusshowto overcome with currentsolutionandjustifythe selectedmethod. In thirdstep,woulddescribe aboutwhole systemandendusers.Give depthinformationaboutsystem throughsystemarchitecture,Usercase diagrams.Thisstepwouldgive aclearimage of how the system will be. Forth stepwill describeall aboutimplementation.Will describe all stepsbeginfromfrontendtoback end. Testingstepwouldgivesthe detailsof testplansandwhatmethodsusingtofindoutbugsin thissystem Finallycritical evaluationstepwoulddescribe aboutthe systeminnakedeye.Whatare the goodpoints and bad pointinthissystempluslimitation,assumptionhadmade forthissystem.
  • 10. 10 | P a g e PROBLEM ANALYSIS Problem Description The main problemof face recognitionistoidentify animage withthe capturedimage fromthe cameras. In thisscenariomainlyfocusonface detection,the systemidentifyapersonthroughanimage or a video Proposedsystemcanverifyapersonandallow himor herto clock inor otherfunctionthatsystem provides.Whenapersonregisterwithacompanyhave to provide afrontedimage anditwill be store in a central database.once a personneedtoclock in,the camera will take asnap shotof the person and verifythe face usingface recognitionmethodology thatwillhave selected afterresearchdone. In thisscenariothe maindifficultyisrecognisethe face withgivendatabase. Challenge of the problem  Academic challenge There are a lotof waysto detecta face but need to implement the system with the most efficient, effectivealgorithmafter deep research. There are number of algorithms such as Eigenfaces (PCA), Elastic Brunch Graph Matching (EBGM) and Neural Network (NN) and many others are also available. Above mention algorithms are more popular algorithms in present and they are commonly use in industry  Technical challenge Need to find out what is the most suitable programming language for develop the system. End-Users of the System There are two end users in this system. 1 Colleague Person who are interact with the system. 2 Admin
  • 11. 11 | P a g e Person who are get information through this system System Requirements Functional Requirements Followingare the functionalrequirementsforthissystem System should capture a snap shot of a colleague automatically after select an option System should filter the capture image (noise filter) System should able to compare image with it is picture database System should able to match the correct image in database with given image System must able to allow user to enter to the system after authenticate process done. System must calculate correct time without any mistake, miscalculate from start to end. Systemshouldable tosummarise all the information and make a final report at the end of the month Resources Identification Mainly Resources are categorized in to two parts. It is Hardware and Software. The System is going to be developing capable to Microsoft platform Hardware Resources According to this project to process the program following hardware resources are required, Computer Requirements (Minimum)  Pentium 4 (3.0 GHz) Processor.  256MB Ram  20GB HDD
  • 12. 12 | P a g e  64MB VGA card Other Resources  WEB Camera The web camera will capture the image of a person and the computer will process the program, to connectthe database.If the image will notmatchingorinvaliduserthe warningmassage will pop out to the screen. Software Resources  To run this system mainly need operating system as windows xp system.  Math lab 2007b is the software using to develop face detection software.  Ms SQL 2005 is using as the database system of this system.  To design interface and buttons of the system expect to use firework and Photoshop cs3.  Microsoft Office Project 2003 is using to create grant chart and other project management reports.
  • 13. 13 | P a g e Methodology Accordingto Chapmanidentifyingthe mostimportant milestones in the life of a system makes the life easy for the project to be executed with an accurate note. And when it comes to the system developmentlife cycle itisall aboutplanning,managingandexecutingthe stepsinasequentialmanner. And it is important to allocate more time and more budget over the project when the methodology is SDLC. (Chapman, 2004) (Anon,2009) Thisis one of the mostimportant traditional methodologieswhichhaslaidthe foundation to the rest of the successful methodologiesandthis is using the most important aspects of the system development to bring and separate them into several facets and the disadvantage over this system is that the methodology is taking a lot of time. (Deming, 2006, p.9)
  • 14. 14 | P a g e According to Ian Sommerville it is really important to make the things intellect together if they are interrelatedtoeachotherso withthat intensionitisreallyimportantto make the spiral model to come up withthe newsolutionstothe projectdevelopmentinthe accuracy field as the spiral is providing the cuttingedge to repeatthe quality assurance checkingof the development of the system (Sommerville, 2004) On the otherhand waterfall modelsare usedwhenthe requirementsare fullyidentified or known. This model gives a good starting point to structure a project. Hybridmodel isa model which is using more than one methodology to form a methodology out of the selected ones and it lays the foundation to the entire project development or partly contributes to it withdifference aspectsindifferentstages.This is a good approach when developing software because waterfall model is adapted for the earlier stages, which ensures requirements are analysed well, and spiral model to the rest of the development, which ensures the rapid user-driven software delivery. Prototype isthe mostwidelyusedmethodologyamongthe project managers and the coordinators as it can be usedasa hybridsolutionalongwithanothermethodology.Anditis really important to keep the mostimportantnote on thismethodology as it is helping the project team to save the budget and stay within the constraints as the scope can be reach with the accurate expectation of the customer as the customer of the product can involve in the methodology stages more actively. (Anon, 2009) According to Pressman R. S. (1997) the prototype paradigm starts with requirements collecting. Steps concerned in this process are defining the overall objectives for the software Why SystemPrototypes? Thisis usedas thiscan be usedalongwithdifferentwaystoreachthe projectgoalsandit issimple andit can be usedtomeetthe requirementsof the clientasthismethodologyusesthe opportunity of getting
  • 15. 15 | P a g e feedbacksandshootingatthe correct spotto make new decisions.Andalsothismethodology is making the membersof the projectteamto map theirideastoa one pointfromdifferentperspectives. And it is reallyimportanttokeepthe mostimportantnote onthis methodology as it is helping the project team to save the budget and stay within the constraints as the scope can be reach with the accurate expectationof the customerasthe customerof the product can involve in the methodologystagesmore actively. User interface designers,Productmanagers,Developershave tounderstandthe systemagainstpersons, userroles,andscenarios,aswell asusability.Userinterface designerscanbuildininteresting new ideas and presentthemtothe developers,ortheycandeveloptheirnew concepts in prototypes and present them to higher management for buy-in decisions. (Hatscher,2003)
  • 16. 16 | P a g e Research and Investigation Whenimplementingasystemcodingplaysamajor role.To finish the projectsuccessfullyprogramming toolsand resource needtochoose wisely.Forimplementasuccessful andefficientsystemselectthe righttool is a major challenge.Inthistopicitwill review the summarizationof the three techniquesand programmingtools. Java Java isan opensource programminglanguage thatfree todownload.Javaisdevelopedby James Goslingat SunMicrosystems in1995. It is fullyexposedtothe worldtobe usedbyfree userusage package..Itisbase onC++ and overcome some notbe up to snuff inC++.andthislanguage architecture neutral soit can run on anyplatform(Operatingsystem).Javagotsome goodfeaturesaswell asbad.It is listedabove • It isan opensource,sousersdo not have to struggle withheavylicense feeseachyear • Platformindependent • JavaAPI'scan easilybe accessedbydevelopers • Javaperformsupportsgarbage collection,somemorymanagementisautomatic • Javaalwaysallocatesobjectsonthe stack • Javaembracedthe conceptof exceptionspecifications • Multi-platformsupportlanguage andsupportforweb-services • UsingJAVA we can developdynamicwebapplications • It allowsyoutocreate modularprogramsand reusable codes (Articlesbase,2010) For image processingJavagotsome packagesthat couldhelptoimplementit.Suchas Java2D, Java Twainpackage,Gif4Jpackage andDe-NoisingImage packageswouldhelptoimplementimage processing.
  • 17. 17 | P a g e C++ The C++ originallydevelopedbyBjarne Stroustrupinearly1980s at Bell Laboratories.ThisProgramming language havingbothstructural andobjectoriented.SowithC++programmercan performbehaviours bothlanguageshave. Thisisalsoprovidingthe opportunityforthe usersof thislanguage tomeetthe demandsof the objectorientedprogrammingandthe language issupportedbyboththe opensource communitiesandthe industrial communitiesaswell. Inthisprogramminglanguage itisreallyimportant to keeptrack of the objectorientedconceptsandthenimplementthemusingthislanguage asthe language will be usingthe highlevel procedures. (About,2010) SignificantLanguage Features C++ isa hybridlanguage sousercan programeitherstructural or objectoriented. Andunlikejavathis language isprovidingmore userfriendlyoptionstothe programmers. (About,2010) C++ programsare consistbothclassesand functions.Usercan create ownfunctionsandclasses. C++ wasintendedtobe overcome some featuresof Cprogramminglanguage has.Andwiththe speed and efficiencyof the newC++it helpsfordevelopcomputergames, utilities,OperatingSystems and compilers. (About,2010) C++ got some image processinginbuiltlibrarythathelptoimplementface detection.SuchasCImg library,paintliblibraryclassesare helpful forimage processing.(MathTools,2010)
  • 18. 18 | P a g e MATHLAB MATHLAB is highlevel languagesthathelptodevelopalgorithm, Datavisualization,numeric computation,dataanalysis.Thistool ismore powerful andeasytosortout problemscompare withsuch as C and Java.MATHLAB isusedfor implementimage process,signal process,communication applications,andControl design. Andthe special feature of thislanguage issharingworks/integrate MATHLAB code withotherlanguage suchasC++ , .Net….. Usingthislanguage will be usingthe image and the pixel mappingwhichisdone toprocessandmerge imagesandin mostof the casesthe system are usingthislanguage toprocessthe OCR methodsandobjects. Advantagesof MATHLAB  High-level languagefortechnical computing  Developmentenvironmentformanagingcode,files,anddata  Interactive toolsforiterativeexploration,design, andproblemsolving  Mathematical functionsforlinearalgebra,statistics,Fourieranalysis,filtering,optimization,and numerical integration  2-D and 3-D graphicsfunctionsforvisualizingdata  Toolsfor buildingcustomgraphical userinterfaces  FunctionsforintegratingMATLABbasedalgorithmswithexternalapplicationsandlanguages,suchasC, C++, Fortran, Java,COM, and MicrosoftExcel (MATHLAB,2010) Implementimageprocessingandface recognitionthroughMathLabiseasythanother developingtools and MathLab has got special dedicatedsimulinktool thatincrease the easyof cordingandimplementing face recognitionsystem.
  • 19. 19 | P a g e Justification For selectedlanguage Usingthe languageslike Javamakesthe lifeeasyasthe languagesare havingalot of helparoundthe corner as theyall a opensource languagesandthe mostimportantthisisjava isusedina higherscale in the software developmentwordanditisreallypowerful thoughitseemslikeitissimple andthis language issupportedbysome powerfulplug-inaswell.Andthe majordrawbackinthislanguage isthat the language isreallynotmeetingthe demandsof thisprojectthatIam doingas it isnot commonlyand widelyusedinthe image processingarenaof the worldandalsothislanguage hasa small erroras the runtime issuesare reallyhigherinthis.Whenitcomestothe core of the language itmakesthe response time delayedwhencomestoprocessinganimage. ThenC++ isthe veryfirstobjectorientedlanguage everproducedinthe historyof computingandthis language wasbornin bell labsandsince thenithas beenabrillianthelperinthe programdevelopment for the image processingandmergingalongwiththe image stringsortingactivities. But whenwe compare andcriticallyevaluate all theselanguagesmentionedinthe above columnitis reallyeasyandsuitable touse a language like MatLabas itis usingthe more efficientfunctionalitiesand the methodsof achievingthe image stringconversionreadings.Andalsothe equationsare easierin readingandexecutingasthe language isfullydependingonthe mathematical equationsand approachessoI wouldprefertouse thislanguage forthe final stagesof my project.
  • 20. 20 | P a g e Face recognition approach We humanrecognize apersonby the face.The face playingmajorrole inrecognize apersonand showingemotions.A humancanrecognize a personbyhisface is a remarkable giftthathas.Human can recognize thousandof facesatquicklookevenaftersome yearsof separation.Thisremarkable ability despite large changeslikeaging,changesinhairstyle ect. (Mattheew A Turk and Alex Pentland,1991). Face recognitionbyacomputational wayisa huge challenge whenwe considerabove facts.Humanface keepschanging,Complex, multidimensional,meaningful andneedtorecognize innatural way. (Mattheew A Turk and Alex Pentland,1991). Face recognitioncandivide intotwomaintopics.Face recognition(Identifywhetheranew picture isa humanface or not) part and authorization(identifythe face isknownornot) is the otherhalf. Againface recognitionapproachcanmainlydivide intotwo.Geometrical ApproachandPictorial Approach In geometrical approachbasicallyconsideraboutfacial featuresandthenclassifiedonthe various of geometrical distancesandanglesbetween features.In thisapproachdoesn’thave store anypixel values and pre storeddata to face comparisonand recognition. (Dr T WindeattandGregory Tambasis,1999) The pictorial approachisa pixel based.Basicideaof thisalgorithmiscreate templates(Includingkey facial features) of imagesandcompare witheachpixel referringtocomparisonpicture.HaarandCam shiftalgorithmare examplesforpictorial approach. (KonradRzeszutek,1999) (W. ZHAO..,2003)
  • 21. 21 | P a g e Base on pictorial andgeometricapproachesif we consideraboutaccuracyand the efficient,obviously highsmarkswouldgoesto geometricapproachbecause inthismethodthe comparisonwoulddowith runningtime withitspicture database (Trainingset) andit doesn’tdependonthe qualityof the picture, Brightness,size of it.Therefore Geometricapproachwill use inthissystem. If consideraboutgeometricapproachthere are a lot of methods,algorithmsavailable.InthisresearchI am intendtofocuson three approachthat dealingwithface recognitioninpresentandstepbystep brieflydescribe eachapproach. 1) Line Edge Map 2) ElasticBunch Graph Matching 3) EigenFace RecognitionMethod
  • 22. 22 | P a g e Line Edge Map The basic of thismethodis identifyingahumanface base on linesandedges.Accordingtostudiesof psychological,itsaysthathumanbeingcanrecognize line drawingsasquicklyandalmostasaccurately as gray level picture.Line Edge Mapisa combinationof template matchingand geometrical (PCA) feature matching.Itgot advantagesfrombothalgorithmstocome up. (W.ZHAO| R.CHELLAPPA |P.J.PHOLLIPS|A.ROSENFELD,2003) Whena newface picture representation,Spatial andstructural informationof face image groupby pixelsof face edge maptoline segments.Afterthinningthe edge map,apolygonal linefittingprocessis appliedtogenerate the Line Edge Map.In thisapproach itis store onlythe endpointsof line segments on curves.Soit reducesthe memoryrequirementforoperation.Because of low leveledge map representationitislesssensitivetoilluminationchangesof aface images. (G.YONGSHENG| K.H.LEUNG,2002)
  • 23. 23 | P a g e (G.YONGSHENG| K.H.LEUNG,2002) Accordingto the researchas a firststepthe face image convertedintograyscale image.Itisbecause easyfor calculationpurpose andmainlyspace takentostore a picture islessthancolourpicture.Then the image isencodedintobinaryedge mapusingSobel edge detectionalgorithm. The core functioninthisapproachis Line SegmentHausdorff distance anduse Hausdorff distance to masure the similaritybetweentwosetof pointsintwoimages.Thismethodisnotorientedtocalculate exactlinesfromdifferentpicture butitisflexible onsize positionandorientation.
  • 24. 24 | P a g e Consideringtwofrontal imagesthathave beenconvertedtobinaryedge maps(New frontal image that needtoidentifyandthe frontal image thatalreadyinthe database) the LHD isrepresentedbyavector. (G.YONGSHENG| K.H.LEUNG,2002) (G.YONGSHENG| K.H.LEUNG,2002) Mainlyinthisfunctionitwill calculate three differentdistance,orientation,parallelandperpendicular distance respectively. In orientationdistance calculationthe functionignoressmalleranglesandpenalizesgreaterones. (G.YONGSHENG| K.H.LEUNG,2002)
  • 25. 25 | P a g e (a)Twolinestobe measured.(b) Rotate the shorterline.(c)Rotate Longline.(d) Rotate both lineshalf of theirangle differentinoppositedirection.Solidlinesrepresentlinesbefore rotation.Dashedlinesrepresentlinesafterrotation.The line witharrowsillustratesthe angle differentof twosegments. (G.YONGSHENG| K.H.LEUNG,2002) Calculationof parallel andperpendiculardistanceshowsfollowingfigure.
  • 26. 26 | P a g e Distance betweentwopointsegmentscanbe calculatedwithfollowingequation A primaryline segmentHausdroff distance (pLHD) canbe calculate as Where
  • 27. 27 | P a g e Andl m isthe lengthof segmentml th. (G.YONGSHENG| K.H.LEUNG,2002) ElasticBunch Graph In 1989 J.Buhmannhasdiscoveredhierarchicallylabeledgraphtechnique thatisrelatedtoProf.Dr. LaurenzWiskotts’ElasticBunchGraph Matching approach. Accordingto LaurenzWiskottresearchthe basicobject(Like face) representlikelabeledgraphwhich each edge are labeledwithitsdistanceinformation,nodesare labeledwithwaveletresponseslocally bundledinjets.Pre store model graphuse toproduce the new images’graph.Thisstoredgraphcan easilytranslate,scaled,orientedordeformedthroughoutthe image process. (LaurenzWiskott,Jean-Marc,1999). Asin thisresearcha bunchgraph have to stagesthat qualitativestructure asa graph (setof nodsand edges) andassignmentof correspondinglabels(Jetsanddistances).Becauseof the bunchgraphthis algorithmcanhandle pictureswithdifferentposes whenitcomestomatchingprocess. MainlyGabor Waveletextractsfacial featuresandtransformasFiducial points(Jets).Jetsare basically pixel thatrepresentingpointsonface image.Costfunctiongraphcompare withitsdatabase pictures and findlowest costgraphand itwill give the identityof face. (LaurenzWiskott,2005). Gabor WaveletsProcess The representationof facial appearance isdone byGaborwavelettransform.Itisan elasticgraphic matchingmethod. (Lsurenz Wiskott,Jean-Marc ,1999 ) Thisprocessis biologicallymotivatedconvolutionkernelsinthe shape of plane waves.Andthiswaves restrictedbya Gaussianenvelopfunctionandcarryout setof differentfrequencies.The setof
  • 28. 28 | P a g e convolutioncoefficientforkernelsof differentorientationsandafrequencyatone image pixel iscalled a jet. (Wiskott. L and Fellous C. 1997)(Lsurenz Wiskott,Jean-Marc ,1999 ) Facial Bunch Graph Accordingto researchforeach face there are setof Fiducial pointssuchasmouth,tipof the nose.These are the majorpointthat use to store in the database insteadof picture inthisapproach.Anypicture can store as a fiducial point.Inbottomlinethisapproachmakesthe comparisonbase onfiducial point.Each face has N nodesandtheyare labeledgraph(G) representingaface consistsof N nodesonthese fiducial points. To representageneral face shouldcoverabroadcollectionof possible variationwhenitcomestofind fiducial pointsinnewface.Asanexamplesdifferenttypesof mouth,nose,eyes,male andfemale ect. For eachfiducial pointthere are some differentvaluessoforthateach model hasthe same grid structure and the nodesrefertoidentical fiducial points.A setof jetsreferringtoone fiducial pointcall Bunch.
  • 29. 29 | P a g e Find approximate face position First step need to condense down the Facial Bunch Graph. This can be done by taking the average degree of the jets in each branch. Then evaluate each point with it refers. Refine Position and size If the Facial Bunch graph use without condense down the second step (Refine Position and size) will checkthe fourdifferentpositionpixelsdisplacedfromthe position found in step 1(). And each position checktwo differentsizeswhichhave same centre positionafactorof 1.18 smallerorlargerthan the FBG average size. Each of these eight variations is the best appropriate jet for each node is selected. Then displacement estimation will be according to displacement (Lsurenz Wiskott,Jean-Marc ,1999) Refine size and find aspect ratio Similer to previous step but relaxing the x and y dimension independently.plus the focus is increased successively. (Lsurenz Wiskott,Jean-Marc ,1999)
  • 30. 30 | P a g e Local distortion Accordingto pseudorandomsequence algorithmthe positionof eachindividual image nodeis varied to future increase the similarity to facial bunch graph. Then the metric similarity reflect on for which the estimated displacement. Because on that position are consider the vector is small. The output image graph will store as individual face of image (Lsurenz Wiskott,Jean-Marc ,1999)
  • 31. 31 | P a g e Eigen Face Eigenface approach isconsideredtobe the firstreal successful demonstrationof automatedhuman face recognition.ThisisdevelopedbySirovichandKirbyin1987 and used byMatthew Turkand Alex Petnlandinface recognition. The Eigenface approachis classified underthe appearance basedmethodsof face recognitionasthe whole face regionisusedasthe raw inputto the systeminorderto create a low dimensional representationof face imagestoperformrecognition.The low dimensional representationisderived by the ‘Principle componentanalysis’(PCA) usingadatasetof facial images. Here the principle componentsof the datasetof imagesor inothertermseigenvectorsof the covariantmatrix of the datasetof imagesisfoundconsideringanimage asa vector in a veryhighdimensionalspace. Eigenvectorscanbe understoodasa setof featuresthatcharacterize the variationsbetweenfacial images.Itshouldhoweverbe notedthateigenvectorsdonotnecessarilycorrespondtospecificfacial features suchas nose or mouthbut capture the meaningful variationsbetweenthe imagesof the datasetwhichallowsthe imagestobe differentiated.Each Eigenface deviatesfromthe low dimensional representationorthe uniformgraythusthe imagescanbe classifiedwithin the uniformgrayusingthe nearestneighbourclassifier. (ChinT. & SuterD. , 2004)
  • 32. 32 | P a g e Accordingto Turk & Pentlandthe approachinvolvesthe followinginitialisationoperations. 1. Acquiringthe trainingset 2. Calculate the Eigenfaces fromthe trainingset.Onlythe Mimagesthatcorrespondtothe highest Eigenvalues shouldbe retained.The face space isdefinedbythese Mimages. 3. The correspondingdistributionof M Eigenface-weightsiscalculatedforeachindividual imageof the trainingsetbyprojectingthe face image tothe face space. Afterthe initialisationoperationsthe followingstepsare usedtorecognise new face images. 1. A setof weightsbasedonthe inputimage iscalculatedbyprojectingthe inputimage ontoeachof Eigenfaces. 2. The inputimage isdeterminedif itisa face at all bycheckingif the image issufficientlyclose tothe face space.This isdone bycomparingthe distance betweenthe inputimage andthe face space toan arbitrarydistance threshold. 3. If it issufficientlyclose toaface, classifythe weightpatteraseitheraknownor unknownface.A secondarbitrarythresholdisputinplace here to checkwhetherthe inputimage correspondtoanyof the trainingset. 4. (Optional) The systemcanbe retainedorallowedtoincorporate anunknownimage tothe system shouldthe unknownimage isseenseveral times.
  • 33. 33 | P a g e Start Original Faces Training Set Input Unknown Image (X) E= Eignfaces (Training set) W= Weights (E, Training Set) Wx = Weight (E,X) D= Avg( Distance( W,Wx) D < ө X is Face X is Not a face Store X and Wx End Yes No Algorithm of Eigenfaces (Mattheew A Turk and Alex P. Pentland, 1991) CalculatingEigenfaces A face image,I(x,y), isatwodimensional N byN matrix of intensityvalues,whichare usuallyquantized to 8-bitvalues.EachX and Y pairdenotedapositioninthe image.Forthe purpose of expositionthe matrix of intensityvalue isrepresentedbyavector.Therefore insteadof matrix of dimensionof N byN, a vector dimensionof N2 isused. (ChinT. & SuterD. , 2004) Determinationof the meanvector Imagesinthe trainingset(T1,T2.......TM) Ti is a vectorof N2 dimension M= numberof imagesinthe trainingset.
  • 34. 34 | P a g e = 1 M ∑ Ti M n=1 (1) Aftercalculatingthe meanvectorthe deviationof eachimage fromthe meanisto be calculated. Be i  l the average deviation of each image (Matthew A Turk and Alex P. Pentland,1991).. i i      i  = difference ψ=average value off set i  =image value This set of vectors is then subjected to the principal component analysis, which seeks a set of M orthonormal vector k u . It,( k u ), is described as the distribution of data. Eigen values and eigenvectors can be described according to the formula below which shows k u and k  as eigenvalues and eigenvectors corresponded by the covariance matrix (Mattheew A Turk and Alex P. Pentland,1991).
  • 35. 35 | P a g e 2 1 1 ( ) m T k k n i U M      k  = Eigenvectors k u = Eigenvalues M= orthonormal vector i  = difference Usingthe covariance matrix the Eigenvalues andeigenvectorsof givenimage setcanthenbe calculated. Be C the covariance matrix and i  the difference, have tobe multipliedwith the inverse of the difference T i  (MatthewA Turkand Alex P.Pentland,1991). 1 1 m T T i i i C AA M       C=covariance Matrix i  =difference T i  =transpose of difference 1, 2, , [ ......, ] M A     Collectionof differences
  • 36. 36 | P a g e Given the matrix 1, 2, , [ ......, ] M A     and if image containing N x N image space, eigenvalues and eigenvectors have to be extracted using C covariance matrix .Be the eigenvalues and eigenvectors 2 2 N N  and M the image space ,the dimensionof space shouldbe lessthan that 2 ( ) M N  . Therefore inorder to calculate T AA usingliniercombinationof face images i  , considerthe eigenvectors T A A be i v the eigenvector of T A A. (Mattheew A Turk and Alex P. Pentland,1991), T i i i A Av v   T A A And i v = Eigenvectors i  = Eiganvalue Multiplying by A; ( ) T i i i T i i i A A Av v AA Av Av      The covariance matrix eigenvectorscanbe identifiedusingthe calculationsbelow.Usingthe given (MxM) matrix can be convertedto T L A A  , which wouldgive Meigenvectors.The leaner combinationof the Mimagesof the trainingsetcan thenbe determinedfromits Eigenfaces. (Mattheew A Turk and Alex P.Pentland,1991).
  • 37. 37 | P a g e 1 m l lk k k U v     l U = Eigenfaces 1.... l M  k=image number m= count of set The calculationsare reduced to bare minimum with this analysis, from the order of the pixels count in the images ( 2 N ) to the order of the number of images in the training set (M).The training set of face images will be comparatively small in practice ( 2 N M  ), and thus the calculations more convinient .the eigenvectors can be ranked using the associated eigenvalues based on their usefulness in characterizing the variation among the images (Mattheew A Turk and Alex P. Pentland,1991).
  • 38. 38 | P a g e Outline of the typical face Verify system Enter Image Preprocessing Feature Extract Training Set Face Database Verify Face Normalize Face Feature Vector Classify Or not Match Face Matching Or not Outline of the typical face recognition system (Stan. Z, Anil. J, 2004)
  • 39. 39 | P a g e Similar Systems Analysis The face recognition has become a vital aspect in the software development as it has done so many wandersinthe recognitionaspectinthe securityfield.There ismuchsoftware developedinthe industry to recognize the facial appearance of the individuals. Image processing is a rapid growing field in present, face recognition is a part of it. Basically face recognition system which using to implement security system. In bottom line face recognition can identify a person by his or her biometric characteristic.Torecognize a personbyface thissystemsusingasequence of image of single image and processitand compare it withinbuiltdatabase.Finallyif there isamatchingimage itwouldgive positive output.The bioID metrics face detectionsystemwhichwill be asimilarsystemtothe proposedone will be an ideal solution to be dealt with to analysis of a similar system. Figure 1 Bio ID version 3.1 interface (Humans can AG, 2006). This is a SDK developed in terms of identifying the higher volume of human factors such as the voice recognition in which the person is capable of narrating his or her name for higher security purposes, then the lip movement checking and detection along with the eye test which is required for highly demandingsecuritysystems which are not certainly required for attendance record systems that have been presented in the proposed solution. Attendance managementsystemspresentedonline isanotherperfectsystemthat can be matched with the rest of the application requirements of the proposed system. Further when it comes to this
  • 40. 40 | P a g e applicationthe architecture of thisapplicationis similar to the developed application in this individual assignment. Figure 2: Attendance markingsystem(IndianPolyOne,2004). This system will be fetching the image details from the camera set in the position and using the face recognition mechanism in the personal computer the data will be compared to the data fetched from the destineddatabase.FirstIwouldliketotake Line Edge Map and this is simply using the lines, curves and the edgesof the face of human and depending on the edges it will be able to decide the required face and the lines will be helping the system to make the right kind of recognition as the lines will be converting their patterns depending on the person. Then it is certain that the lines are really unique from one person to another. Secure dent2003 isanothergoodsoftware solution to detect the human facial expressions in terms of maintains the security of the locations.
  • 41. 41 | P a g e Figure 3: User Interface of SecureIDent (Crypto Metrics, 2000). Thissoftware isdesignedwithalotof featuresandamong them the ability to manage the facial details of the system plays a huge role. Further the management of the facial recognition feature in any environmental condition makes the system more reliable and safer to be used in event the extreme conditions. Then the system is also capable of capturing the human faces with the ability to zoom the images when it is required if the user in the capturing area of the system. Face recognitioncontrollerinthissystemmakesthe usertoachieve the database manipulation process inthe systemsuchas managingthe userprofiles,fetching data of the stored users in to the view of the system administrator and developing the new tables if it is required. The similarsystemshave beenobservedintermsof findingagoodqualitytobe inputinto the findingof the developedsoftwareapplicationandfurtherthe systemis capable of managing the face recognition in different environments. Then the Elastic Bunch Graph Matching is getting the random number of inputs from the system and then converts them into a string and the string information will be kept in an array of bio data so it is importantkeep track of the images in the forms of the human faces and then split them to go into the core of the information presented by those images and depending on the information and the unwanted space the algorithms will be used to recognized the relevant subject related to the face. Finally Eigen Face Recognition Method and it has got more advantages over this system as the Eigen face recognitionsystemmakesthe abilitytobe broadeneduptill the fullface.Thenitallowsthe full face to be scanned and then it makes the accuracy of the data and the pre-processing and merging
  • 42. 42 | P a g e techniques used by this technology makes it more suitable so I would like to select this technology to the processing of the project.
  • 43. 43 | P a g e Justification for Eigen-face Thisis the mostimportantpart for the projectif the image mergingsoftware andthatwill be todevelop a systemto meetthe demandsandthe ultimate requestsof the students,friendsandfamilymembers can be recognizedbythisina simple manner.Eventhenthereare waysof approachesthatwe have aheadof usand I am usingthree waysto make a final decisionpriortoexecutingthe development processof the systemthatI have alreadyproposedinthe documentation. FirstI wouldlike totake Line Edge Map andthisis simplyusingthe lines,curvesandthe edgesof the face of humanand dependingonthe edgesitwill be able todecide the requiredface andthe lineswill be helpingthe systemtomake the rightkindof recognitionasthe lineswill be convertingtheirpatterns dependingonthe person.Thenitiscertainthatthe linesare reallyunique fromone persontoanother. Thenthe Elastic BunchGraph Matching isgettingthe randomnumberof inputsfromthe systemand thenconvertsthemintoa stringand the stringinformation willbe keptinanarray of biodata so itis importantkeeptrackof the imagesinthe formsof the human facesand thensplitthemtogo intothe core of the informationpresentedbythose imagesanddependingonthe informationandthe unwantedspace the algorithmswillbe usedtorecognizedthe relevantsubject relatedtothe face. FinallyEigenFace RecognitionMethodandithas gotmore advantagesoverthissystemasthe Eigen face recognitionsystemmakesthe abilitytobe broadeneduptill the fullface.Thenitallowsthe full face to be scannedand thenitmakesthe accuracy of the data andthe pre-processingandmerging techniquesusedbythistechnologymakesitmore suitable soIwouldlike toselectthistechnologyto the processingof the project
  • 44. 44 | P a g e Design phase of the system The systemdesignplaysanimportantfactorinthe systemdevelopment life cycle and when it comes to the designing aspect of the systems the logical design and the physical design are the main areas that are discussedinthe software developmentmanagement process. Further the concept of the designing can be elaborated in to major categories that are described in the below passage and they will be described and elaborated fully in the below section as well. The backbone of the design process is depicted in the below figure.
  • 45. 45 | P a g e Open Camera Preview Capture Frontal Image Pre Process Image Identify Face Load Face Database Matching Face Update Face Database Capture Colleague Input Update Start Time Update Finish Time Error Not a valid image Error Not a Valid Face If image is a face If image is not a face If frontal image in database If frontal image is not in the database Input = Shift start Input = shift finish End Start
  • 46. 46 | P a g e First of all the system will capture a frontal image and pass it to the preprocess. After going through preprocess the capture image would come up with balance brightness and contrast. The next step is identifyingthe capturedfrontal image. If the systemfails toidentifywhether is it a human face it would show a message box and display error message include is not a face message. Then it will come to matchingprocess.The systemwill loadthe face database and it will go through each face and calculate minimum distance and finding the matching image with pre given values. If it is fails to match would showa message andletuserknowthat it can not matchthe given frontal picture with its database. If it findthe correct image fromitsdatabase and a dialog box popup and the systempromptuserto answer a question about the information correct or not. If it is yes the system will update the latest frontal image withitsdatabase to improve itsaccuracy.By updatingidentifyfrontal image up to date will gives a maximumoutcome from thissystem. Finallythe enteredusercan selectetherloginorlogoutdepend on his status. And then the system will update the time table with colleague number.
  • 47. 47 | P a g e Face Recognition And Time Management System Colleague System Admin Staff Admin Login Confirmation Login Confirmation Login Confirmation Frontal Image / Login Details Login Information Login Information Edit User Edit Confirmation Colleague Details Request Send Colleague Details Option Selection Details Selection Confirmation Context Diagram
  • 48. 48 | P a g e
  • 49. 49 | P a g e Image Pre Process Identify Face Process Colleague Authorizing Process Selecting Choice Process Calculate Eigen Face Process Capturing Frontal Image Process Matching Face Process Colleague Calculating Time Process Login Process View Colleague Process Edit User Process Staff Admin System Admin Frontal Database Colleague Clocking Database Frontal Image Details Login Confirmation Capture Image Details Process Image Details Eigen Face Details Identify Face Details User Identification Details Retrieve frontal Image User Details(ID number) Selection Confirmation Option Select Details Selection Details Update Details Update Colleague Details Retrieve Clocking details Retrieve Colleague Details Update Frontal Database Login Confirmation Login Details Login Details Edit User Details Edit Confirmation Colleague Details Request Clocking Details Level 00 Diagram Accessi ng Details
  • 50. 50 | P a g e Thisdiagramwill gives basicideaabouthow the systemdeal withouterentityanditsinnerprocess.
  • 51. 51 | P a g e Display Error Message Remove noise Crop Image Capture image from camera Convert image to gray scale Brightness Increase Pre Process Image Balance contrast and brightness Brightness decrees Start End If image not load [If level < 20] [If level > 35 ] Image load Crop image 120* 80 pixel , Format *.JPG Using RBG2GRAY Using MEDFILT2 filter Using IMADJUST filter
  • 52. 52 | P a g e Pre ProcessImage In the above diagramfirstof all it takesa picture fromthe webcam, the systemcheckswhetheritis image or not.If itis an image itwill processtothe nextstage if it isnot itwill displayanerrormessage and endsthe process.The nextstage iscroppingthe image,itwill converttograyscale,noise removal, Contrastand Brightnessbalancingandif the brightnesslevelislessthan35 brightnesswouldbe increase and if the brightnesslevel more than 20, brightnesswouldbe decrease.
  • 53. 53 | P a g e Load Add Colleague Capture Frontal Image Load Image ID Open Camera View Load captured Image Error Message Fill Colleague Details Close Camera Preview Successful Save Information Error Invalid Image Start End If information saved If information not saved If image not captured
  • 54. 54 | P a g e Add Colleague tothe system Above diagramshowshow the systemperformwhenaddinganew colleaguetothe system. Firstof all thisprocesscapture three frontal imagesandthenitwill checkwethere itcanread images. If it fails,the systemwouldthrowamessage andletthe userknow that it can not read images.If itis passthrough that stepthenadminhave to fill the detailsandclickthe save button.If the data save successfullythen the systemwouldletuserknowthatthe data savedand itssuccess. If not the systemwouldthroughan error message. If itssuccess thensystemwillcounthow manypicturesavailableincurrentdatabase and add newpicture byincrementcounterbyone.
  • 55. 55 | P a g e Load Delete Colleague form Delete process Update Colleague database Navigate Colleague records No records Select Colleague If counter -- 0 If counter > 0 Start End Delete Colleague In thisprocessfirstthe detailswillloadfromsystemdatabase andthe deletionwill onlyaffecttoSQL database.Afterselectthe userthroughnavigationadmincanselecteditbuttonandthatwill allow adminto editselecteduserdetails.Aftersuccessfullyfinishanupdate the systemwillletuserknowthat the operation successful. Otherwiseitwouldthrow anerrormessage
  • 56. 56 | P a g e Form Design Main Form Admin Company Logo Colleague Basicallythisisthe mainformwhenthe systeminrunningmood. There are twobuttonon thisform and for adminlogin,needtoselectadminbuttonelse selectcolleague buttonandwillleadtocolleaguelog inform.Companylogowill appearintopleftcorner.
  • 57. 57 | P a g e Colleague Loginform Company Logo Web Cam Preview Box Start Captured Frontal Picture Above formgotstart buttonand two image preview boxes.Camerapreview wouldshow incampreview box if the camerais inworkingorder.Companylogowill be there intopleftcorner.Whencolleague clickstart buttoncapturedimage will comestorighthand side image box.If the systemwouldable to identifythe capturedimage isafrontal image of a humanthennextformwouldloadandthisformwill close.Else itwouldclose itselfandmainformwill loadup.
  • 58. 58 | P a g e Colleague Selectionform Company Logo Capture Picture Login Name Colleague ID Log out Back Thisform wouldshowswhenacolleague wassuccessfullylogintothe system. There are three buttons on thisformand one picturesbox thatwouldshowsselectedcolleague andhisname andcolleague number.Accordingtocolleague statusthe buttonsvisibilitymayvary.If he is notlog inyetthe onlylog inbuttonwill shows.Else logoutbuttonwill show onthe form.Thiswouldhelptopreventthe user mistake andhelptomaintainsuccessful system.Clickonbackbuttonwill allow togoback tomain form
  • 59. 59 | P a g e Admin/StaffLogin Form Company Logo User Name Password Log In Cancel AdminLoginform has twobuttonsand loginbuttonwill allowusertoenteretherasa staff or admin dependonthe userprivilege.Clickoncancel buttonwill leadtomainform.
  • 60. 60 | P a g e Change Password Form Company Logo Password Repeat Password Change Back Thisform will allowchangingpassword.Simplyenteringnew passwordandrepeatitonnexttextbox and clickon change and the systemwill update passwordrow withnew password.Providingdifferent passwordwouldnotallowchangingthe passwordof currentloginuser.Clickon back buttonleadto mainform as usual.
  • 61. 61 | P a g e Edit Colleague Form Company Logo Name Colleague Number DOB First Previous Next Last Edit Save Delete Back Above formwill allow adminusertoeditcolleague informationsimplyclickoneditbutton.Admincan navigate throughrecordbyclick onnextand previousbutton.Afterdone edithave tosave.Clickonback buttonwill goback to mainform.
  • 62. 62 | P a g e Staff ViewForm Company Logo Data Grid View for selected colleague ComboBox Name List View Change Password Back Thisform showsonlyforstaff login.Staff admincan view eachcolleague loginandlogout information by selectingcolleague name oncombobox andthenclickon view button. Andthe all loginand logout detailswill fill uptodatagrid viewspace.Inthisformthere are anothertwo buttonsthatstaff admin may use. To change passwordof currentuser needtoclickchange passwordbuttonand backbuttonwill leadto mainformas usual.
  • 63. 63 | P a g e AdminPanel Form Company Logo Add Colleague Edit Colleague Change Password Back Thisis the mainadminformwhenadminloginto the system.Thisformcontainthree mainbuttonand back buttonas usual.Addcolleague buttonwill leadtoaddingformandeditcolleaguewillleadtoedit form.If adminneedtochange hisor her password,needtoclickonchange passwordbuttonand itwill leadto change passwordform.
  • 64. 64 | P a g e Add Colleague Form Company Logo Frontal Picture Preview First Picture Second Picture Third picture Capture First Capture Second Capture Third Name Add New Save Back DOB Addcolleague formwill showswhenadminclickonaddcolleague buttoninpreviousform.Inthisform there are four picture boxesandsix button.eachbuttonsgotitsown joband byclickingaddnew button the three capturesbuttonand save buttonwill came tovisible.Byclickonsave buttonthe new record wouldinserttocolleague table insystemdatabase andnew three pictureswill uploadtothe three frontal databases.
  • 65. 65 | P a g e Design Outcomes The system will be designed using the major aspects in the designing processes. Further the logical design will be done using the graphical representation of the drafts and the diagrams in the process management environment and the rest of the tools will also be used to develop the graphical representationof the requirements in the field of designing approach. Further the designing aspect of the system. Whenthe physical designingisconsideredin the development and implementation processes and the stagesof the application development environment the prototyping kind of approaches were used to manipulate the physical designaspectof the developedsystem and that always helps the developer to geta betterideaof the systematicprogressandalsothe manipulationof the designingprotocolsaswell. The system architecture diagrams are used to show and elaborate the systematic graphical designing and managementprocessandthe sequential execution of the graphical interfaces are also depicted in thisapproach.The designingprocessof the applicationwill include the designing aspects mentioned in the below description;  Functional Requirements  Non functional  Systems Architecture  Modules in the system designing process  User interface design
  • 66. 66 | P a g e Functional requirements: The functional requirementsare there tomanage the functional managementprocesses.The functional requirements are there to manage the scope of the project. The functional requirements of the application can be different from one system to another event then the functional requirements that have mentioned in the documentation can be described as below; The user addition: Thisis the mostprimaryoptionavailable inthissystemandusingthe useraddition option the system is capable of managingthe usersand the new userswill be addedintothe systemwiththe login option of the adminprioritytype assignedusersandtheyare capable of taking the control over the system while they add the users and the faces of the users will be captured and then the captured faces will be includedinthe systemdatabase whichthe SQLserver express 2005 and using the user details the basic details will be updated in to the system while the relevant tag numbers of the captured images are takeninto the database while storing those images in a virtual database which is been done using the folder manipulation of the windows operating system. The admin options management: In thiszone of the database the user editing option and the deletion option are two major concerns as the user details are immune to be changed and the deletion option will be erasing the data from the database and the restof the image details will not be deleted by the system and when it comes to the admin login the admin login is the highest priority level of the system users. The staff option management: In thisoptionthe staff people canloginto the systemusingthe adminoptionandeventhenthe system iscapable of managing the user details such as the colleague details report views and in this approach the system will be allowing the staff person to log in to the system and view the summery of the
  • 67. 67 | P a g e colleague detailsorelse the detailsrelatedtoanindividual colleague will be checkedwiththe numberof hours per given time. Login in to the system: This is one of the key options available for the system to be used for the future manipulation and the systemwill be havingtwoflavorsof loginasthe formsof the admin or the colleague. The admin option will be havingthe facilitytoenterthe logindetailsinamanual wayand loginto the highpriorityzone of the system which is having the user addition. Then the colleague login will be asking the user to get a snapshot of the user for the moment and it will be compared with the data available in the folders by matchingthe imagesandthe face recognitiontestrunsinthree folder options that make the reliability of the system more solid. Then if the login is correct the latest login image will be added in to the database. Match the faces: This will be done using the Eagan face algorithm and this algorithm is simply dealt with the C# programminglanguage togive agood outputand the stringsof the convertedimage fileswill be sent in to the algorithmwhichwill be processingthe image with the rest of the images that are already stored inthe database foldersandthenif the matchis founda positive flag will be sent and this is done thrice to boost the accuracy of the system as a wrong face detection might cause a huge mess in the attendance management process in a company. Grayscale image: The image will have to be turned in to gray as the noise has to be removed from the images after the grayscale hasbeendone to the imagesotherwiseitwouldbe hardtoeradicate the noise fromthe image and this will result in a mismatch of the faces. Edit delete options:
  • 68. 68 | P a g e In thissectorof the database the usereditingoptionandthe deletionoption are two major concerns as the user details are immune to be changed and the deletion option will be erasing the data from the database and the restof the image details will not be deleted by the system and when it comes to the admin login the admin login is the highest priority level of the system users. The database management: The database management in this face recognition application will be done using two methods which are unique toeachother.Theycan be respectivelymentionedas the MS SQL Server 2005 Express which isone of the bestdatabase solutionsthatare usedinthe current application integrationdomainanditis consideredasone of the bestsolutionsto keep dynamic data as the development management studio allowsthe database manipulationforthe perfection.Thenwhenitcomestothe systemthe main aspect isthe storage of the images and it is done in a different way. The fact is due to the sever management environmentthatisexpectedto be used in the application using environment. The application will be storingthe imagesinthe folderthatare dividedintothree majorfolderswhichcontain different angled imagesof the userswhichwill be making the face recognition process more dynamic and accurate due to the dynamicanglesof an image available forthe algorithmstobe used to detect the right kind of the face match. This storage was used by the earlier times when the software development was in the primitive erawhenwe didnothave the advanceddatabase solutions. The flow of the processes can be elaborate in the below image.
  • 69. 69 | P a g e Start Main Selection Form Choice Login Form Colleague Form Confirm Colleague Colleague Selection Form Choice Admin Form Staff Form Admin selection Colleague Selection Is a face and Is a valid colleague If not If yes Capture Frontal Image Result of the confirmation Admin or staff login details If login detail = admin If login detail = staff Update time table and show main form
  • 70. 70 | P a g e Non functional requirements The non functional requirementscanbe definedas a set of requirements that are not directly involved around the scope of the system. Further when it comes to the non functional requirements the fundamental istokeeptheminthe scope to deliverameaningful project and there several factors that decide the non functional features of a system. These requirements are basically designed to manage the systemexposure more flexible tomeetthe overall system requirement specification mapping. The major aspects in the non functional requirements can be categorized into the stages as below; Usability: The usability factor is one of the most important factors that has to be considered in terms of getting the user involvement in a positive manner the system has to be able to be utilized and used by the colleaguesandthe staff people along with the administration people so that the system has to have a broaderpositive approachinthe usabilitymanagement field as it will be managing and controlling the usabilityfactorslike effectiveness,efficiency and satisfaction. The effectiveness can be achieved if the system is generating the right kind of accurate data with which the attendance process of the supermarketcanbe managed in a perfect way. Further when it comes to the efficiency the user has to be give the optionof waitingforsome time butthe response timesdecidesthe perfectionof the system and evenif the image processingisacomplex andsophisticatedtaskthe usabilityfactorof the efficiency will be managing the likeness of the users in to the system as the system response time has to be quicker than the manual attendance management time. Then the satisfaction has to be on top as the super markets carry on the researches among the employees as it requires information about the services and the features that are available for them to manage the day to day work in the working process.Sothat the satisfactionof the systemwill guaranteeaperfectposition for the software artifact that has been developed by me.
  • 71. 71 | P a g e Maintainability: Thisis anotherimportantfactorwhenitcomesto the software development and the software that has been developed is not a prototype so it will be used and manipulated by the employees in the super marketthenthe maintainabilityfactorcomesintothe act whenthe system is requiring the developers to add more functionalitiesand the accidental system failures might cause the system to lose the data and the way of management process has to be functioned in proper way that will be helping the developersinthe future to maintain the software for the perfection in the future and the main idea is that the systemneedstobe developednotbyconsideringthe requirements of today and the long term horizon has t be observed and then the future back up and fault backs plans will have to be prepared
  • 72. 72 | P a g e Systemarchitecture The system architecture of the system will be managing the system requirements with the implementation of the application, central module management and then the usage of the databases comes in to the act. The system architecture will be developed using the programming language developmentenvironmentandthe VB.Net environment will be integrated with the modules that have been designed using the VB.Net development environment and then the modules will hold the data whichare the variableswhichactlike the global variablesandthe modulesare somewhat similar to the classes as well. Then the system is capable of managing the database from the other end and the database will be residedinanotherareawhichisconnectedtothe developmentenvironment using the SQL querylanguagesandthe querylanguage makesthe thingmore flexible as it is possible to integrate the SQL language with the C# programming language and the system architecture will be elaborated further by the implementation of the following design. The architecture will be elaboratingthe locationandthe localizationof the database andthe application developmentenvironmentalongwiththe modules.The modulesplayvital role in this approach as they are capable of managingthe universal variableswhichmightgetdifferedfromthe database connections to the cookie management. The system architecture is depicted in the below image;
  • 73. 73 | P a g e Capture Frontal Image Convert Grayscale Adjust Contrast Crop Image Remove Noise Pre Processing Image Image Captuing Compare With Threshold Value and Binary Value Calculate Binary Value Calculate Different from Dataset average value Verify Face or not Reshape Image 2D to 1D Verify Face Process Output matching image number and update database Calculate Euclidean Distances Projectile Image Compare nearest Euclidean distance Calculate different with each face Calculate Average mean value Load it to covariance Matrix Calculate Eigen vectors and Eigen Values Reshape Traning Set Image Load Training Set Calculate Eigen Faces Eigen Face Core Matching Image Process Load Database Verify Colleague Details Capture Colleague Selection Send Colleague Selection Update Database with start time Update database with finish Time Authorizing Process Selection Process Calculating Time Process
  • 74. 74 | P a g e Modules inthe systemdesigning processes The module is the basic option for the VB development environment and the modules are capable of holdingthe datainthe formof the global variablesandthe database connections can also be located in the modules.The architecture will be elaborating the location and the localization of the database and the applicationdevelopment environment along with the modules. The modules play vital role in this approach as they are capable of managing the universal variables which might get differed from the database connectionstothe cookie management. The management of the modules is the class kind of objects that are being inherited in to the VB development environment. Further the modules can be usedto manage the data inthe reusable mannerandthe modulesthemselvescanbe assignedusingthe objectsof the classesandthenthe objectswill be usedtoaccess the variables and in each situation the objects will refer to a different instance.
  • 75. 75 | P a g e User Interface Design Thisis the mostimportantthinginthis approach and the systemiscapable of managinguserinteraction for the perfection and the interfaces have to be defined and developed in terms of maintaining the usabilityandthe likenessfactorsof the system.Thisisone of the major aspects in the system designing as thisis notan expertsystemandthe systemwill be usedbydifferentpeople indifferentpriorities and the admin,staff and the employees will be using the system to manage and enter the details in to the system. The user interface is designed with the idea of making the things simple for the users as they are expectedtobe comingfromvariousvarieties of the diversities. And the interface design is done using the VB language andthishas allowedme tograbthe iconsand the components. The inbuiltcomponents in the VB language are allowing the control components, layout management and integration components in the .NET environment. The structure of the interfaces will be having the login option which will be the first view for any user and itwill be executedfirst and then the first view of the application will be the login process and this will be inthe maximummode onthe screenwhichwill be isolatingthe system from the external views. Further the next view depends on the selection. The colleague and the admin has to be selected and dependingonthe selectionprocessthe systemwill be takingthe userto the admin login and the admin loginwill justrequirethe usertoenterthe useridand the passwordmanuallyintothe system.Thenthe systemwill be searchingthe SQLdatabase andif the selectionisavailable the login would be successful and the nextinterface of the optionwill be viewedanddependingonthe useridthe userwill be capable of gettingintoeitherthe staff vieworthe adminview andinthe staff view the option of using the data gridviewisavailable while inthe adminview the adminoptionslike editusers,addusersandthe delete usersoptionsare available.Inthiszone of the database the usereditingoption and the deletion option are two major concerns as the user details are immune to be changed and the deletion option will be erasingthe data fromthe database and the rest of the image details will not be deleted by the system and whenitcomesto the admin login the admin login is the highest priority level of the system users. The next option is the colleague option and in this approach the system is capable of managing the systemcameraoptionandthe camerawill be gettingthe capturedimagesandthe captured images will be gatheredandif the image matchingisfoundthe systemwill be takingthe userinto the next stage of
  • 76. 76 | P a g e confirmingthe logindetailswhichwill be addingthe starttime orthe endtime into the systemand then the systemwill be updatingthe time table inthe database.Furtherthe interface will thentake userback in to the main interface which is one of the key features in the database.
  • 77. 77 | P a g e Implementation The implementation will be done using the VB programming language and this is one of the key advantagesforthe system.Furtherthe implementationprocessincludesaddingthe interfaces together with the modules. The integration process of the database with the application will also be another aspect of this approach. The structure of the interfaces will be having the login option which will be the first view for any user and itwill be executedfirst and then the first view of the application will be the login process and this will be inthe maximummode onthe screenwhichwill be isolatingthe system from the external views. Further the next view depends on the selection. The colleague and the admin has to be selected and dependingonthe selectionprocessthe systemwill be takingthe userto the admin login and the admin loginwill justrequirethe usertoenterthe useridand the passwordmanuallyintothe system.Thenthe systemwill be searchingthe SQLdatabase andif the selectionisavailable the login would be successful and the nextinterface of the optionwill be viewedanddependingonthe useridthe userwill be capable of gettingintoeitherthe staff vieworthe adminview andinthe staff view the option of using the data gridviewisavailable while inthe adminview the adminoptionslike editusers,addusersandthe delete usersoptionsare available.Inthiszone of the database the usereditingoption and the deletion option are two major concerns as the user details are immune to be changed and the deletion option will be erasingthe data fromthe database and the rest of the image details will not be deleted by the system and whenitcomesto the admin login the admin login is the highest priority level of the system users. The implementationof the developmentwill be done usingthe VB.NETdevelopment environment, SQL Database managementsystem. The management process of the implementation will have to be gone through the testing process which will be introduced under the testing phase of the development protocol. The camera view will be taken in to the system by using the below code;
  • 78. 78 | P a g e Capture image The capturing option of the images using the camera in the VB.NET is done using the user32.dll file and calling that function will result in getting the input stream of the cemra and previewing it. The open preview and close preview functions are there to open and close the camera connection respectively. Crop and save image Microsoft windows module Avicap32.dll is used to capture video AVI format based movies using the web cameras. The crop image function will be cropping the images into the required sizes. The cropped images will then be saved with the *.JPG extension. The create directory function will be saving the image in a folder directory. Dim SrcRect As New Rectangle(StartPoint.X, StartPoint.Y, NewSize.Width, NewSize.Height) Dim DestRect As New Rectangle(0, 0, NewSize.Width, NewSize.Height) Dim DestBmp As New Bitmap(NewSize.Width, NewSize.Height, Imaging.PixelFormat.Format32bppArgb) Dim g As Graphics = Graphics.FromImage(DestBmp) g.DrawImage(SrcBmp, DestRect, SrcRect, GraphicsUnit.Pixel) Return DestBmp data = Clipboard.GetDataObject() If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image) picR.Image = bmap bmap = picR.Image ClosePreviewWindow2() val2 = "C:FDFBASFaceDB" + txt.Text + ".jpg" bmap.Save(val2, Imaging.ImageFormat.Jpeg)
  • 79. 79 | P a g e Read Image and Grayscale Image The image reading process is done using the Mat lab codings. Imread function in mat lab will be reading the image and the output will come through the vb.net environment. Using the image path the following RGB value output will be saved and then it will be converted into to grayscale. This will be eliminating hue while the laminate colors will be kept as they are. Remove Noise from Image Using the medfilt2 function the images will be processed in to the noiseless from which is the suitable situation for the face recognition. Further the function will be capable of filtering the noise without reducing the original data in the image. Brightness/Contrast balance Image if (minv< 25) CBblc=imadjust(medFilt,[.001.8 ],[]); elseif (minv>36) CBblc=imadjust(medFilt,[.21 ],[]); else CBblc=imadjust(medFilt,[.011 ],[]); medFilt=medfilt2(gray,[71]); inImg= imread(img); gray = rgb2gray(inImg);
  • 80. 80 | P a g e Imadjust function is being developed to maintain the challenges that even after eliminating the noise from the image. Further this will be using the environmental colors and brightness will be adjusted using the functionality to manage the color control of the image Save the Image In write function will be simply saving the image in a destined location. Outcome of Capture image and pre process This has resulted in going through the heavy weight processes like cropping image according to the requirement of the size, read the image, load the image into the matrix and then noise removal along with the balancing of colors make the system solid. Calculate Eigenfaces Load FaceDB and reshape image fooneD= []; for img_no= 1 : SizeOfSet path= int2str(img_no); path = strcat('',path,'.jpg'); path = strcat(FaceDB,path) img= imread(path); [irowicol] = size(img); temp= reshape(img',irow*icol,1); oneD= [oneDtemp]; end preIm=strcat('C:FDFBASVerifypre.jpg'); imwrite(medFilt,preIm);
  • 81. 81 | P a g e This will be the key for the loading of the face database which is developed using few folders and using them the system is capable of managing the paths and the loading option will be loading the strings of images into the image two dimensional vector arrays. The reshape option for the databases and vector array management can be used in this situation if the functionality is being enhanced with that. Calculate average value of FaceDB Using the mean function in the mat lab the average value will be calculated. Using those image vectors the one dimensional array will be filled with the average values. Calculate distance of each image from average value The average values will be calculated and the distance of the images will be calculated and using and accessing the face db the average values will be taken in to an array and the using the distance the closest image will be selected from the databases to be output. Diffrence =[]; for img_no= 1 : SizeOfSet temp= double(oneD(:,img_no)) - avarage; Diffrence =[Diffrence temp]; end avarage = mean(oneD,2);
  • 82. 82 | P a g e Extract Eigenvalues Loading the covariance values makes the Eagan calculation which requires the distance average values to be stored in the arrays and that will be done along with the Eagan values. Further the previous values in the vector array will be multiplied by in every increment. Then the covariance matrix will be generated and loaded in to the system. Calculate Eigenfaces The fetched in Eagan values will be compared with the threshold values and then the lesser values than the threshold values will be eliminated. Further none zero values are in the Eagan vectors are considered to be lesser than the average distance of the averages. Outcome of EigenFace Core This calculates the mean atoms along with the eigen faces in the databae and save them in a variable to be used in the next processes.. Eigenfaces=Diffrence*L_eig_vectors; L = Diffrence'*Diffrence; [V D] = eig(L); L_eig_vectors= []; for img_no= 1 : size(V,2) if( D(img_no,img_no)>1) L_eig_vectors=[L_eig_vectorsV(:,img_no)]; end end
  • 83. 83 | P a g e Verify Face and Matching Face Load the Preprocessed image and Load it to vector Using the imread will be the first attempt and this will be getting a preprocessed image and then the vector array will be loaded with them and the image will be arranged in a reshape manner in a single dimensional array. Find the difference The images will be fetched from the face database and then they will be processed to get the average values while the rest of the preprocessed image will also be processed to get the average value and the difference in between the values will be counted and the lest difference one will be the match and it might be the closest matching mechanism. Verify Face The threshold value in the camera value will be matched with the binary stream of data which is containing the remaining values and the files of the images that been captured before when the users were added to the system. I = imread(InImage); y=im2bw(I,0.3); z=mean(mean(y)) Difference_in=double(InImg)-avarage; InputImage =imread(InImage); temp= InputImage(:,:,1); [irowicol] = size(temp); InImg= reshape(temp',irow*icol,1);
  • 84. 84 | P a g e This is the reshaping option for the software application and this would be giving more control over the rest fo the matching processes as the scope is similar in each attempt of capturing. The test results show that the threshold value difference is in between 250 to 350 and the binary image value difference is also less than 0.8 which will be processed using the isImage condition and Notimage conditions. Calculate projection of Centered images to face space Using the eigen values the option of managing those values to spot the face appearance in the image will be allowing the devlopper to guess process creation and the face database image will be compared with the captured one due to this feature in the applicaiton. InputImage =imread(InImage); temp= InputImage(:,:,1); if (answer>250 & answer<350 & z<0.8) res='isFace' else res='notFace' end InImg= reshape(temp',irow*icol,1); Difference_in=double(InImg)-avarage; wi=Eigenfaces'*Difference_in; om=Eigenfaces*wi; cla=norm(Difference_in-om)^2; answer=cla^0.1
  • 85. 85 | P a g e Extract PCA features from given image. This comes in the mat lab designing methods and the code will be injected in to the vb.net environment and then the icol and irow will be determined to manage the PCA feature in the system. According to the finding to execute this kind of an action the developer should have a clear idea of managing the PCA feature in the mat lab based environments. Calculate Euclidean Distance The face DB will be used to fetch the images from it and the images will be checked and process using the matching algorithms with the captured image to calculate the distance between the image average values. The Euclidean Distance will be the one till which the loop of searching will be working and when it is found the system will be calculating the distance and sending the distance to the other functions who are accepting the values of the difference. Eucdian_dist= []; for i = 1 : SizeOfSet q = ProjectedImages(:,i); temp= ( norm( ProjectedLoadImage - q) )^2; Eucdian_dist= [Eucdian_disttemp]; end InImg= reshape(temp',irow*icol,1); Difference_in=double(InImg)-avarage; ProjectedLoadImage =Eigenfaces'*Difference_in;
  • 86. 86 | P a g e Match the given image with FaceDB images The Euclidean distance will be then used to calculate the minimum distance between the captured image and the destined folder stored images and the minimum distance holder will be taken in to the account and strcat will be used to concatenate the image string in to a single array. The minimum distance matching and measurement will be done using the condition of the o.1 under which value. verify=min(Eucdian_dist)^0.1; if(verify>39) outim='0.jpg'; else outim=Outputimg; end [Eucdien_min,indeximg]=min(Eucdian_dist); Outputimg= strcat(int2str(indeximg),'.jpg');
  • 87. 87 | P a g e Pass the outputs to VB.NET program The manipulation of the matlab calculations they will be passed to those outputs. Further the input images and the values along with the calculations are bypassed in to the VB.NET environment. Then the VB.NET application will be dealing with the Face DB which holds the images of the users. 1. Retrieving the functions from the mat lab 2. Develop .dll file using matlab and copy .dll file and .ctf file to vb.net location. 3. Assign reference to the dll file. 4. Import the dll file into the vb environment and then the bypassing process will be taken place. 5. The parameters taken from the VB.NET application inputs will be passed in to the matlab environment to process the data. The above code is an example forthe patternmatchingof the face and the imageswill be comparedand the resultswill be sentinthe loginprocesstobe clarifedandthen depending on that te regular process of the attendance algorithm will be completed. Fac = NewFace.Faceclass outputImgNo =Fac.Face("18",inimg,FaceDbpath).ToString ImportsFace.Faceclass Private Fac AsFace.Faceclass function[outim]=Face(count,inImg,faceDBpath)
  • 88. 88 | P a g e Database management The database managementinthe applicationwill be done usingthe MSSQL ServerExpressversion 2005 and thisversionof the database managementsystemisallowing the developer to get a wide variety of managementoptionslike automaticallycreatingthe tables,insertingdataintothe tables and view data and edit data that are already residing in the system. Further the database management in this approach will be using the SQL language which his very common to the database manipulation in the VB.NETenvironment.Thenthe systemwill be addingthe new datasetsinto the system.Andthe system will be addingthe personal detailsof the employeesandthe imageswillbe storedinthe foldersand the folders might contain the images with the same image but in different angles. The designing process of the database is limited due to the fact that the system is not dealing with highlyadvanceddatabase development or manipulation and due to that reason the ER diagrams were not developeddue tothe simplicity in the database structure that has been maintained in the system.
  • 89. 89 | P a g e The testing process for the proposed solution The testing is considered as one of the most important factors in the application management in the projectmanagementdomainandthe qualityof the software isdepending on the testing process of the application.The testingprocesscanbe done in two different flavors that can be divided in to the main features like unit testing and the integration testing. The unittestingwasa goodoptionto be usedas the unittestinghasprovento be successful in terms of finding the major vulnerable errors in the applications as the unit testing involves around the unit by unittestingandthismeansthe whole software algorithmsorthe programmingcode will be brokeninto different units or chunks and then the chunks will be examined separately which means the expert knowledge is required as the unit testing refers to the testing options using the full access in to the source code. Thenthe integration testing makes the integration first with the unit combinations and then it will be testingthe inputsandthe outputsbasicallyand this is like the final stage testing process that has to be used in the testing strategy. Further the testing strategy involves around the test cases of the system which have been presented in the below presentation.
  • 90. 90 | P a g e Description Login process Process The user will be selecting the option. The options will be varied from admin to colleague and the user will then be directed to the relevant page which may have the option of the admin related view or colleague related view. Expected Results The next view for the login process should be appeared. Actual Result The click event of the colleague or the admin will be taking the user in to the next view of the application. Comments Not required. Description The admin view selection Process The admin view will be coming in to the view and the user will be going though the processes of login in to the system. Expected Results The system will be generating the login acknowledgement. Actual Result The systemwill eithertake userto the admin view or the staff view Comments Not required.
  • 91. 91 | P a g e Description The admin view successful Process The user will be taken in to the next view and the userwill be directedeithertothe staff view or the admin view itself Expected Results The user id will be selected and searched for the availabilityinthe database andthenthe priority of the userwill be selected and then the user will be directed either to the staff or the admin view Actual Result The adminview or the staff view will be displayed. Comments Not required.
  • 92. 92 | P a g e Description Staff view successful Process The login process will be taking the user to the staff view if the type of the user is in the staff mode Expected Results The interface will be offeringthe usertoselect the grid view option and using the colleague details and the dates the summaries can be generated in to the grid view. Actual Result The systemwill be getting the user input from the combo box and the data will be fetched and filtered from the database according to the selection of the user. Comments Not required. Description Colleague selection in the button click event Process The process will be taking the user to the image capturing option in which the camera will be capturingthe face of the user and the user will be detected using the face recognition algorithm. Further the acknowledgement will be given as well. Expected Results The user should be going through the screening process and the face will be compared with the restof the available imagesinthe folderdatabase. Then the right kind of data of the user will be fetched from the database in to the system to
  • 93. 93 | P a g e manage the attendance record relevant to the user. Actual Result The user will be acknowledged about the login process weather it is successful or not. Description The Login Process The user will be selecting the option. The options will be varied from admin to colleague and the user will then be directed to the relevant page which may have the option of the admin related view or colleague related view. Expected Results The next view for the login process should be appeared. Actual Result The click event of the colleague or the admin will be taking the user in to the next view of the application. Comments Not required. Description Adding a user Process The user detailswillbe added into the system and then the user details addition successful acknowledgement will be prompted in to the system. Expected Results The user will be added in to the database and the profile picture will be added to the folder
  • 94. 94 | P a g e database. Actual Result The user detailswillbe added to the database and the folder databases will be added with the new images of the user. Comments Not required.
  • 95. 95 | P a g e Limitations This system is not perfect by any means and is subject to several limitations and constraints. Thissystemwouldnotbe able to performinefficientmanner because of following limitation affection.  Cannot identify face angle is 90 degree If a colleagues’ face capture in 90 degree angle or part of face, this system would neither recognize the face nor match a face.  Cannot identify face if environment too dark or too light According to test results even in small lighting condition change the output values will be change in long range so the system will not be able to recognize a face  Cannot identify face if the user too far or too near to camera. Thisalgorithm compare withitsowndatabase so itwill tryto match withits own pictures. If the person too far the capture image would be small and it would lead to un identify human face and match face process.  Depend on facial expression If the user change different facial expression this algorithm will not be able to match with correct image in its database  Cannot identify Identical twins Identical twinsalmosthave same facial fractures.Thisalgorithmmatchespeopleusingminimum distance of the database face and captured image.
  • 96. 96 | P a g e
  • 97. 97 | P a g e Critical Evaluation Developingsuchasystemwasan awesome experience andthenthe system is capable of managing the basicrequirementsthathave beendefinedinthe previous sections. Further the face recognition was a wonderful areatobe researchedandobservedasthe system development in the face recognition was somewhat challenging due to the inexperienced nature. Furtherthe face recognitionisone of the vital factors that are used in the field of security specially for maintainingthe biometricrequirementswhichmakesthe securednetworksanddomainsmore secured. Then the application of the face recognition can be done using different approaches and basically the most important thing is to select a suitable kind of an algorithm to do the face recognition. The firsthand experience was a wonderful one as there were many algorithms like Eagan face and the Neural networkswhichare runningintwodifferentlogicsintwodifferent paths as well. Event then the idea of implementing this solution was decided to be done using the cooperation of the .Net development environment. Then the Eagan face was like an idea solution due to the number of opportunities and resources that were available tobe usedinthe development environment. So due to that main factor of having more resources and help the choice was made on the Eagan face. The usage of the folder options and the SQL Server solution together is also significant. The database managementin this face recognition application will be done using two methods which are unique to each other.Theycan be respectivelymentioned as the MS SQL Server 2005 Express which is one of the bestdatabase solutionsthatare usedinthe current applicationintegration domain and it is considered as one of the best solutions to keep dynamic data as the development management studio allows the database manipulation for the perfection. Then when it comes to the system the main aspect is the storage of the images and it is done in a different way. The fact is due to the sever management environmentthatisexpectedto be used in the application using environment. The application will be storingthe imagesinthe folderthatare dividedintothree majorfolderswhichcontain different angled imagesof the userswhichwill be making the face recognition process more dynamic and accurate due to the dynamicanglesof an image available forthe algorithmstobe used to detect the right kind of the
  • 98. 98 | P a g e face match. This storage was used by the earlier times when the software development was in the primitive era when we did not have the advanced database solutions. Andalsothe systemcouldhave beendevelopedtorecognize the voice andthe lip movement as well as it ismentionedinthe similarsystemsanalysis.The time constraintfactorwasthe issue due to which the mentionedfeaturescouldnotbe achieved.Furtherthe systemcouldhave beendevelopedtobe used in differentcolorconditionsanditisnotbeendesignedintothatconceptas well and it is due to the same factor of the limitation of time. So inthe future modifications for this developed application the mentioned features will be included and the restof the possible featuresthatcanbe includedinthe systemwill be researches and observed indepthas well.Butas an overall workIam totallysatisfiedwiththe waythe projecthasbeen achieved and the artifact has been delivered.
  • 99. 99 | P a g e Reference and Bibliography  ARTICLEBASE2010, Java andits advantages,Anon.[online].Available at from:http://www.articlesbase.com/programming-articles/java-and-its-advantages-736621.html, [Accessed:12/26/2010].  MATHLAB 2010.Production Description,Anon,[online],Available from:http://www.mathworks.com/products/matlab/description1.html.[Accessed:12/26/2010 9:35:15 PM]  ABOUT H 2010.All AboutThe C++ ProgrammingLanguage,Anon.[online].Available from:http://cplus.about.com/od/introductiontoprogramming/p/profileofcpp.htm.[Accessed:12/ 26/2010 9:41:30 PM]  MATHTOOLS 2009.Image ProcessingAnon.[online].Available from:http://www.mathtools.net/C_C__/Image_Processing/index.html.[Accessed:12/26/2010 9:55:48 PM]  Deming,E.,Software Development;MethodologyToday,[Online],Available: http://www.hyperthot.com/pm_sdm.htm[Accessed:10thJuly2009]  James,R.,Chapman,Software DevelopmentMethodology,[Online],Available: http://www.hyperthot.com/pm_sdm.htm[Accessed:10thJuly2009]  Pressman,R.S.,2005. Software Engineering;A PractitionersApproach,6thedition,McGRAW- HILL, NewYork  Sommerville,I.,2004, Software Engineering,7thedition,PearsonEducation,India. Stellman,A,Greene.J.,2004, AppliedSoftwareProjectManagement - Functional Requirements,[Online],Available:http://www.stellman- greene.com/aspm/content/view/40/41/[Accessed:10thJuly2009]  LOTUS H 2009, The Face RecognitionBasics,PerryPearson,[Online]Available from: http://www.stellman-greene.com/aspm/content/view/40/41/ [Accessed:10th June 2010]  Matthew A.Turk and Alex Pentland.(1991).“Face recognitionusingeigenfaces”.Proc.CVPR, pp 586-591.  Zhang J,Yan .Y andLades .M, (1997 )“Face Recognition:Eigenface,ElasticMatching,andNeural Nets”,Proceedingsof the IEEE,Vol.85, No.9.
  • 100. 100 | P a g e  ZHAO.W,CHELLAPPA .R, PHILLIPSP.J., ROSENFELD.A. (2003). Face Recognition.A Literature Survey.36, 399-455  Bledsoe,W.W.,"Man-machine facial recognition",PanoramicResearchInc.PaloAlto,CA,Rep. PRI:22, (August1966).  Bledsoe,W.W.,"Man-machine facial recognition",PanoramicResearchInc.PaloAlto,CA,Rep. PRI:22, (August1966).  Bledsoe,W.W.,"The model methodinfacial recognition",PanoramicResearchInc.PaloAlto, CA,Rep.PRI:15, (August1966).  Burt, P.,"Smart sensingwithinaPyramidVisionMachine",Proc.of IEEE, Vol.76(8),pp. 139-153, (1988).  Burt, P.,"Smart sensingwithinaPyramidVisionMachine",Proc.of IEEE, Vol.76(8),pp. 139-153, (1988).  CryptoMetrics.(2000). CryptoMetricsSecureIDent™ VerificationandLookoutKiosk.Product Profile.1-5.  CryptoMetrics.(2000). CryptoMetricsSecureIDent™ VerificationandLookout Kiosk.Product Profile.1-5.  Fischler,M.A.,and Elschlager,R.A.,"The representationandmatchingofpictorial structures", IEEE Trans.on Computers,c-22.1,(1973  Fischler,M.A.,and Elschlager,R.A.,"The representationandmatchingofpictorial structures", IEEE Trans.on Computers,c-22.1,(1973).  Fleming, M., and Cottrell, G., "Categorization of faces using unsupervised feature extraction", Proc. of IJCNN, Vol. 90(2), (1990).  Fleming, M., and Cottrell, G., "Categorization of faces using unsupervised feature extraction", Proc. of IJCNN, Vol. 90(2), (1990).  HenryA. Rowley,ShumeetBaluja,andTakeoKanade.(1998).Neural Network-BasedFace Detection.  Rowley,ShumeetBaluja,andTakeoKanade.(1998).Neural Network-BasedFace Detection  JavadHaddadnia, KarimFaez,Majid Ahmadi.(1998).N-Feature Neural NetworkHumanFace Recognition.  Hyeonjoon Moon and Jonathon Pillips. (2000). Computanal and performance aspects of PCA-based face recognition algorithms. 30, 303-321.  Hyeonjoon Moon and Jonathon Pillips. (2000). Computanal and performance aspects of PCA-based face recognition algorithms. 30, 303-321.
  • 101. 101 | P a g e  Kanade,T.,"Picture processingsystembycomputercomplex andrecognitionof humanfaces", Dept.of InformationScience,KyotoUniversity,(1973).  Kohonen, T., "Self-organization and associative memory", Berlin: Springer-Verlag, (1989).  Kohonen, T., "Self-organization and associative memory", Berlin: Springer-Verlag, (1989).  Kohonen, T., and Lehtio, P., "Storage and processing of information in distributed associative memory systems", (1981).  Kohonen, T., and Lehtio, P., "Storage and processing of information in distributed associative memory systems", (1981).  Steve Lawrence,C.Lee Giles,AhChungTsoi andAndrew D.Back. (2000). Face Recognition: A Convolutional NeuralNetworkApproach//Face Recognition:A Convolutional Neural Network Approach.IEEE Transactionson Neural Networks.  Roger Pressman (1997). Software Engineering. 4th ed. Singapore: McGraw-Hill Companies. 37-43.  Rowley,. Baluja H.A, Kanade S., (1998). Neural network-based face detection. Pattern Analysis and Machine Intelligence, IEEE Transactions on. 20 (1), 23-28.  Wiskott L, Fellous J.M ,Kuiger, N. von der Malsburg, C. (1997). Face recognition by elastic bunch graph matching. . 19 (7), 775 - 779.  Wiskott L, Fellous J.M ,Kuiger, N. von der Malsburg, C., (1999). “Face Recognition by Elastic Graph Matching”, Chapter 11, pp. 355-396  www.mathworks.com.(2008).ProductOverview.Available: http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help /techdoc/learn_matlab/f0- 14059.html&http://www.google.com/search?hl=en&rlz=1B3/class/aos340/spr00/whatismatlab. htm  www.face-rec.org.(2005).Algorithms. Available:http://www.face-rec.org/algorithms/  WolframResearch.(2008). Eigenvector.Available: http://mathworld.wolfram.com/Eigenvector.html
  • 102. 102 | P a g e