Patent Description:
The present disclosure relates generally to automated navigation systems, and more specifically to a self-aware visual-textual co-grounded navigation agent.

A Vision-and-Language Navigation (VLN) task entails a robot or other mobile automated system following navigational instruction in an unknown environment. In the VLN task, an agent is placed in an unknown realistic environment and is required to follow natural language instructions to navigate the mobile automated system from its starting location to a goal location. In contrast to other navigation situations, a technical problem with a VLN task is that the agent does not have an explicit representation of the target (e.g., location in a map or image representation of the goal) to know if the goal has been reached or not. Instead, the agent needs to be aware of its navigation status through the association between the sequence of observed visual inputs to instructions.

Documents "<NPL>ET AL and "<NPL> ET AL disclose visual grounding of navigation instructions. Document <CIT> discloses instruction grounding identifying feasible commands.

In the figures, elements having the same designations have the same or similar functions.

This description and the accompanying drawings that illustrate aspects, embodiments, implementations, or applications should not be taken as limiting-the claims define the protected invention. In some instances, well-known circuits, structures, or techniques have not been shown or described in detail as these are known to one skilled in the art.

In this description, specific details are set forth describing some embodiments consistent with the present disclosure. Numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It will be apparent, however, to one skilled in the art that some embodiments may be practiced without some or all of these specific details. The specific embodiments disclosed herein are meant to be illustrative but not limiting. In addition, to avoid unnecessary repetition, one or more features shown and described in association with one embodiment may be incorporated into other embodiments unless specifically described otherwise or if the one or more features would make an embodiment non-functional.

<FIG> is a simplified diagram of a computing device <NUM> according to some embodiments. According to some embodiments, computing device <NUM> may be used to implement an agent that can provide computer instructions to a robot or other mobile automated system for navigating in an unknown environment. In some embodiments, computing device <NUM> may be incorporated into the robot or automated system. In some embodiments, the computing device may be separate from the robot or automated system, but in communication with the same, for example, over wireless signaling, to exchange data, information, and control.

The computing device <NUM> can receive instructions <NUM> for instructing the robot or automated system to navigate in its current environment. An example of such instructions can be: "Exit the bedroom and go towards to the table. Go to the stairs on the left of the couch. Wait on the third step. " These instructions can be in the in the form of text or speech provided, for example, by a human user. The computing device <NUM> can also receive visual information <NUM>, for example, in the form of images captured by a camera in the robot or mobile automated system. The computing device <NUM> processes both the navigation instructions <NUM> and visual information <NUM>, and generates next action and progress results <NUM> for controlling the robot or mobile automated system.

According to some embodiments, the computing device <NUM> implements or participates in the implementation of a Vision-and-Language (VLN) navigation task, which requires the agent to follow natural language instructions to navigate through a photo-realistic environment without a map. In the VLN task, an agent is placed in an unknown realistic environment and is required to follow natural language instructions to navigate from its starting location to a goal location. Different from existing navigation tasks, the agent does not have an explicit representation of the target (e.g., location in a map or image representation of the goal) to know if the goal has been reached or not.

As shown in <FIG>, computing device <NUM> includes a processor <NUM> coupled to memory <NUM>. Operation of computing device <NUM> is controlled by processor <NUM>. And although computing device <NUM> is shown with only one processor <NUM>, it is understood that processor <NUM> may be representative of one or more central processing units, multi-core processors, microprocessors, microcontrollers, digital signal processors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), graphics processing units (GPUs), tensor processing units (TPUs), and/or the like in computing device <NUM>. Computing device <NUM> may be implemented as a stand-alone subsystem, as a board added to a computing device, and/or as a virtual machine.

Memory <NUM> may be used to store software executed by computing device <NUM> and/or one or more data structures used during operation of computing device <NUM>. Memory <NUM> may include one or more types of machine readable media. Some common forms of machine readable media may include floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read.

Processor <NUM> and/or memory <NUM> may be arranged in any suitable physical arrangement. In some embodiments, processor <NUM> and/or memory <NUM> may be implemented on a same board, in a same package (e.g., system-in-package), on a same chip (e.g., system-on-chip), and/or the like. In some embodiments, processor <NUM> and/or memory <NUM> may include distributed, virtualized, and/or containerized computing resources. Consistent with such embodiments, processor <NUM> and/or memory <NUM> may be located in one or more data centers and/or cloud computing facilities.

Referring again to the example, <FIG> illustrates the Vision-and-Language (VLN) navigation task for the instructions "Exit the bedroom and go towards the table. Go to the stairs on the left of the couch. Wait on the third step. " Given this instruction, in some embodiments, the navigation agent of the present disclosure first needs to locate which instruction is needed for the next movement, which in turn requires the agent to be aware of (e.g., to explicitly represent or have an attentional focus on) which instructions were completed or are ongoing. For instance, the action "Go to the stairs" should be carried out once the agent has exited the room and moved towards the table. However, there exists inherent ambiguity for the action "go towards the table. " That is, while the agent is expected to control or direct the robot or mobile automated system to perform the action of "Go to the stairs" after completing the action of "go towards the table," it is not clear what defines the completion of "go towards the table. " Therefore, it is necessary for the agent to be aware of both the past and the next part of the instructions to follow them smoothly. Indeed, assessing the progress made towards the goal has been shown to be important for goal-directed tasks in human decision-making. While a number of approaches have been proposed for VLN, previous approaches for VLN generally are not aware of which instruction is next nor the progress towards the goal.

To address this, according to some embodiments, the navigation agent implemented by computing device <NUM> is provided or equipped with self-awareness, which provides or supports the following abilities: (<NUM>) identifying which direction to go or proceed by determining the part of the instruction that corresponds to the observed images-visual grounding, (<NUM>) identifying which part of the instruction has been completed or ongoing and which part is potentially needed for the next action selection-textual grounding, and (<NUM>) ensuring that the grounded instruction can correctly be used to estimate the progress made towards the goal, and apply regularization to ensure this -progress monitoring.

In some embodiments, both visual and textual grounding are achieved simultaneously by incorporating the full history of grounded instructions (e.g., based on or derived from navigation instructions <NUM>), observed images (e.g., visual information <NUM>), and selected actions into the navigation agent. The navigation agent leverages the structural bias between the words in the instructions used for action selection and the progress made towards the goal. A new objective function for the agent is proposed or provided to measure how well the agent can estimate the completion of instruction-following. By conditioning on the positions and weights of grounded instruction as input, the navigation agent can be self-aware of its progress and further ensure that the textual grounding accurately reflects the progress made.

To implement this, in some embodiments, as shown in <FIG>, memory <NUM> includes a textual grounding module <NUM>, a visual grounding module <NUM>, a progress monitor module <NUM>, and an action selection module <NUM>. In some embodiments, any, up to all, of textual grounding module <NUM>, visual grounding module <NUM>, progress monitor module <NUM>, and action selection module <NUM> may include or be implemented with a single- or multi-layer neural network, with suitable pre-processing, encoding, decoding, and output layers. Neural networks have demonstrated great promise as a technique for automatically analyzing real-world information with human-like accuracy. In general, neural network models receive input information and make predictions based on the input information. For example, a neural network classifier may predict a class of the input information among a predetermined set of classes. Whereas other approaches to analyzing real-world information may involve hard-coded processes, statistical analysis, and/or the like, neural networks learn to make predictions gradually, by a process of trial and error, using a machine learning process. A given neural network model may be trained using a large number of training examples, proceeding iteratively until the neural network model begins to consistently make similar inferences from the training examples that a human might make.

In some embodiments, the agent-implemented with textual grounding module <NUM>, visual grounding module <NUM>, progress monitor module <NUM>, and action selection module <NUM>-is modeled with sequence-to-sequence architecture with attention by using one or more recurrent neural networks (RNNs). In some embodiments, the RNN can use or be implemented with Long Short Term Memory (LSTM) to effectively carry the flow of information.

And although textual grounding module <NUM>, visual grounding module <NUM>, progress monitor module <NUM>, and action selection module <NUM> are depicted as software modules, they may be implemented using hardware, software, and/or a combination of hardware and software.

While <FIG> is a high-level diagram, <FIG> illustrates more details for the co-grounded navigation agent according to some embodiments. And <FIG> shows a corresponding method <NUM> for the co-grounded navigation agent according to some embodiments. Although <FIG> suggests an ordering to processes <NUM>-<NUM>, it is understood that the processes may be performed in other orders. For example, in some embodiments, processes <NUM> and <NUM> may be performed in any order and/or concurrently.

