Machine Learning and Computer Vision Solutions for Seamless Vehicle Identification and Thereby Environment Tracking
The edge device uses machine learning to automate parking gate operations by identifying vehicles and determining movement direction, addressing traffic obstructions and delays in current systems by enabling efficient, real-time gate control.
Patent Information
- Application Number
- JP2025533078
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2025-11-28
AI Technical Summary
Current parking systems require user interaction at gates, leading to traffic obstructions and delays due to manual operations and user errors, such as losing tickets, which can be time-consuming to resolve.
An edge device at a parking facility uses machine learning models to process images from a connected camera, identifying vehicles and determining their movement direction, allowing automated gate operation based on entry and exit events without the need for manual intervention.
Enables seamless, real-time or near-real-time entry and exit at parking facilities by processing data locally, reducing latency and bandwidth requirements, thus minimizing traffic disruptions and user interaction.
Smart Images

Figure 2025538757000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates generally to the fields of machine learning and computer vision, and more particularly to vehicle identification and environmental tracking of identified vehicles. [Background technology]
[0002] Parking systems currently require users to obtain a ticket or otherwise interact with a machine that lifts the gate so that they can drive their vehicle into the parking facility. Similar friction is encountered when exiting a parking facility, and the user must again interact with the parking system on their way out. This friction alone creates traffic obstructions at the parking gate. The problem is exacerbated by user error (e.g., losing a ticket), which can take a long time to resolve the issue and allow the gate to open. Summary of the Invention [Means for solving the problem]
[0003] Disclosed herein are systems and methods for fully automating the parking experience. An edge device is located at a parking facility and receives images from a connected camera facing the vicinity of a movable gate. The edge device inputs the received images into one or more machine learning models, which output information about the vehicle depicted in the image (e.g., uniquely identifying the vehicle's identity, obtaining license plate information for the vehicle, and determining the direction of vehicle movement). The edge device imports event information into a database (e.g., a cloud database located on a parking controller server). The event information may include exit and entry entries in addition to some or all of the information output by the one or more machine learning models. When an exit event is detected, a matching entry event may be identified from stored data, and the exit gate will be opened accordingly, allowing the vehicle to exit. Processing images by a cloud server can be prohibitively expensive in terms of network resources and latency in transmitting images and therefore can result in the same delays incurred through manual operations to process data and match entry and exit events. Advantageously, an edge device architecture that processes data-heavy images allows cloud interactivity to be limited to small forms of data, thereby enabling seamless real-time or near-real-time entry and exit at the gates of the parking facility.
[0004] In one embodiment, an edge device captures a series of images associated with a movable gate over time, each image having a timestamp, the movable gate having an entry side and an exit side and blocking passage between the entry side and the exit side unless moved. The edge device determines a first dataset from a subset of images in the series of images that feature the vehicle, for a vehicle approaching the entry side, the first dataset including a plurality of parameters describing attributes of the vehicle by inputting the subset of images into a first machine learning model and a vehicle identifier of the vehicle by inputting the subset of images that feature a depiction of the vehicle's license plate into a second machine learning model. The edge device stores (e.g., using cloud storage) a data structure for the datasets associated with one or more timestamps along with the subset of images. The edge device determines a second dataset for a second vehicle approaching the exit side, and in response to determining that the first dataset and the second dataset match, the edge device commands the movable gate to move. [Brief explanation of the drawings]
[0005] The disclosed embodiments have other advantages and features that will become more readily apparent from the detailed description, the appended claims, and the accompanying figures (or drawings), a brief introduction of which is provided below.
[0006] [Figure 1] FIG. 1 illustrates one embodiment of a system environment for seamless parking gate operation using edge devices and a parking control server.
[0007] [Figure 2] FIG. 2 illustrates one embodiment of exemplary modules operated by an edge device.
[0008] [Figure 3] FIG. 3 illustrates one embodiment of exemplary modules operated by a parking control server.
[0009] [Figure 4] FIG. 4 is a block diagram illustrating components of an exemplary machine capable of reading instructions from a machine-readable medium and executing them within a processor (or controller).
[0010] [Figure 5] FIG. 5 depicts one embodiment of an exemplary vicinity around a movable gate in a parking facility.
[0011] [Figure 6] FIG. 6 depicts one embodiment of an exemplary process for seamlessly operating a parking gate without manual action by a vehicle operator. DETAILED DESCRIPTION OF THE INVENTION
[0012] Detailed Description The figures and the following description relate to preferred embodiments by way of example only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.
[0013] Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It should be noted that, wherever practicable, like or similar reference numerals may be used within the figures and may indicate like or similar functionality. The figures depict embodiments of the disclosed system (or method) for illustrative purposes only. Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
[0014] Configuration Overview FIG. 1 illustrates one embodiment of a system environment for seamless parking gate operation using edge devices and a parking control server. As depicted in FIG. 1, environment 100 includes edge device 110, camera 112, gate 114, data tunnel 116, network 120, and parking control server 130. While only one of each feature of the environment is depicted, this is for convenience only; any number of each feature may be present. Where a singular article is used to refer to these features (e.g., "camera 112"), scenarios in which multiple such features are referenced are also within the scope of what is disclosed (e.g., a reference to "camera 112" may mean that multiple cameras are involved).
[0015] Edge device 110 uses camera 112 to detect vehicles approaching gate 114. In response to detecting such a vehicle, edge device 110 performs various actions (e.g., lifting the gate, updating a profile associated with the vehicle, etc.), which are described in further detail below with reference to at least FIG. 2 . Camera 112 may include any number of cameras that capture images and / or video of the vehicle from one or more angles (e.g., from behind the vehicle, from the front of the vehicle, from the side of the vehicle, etc.). Camera 112 may be in a fixed position or may be movable (e.g., along a track or line) to capture images and / or video from different angles. When the term “image” is used, an image may be a standalone image or a frame of a video. When the term “video” is used, a video may include multiple images (e.g., frames of a video), and multiple images may form a sequence that together form a video.
[0016] A gate 114 may be any object that blocks entry and / or exit from a facility (e.g., a parking facility) until it is moved. For example, a gate 114 may be a pole that lies parallel to the ground to block entry or exit and then rises perpendicular to the ground to allow vehicles to pass. As another example, a gate 114 may be a pole or poles that block vehicle access until lowered to a position flush with the ground. Any form of blocking vehicle entry / exit that is movable to remove the obstruction is also within the context of a gate 114. In some embodiments, there is no physical gate that blocks traffic from entering or exiting the facility. Rather, in such embodiments, a gate 114 as referred to herein is a logical boundary between the inside and outside of the facility, and all embodiments disclosed herein that refer to moving a gate equally refer to scenarios in which the gate is not moved when an entry and exit coincide, but other processing occurs (e.g., recording that a vehicle has left the facility). Furthermore, gate 114 may be any general gate that does not communicate directly with edge device 110. Edge device 110 may instead communicate directly with a component separate from the gate but disposed in association with the gate, the component configured by the arrangement to move the gate.
[0017] The edge device 110 communicates information associated with the detected vehicle to the parking control server 130 via the network 120 (optionally using the data tunnel 116). The data tunnel 116 may be any tunneling mechanism, such as a virtual private network (VPN). The network 120 may be any mode of communication, including cell tower communication, internet communication, WiFi, WLAN, etc. The provided information may include an image of the detected vehicle. Additionally, or alternatively, the provided information may include information extracted from or otherwise obtained based on the image of the detected vehicle (e.g., as further described below with respect to FIG. 2). Transmitting the extracted information rather than the underlying image may result in bandwidth throughput efficiencies that enable real-time or near-real-time movement of the gate 114 by avoiding the need to transmit high-data-volume images.
[0018] Parking control server 130 receives information from edge device 110 and performs actions based on that receipt. Actions may include storing the information, updating profiles, retrieving information related to the information, and communicating additional information in response back to edge device 110. The operation of parking control server 130 is described in further detail below with reference to at least FIG. 3.
[0019] 2 illustrates one embodiment of exemplary modules operated by an edge device. As depicted in FIG. 2, edge device 110 includes an entry detection module 212, an exit detection module 214, an exit event module 216, and an administrator alert module 218. The modules depicted with respect to edge device 110 are merely exemplary, and fewer or additional modules may be used to accomplish the activities disclosed herein. Also, while the modules of edge device 110 are typically located within edge device 110, in various embodiments they may instead be located, partially or entirely, within parking control server 130 (e.g., images, rather than data from the images, are transmitted to parking control server 130 for processing).
[0020] In one embodiment, the intrusion detection module 212 captures a series of images over time. The images are received from the cameras 112. The cameras 112 may continuously capture images or may capture images when a certain condition is met (e.g., when motion is detected or any other heuristic (e.g., a certain time of day, etc.)). In one embodiment, the edge device 110 may continuously receive images from the cameras 112 and determine whether the images include a vehicle. If so, the intrusion detection module 212 may perform processing on the images that include the vehicle and discard the other images. In one embodiment, the intrusion detection module 212 may instruct the cameras 112 to transmit only images that include the vehicle and perform processing on those received images. The captured images are associated with a movable gate or logical boundary (e.g., gate 114) where each camera 112 faces either the gate or an area proximate to the gate (e.g., only the entry side, only the exit side, or both). Each image may have a timestamp and / or a sequence number. The ingress detection module 212 may associate all images that contain the movement of a given vehicle from the time the vehicle enters the image to the time the vehicle exits the image (e.g., during the time the vehicle approaches a gate and then is driven over the gate).
[0021] The ingress detection module 212 may determine a first dataset from a subset of images of a series of images featuring the vehicle for a vehicle approaching the ingress side. The first dataset may include a plurality of parameters describing attributes of the vehicle and a vehicle identifier for the vehicle. In one embodiment, a single machine learning model is used to produce the entire first dataset. In another embodiment, a first machine learning model is used to determine the plurality of parameters, and a different second machine learning model is used to determine the vehicle identifier.
[0022] As used herein, the term "plurality of the parameters of the vehicle" may refer to a set of data including both identifying attributes of the vehicle and directional attributes of the vehicle. The term "identifying attribute of the vehicle" may include any information derivable from an image describing the vehicle, such as the vehicle's make, model, color, type (e.g., sedan vs. sport utility vehicle), height, length, bumper style, number of windows, door handle type, and any other descriptive characteristics. The term "direction attribute of the vehicle" may refer to an absolute direction (e.g., heading) or a relative direction (e.g., the direction of the vehicle relative to an entry gate and / or relative to the assigned direction of the lane that the entry gate blocks (e.g., if different gates are used for entry and exit lanes, and a vehicle is approaching a parking facility from the entrance to the gate and through the exit lane, the vehicle's direction would be shown as opposite to the intended direction of the lane)). A "direction attribute of the vehicle" may also be determined relative to the camera's imaging access, thus indicating whether the vehicle is moving towards or away from the camera. The term "subset of images" refers to a set of images that include the vehicle and excludes other images that do not include the vehicle.
[0023] In a two-model approach, the intrusion detection module 212 inputs a subset of images into a first machine learning model and receives multiple parameters as output from the first machine learning model, including vehicle identification attributes and vehicle direction. In some embodiments, the output of the first machine learning model may be more granular and may include the number of objects in the image (e.g., the number of vehicles), the type of objects in the image (e.g., vehicle type information or vehicle-specific identification attribute information), a result score (e.g., confidence in each object classification), and a bounding box (e.g., of a subsegment of the image for downstream processing (e.g., of a license plate for use by the second machine learning model)). The first machine learning model may be trained to output vehicle identification attributes using example data having images of vehicles labeled with one or more candidate identification attributes. For example, various images from a camera facing the gate may be manually labeled by a user to indicate the above-mentioned attributes, such as the vehicle's make, model, color, type, etc., for each of the various images. The first machine learning model may be a supervised model that is trained using example data to predict attributes of new images.
[0024] The first machine learning model may be trained using example data to output directional attributes of the vehicle and / or to output data from which the ingress detection module 212 may determine some or all of the directional attributes. The example data may show the vehicle's movement relative to one or more gates over a series of sequential frames, and may be annotated with lane type (e.g., ingress lane vs. egress lane) and / or gate type (e.g., egress gate vs. ingress gate), and labeled with direction between two or more frames (e.g., toward ingress gate, away from ingress gate, toward egress gate, away from egress gate). The lane type may be derived from environmental factors (e.g., the model may be trained through enough example data to recognize that the direction beyond the gate showing blue sky is the egress direction, and the direction toward halogen lights is the egress direction). From this training, the first machine learning model may directly output a direction associated with a gate type and / or lane type based on the learned behavior, or may output a lane type and / or gate type and a directional movement instruction, from which the ingress detection module 212 may apply heuristics to determine a directional attribute (e.g., toward an entry gate, away from an entry gate, toward an exit gate, away from an exit gate). That is, in addition to the gate type and / or lane type, a directional vector may be output (e.g., environmental factors, which may include other information such as lighting, sky information, etc., may be output in addition to the directional vector), and the directional vector in addition to the environmental factors may be used to determine the directional attribute.
[0025] Vehicles are tracked as they move, so it is advantageous to determine direction in addition to identifying the vehicle, as identifying both the direction and the vehicle itself in one step would result in false positives. This allows separate models to be used for vehicle detection and for direction detection, thus resulting in a three-model approach (two models are used for what is referred to above as the "first machine learning model," and each of these separate models is trained separately, using separate training data for each separate task).
[0026] Continuing with the two-model approach, the intrusion detection module 212 may determine the vehicle identifier of a vehicle by inputting a subset of images featuring a depiction of the vehicle's license plate into a second machine learning model. That is, rather than using optical character recognition (OCR), a machine learning model may be used to interpret the vehicle's license plate into a vehicle identifier. OCR methods are often inaccurate for license plate detection due to the complexity of license plates, which often use different fonts (e.g., cursive vs. handwritten) against complex picture-filled backgrounds, various colors, and lighting challenges. Also, various license plate types are difficult to read accurately because they often contain slogans that are not generalizable. Even moderate accuracy in an OCR read, where a single character or geographic identifier determination is incorrect, can cause or result in the inability to effectively identify a vehicle.
[0027] To achieve this goal, a second machine learning model may be trained to identify both the geographic nomenclature and character string of a vehicle identifier using training example images of license plates, each labeled with its corresponding geographic nomenclature and character string. As used herein, the term "geographical nomenclature" may refer to the manner in which a jurisdiction that issued a license plate identifies itself. That is, in the United States, individual states would issue license plates, and the geographic identifier would identify the state. Some jurisdictions issue nationwide license plates, in which case the geographic identifier is a national identifier. A geographic identifier may identify more than one jurisdiction (e.g., in the European Union (EU), some license plates identify both the EU and the member state that issued the license plate, and the geographic identifier may identify both of those locations or only the member state). The term "string of characters" may refer to a unique symbol issued by a jurisdiction to uniquely identify a vehicle, such as a "license plate number" (which may include numbers, letters, and symbols). That is, for a given jurisdiction, the string is unique with respect to other strings issued by that given jurisdiction.
[0028] To train the second machine learning model, training examples of license plate images (the training examples are labeled) are used. In one embodiment, the training examples are labeled with both the geographic jurisdiction and the characters depicted in the image. The characters may be labeled individually (e.g., by labeling a segment of the image containing the segment), or the entire image may be labeled with each character present or a combination thereof. In one embodiment, the training examples may be labeled only with the geographic jurisdiction, and the second machine learning model predicts the geographic jurisdiction for a new image of the license plate. Following this prediction, a third machine learning model may be selected from multiple candidate machine learning models, each corresponding to a different geographic jurisdiction and trained to predict characters of the string from training examples specific to that individual geographic jurisdiction, and the selected third machine learning model may be selected based on the predicted geographic jurisdiction. The third machine learning model may be applied to images or segments of images containing each character, thus producing predictions from training examples specific to that jurisdiction.
[0029] In either case, the training examples may show examples in any number of conditions (from low light conditions, dirty license plate conditions where the characters are partially or completely occluded, license plate frame conditions where the geographic identifier (e.g., the word "New York") is partially or completely occluded and the license plate cover makes the characters difficult to read directly, etc.) Advantageously, by using machine learning to predict the geographic nomenclature and character strings, accuracy is improved compared to OCR because the second machine learning model can accurately predict the content of the license plate even when partial occlusion occurs or when lighting conditions make the characters difficult to read.
[0030] The trained second machine learning model may output the geographic nomenclature and character string (e.g., either directly or with a confidence score that exceeds a threshold applied by the intrusion detection module 212). Along with all of the information of the determined dataset (e.g., multiple parameters and vehicle identifier), the edge device 110 may store, or cause to be stored, a data structure for the dataset that associates one or more timestamps with the subset of images. In one embodiment, the data structure is stored at the edge device 110. In one embodiment, the data structure is stored at the parking control server 130. The data structure may include additional information, such as image timestamps and / or sequence numbers in which images featuring individual vehicles appear.
[0031] In a one-model approach, rather than differentiating between what is learned between the two models, the manner in which the first and second machine learning models are trained would be applied to a single model. This would have the advantage of providing all inputs to the model as one dataset, but could also have the disadvantage of a less specialized model having noisier outputs. Also, training one large model to implement all of this functionality would require intensive data and time. A large model would be slower and have lower output quality than using two separate models. The two-model approach also allows for "fail fast" processing to occur, i.e., detecting vehicles and taking action based on that detection even before other activities (e.g., license plate reading) are completed.
[0032] Regardless of the model approach used, in some embodiments, the ingress detection module 212 may determine from the vehicle's directional attributes whether the directional attributes are consistent with an ingress movement. That is, if the ingress detection module 212 determines that the vehicle is approaching a gate (e.g., in an ingress lane) with directional attributes consistent with the function of that gate (e.g., using an ingress lane as opposed to an egress lane), the ingress detection module 212 may determine that an ingress movement is occurring. In response to detecting that an ingress movement is occurring, the ingress detection module 212 may move the gate to allow entry into the facility blocked by the gate (or, if the gate is a logical boundary, record that the vehicle is entering the facility without the need to move the gate). Also, in response to detecting that an ingress movement is occurring, the ingress detection module 212 may store a data structure in a database in an entry corresponding to the vehicle. For example, this may be stored in the ingress data database 358, discussed in more detail below, for use in matching exiting movements by the same vehicle to ingress movements. In one embodiment, further in response to detecting that an entry movement is occurring, a data structure may also be stored in profile database 356 with reference to the vehicle or the user of the vehicle to record the historical activity of that vehicle when entering the facility.
[0033] The exit detection module 214 operates in a manner similar to the entry detection module 212, with machine learning applied in the same manner, except for detecting exit events. That is, the same data set collected when a vehicle performs an entry movement is performed for an exit movement when a vehicle is detected approaching a gate 114 to exit the facility. Once an exit movement is detected (e.g., if the vehicle is determined to have directional attributes consistent with approaching a gate designated for use as an exit), the exit detection module 214 determines that an exit event may occur (e.g., other activities such as generating and storing data structures as described with respect to entry events may also be performed).
[0034] The exit event module 216 compares information in the dataset obtained by the exit detection module 214 with information stored in an entry event data structure to determine whether a match exists. The exit event module 216 determines a match where a heuristic is satisfied; such a data structure indicates that a vehicle with the same geographic nomenclature has entered the facility. Even using the described second machine learning model, because license plate reading is not perfect, it may be the case that a match in geographic nomenclature alone is not found by the exit event module 216. To achieve this goal, a match may be determined based on other identifying information (e.g., identifying a partial match in geographic nomenclature and / or other matching vehicle attributes (e.g., make, model, color, etc.)). Any heuristic may be programmed to determine whether a match occurs. In response to detecting a match, the exit event module 216 may instruct the data structure to be updated to indicate that the vehicle has exited the facility and / or (e.g., if the gate 114 is a physical gate rather than a logical boundary) may raise the gate 114, thus allowing the vehicle to exit the facility.
[0035] In response to determining that a match does not exist, the administrator alert module 218 may alert an administrator, who may manually determine whether a match exists and / or communicate with the driver of the vehicle to take corrective action. In embodiments where a match does not exist, the administrator alert module 218 may determine that the vehicle identifier is unknown. In response to determining that the vehicle identifier is unknown, the administrator alert module 218 may transmit an alert to the administrator, the alert being associated with at least a portion of the subset of images. That is, the alert may point to one or more images or portions that include identifying information (e.g., a license plate, a distinguishing feature such as a bumper sticker, etc.). The administrator alert module 218 may receive input from the administrator specifying the vehicle identifier and may use the input to find matching entry data.
[0036] In one embodiment, edge device 110 applies computer vision to determine environmental factors surrounding a vehicle. As used herein, the term "environmental factor" may refer to features that affect traffic flow near gate 114, such as roadway traffic blocking an exit from a facility, the orientation of vehicles in an image relative to one another, etc. In one embodiment, when commanding a movable gate to move, edge device 110 applies parameters based on the determined environmental factors (e.g., waiting for gate 114 to open despite a coincidence between the exit and entry because a vehicle is ahead of the exiting vehicle and therefore blocking the exit).
[0037] FIG. 3 illustrates one embodiment of exemplary modules operated by the parking control server 130. As depicted in FIG. 3, the parking control server 130 includes a vehicle identification module 332, a vehicle direction module 334, a parameter determination model training module 336, a license plate model training module 338, an event search module 340, a model database 352, a profile database 356, a training example database 354, entry data 358, and exit data 360. The modules and databases depicted in FIG. 3 are merely exemplary, and fewer or more modules and / or databases may be used to accomplish the activities disclosed herein. Also, while the modules and databases are depicted within the parking control server 130, they may be distributed in whole or in part to the edge device 110, which may perform in whole or in part any of the activities described with respect to the parking control server 130. Furthermore, the modules and databases may be maintained separately from any of the entities depicted in FIG. 1 (e.g., the decision model training module 336 and the license plate training module 338 may be stored completely offline from the parking control server 130 or in an entity separate from the parking control server 130).
[0038] The vehicle identification module 332 identifies the vehicle using the first machine learning model described with respect to the intrusion detection module 212. In particular, the vehicle identification module 332 accesses the first machine learning model from the model database 352, applies the input image and / or any other data to the machine learning model, and receives the vehicle's parameters therefrom. The vehicle identification module 332 operates in scenarios where the image is transmitted to the parking control server 130 for processing rather than being processed by the edge device 110. Similarly, the vehicle direction module 334 determines the direction of the vehicle in an image captured at the edge device 110 by the camera 112 in the manner described above with respect to the intrusion detection module 212 (but by using as input the image and / or other data received at the parking control server 130 rather than processed by the edge device 110).
[0039] Parameter determination model training module 336 trains a first machine learning model to predict vehicle parameters in the manner described above with respect to intrusion detection module 212. The parameter determination model training module may additionally train the first machine learning model to predict vehicle direction. The parameter determination model training module may access training examples from training example database 354 and may store the model in model database 352. Similarly, license plate model training module 338 may train a second machine learning model using training examples stored in training example database 354 and may store the trained model in model database 352.
[0040] The event search module 340 receives instructions from the exit event module 216 to search the entry data database 358 for entry data that matches the detected exit data and return at least partial matching data and / or a determination of whether a match was found to the exit event module 216. The event search module 340 optionally stores the exit data in the exit data database 360.
[0041] A profile database 356 stores profile data about encountered vehicles. For example, identification information and / or license plate information may be used to index the profile database 356. As vehicles enter and exit the facility, the profile database 356 may be populated with a profile for each vehicle that records those entry and exit events. The profile may indicate the owner and / or driver of the vehicle and may indicate contact information for their user. The event search module 340 may retrieve contact information or initiate communication with the user when an event is detected (e.g., a "welcome to parking facility" message or other information related to how to use the facility).
[0042] FIG. 4 is a block diagram illustrating components of an exemplary machine capable of reading instructions from a machine-readable medium and executing them in a processor (or controller). FIG. 4 is a block diagram illustrating components of an exemplary machine capable of reading instructions from a machine-readable medium and executing them in a processor (or controller). Specifically, FIG. 4 shows a diagrammatic representation of a machine in the exemplary form of a computer system 400 within which program code (e.g., software) may be executed to cause the machine to perform any one or more of the methodologies discussed herein. The program code may consist of instructions 424 executable by one or more processors 402. In alternative embodiments, the machine may operate as a stand-alone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the role of a server machine or a client machine in a server / client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
[0043] A machine may be a computing system capable of executing (sequentially or otherwise) instructions 424 that specify actions to be taken by the machine. Additionally, although only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that, individually or together, execute instructions 124 to perform any one or more of the methodologies discussed herein.
[0044] The exemplary computer system 400 includes one or more processors 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), one or more application specific integrated circuits (ASICs), one or more radio frequency integrated circuits (RFICs), a field programmable gate array (FPGA)), a main memory 404, and a static memory 406, which are configured to communicate with each other via a bus 408. The computer system 400 may further include a visual display interface 410. The visual interface may include software drivers that enable a user interface to be rendered on a screen, either directly or indirectly (or provide a user interface for rendering on a screen, either directly or indirectly). The visual interface 410 may interface with a touch-enabled screen. The computer system 400 may also include input devices 412 (e.g., keyboard, mouse), a storage unit 416, a signal generation device 418 (e.g., microphone and / or speaker), and a network interface device 420, which are also configured to communicate via the bus 408.
[0045] The storage unit 416 includes a machine-readable medium 422 (e.g., a magnetic disk or solid-state memory) on which are stored instructions 424 (e.g., software) that embody any one or more of the methodologies or functions described herein. The instructions 424 (e.g., software) may also reside, completely or at least partially, within the main memory 404 or within the processor 402 (e.g., within the processor's cache memory) during execution.
[0046] Figure 5 depicts one embodiment of an exemplary vicinity around a movable gate in a parking facility. As depicted in Figure 5, the roadway is depicted on the left, with traffic preventing vehicles in the exit lane from exiting. This, in turn, prevents vehicles behind the exit gate 114 from exiting. A camera 112 is depicted as used in the manner described herein by an edge device (not depicted). A vehicle on the lower entry lane is captured approaching the movable gate to enter the facility.
[0047] 6 depicts one embodiment of an exemplary process for seamlessly operating a parking gate without manual action by a vehicle operator. Process 600 operates with one or more processors (e.g., processor 402 of edge device 110 and / or parking control server 130) that execute instructions (e.g., instructions 424) that cause one or more modules to perform their respective operations. Process 600 begins with edge device 110 capturing (602) a series of images over time associated with a movable gate (e.g., using ingress detection module 212 in coordination with data from camera 112), each image having a timestamp, the movable gate (e.g., gate 114) having an entry side and an exit side and blocking passage between the entry side and the exit side unless moved. The edge device 110 determines a first dataset (e.g., including vehicle identification attributes and / or directional attributes and / or license plate information using first and second machine learning models) for a vehicle approaching the entry side from a subset of images of the series of images featuring the vehicle. The edge device 110 stores (606) a data structure for the dataset associated with one or more timestamps along with the subset of images. The edge device 110 determines (608) a second dataset for a second vehicle approaching the exit side (e.g., using the exit detection module 214) and, in response to determining (610) that the first dataset and the second dataset match, commands (e.g., using the exit event module 216) to move a movable gate. In embodiments in which the gate 114 is a logical boundary, the process 600 may operate without the need to move the gate and instead record vehicle entry and exit activity without moving the gate.
[0048] Additional Configuration Considerations Throughout this specification, multiple instances may implement a component, operation, or structure that is described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed in parallel, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as combined structures or components. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of this specification.
[0049] Certain embodiments are described herein as including logic or several components, modules, or mechanisms. A module may be either a software module (e.g., code embodied on a machine-readable medium and a processor executable file) or a hardware module. A hardware module is a tangible unit capable of performing certain operations, which may be configured or arranged in a certain manner. In an exemplary embodiment, one or more computer systems (e.g., stand-alone, client, or server computer systems) or one or more hardware modules (e.g., processors or groups of processors) of a computer system may be configured by software (e.g., applications or application portions) as hardware modules that operate to perform certain operations as described herein.
[0050] In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module is a tangible component that may comprise dedicated circuitry or logic (e.g., a specialized processor such as a field programmable gate array (FPGA) or application specific integrated circuit (ASIC)) that is permanently configured to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as contained within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It should be understood that the decision to mechanically implement a hardware module in dedicated, permanently configured circuitry or temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
[0051] The implementation of some of the operations may be distributed among one or more processors and spread across several machines rather than just being located within a single machine. In some exemplary embodiments, one or more processors or processor-implemented modules may be located within a single geographic location (e.g., a home environment, an office environment, or a server farm). In other exemplary embodiments, one or more processors or processor-implemented modules may be distributed across several geographic locations.
[0052] Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those skilled in the data processing arts to convey the significance of their work to others skilled in the art. As used herein, an "algorithm" is a self-consistent sequence of operations or similar processes leading to a desired result. In this context, algorithms and operations involve physical manipulations of physical quantities. Typically, though not necessarily, such quantities take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as "data," "content," "bit," "value," "element," "symbol," "character," "term," "number," "numeral," or the like. However, these terms are merely convenient labels and are to be associated with appropriate physical quantities.
[0053] Unless specifically stated otherwise, discussions herein using words such as "processing," "computing," "calculating," "determining," "presenting," "displaying," or the like may refer to the actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities in one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
[0054] Upon reading this disclosure, those skilled in the art will appreciate, through the principles disclosed herein, still additional structural and functional design alternatives for systems and processes for seamless entry and exit from a parking facility blocked by a movable gate. Thus, while specific embodiments and applications have been illustrated and described, it should be understood that the disclosed embodiments are not limited to the precise arrangement and components disclosed herein. It will be apparent to those skilled in the art that various modifications, changes, and variations can be made in the arrangement, operation, and details of the methods and apparatus disclosed herein without departing from the spirit and scope, as defined in the appended claims.
Claims
1. 1. A method comprising: capturing a series of images over time associated with a movable gate, each image having a timestamp, the movable gate having an entry side and an exit side and blocking passage between the entry side and the exit side unless moved; determining a first data set from a subset of images of the series of images featuring the vehicle, for a vehicle approaching the oncoming side, the first data set comprising: a plurality of parameters describing attributes of the vehicle by inputting the subset of images into a first machine learning model; a vehicle identifier for the vehicle by inputting the subset of images characterized by a depiction of the license plate of the vehicle into a second machine learning model; and storing a data structure for the dataset associated with one or more timestamps along with the subset of images; determining a second data set for a second vehicle approaching the exit side; instructing the movable gate to move in response to determining that the first data set and the second data set match; A method comprising:
2. The method of claim 1 , wherein the plurality of parameters includes an identification attribute of the vehicle and a direction attribute of the vehicle.
3. The method of claim 2 , wherein storing the data structure occurs in response to determining that the directional attributes of the vehicle are consistent with an oncoming movement.
4. 3. The method of claim 2, wherein the first machine learning model is trained to output the discriminatory attributes of the vehicle using example data including images of vehicles labeled with one or more candidate discriminatory attributes.
5. 3. The method of claim 2, wherein the first machine learning model is trained to output the directional attributes of the vehicle using example data including a sequence of images of the vehicle that have been labeled as corresponding to an entering or exiting movement.
6. 3. The method of claim 2, wherein the first machine learning model is trained to output the directional attribute of the vehicle using example data including a sequence of images of a vehicle labeled as corresponding to a given directional vector, and the method further includes determining whether the directional attribute corresponds to an entering or exiting movement based on the directional vector output from the first machine learning model compared to environmental factors surrounding the movable gate.
7. The method of claim 1 , wherein the vehicle identifier comprises a geographic nomenclature and a character string.
8. 8. The method of claim 7, wherein the second machine learning model is trained to identify the geographic nomenclature and the character string using training example images of license plates, each of the training example images being labeled with its corresponding geographic nomenclature and character string.
9. Determining the vehicle identifier with respect to a first data set includes determining that the vehicle identifier is unknown, and the method further comprises: transmitting an alert to an administrator, the alert being associated with at least a portion of the subset of images; receiving input from the administrator defining the vehicle identifier; The method of claim 1 , comprising:
10. applying computer vision to determine environmental factors surrounding the vehicle; applying parameters to the command based on the determined environmental factors when commanding the movable gate to move; The method of claim 1 further comprising:
11. A non-transitory computer-readable medium with a memory encoded thereon, the non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the instructions including: capturing a series of images over time associated with a movable gate, each image having a timestamp, the movable gate having an entry side and an exit side and blocking passage between the entry side and the exit side unless moved; determining a first data set from a subset of images of the series of images for a vehicle approaching the oncoming side, the first data set being characteristic of the vehicle, the first data set comprising: a plurality of parameters describing attributes of the vehicle by inputting the subset of images into a first machine learning model; a vehicle identifier for the vehicle by inputting the subset of images characterized by a depiction of the license plate of the vehicle into a second machine learning model; and storing a data structure for the dataset associated with one or more timestamps along with the subset of images; determining a second data set for a second vehicle approaching the exit side; instructing the movable gate to move in response to determining that the first data set and the second data set match; A non-transitory computer-readable medium comprising instructions for performing
12. The non-transitory computer-readable medium of claim 11 , wherein the plurality of parameters comprises an identification attribute of the vehicle and a direction attribute of the vehicle.
13. 13. The non-transitory computer-readable medium of claim 12, wherein storing the data structure occurs in response to determining that the directional attributes of the vehicle are consistent with an oncoming movement.
14. 13. The non-transitory computer-readable medium of claim 12, wherein the first machine learning model is trained to output the discriminatory attributes of the vehicle using example data including images of vehicles labeled with one or more candidate discriminatory attributes.
15. 13. The non-transitory computer-readable medium of claim 12, wherein the first machine learning model is trained to output the directional attributes of the vehicle using example data including a sequence of images of the vehicle that have been labeled as corresponding to an entering or exiting movement.
16. 13. The non-transitory computer-readable medium of claim 12, wherein the first machine learning model is trained to output the directional attribute of the vehicle using example data including a sequence of images of a vehicle labeled as corresponding to a given directional vector, and the method further includes determining whether the directional attribute corresponds to an entering or exiting movement based on the directional vector output from the first machine learning model compared to environmental factors surrounding the movable gate.
17. The non-transitory computer-readable medium of claim 11 , wherein the vehicle identifier comprises a geographic nomenclature and a character string.
18. 18. The non-transitory computer-readable medium of claim 17, wherein the second machine learning model is trained to identify the geographic nomenclature and the character string using training example images of license plates, each of the training example images being labeled with its corresponding geographic nomenclature and character string.
19. Determining the vehicle identifier with respect to a first data set includes determining that the vehicle identifier is unknown, and the method further comprises: transmitting an alert to an administrator, the alert being associated with at least a portion of the subset of images; receiving input from the administrator defining the vehicle identifier; 12. The non-transitory computer-readable medium of claim 11, comprising:
20. 1. A system comprising: a memory with instructions encoded thereon; Execution of the instructions by one or more processors causes the processor to perform operations, the operations including: capturing a series of images over time associated with a movable gate, each image having a timestamp, the movable gate having an entry side and an exit side and blocking passage between the entry side and the exit side unless moved; determining a first data set from a subset of images of the series of images featuring the vehicle, for a vehicle approaching the oncoming side, the first data set comprising: a plurality of parameters describing attributes of the vehicle by inputting the subset of images into a first machine learning model; a vehicle identifier for the vehicle by inputting the subset of images characterized by a depiction of the license plate of the vehicle into a second machine learning model; and storing a data structure for the dataset associated with one or more timestamps along with the subset of images; determining a second data set for a second vehicle approaching the exit side; instructing the movable gate to move in response to determining that the first data set and the second data set match; one or more processors, A system comprising: