CA3113494A1 - Parking lot management system based on real-time computer vision processing - Google Patents
Parking lot management system based on real-time computer vision processing Download PDFInfo
- Publication number
- CA3113494A1 CA3113494A1 CA3113494A CA3113494A CA3113494A1 CA 3113494 A1 CA3113494 A1 CA 3113494A1 CA 3113494 A CA3113494 A CA 3113494A CA 3113494 A CA3113494 A CA 3113494A CA 3113494 A1 CA3113494 A1 CA 3113494A1
- Authority
- CA
- Canada
- Prior art keywords
- parking
- parking lot
- vehicle
- exit
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Traffic Control Systems (AREA)
Abstract
A system and method are provided for parking lot management. The method includes detecting entry of a vehicle into a parking lot, by capturing an image thereof, identifying a mobile application corresponding to the vehicle, detemining an occupancy status of the parking lot by monitoring a parking area of the parking lot using a camera and sending the occupancy status to the mobile application. The method further includes detecting exit of the vehicle from the lot by capturing an image of the vehicle at the exit by a camera, identifying the vehicle on the captured image, determining a parking duration of the vehicle in the parking lot based on an entry time of the vehicle into the parking lot and an exit time of the vehicle from the parking lot, and sending a second message including the parking duration to the mobile application or to a cloud server.
Description
PARKING LOT MANAGEMENT SYSTEM BASED ON REAL-TIME COMPUTER
VISION PROCESSING
TECHNICAL FIELD
[0001] Example embodiments relate to parking lot management and more specifically to a system and method for parking lot management using real-time computer vision processing.
BACKGROUND
VISION PROCESSING
TECHNICAL FIELD
[0001] Example embodiments relate to parking lot management and more specifically to a system and method for parking lot management using real-time computer vision processing.
BACKGROUND
[0002] In a typical parking lot, there is a locked entry gate for controlling entry into the parking lot, and a locked exit gate for controlling exit from the parking lot.
To enter the parking lot, a driver typically pulls up to a locked entry gate and either takes a ticket from a ticket dispenser, uses a transponder, or taps a parking permit card or a payment card on a card reader.
In response to taking a ticket or tapping a card, the locked entry gate opens allowing the user to drive through the parking lot entry into the parking area. Once in the parking area, the driver must find a vacant parking spot and park their vehicle in that spot. To exit the parking lot, the driver pulls up to a locked exit gate. The driver may then insert a paid parking ticket at a ticket station located at the exit gate, pay for parking at a pay station located at the exit gate, or tap a parking permit on a card reader. In some parking systems, payment for parking must be done at a pay station before pulling up to the exit locked gate.
To enter the parking lot, a driver typically pulls up to a locked entry gate and either takes a ticket from a ticket dispenser, uses a transponder, or taps a parking permit card or a payment card on a card reader.
In response to taking a ticket or tapping a card, the locked entry gate opens allowing the user to drive through the parking lot entry into the parking area. Once in the parking area, the driver must find a vacant parking spot and park their vehicle in that spot. To exit the parking lot, the driver pulls up to a locked exit gate. The driver may then insert a paid parking ticket at a ticket station located at the exit gate, pay for parking at a pay station located at the exit gate, or tap a parking permit on a card reader. In some parking systems, payment for parking must be done at a pay station before pulling up to the exit locked gate.
[0003] Some other systems do not have a locked gate but require that the user pay for parking and display proof of payment on the dashboard of their vehicle. Other somewhat similar systems require the user to pay for parking and input their license plate into the pay station. In the latter example, no proof of payment needs to be displayed on the dashboard.
Such systems require a parking attendant or by-law officer to inspect all vehicles to ensure their owners have paid for parking, either by looking for proof of parking on dashboards or by comparing license plates of vehicles parked in the parking lot with a list of license plates for which parking has been paid. Any vehicle which does not display a proof of payment or has a license plate that is not listed in the paid list may be ticketed or towed at the owner's expense.
Date Recue/Date Received 2021-03-30
Such systems require a parking attendant or by-law officer to inspect all vehicles to ensure their owners have paid for parking, either by looking for proof of parking on dashboards or by comparing license plates of vehicles parked in the parking lot with a list of license plates for which parking has been paid. Any vehicle which does not display a proof of payment or has a license plate that is not listed in the paid list may be ticketed or towed at the owner's expense.
Date Recue/Date Received 2021-03-30
[0004] Parking systems which have locked entry and exit gates are inconvenient to use as cars may be backed up while drivers tap their payment cards or take the parking ticket from the dispenser at the entry gate. As well, the physical infrastructure of the gates needs to be built.
At rush hour time, cars waiting to enter a parking lot may form a long queue that blocks a street.
Parking tickets having a magnetic strip need to be kept in pristine condition or they may not be processed at the payment stations. Bent or wrinkled tickets are typically rejected causing inconvenience and delay while the ticket owner seeks assistance from parking lot staff. If the ticket is rejected at a pay station located at the exit gate, the driver may need to back up or call a parking attendant. This creates inconvenience for the driver as well as for other drivers waiting in queue behind the vehicle whose driver has the rejected ticket.
Parking lots which do not have entry exit gate require the driver to find a pay station which may be located far from their parked vehicle. This can be inconvenient in bad weather and poses issues for drivers with infants that cannot be left alone in the vehicles while the drivers head over to the pay stations.
In the proof of payment receipt type systems, parking staff or by-law officers are needed to ensure that drivers have paid for parking, which adds to the expense of operating such parking lots.
At rush hour time, cars waiting to enter a parking lot may form a long queue that blocks a street.
Parking tickets having a magnetic strip need to be kept in pristine condition or they may not be processed at the payment stations. Bent or wrinkled tickets are typically rejected causing inconvenience and delay while the ticket owner seeks assistance from parking lot staff. If the ticket is rejected at a pay station located at the exit gate, the driver may need to back up or call a parking attendant. This creates inconvenience for the driver as well as for other drivers waiting in queue behind the vehicle whose driver has the rejected ticket.
Parking lots which do not have entry exit gate require the driver to find a pay station which may be located far from their parked vehicle. This can be inconvenient in bad weather and poses issues for drivers with infants that cannot be left alone in the vehicles while the drivers head over to the pay stations.
In the proof of payment receipt type systems, parking staff or by-law officers are needed to ensure that drivers have paid for parking, which adds to the expense of operating such parking lots.
[0005] Accordingly, it is desirable to provide a system for parking lot management that addresses at least some of the aforementioned issues. Additional difficulties with existing systems may be appreciated in view of the Detailed Description, herein below.
SUMMARY
SUMMARY
[0006] In one example embodiment, there is provided a computer implemented method by a processing system. The method includes: detecting entry of a vehicle into a parking lot, by capturing at least one image of the vehicle at an entrance of the parking lot by at least one first cameras; identifying, based on the captured at least one image, the vehicle entering the parking lot and a mobile application corresponding to the vehicle; determining an occupancy status of the parking lot by monitoring a parking area of the parking lot using at least one second cameras; sending, in response to identifying the vehicle entering the parking lot, a first message Date Recue/Date Received 2021-03-30 to the mobile application, the first message containing the occupancy status of the parking lot;
detecting exit of the vehicle from the parking lot, by capturing at least one image of the vehicle at an exit of the parking lot by the at least one first cameras; identifying the vehicle at exit from the parking lot based on the captured at least one image; determining a parking duration of the vehicle in the parking lot based on an entry time of the vehicle into the parking lot and an exit time of the vehicle from the parking lot; and sending a second message including the parking duration to the mobile application or to a cloud server.
detecting exit of the vehicle from the parking lot, by capturing at least one image of the vehicle at an exit of the parking lot by the at least one first cameras; identifying the vehicle at exit from the parking lot based on the captured at least one image; determining a parking duration of the vehicle in the parking lot based on an entry time of the vehicle into the parking lot and an exit time of the vehicle from the parking lot; and sending a second message including the parking duration to the mobile application or to a cloud server.
[0007] In another example embodiment, there is provided a parking lot management system, including: at least one first cameras positioned for monitoring entrance and exit of a parking lot; at least one second cameras positioned for monitoring a parking area of the parking lot; a processing device; a network interface coupled to the processing device; and a non-transitory memory coupled to the processing device and storing software instructions that when executed by the processing device configure the processing device to carry out the computer implemented method.
BRIEF DESCRIPTION OF THE DRAWINGS
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Reference will now be made, by way of example, to the accompanying figures which show example embodiments, and in which:
[0009] FIG. 1 is a perspective view of the parking area of a parking lot;
[0010] FIG. 2 is a top plan view of a parking lot including the parking area of FIG. 1;
[0011] FIG. 3 is a high-level block diagram representation of a parking lot management system, in accordance with example embodiments;
[0012] FIG. 4 is a high-level block diagram of a real-time parking lot occupancy detection module, in accordance with example embodiments;
[0013] FIG. 5 is a perspective view of the parking area of FIG. 1 showing areas of interest, in accordance with example embodiments;
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
[0014] FIG. 6 is a perspective view of the parking area of FIG. 5 showing a parked vehicle in one of the parking spots of the parking area;
[0015] FIG. 7 is a flow chart depicting a method of real-time parking lot occupancy detection, in accordance with example embodiments;
[0016] FIG. 8 is a top plan view of the parking lot of FIG. 2, with the parking lot management system applied thereto, in accordance with example embodiments;
[0017] FIG. 9A is a flow chart depicting part of a method of real-time vehicle entry detection to a parking lot, in accordance with example embodiments;
[0018] FIG. 9B is a flow chart depicting the rest of the method of real-time vehicle entry detection depicted in FIG. 9A;
[0019] FIG. 10 is a flow chart depicting a method of real-time vehicle exit detection from a parking lot, in accordance with example embodiments; and
[0020] FIG. 11 is an example system diagram for a processing system;
[0021] FIG. 12 is a system diagram for a distributed system configured for implementing the parking lot management system; and
[0022] FIG. 13 is an example system diagram for a mobile device.
[0023] Like reference numerals are used throughout the Figures to denote similar elements and features. Though example embodiments will be described in conjunction with the illustrated embodiments, it will be understood that the illustrated embodiments are not intended to be limiting.
DETAILED DESCRIPTION
DETAILED DESCRIPTION
[0024] Example embodiments relate to a parking lot management system and a method of detecting the status of a parking lot based on real-time computer vision processing.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
[0025] As used herein, the terms "image" and "video frame" are used interchangeably.
Both refer to a digital image comprised of a plurality of pixels. The digital image may be captured by a digital still camera configured to take pictures continually, or obtained as a single video frame of a video feed captured by a digital video camera.
Both refer to a digital image comprised of a plurality of pixels. The digital image may be captured by a digital still camera configured to take pictures continually, or obtained as a single video frame of a video feed captured by a digital video camera.
[0026] FIG. 1 depicts an example parking area 100 of a parking lot. In a non-limiting example, the parking area 100 is comprised of a first parking sub-area 125 and a second parking sub-area 145 separated by an aisle 130. Each of the first and second parking sub-areas (125, 145) is comprised of a plurality of parking spots 160 each defined by a painted border 165. In one example, the aisle 130 which separates the parking sub-areas (125, 145) allows vehicle traffic in a single direction as indicated by the arrow 135. In another embodiment (not shown), traffic on the aisle 130 is allowed in both directions.
[0027] FIG. 2 depicts an example parking lot 200 including the parking area 100 shown in FIG. 1, a parking lot entrance 210 and a parking lot exit 220. The parking lot entrance 210 has a controlled entry gate 212 for controlling entry to the parking lot 200.
A combined pay station and ticket dispenser 214 is disposed at the entrance 210 and is configured to control the entry gate 212. Similarly, the parking lot exit 220 has a controlled exit gate 222. A pay station 224 is disposed at the exit 220 and is configured to control the exit gate 222.
A combined pay station and ticket dispenser 214 is disposed at the entrance 210 and is configured to control the entry gate 212. Similarly, the parking lot exit 220 has a controlled exit gate 222. A pay station 224 is disposed at the exit 220 and is configured to control the exit gate 222.
[0028] A driver in a vehicle 51 wishing to enter the parking lot 200 via parking lot entrance 210 must either obtain a ticket from the ticket dispenser 214 or tap a payment or permit card at the pay station 214. Once a ticket is obtained or a card is tapped, the controlled entry gate 212 is actuated to open for permitting the vehicle 51 to enter the parking lot 200 through the entrance 210 in the direction indicated by the arrow 215.
[0029] A driver of a vehicle 52 wishing to exit the parking lot 200 via parking lot exit 220 must first pay for parking at pay station 224. Paying for parking may be done by tapping or inserting a payment card, tapping or inserting a parking permit, paying for a parking ticket using a payment card, or inserting a paid parking ticket that has been paid at another pay station (not shown). When proof that parking has paid for is provided at the pay station 224, the pay Date Recue/Date Received 2021-03-30 station causes the controlled exit gate 222 to open thus permitting the vehicle 52 to exit the parking lot 200 via the exit 220 in the direction indicated by the arrow 225.
[0030] FIG. 3 depicts a high-level logical block diagram of a parking lot management system 1000 for real-time parking lot management, in accordance with example embodiments.
The parking lot management system 1000 is comprised of a real-time parking lot occupancy detection module 1200, a real-time vehicle detection module 1300, a parking lot management server 1400, and a parking lot management mobile application 1500. The parking management server 1400 has network connectivity with each of the real-time parking lot occupancy detection module, the real-time vehicle detection module 1300, and parking lot management mobile application 1500. The network connectivity may be a wired or a wireless connection over a local area or a wide area network.
The parking lot management system 1000 is comprised of a real-time parking lot occupancy detection module 1200, a real-time vehicle detection module 1300, a parking lot management server 1400, and a parking lot management mobile application 1500. The parking management server 1400 has network connectivity with each of the real-time parking lot occupancy detection module, the real-time vehicle detection module 1300, and parking lot management mobile application 1500. The network connectivity may be a wired or a wireless connection over a local area or a wide area network.
[0031] The real-time parking lot occupancy detection module 1200 determines and maintains the occupancy status of the parking lot. The occupancy status of the parking lots comprises the occupancy status of the parking spots 160 in the parking area 100 of parking lot 200. A parking stop 160 is vacant if no vehicle is parked therein and is occupied if a vehicle is parked therein. At least one parking monitoring camera 1210 (one shown here) is operatively coupled to the real-time parking lot occupancy detection module 1200. The parking monitoring camera 1210 captures real-time footage of the parking area 100. The captured real-time footage are delivered to the real-time parking lot occupancy detection module 1200 for determining the status of the parking spots 160, that is which parking spots are vacant and which are occupied by vehicles. Accordingly, the status of the individual parking spots 160 indicates whether there are any available parking spots 160 and that the parking lot 200 may accept more vehicles. The status of the parking spots 160 is communicated to the parking lot management server 1400 over the network connection therebetween.
[0032] In an example embodiment, the parking management server 1400 shares the parking spots 160 status with a driver wishing to park their vehicle in the parking lot 200 by pushing the parking lot occupancy status to the driver's parking lot management mobile Date Recue/Date Received 2021-03-30 application 1500.
[0033] The real-time vehicle detection module 1300 detects vehicle entry into and exit from the parking lot 200. At least one vehicle entry detection camera 1310 is coupled to the real-time vehicle detection module 1300. The vehicle entry detection camera 1310 is configured for capturing real-time footage of the license plates of vehicles entering the parking lot 200. Similarly, at least one vehicle exit detection camera 1320 is coupled to the real-time vehicle detection module 1300 and is configured for capturing real-time footage of the license plates of vehicles exiting the parking lot 200. One camera can be used for both the vehicle entry detection camera 1310 and the vehicle exit detection camera 1320, for example when there is one driveway used for both entrance and exit. In some example embodiments, existing license plate recognition (LPR) technology is used to identify the vehicle entering and exiting the parking lot, as is understood in the art. The real-time footage captured by both the vehicle entry detection camera 1310 and vehicle exit detection camera 1320 are processed by the real-time vehicle detection module 1300 to recognize the license plate of the vehicle and also record a time stamp associated with each of the vehicle entry and exit times. The license plate of the vehicle is compared with a registered license plates to see if there is an existing registered account associated with the license plate. The license plate information and both the entry and exit times for each vehicle are communicated by the real-time vehicle detection module 1300 to the parking lot management server 1400. Additionally, in an example embodiment, when a vehicle is detected at the parking lot entrance 210 of the parking lot 200, the real-time vehicle detection module 1300 notifies the parking lot management server 1400 of the particular vehicle's presence at the parking lot entry 210. In an example embodiment, when a vehicle 52 is detected at the parking lot exit, the real-time vehicle detection module 1300 sends a notification of the entry event to the parking lot management server 1400.
[0034] The parking management server 1400 receives parking lot occupancy status information from the real-time parking lot occupancy detection module 1200 over the network connection therebetween. The parking lot management server 1400 can maintain the status of the parking lot and push the status to the parking lot management mobile application 1500 to Date Recue/Date Received 2021-03-30 indicate to the driver of a vehicle 51 entering the parking lot 200 whether there are available parking spots 160. In some embodiments, the parking lot occupancy status information includes a representation (such as a map) of the parking area 100 in which the boundaries 165 of the parking spots 160 are shown, and the both the occupied and vacant parking lots are differentiated. For example, the available parking spots may be assigned a different color from the occupied parking spots. In other embodiments, the parking lot occupancy status information comprises the number of available parking spots. In other example embodiments, rather than continually maintain the status, the parking lot management server 1400 only determines the real-time status of the parking lot when a vehicle is detected at the parking lot entrance 210 of the parking lot 200, and then pushes the real-time status to the parking lot management mobile application 1500.
[0035]
The parking lot management server 1400 receives a notification from the real-time vehicle detection module 1300 when a vehicle 51 is detected at the parking lot entrance 210. The notification includes an identification of the vehicle 51 by the license plate of the vehicle 51. The parking lot management server 1400 either maintains a record of the vehicles authorized to park at the parking lot 200, or performs a lookup operation by the license plate included in the notification. Consequently, the parking lot management server 1400 identifies the parking lot management mobile application 1500 corresponding to the driver (or authorized user account) of the vehicle 51. The parking lot management mobile application 1500 is identified on the mobile device 2000 belonging to the driver. The parking lot management server 1400 sends a message containing the parking lot occupancy status to the parking lot management mobile application 1500, in response to the identification. In some embodiments, the parking lot management server 1400 sends a payment authorization request to the parking lot management mobile application 1500, and receives a payment authorization response form the parking lot management mobile application 1500. In other embodiments, the payment information for the owner of the vehicle 51 has been previously provided to the parking lot management server 1400 at an earlier time, and is pre-authorized. The notification from the real-time vehicle detection module 1300 of the vehicle's entry into the parking lot 200 contains a time stamp indicating the time of entry of the vehicle 51 into the parking lot 200. The parking Date Recue/Date Received 2021-03-30 lot management server 1400 records an entry in a database thereof for the vehicle 51 and includes the time of entry into the parking lot 200 in that entry.
The parking lot management server 1400 receives a notification from the real-time vehicle detection module 1300 when a vehicle 51 is detected at the parking lot entrance 210. The notification includes an identification of the vehicle 51 by the license plate of the vehicle 51. The parking lot management server 1400 either maintains a record of the vehicles authorized to park at the parking lot 200, or performs a lookup operation by the license plate included in the notification. Consequently, the parking lot management server 1400 identifies the parking lot management mobile application 1500 corresponding to the driver (or authorized user account) of the vehicle 51. The parking lot management mobile application 1500 is identified on the mobile device 2000 belonging to the driver. The parking lot management server 1400 sends a message containing the parking lot occupancy status to the parking lot management mobile application 1500, in response to the identification. In some embodiments, the parking lot management server 1400 sends a payment authorization request to the parking lot management mobile application 1500, and receives a payment authorization response form the parking lot management mobile application 1500. In other embodiments, the payment information for the owner of the vehicle 51 has been previously provided to the parking lot management server 1400 at an earlier time, and is pre-authorized. The notification from the real-time vehicle detection module 1300 of the vehicle's entry into the parking lot 200 contains a time stamp indicating the time of entry of the vehicle 51 into the parking lot 200. The parking Date Recue/Date Received 2021-03-30 lot management server 1400 records an entry in a database thereof for the vehicle 51 and includes the time of entry into the parking lot 200 in that entry.
[0036] When the driver or the license plate is not yet registered onto the parking lot management server 1400, the driver can sign up as a new user and provide credit card information. For example, the driver can download the parking lot management mobile application 1500 onto their mobile device 2000. The parking lot management mobile application 1500 can be downloaded through the Internet, an application store, or via scanning of an onsite Quick Response (QR) code, etc.
[0037] The parking lot management server 1400 receives a notification from the real-time vehicle detection module 1300 when a vehicle 52 is detected at the parking lot exit 220.
The notification includes an identification of the vehicle 52 by its license plate and a time stamp indicating the time of exit of the vehicle 52 from the parking lot 200. The parking lot management server 1400 looks up the vehicle's license plate in the database, locates its database entry and obtains the time of entry of the vehicle 52. The parking lot management server 1400 determines the parking duration for the vehicle 52 in the parking lot 200 based on the time of entry of the vehicle 52 into the parking lot 200 and the time of exit of the vehicle 52 from the parking lot 200. In an example embodiment, the parking lot management server 1400 subtracts the time of entry from the time of exit to determine the parking duration. The parking lot management server 1400 then determines the parking fee based on a parking rate and the parking duration. In some example embodiments, the parking duration and/or parking fee are sent in a message by the parking lot management server 1400 to the parking lot management mobile application 1500 for final authorization by the driver. In other embodiments, authorization was obtained at the time of entry of the vehicle 52 into the parking lot 200.
Accordingly, the method of payment corresponding to the vehicle 52 is charged the parking fee, upon the parking lot management server 1400 receiving the notification from the real-time vehicle detection module 1300 that the vehicle 52 is detected at the parking lot exit 220. For example, the parking lot management server 1400 may send the parking fee to a cloud server having bill payment capability.
Date Recue/Date Received 2021-03-30
The notification includes an identification of the vehicle 52 by its license plate and a time stamp indicating the time of exit of the vehicle 52 from the parking lot 200. The parking lot management server 1400 looks up the vehicle's license plate in the database, locates its database entry and obtains the time of entry of the vehicle 52. The parking lot management server 1400 determines the parking duration for the vehicle 52 in the parking lot 200 based on the time of entry of the vehicle 52 into the parking lot 200 and the time of exit of the vehicle 52 from the parking lot 200. In an example embodiment, the parking lot management server 1400 subtracts the time of entry from the time of exit to determine the parking duration. The parking lot management server 1400 then determines the parking fee based on a parking rate and the parking duration. In some example embodiments, the parking duration and/or parking fee are sent in a message by the parking lot management server 1400 to the parking lot management mobile application 1500 for final authorization by the driver. In other embodiments, authorization was obtained at the time of entry of the vehicle 52 into the parking lot 200.
Accordingly, the method of payment corresponding to the vehicle 52 is charged the parking fee, upon the parking lot management server 1400 receiving the notification from the real-time vehicle detection module 1300 that the vehicle 52 is detected at the parking lot exit 220. For example, the parking lot management server 1400 may send the parking fee to a cloud server having bill payment capability.
Date Recue/Date Received 2021-03-30
[0038] While the components of the parking lot management system 1000 are shown as separate logical blocks, it will be apparent to those of skill in the art that the configuration of the parking lot management system 1000 may vary without having a material effect on its functionality. For example, some or all of the components are integrated in a single sub-system, such as subsystem 900. In one example, the real-time vehicle detection module 1300 and the real-time parking lot occupancy detection module 1200 are integrated with the parking lot management server 1400. The real-time parking lot occupancy detection module 1200, the real-time vehicle detection module 1300, and the parking lot management server are shown as components of a parking lot management sub-system 900 which in an example embodiment is implemented on a single device.
[0039] The parking lot management mobile application 1500 runs on a mobile electronic device such as a smaiiphone or a tablet computer. In one embodiment, the mobile electronic device has wide area network connectivity, such as cellular coverage. In another embodiment, the mobile electronic device has wireless local area network (WLAN) connectivity while in proximity with the parking lot 200 such that the mobile electronic device has network connectivity parking lot management server 1400. In yet another embodiment, the mobile electronic device has short range network connectivity with the parking lot management server while inside or in proximity with the parking lot 200. In all cases, the parking lot management mobile application 1500 has network connectivity with the parking management server 1400. The parking lot management mobile application 1500 is configured to cooperate with the parking management server 1400 to perform a number of tasks.
[0040] The parking lot management mobile application 1500 receives a message from the parking lot management server 1400 indicating that no parking spots are available for parking in the parking lot 200. In this case the parking lot management mobile application 1500 displays a message to the mobile device 2000 of the driver indicating that they should not enter the parking lot 200 for there will be no spots 160 for them to park in.
Conversely, if the parking lot management mobile application 1500 receives a message from the parking lot management server 1400 indicating the availability of at least one parking spot, a message to that effect is Date Recue/Date Received 2021-03-30 displayed on the display 2028 of mobile device 2000. In some embodiments, if parking spots are available, the parking lot management mobile application 1500 receives a payment authorization request from parking lot management server 1400. In other embodiments, payment authorization is obtained at an earlier time.
Conversely, if the parking lot management mobile application 1500 receives a message from the parking lot management server 1400 indicating the availability of at least one parking spot, a message to that effect is Date Recue/Date Received 2021-03-30 displayed on the display 2028 of mobile device 2000. In some embodiments, if parking spots are available, the parking lot management mobile application 1500 receives a payment authorization request from parking lot management server 1400. In other embodiments, payment authorization is obtained at an earlier time.
[0041] In some embodiments, the parking lot management mobile application 1500 is installed on a mobile device 2000 and then configured. At the configuration step, the driver enters login information, the license plate number of their vehicle, and one or more payment methods such as credit card information, debit card information, or a PayPal account information. In some embodiments, the payment information is stored in the parking lot management mobile application 1500 and provided by the parking lot management mobile application 1500 to the parking lot management server 1400 upon request. In other embodiments, the payment method is charged directly by the parking lot management mobile application 1500 when the vehicle exits the parking lot 200. As part of the configuration parameters, the parking lot management mobile application 1500 can be configured to never ask for payment authorization or to prompt the driver for payment authorization every time parking at a parking lot 200 is attempted.
[0042] In some embodiments, the message received by the parking lot management mobile application 1500 from the parking lot management server 1400 includes a map of the parking area 100 of the parking lot 200. The map of the parking area 100 is rendered on the display 2028 of the mobile device 2000 as part of the user interface of the parking lot management mobile application 1500. The rendered map shows the occupied parking spots and the vacant parking spots to assist the driver of the vehicle 51 in finding a vacant spot in the parking area 100.
[0043] In some embodiments, the parking lot management mobile application includes navigation functionality. For instance, upon displaying a map of the parking area 100 as part of the user interface of the parking lot management mobile application 1500, the parking lot management mobile application 1500 may receive a touch input on the display 2028, the Date Recue/Date Received 2021-03-30 touch input being on a screen location where a vacant parking spot 160 is displayed for selecting that vacant parking spot 160. The parking lot management mobile application 1500 interprets the selection as indicating that the driver wishes to park their vehicle 51 at the selected parking spot 160. The parking lot management mobile application 1500 may then display navigation instructions on the display 2028 of the mobile device 2000. The displayed navigation instructions assist the driver in parking the vehicle 51 in the selected parking spot 160. In some embodiments the navigation functionality relies on a global positioning system (GPS) receiver 2051 of the mobile electronic device. In other embodiments, the navigation utilizes local wireless network triangulation. For example, the location of the mobile electronic device relative to the parking area may be determined by triangulation based on the connectivity of the mobile electronic device 2000 via its network interface 2076 with various wireless LAN (WiFi) access points located in the parking lot 200. For example, the mobile device running the parking lot mobile application 1500 may have been pre-configured with the service set identifier (SSID) of a WiFi network in the parking lot 200 which has connectivity to the parking lot management server 1400. In another example, the location of the vehicle containing the mobile device running the application 1500 can be determined using an positioning system that utilizes a Bluetooth device emitting low energy beacons within the parking area 100. The mobile device running the mobile application 1500 is configured to find its location relative to the Bluetooth beacon. In some examples, positioning devices are not used and the final parking spot of the vehicle 51 is determined using only using vision detection as the sole sensor technology, through the parking area monitoring camera 1210.
[0044] In some embodiments, a vehicle 51 entering the parking lot 120 is tracked as it enters the parking area until it parks in a parking spot 160. In some examples, the vehicle 51 is tracked by the parking area monitoring camera 1210. For example, the parking area monitoring camera 1210 has motion sensing technology that allows it to follow a vehicle 51 as it enters the parking lot. In another example, the parking area monitoring camera 1210 is periodically sweeping the parking area 100. In some examples, the parking area monitoring camera 1210 is comprised of a plurality of stationary cameras which cover the entire parking area. A vehicle 51 entering the parking lot 120 and parking at a parking spot 160 is tracked by more than one Date Recue/Date Received 2021-03-30 camera as it appears in the field of view of each camera. In other alternate embodiments, the vehicle 51 is tracked using location tracking. For example, when the driver of the vehicle 51 selects a parking spot in a representation of the parking area displayed on the user interface of the parking lot management application 1500 GPS navigation is provided to the driver. At the same time, the GPS navigation is sent by the parking lot management application 1500 to the parking lot management server 1400 so that the parking lot management server 1400 can track the vehicle 51 until it is parked in a parking spot 160.
[0045] In some embodiments, a vehicle 52 leaving the parking lot 120 is tracked as the vehicle 51 leaves the parking area 100 and heads for the parking lot exit 200.
In an example embodiment, the vehicle 52 is tracked by the parking area monitoring camera 1210 until the vehicle 51 reaches the exit 220 and is detected by vehicle exit detection camera 1320. As discussed above, in one example the parking area monitoring camera 1210 has motion tracking capability for tracking the vehicle 52 across the parking area 100. In another example, there is a plurality of parking area monitoring cameras 1210 that each captures images of the vehicle 52 as the vehicle 51 is moving along the aisle 130 towards the exit 220. In another embodiment, if the parking lot management application is used to navigate the vehicle 52 out of the parking area using GPS or another location tracking method, then the navigation is shared with the parking lot management server 1400 for tracking the vehicle 52 as the vehicle 52 heads towards the parking lot exit 220.
In an example embodiment, the vehicle 52 is tracked by the parking area monitoring camera 1210 until the vehicle 51 reaches the exit 220 and is detected by vehicle exit detection camera 1320. As discussed above, in one example the parking area monitoring camera 1210 has motion tracking capability for tracking the vehicle 52 across the parking area 100. In another example, there is a plurality of parking area monitoring cameras 1210 that each captures images of the vehicle 52 as the vehicle 51 is moving along the aisle 130 towards the exit 220. In another embodiment, if the parking lot management application is used to navigate the vehicle 52 out of the parking area using GPS or another location tracking method, then the navigation is shared with the parking lot management server 1400 for tracking the vehicle 52 as the vehicle 52 heads towards the parking lot exit 220.
[0046] In some embodiments, the parking lot management mobile application receives a message from the parking lot management server 1400 indicating that the vehicle 52 is leaving the parking lot 200. The message includes the parking duration and parking fee. In one embodiment, the parking lot management mobile application 1500 automatically charges the parking fee to the payment method stored in the parking lot management mobile application 1500. In another embodiment, the parking lot management mobile application 1500 displays a message on the display 2028 of the mobile device 2000 indicating the parking duration and parking fee to the driver, and asks for a final approval of payment.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
[0047] The operation of the real-time parking lot occupancy detection module 1200 will now be described with reference to FIGS. 4-8. The real-time parking lot occupancy detection module 1200 includes or is coupled with a parking monitoring camera 1210 having network connectivity, such as an Internet Protocol (IP) camera. The parking monitoring camera 1210 is operatively connected to an image processing module 1220 to perform various image processing operations on images or video frames captured by the parking monitoring camera 1210. The image processing module 1220 is, in turn, operatively connected to a parking lot occupancy status module 1230 which determines and/or maintains the occupancy status of each of the parking spots 160 of the parking area 100 of parking lot 200. As described above, in one example embodiment the real-time parking lot occupancy detection module 1200 is integrated with the parking management server 1400. In another example embodiment, the real-time parking lot occupancy detection module 1200 is a standalone component coupled with cameras 1310 and 1320 and is in network communication with the parking lot management server 1400.
[0048] In some example embodiments, the parking monitoring camera 1210 is in a fixed position and camera settings. In other examples, the parking monitoring camera 1210 is configured to be automatically or manually adjustable (through remote control), for example pan, tilt, or zoom (also known as PZT). In some example embodiments, one or more of the parking monitoring camera 1210 are used.
[0049] The operation of the real-time parking lot occupancy detection module 1200 is described with reference to FIG. 7. The real-time parking lot occupancy detection module 1200 is first initialized to work with the parking lot 200. At step 510 of the method 500, the parking monitoring camera 1210 is configured to capture a plurality of images of the parking area 100 while all the parking spots 160 are vacant under different weather and light conditions.
The images are still digital images or video frames which are part of a video feed produced by the parking monitoring camera 1210. The plurality of images of the empty parking lot 100 are transmitted from the parking area monitoring camera 1210 to the image processing module 1220. The image processing module 1220 processes the plurality of images to generate a representation (or map) of the empty parking area 100 that can be later compared with real-time Date Recue/Date Received 2021-03-30 images to determine parking spot occupancy by vehicles, as will be described below. In one example, the image processing module 1220 uses the different images of the parking area 100 to train a machine learning model so that the boundaries 165 of the parking spots are identifiable under different conditions.
The images are still digital images or video frames which are part of a video feed produced by the parking monitoring camera 1210. The plurality of images of the empty parking lot 100 are transmitted from the parking area monitoring camera 1210 to the image processing module 1220. The image processing module 1220 processes the plurality of images to generate a representation (or map) of the empty parking area 100 that can be later compared with real-time Date Recue/Date Received 2021-03-30 images to determine parking spot occupancy by vehicles, as will be described below. In one example, the image processing module 1220 uses the different images of the parking area 100 to train a machine learning model so that the boundaries 165 of the parking spots are identifiable under different conditions.
[0050] Once a representation of the parking lot 100 is produced, at step 520 the real-time parking lot occupancy detection module 1200 defines areas of interest 150 each corresponding to a respective parking spot 160 of the plurality of parking spots. In one embodiment, the areas of interest 150 are produced using image processing techniques by the image processing module 1220 in relation to the boundaries 165 delineating the parking spots 160. In other embodiments, the areas of interest 150 are produced by the parking lot occupancy status module 1230 or through a collaboration between the image processing module 1220 and the parking lot occupancy status module 1230. In the depicted example of FIG.
5, the areas of interest 150 are rectangular in shape and are each bounded by a rectangular frame 155. The parking lot occupancy status module 1230 assigns a parking spot identifier to each one of the areas of interest 150. For example, the areas of interest 150 corresponding to the plurality of lots in the parking area 100 are numbered 101-120. In some embodiments, the parking spots 160 are physically numbered with the same area identifiers using paint markings or by having signs posted near each parking spot 100 showing the parking spot identifier.
Initially the parking spots 160 of the parking area 100 area are all vacant. The parking lot occupancy status module 1230 initializes the parking lot occupancy status to indicate that all parking spots 160 are vacant. In one embodiment, the parking lot occupancy status module 1230 stores the parking lot occupancy status in a database table or another suitable data structure. In another embodiment, the parking lot occupancy status module 1230 sends parking lot occupancy status to the parking lot management server 1400, as discussed above.
5, the areas of interest 150 are rectangular in shape and are each bounded by a rectangular frame 155. The parking lot occupancy status module 1230 assigns a parking spot identifier to each one of the areas of interest 150. For example, the areas of interest 150 corresponding to the plurality of lots in the parking area 100 are numbered 101-120. In some embodiments, the parking spots 160 are physically numbered with the same area identifiers using paint markings or by having signs posted near each parking spot 100 showing the parking spot identifier.
Initially the parking spots 160 of the parking area 100 area are all vacant. The parking lot occupancy status module 1230 initializes the parking lot occupancy status to indicate that all parking spots 160 are vacant. In one embodiment, the parking lot occupancy status module 1230 stores the parking lot occupancy status in a database table or another suitable data structure. In another embodiment, the parking lot occupancy status module 1230 sends parking lot occupancy status to the parking lot management server 1400, as discussed above.
[0051] Under normal operating conditions, the parking monitoring camera 1210 is capturing a video feed of the parking area 100. The video feed is comprised of a plurality of frames. At step 530, a single video frame captured by the parking monitoring camera 1210 is input to the image processing module 1220. At step 540, the image processing module 1220 Date Recue/Date Received 2021-03-30 performs image noise reduction and adaptive background subtraction on the single video frame.
At step 550, the processed video frame is compared with the representation of the empty parking area 100 which includes the areas of interest 150, produced in step 520. For example, a machine learning model such as a regression model is employed. In an example embodiment, a logistic regression model determines whether a parking spot 160 is occupied by a vehicle 50. For example, for each area of interest 150 corresponding to a parking spot 160, the variance in color between the captured image and the color of the area of interest 150 in the representation of the empty parking area 100 is calculated. If the variance in color exceeds a predefined threshold, then that indicates that a vehicle 50 is parked in the parking spot.
At step 550, the processed video frame is compared with the representation of the empty parking area 100 which includes the areas of interest 150, produced in step 520. For example, a machine learning model such as a regression model is employed. In an example embodiment, a logistic regression model determines whether a parking spot 160 is occupied by a vehicle 50. For example, for each area of interest 150 corresponding to a parking spot 160, the variance in color between the captured image and the color of the area of interest 150 in the representation of the empty parking area 100 is calculated. If the variance in color exceeds a predefined threshold, then that indicates that a vehicle 50 is parked in the parking spot.
[0052] At step 560, if the comparison indicates that at least one area of interest 150 is occupied by a vehicle, then more video frames need to be processed to ascertain the location of the detected vehicles. At 570, a check of the number of frames processed is made. In one embodiment, 30 consecutive frames are processed and compared with the parking area representation. If at least one vehicle detected appears to be in a different location from its detected position in an earlier frame, then more frames are input and processed. The process continues until 30 consecutive frames show all vehicles in their same respective locations. This confirms that vehicle 50, for example, is parked in the area of interest 150 corresponding to the parking spot 160 having a parking spot identifier 103. Processing a number of consecutive frames ensures that a correct determination of the location of vehicles 50 in the parking area 100 is made. For example a vehicle 50 that is temporarily backing into a spot 160 will show up in that parking spot in a few frames, but not in subsequent frames.
However, a vehicle 50 that is detected to be in a particular spot 160 and remains in that spot in all processed frames is a vehicle which has permanently parked in that parking spot. Once the vehicles are detected in the areas of interest corresponding to parking spots, the parking lot occupancy status is updated by the parking lot occupancy status module 1230. For example, with reference to FIG. 6, a comparison between the frame captured by parking monitoring camera 1210 and the parking area representation corresponding to FIG. 5, will detect the presence of vehicle 50 in the area of interest corresponding to parking spot 103. At step 580, the parking lot occupancy status module 1230 updates the occupancy status of the parking lot 200 to indicate that the parking Date Recue/Date Received 2021-03-30 spot corresponding to area of interest 103 is occupied by a vehicle 50. The method 500 shown in FIG. 7 is continually running to detect newly parked vehicles in real-time.
However, a vehicle 50 that is detected to be in a particular spot 160 and remains in that spot in all processed frames is a vehicle which has permanently parked in that parking spot. Once the vehicles are detected in the areas of interest corresponding to parking spots, the parking lot occupancy status is updated by the parking lot occupancy status module 1230. For example, with reference to FIG. 6, a comparison between the frame captured by parking monitoring camera 1210 and the parking area representation corresponding to FIG. 5, will detect the presence of vehicle 50 in the area of interest corresponding to parking spot 103. At step 580, the parking lot occupancy status module 1230 updates the occupancy status of the parking lot 200 to indicate that the parking Date Recue/Date Received 2021-03-30 spot corresponding to area of interest 103 is occupied by a vehicle 50. The method 500 shown in FIG. 7 is continually running to detect newly parked vehicles in real-time.
[0053] In some embodiments, the parking area monitoring camera 1210 has a sufficiently high resolution to capture the license plate of the vehicle 50 as it parks in a parking spot 160. In some examples, additional instances of the parking area monitoring camera 1210 are used which are or can be positioned and zoomed to detect at license-plate level.
Accordingly, the parking lot occupancy status module 1230 can record the exact parking spot in which the vehicle 50 has been parked. The parking lot occupancy status is updated with the location of the vehicle 50. As indicated above, the parking lot occupancy status module 1230 sends parking lot occupancy status to the parking lot management server 1400.
In some embodiments, the parking lot management server 1400 sends a message to the parking lot management mobile application 1500 with the updated parking lot occupancy status. At a later time, the parking lot management mobile application 1500 may be queried to determine the parking spot 160 at which the vehicle 50 was parked earlier. For example, upon receiving a command, the parking lot management mobile application 1500 displays a representation of the parking area 100 on the display 2028 of the mobile device 2000. The parking spot 160 at which the vehicle 50 was parked is identified on the representation of the parking area 100 on the display 2028. This assists the driver of the vehicle 50 in locating their vehicle particularly if the parking area 100 is large. In some embodiments, there are a plurality of parking area monitoring cameras 1210 covering the parking area 100 from different angles.
In this case, the plurality of parking area monitoring cameras 1210 have overlapping fields of view and capture overlapping images of the parking area 100. The overlapping images of the parking area 100 are combined to provide additional certainty as to the occupancy status of the various parking spots 160 and as to the location of any vehicle 50. For example, one parking area monitoring camera 1210 may not be able to capture the license plate of the vehicle 50. In this case, another parking area monitoring camera 1210 provide a captured image of the vehicle 50 from a different angle that better shows the vehicle's license plate. Accordingly, license plate recognition of the vehicle's license plate is improved and the vehicle's position is determined with more certainty.
Date Recue/Date Received 2021-03-30
Accordingly, the parking lot occupancy status module 1230 can record the exact parking spot in which the vehicle 50 has been parked. The parking lot occupancy status is updated with the location of the vehicle 50. As indicated above, the parking lot occupancy status module 1230 sends parking lot occupancy status to the parking lot management server 1400.
In some embodiments, the parking lot management server 1400 sends a message to the parking lot management mobile application 1500 with the updated parking lot occupancy status. At a later time, the parking lot management mobile application 1500 may be queried to determine the parking spot 160 at which the vehicle 50 was parked earlier. For example, upon receiving a command, the parking lot management mobile application 1500 displays a representation of the parking area 100 on the display 2028 of the mobile device 2000. The parking spot 160 at which the vehicle 50 was parked is identified on the representation of the parking area 100 on the display 2028. This assists the driver of the vehicle 50 in locating their vehicle particularly if the parking area 100 is large. In some embodiments, there are a plurality of parking area monitoring cameras 1210 covering the parking area 100 from different angles.
In this case, the plurality of parking area monitoring cameras 1210 have overlapping fields of view and capture overlapping images of the parking area 100. The overlapping images of the parking area 100 are combined to provide additional certainty as to the occupancy status of the various parking spots 160 and as to the location of any vehicle 50. For example, one parking area monitoring camera 1210 may not be able to capture the license plate of the vehicle 50. In this case, another parking area monitoring camera 1210 provide a captured image of the vehicle 50 from a different angle that better shows the vehicle's license plate. Accordingly, license plate recognition of the vehicle's license plate is improved and the vehicle's position is determined with more certainty.
Date Recue/Date Received 2021-03-30
[0054] FIG. 8 depicts the parking lot 200 of FIG. 2 with the gates (212, 222) and pay stations (214, 224) removed, and with a parking monitoring camera 1210, vehicle entry detection camera 1310, and a vehicle exit detection camera 1320. The vehicle entry detection camera 1310 captures license plate images of vehicles 51 entering the parking lot 200 via the entrance 210, while the vehicle exit detection camera 1320 captures license plate images of vehicles 52 exiting the parking lot via exit 220.
[0055] FIGS. 9A and 9B illustrate an example embodiment for a method 600 that is executed when a vehicle 51 approaches the parking lot entrance 210 of the parking lot 200. The method 600 is constantly being executed by the real-time vehicle detection module 1300 when the parking lot 200 is in operation. The method 600 starts at 605. At 610 the camera 1320 at the parking lot entrance 210 of the parking lot 200 captures a video frame of the license plate of the vehicle 51 which is approaching the entrance 210 in the direction of the arrow 215. The captured video frame undergoes some image processing at 615 including noise filtering and character recognition. At 620, the license plate number is determined as a result of the image processing. The real-time vehicle detection module 1300 then checks the parking lot occupancy status at step 625. In one example embodiment, the real-time vehicle detection module 1300 sends a message including the license plate information to the parking lot management server 1400 The messages includes an indication that such vehicle wishes to park at the parking lot 200. The message also includes an identifier for the parking lot 200. The parking management sever 1400 maintains a status of the parking spots in the parking area 100 of the parking lot 200. Therefore, the parking lot management server 1400 is able to determine whether the vehicle 51 may park at the parking lot 200. At 630, the parking management server 1400 checks to see if there is an available parking spot that the vehicle 51 may park in.
The parking lot management server 1400 maintains a database correlating the license plate number with the corresponding user account of the vehicle's owner including information about the parking lot management mobile application 1500 on the vehicle owner's mobile device 2000.
Accordingly, the parking management server 1400 is able to push a message to the parking lot management mobile application 1500 corresponding to the user account of the vehicle's owner. If no parking spots are available, the message includes an indication that there are no parking spots available Date Recue/Date Received 2021-03-30 at the parking lot 200, as indicated in step 635. Conversely, if there are spots available, then at 640, the message sent by the parking lot management server 1400 to the parking lot management mobile application 1500 includes an indication that the vehicle 51 may park at the parking lot 200. The parking lot management mobile application 1500 displays a message on the display 2028 of the mobile device 2000 prompting the driver to input a method of payment such as a credit card. At 650, if no payment is authorized, then at 660 the parking lot management mobile application 1500 displays a message on the display 2028 of the mobile device 2000 indicating that the vehicle may not be parked at the parking lot 200. If a payment method is authorized then a parking transaction is created at 660. At 670 the parking lot management server 1400 sends a message to the parking lot management mobile application 1500 indicating that the vehicle 51 may park in the parking lot 200.
The parking lot management server 1400 maintains a database correlating the license plate number with the corresponding user account of the vehicle's owner including information about the parking lot management mobile application 1500 on the vehicle owner's mobile device 2000.
Accordingly, the parking management server 1400 is able to push a message to the parking lot management mobile application 1500 corresponding to the user account of the vehicle's owner. If no parking spots are available, the message includes an indication that there are no parking spots available Date Recue/Date Received 2021-03-30 at the parking lot 200, as indicated in step 635. Conversely, if there are spots available, then at 640, the message sent by the parking lot management server 1400 to the parking lot management mobile application 1500 includes an indication that the vehicle 51 may park at the parking lot 200. The parking lot management mobile application 1500 displays a message on the display 2028 of the mobile device 2000 prompting the driver to input a method of payment such as a credit card. At 650, if no payment is authorized, then at 660 the parking lot management mobile application 1500 displays a message on the display 2028 of the mobile device 2000 indicating that the vehicle may not be parked at the parking lot 200. If a payment method is authorized then a parking transaction is created at 660. At 670 the parking lot management server 1400 sends a message to the parking lot management mobile application 1500 indicating that the vehicle 51 may park in the parking lot 200.
[0056] In an example embodiment, the parking lot management server 1400 employs a machine learning model which, in collaboration with the real-time parking lot occupancy detection module 1200 and the real-time vehicle detection module 1300 track a vehicle to determine whether a vehicle that had not provided payment authorization subsequently entered the parking lot 200 anyway and parked in a parking spot 160 of the parking area 100. For example, once it is determined, at 650, that payment is not authorized, in addition to sending notification to the parking lot management application 1500, images of the vehicle are captured by the vehicle entry detection camera 1310 and processed by the real-time vehicle detection module 1300 for example to define a representation of that vehicle. The representation of the vehicle which was not authorized for payment is sent to the parking lot management server 1400. When the parking area monitoring camera detects a new vehicle 50 in one of the parking spots 160, the real-time occupancy detection module 1200 sends images showing the new vehicle to the parking lot management server 1400, as described above. The parking lot management server 1400 performs the additional step of comparing the newly parked vehicle with the images of the vehicle which was not authorized provided by the real-time vehicle detection module 1300. If there is a match, then a notification is sent to a parking attendant or a by-law office to ticket the vehicle which has parked without authorization.
In an example embodiment, a logistic regression machine learning model is employed to match a vehicle Date Recue/Date Received 2021-03-30 detected at the parking lot entrance 210 with one parked at a parking spot 160. The machine learning model is trained by capturing images of vehicles of different shapes, sizes, and colors at the parking lot entrance 210 using the vehicle entry detection camera 1310, then capturing images of the same vehicles while parked at parking spots 160. By identifying, to the model, each vehicle at both the entrance and in the parking spot, the parameters of the model are optimized. The outcome of the model is either that a vehicle which was detected at the entrance matches a vehicle parked in the parking lot or does not match. If there is a match, then the parking lot management server 1400 checks whether the vehicle is authorized.
Accordingly, the logistic regression model enables the parking lot management server 1400 to verify the identity of the vehicle parked at any parking spot 160, and any vehicle which is not authorized may be tagged or towed. As an added benefit, the parking lot management server 1400 sends the parking spot number in which a vehicle has parked, to the parking lot management application 1500 corresponding to that vehicle. For example, with reference to FIG. 6, the parking lot management server 1400 sends a message to the parking lot management application 1500 corresponding to the vehicle 50 indicating that the vehicle has parked in parking lot 103. This assists the driver of the vehicle 50 in remembering the place where they have parked their vehicle.
In an example embodiment, a logistic regression machine learning model is employed to match a vehicle Date Recue/Date Received 2021-03-30 detected at the parking lot entrance 210 with one parked at a parking spot 160. The machine learning model is trained by capturing images of vehicles of different shapes, sizes, and colors at the parking lot entrance 210 using the vehicle entry detection camera 1310, then capturing images of the same vehicles while parked at parking spots 160. By identifying, to the model, each vehicle at both the entrance and in the parking spot, the parameters of the model are optimized. The outcome of the model is either that a vehicle which was detected at the entrance matches a vehicle parked in the parking lot or does not match. If there is a match, then the parking lot management server 1400 checks whether the vehicle is authorized.
Accordingly, the logistic regression model enables the parking lot management server 1400 to verify the identity of the vehicle parked at any parking spot 160, and any vehicle which is not authorized may be tagged or towed. As an added benefit, the parking lot management server 1400 sends the parking spot number in which a vehicle has parked, to the parking lot management application 1500 corresponding to that vehicle. For example, with reference to FIG. 6, the parking lot management server 1400 sends a message to the parking lot management application 1500 corresponding to the vehicle 50 indicating that the vehicle has parked in parking lot 103. This assists the driver of the vehicle 50 in remembering the place where they have parked their vehicle.
[0057]
FIG. 10 depicts a method 700 of detecting a vehicle leaving the parking lot 200, and the associated actions of determining the fees and charging the driver.
The method begins at 710 with the camera 1310 capturing a video frame of a vehicle exiting the parking lot. At step 720, the image (or frame) is processed and at 730 the license plate of the vehicle is recognized. At 740 the system checks that the license plate is that of a vehicle which had entered the parking lot at an earlier time. This eliminates any vehicle which happens to accidentally back into the exit 220 of the parking lot 200. At 750, the entry time for that vehicle as detected upon entry is subtracted from the exit time which is detected at exit. The difference indicates the time the vehicle 52 was parked in the parking lot 200. The system computes the parking fees based on the parking time. At 760, the user is charged if applicable. For example, if the user had tapped a credit card upon entry, then that credit card is charged the parking fees.
Additionally, the user is notified that their card has been charged. The parking transaction is Date Recue/Date Received 2021-03-30 finalized after the vehicle leaves the parking lot.
FIG. 10 depicts a method 700 of detecting a vehicle leaving the parking lot 200, and the associated actions of determining the fees and charging the driver.
The method begins at 710 with the camera 1310 capturing a video frame of a vehicle exiting the parking lot. At step 720, the image (or frame) is processed and at 730 the license plate of the vehicle is recognized. At 740 the system checks that the license plate is that of a vehicle which had entered the parking lot at an earlier time. This eliminates any vehicle which happens to accidentally back into the exit 220 of the parking lot 200. At 750, the entry time for that vehicle as detected upon entry is subtracted from the exit time which is detected at exit. The difference indicates the time the vehicle 52 was parked in the parking lot 200. The system computes the parking fees based on the parking time. At 760, the user is charged if applicable. For example, if the user had tapped a credit card upon entry, then that credit card is charged the parking fees.
Additionally, the user is notified that their card has been charged. The parking transaction is Date Recue/Date Received 2021-03-30 finalized after the vehicle leaves the parking lot.
[0058] FIG. 11 illustrates an example processing system 3000, which may be used to implement methods and systems described herein, such as the real-time parking lot occupancy detection module 1200, the real-time vehicle detection module 1300 or the parking lot management server 1400. Other processing systems suitable for implementing the example methods and systems, which may include components different from those discussed below.
Although FIG. 11 shows a single instance of each component, there may be multiple instances of each component in the processing system 3000.
Although FIG. 11 shows a single instance of each component, there may be multiple instances of each component in the processing system 3000.
[0059] The processing system 3000 may include one or more processing devices 3002, such as a processor, a microprocessor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a dedicated logic circuitry, or combinations thereof. The processing system 3000 may also include one or more input/output (I/0) interfaces 3004, which may enable interfacing with one or more appropriate input devices and/or output devices (not shown). One or more of the input devices and/or output devices may be included as a component of the processing system 3000 or may be external to the processing system 3000.
The processing system 3000 may include one or more network interfaces 3008 for wired or wireless communication with a network. In example embodiments, network interfaces 1308 include one or more wireless interfaces that enable communications in a WLAN
network. The network interface(s) 3008 may include interfaces for wired links (e.g., Ethernet cable) and/or wireless links (e.g., one or more radio frequency links) for intra-network and/or inter-network communications. The network interface(s) 3008 may provide wireless communication via one or more transmitters or transmitting antennas, one or more receivers or receiving antennas, and various signal processing hardware and software, for example. In this regard, some network interface(s) 3008 may include respective processing systems that are similar to processing system 1300.
The processing system 3000 may include one or more network interfaces 3008 for wired or wireless communication with a network. In example embodiments, network interfaces 1308 include one or more wireless interfaces that enable communications in a WLAN
network. The network interface(s) 3008 may include interfaces for wired links (e.g., Ethernet cable) and/or wireless links (e.g., one or more radio frequency links) for intra-network and/or inter-network communications. The network interface(s) 3008 may provide wireless communication via one or more transmitters or transmitting antennas, one or more receivers or receiving antennas, and various signal processing hardware and software, for example. In this regard, some network interface(s) 3008 may include respective processing systems that are similar to processing system 1300.
[0060] The processing system 3000 may also include one or more storage units 3013, which may include a mass storage unit such as a solid state drive, a hard disk drive, a magnetic Date Recue/Date Received 2021-03-30 disk drive and/or an optical disk drive. The processing system 3000 may include one or more memories 3010, which may include a volatile or non-volatile memory (e.g., a flash memory, a random access memory (RAM), and/or a read-only memory (ROM)). The non-transitory memory(ies) 3010 may store instructions for execution by the processing device(s) 1302, such as to carry out the example embodiments. In the embodiment shown, the real-time lot occupancy detection module 1200, the real-time vehicle detection module 1300 and the parking lot management serer 1400 are shown as modules stored in the memory 3010. In other embodiments, each one of these modules may be running in an independent system 3000. The memory(ies) 1310 may include other software instructions, such as for implementing an operating system and other applications/functions. In some examples, one or more data sets and/or module(s) may be provided by an external memory (e.g., an external drive in wired or wireless communication with the processing system 3000) or may be provided by a transitory or non-transitory computer-readable medium. Examples of non-transitory computer readable media include a RAM, a ROM, an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a CD-ROM, or other portable memory storage.
[0061] There may be a bus 3014 providing communication among components of the processing system 3000, including the processing device(s) 3002, I/O
interface(s) 3004, network interface(s) 3008, storage unit(s) 3013, memory(ies) 3010. The bus 3014 may be any suitable bus architecture including, for example, a memory bus, a peripheral bus or a video bus.
interface(s) 3004, network interface(s) 3008, storage unit(s) 3013, memory(ies) 3010. The bus 3014 may be any suitable bus architecture including, for example, a memory bus, a peripheral bus or a video bus.
[0062] FIG. 12 depicts a distributed parking lot management system 4000.
The system features a proxy 4400 which is a lightweight pass-through server configured to direct requests to the appropriate module of the parking lot management system. A server 4444 is configured for running the parking management server 1400. The server 4444 is in communication with a master database 4600 via a cache 4500. The master database 4600 is configured for storing the parking lot occupancy status, user profiles such as car information and license plates, as described above. Also shown is a replica database 4700 which acts as a backup database for the master database 4600. A first application server 4800 is configured for running the Date Recue/Date Received 2021-03-30 occupancy detection module 1200, is in communication with the parking management server 1400 running on the server 4444, and is also in communication with the proxy 4400. A second application server 4900 is configured for running the vehicle detection module 1300, is in communication with the parking management 1400 running on the server 4444, and is also in communication with the proxy 4400. The proxy 4400 is in communication with the internet 4200 via secure firewall 4300. A mobile device 4100 is configured for running the parking lot mobile application 1500 and is in communication with the modules (1200, 1300, 1400) via the proxy 4400 and the internet 4200.
The system features a proxy 4400 which is a lightweight pass-through server configured to direct requests to the appropriate module of the parking lot management system. A server 4444 is configured for running the parking management server 1400. The server 4444 is in communication with a master database 4600 via a cache 4500. The master database 4600 is configured for storing the parking lot occupancy status, user profiles such as car information and license plates, as described above. Also shown is a replica database 4700 which acts as a backup database for the master database 4600. A first application server 4800 is configured for running the Date Recue/Date Received 2021-03-30 occupancy detection module 1200, is in communication with the parking management server 1400 running on the server 4444, and is also in communication with the proxy 4400. A second application server 4900 is configured for running the vehicle detection module 1300, is in communication with the parking management 1400 running on the server 4444, and is also in communication with the proxy 4400. The proxy 4400 is in communication with the internet 4200 via secure firewall 4300. A mobile device 4100 is configured for running the parking lot mobile application 1500 and is in communication with the modules (1200, 1300, 1400) via the proxy 4400 and the internet 4200.
[0063] FIG. 13 is a block diagram of an example mobile device 2000, on which the parking lot management mobile application 1500 is running. The mobile device 2000 may be used to execute machine readable instructions, in order to implement methods and examples described herein. Other processing units suitable for implementing embodiments described may be used, which may include components different from those discussed below. Although FIG. 13 shows a single instance of each component, there may be multiple instances of each component in the mobile device 2000.
[0064] The mobile device 2000 may include one or more processing units 2072, such as a processor, a microprocessor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a dedicated logic circuitry, a tensor processing unit, a neural processing unit, a hardware accelerator, or combinations thereof. The mobile device 2000 may also include one or more input/output (I/O) interfaces 2074, which may enable interfacing with one or more appropriate input devices 2084 and/or output devices 2086. The mobile device 2000 may include one or more network interfaces 2076 for wired or wireless communication with a network (e.g., an intranet, the Internet, a P2P network, a WAN and/or a LAN) or other node. The network interfaces 2076 may include wired links (e.g., Ethernet cable) and/or wireless links (e.g., one or more antennas) for intra-network and/or inter-network communications.
[0065] The mobile device 2000 may also include one or more storage units 2078, which Date Recue/Date Received 2021-03-30 may include a mass storage unit such as a solid state drive, a hard disk drive, a magnetic disk drive and/or an optical disk drive. The mobile device 2000 may include one or more memories 2080, which may include a volatile or non-volatile memory (e.g., a flash memory, a random access memory (RAM), and/or a read-only memory (ROM)). The non-transitory memory(ies) 2080 and/or storage units 2078 may store software programs such as parking lot management application 1500 that include instructions for execution by the processing unit(s) 2072, such as to perform the tasks described herein. In some other examples, one or more data sets and/or modules may be provided by an external memory (e.g., an external drive in wired or wireless communication with the mobile device 2000) or may be provided by a transitory or non-transitory computer-readable medium. Examples of non-transitory computer readable media include a RAM, a ROM, an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, or other portable memory storage.
[0066] In some examples touch patterns that correspond to the touch input gestures described above may be stored in storage unit 2078 and/or memory 2080. There may be a bus 2082 providing communication among components of the mobile device 2000, including the processing units(s) 2072, I/O interface(s) 2074, network interface(s) 2076, storage unit(s) 2078 and/or memory(ies) 2080. The bus 2082 may be any suitable bus architecture including, for example, a memory bus, a peripheral bus or a video bus. The input device(s) 2084 and output devices 2086 include display 2028, which can be a touchscreen.
[0067] Example embodiments include certain example algorithms and calculations for implementing examples of the disclosed methods and systems. However, the example embodiments are not bound by any particular algorithm or calculation. Although the present example embodiments describe methods and processes with steps in a certain order, one or more steps of the methods and processes may be omitted or altered as appropriate. One or more steps may take place in an order other than that in which they are described, as appropriate.
[0068] Through the descriptions of the preceding embodiments, example embodiments may be implemented by using hardware only, or by using software and a necessary universal Date Recue/Date Received 2021-03-30 hardware platform, or by a combination of hardware and software. Based on such understandings, the technical solution may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), USB flash drive, or a hard disk.
The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the example embodiments.
The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the example embodiments.
[0069] Although the example embodiments and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein.
[0070] Moreover, the scope of the example embodiments is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the example embodiments, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
Claims (29)
1. A computer implemented method by a processing system, the method comprising:
detecting entry of a vehicle into a parking lot, by capturing at least one image of the vehicle at an entrance of the parking lot by at least one first cameras;
identifying, based on the captured at least one image, the vehicle entering the parking lot and a mobile application corresponding to the vehicle;
determining an occupancy status of the parking lot by monitoring a parking area of the parking lot using at least one second cameras;
sending, in response to identifying the vehicle entering the parking lot, a first message to the mobile application, the first message containing the occupancy status of the parking lot;
detecting exit of the vehicle from the parking lot, by capturing at least one image of the vehicle at an exit of the parking lot by the at least one first cameras;
identifying the vehicle at exit from the parking lot based on the captured at least one image;
determining a parking duration of the vehicle in the parking lot based on an entry time of the vehicle into the parking lot and an exit time of the vehicle from the parking lot; and sending a second message including the parking duration to the mobile application or to a cloud server.
detecting entry of a vehicle into a parking lot, by capturing at least one image of the vehicle at an entrance of the parking lot by at least one first cameras;
identifying, based on the captured at least one image, the vehicle entering the parking lot and a mobile application corresponding to the vehicle;
determining an occupancy status of the parking lot by monitoring a parking area of the parking lot using at least one second cameras;
sending, in response to identifying the vehicle entering the parking lot, a first message to the mobile application, the first message containing the occupancy status of the parking lot;
detecting exit of the vehicle from the parking lot, by capturing at least one image of the vehicle at an exit of the parking lot by the at least one first cameras;
identifying the vehicle at exit from the parking lot based on the captured at least one image;
determining a parking duration of the vehicle in the parking lot based on an entry time of the vehicle into the parking lot and an exit time of the vehicle from the parking lot; and sending a second message including the parking duration to the mobile application or to a cloud server.
2. The method of claim 1, wherein the at least one first cameras comprise a vehicle entry detection camera located at an entrance of the parking lot and a vehicle exit detection camera located at an exit of the parking lot.
3. The method of claim 1, further comprising computing a parking fee based at least in part on the parking duration.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
4. The method of claim 3, wherein the second message includes the computed parking fee.
5. The method of claim 1, wherein identifying the vehicle comprises performing license plate recognition on the captured at least one image of the vehicle.
6. The method of claim 1, wherein the at least one second cameras comprises a plurality of parking area monitoring cameras having overlapping fields of view.
7. The method of claim 1, wherein the parking area comprises a plurality of parking spots, and the method further comprises:
capturing a plurality of images of the parking area with all the parking spots being vacant, at different times of day or under different weather conditions, using the at least one second cameras; and processing the captured images to generate a representation of the parking area.
capturing a plurality of images of the parking area with all the parking spots being vacant, at different times of day or under different weather conditions, using the at least one second cameras; and processing the captured images to generate a representation of the parking area.
8. The method of claim 7, further comprising defining a plurality of areas of interest, each area of interest corresponding to a respective one of the plurality of parking spots.
9. The method of claim 8, wherein determining the occupancy status of the parking lot comprises:
capturing an image of the parking area using the at least one second cameras;
and determining whether a variance in color in any one of the plurality of areas of interest between the captured image of the parking area and the representation of the parking area is above a predefined threshold.
capturing an image of the parking area using the at least one second cameras;
and determining whether a variance in color in any one of the plurality of areas of interest between the captured image of the parking area and the representation of the parking area is above a predefined threshold.
10. The method of claim 7, wherein the first message includes the representation of the parking area of the parking lot and in which available and occupied parking spots are differentiated.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
11. The method of claim 10, wherein the representation comprises a map which can be used by the mobile application to navigate the vehicle to an available parking spot.
12. The method of claim 8, wherein determining the occupancy status of the parking lot comprises utilizing a machine learning model which is trained by the captured plurality of images of the parking area with all the parking spots being vacant.
13. The method of claim 12, wherein the machine learning model includes a logistic regressive model that determines that a vehicle is parked in a parking spot by determining that a variance in color in any one of the plurality of areas of interest between the captured image of the parking area and the representation of the parking area is above a predefined threshold.
14. The method of claim 1, wherein determining the parking duration of the vehicle in the parking is performed in response to detecting the exit of the vehicle from the parking lot.
15. The method of claim 1, wherein the entry time is based on when the image of the vehicle is captured at the entrance of the parking lot.
16. The method of claim 1, wherein the exit time is based on when the image of the vehicle is captured at the exit of the parking lot.
17. The method of claim 1, further comprising comparing the vehicle detected at the entrance of the parking lot with any one of a plurality of vehicles parked in any one of a plurality of parking spots comprising the parking area.
18. The method of claim 17, wherein the comparing is done using a machine learning model that determines whether the vehicle detected at the entrance matches one of the plurality of vehicles or not.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
19. The method of claim 18, wherein the machine learning model is a logistic regressive model.
20. The method of claim 17, further comprising training the machine learning model with images of vehicles captured at the entrance and corresponding images of the vehicles parked in the parking spots the parking area.
21. The method of claim 17, further comprising if the vehicle detected at the entrance matches any one of the plurality of parked vehicles, determining whether the vehicle was authorized to park.
22. The method of claim 1, further comprising tracking the detected vehicle from the entrance to a parking spot of the parking area.
23. The method of claim 22, wherein the tracking is performed using at least one second cameras.
24. The method of claim 22, wherein the tracking is performed using location tracking
25. The method of claim 1, further comprising tracking the detected vehicle from a parking spot of to the exit of the parking area.
26. The method of claim 25, wherein the tracking is performed using at least one second cameras.
27. The method of claim 25, wherein the tracking is performed using a position tracking device.
28. A parking lot management system, comprising:
at least one first cameras positioned for monitoring entrance and exit of a parking lot;
Date Recue/Date Received 2021-03-30 at least one second cameras positioned for monitoring a parking area of the parking lot;
a processing device;
a network interface coupled to the processing device; and a non-transitory memory coupled to the processing device and storing software instructions that when executed by the processing device configure the processing device to carry out the steps of claims 1 to 2716.
at least one first cameras positioned for monitoring entrance and exit of a parking lot;
Date Recue/Date Received 2021-03-30 at least one second cameras positioned for monitoring a parking area of the parking lot;
a processing device;
a network interface coupled to the processing device; and a non-transitory memory coupled to the processing device and storing software instructions that when executed by the processing device configure the processing device to carry out the steps of claims 1 to 2716.
29. A computer readable medium storing instructions that when executed by a processing device configure the processing device to carry out the steps of claims 1 to 27.
Date Recue/Date Received 2021-03-30
Date Recue/Date Received 2021-03-30
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063031968P | 2020-05-29 | 2020-05-29 | |
US63/031,968 | 2020-05-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA3113494A1 true CA3113494A1 (en) | 2021-11-29 |
Family
ID=78816961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA3113494A Pending CA3113494A1 (en) | 2020-05-29 | 2021-03-30 | Parking lot management system based on real-time computer vision processing |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA3113494A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114241751A (en) * | 2021-11-30 | 2022-03-25 | 东南大学 | Multi-entrance dynamic and static traffic coordination optimization method for large parking lot |
WO2022174219A1 (en) * | 2021-02-10 | 2022-08-18 | Citifyd, Inc. | Vehicle parking barrier access control system |
-
2021
- 2021-03-30 CA CA3113494A patent/CA3113494A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022174219A1 (en) * | 2021-02-10 | 2022-08-18 | Citifyd, Inc. | Vehicle parking barrier access control system |
CN114241751A (en) * | 2021-11-30 | 2022-03-25 | 东南大学 | Multi-entrance dynamic and static traffic coordination optimization method for large parking lot |
CN114241751B (en) * | 2021-11-30 | 2022-12-27 | 东南大学 | Multi-entrance dynamic and static traffic coordination optimization method for large parking lot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210279451A1 (en) | Tracking the Use of at Least One Destination Location | |
US10521665B2 (en) | Tracking a vehicle using an unmanned aerial vehicle | |
EP2925564B1 (en) | Controlling use of a single multi-vehicle parking space using multiple cameras | |
US20110157363A1 (en) | Onboard unit for a road toll system | |
US10643471B2 (en) | Method for detecting parked vehicles | |
CA3113494A1 (en) | Parking lot management system based on real-time computer vision processing | |
US20150142534A1 (en) | Vehicle parking | |
JP6685696B2 (en) | Road management system, in-vehicle device, and road management method |