The present disclosure relates generally to a field of transportation. More specifically, the present disclosure relates to seat belt adjustment of one or more occupant seats.
By the introduction of more advanced interior sensing capabilities, the vehicle can identify different features of the vehicle compartment such as visual appearance, shape of the occupant, weight of the occupant, movement of the occupant, belt pay out and other parameters. By using one or more of these monitored parameters, the vehicle can advise the user on safe configuration of, for example, accessories.
For a normal vehicle user, the installation of an occupant seat (e.g., an accessory child seat) might be difficult because there are very few visual or haptic confirmations on a correct installation. It can be hard to manually tighten the seat belt to the correct tension.
Therefore, there is a long-felt need for a system and method for fastening one or more seat belts with safety, convenience, and comfort to one or more occupants.
The following presents a summary to provide a basic understanding of one or more embodiments described herein. This summary is not intended to identify key or critical elements or delineate any scope of the different embodiments and/or any scope of the claims. The sole purpose of the summary is to present some concepts in a simplified form as a prelude to the more detailed description presented herein.
In one or more embodiments described herein, systems, devices, computer-implemented methods, methods, apparatus and/or computer program products are presented that facilitate adjusting seat belts in the vehicles.
In an aspect, a system is described herein. The system comprises a sensor module and a control module. The sensor module comprises one or more cameras. The control module comprises a processor and a memory communicatively coupled to the processor. The memory stores a sensor control module including computer-readable instructions that when executed by the processor cause the processor to: communicate a first command to the one or more cameras to capture one or more images of one or more interior portions of the vehicle and one or more occupants; determine, using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more occupant seats positioned in the interior and one or more second characteristics of the one or more occupants seated in the one or more occupant seats; compare the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants; in accordance with the comparison of the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants, determine a tautness for the seat belt; communicate a second command to a seat belt adjustment unit to automatically actuate and route a seat belt with the tautness determined; and in accordance with at least one of one or more facial expressions, one or more postures and one or more gestures of the one or more occupants while automatically routing the seat belt, communicate a third command to the seat belt adjustment unit to enable manual adjustment of the seat belt based on a user input received through a user interface of an electronic unit.
In an aspect, a method is described herein. The method comprises: communicating, via a control module, a first command to the one or more cameras to capture one or more images of one or more interior portions of the vehicle and one or more occupants; determining, via the control module, using information acquired by the sensor module of the vehicle interior, via an artificial intelligence module, one or more first characteristics of one or more occupant seats positioned in the interior and one or more second characteristics of the one or more occupants seated in the one or more occupant seats; comparing, via the control module, the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants; in accordance with the comparison of the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants, determining, via the control module, a tautness for the seat belt; communicating, via the control module, a second command to a seat belt adjustment unit to automatically actuate and route a seat belt with the tautness determined; and in accordance with at least one of one or more facial expressions, one or more postures and one or more gestures of the one or more occupants while automatically routing the seat belt, communicating, via the control module, a third command to the seat belt adjustment unit to enable manual adjustment of the seat belt based on a user input received through a user interface of an electronic unit.
In another aspect, a non-transitory computer readable medium is described. The non-transitory computer readable medium stores a sequence of instructions, which when executed by a processor causes: communicate a first command to the one or more cameras to capture one or more images of one or more interior portions of the vehicle and one or more occupants; determine using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more occupant seats positioned in the interior and one or more second characteristics of the one or more occupants seated in the one or more occupant seats; compare the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants; in accordance with the comparison of the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants, determine a tautness for the seat belt; communicate a second command to a seat belt adjustment unit to automatically actuate and route a seat belt with the tautness determined; and in accordance with at least one of one or more facial expressions, one or more postures and one or more gestures of the one or more occupants while automatically routing the seat belt, communicate a third command to the seat belt adjustment unit to enable manual adjustment of the seat belt based on a user input received through a user interface of an electronic unit.
In another aspect, a system is described. The system comprises a sensor module and a control module. The sensor module comprises one or more cameras and one or more sensors. The control module comprises a processor, and a memory communicatively coupled to the processor, a sensor control module including computer-readable instructions that when executed by the processor cause the processor to: communicate a first command to the sensor module to capture one or more images of one or more occupants; communicate a second command to the sensor module to measure a tautness of one or more seat belts; determine, using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more seat belts and one or more second characteristics of the one or more occupants seated in one or more occupant seats; create a virtual seat belt routing model of the one or more occupants seated in the one or more occupant seats routed with the one or more seat belts; perform a simulation on the virtual seat belt routing model; identify a first cluster from one or more clusters of different tautness levels based on the one or more second characteristics of the one or more occupants; correlating the virtual seat belt routing model with a predefined virtual seat belt routing model of the first cluster and determining a score for the virtual seat belt routing model; and communicate a third command to an electronic unit to render a notification that the one or more seat belts is securely and conveniently fastened over the one or more occupants when the score is one of greater than and equal to a threshold value.
In another aspect, a method is described herein. The method comprises: communicate a first command to a sensor module to capture one or more images of one or more occupants; communicate a second command to the sensor module to measure a tautness of one or more seat belts; determine, using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more seat belts and one or more second characteristics of the one or more occupants seated in one or more occupant seats; create a virtual seat belt routing model of the one or more occupants seated in the one or more occupant seats routed with the one or more seat belts; perform a simulation on the virtual seat belt routing model; identify a first cluster from one or more clusters of different tautness levels based on the one or more second characteristics of the one or more occupants; correlating the virtual seat belt routing model with a predefined virtual seat belt routing model of the first cluster and determining a score for the virtual seat belt routing model; and communicate a third command to an electronic unit to render a notification that the one or more seat belts is securely and conveniently fastened over the one or more occupants when the score is one of greater than and equal to a threshold value.
In yet another aspect, a non-transitory computer readable medium storing a sequence of instructions, which when executed by a processor causes: communicate a first command to a sensor module to capture one or more images of one or more occupants; communicate a second command to the sensor module to measure a tautness of one or more seat belts; determine, using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more seat belts and one or more second characteristics of the one or more occupants seated in one or more occupant seats; create a virtual seat belt routing model of the one or more occupants seated in the one or more occupant seats routed with the one or more seat belts; perform a simulation on the virtual seat belt routing model; identify a first cluster from one or more clusters of different tautness levels based on the one or more second characteristics of the one or more occupants; correlating the virtual seat belt routing model with a predefined virtual seat belt routing model of the first cluster and determining a score for the virtual seat belt routing model; and communicate a third command to an electronic unit to render a notification that the one or more seat belts is securely and conveniently fastened over the one or more occupants when the score is one of greater than and equal to a threshold value.
The methods and systems disclosed herein may be implemented in any means for achieving various aspects and may be executed in a form of a non-transitory machine-readable medium embodying a set of instructions that, when executed by a machine, causes the machine to perform any of the operations disclosed herein. Other features will be apparent from the accompanying drawings and from the detailed description that follows.
These and other aspects of the present disclosure will now be described in more detail, with reference to the appended drawings showing exemplary embodiments, in which:
Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.
For simplicity and clarity of illustration, the figures illustrate the general manner of construction. The description and figures may omit the descriptions and details of well-known features and techniques to avoid unnecessarily obscuring the present disclosure. The figures exaggerate the dimensions of some of the elements relative to other elements to help improve understanding of embodiments of the present disclosure. The same reference numeral in different figures denotes the same element.
Although the detailed description herein contains many specifics for the purpose of illustration, a person of ordinary skill in the art will appreciate that many variations and alterations to the details are considered to be included herein.
Accordingly, the embodiments herein are without any loss of generality to, and without imposing limitations upon, any claims set forth. The terminology used herein is for the purpose of describing particular embodiments only and is not limiting. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one with ordinary skill in the art to which this disclosure belongs.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one with ordinary skill in the art.
As used herein, the articles “a” and “an” used herein refer to one or to more than one (i.e., to at least one) of the grammatical object of the article. By way of example, “an element” means one element or more than one element. Moreover, usage of articles “a” and “an” in the subject specification and annexed drawings construe to mean “one or more” unless specified otherwise or clear from context to mean a singular form.
As used herein, the terms “example” and/or “exemplary” mean serving as an example, instance, or illustration. For the avoidance of doubt, such examples do not limit the herein described subject matter. In addition, any aspect or design described herein as an “example” and/or “exemplary” is not necessarily preferred or advantageous over other aspects or designs, nor does it preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
As used herein, the terms “first,” “second,” “third,” and the like in the description and in the claims, if any, distinguish between similar elements and do not necessarily describe a particular sequence or chronological order. The terms are interchangeable under appropriate circumstances such that the embodiments herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms “include,” “have,” and any variations thereof, cover a non-exclusive inclusion such that a process, method, system, article, device, or apparatus that comprises a list of elements is not necessarily limiting to those elements, but may include other elements not expressly listed or inherent to such process, method, system, article, device, or apparatus.
As used herein, the terms “left,” “right,” “front,” “back,” “top,” “bottom,” “over,” “under” and the like in the description and in the claims, if any, are for descriptive purposes and not necessarily for describing permanent relative positions. The terms so used are interchangeable under appropriate circumstances such that the embodiments of the apparatus, methods, and/or articles of manufacture described herein are, for example, capable of operation in other orientations than those illustrated or otherwise described herein.
No element act, or instruction used herein is critical or essential unless explicitly described as such. Furthermore, the term “set” includes items (e.g., related items, unrelated items, a combination of related items and unrelated items, etc.) and may be interchangeable with “one or more”. Where only one item is intended, the term “one” or similar language is used. Also, the terms “has,” “have,” “having,” or the like are open-ended terms. Further, the phrase “based on” means “based, at least in part, on” unless explicitly stated otherwise.
As used herein, the terms “system,” “device,” “unit,” and/or “module” refer to a different component, component portion, or component of the various levels of the order. However, other expressions that achieve the same purpose may replace the terms.
As used herein, the terms “couple,” “coupled,” “couples,” “coupling,” and the like refer to connecting two or more elements mechanically, electrically, and/or otherwise. Two or more electrical elements may be electrically coupled together, but not mechanically or otherwise coupled together. Coupling may be for any length of time, e.g., permanent, or semi-permanent or only for an instant. “Electrical coupling” includes electrical coupling of all types. The absence of the word “removably,” “removable,” and the like, near the word “coupled” and the like does not mean that the coupling, etc. in question is or is not removable.
As used herein, the term “or” means an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from context. “X employs A or B” means any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances.
As used herein, two or more elements or modules are “integral” or “integrated” if they operate functionally together. Two or more elements are “non-integral” if each element can operate functionally independently.
As used herein, the term “real-time” refers to operations conducted as soon as practically possible upon occurrence of a triggering event. A triggering event can include receipt of data necessary to execute a task or to otherwise process information. Because of delays inherent in transmission and/or in computing speeds, the term “real-time” encompasses operations that occur in “near” real-time or somewhat delayed from a triggering event. In a number of embodiments, “real-time” can mean real-time less a time delay for processing (e.g., determining) and/or transmitting data. The particular time delay can vary depending on the type and/or amount of the data, the processing speeds of the hardware, the transmission capability of the communication hardware, the transmission distance, etc. However, in many embodiments, the time delay can be less than approximately one second, two seconds, five seconds, or ten seconds.
As used herein, the term “approximately” can mean within a specified or unspecified range of the specified or unspecified stated value. In some embodiments, “approximately” can mean within plus or minus ten percent of the stated value. In other embodiments, “approximately” can mean within plus or minus five percent of the stated value. In further embodiments, “approximately” can mean within plus or minus three percent of the stated value. In yet other embodiments, “approximately” can mean within plus or minus one percent of the stated value.
Digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them may realize the implementations and all of the functional operations described in this specification. Implementations may be as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, data processing apparatus. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter affecting a machine-readable propagated signal, or a combination of one or more of them. The term “computing system” encompasses all apparatus, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus may include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal (e.g., a machine-generated electrical, optical, or electromagnetic signal) that encodes information for transmission to a suitable receiver apparatus.
The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting to the implementations. Thus, any software and any hardware can implement the systems and/or methods based on the description herein without reference to specific software code.
A computer program (also known as a program, software, software application, script, or code) is written in any appropriate form of programming language, including compiled or interpreted languages. Any appropriate form, including a standalone program or a module, component, subroutine, or other unit suitable for use in a computing environment may deploy it. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program may execute on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
One or more programmable processors, executing one or more computer programs to perform functions by operating on input data and generating output, perform the processes and logic flows described in this specification. The processes and logic flows may also be performed by, and apparatus may also be implemented as, special purpose logic circuitry, for example, without limitation, a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), Application Specific Standard Products (ASSPs), System-On-a-Chip (SOC) systems, Complex Programmable Logic Devices (CPLDs), etc.
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any appropriate kind of a digital computer. A processor will receive instructions and data from a read-only memory or a random-access memory or both. Elements of a computer can include a processor for performing instructions and one or more memory devices for storing instructions and data. A computer will also include, or is operatively coupled to receive data, transfer data or both, to/from one or more mass storage devices for storing data e.g., magnetic disks, magneto optical disks, optical disks, or solid-state disks. However, a computer need not have such devices. Moreover, another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, etc. may embed a computer. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including, by way of example, semiconductor memory devices (e.g., Erasable Programmable Read-Only Memory (EPROM), Electronically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto optical disks (e.g. Compact Disc Read-Only Memory (CD ROM) disks, Digital Versatile Disk-Read-Only Memory (DVD-ROM) disks) and solid-state disks. Special purpose logic circuitry may supplement or incorporate the processor and the memory.
To provide for interaction with a user, a computer may have a display device, e.g., a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) monitor, for displaying information to the user, and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user may provide input to the computer. Other kinds of devices provide for interaction with a user as well. For example, feedback to the user may be any appropriate form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and a computer may receive input from the user in any appropriate form, including acoustic, speech, or tactile input.
A computing system that includes a back-end component, e.g., a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation, or any appropriate combination of one or more such back-end, middleware, or front-end components, may realize implementations described herein. Any appropriate form or medium of digital data communication, e.g., a communication network may interconnect the components of the system. Examples of communication networks include a Local Area Network (LAN) and a Wide Area Network (WAN), e.g., Intranet and Internet.
The computing system may include clients and servers. A client and server are remote from each other and typically interact through a communication network. The relationship of the client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Embodiments may comprise or utilize a special purpose or general purpose computer including computer hardware. Embodiments within the scope of the present invention may also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any media accessible by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are physical storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example and not limitation, embodiments of the invention can comprise at least two distinct kinds of computer-readable media: physical computer-readable storage media and transmission computer-readable media.
Although the present embodiments described herein are with reference to specific example embodiments it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, hardware circuitry (e.g., Complementary Metal Oxide Semiconductor (CMOS) based logic circuitry), firmware, software (e.g., embodied in a non-transitory machine-readable medium), or any combination of hardware, firmware, and software may enable and operate the various devices, units, and modules described herein. For example, transistors, logic gates, and electrical circuits (e.g., Application Specific Integrated Circuit (ASIC) and/or Digital Signal Processor (DSP) circuit) may embody the various electrical structures and methods.
In addition, a non-transitory machine-readable medium and/or a system may embody the various operations, processes, and methods disclosed herein. Accordingly, the specification and drawings are illustrative rather than restrictive.
Physical computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magnetic disk storage or other magnetic storage devices, solid-state disks or any other medium. They store desired program code in the form of computer-executable instructions or data structures which can be accessed by a general purpose or special purpose computer.
As used herein, the term “network” refers to one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) transfers or provides information to a computer, the computer properly views the connection as a transmission medium. A general purpose or special purpose computer access transmission media that can include a network and/or data links which carry desired program code in the form of computer-executable instructions or data structures. The scope of computer-readable media includes combinations of the above, that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
Further, upon reaching various computer system components, program code in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a Network Interface Module (NIC), and then eventually transferred to computer system RAM and/or to less volatile computer-readable physical storage media at a computer system. Thus, computer system components that also (or even primarily) utilize transmission media may include computer-readable physical storage media.
Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer-executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code. Although the subject matter herein described is in a language specific to structural features and/or methodological acts, the described features or acts described do not limit the subject matter defined in the claims. Rather, the herein described features and acts are example forms of implementing the claims.
While this specification contains many specifics, these do not construe as limitations on the scope of the disclosure or of the claims, but as descriptions of features specific to particular implementations. A single implementation may implement certain features described in this specification in the context of separate implementations. Conversely, multiple implementations separately or in any suitable sub-combination may implement various features described herein in the context of a single implementation. Moreover, although features described herein as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
Similarly, while operations depicted herein in the drawings in a particular order to achieve desired results, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may be integrated together in a single software product or packaged into multiple software products.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. Other implementations are within the scope of the claims. For example, the actions recited in the claims may be performed in a different order and still achieve desirable results. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
Further, a computer system including one or more processors and computer-readable media such as computer memory may practice the methods. In particular, one or more processors execute computer-executable instructions, stored in the computer memory, to perform various functions such as the acts recited in the embodiments.
Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations including personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, etc. Distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks may also practice the invention. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
The following terms and phrases, unless otherwise indicated, shall have the following meanings.
As used herein, the term “sensor module” refers to a unit that contains components or circuits in addition to the sensors. The additional components or circuits make the sensor easy to use. The sensor module may be an integrated circuit comprising additional components and sensors adaptable for an application. The sensor module may comprise one or more sensors that operate functionally together. For example, the one or more cameras and the one or more sensors within the sensor module are integrated with one another to route the seat with safety, comfort, and convenience to the one or more occupants. The sensors within the sensor module operate in an integrated manner to monitor the facial expressions of the one or more occupants with respect to change in the tautness of the one or more seat belts.
As used herein, the term “control module” refers to a unit or a system that makes all the important decisions about the way that it is run. The term “control module” means a component designed to ensure the combined functioning of all components of the vehicle.
As used herein, the term “first characteristics” refers to characteristics of the occupant seats. The first characteristics comprises at least one of one or more seat dimensions, one or more reclining angles, one or more seat belt dimensions, a buckle type, a seat height, and a seat belt fastening position. The first characteristics further comprises operating type (e.g., reclining type, non-reclining type, etc.), foldable information (e.g., foldable type, non-foldable type, semi-foldable type, etc.), operating source (e.g., mechanical, electrical, electronic, hydraulics, etc.), component information (e.g., motors, sensors, actuators, etc.).
As used herein, the term “second characteristic” refers to characteristics of the occupants. The one or more second characteristic comprises at least one of one or more dimensions, one or more facial expressions, one or more gestures, and one or more postures of the one or more body parts. The dimensions comprise height, width, etc. The one or more dimensions comprises at least one of a height, a width, a chest size, a belly width, a torso, an upper body dimension, and a lower body dimension of the one or more occupants. The facial expressions comprise stress due to inconvenience, pleasure, smile, sadness, etc. In an embodiment, the second characteristic comprises one or more sitting positions, one or more sitting manners, etc.
As used herein, the term “tautness” refers to a physical condition of the seat belt being stretched or strained for fastening over the one or more occupants. The tautness refers to the tension of the seat belt while fastening.
As used herein, the term “sensor control module” refers to actuators and basic control logic that acts as either a regulating device, a state-oriented device or a combination that is operated as a single device.
As used herein, the term “occupant” refers to a person seated in the vehicle. The occupant is one of a child, a kid, an adult, and an aged person. The occupant may be a driver, a passenger, etc.
As used herein, the term “occupant seat” refers to a seat in the vehicle. The occupant seat may be a seat in the interior of the vehicle. The occupant seat may also be a seat in the exterior of the vehicle. The occupant seat may also be a child safety seat. The occupant seat may also be a seat integrated within the vehicle. The occupant seat may also be an exterior seat attached to the vehicle. The occupant seat may be a driver seat or passenger seat. The occupant seat may comprise a reclining seat or a non-reclining seat. The occupant seat may be a mechanical operated seat or an electronic operated seat.
As used herein, the term “facial expression” refers to an expression provided by the occupant. The facial expression may refer to a response from the user upon fastening or tightening the seat belt. The occupant may provide a smiling expression when the seat belt is routed with uttermost convenience. The occupant may also provide a painful expression when the seat belt is routed with uttermost tautness that might put pressure or stress on the muscles or body parts of the occupant.
As used herein, the term “interior” refers to one or more inner portions of the vehicle. The term “interior” further refers to one or more portions within the vehicle.
As used herein, the term “seat belt” refers to a strap that is fixed to the seat in a vehicle and that the occupant wears around his/her body so that the occupant is not thrown forward if there is an accident. The seat belt protects the occupant's life from injury and/or death. The seat belt is an arrangement of straps designed to hold a person steady in a seat. The seat belt may be wound over the occupant to hold the person steady. The seat belt may comprise a buckle at one end to fasten or lock the seat belt. The seat belt may also comprise other means at one end to fasten or lock the seat belt.
As used herein, the term “seat belt adjustment unit” refers to a device enabling the seat belt to be adjusted to the requirement of the individual wearer and to the position of the seat. The seat belt adjustment unit comprises an electric reversible retractor (ERR). The “seat belt adjustment unit” may be used to tighten or loosen the seat belt with safety, comfort, and convenience to the occupants. The seat belt adjustment unit is adapted to adjust the tautness of the seat belt automatically and manually in an integrated manner. By getting support from the seat belt adjustment unit for tightening the seat belt, a correct seat installation is easily achieved.
As used herein, the term “electronic unit” refers to a device integrated within the vehicle (e.g., infotainment unit, computing unit with dashboard in the vehicle). The term “electronic unit” refers to a device external to the vehicle (e.g., occupant's smartphone, tablet, computer, laptop, etc.). The electronic unit enables the user to interact with the system and the vehicle. The electronic unit renders a user interface to provide user input regarding adjusting the tautness of the seat belt.
As used herein, the term “external structure” refers to a body shape of the occupants. The external structure refers to a boundary or an outline of the occupants.
As used herein, the term “body parts” refers to a part of the occupant body. The body part may be one of limb, extremity, an organ, a finger, a leg, an internal part, an external part, etc. The body part may also refer to external protrusions from the body.
As used herein, the term “posture” refers to the position or bearing of the body whether characteristic or assumed for a special purpose. The term “posture” may refer to alignment of the body and its segments in certain positions. Examples include sitting, relaxing, and sitting cross-legged.
As used herein, the term “reclining” refers to sitting or lying back in a relaxed and comfortable way. The term “reclining” refers to a position to lean or lie back with the upper part of your body in a nearly horizontal position.
As used herein, the term “buckle” refers to a device attached to the seat belt for fastening or locking the seat belt.
As used herein, the term “route a seat belt” refers to wearing the seat belt over the occupants and fastening it.
As used herein, the term “guiding element” refers to an element that guides the seat belt along a predefined path to route the seat belt over the occupant. The guiding element may comprise a channel like structure that provides the predefined path to route the seat belt. The guiding element may be detached after fastening the seat belt.
As used herein, the term “tolerance level” refers to one of an upper limit or a lower limit extendable beyond or besides the tautness determined for the sake of providing comfort and convenience without sacrificing on the safety of the occupant.
As used herein, the term “virtual seat belt routing model” refers to an imitation of the seat belt routed over the occupant in a digital environment. The virtual seat belt routing model may be a three dimensional model or a two dimensional model.
As used herein, the term “Cryptographic protocol” is also known as security protocol or encryption protocol. It is an abstract or concrete protocol that performs a security-related function and applies cryptographic methods often as sequences of cryptographic primitives. A protocol describes usage of the algorithms. A sufficiently detailed protocol includes details about data structures and representations, to implement multiple, interoperable versions of a program. Cryptographic protocols are widely used for secure application-level data transport. A cryptographic protocol usually incorporates at least some of these aspects: key agreement or establishment, entity authentication, symmetric encryption, and message authentication, secured application-level data transport, non-repudiation methods, secret sharing methods, and secure multi-party computation. Hashing algorithms may be used to verify the integrity of data. Secure Socket Layer (SSL) and Transport Layer Security (TLS), the successor to SSL, are cryptographic protocols that may be used by networking switches to secure data communications over a network.
Secure application-level data transport widely uses cryptographic protocols. A cryptographic protocol usually incorporates at least some of these aspects: key agreement or establishment, entity authentication, symmetric encryption, and message authentication material construction, secured application-level data transport, non-repudiation methods, secret sharing methods, and secure multi-party computation.
Networking switches use cryptographic protocols, like Secure Socket Layer (SSL) and Transport Layer Security (TLS), the successor to SSL, to secure data communications over a wireless network.
As used herein, the term “Unauthorized access” is when someone gains access to a website, program, server, service, or other system using someone else's account or other methods. For example, if someone kept guessing a password or username for an account that was not theirs until they gained access, it is considered unauthorized access.
As used herein, the term “IoT” stands for Internet of Things which describes the network of physical objects “things” or objects embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the internet.
As used herein “Machine learning” refers to algorithms that give a computer the ability to learn without being explicitly programmed, including algorithms that learn from and make predictions about data. Machine learning techniques include, but are not limited to, and support vector machine, artificial neural network (ANN) (also referred to herein as a “neural net”), deep learning neural network, logistic regression, discriminant analysis, random forest, linear regression, rules-based machine learning, Naive Bayes, nearest neighbor, decision tree, decision tree learning, and hidden Markov, etc. For the purposes of clarity, algorithms such as linear regression or logistic regression can also be used as part of a machine learning process. However, it is understood that using linear regression or another algorithm as part of a machine learning process is distinct from performing a statistical analysis such as regression with a spreadsheet program. The machine learning process can continually learn and adjust the classifier as new data becomes available and does not rely on explicit or rules-based programming. The ANN may be featured with a feedback loop to adjust the system output dynamically as it learns from the new data as it becomes available. In machine learning, backpropagation and feedback loops are used to train the AI/ML model improving the model's accuracy and performance over time.
As used herein, the term “Dashboard” is a type of interface that visualizes particular Key Performance Indicators (KPIs) for a specific goal or process. It is based on data visualization and infographics.
As used herein, a “Database” is a collection of organized information so that it can be easily accessed, managed, and updated. Computer databases typically contain aggregations of data records or files.
As used herein, the term “Data set” (or “Dataset”) is a collection of data. In the case of tabular data, a data set corresponds to one or more database tables, where every column of a table represents a particular variable, and each row corresponds to a given record of the data set in question. The data set lists values for each of the variables, such as height and weight of an object, for each member of the data set. Each value is known as a datum. Data sets can also consist of a collection of documents or files.
As used herein, a “Sensor” is a device that detects and measures physical properties from the surrounding environment and converts this information into electrical or digital signals for further processing. Sensors play a crucial role in collecting data for various applications across industries. Sensors may be made of electronic, mechanical, chemical, or other engineering components. Examples include sensors to measure temperature, pressure, humidity, proximity, light, acceleration, orientation etc.
In an embodiment, sensors may be removably or fixedly installed within the vehicle and may be disposed in various arrangements to provide information to the autonomous operation features. The sensors may include one or more of a GPS unit, a radar unit, a LIDAR unit, an ultrasonic sensor, an infrared sensor, an inductance sensor, a camera, an accelerometer, a tachometer, a tension sensor, or a speedometer. Some of the sensors (e.g., radar, LIDAR, or camera units) may actively or passively scan the interior of the vehicle for the presence of occupants (e.g., child, adult, kids, passenger, driver, etc.). Other sensors (e.g., accelerometer, or tachometer units) may provide data for determining the rotational speed of the motors or actuators engaged with the seat belt for determining tautness of the seat belt. Tension sensors may determine the tautness of the seat belt by converting force or weight into an electrical signal.
The term “vehicle” as used herein refers to a thing used for transporting people or goods. Automobiles, cars, trucks, buses, etc., are examples of vehicles.
The term “electronic control unit” (ECU), also known as an “electronic control module” (ECM), is usually a module that controls one or more subsystems. Herein, an ECU may be installed in a car or other motor vehicle. It may refer to many ECUs, and can include but not limited to, Engine Control Module (ECM), Powertrain Control Module (PCM), Transmission Control Module (TCM), Brake Control Module (BCM) or Electronic Brake Control Module (EBCM), Central Control Module (CCM), Central Timing Module (CTM), General Electronic Module (GEM), Body Control Module (BCM), and Suspension Control Module (SCM). ECUs together are sometimes referred to collectively as the vehicles' computer or vehicles' central computer and may include separate computers. In an example, the electronic control unit can be an embedded system in automotive electronics. In another example, the electronic control unit is wirelessly coupled with the automotive electronics.
The terms “non-transitory computer-readable medium” and “computer-readable medium” include a single medium or multiple media such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. Further, the terms “non-transitory computer-readable medium” and “computer-readable medium” include any tangible medium that is capable of storing, encoding, or carrying a set of instructions for execution by a processor that, for example, when executed, cause a system to perform any one or more of the methods or operations disclosed herein. As used herein, the term “computer readable medium” is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals.
The term “Vehicle Data bus” as used herein represents the interface to the vehicle data bus (e.g., CAN, LIN, Ethernet/IP, FlexRay, and MOST) that may enable communication between the Vehicle on-board equipment (OBE) and other vehicle systems to support connected vehicle applications.
The term, “handshaking” refers to an exchange of predetermined signals between agents connected by a communications channel to assure each that it is connected to the other (and not to an imposter). This may also include the use of passwords and codes by an operator. Handshaking signals are transmitted back and forth over a communications network to establish a valid connection between two stations. A hardware handshake uses dedicated wires such as the request-to-send (RTS) and clear-to-send (CTS) lines in an RS-232 serial transmission. A software handshake sends codes such as “synchronize” (SYN) and “acknowledge” (ACK) in a TCP/IP transmission.
The term “infotainment system” or “in-vehicle infotainment system” (IVI) as used herein refers to a combination of vehicle systems which are used to deliver entertainment and information. In an example, the information may be delivered to the driver and the passengers of a vehicle/occupants through audio/video interfaces, control elements like touch screen displays, button panel, voice commands, and more. Some of the main components of an in-vehicle infotainment systems are integrated head-unit, heads-up display, high-end Digital Signal Processors (DSPs), and Graphics Processing Units (GPUs) to support multiple displays, operating systems, Controller Area Network (CAN), Low-Voltage Differential Signaling (LVDS), and other network protocol support (as per the requirement), connectivity modules, automotive sensors integration, digital instrument cluster, etc.
The term “autonomous mode” as used herein refers to an operating mode which is independent and unsupervised.
The term “autonomous communication” as used herein comprises communication over a period with minimal supervision under different scenarios and is not solely or completely based on pre-coded scenarios or pre-coded rules or a predefined protocol. Autonomous communication, in general, happens in an independent and an unsupervised manner. In an embodiment, a communication module is enabled for autonomous communication.
The term “communication system” or “communication module” as used herein refers to a system which enables the information exchange between two points. The process of transmission and reception of information is called communication. The major elements of communication include but are not limited to a transmitter of information, channel or medium of communication and a receiver of information.
The term “connection” as used herein refers to a communication link. It refers to a communication channel that connects two or more devices for the purpose of data transmission. It may refer to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. A channel is used for the information transfer of, for example, a digital bit stream, from one or several senders to one or several receivers. A channel has a certain capacity for transmitting information, often measured by its bandwidth in Hertz (Hz) or its data rate in bits per second. For example, a Vehicle-to-Vehicle (V2V) communication may wirelessly exchange information about the speed, location and heading of surrounding vehicles.
The term “communication” as used herein refers to the transmission of information and/or data from one point to another. Communication may be by means of electromagnetic waves. It is also a flow of information from one point, known as the source, to another, the receiver. Communication comprises one of the following: transmitting data, instructions, and information or a combination of data, instructions, and information. Communication happens between any two communication systems or communicating units. The term “in communication with” may refer to any coupling, connection, or interaction using electrical signals to exchange information or data, using any system, hardware, software, protocol, or format, regardless of whether the exchange occurs wirelessly or over a wired connection. The term communication includes systems that combine other more specific types of communication, such as V2I (Vehicle-to-Infrastructure), V2I (Vehicle-to-Infrastructure), V2N (Vehicle-to-Network), V2V (Vehicle-to-Vehicle), V2P (Vehicle-to-Pedestrian), V2D (Vehicle-to-Device) and V2G (Vehicle-to-Grid) and Vehicle-to-Everything (V2X) communication.
Further, the communication apparatus is configured on a computer with the communication function and is connected for bidirectional communication with the on-vehicle emergency report apparatus by a communication line through a radio station and a communication network such as a public telephone network or by satellite communication through a communication satellite. The communication apparatus is adapted to communicate, through the communication network, with communication terminals.
The term “communication protocol” as used herein refers to standardized communication between any two systems. An example communication protocol is a DSRC protocol. The DSRC protocol uses a specific frequency band (e.g., 5.9 GHz) and specific message formats (such as the Basic Safety Message, Signal Phase and Timing, and Roadside Alert) to enable communications between vehicles and infrastructure components, such as traffic signals and roadside sensors. DSRC is a standardized protocol, and its specifications are maintained by various organizations, including the IEEE and SAE International.
The term “alert” or “alert signal” refers to a communication to attract attention. An alert may include visual, tactile, audible alert, and a combination of these alerts to warn drivers or occupants. These alerts allow receivers, such as drivers or occupants, the ability to react and respond quickly.
As used herein, the term “video analytics” refers to a practical solution for reviewing hours of video (e.g., surveillance video) to identify incidents that are pertinent to what you are looking for. Video analytics is adapted to automatically generate descriptions of what is actually happening in the video (so-called metadata), which can be used to list occupants, seat belt and other objects detected in the video stream (e.g., fastened seat belt, presence of an occupant, postures, gestures, etc.), as well as their appearance and movements.
As used herein, the term “region of interest” refers to a portion of an image that you want to filter or operate on in some way. The region of interest (often abbreviated ROI) is a sample within a data set identified for a particular purpose.
The term “cyber security” as used herein refers to application of technologies, processes, and controls to protect systems, networks, programs, devices, and data from cyber-attacks.
The term “cyber security module” as used herein refers to a module comprising application of technologies, processes, and controls to protect systems, networks, programs, devices and data from cyber-attacks and threats. It aims to reduce the risk of cyber-attacks and protect against the unauthorized exploitation of systems, networks, and technologies. It includes, but is not limited to, critical infrastructure security, application security, network security, cloud security, Internet of Things (IoT) security.
The term “encrypt” used herein refers to securing digital data using one or more mathematical techniques, along with a password or “key” used to decrypt the information. It refers to converting information or data into a code, especially to prevent unauthorized access. It may also refer to concealing information or data by converting it into a code. It may also be referred to as cipher, code, encipher, encode. A simple example is representing alphabets with numbers—say, ‘A’ is ‘01’, ‘B’ is ‘02’, and so on. For example, a message like “HELLO” will be encrypted as “0805121215,” and this value will be transmitted over the network to the recipient(s).
The term “decrypt” used herein refers to the process of converting an encrypted message back to its original format. It is generally a reverse process of encryption. It decodes the encrypted information so that only an authorized user can decrypt the data because decryption requires a secret key or password. This term could be used to describe a method of unencrypting the data manually or unencrypting the data using the proper codes or keys.
The term “cyber security threat” used herein refers to any possible malicious attack that seeks to unlawfully access data, disrupt digital operations, or damage information. A malicious act includes but is not limited to damaging data, stealing data, or disrupting digital life in general. Cyber threats include, but are not limited to, malware, spyware, phishing attacks, ransomware, zero-day exploits, trojans, advanced persistent threats, wiper attacks, data manipulation, data destruction, rogue software, malvertising, unpatched software, computer viruses, man-in-the-middle attacks, data breaches, Denial of Service (DoS) attacks, and other attack vectors.
The term “hash value” used herein can be thought of as fingerprints for files. The contents of a file are processed through a cryptographic algorithm, and a unique numerical value, the hash value, is produced that identifies the contents of the file. If the contents are modified in any way, the value of the hash will also change significantly. Example algorithms used to produce hash values: the Message Digest-5 (MD5) algorithm and Secure Hash Algorithm-1 (SHA1).
The term “integrity check” as used herein refers to the checking for accuracy and consistency of system related files, data, etc. It may be performed using checking tools that can detect whether any critical system files have been changed, thus enabling the system administrator to look for unauthorized alteration of the system. For example, data integrity corresponds to the quality of data in the databases and to the level by which users examine data quality, integrity, and reliability. Data integrity checks verify that the data in the database is accurate, and functions as expected within a given application.
The term “alarm” as used herein refers to a trigger when a component in a system or the system fails or does not perform as expected. The system may enter an alarm state when a certain event occurs. An alarm indication signal is a visual signal to indicate the alarm state. For example, when a cyber security threat is detected, a system administrator may be alerted via sound alarm, a message, a glowing LED, a pop-up window, etc. Alarm indication signal may be reported downstream from a detecting device, to prevent adverse situations or cascading effects.
The term “in communication with” as used herein, refers to any coupling, connection, or interaction using signals to exchange information, message, instruction, command, and/or data, using any system, hardware, software, protocol, or format regardless of whether the exchange occurs wirelessly or over a wired connection.
As used herein, the term “cryptographic protocol” is also known as security protocol or encryption protocol. It is an abstract or concrete protocol that performs a security-related function and applies cryptographic methods often as sequences of cryptographic primitives. A protocol describes how the algorithms should be used. A sufficiently detailed protocol includes details about data structures and representations, at which point it can be used to implement multiple, interoperable versions of a program. Cryptographic protocols are widely used for secure application-level data transport. A cryptographic protocol usually incorporates at least some of these aspects: key agreement or establishment, entity authentication, symmetric encryption, and message authentication material construction, secured application-level data transport, non-repudiation methods, secret sharing methods, and secure multi-party computation. Hashing algorithms may be used to verify the integrity of data. Secure Socket Layer (SSL) and Transport Layer Security (TLS), the successor to SSL, are cryptographic protocols that may be used by networking switches to secure data communications over a network.
As used herein, the term “network” may include the Internet, a local area network, a wide area network, or combinations thereof. The network may include one or more networks or communication systems, such as the Internet, the telephone system, satellite networks, cable television networks, and various other private and public networks. In addition, the connections may include wired connections (such as wires, cables, fiber optic lines, etc.), wireless connections, or combinations thereof. Furthermore, although not shown, other computers, systems, devices, and networks may also be connected to the network. Network refers to any set of devices or subsystems connected by links joining (directly or indirectly) a set of terminal nodes sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. For example, subsystems may comprise the cloud. Cloud refers to servers that are accessed over the Internet, and the software and databases that run on those servers.
The term “autonomous vehicle” also referred to as self-driving vehicle, driverless vehicle, robotic vehicle as used herein refers to a vehicle incorporating vehicular automation, that is, a ground vehicle that can sense its environment and move safely with little or no human input. Self-driving vehicles combine a variety of sensors to perceive their surroundings, such as thermographic cameras, Radio Detection and Ranging (radar), Light Detection and Ranging (lidar), Sound Navigation and Ranging (sonar), Global Positioning System (GPS), odometry and inertial measurement unit. Control systems, designed for the purpose, interpret sensor information to identify appropriate navigation paths, as well as obstacles and relevant signage.
As used herein, the term “semi-autonomous vehicle” refers to vehicles that can operate for extended periods with little human input. A semi-autonomous vehicle cannot drive itself at all times, but does automate some driving functions under ideal conditions like highway driving. A semi-autonomous vehicle may use “autopilot” features. In one embodiment, semi-autonomous vehicles may be able to keep in lane, and they may also be able to park themselves, but they are not self-driving. The semi-autonomous vehicles act independently to some degree.
As used herein the term “connection” as used herein refers to a communication link. It refers to a communication channel that connects two or more devices for the purpose of data transmission. It may refer to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. A channel is used for information transfer of, for example a digital bit stream, from one or several senders to one or several receivers. A channel has a certain capacity for transmitting information, often measured by its bandwidth in Hertz (Hz) or its data rate in bits per second. For example, a Vehicle-to-Vehicle (V2V) communication may wirelessly exchange information about the speed, location and heading of surrounding vehicles.
As used herein, the term “communication” refers to the transmission of information and/or data from one point to another. Communication may be by means of electromagnetic waves. It is also a flow of information from one point, known as the source, to another, the receiver. Communication comprises one of the following: transmitting data, instructions, and information or a combination of data, instructions, and information. Communication happens between any two communication systems or communicating units.
The term “in communication with” may refer to any coupling, connection, or interaction using electrical signals to exchange information or data, using any system, hardware, software, protocol, or format, regardless of whether the exchange occurs wirelessly or over a wired connection. The term communication includes systems that combine other more-specific types of communication, such as V2I (Vehicle-to-Infrastructure), V2I (Vehicle-to-Infrastructure), V2N (Vehicle-to-Network), V2V (Vehicle-to-Vehicle), V2P (Vehicle-to-Pedestrian), V2D (Vehicle-to-Device) and V2G (Vehicle-to-Grid) and Vehicle-to-Everything (V2X) communication. V2X communication is the transmission of information from a vehicle to any entity that may affect the vehicle, and vice versa. The main motivations for developing V2X are occupant safety, road safety, traffic efficiency and energy efficiency. Depending on the underlying technology employed, there are two types of V2X communication technologies: cellular networks and other technologies that support direct device-to-device communication (such as Dedicated Short-Range Communication (DSRC), Port Community System (PCS), Bluetooth®, Wi-Fi®, etc.).
The term “protocol” as used herein refers to a procedure required to initiate and maintain communication; a formal set of conventions governing the format and relative timing of message exchange between two communications terminals; a set of conventions that govern the interaction of processes, devices, and other components within a system; a set of signaling rules used to convey information or commands between boards connected to the bus; a set of signaling rules used to convey information between agents; a set of semantic and syntactic rules that determine the behavior of entities that interact; a set of rules and formats (semantic and syntactic) that determines the communication behavior of simulation applications; a set of conventions or rules that govern the interactions of processes or applications within a computer system or network; a formal set of conventions governing the format and relative timing of message exchange in a computer system; a set of semantic and syntactic rules that determine the behavior of functional units in achieving meaningful communication; a set of semantic and syntactic rules for exchanging information.
The term “communication protocol” as used herein refers to standardized communication between any two systems. An example of a communication protocol is Health Level Seven (HL7). HL7 is a set of international standards used to provide guidance with transferring and sharing data between various healthcare providers. HL7 is a comprehensive framework for the exchange, integration, sharing, and retrieval of health information.
As used herein, the term “component” broadly construes hardware, firmware, and/or a combination of hardware, firmware, and software.
The embodiments described herein can be directed to one or more of a system, a method, an apparatus, and/or a computer program product at any possible technical detail level of integration. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the one or more embodiments described herein. The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. For example, the computer readable storage medium can be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a superconducting storage device, and/or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium can also include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon and/or any suitable combination of the foregoing. A computer readable storage medium, as used herein, does not construe transitory signals per se, such as radio waves and/or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide and/or other transmission media (e.g., light pulses passing through a fiber-optic cable), and/or electrical signals transmitted through a wire.
Computer readable program instructions described herein are downloadable to respective computing/processing devices from a computer readable storage medium and/or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device. Computer readable program instructions for carrying out operations of the one or more embodiments described herein can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, and/or source code and/or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and/or procedural programming languages, such as the “C” programming language and/or similar programming languages. The computer readable program instructions can execute entirely on a computer, partly on a computer, as a stand-alone software package, partly on a computer and/or partly on a remote computer or entirely on the remote computer and/or server. In the latter scenario, the remote computer can be connected to a computer through any type of network, including a local area network (LAN) and/or a wide area network (WAN), and/or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In one or more embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), and/or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the one or more embodiments described herein.
Aspects of the one or more embodiments described herein are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to one or more embodiments described herein. 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. These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer and/or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, can create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein can comprise an article of manufacture including instructions which can implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus and/or other device to cause a series of operational acts to be performed on the computer, other programmable apparatus and/or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus and/or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality and/or operation of possible implementations of systems, computer-implementable methods and/or computer program products according to one or more embodiments described herein. In this regard, each block in the flowchart or block diagrams can represent a module, segment and/or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In one or more alternative implementations, the functions noted in the blocks can occur out of the order noted in the Figures. For example, two blocks shown in succession can be executed substantially concurrently, and/or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and/or combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that can perform the specified functions and/or acts and/or carry out one or more combinations of special purpose hardware and/or computer instructions.
While the subject matter described herein is in the general context of computer-executable instructions of a computer program product that runs on a computer and/or computers, those skilled in the art will recognize that the one or more embodiments herein also can be implemented in combination with one or more other program modules. Program modules include routines, programs, components, data structures, and/or the like that perform particular tasks and/or implement particular abstract data types. Moreover, other computer system configurations, including single-processor and/or multiprocessor computer systems, mini-computing devices, mainframe computers, as well as computers, hand-held computing devices (e.g., PDA, phone), microprocessor-based or programmable consumer and/or industrial electronics and/or the like can practice the herein described computer-implemented methods. Distributed computing environments, in which remote processing devices linked through a communications network perform tasks, can also practice the illustrated aspects. However, stand-alone computers can practice one or more, if not all, aspects of the one or more embodiments described herein. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
As used in this application, the terms “component,” “system,” “platform,” “interface,” and/or the like, can refer to and/or can include a computer-related entity or an entity related to an operational machine with one or more specific functionalities. The entities described herein can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution and a component can be localized on one computer and/or distributed between two or more computers. In another example, respective components can execute from various computer readable media having various data structures stored thereon. The components can communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, which is operated by a software and/or firmware application executed by a processor. In such a case, the processor can be internal and/or external to the apparatus and can execute at least a part of the software and/or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, where the electronic components can include a processor and/or other means to execute software and/or firmware that confers at least in part the functionality of the electronic components. In an aspect, a component can emulate an electronic component via a virtual machine, e.g., within a cloud computing system.
As it is employed in the subject specification, the term “processor” can refer to any computing processing unit and/or device comprising, but not limited to, single-core processors; single-processors with software multi-thread execution capability; multi-core processors; multi-core processors with software multi-thread execution capability; multi-core processors with hardware multi-thread technology; parallel platforms; and/or parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, and/or any combination thereof designed to perform the functions described herein. Further, processors can exploit nano-scale architectures such as, but not limited to, molecular based transistors, switches and/or gates, in order to optimize space usage and/or to enhance performance of related equipment. A combination of computing processing units can implement a processor.
Herein, terms such as “store,” “storage,” “data store,” data storage,” “database,” and any other information storage component relevant to operation and functionality of a component refer to “memory components,” entities embodied in a “memory,” or components comprising a memory. Memory and/or memory components described herein can be either volatile memory or nonvolatile memory or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, and/or nonvolatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM). Volatile memory can include RAM, which can function as external cache memory, for example. By way of illustration and not limitation, RAM can be available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synch link DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM) and/or Rambus dynamic RAM (RDRAM). Additionally, the described memory components of systems and/or computer-implemented methods herein include, without being limited to including, these and/or any other suitable types of memory.
The embodiments described herein include mere examples of systems and computer-implemented methods. It is, of course, not possible to describe every conceivable combination of components and/or computer-implemented methods for purposes of describing the one or more embodiments, but one of ordinary skill in the art can recognize that many further combinations and/or permutations of the one or more embodiments are possible. Furthermore, to the extent that the terms “includes,” “has,” “possesses,” and the like are used in the detailed description, claims, appendices and/or drawings such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
The descriptions of the one or more embodiments are for purposes of illustration but are not exhaustive or limiting to the embodiments described herein. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein best explains the principles of the embodiments, the practical application and/or technical improvement over technologies found in the marketplace, and/or to enable others of ordinary skill in the art to understand the embodiments described herein.
In an aspect, a system is described herein.
The control module 104 comprises a processor 106 and a memory 108 communicatively coupled to the processor 106. The memory 108 stores a sensor control module including computer-readable instructions that when executed by the processor 106 cause the processor to: communicate a first command to the one or more cameras to capture one or more images of one or more interior portions of the vehicle and one or more occupants (at step 112); determine, using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more occupant seats positioned in the interior and one or more second characteristics of the one or more occupants seated in the one or more occupant seats (at step 114); compare the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants (at step 116); in accordance with the comparison of the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants, determine a tautness for the one or more seat belts (at step 118); communicate a second command to a seat belt adjustment unit to automatically actuate and route one or more seat belts with the tautness determined (at step 120); and in accordance with at least one of one or more facial expressions, one or more postures and one or more gestures of the one or more occupants while automatically routing the one or more seat belts, communicate a third command to the seat belt adjustment unit to enable manual adjustment of the one or more seat belts based on a user input received through a user interface of an electronic unit (at step 122). In one embodiment, the processor is operable to communicate step-by-step instructions via an electronic unit to install or fix the occupant seat safely into the vehicle.
In an embodiment, the one or more cameras are positioned in the interior of the vehicle facing the one or more occupant seats and the one or more occupants. The one or more cameras capture the one or more images or one or more videos covering the one or more occupant seats as well as the one or more occupant seats. The processor 106 receives the one or more images from the one or more cameras.
The processor 106, in association with the artificial intelligence module, receives the input as the information acquired by the sensor module (e.g., one or more images of the one or more interior portions of the vehicle and one or more occupants). The processor 106, in association with the artificial intelligence module, analyses the information acquired by the sensor module and determines the one or more first characteristics of one or more occupant seats positioned in the interior and the one or more second characteristics of the one or more occupants seated in the one or more occupant seats as the output. The processor 106, in association with the artificial intelligence module, is capable of transformation and reduction of an article (e.g., images) to a different state or thing (e.g., characteristics or parameters extracted from the one or more images). In an embodiment, the artificial intelligence module may comprise convolution neural networks for image processing. In an embodiment, the artificial intelligence module may employ K-mean and ISODATA. K-means is an unsupervised classification algorithm that groups objects into k groups based on their characteristics. In one embodiment, the artificial intelligence module may also comprise Scale-Invariant Feature Transform (SIFT)-SIFT algorithm. SIFT algorithm is an algorithm in computer vision to detect and describe local features in images. It is a feature that is widely used in image processing. The processes of SIFT include Difference of Gaussians (DoG) Space Generation, Key points Detection, and Feature Description.
In one embodiment, the processor 106, in association with the artificial intelligence module, determining the one or more second characteristics of the one or more occupants seated in the one or more occupant seats comprises the following technical steps. The processor 106 receives the one or more images of the one or more occupants. The processor 106, in association with the artificial intelligence module, outlines an external structure of the one or more occupants in the one or more images. The processor 106, in association with the artificial intelligence module, identifies one or more body parts of the one or more occupants. The processor 106, in association with the artificial intelligence module, outlines the one or more body parts within the external structure of the one or more occupants. The processor 106, in association with the artificial intelligence module, determines the one or more second characteristics of the one or more body parts. In one embodiment, the one or more second characteristics comprises at least one of one or more dimensions, one or more facial expressions, and one or more postures of the one or more body parts. The dimensions comprise height, width, etc. The one or more dimensions comprises at least one of a height, a width, a chest size, a belly width, a torso, an upper body dimensions, and a lower body dimension of the one or more occupants. The facial expressions may be one of stress due to inconvenience, pleasure, smile, sadness, etc. In an embodiment, the second characteristic comprises one or more sitting positions, one or more sitting manners, etc.
In one embodiment, the processor 106, in association with the artificial intelligence module, determining the one or more first characteristics of the one or more occupant seats comprises the following technical steps. The processor 106 receives the one or more images of the one or more occupant seats. The processor 106, in association with the artificial intelligence module, outlines an external structure of the one or more occupant seats in the one or more images. The processor 106, in association with the artificial intelligence module, identifies one or more parts (e.g., seat belt, reclining portion, seating portion, arm rest, belt strap, buckles, etc.) of the one or more occupant seats. The processor 106, in association with the artificial intelligence module, outlines the one or more parts within the external structure of the one or more occupant seats. The processor 106, in association with the artificial intelligence module, determines the one or more first characteristics of the one or more parts. The one or more first characteristics comprises at least one of one or more seat dimensions, one or more reclining angles, one or more seat belt dimensions, a buckle type, a seat height, a seat belt, a seating portion, arm rest, reclining portion, and a seat belt fastening position.
The processor 106 then compares the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants. The processor 106 then determines a tautness for the one or more seat belts, in accordance with the comparison of the one or more first characteristics of the one or more occupant seats with the one or more second characteristics of the one or more occupants. The occupant is one of a child, a kid, an adult, and an aged person. The occupant seat is one of a child safety seat, an adult seat, and an aged person seat. The processor 106 determines the tautness of the one or more seat belts by comparing and analyzing the one or more first characteristics and the one or more second characteristics. The tautness of the one or more seat belts comprises a tension, a force, a position, and a location at which the one or more seat belts is to be fastened.
The processor 106 communicates the tautness to the seat belt adjustment unit to automatically actuate and route one or more seat belts with the tautness determined. In one embodiment, the seat belt adjustment unit comprises one or more motors that route the one or more seat belts via the one or more guiding elements to fasten the one or more seat belts safe and secure with the determined tautness. The guiding element refers to an element that guides the one or more seat belts along a predefined path to route the one or more seat belts over the one or more occupants and fasten the one or more buckles. The guiding element may comprise a channel like structure that provides the predefined path to route the one or more seat belts. The guiding element may be detached after fastening the one or more seat belts. The guiding element may be made of any material (e.g., plastic, polymer, fabric, leather, metal, mesh, etc.).
The sensor module 102 monitors at least one of the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants while automatically routing the one or more seat belts. The processor 106 determines convenience of the one or more occupants based on the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants while automatically routing the one or more seat belts. In an embodiment, the processor compares the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants with one or more prestored facial expressions, one or more prestored postures and one or more prestored gestures respectively and determines the convenience of the one or more occupants. The processor 106 then categorizes and records the one or more prestored facial expressions, the one or more prestored postures and the one or more prestored gestures under one or more categories. In one embodiment, the one or more categories comprises a luxurious category, a medium convenient category, and an inconvenient category.
In one embodiment, the processor determines a convenience score of the one or more occupants in accordance with matching of the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants with one or more prestored facial expressions, one or more prestored postures and one or more prestored gestures respectively stored under the one or more categories. The processor 106 communicates the third command to the seat belt adjustment unit to enable manual adjustment of the one or more seat belts through the user interface of the electronic unit when the convenience score is less than a predefined threshold. In an embodiment, the electronic unit renders the user interface upon enablement of the manual adjustment of the one or more seat belts. The user interface enables a user to manually actuate the seat belt adjustment unit via the electronic unit to adjust the tautness of the one or more seat belts to a subsequent tautness depending on the convenience of the one or more occupants. In one embodiment, the seat belt adjustment unit adjusts the tautness of the one or more seat belts to one of a first tolerance level, a second tolerance level and a third tolerance level based on the user input received through the user interface of the electronic unit. In another embodiment, the seat belt adjustment unit adjusts the tautness of the one or more seat belts to one of a user specific tolerance level based on the user input received through the user interface of the electronic unit. The electronic unit comprises an infotainment unit. The electronic unit refers to a device integrated within the vehicle (e.g., infotainment unit, computing unit with dashboard in the vehicle, etc.). In an embodiment, the electronic unit refers to a device external to the vehicle (e.g., occupant's smartphone, tablet, computer, laptop, etc.). The electronic unit enables the user to interact with the system and the vehicle. The electronic unit renders a user interface to provide user input regarding adjusting the tautness of the seat belt. The electronic unit may be communicatively coupled to the vehicle wired and/or wireless. The electronic unit may also be associated with the one or more occupant seats.
The system enables fastening the one or more seat belts in an integrated way of both automated as well as manual adjustment. In an embodiment, the processor 106 determines the one or more first characteristics and the one or more second characteristics from the information acquired by the sensor module. The processor 106 compares the one or more first characteristics and the one or more second characteristics and determines the tautness for the one or more seat belts. The processor 106 then communicates to the seat belt adjustment unit to automatically route the one or more seat belts over the one or more occupants with the determined tautness in the one or more occupant seats. Each seat belt may be routed with different tautness over each occupant in the occupant seat. The sensor module, while automatically routing the one or more seat belts over the one or more occupants, monitors facial expressions of the one or more occupants and based on the facial expressions communicates to the seat belt adjustment unit to enable manual adjustment. The system thus provides automated and manual adjustment in an integrated manner to ensure safety, comfort and convenience to the one or more occupants.
Once the one or more seat belts are fastened with safety, comfort, and convenience, the processor 106 communicates a fifth command to the seat belt adjustment unit to detach the one or more seat belts upon receiving the user input through the user interface of the electronic unit. The processor 106 may communicate a fifth command to the seat belt adjustment unit to detach the one or more seat belts when the convenience score is less than a predefined threshold.
In an embodiment, the processor is operable to communicate step-by-step instructions via the electronic unit to install the child safety seat safely into the vehicle. The electronic unit displays the step-by-step instructions to the occupant to install the child safety seat. In an embodiment, the electronic unit provides step-by-step voice instructions via speakers within the vehicle to the occupant to install the child safety seat. The child safety seat has to be securely fixed to ensure the safety, comfort, and convenience of the occupant (e.g., child).
The sensor module 302 can be mounted exterior to the vehicle. Examples include one or more cameras. The sensor module 302 may be mounted on the occupant seat itself. Examples include one of one or more weight sensors, one or more seat belt tension sensors, one or more force sensors, and one or more proximity sensors.
Sensors such as one or more infrared sensors, one or more Light Detection and Ranging (LIDAR) sensors, and one or more ultrasonic sensors emit signals over their surroundings. The occupant seat may be within the surroundings of the signal emitted. When an occupant occupies the occupant seat, the occupants interrupt the signal. The sensors detect the presence of the occupant when the signal is interrupted (e.g., there is a delay in the reception of the signal).
Sensors such as weights sensors may be associated with the bottom of the occupant seat. When the occupant sits on the occupant seat, the weight sensor senses the load and detects the presence of the occupant. Sensors such as force sensors, tension sensors, capacitive load cells, resistive load cells may be mounted on the seat belt. When the seat belt is routed, the seat belt stretches and therefore the sensors residing on the seat belt experience elasticity and based on the elasticity, the sensors determine the presence of the occupant.
The sensor module comprising the one or more cameras may capture the one or more images of the occupant seat along with the seat belt. The processor monitors the distance between the one or more reference points 405A-Ns. The processor, in association with the artificial intelligence module, performs image analytics and determines the tautness of the seat belt based on the distance between the one or more reference points 405A-N in the seat belt when routed.
In an embodiment, the processor in association with the artificial intelligence module detects the presence of the occupant based on the distance between the one or more reference points 405A-N in the seat belt. For example, when there is no occupant on the occupant seat, the seat belt is not stretched and therefore the distance between the one or more reference points 405A-N in the seat belt do not vary. In this case, the processor in association with the artificial intelligence module determines that there is no occupant on the occupant seat. In another example, when there is an occupant on the occupant seat, the seat belt is stretched and therefore the distance between the one or more reference points 405A-N in the seat belt vary. In this case, the processor in association with the artificial intelligence module determines that there is an occupant on the occupant seat. In an embodiment, the processor in association with the artificial intelligence module is capable of determining the presence of particular occupant X based on the distance between the one or more reference points 405A-N in the seat belt. The artificial intelligence module comprises a machine learning module that learns the distance between the or more reference points 405A-N for each occupant. The processor in association with the artificial intelligence module is capable of determining the presence of particular occupant X when the distance between the or more reference points 405A-N in the seat belt is the same as the distance as the occupant X. In addition to that, the processor in association with the artificial intelligence module recognizes a facial identity from the image to further confirm the occupant present on the occupant seat is X.
In an embodiment, the sensor module comprises the one or more ultrasonic sensors. The one or more ultrasonic sensors emit signals to its surroundings that hits the occupant seat and the seat belt. The signals upon contacting the one or more reference points 405A-N in the seat belt are reflected back to the sensor module. The sensor module then detects the presence of the patient when the signal is received back by the receiver upon hitting the one or more reference points 405A-N in the seat belt.
In an aspect, a method is described herein.
The method further comprises: communicating step-by-step instructions via the electronic unit to install the one or more occupant seats safely into the vehicle. In one embodiment, the method further comprises: determining, via a sensor module, a presence of the one or more occupants on the one or more occupant seats respectively.
In one embodiment, determining the one or more second characteristics of the one or more occupants seated in the one or more occupant seats comprises: receiving the one or more images of the one or more occupants; outlining an external structure of the one or more occupants in the one or more images; identifying one or more body parts of the one or more occupants; outlining the one or more body parts within the external structure of the one or more occupants; and determining the one or more second characteristics of the one or more body parts.
In one embodiment, the method further comprises: determining the tautness of the seat belt comprises comparing and analyzing the one or more first characteristics and the one or more second characteristics. The method further comprises: communicating the tautness to the seat belt adjustment unit to automatically actuate and route a seat belt with the tautness determined. The method further comprises: monitoring, via a sensor module, at least one of the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants while automatically routing the seat belt. The method further comprises: determining, via the processor, convenience of the one or more occupants based on the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants while automatically routing the seat belt. The method further comprises: comparing, via the processor, the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants with one or more prestored facial expressions, one or more prestored postures and one or more prestored gestures respectively and determines the convenience of the one or more occupants.
In one embodiment, the method further comprises: categorizing and recording, via the processor, the one or more prestored facial expressions, the one or more prestored postures and the one or more prestored gestures under one or more categories. The one or more categories comprises a luxurious category, a medium convenient category, and an inconvenient category.
In an embodiment, the method further comprises: determining, via the processor, a convenience score of the one or more occupants in accordance with matching of the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants with one or more prestored facial expressions, one or more prestored postures and one or more prestored gestures respectively stored under the one or more categories. The method further comprises: communicating, via the processor, the third command to the seat belt adjustment unit to enable manual adjustment of the seat belt through the user interface of the electronic unit when the convenience score is less than a predefined threshold. The method further comprises: enabling, via the user interface of the electronic unit, a user to manually actuate the seat belt adjustment unit to adjust the tautness of the seat belt to a subsequent tautness depending on the convenience of the one or more occupants. The method further comprises: adjusting, via the seat belt adjustment unit, the tautness of the seat belt to one of a first tolerance level, a second tolerance level and a third tolerance level based on the user input received through the user interface of the electronic unit. In an embodiment, the method further comprises: adjusting, via the seat belt adjustment unit, the tautness of the seat belt to one of a user specific tolerance level based on the user input received through the user interface of the electronic unit.
The method may further comprise: communicating, via the processor, a fifth command to the seat belt adjustment unit to detach the seat belt fastened upon receiving the user input through the user interface of the electronic unit. In one embodiment, the method comprises: communicating, via the processor, a fifth command to the seat belt adjustment unit to detach the seat belt fastened when the convenience score is less than a predefined threshold.
In a separate embodiment, the processor of the control module communicates a first command to the one or more cameras to capture one or more images of one or more interior portions of the vehicle and one or more occupants. The processor determines, using information acquired by the sensor module, via an artificial intelligence module, one or more first characteristics of one or more occupant seats positioned in the interior and one or more second characteristics of the one or more occupants seated in the one or more occupant seats. The processor also determines whether the seat belt is worn over/fastened over the occupant in the occupant seat. The seat belt may be manually worn by the occupant, caretaker, etc. The sensor module determines the tautness of the seat belt worn. The sensor module may comprise at least one of cameras, force sensor, tension sensor, capacitive load cell, resistive load cell, etc. The processor in association with the artificial intelligence module determines the one or more first characteristics and one or more second characteristics. The processor in association with the artificial intelligence module analyses the one or more first characteristics and one or more second characteristics and the tautness of the seat belt worn by the occupant and determines whether tautness is to be adjusted. The processor in association with the artificial intelligence module analyses the one or more facial expressions captured in the images and further confirms whether the tautness is to be adjusted. The processor in association with the artificial intelligence module, once determined whether the tautness is to be adjusted, communicates the command to the seat belt adjustment unit to automatically adjust (either tighten or loosen) the seat belt.
In another aspect, a non-transitory computer readable medium is described.
The non-transitory computer readable medium further causes: communication of step-by-step instructions via the electronic unit to install the one or more occupant seats safely into the vehicle. The non-transitory computer readable medium when executed by the processor causes: determination of a presence of the one or more occupants on the one or more occupant seats respectively.
In one embodiment, the non-transitory computer readable medium, determining the one or more second characteristics of the one or more occupants seated in the one or more occupant seats, causes the system to: receive the one or more images of the one or more occupants; outline an external structure of the one or more occupants in the one or more images; identify one or more body parts of the one or more occupants; outline the one or more body parts within the external structure of the one or more occupants; and determine the one or more second characteristics of the one or more body parts.
In an embodiment, the non-transitory computer readable medium, determining the tautness of the seat belt, causes: comparing and analyzing the one or more first characteristics and the one or more second characteristics. The non-transitory computer readable medium, determining the tautness of the seat belt, causes: communicating the tautness to the seat belt adjustment unit to automatically actuate and route a seat belt with the tautness determined.
The non-transitory computer readable medium determining the tautness of the seat belt causes: monitoring at least one of the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants while automatically routing the seat belt. The non-transitory computer readable medium, determining the tautness of the seat belt, causes: determining convenience of the one or more occupants based on the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants while automatically routing the seat belt. The non-transitory computer readable medium, determining the tautness of the seat belt, causes: comparing the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants with one or more prestored facial expressions, one or more prestored postures and one or more prestored gestures respectively and determines the convenience of the one or more occupants.
The non-transitory computer readable medium, determining the tautness of the seat belt, causes: categorizing and recording the one or more prestored facial expressions, the one or more prestored postures and the one or more prestored gestures under one or more categories. In one embodiment, the one or more categories comprises a luxurious category, a medium convenient category, and an inconvenient category. The non-transitory computer readable medium, determining the tautness of the seat belt, causes: determining a convenience score of the one or more occupants in accordance with matching of the one or more facial expressions, the one or more postures and the one or more gestures of the one or more occupants with one or more prestored facial expressions, one or more prestored postures and one or more prestored gestures respectively stored under the one or more categories. The non-transitory computer readable medium determining the tautness of the seat belt causes: communicating the third command to the seat belt adjustment unit to enable manual adjustment of the seat belt through the user interface of the electronic unit when the convenience score is less than a predefined threshold. The non-transitory computer readable medium determining the tautness of the seat belt causes: enabling a user to manually actuate the seat belt adjustment unit to adjust the tautness of the seat belt to a subsequent tautness depending on the convenience of the one or more occupants. The non-transitory computer readable medium determining the tautness of the seat belt causes: adjusting, via the seat belt adjustment unit, the tautness of the seat belt to one of a first tolerance level, a second tolerance level and a third tolerance level based on the user input received through the user interface of the electronic unit. In one embodiment, the non-transitory computer readable medium determining the tautness of the seat belt causes: adjusting, via the seat belt adjustment unit, the tautness of the seat belt to one of a user specific tolerance level based on the user input received through the user interface of the electronic unit.
The non-transitory computer readable medium determining the tautness of the seat belt may cause: communicating a fifth command to the seat belt adjustment unit to detach the seat belt fastened upon receiving the user input through the user interface of the electronic unit. In one embodiment, the non-transitory computer readable medium determining the tautness of the seat belt causes: communicating a fifth command to the seat belt adjustment unit to detach the seat belt fastened when the convenience score is less than a predefined threshold.
At step 708, the processor enables the seat belt adjustment unit to manually adjust the tautness of the seat belt by interacting with an electronic unit. The occupant may interact with the electronic unit to adjust the tautness of the seat belt. The processor, in association with the artificial intelligence module, determines whether the tautness is suitable to the characteristics of the occupant. At step 710, the processor, in association with the artificial intelligence module, enables automated adjustment of the seat belt tautness, when the tautness of the seat belt is not suitable to the characteristics of the occupant. At step 712, the sensor module determines the tautness of the seat belt and the facial expressions of the occupant to determine whether the seat belt is routed over the occupant with safety, comfort, and convenience.
The sensors 805 may be associated with the occupant seat belt. In an embodiment, the sensors 805 may be facing towards the seat to monitor the routing or tautness of the seat belt. The seat belt adjustment unit 803 may be communicatively coupled to the occupant seat, and the control module 807. The control module 807 comprising the processor may communicate commands to the seat belt adjustment unit 803 to activate automated routing and adjustment of the seat belt tautness. The control module 807 comprising the processor may also communicate commands to the electronic unit to render the user interface to enable manual adjustment. The control module 807, in response to the user inputs received via the user interface of the electronic unit, adjusts the tautness of the seat belt.
In another aspect, a system is described.
The processor is operable to communicate a fourth command to a seat belt adjustment unit to automatically adjust the one or more seat belts when the score is less than a threshold value. In one embodiment, the processor is operable to communicate a fifth command to enable manual adjustment of the one or more seat belts based on a user input received through a user interface of the electronic unit. In one embodiment, the seat belt adjustment unit comprises an electric reversible retractor (ERR).
In an embodiment, the one or more sensors comprises one or more tension sensors, one or more flex sensors, one or more force sensors, one or more resistive load cells, and one or more capacitive load cells. In one embodiment, the one or more sensors are located in an interior of the vehicle. In another embodiment, the one or more sensors are located along the one or more seat belts. In another embodiment, the one or more sensors comprise one or more cameras capturing one of one or more images and one or more videos of the one or more seat belts routed over the one or more occupants.
In one embodiment, the one or more seat belts comprise one or more reference points within the one or more seat belts. In an embodiment, the one or more cameras, using an artificial intelligence module, determines distance between the one or more reference points. The processor, using the artificial intelligence module, determines the tautness of the one or more seat belts based on the distance between the one or more reference points. The distance between the one or more reference points varies when the tautness of the one or more seat belts varies.
In one embodiment, the sensor module comprises one or more capacitive load cells. A capacitive load cell of the one or more capacitive load cells comprises a first capacitive plate at a first end of the one or more seat belts and a second capacitive plate at a second end of the one or more seat belt. In an embodiment, the one or more seat belts when routed over the one or more occupants experience a tautness that alters distance between the first capacitive plate and the second capacitive plate. The distance altered between the first capacitive plate and the second capacitive plate alters the capacitance, wherein the altered capacitance is measured as the tautness.
In another aspect, a method is described herein.
The method further comprises: communicate a fourth command to a seat belt adjustment unit to automatically adjust the one or more seat belts when the score is less than a threshold value. In one embodiment, the method further comprises: communicate a fifth command to enable manual adjustment of the one or more seat belts based on a user input received through a user interface of the electronic unit. In one embodiment, the seat belt adjustment unit comprises an electric reversible retractor (ERR).
The one or more sensors comprises one or more tension sensors, one or more flex sensors, one or more force sensors, one or more resistive load cells, and one or more capacitive load cells. In one embodiment, the one or more sensors are located in an interior of the vehicle. In one embodiment, the one or more sensors are located along the one or more seat belts. In another embodiment, the one or more sensors comprise one or more cameras capturing one of one or more images and one or more videos of the one or more seat belts routed over the one or more occupants.
In one embodiment, the one or more seat belts comprise one or more reference points within the one or more seat belts. In an embodiment, the one or more cameras, using an artificial intelligence module, determines distance between the one or more reference points. The method further comprises: determining, using the artificial intelligence module, the tautness of the one or more seat belts based on the distance between the one or more reference points. The distance between the one or more reference points varies when the tautness of the one or more seat belts varies.
In an embodiment, the non-transitory computer readable medium further causes: communicate a fourth command to a seat belt adjustment unit to automatically adjust the one or more seat belts when the score is less than a threshold value. In another embodiment, the non-transitory computer readable medium further causes: communicate a fifth command to enable manual adjustment of the one or more seat belts based on a user input received through a user interface of the electronic unit.
In an embodiment of the system, the machine learning model is configured to learn using labelled data using a supervised learning method, wherein the supervised learning method comprises logic using at least one of a decision tree, a logistic regression, a support vector machine, a k-nearest neighbors, a Naïve Bayes, a random forest, a linear regression, a polynomial regression, and a support vector machine for regression.
In an embodiment of the system, the machine learning model is configured to learn from the real-time data using an unsupervised learning method, wherein the unsupervised learning method comprises logic using at least one of a k-means clustering, a hierarchical clustering, a hidden Markov model, and an apriori algorithm.
In an embodiment of the system, the machine learning model has a feedback loop, wherein the output from a previous step is fed back to the model in real-time to improve the performance and accuracy of the output of a next step.
In an embodiment of the system, the machine learning model comprises a recurrent neural network model.
In an embodiment of the system, the machine learning model has a feedback loop, wherein the learning is further reinforced with a reward for each true positive of the output of the system.
In an embodiment, ANNs may be a Deep-Neural Network (DNN), which is a multilayer tandem neural network comprising Artificial Neural Networks (ANN), Convolution Neural Networks (CNN) and Recurrent Neural Networks (RNN) that can recognize features from inputs, do an expert review, and perform actions that require predictions, creative thinking, and analytics. In an embodiment, ANNs may be Recurrent Neural Network (RNN), which is a type of Artificial Neural Networks (ANN), which uses sequential data or time series data. Deep learning algorithms are commonly used for ordinal or temporal problems, such as language translation, Natural Language Processing (NLP), speech recognition, and image recognition, etc. Like feedforward and convolutional neural networks (CNNs), recurrent neural networks utilize training data to learn. They are distinguished by their “memory” as they take information from prior input via a feedback loop to influence the current input and output. An output from the output layer in a neural network model is fed back to the model through the feedback. The variations of weights in the hidden layer(s) will be adjusted to fit the expected outputs better while training the model. This will allow the model to provide results with far fewer mistakes.
The neural network is featured with the feedback loop to adjust the system output dynamically as it learns from the new data. In machine learning, backpropagation and feedback loops are used to train an AI model and continuously improve it upon usage. As the incoming data that the model receives increases, there are more opportunities for the model to learn from the data. The feedback loops, or backpropagation algorithms, identify inconsistencies and feed the corrected information back into the model as an input.
Even though the AI/ML model is trained well, with large sets of labelled data and concepts, after a while, the models' performance may decline while adding new, unlabelled input due to many reasons which include, but not limited to, concept drift, recall precision degradation due to drifting away from true positives, and data drift over time. A feedback loop to the model keeps the AI results accurate and ensures that the model maintains its performance and improvement, even when new unlabelled data is assimilated. A feedback loop refers to the process by which an AI model's predicted output is reused to train new versions of the model.
Initially, when the AI/ML model is trained, a few labelled samples comprising both positive and negative examples of the concepts (for e.g., seat belt tautness) are used that are meant for the model to learn. Afterward, the model is tested using unlabelled data. By using, for example, deep learning and neural networks, the model can then make predictions on whether the desired concept/s (for e.g., tautness, convenience score, score, to be detected) are in unlabelled images. Each image is given a probability score where higher scores represent a higher level of confidence in the models' predictions. Where a model gives an image a high probability score, it is auto labelled with the predicted concept. However, in the cases where the model returns a low probability score, this input may be sent to a controller (may be a human moderator) which verifies and, as necessary, corrects the result. The human moderator may be used only in exceptional cases. The feedback loop feeds labelled data, auto-labelled or controller-verified, back to the model dynamically and is used as training data so that the system can improve its predictions in real-time and dynamically.
In an embodiment, the system further comprises a cyber security module wherein the cyber security module comprises an information security management module providing isolation between the communication module and servers.
In an embodiment, the information security management module is operable to: receive data from the communication module, exchange a security key at a start of the communication between the communication module and the server, receive the security key from the server, authenticate an identity of the server by verifying the security key, analyze the security key for a potential cyber security threat, negotiate an encryption key between the communication module and the server, encrypt the data, and transmit the encrypted data to the server when no cyber security threat is detected.
In an embodiment, the information security management module is operable to exchange a security key at a start of the communication between the communication module and the server, receive the security key from the server, authenticate an identity of the server by verifying the security key, analyze the security key for a potential cyber security threat, negotiate an encryption key between the system and the server, receive encrypted data from the server, decrypt the encrypted data, perform an integrity check of the decrypted data, and transmit the decrypted data to the communication module when no cyber security threat is detected.
In an embodiment, the system may comprise a cyber security module.
In one aspect, a secure communication management (SCM) computer device for providing secure data connections is provided. The SCM computer device includes a processor in communication with memory. The processor is programmed to receive, from a first device, a first data message. The first data message is in a standardized data format. The processor is also programmed to analyze the first data message for potential cyber security threats. If the determination is that the first data message does not contain a cyber security threat, the processor is further programmed to convert the first data message into a first data format associated with the vehicle environment and transmit the converted first data message to the vehicle system using a first communication protocol associated with the vehicle system.
According to an embodiment, secure authentication for data transmissions comprises, provisioning a hardware-based security engine (HSE) located in communications system, said HSE having been manufactured in a secure environment and certified in said secure environment as part of an approved network; performing asynchronous authentication, validation and encryption of data using said HSE, storing user permissions data and connection status data in an access control list used to define allowable data communications paths of said approved network, enabling communications of the communications system with other computing system subjects to said access control list, performing asynchronous validation and encryption of data using security engine including identifying a user device (UD) that incorporates credentials embodied in hardware using a hardware-based module provisioned with one or more security aspects for securing the system, wherein security aspects comprising said hardware-based module communicating with a user of said user device and said HSE.
In an embodiment,
In an embodiment, the cyber security module further comprises an information security management module providing isolation between the system and the server.
In an embodiment,
In an embodiment, the integrity check is a hash-signature verification using a Secure Hash Algorithm 256 (SHA256) or a similar method.
In an embodiment, the information security management module is configured to perform asynchronous authentication and validation of the communication between the communication module and the server.
In an embodiment, the information security management module is configured to raise an alarm if a cyber security threat is detected. In an embodiment, the information security management module is configured to discard the encrypted data received if the integrity check of the encrypted data fails.
In an embodiment, the information security management module is configured to check the integrity of the decrypted data by checking accuracy, consistency, and any possible data loss during the communication through the communication module.
In an embodiment, the server is physically isolated from the system through the information security management module. When the system communicates with the server as shown in
In an embodiment, the identity authentication is realized by adopting an asymmetric key with a signature.
In an embodiment, the signature is realized by a pair of asymmetric keys which are trusted by the information security management module and the system, wherein the private key is used for signing the identities of the two communication parties, and the public key is used for verifying that the identities of the two communication parties are signed. Signing identity comprises a public and a private key pair. In other words, signing identity is referred to as the common name of the certificates which are installed in the user's machine.
In an embodiment, both communication parties need to authenticate their own identities through a pair of asymmetric keys, and a task in charge of communication with the information security management module of the system is identified by a unique pair of asymmetric keys.
In an embodiment, the dynamic negotiation key is encrypted by adopting an Rivest-Shamir-Adleman (RSA) encryption algorithm. RSA is a public-key cryptosystem that is widely used for secure data transmission. The negotiated keys include a data encryption key and a data integrity check key.
In an embodiment, the data encryption method is a Triple Data Encryption Algorithm (3DES) encryption algorithm. The integrity check algorithm is a Hash-based Message Authentication Code (HMAC-MD5-128) algorithm. When data is output, the integrity check calculation is carried out on the data, the calculated Message Authentication Code (MAC) value is added with the header of the value data message, then the data (including the MAC of the header) is encrypted by using a 3DES algorithm, the header information of a security layer is added after the data is encrypted, and then the data is sent to the next layer for processing. In an embodiment the next layer refers to a transport layer in the Transmission Control Protocol/Internet Protocol (TCP/IP) model.
The information security management module ensures the safety, reliability, and confidentiality of the communication between the system and the server through the identity authentication when the communication between the two communication parties starts the data encryption and the data integrity authentication. The method is particularly suitable for an embedded platform which has less resources and is not connected with a Public Key Infrastructure (PKI) system and can ensure that the safety of the data on the server cannot be compromised by a hacker attack under the condition of the Internet by ensuring the safety and reliability of the communication between the system and the server.
The embodiments described herein include mere examples of systems and computer-implemented methods. It is, of course, not possible to describe every conceivable combination of components and/or computer-implemented methods for purposes of describing the one or more embodiments, but one of ordinary skill in the art can recognize that many further combinations and/or permutations of the one or more embodiments are possible. Furthermore, to the extent that the terms “includes,” “has,” “possesses,” and the like are used in the detailed description, claims, appendices and/or drawings such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
Other specific forms may embody the present invention without departing from its spirit or characteristics. The described embodiments are in all respects illustrative and not restrictive. Therefore, the appended claims rather than the description herein indicate the scope of the invention. All variations which come within the meaning and range of equivalency of the claims are within their scope.