Detection of an anomalous image associated with image data from one or more cameras of a computer-aided or autonomous driving vehicle

Embodiments include apparatuses, systems, and methods for a computer-aided or autonomous driving (CA/AD) system to detect an anomalous image associated with image data from one or more cameras of a computer-aided or autonomous driving (CA/AD) vehicle. Embodiments may include a sensor interface disposed in the CA/AD vehicle to receive, from the one or more cameras, a stream of image data including single view image data captured by the one or more cameras or multi-view image data collaboratively captured by multiple ones of the one or more cameras. In embodiments, a consistency analysis unit disposed in the CA/AD vehicle is coupled to the sensor interface to perform a consistency check on pixel-level data using single view or multi-view geometric methods to determine whether the image data includes an anomalous image. Other embodiments may also be described and claimed.

FIELD

Embodiments of the present invention relate generally to the field of computer-aided or autonomous driving (CA/AD) vehicles, and more particularly to detecting an anomalous image associated with image data received from one or more cameras of a CA/AD vehicle.

BACKGROUND

The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure. Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in the present disclosure and are not admitted to be prior art by inclusion in this section.

Experts predict that approximately 10 million computer-aided or autonomous driving (CA/AD) vehicles may be on the roads within the next few years. Autonomous Driving Vehicles typically have multiple cameras to sense the environment around the vehicles. In an autonomous driving vehicle, the cameras are used to “see” the world and this information is sent to the “brain”, i.e., algorithmic/computational blocks for processing. Since cameras are critical to the functioning of an autonomous driving vehicle, any anomaly in a camera's image stream could be problematic, even catastrophic. Due to their criticality in autonomous driving, camera systems become highly susceptible to an attack by a malicious agent e.g., a hacker who can alter the contents of the image stream leading to incorrect behavior of the autonomous driving system. In other situations the camera subsystem may inadvertently be faulty and provide incorrect images. Furthermore, neural networks are known to be vulnerable to adversarial examples i.e., inputs that are close to natural inputs but classified incorrectly. For example, it has been shown that adversarial examples which are cleverly crafted through minor perturbations to input images with a deliberate intention of fooling a Deep Neural Network (DNN), may cause misclassification with a high confidence. For example, the perturbations can be designed such that it is possible to remove a specific class from the segmentation output (e.g. removing pedestrians or cars from the road). These kind of security attacks would result in problematic, even catastrophic results in self-driving vehicles and critical real-world systems. Thus, it can be critical to determine if a DNN has been compromised. Accordingly, it is important to parse input images prior to classification to detect adversarial examples by looking for pixel-level anomalies as well as detect anomalies caused by faulty hardware or software.

DETAILED DESCRIPTION

The description may use the phrases “in an embodiment,” or “in embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous. Note also that “proximate” may mean near, on, over, under, attached, coupled to, nearby, surrounding, partially surrounding, or the like. As used herein, the term “circuitry” may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group), and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable hardware components that provide the described functionality. As used herein, “computer-implemented method” may refer to any method executed by one or more processors or a computer system having one or more processors. Embodiments described herein include a computer-aided or autonomous driving (CA/AD) apparatus to detect an anomalous image associated with image data from one or more cameras coupled to a computer-aided or autonomous driving (CA/AD) vehicle. In embodiments, the CA/AD apparatus may include a sensor interface disposed in the CA/AD vehicle to receive, from the one or more cameras, a stream of image data including single view image data captured by the one or more cameras or multi-view image data collaboratively captured by multiple ones of the one or more cameras. In embodiments, a consistency analysis unit disposed in the CA/AD vehicle is coupled to the sensor interface to perform a consistency check on pixel-level data using single view or multi-view geometric methods to determine whether the image data includes an anomalous image.

Referring now toFIG. 1, which illustrates a consistency analysis unit150to implement the detection and analysis technology of embodiments of the present disclosure.FIG. 1also provides an overview of an environment100for implementing the same. As shown, for the illustrated embodiments, environment100includes vehicle52having one or more of an engine, electric motor, braking system, drive system, wheels, transmission, a battery, and so forth. In embodiments, vehicle52is a computer-assisted or autonomous driving (CA/AD) vehicle. Further, vehicle52includes a CA/AD system including an on-board computer including and/or coupled to an in-vehicle system115having a number of subsystems/applications, e.g., instrument cluster subsystems/applications, front-seat infotainment subsystems/applications, such as a navigation subsystem/application, a media subsystem/application, a vehicle status subsystem/application and so forth, and a number of rear-seat subsystems/applications. Further, CA/AD system is provided with or coupled to a CA/AD consistency analysis unit150of the present disclosure, to perform a consistency check on pixel-level data using single view or multi-view geometric methods to determine whether image data includes an anomalous image.

Still referring toFIG. 1, vehicle52includes sensors110and driving control unit(s)120that may be included in the CA/AD system. In embodiments, the driving control unit(s)120may further include or be coupled to an image signal processor (ISP), one or more processors to process sensor data, fuse sensor data, detect objects, track dynamic objects over time, determine a drivability map and motion planning units (not shown) that receive and process outputs of consistency analysis unit150. In embodiments, as shown, sensors110include cameras such as, e.g., vision-based cameras, as well as other types of cameras coupled to the vehicle, e.g., CA/AD vehicle, to capture image data proximate to the CA/AD vehicle. In embodiments, other cameras or sensors are based on radar, light detection and ranging (LIDAR), odometry sensors and GPS data. In various embodiments, sensors may also include microphones, accelerometers, gyroscopes, inertia measurement units (IMU), engine sensors, drive train sensors, tire pressure sensors, and so forth. In some embodiments, sensors110are configured to provide various sensor data to consistency analysis unit150. In embodiments, driving control unit120include electronic control units (ECUs) that control the operation of the engine, the transmission the steering, and/or braking of vehicle52.

In some embodiments, a sensor interface131is integrated or disposed in the vehicle52to receive, from the one or more cameras or sensors, a stream of image data including single view image data captured by the one or more cameras or sensors. In embodiments, sensor interface131also receives multi-view image data collaboratively captured by multiple ones of the one or more cameras or sensors. In embodiments, consistency analysis unit150is disposed in the CA/AD vehicle and coupled to the sensor interface. As shown in the embodiments, consistency analysis unit150may perform one or more consistency checks, such as, for example, multi-view consistency check170, single-view consistency check175, temporal consistency check180, and/or multi-modal consistency check185. Note that in some embodiments, temporal consistency check180, and/or multi-modal consistency check185are sub-sets of multi-view consistency check and single-view consistency check175.

In embodiments, consistency analysis unit150determines whether the image data includes the anomalous image (due to either an adversarial attack or faulty hardware or software), based at least in part on a value that is a weighted value wibetween 0 and 1 corresponding to a confidence score and is assigned to an output of a corresponding consistency check. In embodiments, these weights are determined by a learning based approach and/or a ground truth set of anomalous and/or non-anomalous labeled images. In embodiments, the combined weighted value from all the consistency check blocks in170,175,180and185is determined statistically in a block190, such as by a weighted combination of confidence scores where the weights are determined by linear regression or by logistic regression. In various embodiments, the weights are determined by a support vector machine (SVM) classifier that takes in as inputs the individual confidence scores and returns a Boolean decision (anomaly present/not-present) or by a single-layer or multi-layer perceptron or other neural network. In embodiments, this combined global score indicates confidence of an anomaly. In embodiments, the outputs of the consistency checks170,175,180, and185may be compared via a voting block mechanism or some combinatorial logic at block190to determine if an anomaly is present or not.

In some embodiments, in-vehicle system115, on its own or in response to user interactions, may communicate or interact with one or more off-vehicle remote servers60, via a wireless signal repeater or base station on transmission tower56near vehicle52, and one or more private and/or public wired and/or wireless networks58. Servers60may be servers associated with a manufacturer of the CA/AD vehicle (e.g., vehicle52) or other remote organization associated with CA/AD vehicles and/or navigation thereof. Examples of private and/or public wired and/or wireless networks58may include the Internet, the network of a cellular service provider, and so forth. It is to be understood that transmission tower56may be different towers at different times/locations, as vehicle52en route to its destination.

These and other aspects of consistency analysis unit150will be further described with references to the remaining Figures. For the purpose of this specification, one or more vehicles52may also be referred to as a CA/AD vehicle(s).

Note further that for illustrative purposes, the following description has been provided illustrating vehicle52as a passenger car in a roadway environment. However, the embodiments described herein are also applicable to any type of vehicle, such as trucks, buses, motorcycles, boats or motorboats, and/or any other motorized devices that may benefit from a CA/AD driving system as described in connection with the disclosure. For example, water vehicles such as boats, speedboats, ferries, barges, hovercrafts, other water vehicles etc., may also benefit from consistency analysis unit150. The embodiments described herein may also be applicable within the spirit of the described embodiments to flying objects, such as space rockets, aircraft, drones, unmanned aerial vehicles (UAVs), and/or to any other like motorized devices that may benefit from identification of an audio signal that may be included in surrounding sounds proximate to such motorized devices.

FIG. 2is a flow diagram further illustrating a process200performed by or associated with the consistency analysis unit ofFIG. 1, in accordance with various embodiments. In embodiments, at a block205, the embodiment includes receiving by the consistency analysis unit, from one or more of the cameras, the image data including single view image data captured by one or more cameras of the CA/AD vehicle and/or multi-view image data captured by multiple cameras of the CA/AD vehicle. Next, at a block207, method200includes performing by the consistency analysis unit, the consistency check on the pixel-level data using the single view or multi-view geometric methods to determine if the image data includes an anomalous image.

As noted in connection withFIG. 1, an output from each of the consistency checks may be a Boolean true/false (anomaly present/not-present) indicator or a weighted value wibetween 0 and 1 representing a confidence score. In embodiments, the weight for each block will signify how accurate the consistency check method is in the presence of noise. In embodiments, the weight can be computed via various methods like theoretical analysis or statistical analysis over a number of noisy synthetic images without anomaly. In some embodiments, the weights are normalized over all the methods of consistency check and compared to a predetermined threshold, rather than a voting mechanism in order to determine whether an anomaly exists in image data. In embodiments, voting block weights are computed empirically or statistically or in other embodiments by a neural network, e.g., single or multi-layer perceptron, or a support vector machine (SVM). In various embodiments, the weights related to the different consistency checks are determined via learning from ground truth anomalous example images or examples associated with ground truth anomalous images and which indicate a likelihood of accuracy of the consistency checks.

Next,FIG. 3is a diagram of a road300and corresponding flow diagram350illustrating in further detail, embodiments associated with the consistency analysis technology ofFIGS. 1 and 2.FIG. 3illustrates embodiments associated with a single-view or single image geometric method. In various embodiments, the consistency check to be performed by, e.g., consistency analysis unit150ofFIG. 1, and is based on single view image data and is based at least in part upon detection of lines indicated by pixel-level data associated with a stream of image data. For example,FIG. 3illustrates detection of inconsistencies, e.g., such as pixel-level data indicating parallel lines that should converge to a vanishing point but do not converge as expected. As shown in the embodiment, road300includes one or more lanes, e.g., three lanes, e.g.,305,307, and309. Road300is marked by inner lane markers306and308(for clarity in the Figure, only two inner lane markers are labeled) as well as outer shoulder lines311and313, for the embodiment. In the example, inner lane markers306and308follow respective lines306aand308a. In the embodiment illustrated, according to pixel-level data, at a block350, consistency analysis unit (also referred to as “unit”) detects road300at block350. At a next block353, in the embodiment, the unit detects lanes305,307, and309by detecting one or more lane markers306and308as well as outer shoulder lines311and313. At a next block355, in the embodiments, the unit computes a location of where vanishing points should appear.

Accordingly, in the embodiment, at a decision block357, the unit checks whether all or substantially all the vanishing point(s) indicated by the pixel-level data coincide. Lines306aand308athat are substantially parallel should have a common vanishing point in the 3D world. In embodiments, if the vanishing points coincide, the answer is YES at357and accordingly, no anomaly detected at block359and the process returns to detecting the road at315. In the alternative at block357, if the vanishing points do not coincide, the answer is NO because lines306a,308a,311, and313, intersect at different points (see315) according to the pixel-level data. Thus, an anomaly is detected at block360. In embodiments, the anomaly indicates that the image data may be intentionally distorted for one or more of lanes305,307and309. Note that in embodiments, the anomaly detected may have been introduced via insertion of synthetic images or full-frame sub images into an image stream. Accordingly, in embodiments, results of the consistency check are provided to a voting mechanism block, e.g.,190ofFIG. 1. Note that the example ofFIG. 3is merely illustrative and detection of anomalies include those associated with any path or road and include any suitable number of lanes, markers, marker-types, road-markers (or lack of markers). Accordingly, in the embodiment shown, inner lane markers306and308are non-contiguous lines but in other embodiments, may be continuous lines such as306aand308a.

Other example embodiments of consistency checks include shadow consistency checks as shown inFIG. 4. In embodiments, a shadow consistency check includes computing two dimensional (2D) lines that are to connect corners of an object and its shadow. Lines associated with shadows ideally converge to a fixed point in 2D image data. Accordingly, embodiments include verifying that a fixed point corresponds to a light source, e.g., a path of light from the light source or light sources, and/or is consistent with the correct number of light sources indicated by image data. For example,FIG. 4illustrates a road400and a vehicle52and its shadow55. In the example illustrated, lines401,403and405correspond to, e.g., light rays, from a light source406. In the embodiment, line401should connect corresponding corner401aof vehicle52to shadow corner401aon surface of road400. Similarly, line403should connect corresponding corner403aof vehicle52to shadow corner403B on surface of road400; line405should connect corresponding corner405aof vehicle52to shadow corner405B on surface of road400. Accordingly, in embodiments, if various image data related to shadows are not consistent, the image data may indicate an anomaly.

Furthermore, embodiments include detecting various anomalies introduced directly at an image signal processor (ISP) level. In embodiments, an ISP is coupled to the consistency analysis unit and the consistency analysis unit performs a consistency check by comparing color statistics of a raw BAYER pattern image of the pixel-level data and a BAYER pattern image generated by the ISP. In some examples, a malicious agent could introduce noise in various ISP parameters to subtly alter a final RGB image generated by the ISP. Accordingly, in embodiments, the consistency analysis unit approximately inverse maps the post-ISP generated RGB image to its source or raw BAYER pattern. In one exemplary embodiment, this is accomplished by dropping two channels at each pixel location such that the channels confirm to the camera's Bayer pattern. Other exemplary embodiments include to perform simple demosaicing to convert the BAYER image to an RGB/YUV image so that the ISP output and input can be compared. In other embodiments, the statistics of the approximated BAYER pattern raw image are compared with the statistics of the ground truth raw BAYER image. Other embodiments include detecting an anomaly in image data that may be introduced at a time of or during an automotive Ethernet transfer. In embodiments, pixel-level data including a raw image capture is sent along with a post-ISP generated RGB image as a pair of channels across an automotive Ethernet connection. In embodiments, the post-ISP generated RGB image at a receiver end is compared with a synthetically ISP processed received RAW image. In embodiments, a discrepancy would indicate that the RGB image has been tampered with while in transfer through the automotive Ethernet connection in a car chassis.

