Parking assist

Information

  • Patent Grant
  • 11756424
  • Patent Number
    11,756,424
  • Date Filed
    Sunday, August 1, 2021
    2 years ago
  • Date Issued
    Tuesday, September 12, 2023
    9 months ago
Abstract
A method for bypass alert, the method may include obtaining during a driving session of a vehicle, sensed information about an environment of the first vehicle, by one of more vehicle sensors of the vehicle; detecting that the vehicle is within a certain distance from a destination of the driving session; detecting, using a first machine learning process, one or more parking indicators that are indicative of an allowable parking area that precedes the vehicle; detecting a vacant parking space within the parking area that is large enough to facilitate a parking of the vehicle within the vacant parking space; and responding to the vacant parking space.
Description
BACKGROUND

Searching for a parking spot in the urban landscape while driving is a challenging task. It increases the risk of an accident as the driver is preoccupied with searching for a parking spot. It is a menace to other drivers as it slows down traffic in busy streets. Also, it is not address in any way by ADAS cameras.


There is a growing need to provide a secure method for parking assistance.


SUMMARY

A method, system and non-transitory computer readable medium for parking assistance.





BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the disclosure will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:



FIG. 1A illustrates an example of a method;



FIG. 1B illustrates an example of a signature;



FIG. 1C illustrates an example of a dimension expansion process;



FIG. 1D illustrates an example of a merge operation;



FIG. 1E illustrates an example of hybrid process;



FIG. 1F illustrates an example of a method;



FIG. 1G illustrates an example of a method;



FIG. 1H illustrates an example of a method;



FIG. 1I illustrates an example of a method;



FIG. 1J illustrates an example of a method;



FIG. 1K illustrates an example of a method;



FIG. 1L illustrates an example of a method;



FIG. 1M illustrates an example of a system;



FIG. 1N is a partly-pictorial, partly-block diagram illustration of an exemplary obstacle detection and mapping system, constructed and operative in accordance with embodiments described herein;



FIG. 1O illustrates an example of a method;



FIG. 1P illustrates an example of a method;



FIG. 1Q illustrates an example of a method;



FIG. 2 illustrates an example of a method;



FIG. 3 illustrates an example of a method; and



FIG. 4 illustrates a parking assist scenario.





DESCRIPTION OF EXAMPLE EMBODIMENTS

The specification and/or drawings may refer to an image. An image is an example of a media unit. Any reference to an image may be applied mutatis mutandis to a media unit. A media unit may be an example of sensed information. Any reference to a media unit may be applied mutatis mutandis to a natural signal such as but not limited to signal generated by nature, signal representing human behavior, signal representing operations related to the stock market, a medical signal, and the like. Any reference to a media unit may be applied mutatis mutandis to sensed information. The sensed information may be sensed by any type of sensors—such as a visual light camera, or a sensor that may sense infrared, radar imagery, ultrasound, electro-optics, radiography, LIDAR (light detection and ranging), etc.


The specification and/or drawings may refer to a processor. The processor may be a processing circuitry. The processing circuitry may be implemented as a central processing unit (CPU), and/or one or more other integrated circuits such as application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), full-custom integrated circuits, etc., or a combination of such integrated circuits.


Any combination of any steps of any method illustrated in the specification and/or drawings may be provided.


Any combination of any subject matter of any of claims may be provided.


Any combinations of systems, units, components, processors, sensors, illustrated in the specification and/or drawings may be provided.


There may be provided a system, a method and a non-transitory computer readable medium for parking assist.


There may be a method that may include an online phase and an offline phase.


The online phase may include detecting a parking sign will be detected, or a road edge indication (for example—a curb painted blue and white in Israel). Applying object detection to assess detected vehicles status (parked, or moving). Then based on longitudinal, and lateral measurements to each parked vehicle, finding vacant parking space. The method may respond to the finding—for example by alerting the driver if, how far, and at what street side, the next vacant parking space is located. The trigger for those alerts may depend on a predefined, and configurable, distance to the driver's destination (based on navigational data).


The online phase may include, for example, detecting parking zone sign, and\or painted curt, detecting parked vehicles, assessing one or more spacing between parked vehicles, until a predefined space is located (usually ego vehicle length parameter will be set in the camera during installation), determining whether the parking spot alert is valid (distance to destination is equal, or below predefined distance), alerting the driver by audio and/or and visual indication to parking spot location (vehicle side, and distance).


The offline phase may include obtaining tags sets of parked vehicles, traffic signs, and streets where parking is permitted. Using unsupervised machine learning to classify vehicles. Using unsupervised machine learning to classify traffic signs. Using unsupervised machine learning to classify road edge, and more especially curb. Using unsupervised machine learning to classify curb colour.


A parking into a parking space may include driving ahead of the parking space, shift the vehicle into reverse, move backwards while rotating the vehicle, after a certain backward movement rotate the vehicle at an opposite direction and continue driving backwards. In this content—access means the space outside the parking space that is required to perform the parking. For example—the parking may start by moving backward while rotating the vehicle and the front part the vehicle opposite to the side of the parking space extends into the road—and this require vacant space.



FIG. 2 illustrates method 100 for bypass assistance.


Method 100 may start by step 110 of obtaining during a driving session of a vehicle, sensed information about an environment of the first vehicle, by one of more vehicle sensors of the vehicle.


Step 110 may be followed by step 120 of detecting that the vehicle is within a certain distance from a destination of the driving session. The certain distance may be fixed or may change over time, may be determined by the driver or by other entity, may be determined based on chances of finding a vacant parking space that is large enough, based on parking space statistics, density of traffic, and the like.


Step 120 may be a prerequisite condition to the execution of any one of the next steps of method 100.


Step 120 may be followed by step 130 of detecting, using a first machine learning process, one or more parking indicators that are indicative of an allowable parking area that precedes the vehicle.


The parking indicator may include curbs, and traffic signs.


Step 130 may be followed by step 140 of detecting a vacant parking space within the parking area that is large enough to facilitate a parking of the vehicle within the vacant parking space. This vacant parking space will be referred to as a valid vacant parking space.


Step 140 may be executed by the machine learning process.


Step 140 may include at least one out of:

    • a. Determining one or more dimensions of the vacant parking space. This may be executed by a machine learning process, knowledge of one or more size anchor—for example the distance between curb parts of the same color, size of a vehicle within the field of view of the vehicle, and the like.
    • b. Determining access to the vacant parking space.
    • c. Obtaining information about dimensions and maneuverability of the vehicle. An example of maneuverability may include radius of turn.
    • d. Determining the valid vacant parking space based on (a) one or more dimensions of the vacant parking space, (b) access to the vacant parking space and (c) dimensions and maneuverability of the vehicle.
    • e. Determining the valid vacant parking space based on the estimated parking skill of the driver. The estimating parking skill may be estimated based on previous parking attempts of the driver—or previous parking attempts in situations similar to the current situation of the current parking.
    • f. Determining the valid vacant parking space based on the estimated parking skill of the driver, (a), (b) and (c).
    • g. Determining the valid vacant parking space based on the estimated parking skill of the driver and the autonomous parking capabilities of the vehicle (if such exist).
    • h. Determining the valid vacant parking space based on the autonomous parking capabilities of the vehicle (if such exist).
    • i. Determining the valid vacant parking space based on the a state of parking related units of the vehicle—for example—require a larger vacant parking space when the rear parking camera failed.
    • j. Determining the valid vacant parking space based on ambient conditions such as visibility and/or rain.
    • k. Detecting vehicles located at the parking area and determining which vehicle is static (parked) or is driving.


Step 140 may be followed by step 150 of responding to the vacant parking space.


Step 150 may include at least one out of:

    • a. Alerting a driver of the vehicle.
    • b. Suggesting the driver a parking path.
    • c. Changing a control of the vehicle.
    • d. Suggesting the driver to use the autonomous parking capabilities of the vehicle, when the estimated parking skill of the driver is not suffice to preform the parking, and the autonomous parking capabilities of the vehicle are suffice to perform the parking.


Method 100 may include step 170 of determining the certain distance.

    • a. The certain distance may be determined, for example, based on parking history related to the destination of the driving session. Failed previous attempts to find a valid vacant parking space may result in increasing the certain distance.
    • b. Method 100 may include initially searching for vacant parking spaces within one or more parking areas outside the certain distance from the destination of the driving session; predicting, based on the initially searching, a success of finding a vacant parking space within the certain distance from the destination of the driving session, and step 170 may include changing the certain distance when the success rate is below a threshold.
    • c. Method 100 may include obtaining information about success rate of finding a vacant parking space in a reference region related to a virtual region delimited by the certain distance from the destination of the driving session; and step 170 may include determining the certain distance based on the information about the success rate. The reference region may include the virtual region, may overlap the virtual region, may be included in the virtual region, may be a city, a neighborhood, a town, and the like.


Method 200 illustrates an example of a method for training a machine learning process.


Method 200 may start by step 210 of receiving a first data set of sensed information that includes tagged traffic signs, curbs indicative of parking spaces and parked vehicle.


Step 210 may be followed by step 220 of generating, using a machine learning process, initial parking indicators based on the first data set.


Step 220 may be followed by step 230 of receiving a second data set of sensed information.


Step 230 may be followed by step 240 of generating, by the machine learning process, parking indicator, the generating may include processing the second data set of sensed information using the initial parking indicators.


Method 200 may include training the machine learning process to detect parking vehicles and driving vehicles.



FIG. 4 illustrates a first vehicle 11 within a certain distance from its destination, and second vehicle 12, third vehicle 13, fourth vehicle 14, fifth vehicle 15 parked at one side of the road, and sixth vehicle 16 blocking the road, the vehicles are preceded by allowed parking sign 19.


The space 21 between the second and third vehicles is not long enough to allow parking.


The space 22 between the third and fourth vehicles is long enough (distance 31 is long enough) to allow parking and these is access (virtual parking process 40 is free of obstacles).


The space 23 between the fourth and fifth vehicles is long enough (distance 31 is long enough) to allow parking—but there is no access (virtual parking process is blocked by sixth vehicle 16).


Various example of generating signatures, processing sensed information and clustering are provided below.


Low Power Generation of Signatures