<FIG> is a simplified diagram of a navigation agent <NUM> according to some embodiments. In some embodiments, the navigation agent <NUM> can implement the navigation agent of the computing device <NUM> described with respect to <FIG>.

As shown, the navigation agent <NUM> comprises textual grounding module <NUM>, visual grounding module <NUM>, progress monitor module <NUM>, and action selection module <NUM> which in some embodiments, can be implementations for the textual grounding module <NUM>, visual grounding module <NUM>, progress monitor module <NUM>, and action selection module <NUM> of <FIG>.

In some embodiments, navigation agent <NUM> may comprise one or more neural networks, which can implement one or more of the textual grounding module <NUM>, visual grounding module <NUM>, progress monitor module <NUM>, and action selection module <NUM>, or be in addition to, or separate from those modules. The one or more neural networks implement or operate as encoder and decoder to process the various information and other items received by, and generated within, the navigation agent <NUM>. This includes, but is not limited to, the navigation instructions, observed images (e.g., visual information), and information for actions taken by the robot or mobile automated system.

In some embodiments, the navigation agent <NUM> performs co-grounding on visual and textual signals or information for the VLN task-visual grounding from instructions helps the agent <NUM> to determine the right direction, whereas textual grounding implicitly enables the navigation agent <NUM> to know which part of the instruction is completed and which is needed to proceed. Co-grounding provides useful information for the navigation agent <NUM> to be self-aware, continually monitoring its progress toward a desired goal-e.g., such as the completion of the set of navigations instructions for the robot or mobile automated system.

In some embodiments, the navigation agent <NUM> is modeled with a sequence-to-sequence architecture with attention by using a recurrent neural network (RNN). In some embodiments, as shown in <FIG>, such RNN is implemented with one or more encoding elements, which separately or take together implement a Long Short Term Memory (LSTM) <NUM> to carry the flow of information effectively. The LSTM <NUM> receives operates or processes (e.g., decodes) information or elements from, among other things, the textual grounding module <NUM> and the visual grounding module <NUM>. In some embodiments, the navigation agent <NUM> is enabled with panoramic view (for example, as described in more detail in <NPL>, which is incorporated by reference herein).

With respect to notation, given a natural language instruction (e.g., <NUM>) with L words, its representation is denoted by X = {x<NUM>, x<NUM>,. , xL}, where xl is the feature vector for the l-th word encoded by an LSTM language encoder. At each time step t, the navigation agent <NUM> perceives a set of images at each viewpoint vt = {vt,<NUM>, vt,<NUM>,. , vt,K}, where K is the maximum number of navigable directions, and vt,k represents the image feature of direction k. The co-grounding feature of instruction and image are denoted as x̂t and v̂t respectively. The selected action is denoted as at. The learnable weights are denoted with W, with appropriate sub/super-scripts as necessary. In some embodiments, the bias term b can be omitted to avoid notational clutter in the exposition.

At each time step t, the LSTM <NUM> (decoder) observes representations of the current attended panoramic image or visual grounding feature v̂t, previous selected action at-<NUM> and current grounded instruction feature x̂t as input, and outputs an encoder context or hidden state ht: <MAT> where [,] denotes concatenation. The previous encoder context ht-<NUM> is used to obtain the textual grounding feature x̂t and visual grounding feature v̂t, whereas the current encoder context ht can be used to obtain next action at, as described herein.

Navigation agent <NUM> receives as input navigation instructions (process <NUM> of <FIG>)-e.g., "Exit the bedroom and go towards to the table. Go to the stairs on the left of the couch. Wait on the third step. " In particular, the textual grounding module <NUM> receives and operates on the navigation instructions. When the agent <NUM> moves from one viewpoint to another, it is required to identify which direction to go by relying on grounded instruction, i.e., which parts of the instruction should be used. This can either be the instruction matched with the past (ongoing action at-<NUM>) or predicted for the future (next action at). In some embodiments, the textual grounding module <NUM> performs natural language processing (NLP) on the instructions <NUM>. NLP is one class of problems to which neural networks may be applied. NLP can be used to instill new neural networks with an understanding of individual words and phrases.