Referring now toFIG. 5which is a process500including embodiments associated with multi-view geometric methods and includes comparing image data related to a common object included in a common field of view of at least two cameras of multiple cameras coupled to an autonomous vehicle. In the embodiment of process500, comparing image data related to a common object includes comparing a relative rotation and translation parameter determined from image data from at least two cameras to rotation and translation parameters intrinsic to the at least two cameras. For example, in the embodiment, beginning at a block501, the consistency analysis unit, e.g.,150, ofFIG. 1detects a same object, e.g., a planar object, in two images or two image frames of image data. For example, the object may be a STOP sign having a planar surface. In some scenarios, a location of the STOP sign may have been manipulated in one of the images. In embodiments, a plane projective transformation such as homography is used to detect the anomaly. Accordingly, for example, at block503, keypoints are detected on both objects in the two images. Note that in embodiments, keypoints may be any suitable points on the objects, e.g., a corner, intersection, or other distinguishing point on the objects. At a block505, in embodiments, the consistency analysis unit finds or determines matches between the keypoints. At a next block507, for the embodiment, the consistency analysis unit computes a homography H between the images. In embodiments, at a block509, the consistency analysis unit computes, a fundamental matrix F from homography H (note that calculation of fundamental matrix F of two images given image data including image coordinates is known and will not be described here). At a next block511, for the embodiment, the F matrix is decomposed into a relative rotation R and translation t. Note that in embodiments, block511is predicated on the cameras being calibrated. At a next block513, the relative rotation R and translation t are compared with pre-calibrated values for the two cameras. In embodiments, the pre-calibrated values of the two cameras are provided by the autonomous vehicle manufacturer. If the values do not substantially match, an anomaly is detected at a block515, in the embodiment. If the values do substantially match, an anomaly is not detected at a block517, in the embodiment. Accordingly, in embodiments, results of the consistency check are provided to a voting mechanism block, e.g.,190ofFIG. 1.

In various other embodiments, a more generic and scene content independent method may be applied. For example,FIG. 6illustrates an embodiment of a process600implementing a disparity-based metric. Beginning at a block601in embodiments, two images or frames of image data are rectified. In embodiments, the two images are from each of two pre-calibrated cameras and are rectified such that their epipolar lines are parallel. Next, at a block603, in embodiments, the consistency analysis unit computes a disparity between the two images. For example, in embodiments, a disparity cost is computed for all pixels in left and right rectified images along the epipolar lines. Thus, when comparing d disparities, each pixel location in the left image has d disparity cost values. In embodiments, at a next block605, the cost of the better or best disparity is stored (e.g., the least of d cost values). In embodiments, the cost of the best disparity match for all pixels in the left image and their corresponding matched pixel in the right image is computed and stored as a matrix. Next in the embodiment, at a block607, the same objects in both images are detected. At a next block611, statistics of a cost distribution related to each corresponding left-right pair of object are computed for the embodiment. For example, the statistics of cost distribution in pre-detected object regions are computed. At a block613, if the variation in cost is high, e.g., over a predetermined threshold, the answer is YES, and process600moves to block615where it is determined that an anomaly is detected. In the alternative, if at block613, the variation is not high, the answer is NO, and no anomaly is detected at block617. Note that a region of high variation in the matrix might signify that a match found for objects in that region is erroneous and thus the objects are not actually the same objects. In various other embodiments, a cost of minimum disparity could be replaced by a value of computed minimum disparity in block605and used as a cost.

Note that in embodiments, processes500and600are complementary techniques. In process500, the original image data are first processed, via a Homography computation, followed by design of a metric based on checking consistency of calibration parameters. In process600, in contrast, known calibration parameters are first used to rectify a pair of images or image data, followed by a metric designed by processing these images.

In another embodiment, multiple Homography hypotheses from quadruple subsets of matching correspondences lying on a planar 3D object can be used to compare a variation in the parameters of all the Homography matrices. In embodiments, an anomalous image having a perturbed image of a 3D object typically causes significant variation across different computed homographies and could signal a presence of an anomalous image.

In some embodiments, performing a consistency check includes analyzing and comparing image data received from more than two cameras. In embodiments, performing a consistency check includes detecting anomalies by comparing a first 3D reconstruction determined from first multi-view image data with a second 3D reconstruction determined from second multi-view image data. For example, in embodiments, a subset of multi-camera images is used to perform a 3D reconstruction of an object of interest common to other subsets of multi-camera images. In embodiments, if one of the images in the subset is anomalous, the 3D reconstruction will deviate from an ideal or projected reconstruction. In embodiments, the 3D reconstruction may be repeated for a collection of the subsets of the multi-camera images to check a consistency of the 3D reconstructions. In embodiments, such a consistency check may be done with a minimum of subsets or by creating an overdetermined system and using least squares. In embodiments, if substantially all 3D reconstructions of the same reference frame are not similar, there may be an anomalous set of image data in the multi-camera image set.