The analysis of content of a media unit may be executed by generating a signature of the media unit and by comparing the signature to reference signatures. The reference signatures may be arranged in one or more concept structures or may be arranged in any other manner. The signatures may be used for object detection or for any other use.


The signature may be generated by creating a multidimensional representation of the media unit. The multidimensional representation of the media unit may have a very large number of dimensions. The high number of dimensions may guarantee that the multidimensional representation of different media units that include different objects is sparse—and that object identifiers of different objects are distant from each other—thus improving the robustness of the signatures.


The generation of the signature is executed in an iterative manner that includes multiple iterations, each iteration may include an expansion operations that is followed by a merge operation. The expansion operation of an iteration is performed by spanning elements of that iteration. By determining, per iteration, which spanning elements (of that iteration) are relevant—and reducing the power consumption of irrelevant spanning elements—a significant amount of power may be saved.


In many cases, most of the spanning elements of an iteration are irrelevant—thus after determining (by the spanning elements) their relevancy—the spanning elements that are deemed to be irrelevant may be shut down a/or enter an idle mode.



FIG. 1A illustrates a method 5000 for generating a signature of a media unit.


Method 5000 may start by step 5010 of receiving or generating sensed information.


The sensed information may be a media unit of multiple objects.


Step 5010 may be followed by processing the media unit by performing multiple iterations, wherein at least some of the multiple iterations comprises applying, by spanning elements of the iteration, dimension expansion process that are followed by a merge operation.


The processing may include:


Step 5020 of performing a k'th iteration expansion process (k may be a variable that is used to track the number of iterations).


Step 5030 of performing a k'th iteration merge process.


Step 5040 of changing the value of k.


Step 5050 of checking if all required iterations were done—if so proceeding to step 5060 of completing the generation of the signature. Else—jumping to step 5020.


The output of step 5020 is a k'th iteration expansion results 5120.


The output of step 5030 is a k'th iteration merge results 5130.


For each iteration (except the first iteration)—the merge result of the previous iteration is an input to the current iteration expansion process.


At least some of the K iterations involve selectively reducing the power consumption of some spanning elements (during step 5020) that are deemed to be irrelevant.



