Car park plate number recognize system
Chapter 1: Introduction
Background to Project
Vehicle Plate Recognition is an image processing technology used to identify vehicle by their plate number. This project idea was arose during looking for a parking place in KDU college. Many students and staff failed to look for a parking place due to the car park is already fully loaded. The college security guard required to check the car park availability in regularly every half an hour whether the parking lot is fully loaded or not, it will cause time consuming. This system will be controlled and monitored by KDU’s security guard, when the car park slot is full, they will take action to stop the car entering to the car park.
The proposed system will able to help security guard to identify the available car park slot in graphical way. This project is focusing on using webcam to capture, recognize and record the vehicle’s plate number. Every student and staff will have to register their car and then the system will save vehicle and their owners’ vehicle information. Then the system will automatically store the vehicle number in database every time the car is park in a slot using web cam. The charges of the parking will cost RM2 per entry and there are two ways to pay the either by using coin or student/staff smart card.
The project will be developed in window based application using VB.NET language. This will also provide administration mode to control and monitor the system by the security guard. For the image process I will reference for Automatic number plate recognition (ANPR), it is a mass surveillancemethod that uses optical character recognition on images to read the license plates on vehicles. ANPR can be used to store the images captured by the cameras as well as the text from the licence plate, with some configurable to store a photograph of the driver (Evans 2003). Through my research, some existing car parking plate number recognize software also using ANPR like Carmen Parking Plate Recognition Software, it was using high tech Camera equipped with a special and synchronized IR flash (Kertész 2005).
This project will allow me to enhance my knowledge in an area that has not been covered in depth during the course. The computing aspects that will be covered in my project will be programming, human computer interaction, image processing, system testing and project management. A lot of research should be taken for all of these aspects.
Chapter 3: Literature Review
Investigation of previous system
In the previous system, the college security guard required to check the car park availability have to do in manual way, they have to check every half an hour whether the parking lot is fully loaded or not, so it usually cause a lot of vehicles will stuck at the car park if the security guard did not control the car before they want to enter to the car park when car park is fully loaded.
When the college security guard wants to know the situation in car park, they have to check manually and go to car park every half an hour, so minimum they need to check at least 18 times per day. It is not convenient and time consuming. The previous system would not save any vehicle’s information, so college staff cannot obtain the vehicle’s information when want to know or check the vehicle’s data.
Research on similar existing system
Before starting the project, all researches and analysis are needed to make sure the project’s direction is on the path.
Existing System:
- CARMEN Parking Plate Recognition Software, this system will control and automatic vehicle entry and exit in car parks or secure zones becomes possible. Furthermore, the ability to recognize registration number is a significant added value for comprehensive parking solutions or inventory management. It is a flexible system that can be adjusted to meet specific customer requirements.
The Carmen Parking ANPR approach contains the following elements (ANPR 2009):
- Automatic number plate recognition engine (is a mass surveillance method that uses optical character recognition on images to read the licence plates on vehicles).
- FXVD4mc_s grabber card (High-quality 4-channel video capture card, specifically for Carmen identification system development).
- Functions library (C/C++, MSVB and Delphi,).
- Demo and test applications.
- Tutorial and sample programs both in executable and source code.
Optionally provided device (Arhungary 2009):
- High Resolution Ultra Low Lux B/W Camera equipped with a special and synchronised IR flash.
- FXVD4mc_s video capture card.
Resources – statement software required (Arhungary 2009):
- Supported Operating Systems: Windows 7, Windows Vista (32bit only), Windows2000, Windows XP and Windows2003.
- Programming language: Visual C/C++, Visual Basic 6.0, Borland Delphi, Visual, Basic .NET, C# and Java.
Strength:
- Flexible and automatic vehicle entry to and exit from a car park.
- Management information about car park usage.
- Improved security for both car park operators and car park users.
- Improved traffic flow during peak periods.
Weakness:
- High cost to implement the system.
- High demand of camera.
Products used:
Lab VIEW 7.1, Lab VIEW Vision Development Module 7.1.1, NI-IMAQ for IEEE Cameras, Lab VIEW 7.1 PDA Module, MAX (Measurement and Automation Explorer) 3.1.1
Strength:
- Ease of integration and interfacing between any supported devices.
- A clear user interface.
Weakness:
- High cost to implement the system.
- High maintenances fee.
Car Park Management System was designed by BIAMIC ICT SOLUTION. This system can be easily accomplished at the entrance and exit counters, it has maintained a record number of entries and exits relative to the total number of existing parking (BIAMIC 2008).
The console for running this system would typically provide the following visuals during normal operation:
The License Plate Recognition system operates in the manner indicated below (Biamic 2008):
- Vehicle triggers image capture via a loop on the road or pressing button requesting ticket.
- Image capture by a high resolution camera.
- The license plate is then identified in the captured image.
- License plate number reading at accuracy over 99.95% (with multiple cameras used in stereo).
- (Linking of the license plate with car colour and shape – if required).
- Linking of license plate number with a name and the number of parking bays available, and where available and display of this information on ELECTRONIC DISPLAY when the vehicle is detected.
- Log of number and image of all vehicles and driver who enter and exit the facility.
- Image capture from high-resolution color video camera (BIAMIC 2008).
This solution enables:
- Improved productivity.
- Greater security control with less opportunity for vehicle theft.
- Less opportunity for people to fraudulently handle parking payments.
- Greater communication with clients resulting in increased customer satisfaction.
- Greater auditable information to better understand requirements and ability to link requirements to flight schedules (Biamic 2008).
Strength
- Flexible and automatic vehicle entry to and exit from a car park.
- Management information about car park usage.
- Vehicle recognition through date and time stamping as well as exact location.
- Improved traffic flow during peak periods.
Weakness
- High maintained fee.
- Need a lot camera to support.
Research on available approaches in market of image processing
Base on my research, nowadays a lot of car park systems are using Automatic Number Plate Recognition (ANPR) to read the plates number on vehicles. It is a mass surveillance method that uses optical character recognition to recognize plate number. It can be used to store the camera to capture, as well as text from the license plate image. ANPR first uses a series of image manipulation techniques to detect, normalize and enhance the image of the plate number, and then optical character recognition (OCR) to extract the alphanumeric of the plate number (ANPR 2009).
There are a number of possible difficulties that the software must be able to cope with. These include:
- Poor image resolution, usually because the plate is too far away but sometimes resulting from the use of a low-quality camera.
- Blurry images, particularly motion blur.
- Poor lighting and low contrast due to overexposure, reflection or shadows.
- An object obscuring (part of) the plate, quite often a tow bar, or dirt on the plate.
- A different font, popular for vanity plates (some countries do not allow such plates, eliminating the problem).
- Circumvention techniques.
Algorithm
There are six primary algorithms that the software requires for identifying a licence plate (Hakob Sarukhanyan 2009):
- Plate localization.
- Plate orientation and sizing.
- Normalization.
- Character segmentation.
- Optical character recognition.
- Syntactical/Geometrical analysis.
Product Solution:
What tools applied in the program
I will use Plate localization method to the system because it will help to find out and isolating plate on the picture. In the photo, the license plate may be in different places, so I need that method to detect the plate in the picture.
Secondly I will use Normalization method to adjust brightness of the picture, the figure 4.1 will show you before and after normalization the plate.
After normalization I will use Character Segmentation to find out the individual character on the plate. Before go to last step for character recognize, the character on plate must be segmentation, figure 4.2 will show you the character on plate are segmented before go to character recognize.
Finally, Optical Character Recognition algorithm will read and recognize the characters are segmented. It accuracy quite high, as long as the picture quality of a good and clear, nowadays have a high technology so want to get a clear and good quality picture that just depend on the hardware I use.
Selection of Software and Hardware
Hardware Selection
In hardware selection, actually I should use web cam for demonstration. However, due to budget problem, I decided to use web cam to capture the plate number to test the plate number reorganization function. There would not be has a big differences between high tech camera with web cam when capture the plate number. Everything is going under control.
Software Selection
Main Programming Language:
- VB.net (Visual Basic with .Net framework)
Main Database Developer:
- SQL Server 2005
Comparison VB.NET and JAVA
Programming languages such as Visual Basic have been used to develop the project. These two languages are similar and useful to produce work faster. There is automatic syntax error checker in the editor and provide huge API to master. The smart debugger eases the programmers by reducing the time spent in debugging.
On the surface, Java and Visual Basic is actually shares some compelling common characteristics. Both of them are comparatively easy to learn and fast to develop due to the approachability, which means it is comparatively easy to get started and develop useful small programs in each language.
In addition, both systems have a very comprehensive APIs with the latest in web and n-tier developments. Indeed if you cannot directly find it in the language, they still have a wealth of 3rd party tools, utilities and components available to complete their works.
As a conclusion, both of these languages have the critical advantage of many types of deployment. Visual Basic or Java code can be standalone, bolted on as components of a larger system, or act as server-side guide between the legacy systems, data sources, and PC and/or web browser clients.
However there are few major differences between the two languages:
- As noted previously, Java has been built from the ground up as an object oriented language while Visual Basic is gradually acquiring complete OO capabilities.
- Java has a number of security and reliability features like sandlot security model, strong typing, simplified memory model, integrity checking, and so on, built right into its core design. But perhaps the critical difference is that Java is cross platform; running on just about any combination of hardware and operating system while Visual Basic is master of Windows. However Visual Basic runs on Win 9x, Win/NT, Windows 2000, Win/CE (partly) and Alpha versions of Win/NT (partly). Except the supports on Windows 3.x platform while Java does.
- On the other hand, Visual Basic has become, through VBA-Visual Basic for Applications, the scripting language for Windows applications. This is important because more systems will be built directly into key applications such as AutoCAD, Excel, Notes, Project, SAS, SAP, Word and hundreds of other major Windows programs.
- Visual Basic will lock up the unnecessary memory. These will waste the (RAM) memory. Secondly, Visual basic has to manually set the dispose function to destroy unused memory location. (Wakefield, Sonder, Lee 2001)
The tools will be use to develop the system are Visual Studio 2008. It is because currently the Visual Studio is the most powerful tool for .net framework. The tools are suitable to build either Web or Windows Based system in this project. The only disadvantage of using the system is it’s not a freeware. (Darie, Watson, 2005)
But if carefully compare Java and Visual Basic, I found that there are some criteria by which I can evaluate the two languages. One of them is lightening of development. It is here Visual Basic would appear to have an advantage – after all it is Basic.
Comparison SQL Server 2005 and Postgret SQL:
I choose to use SQL server 2005 as my database builder instead of others, below is the comparison reason to support between the database builder I choose and other database builders.
SQL Server 2005 and PostgreSQL is a decision many must make when approaching open-source relational databases management systems. Both are time-proven solutions that compete strongly with proprietary database software.
SQL Server 2005 has long been assumed to be the faster but less full-featured of the two database systems, while PostgreSQL was assumed to be a more powerful featured database system often described as an open-source version of Oracle.
SQL Server 2005 then has been popular among various software projects because of its speed and easy of use, while PostgreSQL has had a close following from developers who come from an Oracle or SQL Server background.
So, as to considering the needs of the application in my database requirements, I choose to use SQL Server 2005 over PostgreSQL, as I want to create a web application, SQL Server 2005 is the choice because it’s fast and designed to work well with Web-based servers.
Here are some summary reasons for using SQL Server 2005 versus using PostgreSQL, that is:
- Relatively, using SQL Server 2005 is definitely faster than using PostgreSQL.
- Database design development will be simpler.
- The user can easy create a basic Web-driven Web site.
- SQL Server 2005’s reply application has been fully through tested.
- Work such as cleanups (Vacuum) is unnecessary in SQL Server 2005 database.
Functional and Non-functional Requirement
Functional Requirement
Car Park Plate Number Recognize System is actually a system that enhanced the KDU’s Car Park System. What does this system can perform compared to the previous system is the extra function that will be added into the system, based on the requirement in order to upgrade the management system to a fully computerized systems.
According to the requirements, (and base on my idea’s recommendation after doing research, I added some useful function that the system would like to have) the designed system should have these functional requirements:
- Insert owner and car information
- Edit owner and car information
- Update owner and car information
- Delete owner information
- Recognize plate number
- Record plate number and owner information
- Check the parking slot
- Check the car location
Non-Functional Requirement
A non-functional requirement is a system must behave or how is the system’s behavior. This also specifies how the system’s quality characteristics or quality attributes
In order to put this constraint upon the specific system behavior, the qualities goals of the designed system should goes in these:
Execution qualities:
- Functionality
- Security
- Usability
- Effectiveness & Efficiency
Evolution qualities:
- Availability
- Reliability
- Manageability
References:
- Maneesha Singh (2007), Progress in pattern recognition http://books.google.com.my/books?id=KflvrMCXGYQC&pg=PA152&dq=automatic+number+plate+recognition&client=firefox-a&cd=2#v=onepage&q=automatic%20number%20plate%20recognition&f=false
- Hakob Sarukhanyan(2009), Automatic Number Plate Recognition System http://www.csit.am/2009/proceedings/6PDC/8.pdf