Collaborative data sharing on data anomalies
The collaborative data sharing method addresses the challenge of data anomalies in vehicle systems by enabling nearby vehicles to capture and convert data, enhancing safety and operational efficiency through coordinated vehicle cooperation.
Patent Information
- Application Number
- JP2024542340
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-24
- Filing Date
- 2023-02-22
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2043-02-22
AI Technical Summary
Existing vehicle systems struggle to effectively share and process data anomalies across vehicles, which can impact safety and operational efficiency.
A method for collaborative data sharing that identifies data anomalies in one vehicle and enables another nearby vehicle to capture and convert this data to match the first vehicle's system, ensuring safe operation and improved safety data sharing.
This solution enhances safety and operational efficiency by enabling coordinated data sharing and conversion between vehicles, addressing data anomalies and improving vehicle cooperation and safety.
Smart Images

Figure 2025507501000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to data anomalies, and more particularly, to collaborative data sharing for data anomalies produced by various systems of a vehicle. [Background technology]
[0002] By utilizing data from the global automotive industry, original equipment manufacturers (OEMs) can analyze and improve their products at an accelerated rate. OEMs have also begun to explore the ability to share data between vehicles in a fleet to bring awareness between vehicles traveling in a fleet as a means of providing an additional level of safety to each vehicle in the fleet. Each vehicle contains various systems to assist the driver in safely operating the vehicle. These various systems can include a number of cameras, radar, Light Detection and Ranging (LIDAR), sonar sensors, and ultrasonic sensors. Summary of the Invention
[0003] An embodiment according to the invention discloses a method, computer program product, and computer system for collaborative data sharing of data anomalies, the method, computer program product, and computer system can identify an anomaly in data for a first system of a first vehicle. The method, computer program product, and computer system can identify a second vehicle in a vicinity of the first vehicle in response to determining that data associated with the anomaly is captureable by another vehicle, the vicinity being defined by an operational range of the first system of the first vehicle. The method, computer program product, and computer system can capture data associated with the anomaly by a second system of a second vehicle. The method, computer program product, and computer system can transform data captured by the second system of the second vehicle to conform to the first vehicle in response to determining that data captured by the second system of the second vehicle requires transformation to conform to the first vehicle.
[0004] Preferred embodiments of the present invention will now be described, by way of example only, and with reference to the following drawings, in which: [Brief description of the drawings]
[0005] [Figure 1] FIG. 1 is a functional block diagram illustrating a distributed data processing environment in accordance with an embodiment of the present invention. [Diagram 2] 4 is a flowchart depicting operational steps of a vehicle cooperation program for collaborative data sharing on data anomalies, in accordance with an embodiment of the present invention. [Diagram 3] 1 is a diagram of an example of collaborative data sharing for data anomalies in a moving vehicle according to an embodiment of the present invention. [Figure 4] FIG. 2 is a block diagram of components of a computer system, such as the server computer of FIG. 1, in accordance with an embodiment of the present invention. [Diagram 5] FIG. 1 is a diagram of a cloud computing environment in accordance with an embodiment of the present invention. [Figure 6] FIG. 2 is a diagram of abstraction model layers, according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0006] An embodiment of the present invention provides for collaborative data sharing between multiple vehicles located in the vicinity of a vehicle having a system generating a data anomaly. An embodiment of the present invention identifies an anomaly in data generated by a system of a moving vehicle, the system facilitating safe operation of the moving vehicle. An embodiment of the present invention identifies a system generating a data anomaly and determines whether data associated with the anomaly can be captured by a system of another vehicle. If data associated with the anomaly can be captured by a system of another vehicle, an embodiment of the present invention identifies a vehicle in the vicinity of the moving vehicle that includes a system capable of capturing data associated with the anomaly. An embodiment of the present invention captures data associated with the anomaly of the moving vehicle by the identified vehicle and determines whether the data captured by the identified vehicle requires transformation to fit the moving vehicle. If the data captured by the identified vehicle requires transformation to fit the moving vehicle, an embodiment of the present invention transforms and displays the captured data based on the perspective of the moving vehicle and the position of the moving vehicle and the identified vehicle. An embodiment of the present invention improves technology in the field of transportation through collaboration between vehicles and safety data sharing, such as anomalies in data generated by at least one safety system of the vehicles involved in the collaboration. Additionally, embodiments of the present invention transform collaborative safety data sharing between vehicles based on the perspective of the vehicle in which at least one safety system is producing a data anomaly.
[0007] FIG. 1 is a functional block diagram illustrating a distributed data processing environment, generally designated 100, in accordance with one embodiment of the present invention. As used herein, the term "distributed" refers to a computer system that includes multiple physically disparate devices that operate together as a single computer system. FIG. 1 illustrates only one implementation and does not suggest any limitations with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by one skilled in the art without departing from the scope of the present invention as recited in the claims.
[0008] The distributed data processing environment 100 includes a server computer 102, an electronic device 104A, and an electronic device 104B, all interconnected via a network 106. The server computer 102 can be a standalone computing device, an administrative server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving, sending, and processing data. In other embodiments, the server computer 102 can represent a server computing system that utilizes multiple computers as a server system, such as in a cloud computing environment. In another embodiment, the server computer 102 represents a computing system that utilizes clustered computers and components (e.g., database server computers, application server computers, etc.) that function as a single pool of seamless resources when accessed within the distributed data processing environment. In this embodiment, the server computer 102 has the ability to communicate with other computing devices, such as electronic device 104A and electronic device 106B, to query the computing devices for information. The server computer 102 includes a vehicle cooperation program 108, a database 110, and vehicle data 112. The server computer 102 may include internal and external hardware components, as depicted and described in further detail with reference to FIG.
[0009] Electronic device 104A is associated with a first vehicle and electronic device 104B is associated with a second vehicle. Electronic devices 104A and 104B can each be a microprocessor, microcontroller, or any computing device capable of integrating the functions of location modules 114A and 114B, communication modules 116A and 116B, user interfaces 118A and 118B, engine control units (ECUs) 120A and 120B, and transmission control units (TCUs) 122A and 122B. Alternatively, a first controller area network (CAN bus) may be utilized to facilitate communication between the location module 114A, communication module 116A, user interface 118A, engine control unit (ECU) 120A, and transmission control unit (TCU) 122A, along with the first vehicle's sensors 128A, cameras 130A, and radar 132A. A second controller area network (CAN bus) may be utilized to facilitate communication between the location module 114B, communication module 116B, user interface 118B, engine control unit (ECU) 120B, and transmission control unit (TCU) 122B, along with the second vehicle's sensors 128B, cameras 130B, and radar 132B. The user interfaces 118A and 118B of each electronic device 104A and 104B enable a user (i.e., a vehicle operator) to interact with and communicate with any one of the vehicle cooperation programs 108 and systems associated with the electronic devices 104A and 104B, as described above. In general, the electronic devices 104A and 104B represent any programmable electronic device or combination of programmable electronic devices capable of executing machine-readable program instructions and communicating with users of other electronic devices over the network 106.Electronic devices 104A and 104B may include components as depicted and explained in further detail with reference to FIG. 4, according to embodiments of the present invention.
[0010] In general, the network 106 can be any combination of connections and protocols that support communication between the server computer 102 and the electronic devices 104A and 104B. The network 106 can include, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, or a combination of any of the foregoing, and can further include wired, wireless, or fiber optic connections, or a combination thereof. The network 106 can include one or more wired and / or wireless networks capable of receiving and transmitting data signals, voice signals, or video signals, including multimedia signals including voice information, data information, and video information, or a combination thereof. In one embodiment, the vehicle cooperation program 108 can be a web service accessible to users of the electronic devices 104A and 104B via the network 106. In general, network 106 can be any combination of connections and protocols that support communications between server computer 102, electronic devices 104A and 104B, and other computing devices (not shown) in a distributed data processing environment.
[0011] The vehicle coordination program 108 enables cooperative data sharing between the electronic device 104A of a first vehicle and the electronic device 104B of a second vehicle about a data anomaly present in one of the vehicles (e.g., electronic device 104A). The vehicle coordination program 108 identifies an anomaly in the data of a first vehicle that is moving, the moving vehicle including the electronic device 104A. The vehicle coordination program 108 identifies a system of the first vehicle that is associated with the anomaly (e.g., camera 130A) and determines whether the data associated with the anomaly is captureable by the other vehicle. If the vehicle coordination program 108 determines that the data associated with the anomaly is not captureable by the other vehicle, the vehicle coordination program 108 displays a notification about the anomaly on the user interface 118A. If the vehicle coordination program 108 determines that the data associated with the anomaly is captureable by the other vehicle, the vehicle coordination program 108 identifies a second vehicle in the vicinity of the first moving vehicle. The vehicle coordination program 108 captures data associated with the anomaly of the first vehicle while it is moving by the second vehicle and determines whether the data captured by the second vehicle requires transformation. If the vehicle coordination program 108 determines that the data captured by the second vehicle requires transformation, the vehicle coordination program 108 transforms the captured data according to the identified system of the first vehicle. The vehicle coordination program 108 displays the transformed captured data on the user interface 118A of the moving first vehicle.
[0012] The database 110 is a repository for data (e.g., vehicle data 112) utilized by the vehicle coordination program 108. In the depicted embodiment, the database 110 resides on the server computer 102. In another embodiment, the database 110 may reside on another device (not shown in FIG. 1 ) in the distributed data processing environment, so long as the vehicle coordination program 108 has access to the database 110. The database 110 may be implemented on any type of storage device capable of storing data and configuration files that can be accessed and utilized by the vehicle coordination program 108, such as a database server, hard disk drive, or flash memory. In this embodiment, the database 110 stores data utilized by the vehicle coordination program 108, including vehicle data 112. The vehicle data 112 includes manufacturer information for the vehicle based on product name, model, and / or vehicle identification number (VIN). The vehicle data 112 may further include inspection interval information (e.g., distance to next inspection) for one or more components of the vehicle (e.g., brakes), data collected for the vehicle during a previous inspection (e.g., tire tread depth, brake pad material remaining), and one or more inspection codes generated by the vehicle (e.g., low brake pad warning, ABS fault).
[0013] The first vehicle associated with the electronic device 104A and the second vehicle associated with the electronic device 104B may each include safety equipment, such as sensors 128A and 128B, cameras 130A and 130B, and radars 132A and 132B. The vehicle cooperation program 108 has the ability to receive and analyze vehicle data 112 to determine whether data associated with an anomaly can be captured by the other vehicle. The vehicle data 112 may include information collected from the location identification modules 114A and 114B, the communication modules 116A and 116B, the engine control units (ECUs) 120A and 120B, the transmission control units (TCUs) 122A and 122B, the sensors 128A and 128B, the cameras 130A and 130B, and the radars 132A and 132B.
[0014] The location determination modules 114A and 114B enable the vehicle coordination program 108 to identify the location of the first vehicle having the electronic device 104A and the second vehicle associated with the electronic device 104B. In this embodiment, the location determination modules 114A and 114B are Global Positioning Systems (GPS) that the vehicle coordination program 108 utilizes to monitor the location of the first vehicle and the second vehicle. The communication modules 116A and 116B enable the electronic devices 104A and 104B to communicate with the vehicle coordination program 108 of the server computer 102 over the network 106. The user interfaces 118A and 118B enable a user to issue requests or commands to the electronic devices 104A and 104B, respectively, and receive information and instructions in response thereto. In one embodiment, user interfaces 118A and 118B are voice user interfaces (VUIs) that users of electronic devices 104A and 104B access via voice commands in natural language. In one embodiment, user interfaces 118A and 118B may be graphical user interfaces (GUIs) or web user interfaces (WUIs) that can display text, documents, web browser windows, user options, application interfaces, and instructions for operation, including information (such as graphics, text, and sounds) that the program presents to the user, as well as control sequences employed by the user to control the program. User interfaces 118A and 118B allow users of electronic devices 104A and 104B, respectively, to interact with vehicle cooperation program 108.
[0015] Engine control units (ECUs) 120A and 120B, also known as engine control modules (ECMs), are electronic devices that control and monitor various actuators of engines 124A and 124B, respectively. ECUs 120A and 120B utilize software components capable of controlling and monitoring performance outputs and operating parameters of engines 124A and 124B. Transmission control units (TCUs) 122A and 122B are electronic devices that control and monitor various parameters of transmissions 126A and 126B, respectively. Similar to ECUs 120A and 120B, TCUs 122A and 122B utilize software components capable of controlling and monitoring performance outputs and operating parameters of transmissions 126A and 126B, respectively.
[0016] Sensors 128A and 128B, cameras 130A and 130B, and radars 132A and 132B represent hardware from which vehicle cooperation program 108 receives and analyzes vehicle data 112 to determine whether data associated with an anomaly can be captured by other vehicles. Sensors 128A and 128B can include electromagnetic, ultrasonic, sonar, lidar, laser, and camera detection systems integrated into various driver assistance systems, such as parking assistance systems, blind spot monitoring, lane keeping systems, and rear cross traffic alert systems. Cameras 130A and 130B represent devices capable of capturing visible or infrared images or footage. Cameras 130A and 130B allow for detection of heat signatures from humans, wildlife, and other vehicles, which is useful, for example, when visibility is poor (i.e., heavy fog, roadside debris, etc.). Radars 132A and 132B represent devices capable of detecting objects within line of sight of radars 132A and 132B and are typically integrated into various driver assistance systems such as adaptive cruise control.
[0017] FIG. 2 is a flow chart depicting operational steps of a vehicle cooperation program for cooperative data sharing on data anomalies in accordance with an embodiment of the present invention.
[0018] The vehicle cooperation program 108 identifies (202) anomalies in the data of the moving vehicle. For the purposes of discussion, a moving vehicle represents an internal combustion engine vehicle, an electric vehicle, or a hydrogen fuel vehicle, or a combination thereof, that is fueled and configured to run (e.g., idle, go fast). For a moving vehicle, the vehicle cooperation program 108 receives various data from various systems (e.g., cameras, sensors, and radar) based on user consent previously agreed to by the vehicle operator. For example, the vehicle cooperation program 108 receives data from multiple cameras of the vehicle, the data indicating the operational status of each of the multiple cameras. The operational status indicates whether each camera is operating properly and producing images viewable by the vehicle operator. The data that the vehicle cooperation program 108 receives from each of the multiple cameras does not require the actual images and / or footage captured, thus allowing the vehicle operator's privacy to be maintained. The data anomalies represent a change in the operational status of the vehicle's systems, indicative of a malfunction of the systems that prevents the systems from successfully performing a task. When the vehicle identifies a system failure, the vehicle coordination program 108 receives an alert from the vehicle regarding the system failure and identifies anomalies in the data being generated by the vehicle's systems while in motion. Anomalies may represent irregularities in the data being generated by the vehicle's systems. Anomalies may include outlying data values, corrupted data values, or missing data values, or combinations thereof. When the vehicle transmits data, the vehicle coordination program 108 receives data from the various systems of the vehicle while in motion and identifies any anomalies (e.g., outlying data values) in the data being generated by each of the vehicle's systems.
[0019] In one example, the moving vehicle includes a rear-facing camera system that generates a video feed to a display of the vehicle, such as a digital display rear view mirror. The vehicle coordination program 108 receives data from the vehicle regarding the rear-facing camera system indicating an operational state, and the vehicle identifies a fault in the rear-facing camera system and sends an alert to the vehicle coordination program 108 indicating the operational state of the rear-facing camera system as faulty. Based on the alert received from the vehicle, the vehicle coordination program 108 identifies an anomaly in the moving vehicle's data with the alert indicating the operational state of the rear-facing camera system as faulty. Alternatively, the vehicle coordination program 108 receives data from the moving vehicle's rear-facing camera system, and the vehicle coordination program 108 determines that the received data includes missing data values. The vehicle coordination program 108 identifies an anomaly in the moving vehicle's data based on the missing data values, and the missing data values indicate a possible intermittent problem with the moving vehicle's rear-facing camera system.
[0020] In another example, the moving vehicle includes a blind spot monitoring system that generates a blind spot warning to the vehicle operator via a visual indicator. The vehicle coordination program 108 receives data from the vehicle regarding the blind spot monitoring system indicating an operational status of a radar or ultrasonic sensor, and the vehicle identifies a fault in the radar or ultrasonic sensor and sends an alert to the vehicle coordination program 108 indicating an operational status of the blind spot monitoring system as faulty. Based on the alert received from the vehicle, the vehicle coordination program 108 identifies an anomaly in the moving vehicle's data with the alert indicating an operational status of the blind spot monitoring system as faulty. Alternatively, the vehicle coordination program 108 receives data from a rear-facing camera system of the moving vehicle, and the vehicle coordination program 108 determines that the received data includes an outlier data value. The data outlier is due to an accumulation of moisture (e.g., snow and ice) in the area where the radar or ultrasonic sensor is located on the vehicle. The vehicle coordination program 108 identifies anomalies in the moving vehicle's data based on the outlier data values, which indicate unreliable data readings of the moving vehicle's blind spot monitoring system.
[0021] The vehicle cooperation program 108 identifies (204) the system of the vehicle associated with the anomaly. In one embodiment, the vehicle cooperation program 108 identifies the system of the vehicle associated with the anomaly by querying the vehicle for various information about the system. In another embodiment, the vehicle cooperation program 108 identifies the system of the vehicle associated with the anomaly based on metadata of the data associated with the anomaly, the metadata including various information about the system. The information may include, but is not limited to, the type of system, location, manufacturer, part number, and serial number. The type of system may include cameras, sensors, and radars on a moving vehicle. Since a vehicle may have multiple systems of each type of system, the location indicates where the system producing the data with the anomaly is located on the vehicle. For example, radar or ultrasonic sensors of a blind spot monitoring system may be located on both sides of the vehicle, and the vehicle cooperation program 108 may identify an anomaly in data produced only by radar or ultrasonic sensors located on the left side (i.e., the driver's side) of the vehicle. In another example, a vehicle may include multiple cameras at various locations on the vehicle, and the vehicle coordination program 108 may identify an anomaly in data generated solely by the rear-facing camera utilized by the digital display rear view mirror. The manufacturer, part number, and serial number of the identified system of the vehicle associated with the anomaly are utilized by the coordination program 108 to determine whether data captured by another vehicle requires transformation to match the data for the moving vehicle. The determination and transformation by the vehicle coordination program 108 is discussed in further detail with reference to (Decision 214) and (216) below.
[0022] The vehicle cooperation program 108 determines whether data associated with the anomaly can be captured by other vehicles (decision 206). If the vehicle cooperation program 108 determines that data associated with the anomaly is not captureable by other vehicles ("no" branch, decision 206), the vehicle cooperation program 108 displays a notification about the anomaly (208). If the vehicle cooperation program 108 determines that data associated with the anomaly is captureable by other vehicles ("yes" branch, decision 206), the vehicle cooperation program 108 identifies vehicles in proximity to the moving vehicle (210).
[0023] The vehicle cooperation program 108 determines whether data associated with the anomaly can be captured by other vehicles based on the identified systems of the vehicle associated with the anomaly. As described above, the moving vehicle can include various systems, such as cameras, sensors, and radar. Another vehicle can include similar various systems, but the data captured by the similar various systems of the other vehicle may not be applicable and / or irrelevant to the operation of the moving vehicle. The vehicle cooperation program 108 has the ability to determine whether data associated with the anomaly can be captured and applied to the moving vehicle. In one example, the system of the vehicle associated with the anomaly is a rear-facing camera, and the vehicle cooperation program 108 determines that an image or video of the area behind the moving vehicle can be captured by a rear-facing camera of one or more other vehicles. In another example, the system of the vehicle associated with the anomaly is a radar or ultrasonic sensor of a blind spot monitoring system, and the vehicle cooperation program 108 determines that data regarding the blind spots of the moving vehicle can be captured by a radar or ultrasonic sensor of a blind spot monitoring system of one or more other vehicles, or by a camera of one or more other vehicles, or both. Although the data that the vehicle cooperation program 108 captures with a camera of another vehicle is different than the data captured by a radar or ultrasonic sensor of a blind spot monitoring system, the vehicle cooperation program 108 can transform the data such that the transformed data is applicable to the moving vehicle. Details regarding this data transformation are discussed in more detail with reference to (216). In yet another example, the system of the vehicle associated with the anomaly is an internal camera that captures the eye movements of an operator of a moving vehicle, and the system of the other vehicle cannot capture the eye movements of an operator of a moving vehicle, so the vehicle cooperation program 108 determines that the data associated with the anomaly is not captureable by one or more systems of the other vehicle.
[0024] The vehicle coordination program 108 displays (208) a notification of the anomaly. For example, if the vehicle coordination program 108 determines that data associated with the anomaly is not captureable by other vehicles, the vehicle coordination program 108 displays a notification of the anomaly on a user interface (e.g., infotainment system, dashboard). In one embodiment, the vehicle coordination program 108 displays a designated error icon on the dashboard corresponding to the system that created the data anomaly. In another embodiment, the vehicle coordination program 108 displays an error message identifying the system and the data anomaly that was created, in addition to an alert message to remain vigilant until the vehicle is serviced. In yet another embodiment, the vehicle coordination program 108 displays a notification on an electronic device (e.g., digital key, smartphone) utilized by the operator of the vehicle, the notification identifying the system and the data anomaly that was created, as well as an operator-selectable option to schedule a service to resolve the data anomaly.
[0025] The vehicle cooperation program 108 identifies (210) vehicles in the vicinity of the moving vehicle. For a moving vehicle, the vehicle cooperation program 108 continually identifies nearby vehicles when the moving vehicle is driving alongside, passing, or being passed by other vehicles. The vehicle cooperation program 108 defines the vicinity based on the operational range of the moving vehicle's system that produced the data associated with the anomaly. The operational range represents the distance at which the vehicle's systems (e.g., cameras, sensors, radar) are capable of capturing usable data by the moving vehicle. In one example, the vehicle cooperation program 108 previously identifies an anomaly in data from the moving vehicle's rear-facing camera system, where video of the area behind the moving vehicle is not being produced by the rear-facing camera. The vehicle coordination program 108 determines that the operating range of the moving vehicle's rear-facing camera system is 50 feet (15.24 meters), and therefore the vehicle coordination program 108 defines the vicinity as a 50-foot diameter circle surrounding the moving vehicle. The vehicle coordination program 108 identifies vehicles located within the 50-foot diameter circle surrounding the moving vehicle, each identified vehicle including a system for capturing data associated with the anomaly (i.e., video of the area behind the vehicle). In another example, the vehicle coordination program 108 previously identified an anomaly in data from the moving vehicle's blind spot monitoring system, where a radar or ultrasonic sensor produced an outlying data value. The vehicle coordination program 108 determines that the blind spot monitoring system of the moving vehicle has an operational range of 75 feet (22.86 meters), and therefore the vehicle coordination program 108 defines the vicinity as a circle having a diameter of 75 feet (22.86 meters) surrounding the moving vehicle. The vehicle coordination program 108 identifies vehicles located within the circle having a diameter of 75 feet (22.86 meters) surrounding the moving vehicle, each identified vehicle including a system for capturing data associated with the anomaly.
[0026] The vehicle cooperation program 108 captures (212) data associated with the moving vehicle anomaly by the identified vehicles. Before capturing data associated with the moving vehicle anomaly by the identified vehicles, the vehicle cooperation program 108 enables the operator of each of the identified vehicles to establish privacy settings for data sharing with other vehicles. The vehicle cooperation program 108 enables the operator of each of the identified vehicles to select which data from each system of the identified vehicles is shareable with other vehicles. Based on the privacy settings for each identified vehicle, the vehicle cooperation program 108 captures data associated with the moving vehicle anomaly by one or more systems of the identified vehicles. The vehicle cooperation program 108 can instruct the identified vehicles to transmit data (e.g., sensor readings, video feeds from cameras) and can receive data from each of the identified vehicles. In one example, the vehicle cooperation program 108 captures a video feed from a rear-facing camera of the identified vehicles when the identified vehicles are driving alongside the moving vehicle. If the moving vehicle's rear-facing camera is not operational, the video feed from the identified vehicle's rear-facing camera represents data associated with the anomaly. In another example, the vehicle cooperation program 108 captures readings from an ultrasonic sensor from the identified vehicle's blind spot monitoring system when the identified vehicle is traveling in front of the moving vehicle. If the moving vehicle's blind spot monitoring system is producing outlying data values, the readings from the identified vehicle's ultrasonic sensor represent data associated with the anomaly.
[0027] The vehicle coordination program 108 determines whether the captured data requires transformation (decision 214). If the vehicle coordination program 108 determines that the captured data does not require transformation ("no" branch, decision 214), the vehicle coordination program 108 displays the data captured at the moving vehicle (218). If the vehicle coordination program 108 determines that the captured data requires transformation ("yes" branch, decision 214), the vehicle coordination program 108 transforms the captured data (216). The vehicle coordination program 108 determines whether the data captured by another vehicle requires transformation to match the data for the moving vehicle.
[0028] In one example, when an identified vehicle is traveling alongside a moving vehicle, the identified vehicle's rear-facing camera system produces a video feed that is missing from the moving vehicle (i.e., a data anomaly). The vehicle cooperation program 108 determines that the identified vehicle's rear-facing camera has a wide-angle lens with a field of view of 160 degrees and a perception range of 50 feet (15.24 meters). The vehicle cooperation program 108 also determines that the rear-facing camera's perspective from the identified vehicle is different from the rear-facing camera's perspective from the moving vehicle. As a result, the vehicle cooperation program 108 determines that the video feed from the identified vehicle requires transformation to match the rear-facing camera's perspective from the moving vehicle. In another example, when an identified vehicle is traveling in front of a moving vehicle, an ultrasonic sensor of the identified vehicle's blind spot monitoring system produces a data value that is missing from the moving vehicle (e.g., a distance value for an object in the blind spot). The vehicle cooperation program 108 determines that the identified vehicle's ultrasonic sensor has a perception range of 75 feet (22.86 meters) from the right rear corner of the identified vehicle. The vehicle cooperation program 108 also determines that the identified vehicle is traveling 20 feet (6.10 meters) in front of a moving vehicle that is 13 feet (3.96 meters) long. As a result, the vehicle cooperation program 108 determines that the ultrasonic sensor data values from the identified vehicle require transformation to account for the variation in distance between the right rear corner of the identified vehicle and the right rear corner of the moving vehicle.
[0029] The vehicle cooperation program 108 transforms the captured data (216). As described above, the vehicle cooperation program 108 transforms the captured data from the identified vehicle to fit the moving vehicle. In one example, the vehicle cooperation program 108 determines that the rear-facing camera's perspective from the identified vehicle is different from the rear-facing camera's perspective from the moving vehicle and determines that the video feed from the identified vehicle requires transformation to fit the rear-facing camera's perspective from the moving vehicle. Based on the identified vehicle and the location information of the moving vehicle, the vehicle cooperation program 108 utilizes a generative adversarial network (GAN) class of machine learning to transform the perspective of the video feed from the identified vehicle to an expected perspective of the video feed from the moving vehicle. If the vehicle cooperation program 108 captures video feeds from multiple identified vehicles in the vicinity of the moving vehicle, the vehicle cooperation program 108 transforms the multiple video feeds into a single view from an expected perspective of the video feed from the moving vehicle based on the multiple identified vehicles and the location information of the moving vehicles. In another example, the vehicle cooperation program 108 determines that if an identified vehicle is traveling in front of a moving vehicle, the ultrasonic sensor data values from the identified vehicle need to be transformed to account for the variation in distance between the right rear corner of the identified vehicle and the right rear corner of the moving vehicle. From the previous example, the vehicle cooperation program 108 determines that the ultrasonic sensor of the identified vehicle has a perception range of 75 feet (22.86 meters) from the right rear corner of the identified vehicle and the identified vehicle is traveling 20 feet (6.10 meters) in front of the moving vehicle that is 13 feet (3.96 meters) long. The vehicle cooperation program 108 transforms the data values to account for the distance variation of 33 feet (10.06 meters) between the viewpoint of the ultrasonic sensor of the identified vehicle and the viewpoint of the ultrasonic sensor of the moving vehicle.Thus, if the identified vehicle's ultrasonic sensor captures data of an object (e.g., an approaching vehicle) located 44 feet (13.41 meters) away, the vehicle cooperation program 108 converts the captured data to 11 feet (3.35 meters) to account for the 33 feet (10.06 meters) distance variation between the perspective of the identified vehicle's ultrasonic sensor and the perspective of the moving vehicle's ultrasonic sensor.
[0030] The vehicle coordination program 108 displays (218) the captured data at the moving vehicle. In one embodiment, the vehicle coordination program 108 displays the captured data at the moving vehicle as a user interface, such as an infotainment system, a digital display rearview mirror, a dashboard, or a designated visual indicator for a system associated with the captured data, or a combination thereof. In another embodiment, the vehicle coordination program 108 displays the transformed captured data at the moving vehicle as a user interface, such as an infotainment system, a digital display rearview mirror, a dashboard, or a designated visual indicator for a system associated with the captured data, or a combination thereof. In one example, the vehicle coordination program 108 displays transformed video feeds from multiple rear-view facing cameras from multiple identified vehicles on the moving vehicle's digital display rearview mirror. In another example, the vehicle coordination program 108 displays an alert of an object located in a blind spot based on the transformed ultrasonic sensor readings from the identified vehicle, via a designated visual indicator on the moving vehicle.
[0031] 3 illustrates an example of collaborative data sharing for a moving vehicle's data anomaly according to an embodiment of the present invention. In this example, moving vehicle 302 is traveling in the center lane of a highway, vehicle 304 is located in the center lane behind moving vehicle 302, vehicle 306 is located to the left of moving vehicle 302 in the leftmost lane, and vehicle 308 is located to the right of moving vehicle 302 in the rightmost lane. Moving vehicle 302 includes a rear-facing camera system capable of producing a video feed of the rear area and displaying the image to an operator of moving vehicle 302 on a digital display rearview mirror. The field of view of the rear-facing camera system of moving vehicle 302 includes an area with periphery 310, and vehicle 304 is within the area with periphery 310. While the vehicle coordination program 108 receives data from the moving vehicle 302 regarding the rear facing camera system indicating an operational status, the vehicle identifies a fault in the rear facing camera system and sends an alert to the vehicle coordination program 108 indicating the operational status of the rear facing camera system as faulty. Based on the alert received from the vehicle, the vehicle coordination program 108 identifies an anomaly in the moving vehicle's data by an alert indicating the operational status of the rear facing camera system as faulty.
[0032] In this example, the vehicle coordination program 108 determines that a video feed of the area behind the moving vehicle can be captured by a rear-facing camera of one or more other vehicles, and the vehicle coordination program 108 identifies vehicles in the vicinity of the moving vehicle 302. The vehicle coordination program 108 determines that the operating range of the rear-facing camera system of the moving vehicle is 75 feet (22.86 meters), and therefore the vehicle coordination program 108 defines the vicinity as a 75-foot (22.86 meter) radius circle surrounding the moving vehicle. The vehicle coordination program 108 identifies vehicles 306 and 308 located within the 75-foot (22.86 meter) radius circle surrounding the moving vehicle as being capable of capturing data associated with the anomaly (i.e., video of the area behind the vehicle). Although vehicle 304 is located within the 75 foot (22.86 meter) radius circle, vehicle coordination program 108 determines that vehicle 304 does not have a system (e.g., a forward-facing camera system) capable of capturing data associated with the anomaly. Vehicle coordination program 108 captures video feeds from rear-facing cameras of vehicles 306 and 308, but the field of view of the rear-facing camera system of moving vehicle 302 includes an area with periphery 312 and the field of view of the rear-facing camera system of vehicle 308 includes an area with periphery 314. Vehicle coordination program 108 determines that the perspective of the rear-facing camera from vehicle 306 or 308 is different from the perspective of the rear-facing camera system from moving vehicle 302. As a result, vehicle coordination program 108 determines that the video feed from vehicle 306 or 308 requires a transformation to fit the perspective of the rear-facing camera from the moving vehicle.
[0033] The vehicle cooperation program 108 utilizes a generative adversarial network (GAN) class of machine learning to convert the perspectives of the video feeds from each of the vehicles 306 and 308 into an expected perspective of the video feed from the moving vehicle 302 based on the position information of the moving vehicle 302, the vehicle 306, and the vehicle 308. The vehicle cooperation program 108 converts the multiple video feeds into a single view from an expected perspective of the video feed from the moving vehicle 302, where the field of view of the expected perspective of the video feed from the moving vehicle 302 is defined by a region with a periphery 316. The region with the periphery 316 includes at least one overlapping field of view that is captureable by a rear-facing camera system of the vehicle 306 or 308. Utilizing a generative adversarial network (GAN) class of machine learning, the vehicle cooperation program 108 converts the multiple video feeds into a single video feed and displays the video feed on a digital display rear view mirror of the moving vehicle 302. The vehicle coordination program 108 allows the operator of vehicle 302 to maintain awareness of any vehicles (i.e., vehicle 304) that are located immediately behind the vehicle while in motion. In addition to displaying the video feed, the vehicle coordination program 108 ensures that the operator is aware that replaced images are obtained from surrounding vehicles (i.e., vehicles 306 and 308) by including indicators, such as statements or colored borders, in the video feed.
[0034] 4 depicts a computer system 400 in which the server computer 102 is an example of a computer system 400 that includes the vehicle cooperation program 108. The computer system includes a processor 404, a cache 416, a memory 406, a persistent storage 408, a communication unit 410, an input / output (I / O) interface 412, and a communication fabric 402. The communication fabric 402 provides communication between the cache 416, the memory 406, the persistent storage 408, the communication unit 410, and the input / output (I / O) interface 412. The communication fabric 402 can be implemented with any architecture designed to pass data and / or control information between a processor (such as a microprocessor, communication and network processor, etc.), system memory, peripheral devices, and any other hardware components in the system. For example, the communication fabric 402 can be implemented with one or more buses or crossbar switches.
[0035] Memory 406 and persistent storage 408 are computer-readable storage media. In this embodiment, memory 406 includes random access memory (RAM). In general, memory 406 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 416 is a high-speed memory that enhances the performance of processor 404 by holding recently accessed and near recently accessed data from memory 406.
[0036] Program instructions and data used to practice embodiments of the present invention may be stored in persistent storage 408 and in memory 406 for execution by one or more of the respective processors 404 via cache 416. In an embodiment, persistent storage 408 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 408 may include a solid state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0037] The media used by persistent storage 408 may also be removable. For example, a removable hard drive may be used for persistent storage 408. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 408.
[0038] Communications unit 410, in these examples, provides for communication with other data processing systems or devices. In these examples, communications unit 410 includes one or more network interface cards. Communications unit 410 may provide communications through the use of either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage 408 via communications unit 410.
[0039] The I / O interface 412 allows for the input and output of data with other devices that may be connected to each computer system. For example, the I / O interface 412 may provide a connection to external devices 418, such as a keyboard, a keypad, a touch screen, or some other suitable input device, or a combination thereof. The external devices 418 may also include portable computer-readable storage media, such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention may be stored on such portable computer-readable storage media and loaded into the persistent storage 408 via the I / O interface 412. The I / O interface 412 also connects to a display 420.
[0040] Display 420 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0041] The programs described herein are identified based on the applications in which they are implemented in specific embodiments of the invention. Nevertheless, it should be understood that any particular program terminology herein is used merely for convenience, and thus the invention should not be limited to use merely in any specific application identified and / or suggested by such terminology.
[0042] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of technical detail of integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to carry out aspects of the present invention.
[0043] A computer readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures having instructions recorded thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein should not be interpreted as signals that are transitory in nature, such as electric waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted through wires.
[0044] The computer readable program instructions described herein can be downloaded from the computer readable storage medium to each computing / processing device or to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface of each computing / processing device receives the computer readable program instructions from the network and forwards the computer readable program instructions for storage on the computer readable storage medium within the respective computing / processing device.
[0045] The computer readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine language instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuit devices, or source or object code written in any combination of one or more programming languages, including object oriented programming languages such as Smalltalk®, C++, or the like, and procedural programming languages such as the “C” programming language or similar programming languages. The computer readable program instructions may run entirely on the user's computer, or partially on the user's computer, as a stand-alone software package, or partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit device, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to individualize the electronic circuitry to implement aspects of the present invention.
[0046] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0047] These computer readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, the instructions executing on the processor of the computer or other programmable data processing apparatus to produce means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer readable program instructions may also be stored on a computer readable storage medium such that the computer readable storage medium having stored thereon an article of manufacture including instructions for performing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, and may direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner.
[0048] The computer readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to perform a series of operational steps on the computer, other programmable apparatus, or other device to produce a computer-executed process, such that the instructions execute on the computer, other programmable apparatus, or other device to perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0049] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may be performed out of the order noted in the figures. For example, two blocks shown in succession may in fact be performed as one step performed simultaneously, substantially simultaneously, in a partially or fully time-overlapping manner, or the blocks may sometimes be performed in reverse order depending on the functionality involved. It is also noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be executed by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.
[0050] Although this disclosure includes a detailed description of cloud computing, it should be understood that implementations of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.
[0051] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0052] The characteristics are as follows:
[0053] On-Demand Self-Service: Cloud customers can unilaterally provision computing power, such as server time and network storage, automatically as needed, without the need for human interaction with the service provider.
[0054] Broad Network Access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, and PDAs).
[0055] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with dynamic allocation and reallocation of various physical and virtual resources according to demand. Location independence is meant in that consumers generally have no control or knowledge of the exact location of the resources provided, but the location may be specified at a higher level of abstraction (e.g., country, state, or data center).
[0056] Rapid Elasticity: Capacity can be rapidly and elastically provisioned, sometimes automatically, to quickly scale out, and rapidly released to quickly scale in. To the consumer, the capacity available for provisioning often appears unlimited, and can be purchased at any time in any amount.
[0057] Measured Services: Cloud systems automatically control and optimize resource utilization by leveraging metering capabilities at several levels of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource utilization can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services used.
[0058] The service model is as follows:
[0059] Software as a Service (SaaS): The consumer is provided with the ability to use the provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer has no management or control over the underlying cloud infrastructure, including networks, servers, operating systems, storage, or possibly individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0060] Platform as a Service (PaaS): The capability provided to a consumer is to deploy consumer-created or acquired applications, created using provider-supported programming languages and tools, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the configuration of the environment that hosts the applications.
[0061] Infrastructure as a Service (IaaS): The capability provided to a customer is to provide processing, storage, networking, and other basic computing resources on which the customer can deploy and run any software, which may include operating systems and applications. The customer does not manage or control the underlying cloud infrastructure, but does have control over the operating systems, storage, deployed applications, and in some cases limited control over the selection of networking components (e.g., host firewalls).
[0062] The deployment models are as follows:
[0063] Private Cloud: The cloud infrastructure is operated solely for the organization. The cloud infrastructure may be managed by the organization or a third party and may be on-site or off-site.
[0064] Community Cloud: The cloud infrastructure is shared by several organizations to support a unique community that has shared concerns (e.g., mission, security requirements, policies, and compliance considerations). The cloud infrastructure may be managed by the organization or a third party and may be on-site or off-site.
[0065] Public Cloud: Cloud infrastructure is available to the general public or large industry entities and is owned by organizations that sell cloud services.
[0066] Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standard or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0067] A cloud computing environment is service-oriented with a focus on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0068] Referring now to FIG. 5, an illustrative cloud computing environment 50 is depicted. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which a local computing device used by a cloud user may communicate, such as, for example, a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or combinations thereof. The nodes 10 may communicate with each other. The nodes 10 may be physically or virtually grouped in one or more networks, such as a private, community, public, or hybrid cloud, or combinations thereof, as described below (not shown). This enables the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service without the cloud user having to maintain resources on a local computing device. The types of computing devices 54A-N illustrated in FIG. 5 are intended to be illustrative only, and it is understood that the computing node 10 and cloud computing environment 50 can communicate with any type of computerized device via any type of network and / or network addressable connections (e.g., using a web browser).
[0069] Referring now to Figure 6, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 5) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 6 are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0070] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (reduced instruction set computing) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0071] The virtualization layer 70 provides an abstraction layer within which examples of virtual entities may be provided: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.
[0072] In one example, management layer 80 may provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to perform tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the usage of these resources. In one example, these resources may include application software licenses. Security provides identity verification of cloud consumers and tasks, and protection of data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computing resources to meet required service levels. Service level agreement (SLA) planning and fulfillment 85 provides pre-location and procurement of cloud computing resources in anticipation of future requirements according to SLAs.
[0073] The workload tier 90 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this tier include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and vehicle coordination programs 108.
[0074] The programs described herein are identified based on the applications in which they are implemented in specific embodiments of the invention. Nevertheless, it should be understood that any particular program terminology herein is used merely for convenience, and thus the invention should not be limited to use merely in any specific application identified and / or suggested by such terminology.
[0075] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of technical detail of integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to carry out aspects of the present invention.
[0076] A computer readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures having instructions recorded thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein should not be interpreted as signals that are transitory in nature, such as electric waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted through wires.
[0077] The computer readable program instructions described herein can be downloaded from the computer readable storage medium to each computing / processing device or to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface of each computing / processing device receives the computer readable program instructions from the network and forwards the computer readable program instructions for storage on the computer readable storage medium within the respective computing / processing device.
[0078] The computer readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine language instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuit devices, or source or object code written in any combination of one or more programming languages, including object oriented programming languages such as Smalltalk®, C++, or the like, and procedural programming languages such as the “C” programming language or similar programming languages. The computer readable program instructions may run entirely on the user's computer, or partially on the user's computer, as a stand-alone software package, or partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit device, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to individualize the electronic circuitry to perform aspects of the present invention.
[0079] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0080] These computer readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, the instructions executing on the processor of the computer or other programmable data processing apparatus to produce means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer readable program instructions may also be stored on a computer readable storage medium such that the computer readable storage medium having stored thereon an article of manufacture including instructions for performing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, and may direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner.
[0081] The computer readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to perform a series of operational steps on the computer, other programmable apparatus, or other device to produce a computer-executed process, such that the instructions execute on the computer, other programmable apparatus, or other device to perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0082] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for performing a specified logical function. In some alternative implementations, the functions noted in the blocks may be performed out of the order noted in the figures. For example, two blocks shown in succession may in fact be performed as one step performed simultaneously, substantially simultaneously, in a partially or fully time-overlapping manner, or the blocks may sometimes be performed in reverse order depending on the functionality involved. It is also noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be executed by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.
Claims
1. 1. A computer-implemented method comprising: Identifying an anomaly in data for a first system of a first vehicle; in response to determining that the data associated with the anomaly is captureable by another vehicle, identifying a second vehicle in a vicinity of the first vehicle, the vicinity being defined by an operational range of the first system of the first vehicle; capturing, by a second system of the second vehicle, the data associated with the anomaly; and in response to determining that the data captured by the second system of the second vehicle requires conversion to be compatible with the first vehicle, converting the data captured by the second system of the second vehicle to be compatible with the first vehicle; A method comprising:
2. Displaying the converted captured data on a user interface of the first vehicle, the user interface being selected from a group including an infotainment system, a digital display rearview mirror, a dashboard, and a designated visual indicator. The method of claim 1 further comprising:
3. Transforming the captured data, determining that a point of view of the second system of the second vehicle is different from an expected point of view of the first system of the first vehicle; transforming the viewpoint of the second system of the second vehicle to the expected viewpoint of the first system based on a first position of the first vehicle and a second position of the second vehicle; The method of claim 2 , further comprising:
4. 4. The method of claim 3, wherein the expected viewpoint of the first system is from a first camera system of the first vehicle and the viewpoint of the second system is from a second camera system of the second vehicle.
5. 5. The method of claim 4, wherein transforming the perspective of the second system of the second vehicle to the expected perspective of the first system includes utilizing a generative adversarial network (GAN) class of machine learning.
6. The method of claim 1 , wherein the anomaly is selected from the group consisting of an outlying data value, a corrupted data value, and a missing data value.
7. the predicted viewpoint of the first system is that of a first ultrasonic sensor of the first vehicle, and the viewpoint of the second system is that of a second ultrasonic sensor of the second vehicle; the transforming of the viewpoint of the second system of the second vehicle to the expected viewpoint of the first system takes into account variations in distance between the first vehicle and the second vehicle. The method according to claim 3.
8. A computer program product comprising: one or more computer readable storage media; and program instructions collectively stored on the one or more computer readable storage media, the stored program instructions being executable by one or more computer processors, the stored program instructions comprising: Identifying an anomaly in data for a first system of a first vehicle; in response to determining that the data associated with the anomaly is captureable by another vehicle, identifying a second vehicle in a vicinity of the first vehicle, the vicinity being defined by an operational range of the first system of the first vehicle; capturing, by a second system of the second vehicle, the data associated with the anomaly; and in response to determining that the data captured by the second system of the second vehicle requires conversion to be compatible with the first vehicle, converting the data captured by the second system of the second vehicle to be compatible with the first vehicle; 2. A computer program product comprising:
9. The stored program instructions include: Displaying the converted captured data on a user interface of the first vehicle, the user interface being selected from a group including an infotainment system, a digital display rearview mirror, a dashboard, and a designated visual indicator.
9. The computer program product of claim 8, further comprising:
10. The stored program instructions include: determining that a point of view of the second system of the second vehicle is different from an expected point of view of the first system of the first vehicle; transforming the viewpoint of the second system of the second vehicle to the expected viewpoint of the first system based on a first position of the first vehicle and a second position of the second vehicle; 10. The computer program product of claim 9, further comprising:
11. 11. The computer program product of claim 10, wherein the expected viewpoint of the first system is from a first camera system of the first vehicle and the viewpoint of the second system is from a second camera system of the second vehicle.
12. 12. The computer program product of claim 11, wherein transforming the perspective of the second system of the second vehicle to the expected perspective of the first system includes utilizing a generative adversarial network (GAN) class of machine learning.
13. 9. The computer program product of claim 8, wherein the anomaly is selected from the group consisting of an outlying data value, a corrupted data value, and a missing data value.
14. the predicted viewpoint of the first system is that of a first ultrasonic sensor of the first vehicle, and the viewpoint of the second system is that of a second ultrasonic sensor of the second vehicle; the transforming of the viewpoint of the second system of the second vehicle to the expected viewpoint of the first system takes into account variations in distance between the first vehicle and the second vehicle.
11. A computer program product according to claim 10.
15. 1. A computer system comprising: one or more computer processors; one or more computer readable storage media; program instructions stored on the computer-readable storage medium for execution by at least one of the one or more computer processors; wherein the program instructions include: identifying an anomaly in data for a first system of a first vehicle; in response to determining that the data associated with the anomaly is captureable by another vehicle, identifying a second vehicle in a vicinity of the first vehicle, the vicinity being defined by an operational range of the first system of the first vehicle; capturing, by a second system of the second vehicle, the data associated with the anomaly; and in response to determining that the data captured by the second system of the second vehicle requires conversion to be compatible with the first vehicle, converting the data captured by the second system of the second vehicle to be compatible with the first vehicle.
1. A computer system comprising:
16. The stored program instructions include: Displaying the converted captured data on a user interface of the first vehicle, the user interface being selected from a group including an infotainment system, a digital display rearview mirror, a dashboard, and a designated visual indicator.
16. The computer system of claim 15, further comprising:
17. The stored program instructions include: determining that a point of view of the second system of the second vehicle is different from an expected point of view of the first system of the first vehicle; transforming the viewpoint of the second system of the second vehicle to the expected viewpoint of the first system based on a first position of the first vehicle and a second position of the second vehicle; 20. The computer system of claim 16, further comprising:
18. 20. The computer system of claim 17, wherein the expected viewpoint of the first system is from a first camera system of the first vehicle and the viewpoint of the second system is from a second camera system of the second vehicle.
19. 20. The computer system of claim 18, wherein transforming the perspective of the second system of the second vehicle to the expected perspective of the first system includes utilizing a generative adversarial network (GAN) class of machine learning.
20. 16. The computer system of claim 15, wherein the anomaly is selected from the group consisting of an outlying data value, a corrupted data value, and a missing data value.
21. A computer program comprising program code means adapted to carry out the method according to any of claims 1 to 7, when the program is run on a computer.
Citation Information
Patent Citations
Information processing device, information processing method, and program
WO2017029847A1