Group #6 Evan Davidson Afsaan Kermani Viker Lamardo Scott Moriarty.
-
Upload
jeffrey-lawson -
Category
Documents
-
view
218 -
download
1
Transcript of Group #6 Evan Davidson Afsaan Kermani Viker Lamardo Scott Moriarty.
Group #6
Evan Davidson
Afsaan Kermani
Viker Lamardo
Scott Moriarty
What is Park Sense?
Park sense is a system which maps out a parking lot and detects and displays which parking spaces are vacant and which are occupied.
Motivation
• We wanted to solve an everyday problem that is relevant to UCF students
• Can take up to 30 minutes to find parking during peak traffic hours
• 55,000 students at UCF and only 15,500 parking spaces available, not all of which are available to students
• Help students and faculty get to class on time
Objectives
• Accurate car detection
• Detect the car during all times of the day
• Capable of accommodating a network of cameras so that the project is scalable and can be applied to most of the parking lots in the real world
Requirements
• Cost effective and easy to install
• Weather resistant
• Fixed position
• Wide range of view
• Scheduled day/night mode
Specifications
• Range: minimum of 2 spaces
• Cost: under $10 per parking space
• Power source: standard 120VAC (wall outlet) or 12V battery powered
• Accuracy: 95% and a system refresh time of less than 20 seconds
• Operating environments -Temperature: 0 to 115 °FHumidity: 80% RH
Features
• LCD display that greets the user as they drive in to the parking lot
• Website showing live updates on the status of the parking spaces in the parking lot
• It doubles as a security system because we are using live video feeds
• Parking stats
Research
Ultrasonic Sensors• Would require a large number of sensors to cover a full parking lot
• Wide range allowed us to possibly use one sensor per two parking spots
Advantage Disadvantage
UltrasonicEmitter/Receiver
1.64’’
Infrared Sensors
Infrared
• Range was not as wide as the ultrasonic sensor
• Less expensive than the ultrasonic sensor
Advantage Disadvantage
Camera
2.34’’ 5.91’’
•We decided to use the Vivotek IP7330 for the Park Sense System•Description: bullet-style network camera designed for outdoor applications•Advantages:
•shields from harsh conditions such as rain and dust•supports tamper detection (i.e. blockage, redirection, & spray-painting)•Functions as a security camera for students in the parking lot•Has both a long and wide range•Has both day and night vision capabilities•Easy connection router and server to perform image processing•Supports PoE (power over Ethernet)
Camera
Server
Captures an Image
Image processing
Data analysis
Generates statistics
Display
Outputs data
System Block Diagram
Image capture • The network camera captures an jpg image from the mjpg stream
Image processing • The captured image is then processed through the code to accurately object detect cars in the parking lot
Data output• The program then outputs to a .csv file with information based on the processed image.
Dynamic website• The website is able to update the number of
rows, columns, and statistical values by reading the .csv file that our initial analysis produces.
Display
Because we are already generating a webpage, all we have to do is keep that site displayed on an LCD screen mounted at the entrance to the parking lot
System refresh & update display
• The website is then updated with the proper graphical view of the vacant parking lots.
Networking
• Originally we planned on using multiple sensors in a mesh network design, but due to budget constraints and design modifications we decided to use a basic Ethernet network to allow for scalability in practical applications
• The camera operates on a local area network (LAN) with the computer and display.
OpenCV
Haar-Like Features
The value of a Haar-like feature is the difference between the sum of the pixel gray values within the black and white rectangular regions
The image is then scanned by a sub window containing a Haar-like feature trying to detect on the classifiers it was trained on
Cascade of Classifiers• AdaBoost uses a “weak” learning
algorithm and a training set to create strong classifiers– Adaptive because later classifiers are geared to
be in favor of sub-windows misclassified by previous classifiers
• Series of classifiers are applied to every sub-window, the first eliminates a large number of negative sub-windows and passes all positives (lots of false positives)– Followed by a set amount of stages which do
the same to reduce the number of false positives in the final product
Data Preparation
Collect positive images. Obtain negative sample set. Create info files. Generate vec files. Train cascade.
Object Marking
For the positive sample set, object marking was required. The positive info file looked like the following:
Testing a Cascade
Software
C++ OpenCV Library Single Run, repeated using a batch file
Can be continual
Low CPU usage Scalable
Software Flow
1. Capture image
2. Gray scale
3. Object detection
4. Region of interest rectangle comparing
5. Output to .csv file
6. Sleep for set time interval
repeat
Determining a Hit• For each rectangular object detected, the X,Y
coordinates and the height and width are stored in a cvRect() object within another object which contains the total number of objects found, CvSeq
• These are passed to the function RectDetect() which also takes in the same set of values for a single ROI
• The boundaries of each are compared to determine there’s an overlap
• Once a hit is announced for a given ROI no other detected objects will be compared to that ROI to save on processing time
Testing
Testing
• Haar training:• Created a variety of cascades including cars,
headlights and windshields. Also tested rectangles to possibly detect empty spots.
• Testing the cascades• Analyzing hits, misses, and false hits
•Website:• Loading the .csv properly• Aligning .csv cells with parking spots
The Test Setup
• Determine best test subjects among model cars or pictures of cars• Determine the best camera positioning for accuracy.• Control the lighting
• Testing IR• Calibrate the regions of interest
Testing Results Trying to detect full cars and headlights,
resulted in ~ 0% We tried to detect windshields on a cascade
using ~500 positives and ~500 negatives.Results varied between 40-80%Shadows generate false positives.Camera distance from the cars affected
accuracyNuanced lighting led to diminished accuracyIR detection worked toward center of image.
Testing Results Continued The windshields likely succeeded
because it resembles a Haar-like feature. Line features and center surround features.
The windshield is somewhat consistent between all cars.
Ideally, multiple cascades would be used to detect all cars.
Problems
• We are all hardware oriented in a mostly software project• Lighting conditions in the parking lot were a problem as stated.• Cars that are the same color as the asphalt.• Working with open source library was difficult.• Recommended cascades call for between 2,000 and 4,000 positives and 4,000 to 10,000 negatives.
• Training of such a robust cascade would require at least a week of processing on a home computer
BudgetPart Cost
Vivotek IP 7330 Camera $270
Server $0 – already owned
LCD Display $0 – already owned
Router $0 – already owned
Miscellaneous $50
Total $320
Milestones
Demo and
Q & A