FIG. 1B is an example of an image signature 6027 of a media unit that is an image 6000 and of an outcome 6013 of the last (K'th) iteration.


The image 6001 is virtually segments to segments 6000(i,k). The segments may be of the same shape and size but this is not necessarily so.


Outcome 6013 may be a tensor that includes a vector of values per each segment of the media unit. One or more objects may appear in a certain segment. For each object—an object identifier (of the signature) points to locations of significant values, within a certain vector associated with the certain segment.


For example—a top left segment (6001(1,1)) of the image may be represented in the outcome 6013 by a vector V(1,1) 6017(1,1) that has multiple values. The number of values per vector may exceed 100, 200, 500, 1000, and the like.


The significant values (for example—more than 10, 20, 30, 40 values, and/or more than 0.1%, 0.2%. 0.5%, 1%, 5% of all values of the vector and the like) may be selected. The significant values may have the values—but may eb selected in any other manner.



FIG. 1B illustrates a set of significant responses 6015(1,1) of vector V(1,1) 6017(1,1). The set includes five significant values (such as first significant value SV1(1,1) 6013(1,1,1), second significant value SV2(1,1), third significant value SV3(1,1), fourth significant value SV4(1,1), and fifth significant value SV5(1,1) 6013(1,1,5).


The image signature 6027 includes five indexes for the retrieval of the five significant values—first till fifth identifiers ID1-ID5 are indexes for retrieving the first till fifth significant values.



FIG. 1C illustrates a k'th iteration expansion process.


The k'th iteration expansion process start by receiving the merge results 5060′ of a previous iteration.


The merge results of a previous iteration may include values are indicative of previous expansion processes—for example—may include values that are indicative of relevant spanning elements from a previous expansion operation, values indicative of relevant regions of interest in a multidimensional representation of the merge results of a previous iteration.


The merge results (of the previous iteration) are fed to spanning elements such as spanning elements 5061(1)-5061(J).


Each spanning element is associated with a unique set of values. The set may include one or more values. The spanning elements apply different functions that may be orthogonal to each other. Using non-orthogonal functions may increase the number of spanning elements—but this increment may be tolerable.


The spanning elements may apply functions that are decorrelated to each other—even if not orthogonal to each other.


The spanning elements may be associated with different combinations of object identifiers that may “cover” multiple possible media units. Candidates for combinations of object identifiers may be selected in various manners—for example based on their occurrence in various images (such as test images) randomly, pseudo randomly, according to some rules and the like. Out of these candidates the combinations may be selected to be decorrelated, to cover said multiple possible media units and/or in a manner that certain objects are mapped to the same spanning elements.


Each spanning element compares the values of the merge results to the unique set (associated with the spanning element) and if there is a match—then the spanning element is deemed to be relevant. If so—the spanning element completes the expansion operation.


If there is no match—the spanning element is deemed to be irrelevant and enters a low power mode. The low power mode may also be referred to as an idle mode, a standby mode, and the like. The low power mode is termed low power because the power consumption of an irrelevant spanning element is lower than the power consumption of a relevant spanning element.


In FIG. 1C various spanning elements are relevant (5061(1)-5061(3)) and one spanning element is irrelevant (5061(J)).


Each relevant spanning element may perform a spanning operation that includes assigning an output value that is indicative of an identity of the relevant spanning elements of the iteration. The output value may also be indicative of identities of previous relevant spanning elements (from previous iterations).


For example—assuming that spanning element number fifty is relevant and is associated with a unique set of values of eight and four—then the output value may reflect the numbers fifty, four and eight—for example one thousand multiplied by (fifty+forty) plus forty. Any other mapping function may be applied.



FIG. 1C also illustrates the steps executed by each spanning element:


Checking if the merge results are relevant to the spanning element (step 5091).


If so—completing the spanning operation (step 5093).


If not—entering an idle state (step 5092).



FIG. 1D is an example of various merge operations.


A merge operation may include finding regions of interest. The regions of interest are regions within a multidimensional representation of the sensed information. A region of interest may exhibit a more significant response (for example a stronger, higher intensity response).


The merge operation (executed during a k'th iteration merge operation) may include at least one of the following:


Step 5031 of searching for overlaps between regions of interest (of the k'th iteration expansion operation results) and define regions of interest that are related to the overlaps.


Step 5032 of determining to drop one or more region of interest, and dropping according to the determination.


Step 5033 of searching for relationships between regions of interest (of the k'th iteration expansion operation results) and define regions of interest that are related to the relationship.


Step 5034 of searching for proximate regions of interest (of the k'th iteration expansion operation results) and define regions of interest that are related to the proximity. Proximate may be a distance that is a certain fraction (for example less than 1%) of the multi-dimensional space, may be a certain fraction of at least one of the regions of interest that are tested for proximity.


Step 5035 of searching for relationships between regions of interest (of the k'th iteration expansion operation results) and define regions of interest that are related to the relationship.


Step 5036 of merging and/or dropping k'th iteration regions of interest based on shape information related to shape of the k'th iteration regions of interest.


The same merge operations may applied in different iterations.


Alternatively, different merge operations may be executed during different iterations.



FIG. 1E illustrates an example of a hybrid process and an input image 6001.


The hybrid process is hybrid in the sense that some expansion and merge operations are executed by a convolutional neural network (CNN) and some expansion and merge operations (denoted additional iterations of expansion and merge) are not executed by the CNN—but rather by a process that may include determining a relevancy of spanning elements and entering irrelevant spanning elements to a low power mode.


In FIG. 1E one or more initial iterations are executed by first and second CNN layers 6010(1) and 6010(2) that apply first and second functions 6015(1) and 6015(2).


The output of these layers provided information about image properties. The image properties may not amount to object detection. Image properties may include location of edges, properties of curves, and the like.


The CNN may include additional layers (for example third till N'th layer 6010(N)) that may provide a CNN output 6018 that may include object detection information. It should be noted that the additional layers may not be included.


It should be noted that executing the entire signature generation process by a hardware CNN of fixed connectivity may have a higher power consumption—as the CNN will not be able to reduce the power consumption of irrelevant nodes.



FIG. 1F illustrates a method 7000 for low-power calculation of a signature.


Method 7000 starts by step 7010 of receiving or generating a media unit of multiple objects.


Step 7010 may be followed by step 7012 of processing the media unit by performing multiple iterations, wherein at least some of the multiple iterations comprises applying, by spanning elements of the iteration, dimension expansion process that are followed by a merge operation.


The applying of the dimension expansion process of an iteration may include (a) determining a relevancy of the spanning elements of the iteration; and (b) completing the dimension expansion process by relevant spanning elements of the iteration and reducing a power consumption of irrelevant spanning elements until, at least, a completion of the applying of the dimension expansion process.


The identifiers may be retrieval information for retrieving the significant portions.


The at least some of the multiple iterations may be a majority of the multiple iterations.


The output of the multiple iteration may include multiple property attributes for each segment out of multiple segments of the media unit; and wherein the significant portions of an output of the multiple iterations may include more impactful property attributes.


The first iteration of the multiple iteration may include applying the dimension expansion process by applying different filters on the media unit.


The at least some of the multiple iteration exclude at least a first iteration of the multiple iterations. See, for example, FIG. 1E.


The determining the relevancy of the spanning elements of the iteration may be based on at least some identities of relevant spanning elements of at least one previous iteration.


The determining the relevancy of the spanning elements of the iteration may be based on at least some identities of relevant spanning elements of at least one previous iteration that preceded the iteration.


The determining the relevancy of the spanning elements of the iteration may be based on properties of the media unit.


The determining the relevancy of the spanning elements of the iteration may be performed by the spanning elements of the iteration.


Method 7000 may include a neural network processing operation that may be executed by one or more layers of a neural network and does not belong to the at least some of the multiple iterations. See, for example, FIG. 1E.


The at least one iteration may be executed without reducing power consumption of irrelevant neurons of the one or more layers.


The one or more layers may output information about properties of the media unit, wherein the information differs from a recognition of the multiple objects.


The applying, by spanning elements of an iteration that differs from the first iteration, the dimension expansion process may include assigning output values that may be indicative of an identity of the relevant spanning elements of the iteration. See, for example, FIG. 1C.


The applying, by spanning elements of an iteration that differs from the first iteration, the dimension expansion process may include assigning output values that may be indicative a history of dimension expansion processes until the iteration that differs from the first iteration.


The each spanning element may be associated with a subset of reference identifiers. The determining of the relevancy of each spanning elements of the iteration may be based a relationship between the subset of the reference identifiers of the spanning element and an output of a last merge operation before the iteration.


The output of a dimension expansion process of an iteration may be a multidimensional representation of the media unit that may include media unit regions of interest that may be associated with one or more expansion processes that generated the regions of interest.


The merge operation of the iteration may include selecting a subgroup of media unit regions of interest based on a spatial relationship between the subgroup of multidimensional regions of interest.


Method 7000 may include applying a merge function on the subgroup of multidimensional regions of interest. See, for example, FIG. 1C.


Method 7000 may include applying an intersection function on the subgroup of multidimensional regions of interest. See, for example, FIG. 1C.


The merge operation of the iteration may be based on an actual size of one or more multidimensional regions of interest.


The merge operation of the iteration may be based on relationship between sizes of the multidimensional regions of interest. For example—larger multidimensional regions of interest may be maintained while smaller multidimensional regions of interest may be ignored of.


The merge operation of the iteration may be based on changes of the media unit regions of interest during at least the iteration and one or more previous iteration.


Step 7012 may be followed by step 7014 of determining identifiers that are associated with significant portions of an output of the multiple iterations.


Step 7014 may be followed by step 7016 of providing a signature that comprises the identifiers and represents the multiple objects.


Localization and Segmentation


Any of the mentioned above signature generation method provides a signature that does not explicitly includes accurate shape information. This adds to the robustness of the signature to shape related inaccuracies or to other shape related parameters.


The signature includes identifiers for identifying media regions of interest.


Each media region of interest may represent an object (for example a vehicle, a pedestrian, a road element, a human made structure, wearables, shoes, a natural element such as a tree, the sky, the sun, and the like) or a part of an object (for example—in the case of the pedestrian—a neck, a head, an arm, a leg, a thigh, a hip, a foot, an upper arm, a forearm, a wrist, and a hand). It should be noted that for object detection purposes a part of an object may be regarded as an object.


The exact shape of the object may be of interest.



FIG. 1G illustrates method 7002 of generating a hybrid representation of a media unit.


Method 7002 may include a sequence of steps 7020, 7022, 7024 and 7026.


Step 7020 may include receiving or generating the media unit.


Step 7022 may include processing the media unit by performing multiple iterations, wherein at least some of the multiple iterations comprises applying, by spanning elements of the iteration, dimension expansion process that are followed by a merge operation.


Step 7024 may include selecting, based on an output of the multiple iterations, media unit regions of interest that contributed to the output of the multiple iterations.


Step 7026 may include providing a hybrid representation, wherein the hybrid representation may include (a) shape information regarding shapes of the media unit regions of interest, and (b) a media unit signature that includes identifiers that identify the media unit regions of interest.


Step 7024 may include selecting the media regions of interest per segment out of multiple segments of the media unit. See, for example, FIG. 2.


Step 7026 may include step 7027 of generating the shape information.


The shape information may include polygons that represent shapes that substantially bound the media unit regions of interest. These polygons may be of a high degree.


In order to save storage space, the method may include step 7028 of compressing the shape information of the media unit to provide compressed shape information of the media unit.



FIG. 1H illustrates method 5002 for generating a hybrid representation of a media unit.


Method 5002 may start by step 5011 of receiving or generating a media unit.


Step 5011 may be followed by processing the media unit by performing multiple iterations, wherein at least some of the multiple iterations comprises applying, by spanning elements of the iteration, dimension expansion process that are followed by a merge operation.


The processing may be followed by steps 5060 and 5062.


The processing may include steps 5020, 5030, 5040 and 5050.


Step 5020 may include performing a k'th iteration expansion process (k may be a variable that is used to track the number of iterations).


Step 5030 may include performing a k'th iteration merge process.


Step 5040 may include changing the value of k.


Step 5050 may include checking if all required iterations were done—if so proceeding to steps 5060 and 5062. Else—jumping to step 5020.


The output of step 5020 is a k'th iteration expansion result.


The output of step 5030 is a k'th iteration merge result.


For each iteration (except the first iteration)—the merge result of the previous iteration is an input to the current iteration expansion process.


Step 5060 may include completing the generation of the signature.


Step 5062 may include generating shape information regarding shapes of media unit regions of interest. The signature and the shape information provide a hybrid representation of the media unit.


The combination of steps 5060 and 5062 amounts to a providing a hybrid representation, wherein the hybrid representation may include (a) shape information regarding shapes of the media unit regions of interest, and (b) a media unit signature that includes identifiers that identify the media unit regions of interest.


Object detection using compressed shape information.


Object detection may include comparing a signature of an input image to signatures of one or more cluster structures in order to find one or more cluster structures that include one or more matching signatures that match the signature of the input image.


The number of input images that are compared to the cluster structures may well exceed the number of signatures of the cluster structures. For example—thousands, tens of thousands, hundreds of thousands (and even more) of input signature may be compared to much less cluster structure signatures. The ratio between the number of input images to the aggregate number of signatures of all the cluster structures may exceed ten, one hundred, one thousand, and the like.


In order to save computational resources, the shape information of the input images may be compressed.


On the other hand—the shape information of signatures that belong to the cluster structures may be uncompressed—and of higher accuracy than those of the compressed shape information.


When the higher quality is not required—the shape information of the cluster signature may also be compressed.


Compression of the shape information of cluster signatures may be based on a priority of the cluster signature, a popularity of matches to the cluster signatures, and the like.


The shape information related to an input image that matches one or more of the cluster structures may be calculated based on shape information related to matching signatures.


For example—a shape information regarding a certain identifier within the signature of the input image may be determined based on shape information related to the certain identifiers within the matching signatures.


Any operation on the shape information related to the certain identifiers within the matching signatures may be applied in order to determine the (higher accuracy) shape information of a region of interest of the input image identified by the certain identifier.


For example—the shapes may be virtually overlaid on each other and the population per pixel may define the shape.


For example—only pixels that appear in at least a majority of the overlaid shaped should be regarded as belonging to the region of interest.


Other operations may include smoothing the overlaid shapes, selecting pixels that appear in all overlaid shapes.


The compressed shape information may be ignored of or be taken into account.



FIG. 1I illustrates a matching process and a generation of a higher accuracy shape information.


It is assumed that there are multiple (M) cluster structures 4974(1)-4974(M). Each cluster structure includes cluster signatures, metadata regarding the cluster signatures, and shape information regarding the regions of interest identified by identifiers of the cluster signatures.


For example—first cluster structure 4974(1) includes multiple (N1) signatures (referred to as cluster signatures CS) CS(1,1)-CS(1,N1) 4975(1,1)-4975(1,N1), metadata 4976(1), and shape information (Shapeinfo 4977(1)) regarding shapes of regions of interest associated with identifiers of the CSs.


Yet for another example—M'th cluster structure 4974(M) includes multiple (N2) signatures (referred to as cluster signatures CS) CS(M,1)-CS(M,N2) 4975(M,1)-4975(M,N2), metadata 4976(M), and shape information (Shapeinfo 4977(M)) regarding shapes of regions of interest associated with identifiers of the CSs.


The number of signatures per concept structure may change over time—for example due to cluster reduction attempts during which a CS is removed from the structure to provide a reduced cluster structure, the reduced structure is checked to determine that the reduced cluster signature may still identify objects that were associated with the (non-reduced) cluster signature—and if so the signature may be reduced from the cluster signature.


The signatures of each cluster structures are associated to each other, wherein the association may be based on similarity of signatures and/or based on association between metadata of the signatures.


Assuming that each cluster structure is associated with a unique object—then objects of a media unit may be identified by finding cluster structures that are associated with said objects. The finding of the matching cluster structures may include comparing a signature of the media unit to signatures of the cluster structures- and searching for one or more matching signature out of the cluster signatures.


In FIG. 1I—a media unit having a hybrid representation undergoes object detection. The hybrid representation includes media unit signature 4972 and compressed shape information 4973.


The media unit signature 4972 is compared to the signatures of the M cluster structures—from CS(1,1) 4975(1,1) till CS(M,N2) 4975(M,N2).


We assume that one or more cluster structures are matching cluster structures.


Once the matching cluster structures are found the method proceeds by generating shape information that is of higher accuracy then the compressed shape information.


The generation of the shape information is done per identifier.


For each j that ranges between 1 and J (J is the number of identifiers per the media unit signature 4972) the method may perform the steps of:


Find (step 4978(j)) the shape information of the j'th identifier of each matching signature- or of each signature of the matching cluster structure.


Generate (step 4979(j)) a higher accuracy shape information of the j'th identifier.


For example—assuming that the matching signatures include CS(1,1) 2975(1,1), CS(2,5) 2975(2,5), CS(7,3) 2975(7,3) and CS(15,2) 2975(15,2), and that the j'th identifier is included in CS(1,1) 2975(1,1),CS(7,3) 2975(7,3) and CS(15,2) 2975(15,2)—then the shape information of the j'th identifier of the media unit is determined based on the shape information associated with CS(1,1) 2975(1,1),CS(7,3) 2975(7,3) and CS(15,2) 2975(15,2).



FIG. 1P illustrates an image 8000 that includes four regions of interest 8001, 8002, 8003 and 8004. The signature 8010 of image 8000 includes various identifiers including ID18011, ID28012, ID38013 and ID48014 that identify the four regions of interest 8001, 8002, 8003 and 8004.


The shapes of the four regions of interest 8001, 8002, 8003 and 8004 are four polygons. Accurate shape information regarding the shapes of these regions of interest may be generated during the generation of signature 8010.



FIG. 1J illustrates method 8030 for object detection.


Method 8030 may include the steps of method 8020 or may be preceded by steps 8022, 8024 and 8026.


Method 8030 may include a sequence of steps 8032, 8034, 8036 and 8038.


Step 8032 may include receiving or generating an input image.


Step 8034 may include generating a signature of the input image.


Step 8036 may include comparing the signature of the input image to signatures of a certain concept structure. The certain concept structure may be generated by method 8020.


Step 8038 may include determining that the input image comprises the object when at least one of the signatures of the certain concept structure matches the signature of the input image.



FIG. 2D illustrates method 8040 for object detection.


Method 8040 may include the steps of method 8020 or may be preceded by steps 8022, 8024 and 8026.


Method 8040 may include a sequence of steps 8041, 8043, 8045, 8047 and 8049.


Step 8041 may include receiving or generating an input image.


Step 8043 may include generating a signature of the input image, the signature of the input image comprises only some of the certain second image identifiers; wherein the input image of the second scale.


Step 8045 may include changing a scale of the input image to the first scale to a provide an amended input image.


Step 8047 may include generating a signature of the amended input image.


Step 8049 may include verifying that the input image comprises the object when the signature of the amended input image comprises the at least one certain first image identifier.


Object detection that is robust to angle of acquisition.


Object detection may benefit from being robust to the angle of acquisition—to the angle between the optical axis of an image sensor and a certain part of the object. This allows the detection process to be more reliable, use fewer different clusters (may not require multiple clusters for identifying the same object from different images).



FIG. 1K illustrates method 8120 that includes the following steps:


Step 8122 of receiving or generating images of objects taken from different angles.


Step 8124 of finding images of objects taken from different angles that are close to each other. Close enough may be less than 1, 5, 10, 15 and 20 degrees—but the closeness may be better reflected by the reception of substantially the same signature.


Step 8126 of linking between the images of similar signatures. This may include searching for local similarities. The similarities are local in the sense that they are calculated per a subset of signatures. For example—assuming that the similarity is determined per two images—then a first signature may be linked to a second signature that is similar to the first image. A third signature may be linked to the second image based on the similarity between the second and third signatures—and even regardless of the relationship between the first and third signatures.


Step 8126 may include generating a concept data structure that includes the similar signatures.


This so-called local or sliding window approach, in addition to the acquisition of enough images (that will statistically provide a large angular coverage) will enable to generate a concept structure that include signatures of an object taken at multiple directions.


Signature Tailored Matching Threshold.


Object detection may be implemented by (a) receiving or generating concept structures that include signatures of media units and related metadata, (b) receiving a new media unit, generating a new media unit signature, and (c) comparing the new media unit signature to the concept signatures of the concept structures.


The comparison may include comparing new media unit signature identifiers (identifiers of objects that appear in the new media unit) to concept signature identifiers and determining, based on a signature matching criteria whether the new media unit signature matches a concept signature. If such a match is found then the new media unit is regarded as including the object associated with that concept structure.


It was found that by applying an adjustable signature matching criteria, the matching process may be highly effective and may adapt itself to the statistics of appearance of identifiers in different scenarios. For example—a match may be obtained when a relatively rear but highly distinguishing identifier appears in the new media unit signature and in a cluster signature, but a mismatch may be declared when multiple common and slightly distinguishing identifiers appear in the new media unit signature and in a cluster signature.



FIG. 1L illustrates method 8200 for object detection.


Method 8200 may include:


Step 8210 of receiving an input image.


Step 8212 of generating a signature of the input image.


Step 8214 of comparing the signature of the input image to signatures of a concept structure.


Step 8216 of determining whether the signature of the input image matches any of the signatures of the concept structure based on signature matching criteria, wherein each signature of the concept structure is associated within a signature matching criterion that is determined based on an object detection parameter of the signature.


Step 8218 of concluding that the input image comprises an object associated with the concept structure based on an outcome of the determining.


The signature matching criteria may be a minimal number of matching identifiers that indicate of a match. For example—assuming a signature that include few tens of identifiers, the minimal number may vary between a single identifier to all of the identifiers of the signature.


It should be noted that an input image may include multiple objects and that a signature of the input image may match multiple cluster structures. Method 8200 is applicable to all of the matching processes- and that the signature matching criteria may be set for each signature of each cluster structure.


Step 8210 may be preceded by step 8202 of determining each signature matching criterion by evaluating object detection capabilities of the signature under different signature matching criteria.


Step 8202 may include:


Step 8203 of receiving or generating signatures of a group of test images.


Step 8204 of calculating the object detection capability of the signature, for each signature matching criterion of the different signature matching criteria.


Step 8206 of selecting the signature matching criterion based on the object detection capabilities of the signature under the different signature matching criteria.


The object detection capability may reflect a percent of signatures of the group of test images that match the signature.


The selecting of the signature matching criterion comprises selecting the signature matching criterion that once applied results in a percent of signatures of the group of test images that match the signature that is closets to a predefined desired percent of signatures of the group of test images that match the signature.


The object detection capability may reflect a significant change in the percent of signatures of the group of test images that match the signature. For example—assuming, that the signature matching criteria is a minimal number of matching identifiers and that changing the value of the minimal numbers may change the percentage of matching test images. A substantial change in the percentage (for example a change of more than 10, 20, 30, 40 percent) may be indicative of the desired value. The desired value may be set before the substantial change, proximate to the substantial change, and the like.


For example, referring to FIG. 1I, cluster signatures CS(1,1), CS(2,5), CS(7,3) and CS(15,2) match unit signature 4972. Each of these matches may apply a unique signature matching criterion.


Examples of Systems


FIG. 1M illustrates an example of a system capable of executing one or more of the mentioned above methods.


The system include various components, elements and/or units.


A component element and/or unit may be a processing circuitry may be implemented as a central processing unit (CPU), and/or one or more other integrated circuits such as application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), full-custom integrated circuits, etc., or a combination of such integrated circuits.


Alternatively, each component element and/or unit may implemented in hardware, firmware, or software that may be executed by a processing circuitry.


System 4900 may include sensing unit 4902, communication unit 4904, input 4911, one or more processors—such as processor 4950, and output 4919. The communication unit 4904 may include the input and/or the output. The communication unit 4904 may communicate with any entity—within the vehicle (for example driver device, passenger device, multimedia device), outside the vehicle (another vehicle, another computerized system—such as out-of-vehicle computerized system 4820 of FIG. 1N, another road user, another human outside the vehicle), and the like.


Input and/or output may be any suitable communications component such as a network interface card, universal serial bus (USB) port, disk reader, modem or transceiver that may be operative to use protocols such as are known in the art to communicate either directly, or indirectly, with other elements of the system.


Processor 4950 may include at least some out of (and thus may not include at least one out of):


a. Multiple spanning elements 4951(q).


b. Multiple merge elements 4952(r).


c. Object detector 4953.


d. Cluster manager 4954.


e. Controller 4955.


f Selection unit 4956.


g. Object detection determination unit 4957.


h. Signature generator 4958.


i. Movement information unit 4959.


j. Identifier unit 4960.


While system 4900 includes a sensing unit 4902—is should be noted that it may receive sensed information from other sensors and/or that the sensing unit does not belong to the system. The system may receive information from one or more sensors located in the vehicle, associated with the vehicle, and/or located outside the vehicle.


Any method illustrated in the specification may be fully or partially executed by system 4900, and/or may be fully or partially executed by one or more other computerized system, and/or by one or more computerized systems—for example by task allocations between computerized systems, by a cooperation (for example—exchange of information, exchange of decisions, any allocation of resources, collaborative decision, and the like) between multiple computerized systems.


The one or more other computerized systems may be, for example, out-of-vehicle computerized system 4820 of FIG. 1N, any other out-of-vehicle computerized system, one or more other in-vehicle systems, a computerized device of a person within the vehicle, any computerized system outside the vehicle—including for example a computerized system of another vehicle.


An example of an other in-vehicle system is denoted 4830 in FIGS. 1N and 1s located within vehicle 4800 that drives along road 4820.


System 4900 may obtain sensed information from any type of sensors—a camera, one or more sensors implemented using any suitable imaging technology instead of, or in addition to, a conventional camera, an infrared sensor, a radar, an ultrasound sensor, any electro-optic sensor, a radiography sensor, a LIDAR (light detection and ranging), telemetry ECU sensor, shock sensor, etc.


System 4900 and/or other in-vehicle system is denoted 4830 may use supervised and/or unsupervised learning to perform any method executed by them.


The other in-vehicle system 4830 may be an autonomous driving system, an advance driver assistance system, or may differ from an autonomous driving system and from an advance driver assistance system.


The other in-vehicle system 4830 may include processing circuitry 210, input/output (I/O) module 220, one or more sensors 233, and database 270. The processing circuitry 210 may execute any task is it assigned or programmed to perform in relation to any of the methods illustrate din the application. Alternatively—the other in-vehicle system 4830 may include another module for executing (alone or with the processing circuit) any such task. For example—the processing circuitry may execute instructions to provide an autonomous driving manager functionality. Alternatively—another circuit or module of the in-vehicle system 4830 may provide the autonomous driving manager functionality.



FIG. 1O illustrates method 7002 of generating a hybrid representation of a media unit.


Method 7002 may include a sequence of steps 7020, 7022, 7024 and 7026.


Step 7020 may include receiving or generating the media unit.


Step 7022 may include processing the media unit by performing multiple iterations, wherein at least some of the multiple iterations comprises applying, by spanning elements of the iteration, dimension expansion process that are followed by a merge operation.


Step 7024 may include selecting, based on an output of the multiple iterations, media unit regions of interest that contributed to the output of the multiple iterations.


Step 7026 may include providing a hybrid representation, wherein the hybrid representation may include (a) shape information regarding shapes of the media unit regions of interest, and (b) a media unit signature that includes identifiers that identify the media unit regions of interest.


Step 7024 may include selecting the media regions of interest per segment out of multiple segments of the media unit. See, for example, FIG. 2.


Step 7026 may include step 7027 of generating the shape information.


The shape information may include polygons that represent shapes that substantially bound the media unit regions of interest. These polygons may be of a high degree.


In order to save storage space, the method may include step 7028 of compressing the shape information of the media unit to provide compressed shape information of the media unit.



FIG. 1P illustrates method 8020 for scale invariant object detection.


Method 8020 may include a first sequence of steps that may include step 8022, 8024, 8026 and 8028.


Step 8022 may include receiving or generating a first image in which an object appears in a first scale and a second image in which the object appears in a second scale that differs from the first scale.


Step 8024 may include generating a first image signature and a second image signature.


The first image signature includes a first group of at least one certain first image identifier that identifies at least a part of the object.


The second image signature includes a second group of certain second image identifiers that identify different parts of the object.


The second group is larger than first group—as the second group has more members than the first group.


Step 8026 may include linking between the at least one certain first image identifier and the certain second image identifiers.


Step 8026 may include linking between the first image signature, the second image signature and the object.


Step 8026 may include adding the first signature and the second signature to a certain concept structure that is associated with the object.


Step 8028 may include determining whether an input image includes the object based, at least in part, on the linking. The input image differs from the first and second images.


The determining may include determining that the input image includes the object when a signature of the input image includes the at least one certain first image identifier or the certain second image identifiers.


The determining may include determining that the input image includes the object when the signature of the input image includes only a part of the at least one certain first image identifier or only a part of the certain second image identifiers.


The linking may be performed for more than two images in which the object appears in more than two scales.



FIG. 1Q illustrates method 8200 for object detection.


Method 8200 may include:


Step 8210 of receiving an input image.


Step 8212 of generating a signature of the input image.


Step 8214 of comparing the signature of the input image to signatures of a concept structure.


Step 8216 of determining whether the signature of the input image matches any of the signatures of the concept structure based on signature matching criteria, wherein each signature of the concept structure is associated within a signature matching criterion that is determined based on an object detection parameter of the signature.


Step 8218 of concluding that the input image comprises an object associated with the concept structure based on an outcome of the determining.


The signature matching criteria may be a minimal number of matching identifiers that indicate of a match. For example—assuming a signature that include few tens of identifiers, the minimal number may vary between a single identifier to all of the identifiers of the signature.


It should be noted that an input image may include multiple objects and that a signature of the input image may match multiple cluster structures. Method 8200 is applicable to all of the matching processes- and that the signature matching criteria may be set for each signature of each cluster structure.


Step 8210 may be preceded by step 8202 of determining each signature matching criterion by evaluating object detection capabilities of the signature under different signature matching criteria.


Step 8202 may include:


Step 8203 of receiving or generating signatures of a group of test images.


Step 8204 of calculating the object detection capability of the signature, for each signature matching criterion of the different signature matching criteria.


Step 8206 of selecting the signature matching criterion based on the object detection capabilities of the signature under the different signature matching criteria.


The object detection capability may reflect a percent of signatures of the group of test images that match the signature.


The selecting of the signature matching criterion comprises selecting the signature matching criterion that once applied results in a percent of signatures of the group of test images that match the signature that is closets to a predefined desired percent of signatures of the group of test images that match the signature.


The object detection capability may reflect a significant change in the percent of signatures of the group of test images that match the signature. For example—assuming, that the signature matching criteria is a minimal number of matching identifiers and that changing the value of the minimal numbers may change the percentage of matching test images. A substantial change in the percentage (for example a change of more than 10, 20, 30, 40 percent) may be indicative of the desired value. The desired value may be set before the substantial change, proximate to the substantial change, and the like.


Any reference in the specification to a method should be applied mutatis mutandis to a system capable of executing the method and should be applied mutatis mutandis to a non-transitory computer readable medium that stores instructions that once executed by a computer result in the execution of the method.


Any reference in the specification to a system and any other component should be applied mutatis mutandis to a method that may be executed by a system and should be applied mutatis mutandis to a non-transitory computer readable medium that stores instructions that may be executed by the system.


Any reference in the specification to a non-transitory computer readable medium should be applied mutatis mutandis to a system capable of executing the instructions stored in the non-transitory computer readable medium and should be applied mutatis mutandis to method that may be executed by a computer that reads the instructions stored in the non-transitory computer readable medium.


Any combination of any module or unit listed in any of the figures, any part of the specification and/or any claims may be provided. Especially any combination of any claimed feature may be provided.


Any reference to the term “comprising” or “having” should be interpreted also as referring to “consisting” of “essentially consisting of”. For example—a method that comprises certain steps can include additional steps, can be limited to the certain steps or may include additional steps that do not materially affect the basic and novel characteristics of the method—respectively.


The invention may also be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the invention when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the invention. The computer program may cause the storage system to allocate disk drives to disk drive groups.


A computer program is a list of instructions such as a particular application program and/or an operating system. The computer program may for instance include one or more of: a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.


The computer program may be stored internally on a computer program product such as non-transitory computer readable medium. All or some of the computer program may be provided on non-transitory computer readable media permanently, removably or remotely coupled to an information processing system. The non-transitory computer readable media may include, for example and without limitation, any number of the following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; nonvolatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc. A computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. The computer system may for instance include at least one processing unit, associated memory and a number of input/output (I/O) devices. When executing the computer program, the computer system processes information according to the computer program and produces resultant output information via I/O devices.


In the foregoing specification, the invention has been described with reference to specific examples of embodiments of the invention. It will, however, be evident that various modifications and changes may be made therein without departing from the broader spirit and scope of the invention as set forth in the appended claims.


Moreover, the terms “front,” “back,” “top,” “bottom,” “over,” “under” and the like in the description and in the claims, if any, are used for descriptive purposes and not necessarily for describing permanent relative positions. It is understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the invention described herein are, for example, capable of operation in other orientations than those illustrated or otherwise described herein.


Those skilled in the art will recognize that the boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements. Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures may be implemented which achieve the same functionality.


Any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality may be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality.


Furthermore, those skilled in the art will recognize that boundaries between the above described operations merely illustrative. The multiple operations may be combined into a single operation, a single operation may be distributed in additional operations and operations may be executed at least partially overlapping in time. Moreover, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be altered in various other embodiments. Also for example, in one embodiment, the illustrated examples may be implemented as circuitry located on a single integrated circuit or within a same device. Alternatively, the examples may be implemented as any number of separate integrated circuits or separate devices interconnected with each other in a suitable manner.


Also for example, the examples, or portions thereof, may implemented as soft or code representations of physical circuitry or of logical representations convertible into physical circuitry, such as in a hardware description language of any appropriate type.


Also, the invention is not limited to physical devices or units implemented in non-programmable hardware but can also be applied in programmable devices or units able to perform the desired device functions by operating in accordance with suitable program code, such as mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices, commonly denoted in this application as ‘computer systems’.


However, other modifications, variations and alternatives are also possible. The specifications and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense.


In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word ‘comprising’ does not exclude the presence of other elements or steps then those listed in a claim. Furthermore, the terms “a” or “an,” as used herein, are defined as one or more than one. Also, the use of introductory phrases such as “at least one” and “one or more” in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to inventions containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an.” The same holds true for the use of definite articles. Unless stated otherwise, terms such as “first” and “second” are used to arbitrarily distinguish between the elements such terms describe. Thus, these terms are not necessarily intended to indicate temporal or other prioritization of such elements. The mere fact that certain measures are recited in mutually different claims does not indicate that a combination of these measures cannot be used to advantage.


While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

Claims
  • 1. A method for bypass alert, the method comprises: obtaining during a driving session of a vehicle, sensed information about an environment of the first vehicle, by one of more vehicle sensors of the vehicle; detecting that the vehicle is within a certain distance from a destination of the driving session; detecting, using a first machine learning process, one or more parking indicators that are indicative of an allowable parking area that precedes the vehicle; detecting a vacant parking space within the parking area that is large enough to facilitate a parking of the vehicle within the vacant parking space; and responding to the vacant parking space by: suggesting a driver of the vehicle to use autonomous parking capabilities of the vehicle, when an estimated parking skill of the driver is not suffice to perform the parking, and autonomous parking capabilities of the vehicle are suffice to perform the parking; and autonomously parking the vehicle when the driver accepts to use the autonomous parking capabilities of the vehicle based on the suggestion.
  • 2. The method according to claim 1 wherein the detecting of the vacant parking space comprises determining one or more dimensions of the vacant parking space, determining access to the vacant parking space, obtaining information about dimensions and maneuverability of the vehicle; and determining whether the vacant parking space within the parking area is large enough to facilitate the parking of the vehicle within the vacant parking space is based on the one or more dimensions of the vacant parking space, access to the vacant parking space and the dimensions and maneuverability of the vehicle.
  • 3. The method according to claim 1 wherein the determining of whether the vacant parking space within the parking area is large enough to facilitate the parking of the vehicle within the vacant parking space is also based on whether a rear parking camera of the vehicle failed.
  • 4. The method according to claim 1 wherein the determining of whether the vacant parking space within the parking area is large enough to facilitate the parking of the vehicle within the vacant parking space is based on whether one or more parking related units of the vehicle failed.
  • 5. The method according to claim 1 comprising preventing from detecting the vacant parking space within the parking area outside the certain distance from the destination of the driving session.
  • 6. The method according to claim 1 comprising determining the certain distance based on parking history related to the destination of the driving session, wherein the parking history comprises failed pervious parking attempts to find a valid parking space.
  • 7. The method according to claim 1, comprising initially searching for vacant parking spaces within one or more parking areas outside the certain distance from the destination of the driving session; predicting, based on the initially searching, a success of finding a vacant parking space within the certain distance from the destination of the driving session, and changing the certain distance when the success rate is below a threshold.
  • 8. The method according to claim 1 comprising obtaining information about success rate of finding a vacant parking space in a reference region related to a virtual region delimited by the certain distance from the destination of the driving session; and determining the certain distance based on the information about the success rate.
  • 9. The method according to claim 1 wherein the one or more parking indicators comprise curbs, and traffic signs.
  • 10. The method according to claim 1 wherein the machine learning process is trained by a training process that comprises: receiving a first data set of sensed information that comprises tagged traffic signs, curbs indicative of parking spaces and parked vehicles;generating, using a machine learning process, initial parking indicators based on the first data set;receiving a second data set of sensed information; andgenerating, by the machine learning process, parking indicator, the generating comprises processing the second data set of sensed information using the initial parking indicators.
  • 11. A non transitory computer readable medium that stores instructions for: obtaining during a driving session of a vehicle, sensed information about an environment of the first vehicle, by one of more vehicle sensors of the vehicle;detecting that the vehicle is within a certain distance from a destination of the driving session;detecting, using a first machine learning process, one or more parking indicators that are indicative of an allowable parking area that precedes the vehicle;detecting a vacant parking space within the parking area that is large enough to facilitate a parking of the vehicle within the vacant parking space; and responding to the vacant parking space by:suggesting a driver of the vehicle to use autonomous parking, capabilities of the vehicle, when an estimated parking skill of the driver is not suffice to perform the parking, and autonomous parking capabilities of the vehicle are suffice to perform the parking; andautonomously parking the vehicle when the driver accepts to use the autonomous parking capabilities of the vehicle based on the suggestion.
  • 12. The non transitory computer readable medium according to claim 11, wherein the detecting of the vacant parking space comprises determining one or more dimensions of the vacant parking space, determining access to the vacant parking space, obtaining information about dimensions and maneuverability of the vehicle; and determining whether the vacant parking space within the parking area is large enough to facilitate the parking of the vehicle within the vacant parking space is based on the one or more dimensions of the vacant parking space, access to the vacant parking space and the dimensions and maneuverability of the vehicle.
  • 13. The non transitory computer readable medium according to claim 11, wherein the determining of whether the vacant parking space within the parking area is large enough to facilitate the parking of the vehicle within the vacant parking space is also based on whether a rear parking camera of the vehicle failed.
  • 14. The non transitory computer readable medium according to claim 11, wherein the determining of whether the vacant parking space within the parking area is large enough to facilitate the parking of the vehicle within the vacant parking space is based on whether one or more parking related units of the vehicle failed.
  • 15. The non transitory computer readable medium according to claim 11, that stores instructions for preventing from detecting the vacant parking space within the parking area outside the certain distance from the destination of the driving session.
  • 16. The non transitory computer readable medium according to claim 11, that stores instructions for determining the certain distance based on parking history related to the destination of the driving session, wherein the parking history comprises failed pervious parking attempts to find a valid parking space.
  • 17. The non transitory computer readable medium according to claim 11, that stores instructions for initially searching for vacant parking spaces within one or more parking areas outside the certain distance from the destination of the driving session; predicting, based on the initially searching, a success of finding a vacant parking space within the certain distance from the destination of the driving session, and changing the certain distance when the success rate is below a threshold.
  • 18. The non transitory computer readable medium according to claim 11, that stores instructions for obtaining information about success rate of finding a vacant parking space in a reference region related to a virtual region delimited by the certain distance from the destination of the driving session; and determining the certain distance based on the information about the success rate.
  • 19. The non transitory computer readable medium according to claim 11, wherein the one or more parking indicators comprise curbs, and traffic signs.
US Referenced Citations (378)
Number Name Date Kind
4733353 Jaswa Mar 1988 A
4932645 Schorey et al. Jun 1990 A
4972363 Nguyen et al. Nov 1990 A
5078501 Hekker et al. Jan 1992 A
5214746 Fogel et al. May 1993 A
5307451 Clark Apr 1994 A
5412564 Ecer May 1995 A
5436653 Ellis et al. Jul 1995 A
5568181 Greenwood et al. Oct 1996 A
5638425 Meador, I et al. Jun 1997 A
5745678 Herzberg et al. Apr 1998 A
5754938 Herz et al. May 1998 A
5763069 Jordan Jun 1998 A
5806061 Chaudhuri et al. Sep 1998 A
5835087 Herz et al. Nov 1998 A
5835901 Duvoisin et al. Nov 1998 A
5852435 Vigneaux et al. Dec 1998 A
5870754 Dimitrova et al. Feb 1999 A
5873080 Coden et al. Feb 1999 A
5887193 Takahashi et al. Mar 1999 A
5926812 Hilsenrath et al. Jul 1999 A
5978754 Kumano Nov 1999 A
5991306 Burns et al. Nov 1999 A
6052481 Grajski et al. Apr 2000 A
6070167 Qian et al. May 2000 A
6076088 Paik et al. Jun 2000 A
6122628 Castelli et al. Sep 2000 A
6128651 Cezar Oct 2000 A
6137911 Zhilyaev Oct 2000 A
6144767 Bottou et al. Nov 2000 A
6147636 Gershenson Nov 2000 A
6163510 Lee et al. Dec 2000 A
6243375 Speicher Jun 2001 B1
6243713 Nelson et al. Jun 2001 B1
6275599 Adler et al. Aug 2001 B1
6314419 Faisal Nov 2001 B1
6329986 Cheng Dec 2001 B1
6381656 Shankman Apr 2002 B1
6411229 Kobayashi Jun 2002 B2
6422617 Fukumoto et al. Jul 2002 B1
6507672 Watkins et al. Jan 2003 B1
6523046 Liu et al. Feb 2003 B2
6524861 Anderson Feb 2003 B1
6546405 Gupta et al. Apr 2003 B2
6550018 Abonamah et al. Apr 2003 B1
6557042 He et al. Apr 2003 B1
6594699 Sahai et al. Jul 2003 B1
6601026 Appelt et al. Jul 2003 B2
6611628 Sekiguchi et al. Aug 2003 B1
6618711 Ananth Sep 2003 B1
6643620 Contolini et al. Nov 2003 B1
6643643 Lee et al. Nov 2003 B1
6665657 Dibachi Dec 2003 B1
6681032 Bortolussi et al. Jan 2004 B2
6704725 Lee Mar 2004 B1
6732149 Kephart May 2004 B1
6742094 Igari May 2004 B2
6751363 Natsev et al. Jun 2004 B1
6751613 Lee et al. Jun 2004 B1
6754435 Kim Jun 2004 B2
6763069 Divakaran et al. Jul 2004 B1
6763519 McColl et al. Jul 2004 B1
6774917 Foote et al. Aug 2004 B1
6795818 Lee Sep 2004 B1
6804356 Krishnamachari Oct 2004 B1
6813395 Kinjo Nov 2004 B1
6819797 Smith et al. Nov 2004 B1
6877134 Fuller et al. Apr 2005 B1
6901207 Watkins May 2005 B1
6938025 Lulich et al. Aug 2005 B1
6985172 Rigney et al. Jan 2006 B1
7013051 Sekiguchi et al. Mar 2006 B2
7020654 Najmi Mar 2006 B1
7023979 Wu et al. Apr 2006 B1
7043473 Rassool et al. May 2006 B1
7158681 Persiantsev Jan 2007 B2
7215828 Luo May 2007 B2
7260564 Lynn et al. Aug 2007 B1
7289643 Brunk et al. Oct 2007 B2
7299261 Oliver et al. Nov 2007 B1
7302089 Smits Nov 2007 B1
7302117 Sekiguchi et al. Nov 2007 B2
7313805 Rosin et al. Dec 2007 B1
7340358 Yoneyama Mar 2008 B2
7346629 Kapur et al. Mar 2008 B2
7353224 Chen et al. Apr 2008 B2
7376672 Weare May 2008 B2
7383179 Alves et al. Jun 2008 B2
7433895 Li et al. Oct 2008 B2
7464086 Black et al. Dec 2008 B2
7529659 Wold May 2009 B2
7577656 Kawai et al. Aug 2009 B2
7657100 Gokturk et al. Feb 2010 B2
7660468 Gokturk et al. Feb 2010 B2
7805446 Potok et al. Sep 2010 B2
7860895 Scofield et al. Dec 2010 B1
7872669 Darrell et al. Jan 2011 B2
7921288 Hildebrand Apr 2011 B1
7933407 Keidar et al. Apr 2011 B2
8023739 Hohimer et al. Sep 2011 B2
8266185 Raichelgauz et al. Sep 2012 B2
8285718 Ong et al. Oct 2012 B1
8312031 Raichelgauz et al. Nov 2012 B2
8315442 Gokturk et al. Nov 2012 B2
8345982 Gokturk et al. Jan 2013 B2
8386400 Raichelgauz et al. Feb 2013 B2
8396876 Kennedy et al. Mar 2013 B2
8418206 Bryant et al. Apr 2013 B2
8442321 Chang et al. May 2013 B1
8457827 Ferguson et al. Jun 2013 B1
8495489 Everingham Jul 2013 B1
8635531 Graham et al. Jan 2014 B2
8655801 Raichelgauz et al. Feb 2014 B2
8655878 Kulkarni et al. Feb 2014 B1
8799195 Raichelgauz et al. Aug 2014 B2
8799196 Raichelquaz et al. Aug 2014 B2
8818916 Raichelgauz et al. Aug 2014 B2
8868861 Shimizu et al. Oct 2014 B2
8886648 Procopio et al. Nov 2014 B1
8954887 Tseng et al. Feb 2015 B1
8990199 Ramesh et al. Mar 2015 B1
9009086 Raichelgauz et al. Apr 2015 B2
9104747 Raichelgauz et al. Aug 2015 B2
9165406 Gray et al. Oct 2015 B1
9311308 Sankarasubramaniam et al. Apr 2016 B2
9323754 Ramanathan et al. Apr 2016 B2
9466068 Raichelgauz et al. Oct 2016 B2
9646006 Raichelgauz et al. May 2017 B2
9679062 Schillings et al. Jun 2017 B2
9807442 Bhatia et al. Oct 2017 B2
9875445 Amer et al. Jan 2018 B2
9953533 Graves Apr 2018 B1
9984369 Li et al. May 2018 B2
10157291 Kenthapadi et al. Dec 2018 B1
10414398 Ochi Sep 2019 B2
20010019633 Tenze et al. Sep 2001 A1
20010034219 Hewitt et al. Oct 2001 A1
20010038876 Anderson Nov 2001 A1
20020004743 Kutaragi et al. Jan 2002 A1
20020010682 Johnson Jan 2002 A1
20020010715 Chinn et al. Jan 2002 A1
20020019881 Bokhari et al. Feb 2002 A1
20020032677 Morgenthaler et al. Mar 2002 A1
20020038299 Zernik et al. Mar 2002 A1
20020042914 Walker et al. Apr 2002 A1
20020072935 Rowse et al. Jun 2002 A1
20020087530 Smith et al. Jul 2002 A1
20020087828 Arimilli et al. Jul 2002 A1
20020091947 Nakamura Jul 2002 A1
20020107827 Benitez-Jimenez et al. Aug 2002 A1
20020113812 Walker et al. Aug 2002 A1
20020126002 Patchell Sep 2002 A1
20020126872 Brunk et al. Sep 2002 A1
20020129140 Peled et al. Sep 2002 A1
20020147637 Kraft et al. Oct 2002 A1
20020157116 Jasinschi Oct 2002 A1
20020163532 Thomas et al. Nov 2002 A1
20020174095 Lulich et al. Nov 2002 A1
20020184505 Mihcak et al. Dec 2002 A1
20030004966 Bolle et al. Jan 2003 A1
20030005432 Ellis et al. Jan 2003 A1
20030037010 Schmelzer Feb 2003 A1
20030041047 Chang et al. Feb 2003 A1
20030089216 Birmingham et al. May 2003 A1
20030093790 Logan et al. May 2003 A1
20030101150 Agnihotri et al. May 2003 A1
20030105739 Essafi et al. Jun 2003 A1
20030110236 Yang et al. Jun 2003 A1
20030115191 Copperman et al. Jun 2003 A1
20030126147 Essafi et al. Jul 2003 A1
20030140257 Peterka et al. Jul 2003 A1
20030165269 Fedorovskaya et al. Sep 2003 A1
20030174859 Kim Sep 2003 A1
20030184598 Graham Oct 2003 A1
20030200217 Ackerman Oct 2003 A1
20030217335 Chung et al. Nov 2003 A1
20030229531 Heckerman et al. Dec 2003 A1
20040095376 Graham et al. May 2004 A1
20040098671 Graham et al. May 2004 A1
20040111432 Adams et al. Jun 2004 A1
20040117638 Monroe Jun 2004 A1
20040128511 Sun et al. Jul 2004 A1
20040153426 Nugent Aug 2004 A1
20040162820 James et al. Aug 2004 A1
20040267774 Lin et al. Dec 2004 A1
20050021394 Miedema et al. Jan 2005 A1
20050080788 Murata Apr 2005 A1
20050114198 Koningstein et al. May 2005 A1
20050131884 Gross et al. Jun 2005 A1
20050163375 Grady Jul 2005 A1
20050172130 Roberts Aug 2005 A1
20050177372 Wang et al. Aug 2005 A1
20050193093 Mathew et al. Sep 2005 A1
20050226511 Short Oct 2005 A1
20050238198 Brown et al. Oct 2005 A1
20050238238 Xu et al. Oct 2005 A1
20050249398 Khamene et al. Nov 2005 A1
20050256820 Dugan et al. Nov 2005 A1
20050262428 Little et al. Nov 2005 A1
20050281439 Lange Dec 2005 A1
20050289163 Gordon et al. Dec 2005 A1
20050289590 Cheok et al. Dec 2005 A1
20060004745 Kuhn et al. Jan 2006 A1
20060015580 Gabriel et al. Jan 2006 A1
20060020958 Allamanche et al. Jan 2006 A1
20060033163 Chen Feb 2006 A1
20060050993 Stentiford Mar 2006 A1
20060069668 Braddy et al. Mar 2006 A1
20060080311 Potok et al. Apr 2006 A1
20060112035 Cecchi et al. May 2006 A1
20060129822 Snijder et al. Jun 2006 A1
20060217818 Fujiwara Sep 2006 A1
20060217828 Hicken Sep 2006 A1
20060218191 Gopalakrishnan Sep 2006 A1
20060224529 Kermani Oct 2006 A1
20060236343 Chang Oct 2006 A1
20060242130 Sadri et al. Oct 2006 A1
20060248558 Barton et al. Nov 2006 A1
20060251338 Gokturk et al. Nov 2006 A1
20060253423 McLane et al. Nov 2006 A1
20060288002 Epstein et al. Dec 2006 A1
20070022374 Huang et al. Jan 2007 A1
20070033170 Sull et al. Feb 2007 A1
20070038614 Guha Feb 2007 A1
20070042757 Jung et al. Feb 2007 A1
20070061302 Ramer et al. Mar 2007 A1
20070067304 Ives Mar 2007 A1
20070074147 Wold Mar 2007 A1
20070083611 Farago et al. Apr 2007 A1
20070091106 Moroney Apr 2007 A1
20070130159 Gulli et al. Jun 2007 A1
20070136782 Ramaswamy et al. Jun 2007 A1
20070156720 Maren Jul 2007 A1
20070244902 Seide et al. Oct 2007 A1
20070253594 Lu et al. Nov 2007 A1
20070298152 Baets Dec 2007 A1
20080049789 Vedantham et al. Feb 2008 A1
20080072256 Boicey et al. Mar 2008 A1
20080079729 Brailovsky Apr 2008 A1
20080152231 Gokturk et al. Jun 2008 A1
20080159622 Agnihotri et al. Jul 2008 A1
20080165861 Wen et al. Jul 2008 A1
20080201299 Lehikoinen et al. Aug 2008 A1
20080201314 Smith et al. Aug 2008 A1
20080201361 Castro et al. Aug 2008 A1
20080228995 Tan et al. Sep 2008 A1
20080237359 Silverbrook et al. Oct 2008 A1
20080247543 Mick et al. Oct 2008 A1
20080253737 Kimura et al. Oct 2008 A1
20080263579 Mears et al. Oct 2008 A1
20080270373 Oostveen et al. Oct 2008 A1
20080294278 Borgeson et al. Nov 2008 A1
20080307454 Ahanger et al. Dec 2008 A1
20080313140 Pereira et al. Dec 2008 A1
20090024641 Quigley et al. Jan 2009 A1
20090037088 Taguchi Feb 2009 A1
20090043637 Eder Feb 2009 A1
20090096634 Emam et al. Apr 2009 A1
20090125544 Brindley May 2009 A1
20090157575 Schobben et al. Jun 2009 A1
20090165031 Li et al. Jun 2009 A1
20090172030 Schiff et al. Jul 2009 A1
20090208106 Dunlop et al. Aug 2009 A1
20090208118 Csurka Aug 2009 A1
20090216761 Raichelgauz et al. Aug 2009 A1
20090220138 Zhang et al. Sep 2009 A1
20090245573 Saptharishi et al. Oct 2009 A1
20090254572 Redlich et al. Oct 2009 A1
20090282218 Raichelgauz et al. Nov 2009 A1
20090297048 Slotine et al. Dec 2009 A1
20100042646 Raichelgauz et al. Feb 2010 A1
20100082684 Churchill et al. Apr 2010 A1
20100104184 Bronstein et al. Apr 2010 A1
20100125569 Nair et al. May 2010 A1
20100162405 Cook et al. Jun 2010 A1
20100191391 Zeng Jul 2010 A1
20100198626 Cho et al. Aug 2010 A1
20100212015 Jin et al. Aug 2010 A1
20100284604 Chrysanthakopoulos Nov 2010 A1
20100293057 Haveliwala et al. Nov 2010 A1
20100312736 Kello Dec 2010 A1
20100318493 Wessling Dec 2010 A1
20100325138 Lee et al. Dec 2010 A1
20100325581 Finkelstein et al. Dec 2010 A1
20110035373 Berg Feb 2011 A1
20110055585 Lee Mar 2011 A1
20110164180 Lee Jul 2011 A1
20110164810 Zang et al. Jul 2011 A1
20110216209 Fredlund et al. Sep 2011 A1
20110218946 Stern et al. Sep 2011 A1
20110276680 Rimon Nov 2011 A1
20110296315 Lin et al. Dec 2011 A1
20120041969 Priyadarshan et al. Feb 2012 A1
20120131454 Shah May 2012 A1
20120136853 Kennedy et al. May 2012 A1
20120167133 Carroll et al. Jun 2012 A1
20120179642 Sweeney et al. Jul 2012 A1
20120185445 Borden et al. Jul 2012 A1
20120207346 Kohli et al. Aug 2012 A1
20120221470 Lyon Aug 2012 A1
20120227074 Hill et al. Sep 2012 A1
20120239690 Asikainen et al. Sep 2012 A1
20120239694 Avner et al. Sep 2012 A1
20120265735 McMillan et al. Oct 2012 A1
20120294514 Saunders et al. Nov 2012 A1
20120299961 Ramkumar et al. Nov 2012 A1
20120301105 Rehg et al. Nov 2012 A1
20120331011 Raichelgauz et al. Dec 2012 A1
20130043990 Al-Jafar Feb 2013 A1
20130066856 Ong et al. Mar 2013 A1
20130067364 Berntson et al. Mar 2013 A1
20130086499 Dyor et al. Apr 2013 A1
20130089248 Remiszewski et al. Apr 2013 A1
20130151522 Aggarwal et al. Jun 2013 A1
20130159298 Mason et al. Jun 2013 A1
20130211705 Geelen Aug 2013 A1
20130226930 Arngren et al. Aug 2013 A1
20130227023 Raichelgauz et al. Aug 2013 A1
20130283401 Pabla et al. Oct 2013 A1
20130346412 Raichelgauz et al. Dec 2013 A1
20140019264 Wachman et al. Jan 2014 A1
20140025692 Pappas Jan 2014 A1
20140125703 Roveta et al. May 2014 A1
20140147829 Jerauld May 2014 A1
20140149918 Asokan et al. May 2014 A1
20140152698 Kim et al. Jun 2014 A1
20140156691 Conwell Jun 2014 A1
20140169681 Drake Jun 2014 A1
20140176604 Venkitaraman et al. Jun 2014 A1
20140193077 Shiiyama et al. Jul 2014 A1
20140198986 Marchesotti Jul 2014 A1
20140201330 Lopez et al. Jul 2014 A1
20140250032 Huang et al. Sep 2014 A1
20140282655 Roberts Sep 2014 A1
20140300722 Garcia Oct 2014 A1
20140330830 Raichelgauz et al. Nov 2014 A1
20140341476 Kulick et al. Nov 2014 A1
20140363044 Williams et al. Dec 2014 A1
20150052089 Kozloski et al. Feb 2015 A1
20150100562 Kohlmeier et al. Apr 2015 A1
20150117784 Lin et al. Apr 2015 A1
20150120627 Hunzinger et al. Apr 2015 A1
20150127516 Studnitzer et al. May 2015 A1
20150166069 Engelman et al. Jun 2015 A1
20150248586 Gaidon et al. Sep 2015 A1
20150254344 Kulkarni et al. Sep 2015 A1
20150286742 Zhang et al. Oct 2015 A1
20150286872 Medioni et al. Oct 2015 A1
20150324356 Gutierrez et al. Nov 2015 A1
20150332588 Bulan et al. Nov 2015 A1
20160007083 Gurha Jan 2016 A1
20160026707 Ong et al. Jan 2016 A1
20160132194 Grue et al. May 2016 A1
20160221592 Puttagunta et al. Aug 2016 A1
20160275766 Venetianer et al. Sep 2016 A1
20160306798 Guo et al. Oct 2016 A1
20170017638 Satyavarta et al. Jan 2017 A1
20170154241 Shambik et al. Jun 2017 A1
20170293296 Stenneth et al. Oct 2017 A1
20170344023 Laubinger et al. Nov 2017 A1
20180082591 Pandy Mar 2018 A1
20180108258 Dilger Apr 2018 A1
20180144640 Price et al. May 2018 A1
20180157903 Tu et al. Jun 2018 A1
20180170392 Yang et al. Jun 2018 A1
20180188746 Lesher et al. Jul 2018 A1
20180189613 Wolf et al. Jul 2018 A1
20180356817 Poeppel Dec 2018 A1
20180373929 Ye Dec 2018 A1
20190073908 Neubecker et al. Mar 2019 A1
20190096135 Mutto et al. Mar 2019 A1
20190171912 Vallespi-Gonzalez et al. Jun 2019 A1
20190205798 Rosas-Maxemin Jul 2019 A1
20190279046 Han et al. Sep 2019 A1
20190291720 Xiao Sep 2019 A1
20190304102 Chen et al. Oct 2019 A1
20200027355 Sujan et al. Jan 2020 A1
20210096565 Xie Apr 2021 A1
Foreign Referenced Citations (11)
Number Date Country
107472252 Apr 2022 CN
1085464 Jan 2007 EP
0231764 Apr 2002 WO
2003067467 Aug 2003 WO
2005027457 Mar 2005 WO
2007049282 May 2007 WO
2014076002 May 2014 WO
2014137337 Sep 2014 WO
2016040376 Mar 2016 WO
2016070193 May 2016 WO
2018035145 Feb 2018 WO
Non-Patent Literature Citations (43)
Entry
“Computer Vision Demonstration Website”, Electronics and Computer Science, University of Southampton, 2005, USA.
Boari et al, “Adaptive Routing for Dynamic Applications in Massively Parallel Architectures”, 1995 IEEE, Spring 1995, pp. 1-14.
Burgsteiner et al., “Movement Prediction from Real-World Images Using a Liquid State machine”, Innovations in Applied Artificial Intelligence Lecture Notes in Computer Science, Lecture Notes in Artificial Intelligence, LNCS, Springer-Verlag, BE, vol. 3533, Jun. 2005, pp. 121-130.
Cernansky et al, “Feed-forward Echo State Networks”, Proceedings of International Joint Conference on Neural Networks, Montreal, Canada, Jul. 31-Aug. 4, 2005, pp. 1-4.
Chinchor, Nancy A. et al.; Multimedia Analysis + Visual Analytics = Multimedia Analytics; IEEE Computer Society; 2010; pp. 52-60. (Year: 2010).
Fathy et al, “A Parallel Design and Implementation For Backpropagation Neural Network Using MIMD Architecture”, 8th Mediterranean Electrotechnical Conference, 19'96. MELECON '96, Date of Conference: May 13-16, 1996, vol. 3 pp. 1472-1475, vol. 3.
Freisleben et al, “Recognition of Fractal Images Using a Neural Network”, Lecture Notes in Computer Science, 1993, vol. 6861, 1993, pp. 631-637.
Garcia, “Solving the Weighted Region Least Cost Path Problem Using Transputers”, Naval Postgraduate School, Monterey, California, Dec. 1989.
Guo et al, AdOn: An Intelligent Overlay Video Advertising System (Year: 2009).
Hogue, “Tree Pattern Inference and Matching for Wrapper Induction on the Worid Wide Web”, Master's Thesis, Massachusetts Institute of Technology, Jun. 2004, pp. 1-106.
Howlett et al, “A Multi-Computer Neural Network Architecture in a Virtual Sensor System Application”, International journal of knowledge-based intelligent engineering systems, 4 (2). pp. 86-93, 133N 1327-2314.
Johnson et al, “Pulse-Coupled Neural Nets: Translation, Rotation, Scale, Distortion, and Intensity Signal Invariance for Images”, Applied Optics, vol. 33, No. 26, 1994, pp. 6239-6253.
Lau et al., “Semantic Web Service Adaptation Model for a Pervasive Learning Scenario”, 2008 IEEE Conference on Innovative Technologies in Intelligent Systems and Industrial Applications, 2008, pp. 98-103.
Li et al (“Matching Commercial Clips from TV Streams Using a Unique, Robust and Compact Signature” 2005) (Year: 2005).
Lin et al., “Generating robust digital signature for image/video authentication”, Multimedia and Security Workshop at ACM Multimedia '98, Bristol, U.K., Sep. 1998, pp. 245-251.
Lyon, “Computational Models of Neural Auditory Processing”, IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP '84, Date of Conference: Mar. 1984, vol. 9, pp. 41-44.
Marian Stewart B et al., “Independent component representations for face recognition”, Proceedings of the SPIE Symposium on Electronic Imaging: Science and Technology; Conference on Human Vision and Electronic Imaging III, San Jose, California, Jan. 1998, pp. 1-12.
May et al, “The Transputer”, Springer-Verlag Berlin Heidelberg 1989, vol. 41.
McNamara et al., “Diversity Decay in opportunistic Content Sharing Systems”, 2011 IEEE International Symposium an a World of Wireless, Mobile and Multimedia Networks, pp. 1-3.
Morad et al., “Performance, Power Efficiency and Scalability of Asymmetric Cluster Chip Multiprocessors”, Computer Architecture Letters, vol. 4, Jul. 4, 2005, pp. 1-4, XP002466254.
Nagy et al., “A Transputer, Based, Flexible, Real-Time Control System for Robotic Manipulators”, UKACC International Conference on CONTROL '96, Sep. 2-5, 1996, Conference Publication No. 427, IEE 1996.
Natschlager et al., “The “Liquid Computer”: A novel strategy for real-time computing on time series”, Special Issue on Foundations of Information Processing of telematik, vol. 8, No. 1, 2002, pp. 39-43, XP002466253.
Odinaev et al, “Cliques in Neural Ensembles as Perception Carriers”, Technion—Institute of Technology, 2006 International Joint Conference on neural Networks, Canada, 2006, pp. 285-292.
Ortiz-Boyer et al, “CIXL2: A Crossover Operator for Evolutionary Algorithms Based on Population Features”, Journal of Artificial Intelligence Research 24 (2005) Submitted Nov. 2004; published Jul. 2005, pp. 1-48.
Pandya etal. A Survey on QR Codes: in context of Research and Application. International Journal of Emerging Technology and U Advanced Engineering. ISSN 2250-2459, ISO 9001:2008 Certified Journal, vol. 4, Issue 3, Mar. 2014 (Year: 2014).
Queluz, “Content-Based Integrity Protection of Digital Images”, SPIE Conf. on Security and Watermarking of Multimedia Contents, San Jose, Jan. 1999, pp. 85-93.
Santos et al., “SCORM-MPEG: an Ontology of Interoperable Metadata for multimediaand E-Learning”, 23rd International Conference on Software, Telecommunications and Computer Networks (SoftCom), 2015, pp. 224-228.
Scheper et al, “Nonlinear dynamics in neural computation”, ESANN'2006 proceedings—European Symposium on Artificial Neural Networks, Bruges (Belgium), Apr. 26-28, 2006, d-side publication, ISBN 2-930307-06-4, pp. 1-12.
Schneider et al, “A Robust Content based Digital Signature for Image Authentication”, Proc. ICIP 1996, Lausane, Switzerland, Oct. 1996, pp. 227-230.
Stolberg et al. (“Hibrid-Soc: A Multi-Core Soc Architecture for Multimedia Signal Processing” 2003).
Stolberg et al., “Hibrid-Soc: A Mul Ti-Core Soc Architecture for Mul Timedia Signal Processing”, 2003 IEEE, pp. 189-194.
Theodoropoulos et al., “Simulating Asynchronous Architectures on Transputer Networks”, Proceedings of the Fourth Euromicro Workshop On Parallel and Distributed Processing, 1996 PDP '96, pp. 274-281.
Vallet et al. (“Personalized Content Retrieval in Context Using Ontological Knowledge” Mar. 2007) (Year: 2007).
Verstraeten et al, “Isolated word recognition with the Liquid State Machine: a case study”, Department of Electronics and Information Systems, Ghent University, Sint-Pietersnieuwstraat 41, 9000 Gent, Belgium, Available onlline Jul. 14, 2005, pp. 521-528.
Ware et al, “Locating and Identifying Components in a Robot's Workspace using a Hybrid Computer Architecture” Proceedings of the 1995 IEEE International Symposium on Intelligent Control, Aug. 27-29, 1995, pp. 139-144.
Whitby-Strevens, “The transputer”, 1985 IEEE, pp. 292-300.
Wilk et al., “The Potential of Social-Aware Multimedia Prefetching on Mobile Devices”, International Conference and Workshops on networked Systems (NetSys), 2015, pp. 1-5.
Yanagawa et al, “Columbia University's Baseline Detectors for 374 LSCOM Semantic Visual Concepts”, Columbia University ADVENT Technical Report # 222-2006-8, Mar. 20, 2007, pp. 1-17.
Yanagawa et al., “Columbia University's Baseline Detectors for 374 LSCOM Semantic Visual Concepts”, Columbia University ADVENT Technical Report #222, 2007, pp. 2006-2008.
Zhou et al, “Ensembling neural networks: Many could be better than all”, National Laboratory for Novel Software Technology, Nanjing University, Hankou Road 22, Nanjing 210093, PR China Received Nov. 16, 2001, Available online Mar. 12, 2002, pp. 239-263.
Zhou et al., “Medical Diagnosis With C4.5 Rule Preceded by Artificial Neural Network Ensemble”, IEEE Transactions on Information Technology in Biomedicine, vol. 7, Issue: 1, Mar. 2003, pp. 37-42.
Zhu et al., “Technology-Assisted Dietary Assesment”, Proc SPIE. Mar. 20, 2008, pp. 1-15.
Zou et al., “A Content-Based Image Authentication System with Lossless Data Hiding”, ICME 2003, pp. 213-216.
Related Publications (1)
Number Date Country
20220172621 A1 Jun 2022 US
Provisional Applications (1)
Number Date Country
62705969 Jul 2020 US