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
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.
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