In various other embodiments, a consistency analysis unit is to perform the consistency check by matching a feature location determined from the image data to feature location determined from GPS data. For example, in embodiments, image data from a camera stream and an earth-viewing satellite image of vehicle surroundings (according to GPS location known for the vehicle), are used compute feature matches between objects in the two images and triangulate points (in the vehicle coordinate system) on the object assuming both the cameras are well calibrated. In embodiments, the triangulated 3D points should confirm to ground truth measurements either computed from a range finder on the vehicle or from a stereo pair of non-anomalous cameras on the vehicle.

Accordingly, flow diagram700in conjunction withFIG. 8illustrates embodiments associated with performing a consistency check using image data received from a camera of one vehicle, image data received from a camera of at least one other vehicle, and position data, e.g., as received from a satellite/aerial device (hereinafter “satellite”). Note that in various embodiments, communication of images from another vehicle may enhance a vehicle's image data of its surrounding environment.FIG. 8illustrates a Vehicle A having a field of view801associated with image data or image801A, Vehicle B having a field of view803associated with image data or image803A and satellite/aerial device805having a field of view807associated with satellite image807A, For example, where a vehicle B is behind a large vehicle A, most of vehicle B's view may be occluded. Accordingly, in embodiments, vehicle A located in front of vehicle B can provide image data to vehicle B. An image from a camera mounted or otherwise coupled to Vehicle A, however, can be corrupted by external agents, e.g. over wireless communication, and may include anomalies and represent an incorrect environment, thus creating a hazardous scenario for Vehicle B. Accordingly, embodiments further include to compare satellite image data to image data from the vehicle and/or image data received from the at least one other vehicle.

Accordingly, in addition to the single view image consistency checks ofFIG. 3(and/or multiple view image consistency checks ofFIG. 5), a satellite image may be used as an additional source of verification. For example, in the embodiment of upper section700A of flow diagram700, the consistency analysis unit receives an image from a camera of Vehicle A, e.g., a front-facing camera of Vehicle A, at block701. In the embodiment, as shown at block703, the consistency analysis unit also receives an image from a camera of Vehicle B, e.g., a front-facing camera of Vehicle B, at block703. In embodiments, a satellite image is received by the consistency analysis unit of areas surrounding Vehicle A at block702and Vehicle B at704to determine an infrastructure image705of a scene around Vehicle A and Vehicle B. In embodiments, features in image data from Vehicle A, Vehicle B, and the satellite image are detected at blocks707and708. At blocks709and710, the features are matched. In embodiments, matching keypoints between the corresponding images from Vehicle A, Vehicle B, and the satellite image are computed and stored. At blocks711and712for respective Vehicle A and Vehicle B, the consistency analysis unit uses the stored keypoint matches to compute the Fundamental Matrix F and then the relative pose (R, t) between Vehicle A and the satellite camera and Vehicle B and the satellite camera. In embodiments, it is assumed that all cameras from which the image data comes, are calibrated. Accordingly, at block718, in embodiments, the consistency analysis unit, using the satellite camera as a reference, then computes the relative pose between the images of the cameras of Vehicle A and Vehicle B.

In embodiments, moving to section of flow chart700B, features in the stored images between Vehicle A using image data from Vehicle A at block701B and Vehicle B at block703B are detected at block707B. Next, in the embodiment, feature matching is performed at block709B. At a block720, using stored feature matches between the image data from Vehicle A and Vehicle B and the relative pose computed in block718of the upper section700A of flow chart700, the matches are triangulated to obtain 3D keypoint locations at block723. In embodiments, accuracy of the 3D point locations are verified with a range finder e.g., a LIDAR camera on Vehicle A. In embodiments, at a next block725, the keypoint differences are compared. If the differences are not within a predetermined or other threshold, an anomaly is detected at a block727. Accordingly, in embodiments, results of the consistency check are provided to a voting mechanism block, e.g.,190ofFIG. 1.

Note that in various other embodiments, the consistency analysis unit may perform a temporal consistency check, e.g., temporal consistency check180ofFIG. 1, to detect an anomaly in a sequence of images received from one or more cameras. The anomaly may be due to a dropping or intentional removal or incorrect synchronization of image frames of data. In embodiments, an analysis for inconsistencies of pixel-level data may include detecting a change in a gradient of pixel locations of keypoints associated with a stream of image data. For example, in embodiments, a profile of 2D pixel locations of distinctive keypoints across an image frame set from a single camera is analyzed. If image frames have been or are being dropped, a sudden change in the gradient of the profile signal will indicate frame drops.

Another embodiment includes to compare a temporal gradient profile of a same keypoint that is visible in the multiple ones of the one or more cameras. Furthermore, in embodiments, an incorrect synchronization can be detected by the disparity based technique described in connection withFIG. 5.

Additional embodiments include to analyze a transformation of a shape of an object according to a speed and direction of a vehicle, e.g., a computer-aided or autonomous driving (CA/AD) automobile, including a CA/AD system. For example, in embodiments, an optical flow across time-sequenced images of image data is used to segment planar objects and their corresponding shape transformation is correlated with vehicle motion direction. In embodiments, such a method may include a multi-modal consistency check, e.g., multi-modal consistency check185ofFIG. 1. In embodiments, the method assumes perspective projection of the object on a camera image plane. In embodiments, the computation also assumes that a speed and direction of the vehicle are known substantially accurately from an inertial sensor. In embodiments, the surface normal (3D depth) is pre-computed in a reference image (time t=0). According to some embodiments, any deviation in an expected transformation of object shape indicates presence of a single or multiple anomalous image(s) in the time-sequence. In embodiments, the reference image is the first image in the sequence and is updated periodically.