Based on the received navigation instructions, textual grounding module <NUM> generates an instruction grounding (process <NUM> of <FIG>). Textual grounding module <NUM> identifies which part of an instruction has been completed or ongoing and which part is outstanding, and thus potentially needed for the next action. To capture the relative position between words within an instruction, in some embodiments, textual grounding module <NUM> performs or incorporates positional encoding PE(. ) (as described in more detail, for example, in <NPL>, which is incorporated by reference herein) into the instruction features. Textual grounding module <NUM> then performs soft-attention (e.g., softmax) on the instruction features X, as shown on the left side of <FIG>. The attention distribution over L words of the instructions is computed as: <MAT> where Wx are parameters to be learned, <MAT> is a scalar value computed as the correlation between word l of the instruction and previous hidden state ht-<NUM>, and αt is the attention weight over features in instructions X at time t. Based on the textual attention distribution, the grounded textual feature x̂t can be obtained by the weighted sum over the textual features x̂t = αTX.

In some embodiments, the embedding dimension for encoding the navigation instruction is <NUM>. The navigation agent can use a dropout layer with ratio <NUM> after the embedding layer. The instruction can be encoded using a regular LSTM, and the hidden state is <NUM> dimensional. The MLP g used for projecting the raw image feature is BN → FC → BN → Dropout → ReLU. The FC layer projects the <NUM>-d input vector to a <NUM>-d vector, and the dropout ratio is set to be <NUM>. The hidden state of the LSTM used for carrying the textual and visual information through time in Eq. <NUM> is <NUM>. The maximum length of instruction is set to be <NUM>, thus the dimension of the attention weights of textual grounding αt is also <NUM>. The dimension of the learnable matrices from Eq. <NUM> to <NUM> are: Wx ∈ R<NUM>×<NUM>, Wv ∈ R<NUM>×<NUM>, Wa ∈ R<NUM>×<NUM>, Wh ∈ R<NUM>×<NUM> , and Wh ∈ R<NUM>×<NUM>.

In order to locate the completed or ongoing instruction, the navigation agent <NUM> should keep track of the sequence of images observed along the navigation trajectory. To accomplish this, the navigation agent <NUM> receives visual information (process <NUM> of <FIG>). The visual grounding module <NUM> operates on the visual information vt, which can be in the form of one or more images from a camera, e.g., provided on the robot or automated system. The visual grounding module <NUM> generates visual grounding (process <NUM> of <FIG>). To make a decision on which direction to go, the navigation agent <NUM>, using visual grounding module <NUM>, finds the image features on navigable directions with the highest correlation with the grounded navigation instruction.

In some embodiments, visual grounding module <NUM> can use the pre-trained ResNet-<NUM> on ImageNet to extract image features. Each image feature is thus a <NUM>-d vector. The embedded feature vector for each navigable direction is obtained by concatenating an appearance feature with a <NUM>-d orientation feature [sinφ; cosφ; sinθ; cosθ], where φ and θ are the heading and elevation angles. The <NUM>-dim orientation features are tiled <NUM> times (as described in more detail in Fried et al. , <NUM>), resulting in an embedding feature vector with <NUM> dimension.

In some embodiments, visual grounding module <NUM> performs visual attention over the surrounding views based on its previous hidden vector ht-<NUM>. The visual attention weight βt can be obtained as: <MAT> where g is a two-layer Multi-Layer Perceptron (MLP), Wv are parameters to be learnt. Similar to Eq. <NUM>, the grounded visual feature v̂t can be obtained by the weighted sum over the visual features <MAT>.

Navigation agent <NUM> generates an action for navigation (process <NUM> of <FIG>). In particular, action selection module <NUM> identifies, determines, generates, or selects an action at for the robot or automated system to take (e.g., which direction to go). To make a decision on the action, in some embodiments, the action selection module <NUM> identifies or finds the image features on navigable directions with the highest correlation with the grounded navigation instruction x̂t and the current hidden state ht. In some embodiments, the action selection module <NUM> uses the inner-product to compute the correlation, and the probability of each navigable direction is then computed as: <MAT> where Wa are the learned parameters, g(. ) is the same Multi-Layer Perceptron (MLP) as in Eq. <NUM>, and pt is the probability of each navigable direction at time t. The action selection module <NUM> uses categorical sampling during training to select the next action at.

Unlike other methods with the panoramic view, which attend to instructions only based on the history of observed images, the navigation agent <NUM> achieves both textual and visual grounding using the shared hidden state output containing, derived, or based on grounded information from both textual and visual modalities. In some embodiments, during action selection, action selection module <NUM> relies on both hidden state output and grounded instruction, instead of only relying on grounded instruction.

