{'fraction_non_alphanumeric': 0.028294619578099076, 'fraction_numerical': 0.012473334913486608, 'mean_word_length': 4.689986513823331, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Reconstructing and grounding narrated instructional videos in 3D

Narrated instructional videos often show and describe manipulations of similar objects, e.g., repairing a particular model of a car or laptop. In this work we aim to reconstruct such objects and to localize associated narrations in 3D. Contrary to the standard scenario of instance-level 3D reconstruction, where identical objects or scenes are present in all views, objects in different instructional videos may have large appearance variations given varying conditions and versions of the same product. Narrations may also have large variation in natural language expressions. We address these challenges by three contributions. First, we propose an approach for correspondence estimation combining learnt local features and dense flow. Second, we design a two-step divide and conquer reconstruction approach where the initial 3D reconstructions of individual videos are combined into a 3D alignment graph. Finally, we propose an unsupervised approach to ground natural language in obtained 3D reconstructions. We demonstrate the effectiveness of our approach for the domain of car maintenance. Given raw instructional videos and no manual supervision, our method successfully reconstructs engines of different car models and associates textual descriptions with corresponding objects in 3D.


Introduction
Imagine you need to perform a task on a product you own, such as replacing the drum unit in your laser printer or re-filling the coolant fluid tank in your car, but you don't know how to proceed. In the past few years, instructional videos have become a popular internet resource for learning how to perform such kind of tasks. However, finding the answer to this particular problem would require search- Figure 1: Illustration of the proposed method. Given a set of instructional videos showing the same object (e.g. same car model), we propose a two-step 3D reconstruction approach where, first, each video is independently reconstructed (R) and, second, reconstructions are aligned (A) in a single model. Using the reconstructed 3D model together with the narrations from each individual video and no manual supervision, we learn a language grounding model (G) that can determine the corresponding 3D region for a given text query such as "air filter".
ing for the appropriate video, identifying the key steps, and finally, putting it into practice by performing the right sequence of actions involving the correct object parts at the right locations. Wouldn't it be great to have a virtual assistant guide you through the steps in augmented reality showing you which tasks to perform and where to perform them? In order to produce such an assistant, a method for relating natural language to the actual 3D objects in the world is needed. In this work we show that it is possible to obtain 3D reconstructions and to learn associations between natural language and corresponding 3D locations (3D language grounding) using raw instructional videos and no manual annotations.
In the past, instructional videos have proven to be a useful source of data for learning to temporally localize a set of actions in a video strip, given the set of action labels (i.e. weakly-supervised temporal action localization) [26,3,18,35,36,40,24,56,11]. This is useful for downstream tasks such as video summarization or video retrieval. However, with the advent of smartphones and headsets equipped with 3D sensors the problem of spatial action localization in 3D gains relevance [8,27,33,22]. While raw video data is useful to learn visual representations of actions, it is difficult to directly learn about 3D structure from 2D frame data. Therefore, in order to solve the problem of spatial action localization in 3D, a suitable 3D spatial representation of the object and the scene are necessary. However, producing a 3D reconstruction from a set of narrated instructional videos presents several challenges.
In recent years, significant progress has been made in the field of 3D reconstruction. Structure-from-motion (SfM) pipelines [39,32,51,44,31] leverage robust local features for obtaining correspondences between images despite large illumination and viewpoint changes. This has allowed to perform 3D reconstruction from unstructured photo-collections from the web, where images may be taken months or years apart [43,14,1]. However, the task of reconstructing a set of narrated instructional videos poses some additional challenges. First, besides the large illumination and viewpoint changes, these videos may contain significant appearance changes. This is due to the fact that, while the objects that appear in different videos belong to the same brand and model, they might present variations due to different options or sub-versions of the same product. Therefore, obtaining correspondences between such videos is an intermediate problem between traditional instance-level matching (the same physical object is imaged) [25,20,43] and category-level matching (semantically related objects are imaged, such as two different species of dogs) [16,37,38,30]. Despite the robustness of the local descriptors used in current SfM pipelines, these are not designed to handle such strong appearance changes and therefore are prone to failure. As a second challenge, because the computational cost of 3D reconstruction grows quadratically with the number of total frames, jointly reconstructing a set of many videos may be unfeasible, or may impose a strong limit in the number of frames to be sampled from each video.
In this work we address the above difficulties and propose a method that is (i) capable of finding correspondences across instructional videos despite the large appearance changes, and (ii) reduces the global computational complexity of 3D reconstruction by reconstructing each video independently and then combining the results. Given the obtained 3D reconstructions and corresponding video narrations, we next learn 3D language grounding. Our approach to 3D language grounding leverages both narrations and visual information in instructional videos to associate the input text to different parts of the 3D scene, and doesn't require manual supervision (see Fig. 1).
Contributions. In summary, our contributions are the following. I. We develop an approach for correspondence estimation that combines the strengths of local features and dense flow in order to obtain reliable matches across instructional videos. II. We propose a two-step 3D reconstruction approach that reduces the overall computational complexity by reconstructing each video independently, and then combining the results into a 3D alignment graph as a proxy to a single aligned 3D reconstruction. We evaluate obtained reconstructions on the task of keypoint transfer. III. We propose an unsupervised method, that makes use of the obtained 3D models and narrations in instructional videos to learn language grounding in 3D.

Related work
3D reconstruction. The standard approach to obtain a 3D reconstruction from a set of images is to employ an incremental or global structure-from-motion pipeline such as COLMAP [39], Theia [44], VisualSfM [51] or Open-MVG [32]. In all cases, the first step is to find correspondences between the set of input images. This is typically done using local features such as SIFT [25], which are robust to moderate changes in illumination and viewpoint present in instance-level 3D reconstruction. In this work, we propose a different 3D reconstruction approach targeted to the reconstruction of narrated instructional videos, which have the additional challenge of large appearance changes due to differences in sub-versions of the same object type or due to different conditions of conservation (wear, cleanliness, etc.) Learning from instructional videos. Learning from instructional videos has been recently addressed in the context of problems such as action discovery [3,36,40,24,11] and localization [18,35,54,56], modeling of object states [4] and visual reference resolution [19,17]. A particular attention has been drawn to the narrated instructional videos, i.e. instructional videos, accompanied by comments in the form of natural language. It was shown, that narrations in such videos generally describe the visual content and can be used as an additional guidance for learning the visual models [26,3,56], or for joint modeling of video and language [29,28,55]. In this work, we make use of narration for object grounding in 3D, assuming that object mentions in narration coincide with their appearance on the screen.
Related to our work, Damen et al., [9] consider the problem of task-relevant object discovery from videos. Unlike [9] we don't aim for a discovery of objects, and only attempt to localize objects in the 3D scene. On the other hand we consider a more general setup: our videos depict different object instances in uncontrolled scenarios and are sourced from a mix of egocentric and third-person cameras.
Visual language grounding. Visual language grounding requires associations between the text the most relevant parts of an image. A standard approach to this task involves learning a joint embedding of language and visual data and comparing the similarity between the text and image regions in the joint embedding space [21,48,49,47,6]. Most works focus on learning to ground language in images in supervised settings, where the regions of images, relevant to the input text are provided at training time. On the contrary, [53,12,52] consider weakly-supervised scenario where only the correspondences between text and images are provided during training, while the exact regions, where the text is grounded, are unknown.
Closer to our work, Russell et al. [7] attempt to localize text from Wikipedia articles in a 3D scene. This work focuses on museum scenes and the objects, such as paintings and frescos. This is done in two steps. First, an object caption is used as a query to search for related images with Google image search. Retrieved images are then registered to the 3D scene and their extents are used as a clue for object localization in 3D. The authors of this work leverage the photographer's bias, i.e. the fact that objects of interest are usually perfectly framed by the extents of the image. Our solution for the 3D text grounding is based on a similar observation. However, we focus on instructional videos and unlike [7], we use the same video data both for reconstruction and for language grounding, and don't rely on query expansion via external image search.

3D reconstruction of instructional videos
In this section we present our approach for reconstructing narrated instructional videos in 3D. In order to address the limitations of the standard instance-level 3D reconstruction pipeline (i.e. limited robustness to appearance changes and large computational complexity) we propose an approach based on the divide and conquer strategy, where each video is reconstructed independently and then the resulting 3D models are combined into a 3D alignment graph that allows to obtain a final consistent model. In this way we have two advantages over the joint reconstruction approach. First, only a few correspondences are needed across different videos, in order to estimate the similarity transformation that aligns the 3D models reconstructed from each video. Second, the computational complexity of the 3D reconstruction is reduced from O(n 2 N 2 ) to O(N 2 ), where N is the number of frames sampled from each video, and n is the number of videos. In the following sections, we describe in detail our approach for reconstructing instructional videos in 3D. An overview of the approach is presented in Fig. 2.

Per-video reconstruction
In order to avoid the large computational complexity and matching challenges of joint 3D reconstruction, we reconstruct each video independently. For each video, we proceed in the following way. First, N video frames is the set of 2D key-point positions, and N L is the number of extracted local features. Then, exhaustive matching is performed between the features of every video frame v i . Only matches that are mutually nearest-neighbors are retained. Finally, these matches are input into an SfM pipeline to produce a 3D model represented as a cloud of 3D points ..,Np for the given set of video frames 1 . An illustration of this approach is presented in Fig. 2a.

Formation of frame-pairs across videos
Once every video is independently reconstructed, the goal is to align them to a common frame of reference, which involves estimating a 3D similarity transformation. Then, given a pair of videos (v A , v B ), the first step involves estimating a candidate set of matching video frames in the form where i and j are the frame indices of matching frames of v A and v B respectively. In order to achieve this, we follow the approach that is typically used for image retrieval. This consists of, first, extracting image-

Establishing 2D correspondences between videos
Once candidate matching frames are established, the next step consists of robustly estimating 2D-2D correspondences between them. In order to handle the large appearance differences that may be present in these two frames, we propose to use a combination of learnt local features and dense flow to robustly obtain matches that are simultaneously well localized and compliant with a global transformation. Given a NN SfM 2D-2D Then, 2D-2D correspondences between these pairs of frames are obtained by matching local features with global constraints imposed by dense flow estimation, and 3D-3D correspondences are established from the 2D-2D correspondences by leveraging the individually reconstructed 3D models, X A and X B , and the camera parameters (extrinsics and intrinsics) for v A i and v B j . (d) The aggregated 3D-3D correspondences from several image pairs are passed to the solver U that robustly estimates a similarity transformation. Finally, a graph is constructed where each node corresponds to a 3D model, and each edge corresponds to a successful alignment between a pair of point-clouds. By traversing this graph, and composing the transformations along a given path, one can compute the similarities between any pair of connected nodes.
are first computed. Using local features allows for a very precise localization of the matches, but does not enforce any global consistency among different matches. In practice, this may lead to a high fraction of incorrect correspondences that may cause the subsequent alignment estimation step to fail. In order to reduce the fraction of incorrect correspondences while retaining the correct correspondences, we filter the matches produced by local features using a dense transfor- obtained from a dense flow model G, where T AB ij : R 2 → R 2 is a 2D-2D mapping between the pixels of v A i and those of v B j , and G is a CNNbased dense flow estimation model. Only matches between local features that are consistent with the dense flow mapping T AB ij up to certain tolerance threshold t are retained. An illustration if this approach is presented in Fig. 2c.

Estimating 3D transformation between videos
Once 2D-2D correspondences between frames of different videos are established, these can be used to, first, establish 3D-3D correspondences, and, second, determine a 3D similarity transformation between these videos.
Given a pair of videos (v A , v B ), 2D-2D correspondences are first aggregated from all its matching frames Then, these 2D-2D correspondences are converted to 3D-3D correspondences by leveraging the camera parameters (intrinsic and extrinsic) together with the 3D models X A and X B obtained from their individual 3D reconstructions (cf. Sec. 3.1). Then, the set of 3D-3D correspondences is input to a solver U that robustly estimates the similarity transformation S AB between 3D mod-els X A and X B . However, some models may be difficult to align directly due to very large viewpoint changes, which may cause the matching method presented in Sec. 3.3 to fail. To overcome this issue, we propose to construct a 3D alignment graph where every node represents a 3D model X m and every edge represents a successful alignment between the 3D models of the two nodes that constitute the edge. Then, the alignment between any two connected models in the graph can be estimated by computing the shortest path [10] and then composing the pairwise transformations along the path. Note that by traversing the graph it is possible to align 3D models across large changes of viewpoint or appearance which would not be possible by direct matching. In order to register the models to a common reference frame, any node can be selected as reference and the similarities to every other node computed by traversing the graph. An illustration of this approach is presented in Fig. 2d. Appendix A provides additional details.

Application to keypoint transfer
In this section we describe how the proposed 3D alignment graph can be used to perform keypoint transfer among models. Because manual annotation is costly, annotation transfer has been used in the past as a way to obtain annotation on new examples in an automatic way [15,50,23]. In our case, we consider the problem of transferring annotations across several instructional videos showing the same object model. In particular, consider that we have a source video v s , and a set of target videos {v t1 , v t2 , . . . , v t N t }, where N t is the number of target videos. Consider as well that we are interested in a set of N k keypoints. Then, we manually annotate these N k keypoints on several frames of the source video v s and triangulate their 3D positions K s ∈ R 3×N k in the source video reference frame, where the column of K s correspond to the 3D coordinates of each different keypoint. Then, we can apply the similarity transformation S s,ti between the source video v s and each target video v ti (obtained by traversing the 3D alignment graph) to transfer the keypoints K s to each target video v tj : Finally, these transferred 3D keypoint annotations can be projected to any 2D frame v ti j of the target video v ti by using the estimated projection matrix P ti j (obtained from the product of the intrinsic and extrinsic camera parameters).

Text grounding in 3D
Given a 3D scene reconstruction, our goal is to obtain 3D text grounding, i.e., to identify the parts of the 3D model corresponding to a given text query. We follow [2,29] and assume video narrations to be approximately synchronized with video frames of corresponding instructional videos and to describe their visual content. We consider alternative methods for localizing narrations in 2D frames and then backproject such location onto the 3D model. While the individual backprojected 3D positions may be noisy, e.g. because of the misalignment of the narration and the video, we obtain accurate positions by accumulating evidence in 3D from multiple videos.
Our approach is summarized in Fig. 3. We first employ a text encoder model B, that produces a d−dimensional text feature descriptor f s = B(s) from a given input text string s. We then use a classifier C to predict the distribution of scores c = C(f s ) ∈ R n over a set of N V voxels that discretize the 3D model space, for the given text features f s . In the following, we describe our approach for training such classifier and text encoder in an unsupervised way from narrated instructional videos.

Generation of training data
We propose to automatically generate training samples for learning text grounding in 3D scenes. Our objective is to obtain training pairs (s i , k i ) formed by the text s i and the corresponding location in the scene represented by the 3D voxel label k i ∈ [0, N V ]. Towards this goal we first split an instructional video v and its corresponding transcribed narration s into a set of temporal segments {(v i , s i )} i=1,...,n . To obtain k i for each segment, we first select a 2D position p i = (x i , y i ) in video v i , and then use the camera parameters (intrinsics and extrinsics) together with the reconstructed 3D model to obtain the corresponding 3D point P i of the scene. We build a pair (s i , k i ) by choosing a 3D voxel k i containing P i .
To obtain 2D image locations p i , we ground narrations s i in video frames by following three alternative approaches.
Center of frame. The first approach is to assign p i to the frame center. This simple strategy turns out to be effective in instructional videos where narrated objects and actions are typically centered in the frame by the cameraman. Hand detector. Our second approach follows the assumption that narrated objects are being manipulated by the user. We hence assign p i = H(v i ), where H is a position of a hand in the video obtained with a hand detector [41]. MIL-NCE. Our third approach builds on a pre-trained model for local text-video similarity. We use a joint textvideo embedding model trained on a large set of narrated instructional videos with MIL-NCE [28]. This model projects video and text to a joint embedding space, which allows us to compute similarity between a local spatio-temporal video region and a text fragment. To ground the text narration within the frame, we select a position in a feature map with the highest text-video similarity score.
In all three cases described above, the selected 2D locations p i within frames are reprojected to the surface of the reconstructed 3D model to obtain P i and corresponding voxels k i .

Learning 3D grounding model
Given a set of training pairs with narrations and corresponding voxels {(s i , k i )} i=1,...,n , the classifier C is trained to predict the correct voxel label k i given input text s i . We train C by minimizing the cross-entropy loss over all training pairs: where C(B(X))[k] is the score of voxel k, given input text X, according to our model C. This loss is minimized when C assigns the maximum score of one to the correct voxel.
In practice, we are interested in training language grounding models for different 3D reconstructions. For example, for car maintenance videos, we build a separate 3D reconstruction for each specific car model, such as Ford Focus or Honda Civic, as the 3D shape of the car and the engine can be substantially different. However, while the classifier C is different for all 3D reconstructions, we choose to share the same text encoder B for all reconstructions. This allows us to benefit from all available text data, when training the text representation module. The entire model trained in a multi-task setting is shown in Fig. 3. Additional implementation details are provided in Sec. 5.

Experimental results
To evaluate our proposed method for 3D reconstruction and 3D grounding, we collect a dataset of narrated instructional videos related to car maintenance tasks. The tasks we Figure 3: Left. Illustration of our 3D text grounding model. We train a separate model for each car make. All models share the same text encoder (BERT) and differ in the last grounding layer. The grounding layer is a single fully connected layer with the output dimension equal to the number of voxels. Given the input text, the model produces the confidence scores for all voxels in the 3D model. Middle and Right. Illustration of our training procedure. Given a word sequence from subtitles (bottom), and a 2D point in the frame coordinates (blue dot), we backproject the point onto the surface of the 3D model and find the corresponding voxel (blue cube). The pair (text, voxel) is then used as a training pair. In this example, we use the center of the frame as the approximate supervision to ground the text narration on the 3D model.  consider are the following: replacing the air filter, changing the spark plugs, replacing the car battery, measuring the oil level, adding coolant fluid and checking the break fluid. The car models we consider are: Honda Civic (8th gen), Honda Accord (7th gen), Ford Focus (Mk3), Ford Explorer (5th gen), Toyota Corolla (E140) and Toyota Prius (XW20). We select these car models as they are common in North America. We also focus our data collection on English-spoken videos. We have collected a total of 174 videos, with the number of videos per car model between 23 and 36. The number of videos per task varies between 14 (measure oil level) and 53 (change spark plugs). In the following we first describe implementation details and then present results obtained for the keypoint transfer and 3D text grounding tasks. Our dataset, pre-trained models and code will become publicly available. Implementation details. We use R2D2 [34] learnt local features as the feature extraction function L and GLU-Net [45] as the learnt dense flow estimation function G. The image level description-function D is done using a NetVLAD [5] model with a VGG16 backbone [42]. The solver U is composed by a RANSAC loop [13] that performs a transformation fitting using the least-squares method proposed by Umeyama [46].
For the text grounding, we use a pre-trained BERT model as the text encoder B. The output dimension d of the text encoder is set to 1024. A linear classifier is used for the grounding layer C, where the output dimensionality corresponds to the number N v of voxels. The text enconder B is finetuned together with the grounding classifier C in an endto-end manner. For the hand detector H, we use [41]. When using MIL-NCE [28] we obtain local similarity scores for any location of the frame by removing the last average pooling layer from the S3D backbone of the visual branch of the model and obtain a features map of size 14 × 8 for each selected frame of the video.
We define a set of voxels as follows. First, consider a rectangular region, that encompasses the 3D model. This region is divided into 20 equal parts by each axis, resulting in a set of 8000 voxels. Since the shape of a car engine is relatively flat, we may expect that most of these voxels don't intersect with any parts of the model. In order to reduce the total number of voxels, and only retain the voxels, that intersect with objects of interest in the 3D scene, we select top N v voxels, that contain most of the training points. In practice N v is set to 500.

Keypoint transfer
For evaluating the task of keypoint transfer we annotate multiple frames for each Honda Civic video. We select one video as source (v s ), and the rest as target ({v ti } i=1,...,Nt ). Then, the annotations are used to triangulate the 3D keypoint positions K s for the source video and for each of the target videos K t i , where i = 1, . . . , N t . Then, we estimate a ground-truth similarity transformation between the source video and the target videos by fitting a similarity transformation using the solver U on the triangulated keypoints: Finally, we can assess the quality of the similarity transformations S s,ti that we estimated using the proposed 3D alignment graph by computing the percentage of correctly transferred keypoints (PCK) in 3D coordinates. For evaluation, we use 89 pairs of videos for the Honda Civic car model, where the source and target keypoints K s and K t have been verified to have consistent relative distances and angles (a consistent overall 3D shape). Our results are presented in Fig. 5, where we plot the mean PCK over these 89 evaluation pairs vs. a varying tolerance threshold calibrated in centimeters. Results show that our proposed matching approach using a combination of R2D2 learnt local features and GLU-Net dense flow is superior to these two methods employed individually. Nevertheless, some video pairs are very difficult to match directly due to extreme viewpoint changes and our direct matching approach can only align about 50% of the keypoints for a 10cm tolerance value. In this cases the 3D alignment graph can be used to compute the similarity transformation via other intermediate videos.
Results show that by using the 3D alignment graph, 80% of keypoints are correctly localized within a tolerance of 8cm. Examples of keypoint transfer using the 3D alignment graph are shown in Fig. 4 and, thanks to the 3D alignment graph, demonstrate transfer across an impressive range of viewpoints and appearance variation across the different car instances. [34] Ours (direct matching) [45] Ours (3D alignment graph) Figure 5: Quantitative evaluation of keypoint transfer. We plot the mean PCK curve over a set of 89 video pairs. The proposed 3D alignment graph correctly aligns 80% of keypoints within a 8cm tolerance.

Text grounding in 3D
Evaluation setup. To demonstrate the effectiveness of 3D text grounding, we select six different objects: air filter, brake fluid reservoir, negative battery cable, positive battery cable, dipstick and spark plugs, and annotate their positions within each 3D model. Each object is annotated with a single 3D point. We manually parse the WikiHow.com car repair articles and select a set of textual instructions, related to each object. These instructions are object-centric, each refering to a specific location within the engine, where one of the objects is located. Examples of such instructions include "remove the dipstick" (dipstick), "use a wrench to loosen the positive cable clamp and take the cable off of the terminal" (positive battery cable) and "lift the filter out of the housing" (air filter). At test time, we use these instructions as queries, with the goal to ground each query to the correct 3D location, defined by the corresponding point of interest. Since our model returns the scores over a set of voxels, instead of a single 3D point, we define the grounding by the model as the center of a highest scoring voxel.
Evaluation metric. We measure the performance of the grounding by the PCK score. This score is computed as follows. For each car model and for each query, we compute the distance between the predicted 3D point and the ground truth 3D point that corresponds to the object within the query. Then for each threshold value from 1cm to 100cm we compute PCK as the number of queries grounded correctly (i.e. the distance between the predicted point and the ground truth point is below the given threshold value), divided by a total amount of queries for all models.
Results and discussion. We evaluate our models, trained with three different types of supervision, as described in Sec. 4, and compare their performance against a chance baseline ("Chance"), which implies grounding each query Figure 6: Quantitative evaluation of 3D text grounding. We plot PCK curve over a set of 6 different car models and 6 different objects of interest. For each object we consider a set of text queries, related to the corresponding location in the 3D model, and predict the 3D location of the object based only on the the language query. We compare our model trained with different types of supervision against a Chance baseline, where each query is grounded in a random point on the 3D model.
to a random point in the 3D model. Results are shown in Fig. 6. Interestingly, the best results are provided by the center of frame method ("Center of frame") confirming the previously observed photographer bias [7]. Supervision from the Hand detector ("Hand detector") suffers from a large amount of noise when the hands are visible in the video but are not near the object. The hand detector also provides less supervision than other methods, since hands may not appear within the frame at the time when the object is mentioned by the narration. Finally, in many cases, the appearance of hands in the videos coincide with an object mention in narration, when an action over the object is being performed. However, an action often involves using tools, such as a wrench or a screwdriver. Therefore, the position of the hand is often shifted with respect to the object, contributing to the noise in the supervision. We found MIL-NCE feature ("MIL-NCE") not well suited for the task. While, in some cases, this feature is able to provide good localization, it is usually very coarse, as MIL-NCE is not designed to accurately localize queries within the image. Results for different object classes are shown in Tab. 1. These results indicate that our model (here the best performing variant "Center of frame" is used) consistently outperforms the chance baseline for 5 object classes out of 6, and only fails on the dipstick object. Fig. 7 demonstrates qualitative results for different queries and different car models. Additional qualitative results are provided in Appendix B.

Conclusion
We present a method for 3D reconstruction of instructional videos and localizing the associated narrations in 3D. Our method is resistant to the differences in appearance of objects depicted in the videos and computationally efficient.  Table 1: PCK grouped by object classes. We compare our model, trained on centers of frames, against the Chance baseline. Here the PCK error threshold is set to 30cm. Figure 7: Examples of 3D text grounding with our model. Our model predicts a heatmap over a set of voxels with higher values assigned to locations that correspond to the query text. For clarity, we visualize the predicted voxels in random frames from the videos. The confidence that a given text query corresponds to a given location is shown in red with higher opacity corresponding to higher confidence. The ground truth 3D location is shown by a green dot. Please see additional results in Fig. 9.
Building on our 3D reconstruction, we propose an unsupervised approach to 3D language grounding. Our work opensup the possibility of providing visual hints, based on textual instructions for augmented reality applications.