Alex Kossey Parking Sensors Project Requirements Overview The Parking Sensors project envisions using cameras to sense the availability of parking spaces on streets or in parking lots. One or more cameras survey a street or parking lot and send pictures to a server which contains a database. The server analyzes the pictures and, using images of the empty streets/lots as a basis, decides which spaces are empty and full and puts this data in the database. Users can then query the database through a web page, which makes it accessible via home computer (ahead-of-time), cell phone (while driving), or laptop (while driving very dangerously with satellite wireless internet access). Users Potential users include anybody wanting to park on a block or in a lot equipped with such a system. Professors on the Brown campus, for instance. Required Features Cameras: - Must be able to contact cameras and download pictures from them. Image Processing: Must be able to interpret images, including - Tell the difference between empty spaces and taken spaces - Must be able to see at day and night and through at least some kinds of weather (falling rain and snow -- snowdrifts are another issue entirely). Database: - Must keep track of which spaces are empty on which streets/lots. - Must store a map of streets with information about what spaces are actually legal parking spaces. - Must be able to add/remove streets/lots. - Must keep track of what areas are available. Web Interface: - Administrator must be able to update the database through a web page. - Users must be able to select from a list of available blocks/lots to query database. - Interface must be able to respond to queries with useful information (such as how many open spaces there are in the requested block or lot). Security: - Administrator web site must be password-protected and secure so that outside users can't change the database. - The database itself must be safe from tampering by non-administrators. Optional/Wish Features (from highest to lowest priority): - Multiple cameras working together in a system for higher accuracy. This means that the software must be able to combine data from multiple cameras before inputting the result into the database. - Users can query the web site by specifying a destination. The database then responds with the nearest block with available parking spaces. - Database keeps track of properties of specific spaces: whether those spaces require permits, if they're metered, what the time limits for parking there are, etc. - Database has a list of users keeps track of who has permits to park in which permit-required spaces. Testing A simple setup using just one city block around campus and one small parking lot could be used to test basic functionality of the program without requiring a large network of cameras. This system could then be tested with many users (say, twice the number of spaces available). Possible Pitalls and External Dependencies - Knowledge of image processing required. According to Prof. Hughes, the image processing isn't too complicated, but it still requires proficiency with graphics. - Interacting with the cameras means interacting with external hardware, which could be unpredictable. Prof. Taubin in the engineering department has software for this purpose, but once again, learning and interacting with this software could cause unforseen problems. - Physically, installing cameras protected from weather could be expensive or time-consuming, especially if permits from Brown or the city would be necessary.