According to some embodiments, one or both of LSTM <NUM> and action selection module <NUM> taken together with the textual grounding module <NUM> and the visual grounding module <NUM> support, allow for, or provide visual-textual co-grounding to identify or determine the navigation instruction completed in the past, the navigation instruction needed in the next action, and the moving direction from surrounding images. As such, such combination of these elements can form a visual-textual co-grounding module.

In some embodiments, the textual-grounding should correctly or accurately reflect the progress (e.g., that the robot or mobile automated system is making) towards the goal, since the navigation agent <NUM> can then implicitly know where it is now and what the next instruction to be completed will be. With the visual-textual co-grounding, navigation agent <NUM> can ensure that the grounded instruction reasonably informs decision making when selecting a navigable direction. This may be necessary, but not sufficient, for ensuring that the notion of progress to the goal is encoded.

Thus, according to some embodiments, the navigation agent <NUM> may monitor the progress of the robot or mobile automated system towards its goal (process <NUM> of <FIG>). For this, navigation agent <NUM> may include or incorporate a progress monitor module <NUM>. The progress monitor module <NUM> can serve as regularizer during training and intelligently prunes unfinished trajectories during inference.

Since the positions of localized instruction can be a strong indication of the navigation progress due to the structural alignment bias between navigation steps and instruction, the progress monitor module <NUM> can estimate how close the current viewpoint is to the final goal by conditioning on the positions and weights of grounded instruction. This can further enforce the result of textual-grounding to align with the progress made towards the goal and to ensure the correctness of the textual-grounding.

In some embodiments, the progress monitor module <NUM> aims to estimate the navigation progress by conditioning on three inputs: the history of grounded images and instructions, the current observation of the surrounding images, and the positions of grounded instructions. We therefore represent these inputs by using (<NUM>) the previous hidden state ht-<NUM> and the current cell state ct of the LSTM <NUM>, (<NUM>) the grounded surrounding images v̂t, and (<NUM>) the distribution of attention weights of textual-grounding αt, as shown at the bottom of <FIG>. For this, the progress monitor module <NUM> receives input from each of the textual grounding module <NUM> and visual grounding module <NUM>.

In some embodiments, the progress monitor module <NUM> first computes an additional hidden state output <MAT> by using grounded image representations v̂t as input, similar to how a regular LSTM computes hidden states except it uses concatenation over element-wise addition for empirical reasons. The hidden state output is then concatenated with the attention weights αt on textual-grounding to estimate how close the navigation agent <NUM> is to the goal. The output of the progress monitor <MAT>, which represents the completeness of instruction-following, is computed as: <MAT> where Wh and Wpm are the learned parameters, ct is the cell state of the LSTM <NUM>, ⊗ denotes the element-wise product, and σ is the sigmoid function.

<FIG> shows an example of the navigation agent <NUM> of the present disclosure operating to instruct a robot or mobile automated system to carry out navigation instructions-e.g., "Walk up stairs. At top of stairs turn right. Walk straight to bedroom. Turn left and walk to bed lamp. Turn left and enter closet. " The self-aware agent <NUM> successfully navigates in an unseen environment. The agent <NUM> starts from starting position and follows the instruction towards the goal. The percentage of instruction completeness estimated by the proposed progress monitor gradually increases as the agent <NUM> navigates and approaches to the desired goal.

According to some embodiments, a new objective function is used to train the progress monitor module <NUM>. The training target <MAT> is defined as the normalized distance from the current viewpoint to the goal, i.e., the target will be <NUM> at the beginning and closer to <NUM> as the navigation agent <NUM> approaches the goal. Note that the target can also be lower than <NUM>, if the navigation agent's current distance from the goal is farther than the starting point. Finally, the self-aware agent <NUM> is optimized with two cross-entropy losses, computed with respect to the outputs from both action selection and progress monitor. <MAT> where pk,t is the action probability of each navigable direction, λ = <NUM>:<NUM> is the weight balancing the two losses, and <MAT> is the ground-truth navigable direction at step t.

In some embodiments, use ADAM can be used as the optimizer during training. The learning rate is <NUM>e - <NUM> with batch size of <NUM> consistently throughout all experiments. When using beam search, the beam size is set to be <NUM>. Categorical sampling can be performed during training for action selection.