In another embodiment, the consistency analysis unit detects an anomaly by comparing a velocity vector of one or more cameras coupled to the CA/AD system to a velocity vector of a CA/AD automobile including the one or more cameras. For example, embodiments include using optical flow along with an estimation such as Kalman filtering to predict autonomous vehicle motion vectors and compare the vectors with velocity vectors (determined from odometer readings). Specifically, in embodiments, the optical flow between two images captured from the same camera of a static object provides a dense feature correspondence between the images. In embodiments, this correspondence is used to compute a Fundamental/Homography matrix between the images and thereby allow computation of relative pose (Rotation and translation, t) between the images. In embodiments, the relative pose provides a velocity vector of the camera of the automobile between the two image captures and can be used to compute the vehicle velocity as well, if the camera location with respect the automobile remains fixed in the two image captures.

In various other embodiments, the consistency analysis unit detects an anomaly by computing a distance to a static object and comparing the distance with a LIDAR measurement included in image data from one or more of the cameras.

Referring now toFIG. 9, wherein a software component view of a consistency analysis unit and coupled components according to various embodiments, is illustrated. As shown, for the embodiments, a consistency analysis unit900, which could be consistency analysis unit150, includes hardware902and software910. In some embodiments, some or all of components of consistency analysis unit900as described above in connection withFIGS. 2-7may be located remotely or in the cloud, e.g., cloud58ofFIG. 1. For example, in some embodiments, software910includes hypervisor912hosting a number of virtual machines (VMs)922-928. In embodiments, hypervisor912is configured to host execution of VMs922-928. In embodiments, the VMs922-928may include, e.g., a VM922, VM924, VM926, VM928, having a respective first, second, third, and fourth operating system (OS) hosting execution of e.g., respective multi-view consistency check applications932, single-view consistency checks934, temporal view consistency checks936, multi-modal consistency checks938, and so forth. In embodiments, the applications may include execution of a number of consistency checks or operations to supplement or verify various operations of consistency analysis unit150located in vehicle52.

Except for consistency analysis technology, e.g., as connected to consistency analysis unit150of the present disclosure, elements922-928of software910may be any one of a number of these elements known in the art. For example, hypervisor912may be any one of a number of hypervisors known in the art, such as KVM, an open source hypervisor, Xen, available from Citrix Inc, of Fort Lauderdale, Fla., or VMware, available from VMware Inc of Palo Alto, Calif., and so forth. Similarly, OS′ of VMs922-928may be any one of a number of OS known in the art, such as Linux, available e.g., from Red Hat Enterprise of Raleigh, N.C., or Android, available from Google of Mountain View, Calif.

FIG. 10illustrates an example computing device1000that may be suitable for use to practice selected aspects of the present disclosure according to various embodiments. In embodiments, computing device1000or one or more components of computing device1000may be included in a CA/AD driving system of CA/AD vehicle or located remotely to assist the CA/AD driving system as described above in connection with toFIGS. 1-9. In embodiments, the CA/AD driving system may be included in a vehicle that is coupled to one or more cameras or sensors to capture a stream of image data including pixel-level data. In some embodiments, computing device1000may include a vehicle control system or onboard computer.

As shown, computing platform1000, which may be hardware902ofFIG. 9, may include one or more system-on-chips (SoCs)1002, ROM1003and system memory1004. Each SoCs1002may include one or more processor cores (CPUs), one or more graphics processor units (GPUs), one or more accelerators, such as computer vision (CV) and/or deep learning (DL) accelerators. ROM1003may include basic input/output system services (BIOS)1005. CPUs, GPUs, and CV/DL accelerators may be any one of a number of these elements known in the art. Similarly, ROM1003and BIOS1005may be any one of a number of ROM and BIOS known in the art, and system memory1004may be any one of a number of volatile storage known in the art.

Additionally, computing platform1000may include persistent storage devices1006. Example of persistent storage devices1006may include, but are not limited to, flash drives, hard drives, compact disc read-only memory (CD-ROM) and so forth. Further, computing platform1000may include input/output devices1008(such as display, keyboard, cursor control and so forth) and communication interfaces1010(such as network interface cards, modems and so forth). Communication and I/O devices1008may include any number of communication and I/O devices known in the art. Examples of communication devices may include, but are not limited to, networking interfaces for Bluetooth®, Near Field Communication (NFC), WiFi, Cellular communication (such as LTE 4G/5G) and so forth. The elements may be coupled to each other via system bus1012, which may represent one or more buses. In the case of multiple buses, they may be bridged by one or more bus bridges (not shown).

Each of these elements may perform its conventional functions known in the art. In particular, ROM1003may include BIOS1005having a boot loader. System memory1004and persistent storage1006may be employed to store a working copy and a permanent copy of the programming instructions implementing the operations associated with hypervisor902, consistency analysis unit150which may include or be coupled to an image signal processor (ISP) and/or one or more neural networks, collectively referred to as computational logic1022. The various elements may be implemented by assembler instructions supported by processor core(s) of SoCs1002or high-level languages, such as, for example, C, that can be compiled into such instructions.