In some embodiments, during inference, the navigation agent <NUM> can use or employ beam search (as described in more detail in Fried et al. In particular, while the navigation agent <NUM> decides which trajectories in the beams to keep, it is equally important to evaluate the state of the beams on actions as well as on the agent's confidence in completing the given instruction at each traversed viewpoint. This is accomplished by integrating the output of progress monitor module <NUM> into the accumulated probability of beam search. At each step, when candidate trajectories compete based on accumulated probability, the estimated completeness of instruction-following <MAT> is integrated with action probability pk,t to directly evaluate the partial and unfinished candidate routes: <MAT>.

In some embodiments, the navigation agent <NUM> can be evaluated using the Room-to-Room (R2R) dataset, as further described in more detail in <NPL>, which is incorporated by reference. The R2R dataset has <NUM>,<NUM> paths, with each path having three ground-truth navigation instructions written by humans. The whole dataset is divided into <NUM> sets: training, validation seen, validation unseen, and test sets unseen.

For evaluation, the same metrics used by previous work on the R2R task are followed: (<NUM>) Navigation Error (NE), mean of the shortest path distance in meters between the navigation agent's final position and the goal location; (<NUM>) Success Rate (SR), the percentage of final positions less than <NUM> away from the goal location; and (<NUM>) Oracle Success Rate (OSR), the success rate if the navigation agent can stop at the closest point to the goal along its trajectory.

The self-aware navigation agent <NUM> of the present disclosure is compared with various existing approaches-e.g., Student-forcing (Anderson et al. , <NUM>), RPA (<NPL>), and Speaker-Follower (Fried et al. As shown in the table of <FIG>, the navigation agent <NUM> of the present disclosure (and its corresponding method) achieve significant performance improvement compared to the state of the art without data augmentation. The agent <NUM> achieves <NUM>% SR on the seen environment and <NUM>% on the unseen environment while the best performing existing method achieved <NUM>% and <NUM>% SR, respectively. When trained with synthetic data2, the agent and method of the present disclosure achieve slightly better performance on the seen environments and significantly better performance on both the validation unseen environments and the test unseen environments when submitted to the test server. The agent and method of the present disclosure achieve <NUM>% and <NUM>% improvement on SR on both validation and test unseen environments. Both results with or without data augmentation indicate that agent and method of the present disclosure are more generalizable to unseen environments.

Textually grounded agent. Intuitively, an instruction-following agent is required to strongly demonstrate the ability to correctly focus and follow the corresponding part of the instruction as it navigates through an environment. Thus, in some embodiments, the distribution of attention weights on instruction are recorded at each step as indications of which parts of the instruction are being used for action selection. All runs are averaged across both validation seen and unseen dataset splits. It is expected that the distribution of attention weights lies close to a diagonal, where at the beginning, the agent <NUM> focuses on the beginning of the instruction and shifts its attention towards the end of instruction as it moves closer to the goal.

To demonstrate, the method with panoramic action space (proposed in Fried et al. , <NUM>) is used as a baseline for comparison. The self-aware navigation agent <NUM> with progress monitor demonstrates that the positions of grounded instruction over time form a line similar to a diagonal. This result may further indicate that the agent successfully utilizes the attention on instruction to complete the task sequentially. Both the baseline approach and the navigation agent <NUM> of the present disclosure were able to focus on the first part of the instruction at the beginning of navigation consistently. However, as the agents move further in unknown environments, the self-aware agent <NUM> can still successfully identify the parts of instruction that are potentially useful for action selection, whereas the baseline approach becomes uncertain about which part of the instruction should be used for selecting an action.

<FIG> illustrates an example table for an ablation study. In particular, this table shows the effect of each component of the navigation agent <NUM>-co-grounded, progress monitoring, and data augmentation-compared to the existing approaches. All methods use a panoramic action space. The model from with panoramic action space (proposed in Fried et al. , <NUM>) is implemented as a baseline.

Co-grounding. When comparing the baseline approach with row #<NUM> in the navigation agent <NUM> and method of the present disclosure, it can be seen that the co-grounding agent <NUM> outperformed the baseline by a large margin. This is due to the fact that the navigation agent <NUM> uses the LSTM to carry both the textually and visually grounded content, and the decision on each navigable direction is predicted with both textually grounded instruction and the hidden state output of the LSTM. On the other hand, the baseline agent relies on the LSTM to carry visually grounded content, and uses the hidden state output for predicting the textually grounded instruction. As a result, it is observed that instead of predicting the instruction needed for selecting a navigable direction, the textually grounded instruction may match with the past sequence of observed images implicitly saved within the LSTM.

Progress monitor. The output of the progress monitor is integrated with the state-factored beam search (Fried et al. , <NUM>), so that the candidate paths compete not only based on the probability of selecting a certain navigable direction but also on the estimated correspondence between the past trajectory and the instruction. As seen by comparing row #<NUM> with #<NUM> in the table of <FIG>, the progress monitor significantly improved the success rate on both seen and unseen environments and is the key for surpassing the state of the art even without data augmentation.

Data augmentation. In the above, it is shown that each row in the approach of the present disclosure contributes to the performance. Each of them increases the success rate and reduces the navigation error incrementally. By further combining them with the data augmentation pre-trained from the speaker (Fried et al. , <NUM>), the SR and OSR are further increased, and the NE is also drastically reduced. Interestingly, the performance improvement introduced by data augmentation is smaller than from Speaker-Follower on the validation sets (see Table of <FIG> for comparison). This demonstrates that the navigation agent and method of the present disclosure are more data-efficient.

To further validate the agent and method of the present disclosure, it is qualitatively shown how the agent <NUM> navigates through unseen environments by following instructions as illustrated in <FIG>. In each figure, the self-aware agent <NUM> follows the grounded instruction (at the top of the figure) and decides to move towards a certain direction (arrow).

Consider the trajectory on the left side in <FIG>, at step <NUM>, the grounded instruction illustrated that the agent <NUM> just completed "turn right" and focuses mainly on "walk straight to bedroom. " As the agent <NUM> entered the bedroom, it then shifts the textual grounding to the next action "Turn left and walk to bed lamp. " Finally, at step <NUM>, the agent <NUM> completed another "turn left" and successfully stops at the rug. Consider the example on the right side, the agent <NUM> has already entered the hallway and now turns right to walk across to another room. However, it is ambiguous as to which room the instruction is referring. At step <NUM>, the navigation agent <NUM> checked out the room on the left first and realized that it does not match with "Stop in doorway in front of rug. " It then moves to the next room and successfully stops at the goal.

In both cases illustrated in <FIG>, it can be seen that the completeness estimated by progress monitor gradually increases as the agent <NUM> steadily navigates toward the goal.

Thus, a self-aware agent for navigating a mobile automated system is disclosed herein. According to some embodiments, the navigation agent includes two complementary modules: a visual-textual co-grounding module and a progress monitor module. The visual-textual co-grounding module identifies or determines the navigation instruction completed in the past, the navigation instruction needed in the next action, and the moving direction from surrounding images. The progress monitor module regularizes and ensures the grounded instruction correctly or accurately reflects the progress towards the goal by explicitly estimating the completeness of instruction-following. This estimation is conditioned on the positions and weights of grounded instruction. Experiments have shown that this approach sets a new state-of-the-art performance on the standard Room-to-Room dataset on both seen and unseen environments.

This description and the accompanying drawings that illustrate inventive aspects, embodiments, implementations, or applications should not be taken as limiting. In some instances, well-known circuits, structures, or techniques have not been shown or described in detail in order not to obscure the embodiments of this disclosure.

Claim 1:
A computing device comprising:
a memory containing machine readable medium storing machine executable code; and
one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to:
generate, by a textual grounding module, an instruction grounding from a training navigation instruction sample for instructing a mobile automated system to navigate an environment in which the mobile automated system is located;
generate, by a visual grounding module, a visual grounding from one or more training images observed for the environment as the mobile automated system is navigating therethrough;
generate, by a neural model, a progress monitor probability in response to an input of the instruction grounding and the visual grounding;
compute an action probability of navigation directions based on a hidden state of the neural model and the instruction grounding;
compute a loss objective based at least in part on a first cross entropy between the progress monitor probability and a ground-truth progress label, and a second cross-entropy between the action probability and a ground-truth navigable direction, wherein the loss objective is computed as a linear combination of the first cross-entropy and the second cross-entropy with a weighting parameter adjusting a ratio between the first cross-entropy and the second cross-entropy; and
update the neural model based on the loss objective.