Furthermore, the present disclosure may take the form of a computer program product or data to create the computer program, with the computer program or data embodied in any tangible or non-transitory medium of expression having the computer-usable program code (or data to create the computer program) embodied in the medium.FIG. 11illustrates an example computer-readable non-transitory storage medium that may be suitable for use to store instructions (or data that creates the instructions) that cause an apparatus, in response to execution of the instructions by the apparatus, to practice selected aspects of the present disclosure. As shown, non-transitory computer-readable storage medium1102may include a number of programming instructions1104(or data to create the programming instructions). Programming instructions1104may be configured to enable a device, e.g., computing platform1100, in response to execution of the programming instructions, to implement (aspects of) hypervisor912, OS′ ofFIG. 9, and components of consistency analysis technology (such as consistency analysis unit150and so forth). In alternate embodiments, programming instructions1104(or data to create the instructions) may be disposed on multiple computer-readable non-transitory storage media1102instead. In still other embodiments, programming instructions1104may be disposed on computer-readable transitory storage media1102, such as, signals.

In embodiments, the instructions or data that creates the instructions causes a device to analyze for inconsistencies indicative of an anomalous image, pixel-level data associated with a stream of image data, wherein the stream of image data is single image data received from one or more cameras coupled to the CA/AD system or multi-view image data received from multiple ones of the one or more cameras coupled to the CA/AD system; and based at least in part on a weighted value corresponding to the analysis of the pixel-level data, determine whether one or more inconsistencies indicate the anomalous image.

In various embodiments, the program code (or data to create the program code) described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a packaged format, etc. Program code (or data to create the program code) as described herein may require one or more of installation, modification, adaptation, updating, combining, supplementing, configuring, decryption, decompression, unpacking, distribution, reassignment, etc. in order to make them directly readable and/or executable by a computing device and/or other machine. For example, the program code (or data to create the program code) may be stored in multiple parts, which are individually compressed, encrypted, and stored on separate computing devices, wherein the parts when decrypted, decompressed, and combined form a set of executable instructions that implement the program code (the data to create the program code(such as that described herein. In another example, the Program code (or data to create the program code) may be stored in a state in which they may be read by a computer, but require addition of a library (e.g., a dynamic link library), a software development kit (SDK), an application programming interface (API), etc. in order to execute the instructions on a particular computing device or other device. In another example, the Program code (or data to create the program code) may need to be configured (e.g., settings stored, data input, network addresses recorded, etc.) before the program code (or data to create the program code) can be executed/used in whole or in part. Thus, the disclosed Program code (or data to create the program code) are intended to encompass such machine readable instructions and/or program(s) (or data to create such machine readable instruction and/or programs) regardless of the particular format or state of the machine readable instructions and/or program(s) when stored or otherwise at rest or in transit.

Thus various example embodiments of the present disclosure have been described including, but are not limited to:

Some non-limiting Examples are provided below:

Example 1 is an apparatus to detect an anomalous image associated with image data from one or more cameras of a computer-aided or autonomous driving (CA/AD) vehicle, comprising a sensor interface disposed in the CA/AD vehicle to receive, from the one or more cameras, a stream of image data including single view image data captured by the one or more cameras or multi-view image data collaboratively captured by multiple ones of the one or more cameras; and a consistency analysis unit disposed in the CA/AD vehicle and coupled to the sensor interface to perform a consistency check on pixel-level data using single view or multi-view geometric methods to determine whether the image data includes an anomalous image.

Example 2 is the apparatus of Example 1, wherein the consistency analysis unit is to determine whether the image data includes the anomalous image based at least in part on a value that is related to a statistical combination of weights and wherein the weights are related to different types of consistency checks and are assigned to an output of the consistency checks.

Example 3 is the apparatus of Example 2, wherein the weights related to the different consistency checks are determined via learning from ground truth anomalous example images or examples associated with ground truth anomalous images and which indicate a likelihood of accuracy of the consistency checks.

Example 4 is the apparatus of Example 1, wherein to perform the consistency check on the pixel-level data using the single view or multi-view geometric methods includes further to perform temporal and multi-modal consistency checks.

Example 5 is the apparatus of Example 1, wherein the consistency check to be performed is based on single view image data and is based at least in part upon detection of line and shadow inconsistencies indicated by the pixel-level data.

Example 6 is the apparatus of Example 1, further comprising the one or more cameras coupled to the CA/AD vehicle to capture image data proximate to the CA/AD vehicle.

Example 7 is the driving apparatus of Example 1, wherein the CA/AD driving apparatus comprises the CA/AD vehicle and wherein the driving elements include one or more of an engine, electric motor, braking system, drive system, wheels, transmission, and a battery

Example 8 is the apparatus of Example 1, further including an image signal processor (ISP) coupled to receive the pixel-level data from the consistency analysis unit and wherein the consistency analysis unit is to perform the consistency check by comparing color statistics of a raw BAYER pattern image of the pixel-level data and a BAYER pattern image generated by the ISP.

Example 9 is the driving apparatus of Example 1, wherein the consistency check is to be performed using multi-view geometric methods and includes comparing image data related to a common object included in a common field of view of at least two cameras of the multiple cameras.

Example 10 is the driving apparatus of Example 9, wherein comparing image data related to a common object comprises comparing a relative rotation and translation parameter determined from image data of the at least two cameras to rotation and translation parameters intrinsic to the at least two cameras.

Example 11 is the apparatus of Example 9, wherein comparing image data comprises comparing a disparity cost of a region in multi-view image data to a stored disparity cost associated with at least two cameras associated with the multi-view image data.

Example 12 is the apparatus of Example 1, wherein performing the consistency check includes detecting anomalies by comparing a first 3D reconstruction determined from first multi-view image data with a second 3D reconstruction determined from second multi-view image data.

Example 13 is the apparatus of Example 1, wherein the consistency analysis unit is to perform the consistency check by matching a feature location determined from the image data to feature location determined from GPS data.

Example 14 is the apparatus of Example 1, wherein the consistency analysis unit to perform the consistency check on the pixel-level data using the single view or multi-view geometric methods includes to perform the consistency check on image data received from the CA/AD vehicle and image data received from at least one other CA/AD vehicle.

Example 15 is the apparatus of any of Examples 13-15, wherein the consistency analysis unit is further to compare image data received from a satellite to image data from the CA/AD vehicle and/or image data received from the at least one other CA/AD vehicle.

Example 16 is a method to detect an anomalous image in image data associated with one or more cameras of a computer-aided or autonomous driving (CA/AD) vehicle, the method comprising: determining, by a consistency analysis unit disposed in the CA/AD vehicle, whether a consistency check is to be performed on pixel-level data of the image data, using one or more of single view or multi-view geometric methods; receiving from one or more of the cameras, the image data including single view image data captured by one or more cameras of the CA/AD vehicle and/or multi-view image data captured by multiple cameras of the CA/AD vehicle; and performing by the consistency analysis unit, the consistency check on the pixel-level data using the single view or multi-view geometric methods to determine if the image data includes an anomalous image.

Example 17 is the method of Example 16, further comprising, determining whether the image data includes the anomalous image based at least in part on weights assigned to an output of one or more consistency checks.

Example 18 is the method of Example 17, wherein the weights assigned to an output of one or more of the consistency checks are computed empirically or learned during training of a neural network.

Example 19 is the method of Example 13, wherein performing by the consistency analysis unit, the consistency check includes detection of line and shadow inconsistencies indicated by the pixel-level data

Example 20 is the method of any one of Examples 16-20, wherein performing by the consistency analysis unit, the consistency check includes comparing image data related to a common object included in a common field of view of at least two cameras of the multiple cameras.

Example 21 is one or more non-transitory computer-readable media containing instructions stored thereon to cause a computer-aided or autonomous driving (CA/AD) system, in response to execution of the instructions, to analyze for inconsistencies indicative of an anomalous image, pixel-level data associated with a stream of image data, wherein the stream of image data is single image data received from one or more cameras coupled to the CA/AD system or multi-view image data received from multiple ones of the one or more cameras coupled to the CA/AD system; and based at least in part on a weighted value corresponding to the analysis of the pixel-level data of the single image data or the multi-view image data, determine whether one or more inconsistencies indicate the anomalous image.

Example 22 is the computer-readable media of Example 21, wherein the instructions to determine whether one or more inconsistencies indicate the anomalous image include instructions to determine a weight corresponding to the analysis of the pixel-level data of the single image data or the multi-view image data according to a single-layer perceptron.

Example 23 is the computer-readable media of Example 21, wherein the instructions to analyze for inconsistencies, the pixel-level data, includes instructions to detect a change in a gradient of pixel locations of keypoints associated with the stream of image data.

Example 24 is the computer-readable media of Example 21, wherein the instructions to analyze for inconsistencies, the pixel-level data, include instructions to compare a temporal profile of a same keypoint that is visible in the multiple ones of the one or more cameras.

Example 25 is the computer-readable media of Example 21, wherein the instructions to analyze for inconsistencies, the pixel-level data, further include instructions to analyze a transformation of a shape of an object according to a speed and direction of a computer-aided or autonomous driving (CA/AD) automobile including the CA/AD system.

Example 26 is the computer-readable media of Example 21, wherein the instructions to analyze for inconsistencies, the pixel-level data, include instructions to compare a velocity vector of one or more cameras coupled to the CA/AD system to a velocity vector of a CA/AD automobile including the one or more cameras.

Example 27 is the computer-readable media of Example 21, wherein the instructions to analyze for inconsistencies, the pixel-level data, include instructions to compute a distance from a computer-aided or autonomous driving (CA/AD) automobile including the CA/AD system to a static object and compare the distance with a LIDAR measurement included in image data from one or more of the cameras.

Example 28 is the computer-readable media of any one of Examples 21-27, wherein the instructions to determine whether one or more inconsistencies indicate the anomalous image include instructions to determine a weight according to a neural network.

These modifications may be made to embodiments of the present disclosure in light of the above detailed description. The terms used in the following claims should not be construed to limit various embodiments of the present disclosure to specific implementations disclosed in the specification and the claims. Rather, the scope is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.