# Addressing Data Annotation Challenges in Multiple Sensors: A Solution for
Scania Collected Datasets

Ajinkya Khoche1,2, Aron Asefaw1, Alejandro González2, Bogdan Timus2, Sina
Sharif Mansouri2
and Patric Jensfelt1 *This work was supported by the research grant PROSENSE
(2020-02963) funded by VINNOVA. 1KTH Royal Institute of Technology, Stockholm
10044, Sweden. Corresponding author’s e-mail<EMAIL_ADDRESS>Transport Solutions Lab, Scania Group, Södertälje, SE-15139, Sweden

###### Abstract

Data annotation in autonomous vehicles is a critical step in the development
of Deep Neural Network (DNN) based models or the performance evaluation of the
perception system. This often takes the form of adding 3D bounding boxes on
time-sequential and registered series of point-sets captured from active
sensors like Light Detection and Ranging (LiDAR) and Radio Detection and
Ranging (RADAR). When annotating multiple active sensors, there is a need to
motion compensate and translate the points to a consistent coordinate frame
and timestamp respectively. However, highly dynamic objects pose a unique
challenge, as they can appear at different timestamps in each sensor’s data.
Without knowing the speed of the objects, their position appears to be
different in different sensor outputs. Thus, even after motion compensation,
highly dynamic objects are not matched from multiple sensors in the same
frame, and human annotators struggle to add unique bounding boxes that capture
all objects. This article focuses on addressing this challenge, primarily
within the context of Scania-collected datasets. The proposed solution takes a
track of an annotated object as input and uses the Moving Horizon Estimation
(MHE) to robustly estimate its speed. The estimated speed profile is utilized
to correct the position of the annotated box and add boxes to object clusters
missed by the original annotation.

##  I Introduction

The pursuit of autonomous vehicles, particularly in heavy vehicle
manufacturing, has gained momentum across various industries. At its core, the
essential element driving the progress is ground truth data, essential for
evaluating the Autonomous Vehicles (AV) software stack. To obtain this
invaluable data, several approaches have emerged. One method involves
equipping the ego and multiple non-ego vehicles with Global Positioning System
(GPS) sensors and orchestrating staged scenarios, for instance, overtaking,
U-turns, roundabouts etc. While the GPS enables comprehensive state-awareness
of the environment and provides valuable insights, this approach can’t be
extended to real-world driving. As such, highly controlled scenarios also fall
short in emulating the complexities of real-world driving, leaving gaps in the
generalization ability of the system.

Deep Neural Networks (DNNs) have recently emerged as the backbone of
autonomous driving systems, with various approaches proposed throughout the AV
stack, including for perception [1, 2], localization [3], motion prediction
and situational awareness [4], control and path planning [5], vehichle-to-
vehicle communication [6] as well as end-to-end driving systems [7]. A
majority of DNN approaches are trained using supervised learning and require
annotations. Simulation systems offer another avenue for generating training
data at scale. However, the challenge lies in bridging the gap between
simulated and real-world sensory output [8]. The successful integration of
synthetic data into practical experiments remains a persistent question in the
journey toward autonomous vehicles. The third approach, albeit time-consuming
and expensive, involves annotating datasets collected from vehicles on the
road. This method necessitates rigorous quality checks.

Figure 1: Illustration of the Scania truck with different sensor placement
highlighted with red circles, while the $i^{th}$ sensor and the vehicle
coordinate frame are shown as $\mathbf{L_{i}}$ and $\mathbf{V}$ respectively.

The field of autonomous driving has seen an abundance of datasets capturing
challenging real driving scenarios. The KITTI dataset, proposed by Geiger et.
al. [9], was a pioneering work in this regards, providing annotations for 3D
object detection, stereo matching and optical flow, as well as high quality
position labels to enable research in Simulataneous Localization and Mapping
(SLAM). The NuScenes [10], Waymo [11] and Argoverse [12] datasets are notable
for their large scale and diversity, including night-time driving and adverse
weather scenarios. Many datasets also provide access to High Definition (HD)
maps to enable advanced processing [12, 10]. The recently proposed Argoverse2
[13], aiMotive [14] and Zenseact [15] datasets provide annotations focusing on
long range perception.

Figure 2: Point cloud from three sensors after compensating for ego motion,
(red, violet and blue points are from LiDAR s $L_{1}$, $L_{2}$ and $L_{3}$
respectively). The dynamic object in the scene is observed by different
sensors in different time stances, with displacement of 2 m within 100 ms. The
manually annotated 3D bounding box is shown in green.

However most of the existing datasets are captured onboard passenger cars, and
their characteristics differ significantly from the data captured onboard
trucks. Due to their larger size compared to passenger cars, trucks require a
greater number of sensors with increased spacing between them to provide
comprehensive surround views, as shown in Figure 1. This extended displacement
between the sensors leads to them capturing different, often non-overlapping
views of the same object. Moreover, the available datasets mostly consist of
suburban scenarios with low driving speeds, whereas long haulage trucks
operate on highways, with objects moving at high speeds. These dynamic objects
are captured at multiple positions by various sensors, even after ego-motion
compensation. To the best of our knowledge, none of the existing datasets
capture this phenomenon.

The aforementioned issues pose notable challenges for human annotators when
attempting to define accurate 3D bounding boxes around objects. Firstly, the
human-labelled bounding boxes may not encompass the entirety of the point
clouds, leading to scenarios where portions of the objects, as illustrated in
Figure 2, remain outside the bounding box’s scope. Secondly, the annotators
might label different views of an object at various time instances, leading to
inaccurate speed estimation of the vehicle. These annotations, if not refined
may lead to an incorrect evaluation of perception algorithms, or be a source
of error during training of DNN models.

In this work, we address this problem by modelling the annotated boxes as
noisy measurements of the object state. Consequently, state estimation
algorithms can be used to infer the object’s true state. Given an annotated
object track from a multi-LiDAR dataset as noisy positional inputs, this
article proposes using Moving Horizon Estimation (MHE) as a state estimator to
predict the position and speed of non-ego objects. The estimates are
subsequently used to refine the positioning of bounding box annotations to
cover all the views of the object.

###  I-A Background & Motivation

Kalman Filter (KF) [16] is widely used in applications where the system
dynamics and measurement models are both linear and the noise is Gaussian,
while Extended Kalman Filter (EKF) can handle non-linear system and
measurement models. KF based estimators may have slow convergence for rapid
changes in state, and only consider one measurement for each estimation
iteration. Nonlinear Moving Horizon Estimation (NMHE) methods are also getting
more attention [17, 18, 19] for their ability to estimate complex nonlinear
dynamic models, while they can handle inequality constraints. MHE method uses
a moving time window to iteratively estimate the states of a nonlinear dynamic
system, providing real-time updates as new measurements become available. The
MHE, driven by its optimization-based framework and its ability to utilize a
set of measurements, is a preferred choice for accurately estimating the speed
of non-ego vehicles in various scenarios, with the added advantage of being
able to handle constraints such as bounds on vehicle speed, making it a
versatile solution.

###  I-B Contributions

With the abovementioned state-of-the-art as the context, the key contributions
of the article are provided in this section. The first and foremost
contribution is to highlight the problem of annotation for multiple active
sensors in heavy vehicles, which to the best of authors’ knowledge, has not
been discussed before. As the second contribution, a MHE estimator with
kinematic model is formulated to estimate the non-ego vehicle speeds, which is
used to further rectify the bounding box annotations. The third contribution
stems from the experimental evaluation of the method on a LiDAR dataset
captured onboard trucks and buses containing diverse scenarios of non-ego
object motion.

###  I-C Outline

The rest of the article is organized as follows: Section II outlines the
problem. The MHE formulation is described in Section III. Section IV sets up
the experiments and discusses results on data captured onboard Scania
platform. Lastly Section V concludes the article by summarizing the findings
and discussing directions for future work.

##  II Problem Statement

Figure 3: The annotation process for Scania collected dataset. Scans from
multiple LiDAR s are motion compensated and accumulated in a superframe.
Thereafter a time-series of superframes are post processed and sent for manual
annotation. A snapshot of a superframe before and after annotation is shown.
The ego vehicle is marked in the center with vehicle frame $\mathbf{V}$, and
sensor frames $\mathbf{L}_{1}$ to $\mathbf{L}_{4}$. The point clouds from
multiple LiDAR s are colored according to their offset from motion compensated
timestamp (chosen to be the middle of the superframe). Red and blue indicate
beginning and end of the superframe respectively. The annotated vehicle is
shown with a green box.

Let $\mathbf{W}$, $\mathbf{V_{t}}$ and $\mathbf{L^{i}_{t}}$ represent the
world frame, the vehicle frame at time $t$, and the $i^{th}$ sensor frame at
time $t$ respectively. ${}^{W}\mathbf{T}_{V_{t}}$ denotes the $4\times 4$
homogeneous transformation matrix representing the vehicle’s pose in the world
frame at time $t$. Let ${}^{L^{i}_{t}}\mathbf{P}_{i}(t)$ denote a point cloud
acquired by the $i^{th}$ LiDAR sensor during the time period
$[t,t+\Delta{t}]$. The $j^{th}$ point in this point cloud is represented by a
3D position $p_{i,j}=(x_{i,j},y_{i,j},z_{i,j})^{T}$ in the sensor frame and
timestamp $\tau_{i,j}$. Since the ego-vehicle is moving continuously while the
rotating LiDAR captures data, a transformation needs to be applied to each
point of the point cloud, to compensate for the ego-motion to simplify
processing by deskewing the point cloud. Let $t^{*}$ denote the time to which
the motion is compensated. In our work $t^{*}=t+\Delta{t}/2$, i.e. in the
center of the scan period of the point cloud. We denote by
${}^{V_{t^{*}}}\mathbf{P}_{i}^{*}$ the motion compensated point cloud where
the position, $p_{i,j}$, of each point is transformed to the vehicle frame at
time $t^{*}$. The motion compensated points are denoted
${}^{V_{t^{*}}}p_{i,j}^{*}$, which for brevity will be written as
$p_{i,j}^{*}$ and are calculated as:

$\displaystyle
p_{i,j}^{*}={}^{V_{t^{*}}}\mathbf{T}_{V_{\tau_{i,j}}}{}^{V_{\tau_{i,j}}}\mathbf{T}_{L^{i}_{\tau_{i,j}}}p_{i,j}$
(1a)
$\displaystyle{}^{V_{t^{*}}}\mathbf{T}_{V_{\tau_{i,j}}}=({}^{W}\mathbf{T}_{V_{{t}^{*}}})^{-1}{}^{W}\mathbf{T}_{V_{\tau_{i,j}}}$
(1b)

where ${}^{V_{\tau_{i,j}}}\mathbf{T}_{L^{i}_{\tau_{i,j}}}$ is given by the
extrinsic calibration and is here assumed constant ${}^{V}\mathbf{T}_{L^{i}}$.
A constant linear and angular velocity is assumed in the interval
$[t,t+\Delta{t}]$.

The focus of our work is a multi-LiDAR setup. We define a superframe
${}^{V_{{t}^{*}}}\mathbf{P}_{S}$ as a point cloud accumulating all motion
compensated points from $M$ LiDAR s within a time interval $[t,t+\Delta{t}]$,

$\displaystyle{}^{V_{{t}^{*}}}\mathbf{P}_{S}=\bigcup_{i=1}^{M}{}^{V_{{t}^{*}}}\mathbf{P}_{i}^{*}.$
(2)

A time-series of motion compensated superframes is post-processed and sent for
annotation of 3D boxes, as shown in Figure 3. Notably, Eq. 1 follows a static
world assumption, which does not hold in real-world driving applications. For
example, for $\Delta{t}=100~{}\unit{ms}$, a non-ego vehicle driving at 30
m/sec on a highway could have a worst case displacement of up to 3 meters
captured by different sensors within the superframe. A single bounding box is
inadequate in capturing this motion, as shown in Fig. 3. The problem then
involves modeling the motion of the non-ego object given noisy measurements of
the state provided by a time series (or a track) of annotated 3D bounding
boxes.

An agent’s 3D motion can be generally described by 12 states:
$\bm{x}=[x,y,z,\dot{x},\dot{y},\dot{z},\phi,\gamma,\theta,\dot{\phi},\dot{\gamma},\dot{\theta}]^{T}$
where the first six states denote the positions and linear velocities, and the
last six states denote the roll, pitch and yaw angles and their rates
respectively. Particularly for driving scenarios, a planar motion with
holonomic constraints is considered. This assumption removes the need to
estimate the $z$ position, the roll and pitch angles, as well as their rates,
reducing the state space to six. Furthermore, assuming the measured heading of
an object remains constant within the superframe interval $\Delta{t}$, and the
heading is error-free, the problem can be further simplified to a one-
dimensional estimation containing two states $\bm{x}=[d,s]^{T}$, where $d$ and
$s$ are the distance and speed along a specified trajectory.

##  III Methodology

In this section, we will present our MHE approach. We will begin by outlining
the mathematical formulation that underlies our method, offering an
explanation of the equations and principles. Subsequently, we will explain the
estimation of non-ego vehicle speeds in MHE. Finally, we will present the
architecture that rectifies annotations, providing a holistic view of our
approach’s practical implementation.

###  III-A Kinematic Model

Given the state $\bm{x}=[d,s]^{T}$ as described in the previous section, the
distance $d$ is specified along a trajectory specified by a set of error-free
headings $\bm{\Theta}=\\{\theta_{i}:i=1,...,n_{l}\\}$, where $n_{l}$ is the
length of an annotated track. The measurements here come from human
annotations. The speed $s$ is not measured. The state of a non-ego vehicle at
time $t$ is assumed to be given by the constant acceleration model (3).

$\displaystyle d(t)$ $\displaystyle=d_{0}+s(t)t+\frac{1}{2}at^{2},$ (3a)
$\displaystyle s(t)$ $\displaystyle=s_{0}+at.$ (3b)

In this work we study short trajectories. A more general solution would need
to adopt a more complex motion model.

###  III-B Moving Horizon Estimation

The main objective of the MHE [20] is to obtain the state estimate at time
$t$, given a set of measurements collected over a moving horizon of past time
steps. The state and measurement are modelled in discrete form as:

$\displaystyle\bar{\bm{x}}_{k+1}$
$\displaystyle=\mathcal{F}(\bar{\bm{x}}_{k},\bm{u}_{k})+\bm{w}_{k},$ (4a)
$\displaystyle\bm{y}_{k}$
$\displaystyle=\mathcal{H}(\bar{\bm{x}}_{k})+\bm{\Lambda}_{k},$ (4b)

where, $\bar{\bm{x}}_{k+1}$ is the state estimate at time step $k+1$,
$\mathcal{F}:\mathbb{R}^{n_{s}}\times\mathbb{R}^{n_{u}}\to\mathbb{R}^{n_{s}}$
is the state transition function and $\bm{u}_{k}$ is the control input at time
step k. $\bm{u}_{k}$ is the same as the acceleration $a$. $\bm{y_{k}}$ is the
modelled measurement and $\mathcal{H}:\mathbb{R}^{n_{s}}\to\mathbb{R}^{n_{m}}$
is the measurement function. Moreover $n_{s}$, $n_{u}$, and $n_{m}$ are the
number of states, inputs and measurements respectively,
$\bm{\Lambda}_{k}\in\mathbb{R}^{n_{m}}$ and $\bm{w}_{k}\in\mathbb{R}^{n_{s}}$
represent the measurement noise and the process noise correspondingly. The
initial state estimate $\bar{\bm{x}}_{0}$ is known. Furthermore,
$\bar{\bm{x}}_{k-j|k}$ and $\bm{y}_{k-j\mid k}$ are the previous $k-j$ state
and measurements as observed from the current time $k$.

The process noise $\bm{w}_{k}$, measurement noise $\bm{\Lambda}_{k}$ and the
initial state estimate noise are unknown and assumed to follow a random
distribution, characterized by the Gaussian Probability Density Function (PDF)
with the covariance $\bm{Q}\in\mathbb{R}^{n_{s}\times n_{s}}$,
$\bm{\Omega}\in\mathbb{R}^{n_{m}\times n_{m}}$, and
$\bm{\Psi}\in\mathbb{R}^{n_{s}\times n_{s}}$ respectively [21].

Given a set of noisy measurements $\bm{Y}=\\{\bm{y}_{j}:j=k-N_{e},...,k-1\\}$
in a fixed horizon window $N_{e}$ , the estimated states of the system
$\bar{\bm{X}}\ =\\{\bar{\bm{x}}_{j}:j=k-N_{e},...,k-1\\}$ are obtained by
solving the optimization problem:

$\displaystyle\min_{\bar{\bm{x}}_{(k-N_{e}\mid k)},\bm{W}_{(k-N_{e}\mid
k)}^{(k-1\mid k)}}{J(k)}$ (5a)
$\displaystyle\textrm{s.t.}\,\,\bar{\bm{x}}_{i+1|k}=\mathcal{F}(\bar{\bm{x}}_{i|k},\bm{u}_{i|k})+\bm{w}_{i|k}$
(5b)
$\displaystyle\bm{y}_{i|k}=\mathcal{H}(\bar{\bm{x}}_{i|k})+\bm{\Lambda_{i|k}}\quad
i=\\{k-N_{e},\dots k-1\\}$ (5c)
$\displaystyle\bm{w}_{k}\in\mathbb{W}_{k},\quad\bm{\Lambda}_{k}\in\mathbb{\Lambda}_{k},\quad\bar{\bm{x}}_{k}\in\mathbb{X}_{k}$
(5d)

where,

$\displaystyle
J(k)=\underbrace{(\bar{\bm{x}}_{k-N_{e}|k}-{\tilde{\bm{x}}}_{k-N_{e}|k})^{T}\bm{\Psi}^{-1}(\bar{\bm{x}}_{k-N_{e}|k}-{\tilde{\bm{x}}}_{k-N_{e}|k})}_{\text{arrival
cost}}$ (6)
$\displaystyle+\sum_{i=k-N_{e}}^{i=k}\underbrace{(\bm{y}_{i|k}-\mathcal{H}(\bar{\bm{x}}_{i|k}))^{T}\bm{\Omega}^{-1}(\bm{y}_{i|k}-\mathcal{H}(\bar{\bm{x}}_{i|k}))}_{\text{stage
cost}}+\sum_{i=k-N_{e}}^{i=k-1}$
$\displaystyle\underbrace{(\bar{\bm{x}}_{i+1|k}-\mathcal{F}(\bar{\bm{x}}_{i|k},\bm{u}_{i|k}))^{T}\bm{Q}^{-1}(\bar{\bm{x}}_{i+1|k}-\mathcal{F}(\bar{\bm{x}}_{i|k},\bm{u}_{i|k}))}_{\text{stage
cost}}$

In (5)
$\bm{W}_{(k-N_{e})}^{(k-1)}=col(\bm{w}_{(k-N_{e})},\dots,\bm{w}_{(k-1)})$ is
the estimated process disturbance from time $k-N_{e}$ up to $k-1$, estimated
at the time $k$. The first term of the objective $J$ is referred to as the
arrival cost. It measures the squared difference between the current and the
prior state estimate at the beginning of the horizon window. In effect, the
arrival cost is a mechanism for incorporating historical state information
into the current estimation problem, ensuring a smooth transition from past
estimates to current estimates. The remaining terms are denoted as stage cost
or incremental cost. They compute the sum of the squared difference between
the predicted and modelled measurement, and the predicted and modelled state
respectively. The predictions come from the measurement function and the state
transition function. Additionally, the terms are weighted by covariances of
the inverse of initial state estimate, measurement and the process noise
respectively. A smaller covariance indicates higher confidence in the previous
estimate, leading to a larger penalty for deviations. A finite-horizon optimal
problem with horizon window of $N_{e}$ is solved at every time step $k$, to
obtain the corresponding state estimates
$\bar{\bm{x}}_{k-N_{e}|k}^{\star},\dots$ $\bar{\bm{x}}_{N_{e}|k}^{\star}$.

###  III-C Refining Multi-LiDAR Annotations

The goal of our work is to refine the manual annotations for each non-ego
vehicle. We do this by generating boxes corresponding to each individual
LiDAR, given a single annotation per non-ego object for each superframe.
Solving for Equation 5 traversing along the horizon window $N_{e}$ provides
the optimal state estimate for the entire track, denoted as
$\bar{\bm{X}}^{\star}_{1:n_{m}}$. These estimates, in conjunction with the
human-annotated bounding boxes, are utilized as the input for box refinement,
as shown in Figure 4. The first step in this approach involves clustering
along the box heading to get $G$ different views of the object captured by
various sensors within a superframe. As the second step, the estimated speed
$s_{k}^{\star}$ is used alongside the box heading $\theta_{k}$ to compensate
all points classified as being part of the non-ego vehicle for its speed.
Concretely, for all LiDAR’s $i$ and points $j$ that correspond to the non-ego
vehicle we calculate the change in position as:

$\displaystyle\Delta p_{i,j}=\begin{bmatrix}\Delta x_{i,j}\\\ \Delta
y_{i,j}\\\ \Delta
z_{i,j}\end{bmatrix}=\begin{bmatrix}(\tau_{i,j}-t^{\star})s_{k}^{\star}\cos\theta_{k}\\\
(\tau_{i,j}-t^{\star})s_{k}^{\star}\sin\theta_{k}\\\ 0\end{bmatrix}$ (7a)

Where $\tau_{i,j}$ is the timestamp of point $p_{i,j}$, and $t^{*}$ is the
motion compensation time. $\Delta p_{i,j}$ is added to $p_{i,j}$ to obtain
speed-compensated points for the non-ego vehicle. Thereafter the front or rear
of the vehicle are inferred using the highest density region [22] along the
heading. If the high density region lies behind the euclidean mean, the region
represents the back of the object, else the front. This knowledge allows the
algorithm to position the bounding box by anchoring the edges to the extreme
points of the vehicle along the direction of travel. Next, $G$ copies of the
bounding box are produced, one for each cluster. These are denoted as pseudo
bounding boxes. Lastly, these copies are each shifted back by the inverse of
$\Delta p_{i,j}$, leading to the pseudo boxes fitting precisely with the
original clusters.

Figure 4: Proposed approach for refining multi-LiDAR annotations. The input is
time-sequential track of human labelled annotation (shown with green box)
alongside it’s speed estimate obtained using MHE. Clustering along heading
captures red points, which represent a view of the vehicle missed by the human
annotated box. Next, the MHE speed estimate is used to shift the points
according to the difference between $\tau_{i,j}$ and $t^{*}$. The red points
move forward, whereas the blue points move back. Thirdly, the annotated box is
moved to align with the shifted points. Lastly, the green box is duplicated
for each cluster, and both the points and pseudo bounding boxes are shifted
back according to the reverse cluster displacement. The pseudo bounding boxes
are colored according to their best fitting clusters.

##  IV Experiments

In this section, we present our experimental setup, as well as discuss results
of the state estimation using MHE and the annotation refinement. In this
article, we focus on highly dynamic vehicles as the problem is more pronounced
for such cases. But our approach could be extended to cover other classes eg.
articulated vehicles, pedestrians etc. as well.

###  IV-A Experimental Setup

Sequences of multi-LiDAR data was collected and annotated on Scania platforms
consisting of trucks and buses. The dataset encompasses a wide range of
scenarios, including urban and highway driving, as well as challenging adverse
weather conditions. The annotated sequences have a duration of 10 s and
include motion-compensated LiDAR points captured at 10 FPS, 3D bounding boxes,
class labels, and tracking IDs for each object. The annotators utilized
keyframes to extract essential parameters, such as class and size. Keyframes
are selected based on the time sequence, specifically focusing on the frames
that capture the highest quality representation of the objects in that
sequence. It’s important to note that this selection may vary for different
objects. It’s worth mentioning that, for the sake of generality, we did not
account for this variability in our work.

For state estimation using MHE, the kinematic model described in Section III-A
is utilized as the state transition model $\mathcal{F}$. Since the problem at
hand is solved offline, we chose the horizon window $N_{e}$ to be the same as
entire length of measurements, i.e. length of an annotated track. The state
estimates of the entire track are thus optimized in a single iteration. The
MHE parameters are indicated as $n_{s}=2$ and $n_{m}=1$, as only the distance
is measured. $\bm{\Psi}^{-1}=\mathbf{I}_{2\times 2}$,
$\bm{Q}=\mathbf{I}_{2\times 2}$, and $\bm{\Omega}=\mathbf{I}_{1\times 1}$
where $\mathbf{I}$ is identity matrix.

###  IV-B Results

A comparison between MHE, a Kalman Filter [16] based estimation, and a basic
speed estimation approach is depicted in Figure 5. Four non-ego vehicle tracks
are sampled at random across various logs. For convenience, the tracks are
chosen such that they are visible for the major duration of the sequence. The
KF estimate, denoted by dotted black, maintains the same state space and the
state transition model as MHE. The basic, or naive speed estimate shown in
blue, is obtained by simply dividing the distances and times between the
annotation intervals. The MHE estimate, shown in red, follows a smooth
trajectory due to the stage cost in LABEL:eq:mhe2 being constrained by the
kinematic model. On the other hand, the naive estimate follows an irregular
speed curve, which is due to the human annotator labelling differing and
inconsistent views of the object at different time instances. MHE also helps
in removing outliers in naive speed estimate in extreme cases (Figs. 5(c) and
5(d)). The recusrive KF estimate is observed to be less smooth compared to
MHE. Although a detailed comparison is challenging due to lack of precise
ground truth, the smoother motion produced by MHE estimates makes it a more
appropriate method.

The results of annotation refinement for the selected vehicles, as mentioned
in the previous paragraph, are depicted in Figure 6. The human-annotated box,
colored in green, clearly misses various views, as indicated by the presence
of red and black points in rows one to three and orange and violet points in
row four. These discrepancies are effectively addressed by the refined
annotations or pseudo bounding boxes, which are color-coded based on the point
clusters they encompass, allowing them to accurately represent these
perspectives. Of particular interest, rows 1-3 depict partially observed
vehicles. The process of identifying high-density regions plays a pivotal role
in classifying the rear side of the vehicle, facilitating the precise fitting
of bounding boxes on speed-compensated clusters. This step was observed to be
crucial for obtaining accurate pseudo bounding boxes.

$0$$2$$4$$6$$8$$10$101214161820time (sec)Speed (m/s)Kalman FilterMHENaive

(a)

$0$$2$$4$$6$$8$$10$1819202122time (sec)Speed (m/s)Kalman FilterMHENaive

(b)

$0$$2$$4$$6$$8$$10$2224262830323436time (sec)Speed (m/s)Kalman FilterMHENaive

(c)

$0$$2$$4$$6$$8$$10$282630323436384042time (sec)Speed (m/s)Kalman
FilterMHENaive

(d)

Figure 5: Estimation of speed for four different non-ego vehicles across
various logs. The blue plot represents the MHE estimates, whereas the orange
plot denotes the naive speed estimate, obtained by dividing the distances and
times in between the annotation intervals. Figure 6: Comparison of annotations
before and after refinement proposed in Section III-C. Rows 1-4 represent
objects whose speed plots are given in Fig. 5 (a)-(d) respectively. The green
box represents human annotated bounding box. The point colors distinguish
points captured by different LiDAR sensors. Following refinement, the pseudo
bounding boxes are color-coded based on the point clusters that they are
aligned with. The pseudo bounding boxes successfully capture missing views of
the object.

##  V Conclusions and Future Work

This article has presented a solution to the data annotation challenges
associated with heavy vehicles equipped with multiple active sensors. We have
utilized MHE estimators to estimate the speed of non-ego objects and rectify
bounding boxes. The effectiveness of the proposed solution is demonstrated
through an evaluation using real-life data gathered and annotated by Scania.
Looking ahead, there are several avenues for further research and development.
One such direction involves tailoring the modeling approach based on the
specific class of objects, such as bicycle models, articulated vehicles,
pedestrians, and so on. This customization can potentially enhance the
accuracy of MHE speed estimation. Moreover, the current framework operates on
10 s frames. Future research can focus on extending its application to longer
time sequences without annotations, providing a cost-effective means to expand
annotated datasets. A prior step for this would involve using the refined
annotations to train DNN algorithms for object detection, tracking etc. In
summary, the proposed solution represents a significant step forward in
addressing data annotation challenges in heavy vehicle sensor systems. With
ongoing research and innovation, we can anticipate further advancements in
this field, contributing to the evolution of safer and more efficient
transportation technologies and addressing a common bottleneck in developing
machine learning models for autonomous vehicles and other applications.

## References

  * [1] A. Khoche, M. K. Wozniak, D. Duberg, and P. Jensfelt, “Semantic 3d grid maps for autonomous driving,” in _2022 IEEE 25th International Conference on Intelligent Transportation Systems (ITSC)_. IEEE, 2022, pp. 2681–2688.
  * [2] A. Khoche, L. P. Sánchez, N. Batool, S. S. Mansouri, and P. Jensfelt, “Fully sparse long range 3d object detection using range experts and multimodal virtual points,” _arXiv preprint arXiv:2310.04800_ , 2023.
  * [3] C. Chen, B. Wang, C. X. Lu, N. Trigoni, and A. Markham, “Deep learning for visual localization and mapping: A survey,” _IEEE Transactions on Neural Networks and Learning Systems_ , 2023.
  * [4] A. Seff, B. Cera, D. Chen, M. Ng, A. Zhou, N. Nayakanti, K. S. Refaat, R. Al-Rfou, and B. Sapp, “Motionlm: Multi-agent motion forecasting as language modeling,” in _Proceedings of the IEEE/CVF International Conference on Computer Vision_ , 2023, pp. 8579–8590.
  * [5] S. Teng, X. Hu, P. Deng, B. Li, Y. Li, Y. Ai, D. Yang, L. Li, Z. Xuanyuan, F. Zhu _et al._ , “Motion planning for autonomous driving: The state of the art and future perspectives,” _IEEE Transactions on Intelligent Vehicles_ , 2023.
  * [6] Y. Li, D. Ma, Z. An, Z. Wang, Y. Zhong, S. Chen, and C. Feng, “V2x-sim: Multi-agent collaborative perception dataset and benchmark for autonomous driving,” _IEEE Robotics and Automation Letters_ , vol. 7, no. 4, pp. 10 914–10 921, 2022.
  * [7] Y. Hu, J. Yang, L. Chen, K. Li, C. Sima, X. Zhu, S. Chai, S. Du, T. Lin, W. Wang _et al._ , “Planning-oriented autonomous driving,” in _Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition_ , 2023, pp. 17 853–17 862.
  * [8] X. Hu, S. Li, T. Huang, B. Tang, R. Huai, and L. Chen, “How simulation helps autonomous driving: A survey of sim2real, digital twins, and parallel intelligence,” _IEEE Transactions on Intelligent Vehicles_ , 2023.
  * [9] A. Geiger, P. Lenz, and R. Urtasun, “Are we ready for autonomous driving? the kitti vision benchmark suite,” in _2012 IEEE conference on computer vision and pattern recognition_. IEEE, 2012, pp. 3354–3361.
  * [10] H. Caesar, V. Bankiti, A. H. Lang, S. Vora, V. E. Liong, Q. Xu, A. Krishnan, Y. Pan, G. Baldan, and O. Beijbom, “nuscenes: A multimodal dataset for autonomous driving,” in _Proceedings of the IEEE/CVF conference on computer vision and pattern recognition_ , 2020, pp. 11 621–11 631.
  * [11] P. Sun, H. Kretzschmar, X. Dotiwalla, A. Chouard, V. Patnaik, P. Tsui, J. Guo, Y. Zhou, Y. Chai, B. Caine _et al._ , “Scalability in perception for autonomous driving: Waymo open dataset,” in _Proceedings of the IEEE/CVF conference on computer vision and pattern recognition_ , 2020, pp. 2446–2454.
  * [12] M.-F. Chang, J. Lambert, P. Sangkloy, J. Singh, S. Bak, A. Hartnett, D. Wang, P. Carr, S. Lucey, D. Ramanan _et al._ , “Argoverse: 3d tracking and forecasting with rich maps,” in _Proceedings of the IEEE/CVF conference on computer vision and pattern recognition_ , 2019, pp. 8748–8757.
  * [13] B. Wilson, W. Qi, T. Agarwal, J. Lambert, J. Singh, S. Khandelwal, B. Pan, R. Kumar, A. Hartnett, J. K. Pontes _et al._ , “Argoverse 2: Next generation datasets for self-driving perception and forecasting,” _arXiv preprint arXiv:2301.00493_ , 2023.
  * [14] T. Matuszka, I. Barton, Á. Butykai, P. Hajas, D. Kiss, D. Kovács, S. Kunsági-Máté, P. Lengyel, G. Németh, L. Pető _et al._ , “aimotive dataset: A multimodal dataset for robust autonomous driving with long-range perception,” _arXiv preprint arXiv:2211.09445_ , 2022.
  * [15] M. Alibeigi, W. Ljungbergh, A. Tonderski, G. Hess, A. Lilja, C. Lindstrom, D. Motorniuk, J. Fu, J. Widahl, and C. Petersson, “Zenseact open dataset: A large-scale and diverse multimodal dataset for autonomous driving,” _arXiv preprint arXiv:2305.02008_ , 2023.
  * [16] R. E. Kalman, “A new approach to linear filtering and prediction problems,” 1960.
  * [17] E. L. Haseltine and J. B. Rawlings, “Critical evaluation of extended kalman filtering and moving-horizon estimation,” _Industrial & engineering chemistry research_, vol. 44, no. 8, pp. 2451–2460, 2005.
  * [18] A. Papadimitriou, H. Jafari, S. S. Mansouri, and G. Nikolakopoulos, “External force estimation and disturbance rejection for micro aerial vehicles,” _Expert Systems with Applications_ , vol. 200, p. 116883, 2022.
  * [19] S. S. Mansouri, H. Jafari, and G. Nikolakopoulos, “External force estimation based on nonlinear moving horizon estimation for mav navigation,” in _2020 European Control Conference (ECC)_. IEEE, 2020, pp. 1312–1317.
  * [20] C. V. Rao, J. B. Rawlings, and D. Q. Mayne, “Constrained state estimation for nonlinear discrete-time systems: Stability and moving horizon approximations,” _IEEE transactions on automatic control_ , vol. 48, no. 2, pp. 246–258, 2003.
  * [21] S. Ungarala, “Computing arrival cost parameters in moving horizon estimation using sampling based filters,” _Journal of Process Control_ , vol. 19, no. 9, pp. 1576–1588, 2009.
  * [22] E. Parzen, “On estimation of a probability density function and mode,” _The annals of mathematical statistics_ , vol. 33, no. 3, pp. 1065–1076, 1962.


#  Grassmann Tensors and their Applications in Mutliview Geometry 111The first
two authors contributed equally to this paper. This work is supported by
National Natural Science Foundation of China under Grant No. 62101400.

Changqing Xu<EMAIL_ADDRESS>Kaijie Xu<EMAIL_ADDRESS>Jun Wang<EMAIL_ADDRESS>Jingxuan Bai<EMAIL_ADDRESS>School of
Mathematical Sciences, Suzhou University of Science and Technology,
Suzhou,China  School of Electronic Engineering, Xidian University, Xi’an,
China

###### Abstract

In this paper, we introduce the Grassmann tensor by tensor product of vectors
and some basic terminology in tensor theory. Some basic properties of the
Grassmann tensors are investigated and the tensor language is used to rewrite
some relations and correspondences in the mutliview geometry. Finally we show
that a polytope in the Euclidean space $\mathbb{R}^{n}$ can also be concisely
expressed as the Grassmann tensor generated by its vertices.

###### keywords:

Anti-symmetric tensor; Grassmann tensor; multiview geometry; polytope; tensor
product.
AMS Subject Classification: 53A45, 15A69.

##  1 Introduction

Tensors play a very important role in deep learning and machine learning[32].
They are at the heart of algorithms such as convolutional neural networks
(CNNs) and recurrent neural networks (RNNs) which are widely used in many
fields e.g. image recognition[7], natural language processing (NLP)[8], and
time series analysis (TSA)[29].
A tensor is a multi-dimensional array of numerical values used to describe
high dimensional data such as the physical state or properties of a material
in physics and mechanics [20, 21, 18]. In image analysis, we usually use a
matrix to capture the intensity of light along with the spatial coordinates of
the image to illustrate a grayscale image, and a third-order tensor to
represent a batch of grayscale images with two spatial modes and one mode
indexing different images in the batch. A color image can be algebraically
described by a 3-order tensor identical to a triple of matrices $(R,G,B)$,
each representing the color image in one channel. In this way, a color video
can be represented by a fourth-order tensor
$\mathcal{A}=(A_{ijkl})\in\mathbb{R}^{m\times n\times 3\times p}$ where the
discretized video flow is sampled into a sequence of $p$ frames with each a
color image of size $m\times n$. In general, the more indices a tensor has,
the more degrees of freedom it represents. Thus tensors can compactly
represent very high-dimensional data. Tensors also make many operations easier
to perform than matrices. For example, they are easily manipulated using
automatic differentiation software like TensorFlow and ByTorch, which can
automatically compute the gradient of a tensor with respect to any other
tensor.
Deep learning models are composed of layers each of which takes some input
data and produces the output after some transformations. There are many types
of layers, including convolutional layers, pooling layers and recurrent
layers, which are fully connected and parameterized by tensors. Tensors are
also used to represent the weights of neural networks. A weight tensor is
simply a tensor that is used as a parameter in a layer. When we train a neural
network, we need to optimize the values of these weight tensors to minimize
some loss functions.
Tensors have already found tremendous applications in image analysis and
signal processing[3, 6, 24, 33], facial recognitions[11] and computer
vision[14, 16, 17, 6], including object and motion recognition and video
understanding since 1997[26]. Quan and Kanade[28] and Faugeras et al. [10] and
Quan [27] studied projections from $\mathbb{P}^{2}$ to $\mathbb{P}^{1}$,
solved the reconstruction problem by trifocal tensors and presented two
possible reconstructions in the case. Faugeras et al. [10] investigated the
self-calibration of a camera undergoing motion in a plane. Hartley and Vidal
[14] use tensors to compute non-rigid structure and motion under perspective
projection. The bifocal, trifocal and quadrifocal tensor have been established
to reconstruct a 3D scene from its projection respectively in two, three or
four images ([15, 12, 16, 13, 11]).
There are some already known research work to reconstruct the scene points by
tensors[17], including the trifocal tensors[1, 2, 4, 5] and the quadrifocal
tensors[30]. Wolf and Shashua[31] investigated the projections from
$\mathbb{P}^{n}$ to $\mathbb{P}^{2}$ to analyze several different problems in
dynamic scene, but no general way of defining such tensors. Hartley and
Schaffalitzky[13] initialized the Grassmann tensors for the unification of
different form of the view tensors and the algorithms for estimating the
projection matrices. They show that the projection matrices can be determined
uniquely by a Grassmann tensor up to projective equivalence. However, the
computations involved to extract the projections and the reconstruction are
still limited to matrix techniques.
In this paper, we introduce the Grassmann (Plücker) tensor by the anti-
symmetric operation on the tensor product of vectors, also introduced are some
basic terminology and notations of tensor theory. We investigate properties of
Grassmann tensor and then use Grassmann tensors to simplify some relations and
correspondences in mutliview geometry. We show in the end of the paper that a
polytope in Euclidean space $\mathbb{R}^{n}$ can be concisely expressed as the
Grassmann tensor generated by its vertices.
Recall that a tensor is a multi-way array which is also called a hypermatrix.
A matrix is a 2-order tensor with two modes: row and column, and an $m$-order
tensor has $m$ modes with entries addressed by $m$ indices. A tensor can also
be regarded as a multilinear mapping. For more detail in tensor theory we
refer the reader to [25].
We denote by $[m]$ the set $\left\\{1,2,\ldots,m\right\\}$ for any positive
integer $m$ and by $\mathcal{P}_{m}$ the set of permutations on $[m]$.
Throughout the paper, we use the tensorial notation, i.e., tensors of order 0
(scalars) are denoted by means of italic type letters $a,b,x,y$ and some Greek
letters $\lambda,\mu$ etc., tensors of order 1 (vectors) by means of boldface
italic letters $\textbf{x},\textbf{y},\textbf{z}$ and Greek letters
$\alpha,\beta,\gamma$, tensors of order two (matrices) by capital boldface
letters $A,B,X,Y,M$, and tensors of higher orders by curlicue letters
$\mathcal{A},\mathcal{B},\mathcal{X},\mathcal{Y},\cdots$. An $m$-order tensor
$\mathcal{A}$ is of size $\mathbb{I}_{m}:=I_{1}\times\ldots\times I_{m}$ if
the dimension of the $k$-mode of $\mathcal{A}$ is $I_{k}$ for $k\in[m]$.
Denote by $\mathcal{T}_{\mathbb{I}}$ for the set of all real tensors of size
$\mathbb{I}_{m}$. An $m$-order tensor $\mathcal{A}$ is called an $m$th order
$n$-dimensional real tensor if $I_{1}=I_{2}=\ldots=I_{m}:=n$ for some positive
integer $m$. The set of all $m$th order $n$-dimensional real tensors is
denoted by $\mathcal{T}_{m,n}$. For our convenience, we denote

$S(m,n)=\left\\{(i_{1},i_{2},\ldots,i_{m}):i_{k}\in[n],\forall
k\in[m]\right\\}$

which usually serves as the index set of a tensor in $\mathcal{T}_{m;n}$. An
$m$th order $n$-dimensional real tensor $\mathcal{A}\in\mathcal{T}_{m;n}$ is
an $m$-array whose entries are indexed by
$\sigma:=(i_{1},i_{2},\ldots,i_{m})\in S(m,n)$. We sometimes denote
$A_{i_{1}i_{2}\ldots i_{m}}$ by $A_{\sigma}$ for
$\sigma=(i_{1},\ldots,i_{m})$. A tensor $\mathcal{A}\in\mathcal{T}_{m;n}$ is
called _symmetric_ if each of its entries $A_{\sigma}$ is invariant under any
permutation of its indices, i.e.,

$A_{\sigma}=A_{\tau(\sigma)}\quad\forall\tau\in\mathcal{P}_{m},\sigma\in
S(m,n).$

A symmetric tensor $\mathcal{A}\in\mathcal{T}_{m;n}$ is uniquely associated
with an $m$-order $n$-variate homogeneous polynomial

$f_{\mathcal{A}}(\textbf{x})=\mathcal{A}\textbf{x}^{m}=\sum\limits_{i_{1},i_{2},...,i_{m}}A_{i_{1},i_{2},...,i_{m}}x_{i_{1}}x_{i_{2}}\ldots
x_{i_{m}}$ (1.1)

$\mathcal{A}$ is called _positive semidefinite_ (_positive definite_) if
$f_{\mathcal{A}}(\textbf{x})=\mathcal{A}\textbf{x}^{m}>0$($\geq 0$) for all
nonzero vector $\textbf{x}\in\mathbb{R}^{n}$.
We need some preparations on the multiplications of tensors and the related
terminology and notations before we introduce the Grassmann tensor. There are
mainly three kind of multiplications of tensors: the outer product (also
called tensor product), contractive (mode) product, and the t-product defined
on 3-order tensors. We will introduce the first two in this paper and
generalize the outer-product of two tensors. For the t-product of two 3-order
tensors, we refer the reader to [22, 23, 34].
Let $p,q$ be positive integers and
$\mathcal{A}\in\mathcal{T}_{p;n},\mathcal{B}\in\mathcal{T}_{q;n}$. Let
$\theta:=\left\\{\theta_{1},\theta_{2},\ldots,\theta_{p}\right\\}$ be a
nonempty subset of $[m]$ with complement
$\theta^{c}:=\left\\{\phi_{1},\phi_{2},\ldots,\phi_{q}\right\\}$, both ordered
increasingly. The _outer product_ of tensors $\mathcal{A},\mathcal{B}$ along
$(\theta,\theta^{c})$, which is denoted by
$\mathcal{A}\times_{(\theta,\theta^{c})}\mathcal{B}$ or simply
$\mathcal{A}\times_{\theta}\mathcal{B}$, is defined as

$\mathcal{C}=\mathcal{A}\times_{\theta}\mathcal{B}=(C_{\sigma}),\mbox{with}~{}C_{\sigma}=A_{\theta_{1}\theta_{2}\ldots\theta_{p}}B_{\phi_{1}\phi_{2}\ldots\phi_{q}}$
(1.2)

where $m:=p+q,\sigma=(i_{1},i_{2},\ldots,i_{m})$. For $\theta:=[p]$, we denote
$\mathcal{A}\times_{\theta}\mathcal{B}$ simply by
$\mathcal{A}\times\mathcal{B}$.
The outer product of tensors satisfies the law of the association, i.e.,

$(\mathcal{A}\times\mathcal{B})\times\mathcal{C}=\mathcal{A}\times(\mathcal{B}\times\mathcal{C})$
(1.3)

for any tensors $\mathcal{A},\mathcal{B}$ and $\mathcal{C}$, and thus applies
to any number of tensors. A special case is when all tensors involved are
vectors, i.e.,

$\mathcal{X}=\textbf{x}^{(1)}\times\textbf{x}^{(2)}\times\cdots\times\textbf{x}^{(m)},\quad\textbf{x}^{(k)}\in\mathcal{C}^{n}.$
(1.4)

$\mathcal{X}$ is a rank-one $m$th order $n$-dimensional real tensor and is
denoted $\textbf{x}^{m}$ when all $\textbf{x}^{(k)}$ are identical (to
$\textbf{x}\in\mathcal{C}^{n}$). It is shown [9] that every $m$th order
$n$-dimensional real tensor can be written as the sum of some rank-one
tensors.
Given a set $S$ with cardinality $\left|S\right|=n$ and a positive number
$q\in[n]$. We denote by $S^{[q]}$ the set of all $q$-sets of $S$, i.e.,
$S^{[q]}=\left\\{T\subset S\colon\left|T\right|=q\right\\}$. For example, if
$S=[4]=\left\\{1,2,3,4\right\\}$ and $q=2$, we have

$[4]^{[2]}=\left\\{\left\\{1,2\right\\},\left\\{1,3\right\\},\left\\{1,4\right\\},\left\\{2,3\right\\},\left\\{2,4\right\\},\left\\{3,4\right\\}\right\\}.$

######  Example 1.1.

The outer product of two matrices is another special case of (1.2). Let
$A\in\mathcal{C}^{m_{1}\times n_{1}},B\in\mathcal{C}^{m_{2}\times n_{2}}$, and
let $\theta:=\\{s,t\\}\subset[4],s<t,\\{p,q\\}=\theta^{c},p<q$. Then
$A\times_{\theta}B$ is a 4-order tensor satisfying

$(\mathcal{A}\times_{\theta}B)_{i_{1}i_{2}i_{3}i_{4}}=A_{i_{s}i_{t}}B_{i_{p}i_{q}}$
(1.5)

There are six outer-products corresponding resp. to six elements in
$[4]^{[2]}$, i.e., $A\times_{\theta}B$ with
$\theta\in\left\\{\left\\{1,2\right\\},\left\\{1,3\right\\},\left\\{1,4\right\\},\left\\{2,3\right\\},\left\\{2,4\right\\},\left\\{3,4\right\\}\right\\}$,
When $A=B\in\mathbb{R}^{n\times n}$, we have
$A\times_{\theta}A=A\times_{\theta^{c}}A$.

For any matrix $A\in\mathbb{R}^{p\times q}$, we can also generate different
kind of $2k$-order tensor $A^{[k]}:=\overbrace{A\times A\times\cdots\times
A}^{k}$. For example, we can define $\mathcal{A}=(A_{i_{1}\ldots
i_{k};j_{1}\ldots j_{k}})$ as

$A_{i_{1}i_{2}\ldots i_{k};j_{1}j_{2}\ldots
j_{k}}=\prod\limits_{s=1}^{k}A_{i_{s}j_{s}}$ (1.6)

which is a _paired symmetric tensor_ (e.g. [19]) since for any permutation
$\alpha\in\mathcal{P}_{3}$ we have

$A_{i_{1}i_{2}\ldots i_{k};j_{1}j_{2}\ldots
j_{k}}=A_{i_{\alpha(1)}i_{\alpha(2)}\ldots
i_{\alpha(k)};j_{\alpha(1)}j_{\alpha(2)}\ldots j_{\alpha(k)}}$

Given any $2k$-order tensor $\mathcal{A}=(A_{i_{1}\ldots i_{k};j_{1}\ldots
j_{k}})$ and an $k$-order tensor $\mathcal{B}$. The contractive product of
$\mathcal{A}$ with $\mathcal{B}$, denoted $\mathcal{A}\mathcal{B}$, is defined
as

$(\mathcal{A}\mathcal{B})_{i_{1}i_{2}\ldots
i_{k}}=\sum\limits_{j_{1},j_{2},\ldots,j_{k}}A_{i_{1}i_{2}\ldots
i_{k};j_{1}j_{2}\ldots j_{k}}B_{j_{1}j_{2}\ldots j_{k}}$ (1.7)

Given a tensor $\mathcal{A}\in\mathcal{T}_{m;n}$ and matrix
$B\in\mathbb{R}^{n\times p}$. The contractive product of $\mathcal{A}$ by $B$
along the $k$-mode, denoted $\mathcal{A}\times_{(k)}B$ ($\forall k\in[m]$), is
defined by

$(\mathcal{A}\times_{(k)}B)_{i_{1}\ldots i_{k-1}i_{k}i_{k+1}\ldots
i_{n}}=\sum_{j=1}^{n}A_{i_{1},\ldots i_{k-1}ji_{k+1}\ldots i_{n}}B_{ji_{k}}$
(1.8)

We write $\mathcal{A}B$ for $\mathcal{A}\times_{(m)}B$. Note that it reduces
to a matrix product for $m=2$, i.e.,
$\mathcal{A}\times_{(2)}B=AB,A\times_{(1)}B=A^{\top}B$.
The contractive product along one mode can be generalized to two modes
resulting in an $(m-2)$th order tensor, and it can preserve or compress (other
than expand as a sequence of outer product) the tensors and is useful in many
aspects. For example, the homogeneous polynomial
$f(\textbf{x}):=\mathcal{A}\textbf{x}^{m}$ defined by (1.1) can be regarded as
the contractive product of $\mathcal{A}$ with the rank-one tensor
$\textbf{x}^{m}$, and $\mathcal{A}\textbf{x}^{m-1}$ is employed to define
various eigen-pairs (see e.g. [25]).

Now we let
$\textbf{v}_{1},\textbf{v}_{2},\cdots,\textbf{v}_{m}\in\mathbb{C}^{n}$ with
each $\textbf{v}_{j}\neq 0$, and define the linear map

$\mathcal{L}:=\sum\limits_{\sigma\in\mathcal{P}_{m}}(-1)^{\tau(\sigma)}\sigma$
(1.9)

on $\mathcal{T}_{m;n}$ as

$\textbf{v}_{1}\wedge\cdots\wedge\textbf{v}_{m}=\mathcal{L}(\textbf{v}_{1}\times\textbf{v}_{2}\times\cdots\times\textbf{v}_{m})$
(1.10)

We call the tensor $\textbf{v}_{1}\wedge\cdots\wedge\textbf{v}_{m}$ defined by
(1.10) the _Grassmann_ (or _Plücker_) tensor associated with
$\left\\{\textbf{v}_{k}\right\\}_{k=1}^{m}$ and denote it by
$\mathcal{P}[\textbf{v}_{1},\ldots,\textbf{v}_{m}]$. Note that
$\mathcal{L}^{2}=\mathcal{L}$ and
$\mathcal{P}[\textbf{v}_{1},\ldots,\textbf{v}_{m}]\neq 0$ if and only if
$\textbf{v}_{1},\cdots,\textbf{v}_{m}$ are linearly independent [36]. For
$m=2$, $\mathcal{P}[\textbf{v}_{1},\textbf{v}_{2}]\in\mathbb{R}^{n\times n}$
($n\geq 2$) is an anti-symmetric matrix of rank 2 when
$\textbf{v}_{1},\textbf{v}_{2}\in\mathbb{R}^{n}$ are linearly independent.
It is known[36] that a Grassmann tensor is an anti-symmetric tensor. Hartley
and Schaffalitzky[13] first introduced the Grassmann tensors in the context of
multiview geometry and used Grassmann tensors to extend the fundamental
matrices (bifocal tensors) to higher order multi-focal tensors e.g. trifocus
tensor and quadrifocus tensor to establish the relationships between sets of
corresponding subspaces in various views.

##  2  Grassmann tensors and their properties

Let
$A=[\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}]\in\mathbb{R}^{n\times
m}$ be a matrix with $\textbf{a}^{1},\ldots,\textbf{a}^{m}\in\mathbb{R}^{n}$
being its columns and $m\leq n$. Denote
$\mathcal{P}:=\textbf{a}^{1}\wedge\cdots\wedge\textbf{a}^{m}$. Then
$\mathcal{P}\in\mathcal{T}_{m;n}$ is a $m$th order $n$-dimensional real tensor
. We have

######  Lemma 2.2.

$\mathcal{P}\textbf{x}^{m}\equiv 0$ for all $\textbf{x}\in\mathbb{R}^{n}$.

###### Proof.

By definition, we have

$\displaystyle\mathcal{P}\textbf{x}^{m}$ $\displaystyle=$
$\displaystyle\left(\sum\limits_{\sigma}\texttt{sgn}(\sigma)\textbf{a}^{i_{1}}\wedge\textbf{a}^{i_{2}}\wedge\cdots\wedge\textbf{a}^{i_{m}}\right)\textbf{x}^{m}$
$\displaystyle=$
$\displaystyle\left[\sum\limits_{\sigma}\texttt{sgn}(\sigma)\left(\textbf{x}^{\top}\textbf{a}^{i_{1}}\right)\wedge\cdots\wedge\left(\textbf{x}^{\top}\textbf{a}^{i_{m}}\right)\right]$
$\displaystyle=$
$\displaystyle\prod\limits_{k=1}^{m}\left(\textbf{x}^{\top}\textbf{a}^{k}\right)\left(\sum\limits_{\sigma}\texttt{sgn}(\sigma)\right)$
$\displaystyle=$ $\displaystyle 0.$

Here $\sigma=(i_{1},i_{2},\ldots,i_{m})\in\mathcal{P}_{m}$ is any possible
permutation on $[m]$. ∎

Lemma 2.2 shows that each anti-symmetric tensor corresponds to a zero
polynomial, which is obvious in the matrix case.

######  Theorem 2.3.

Let
$A=[\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}]\in\mathbb{R}^{n\times
m},\mathcal{A}=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\ldots\wedge\textbf{a}^{m}$.
Then $\mathcal{A}=(A_{i_{1}\ldots i_{m}})\in\mathcal{T}_{m;n}$ with

$A_{i_{1}\ldots i_{m}}=\det A[i_{1},\ldots,i_{m}|\colon]$ (2.1)

where $A[i_{1},\ldots,i_{m}|\colon]$ denotes the $m\times m$ submatrix of $A$
consisting of the $(i_{1},\ldots,i_{m})$-rows of $A$.

###### Proof.

For any $\eta:=(i_{1},i_{2},\ldots,i_{m})\in S(m,n)$, we denote
$r=\left|\eta\right|$ for the number of distinct elements in set
$\left\\{i_{1},i_{2},\ldots,i_{m}\right\\}$. Then we have

$\displaystyle A_{i_{1}i_{2}\ldots i_{m}}=A_{\eta}$ $\displaystyle=$
$\displaystyle(\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\ldots\wedge\textbf{a}^{m})_{\eta}$
$\displaystyle=$
$\displaystyle[\mathcal{L}(\textbf{a}^{1}\times\textbf{a}^{2}\times\ldots\times\textbf{a}^{m})]_{\eta}$
$\displaystyle=$
$\displaystyle\sum\limits_{\sigma}\texttt{sgn}(\sigma)a_{i_{1}\sigma(1)}a_{i_{2}\sigma(2)}\ldots
a_{i_{m}\sigma(m)}$ $\displaystyle=$ $\displaystyle\det
A[i_{1},\ldots,i_{m}|\colon]$

∎

Given an $m$th order $n$-dimensional real tensor
$\mathcal{A}\in\mathcal{T}_{m;n}$ and $\kappa:=(P_{1},\ldots,P_{m})$ where
$P_{k}$ is a nonempty subset of $[n]$ for each $k$. A subtensor of
$\mathcal{A}$ determined by $\kappa$, denoted $\mathcal{A}[\kappa]$, is an
$m$-order tensor whose elements are indexed within $P_{1}\times\cdots\times
P_{m}$. If $P_{1}=\ldots=P_{m}=S$ with $\left|S\right|=r$, we denote
$\mathcal{A}[\kappa]$ by $\mathcal{A}[S]$ and call it an _$r$ -dimensional
principal subtensor_, i.e., $\mathcal{A}[S]\in\mathcal{T}_{m;r}$. For $S=[r]$,
$\mathcal{A}[S]$ is called a _leading principal subtensor_ (abbrev. LPS).
Now we let
$\mathcal{A}=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\ldots\wedge\textbf{a}^{m}$.
By Theorem 2.3, we see that $\mathcal{A}=0$ if and only if vectors
$\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}$ are linearly dependent.
When $\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}$ are linearly
independent, we have

######  Corollary 2.4.

Let
$A=[\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}]\in\mathbb{R}^{n\times
m}$ with $\texttt{rank}(A)=m\leq n$ and
$\mathcal{A}=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\ldots\wedge\textbf{a}^{m}$.
Then for any $\sigma:=(i_{1},i_{2},\ldots,i_{m})\in S(m,n)$,
$\mathcal{A}[\sigma]\neq 0$ if and only if $\left|\sigma\right|=m$ and $\det
A[\sigma|\colon]\neq 0$.

######  Corollary 2.5.

Let $\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}\in\mathbb{R}^{n}$ be
linearly independent and
$\mathcal{A}=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\ldots\wedge\textbf{a}^{m}$.
Then $\mathcal{A}$ has at most $\frac{n!}{(n-m)!}$ nonzero elements.

###### Proof.

By Corollary 2.4, there are at most ${n\choose m}$ nonzero $LPS$ subtensors
$\mathcal{A}[\alpha]\in\mathcal{T}_{m;m}$ where $\left|\alpha\right|=m$ and
$\alpha\in S(m,n)$ is an $m$-tuple chosen from $[n]$ with no repetitions and
there are $m!$ nonzero elements in $\mathcal{A}[\alpha]$ if
$\det(A[\alpha|\colon])\neq 0$. ∎

It follows from Corollary 2.4 that

######  Corollary 2.6.

$\mathcal{A}=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\ldots\wedge\textbf{a}^{n}=\det(A)\mathcal{H}$
(2.2)

where $\mathcal{H}=(H_{\sigma})\in\mathcal{T}_{n;n}$ with
$H_{\sigma}=\texttt{sgn}(\sigma)$ being the _generalized sign function_
defined as

$\texttt{sgn}(\sigma)=\left\\{\begin{array}[]{cl}1,&\texttt{ if }\sigma\in
E_{n},\\\ -1,&\texttt{ if }\sigma\in O_{n},\\\ 0,&\texttt{ otherwise.
}\end{array}\right.$

Here $E_{n}$ and $O_{n}$ denote respectively the set of even and odd
permutations on $[n]$.

As a special case of Corollary 2.4, we have

######  Corollary 2.7.

Let $\alpha,\beta\in\mathbb{R}^{2}$. Then

$\mathcal{P}[\alpha,\beta]=\det[\alpha,\beta]E_{2}$ (2.3)

where $E_{2}$ is the elementary antisymmetric matrix defined as

$E_{2}=\left[\begin{array}[]{cc}0&1\\\ -1&0\end{array}\right]$ (2.4)

Given a tensor $\mathcal{A}\in\mathcal{T}_{m;n}$ and a vector
$\textbf{b}\in\mathbb{R}^{n}$. The _wedge product_ of $\mathcal{A}$ with b,
denoted $\mathcal{A}\wedge\textbf{b}$, is defined by

$\mathcal{A}\wedge\textbf{b}=\sum\limits_{k=1}^{m+1}(-1)^{k-1}\mathcal{A}\times_{\hat{k}}\textbf{b}$
(2.5)

where $\mathcal{A}\times_{\hat{k}}\textbf{b}\in\mathcal{T}_{m+1;n}$ is the
outer-product of $\mathcal{A}$ and b with the $k$-mode assigned to b. We will
show in the following that
$\mathcal{A}\wedge\textbf{c}=\textbf{a}\wedge\textbf{b}\wedge\textbf{c}$ if
$\mathcal{A}=\textbf{a}\wedge\textbf{b}$ for some
$\textbf{a},\textbf{b}\in\mathbb{R}^{n}$.

######  Example 2.8.

Let $\textbf{a}\in\mathbb{R}^{n}$ be a nonzero vector with $a_{i}$ as its
$i$th coordinate, and $\mathcal{A}=(A_{ijk})=I_{n}\wedge\textbf{a}$. Then
$\mathcal{A}\in\mathcal{T}_{3;n}$ with elements

$\begin{array}[]{ll}A_{iii}=a_{i},&\forall i,\\\
A_{iij}=A_{jii}=-A_{iji}=a_{j},&\mbox{if}~{}i\neq j,\\\
A_{ijk}=0,&\mbox{if}~{}i,j,k~{}\mbox{are distinct}.\end{array}$

Thus we have
$\mathcal{A}\textbf{x}^{3}=\left<\textbf{x},\textbf{x}\right>\left<\textbf{a},\textbf{x}\right>=\sum\limits_{i=1}^{n}a_{i}x_{i}^{3}$.

The following proposition offers the connection of the matrix-vector wedge and
the vector wedges as well as the association law on wedge products of vectors.

######  Proposition 2.9.

Let $\textbf{a},\textbf{b},\textbf{c}\in\mathbb{R}^{n}$ be any vectors with
$n\geq 3$. Then

$(\textbf{a}\wedge\textbf{b})\wedge\textbf{c}=\textbf{a}\wedge(\textbf{b}\wedge\textbf{c})=\textbf{a}\wedge\textbf{b}\wedge\textbf{c}$
(2.6)

###### Proof.

We need only to show

$(\textbf{a}\wedge\textbf{b})\wedge\textbf{c}=\textbf{a}\wedge\textbf{b}\wedge\textbf{c}$
(2.7)

Denote $A=(a_{ij})=\textbf{a}\wedge\textbf{b}$. By (2.5), the left hand side
of (2.7) can be rewritten equivalently as

$\displaystyle A\wedge\textbf{c}$ $\displaystyle=$
$\displaystyle(\textbf{a}\times\textbf{b}-\textbf{b}\times\textbf{a})\times_{\hat{1}}\textbf{c}-(\textbf{a}\times\textbf{b}-\textbf{b}\times\textbf{a})\times_{\hat{2}}\textbf{c}+(\textbf{a}\times\textbf{b}-\textbf{b}\times\textbf{a})\times_{\hat{3}}\textbf{c}$
$\displaystyle=$
$\displaystyle\textbf{c}\times\textbf{a}\times\textbf{b}-\textbf{c}\times\textbf{b}\times\textbf{a}-\textbf{a}\times\textbf{c}\times\textbf{b}+\textbf{b}\times\textbf{c}\times\textbf{a}+\textbf{a}\times\textbf{b}\times\textbf{c}-\textbf{b}\times\textbf{a}\times\textbf{c}$
$\displaystyle=$
$\displaystyle\textbf{a}\times\textbf{b}\times\textbf{c}+\textbf{b}\times\textbf{c}\times\textbf{a}+\textbf{c}\times\textbf{a}\times\textbf{b}-\textbf{a}\times\textbf{c}\times\textbf{b}-\textbf{c}\times\textbf{b}\times\textbf{a}-\textbf{b}\times\textbf{a}\times\textbf{c}$
$\displaystyle=$ $\displaystyle\textbf{a}\wedge\textbf{b}\wedge\textbf{c}$

The equality
$\textbf{a}\wedge(\textbf{b}\wedge\textbf{c})=\textbf{a}\wedge\textbf{b}\wedge\textbf{c}$
can also be proved by similar arguments. ∎

To generalize (2.5) to any pair of tensors $(\mathcal{A},\mathcal{B})$ with
$\mathcal{A}\in\mathcal{T}_{p;n},\mathcal{B}\in\mathcal{T}_{q;n}$, we let
$m:=p+q,\theta\subset[m],\left|\theta\right|=p$ and $\theta^{c}$ be the
complement of $\theta$ in $[p+q]$ ($\left|\theta^{c}\right|=q$). We abuse the
notation $\theta$ ($\theta^{c}$) both for the subset and the corresponding
sequence ordered increasingly. Then $\theta\cup\theta^{c}=[m]$ is a
permutation of $[m]$. Now we define

$\mathcal{A}\wedge\mathcal{B}=\sum\limits_{\theta\in
Q_{p,m}}\texttt{sgn}(\theta)\mathcal{A}\times_{\theta}\mathcal{B}$ (2.8)

where $Q_{p,m}$ is the set of $p$-sequences whose entries are chosen from
$[m]$ with increasing order. For $p=q=2$ and $A,B\in\mathbb{R}^{n\times n}$,
(2.8) implies

$A\wedge
B=A\times_{(1,2)}B-A\times_{(1,3)}B+A\times_{(1,4)}B+A\times_{(2,3)}B-A\times_{(2,4)}B+A\times_{(3,4)}B$
(2.9)

It is out of our expectation when we find two more plus items than the minus
ones in (2.9), other than a balance between the number of positive and that of
negative items in the expression of the vector wedges. Furthermore, If we take
$A=B$, then

$A\wedge A=2(A\times A-A\times_{(1,3)}A+A\times_{(1,4)}A)$ (2.10)

######  Corollary 2.10.

Let $A\in\mathbb{R}^{n\times n}$ be either a symmetric matrix or a rank-one
matrix. Then $A\wedge A=2(A\times A)$.

###### Proof.

First we assume that $\texttt{rank}(A)=1$. Then there exist some vectors
$\alpha,\beta\in\mathbb{R}^{n}$ such that $A=\alpha\times\beta$. Note that

$(\alpha\times\beta)\times_{(1,3)}(\alpha\times\beta)=(\alpha\times\beta)\times_{(1,4)}(\alpha\times\beta)=\alpha\times\alpha\times\beta\times\beta,$

by (2.9), we get

$\displaystyle A\wedge A$ $\displaystyle=$
$\displaystyle(\alpha\times\beta)\wedge(\alpha\times\beta)$ $\displaystyle=$
$\displaystyle
2[(\alpha\times\beta)\times(\alpha\times\beta)-(\alpha\times\beta)\times_{(1,3)}(\alpha\times\beta)+(\alpha\times\beta)\times_{(1,4)}(\alpha\times\beta)]$
$\displaystyle=$ $\displaystyle
2(\alpha\times\beta\times\alpha\times\beta)=2A\times A.$

If $A$ is symmetric, then $A$ can be written as
$A=\sum\limits_{i=1}^{r}\alpha_{i}\times\alpha_{i}$ for some
$\alpha_{i}\in\mathbb{R}^{n}$. Thus we have by

$\displaystyle A\wedge A$ $\displaystyle=$
$\displaystyle\sum\limits_{i,j}(\alpha_{i}\times\alpha_{i})\wedge(\alpha_{j}\times\alpha_{j})$
$\displaystyle=$ $\displaystyle
2\sum\limits_{i,j}\alpha_{i}\times\alpha_{i}\times\alpha_{j}\times\alpha_{j}=2(A\times
A).$

The last equation comes from the expansion of $A\times A$. ∎

######  Corollary 2.11.

For any matrix $X\in\mathbb{R}^{n\times n}$, we have

$(I_{n}\wedge I_{n})X=2\texttt{Tr}(X)I_{n}$ (2.11)

where the tensor-matrix product is contractive on the last two modes.

###### Proof.

We take $A$ to be the identity matrix $I_{n}$ in (2.10) and denote
$\mathcal{J}=I_{n}\wedge I_{n}$, then $\mathcal{J}=2I_{n}\times
I_{n}\in\mathcal{T}_{4;n}$ by Corollary 2.10 and so

$(\mathcal{J}X)_{ij}=2[(I_{n}\times
I_{n})X]_{ij}=2\delta_{ij}\sum\limits_{k_{1},k_{2}}\delta_{k_{1}k_{2}}X_{k_{1}k_{2}}=2\texttt{Tr}(X)\delta_{ij},$

for all $i,j$. Thus (2.11) holds. ∎

We remark that tensor
$\mathcal{K}_{n}:=I_{n}\times_{(1,3)}I_{n}\in\mathcal{T}_{4;n}$ acts as an
_identity map_ since $\mathcal{K}_{n}X=X=X\mathcal{K}_{n}$ for all
$X\in\mathbb{R}^{n\times n}$ where

$(\mathcal{A}X)_{ij}=\sum\limits_{i^{\prime},j^{\prime}}A_{iji^{\prime}j^{\prime}}X_{i^{\prime}j^{\prime}},(X\mathcal{A})_{ij}=\sum\limits_{i^{\prime},j^{\prime}}X_{i^{\prime}j^{\prime}}A_{i^{\prime}j^{\prime}ij}.$

$\mathcal{K}_{n}$ is also called the _commutation tensor_ in statistics [35].

The following lemma, which is also of interest in itself and will be used to
prove the main result in the next section, is to be generalized to Lemma 3.19.

######  Lemma 2.12.

Let $\alpha,\beta,\gamma\in\mathbb{R}^{n}$ be linearly independent and $n\geq
3$. Then $\alpha\wedge\beta,\beta\wedge\gamma,\gamma\wedge\alpha$ are also
linearly independent in the Grassmann algebra.

###### Proof.

If $\alpha\wedge\beta,\beta\wedge\gamma,\gamma\wedge\alpha$ are linearly
dependent, then there exist some scalar $\lambda,\mu\in\mathbb{R}$ such that

$\alpha\wedge\beta=\lambda(\beta\wedge\gamma)+\mu(\gamma\wedge\alpha)$

which implies that $\alpha\wedge\beta=(\lambda\beta-\mu\alpha)\wedge\gamma$
and thus $\alpha\wedge\beta\wedge\gamma=0$ (e.g. [36]). It turns out by [36]
that $\alpha,\beta,\gamma$ must be linearly dependent, a contradiction to the
hypothesis. ∎

##  3  Applications of Grassmann tensors in multiview geometry and geometry

Tensors can be employed to express the correspondences in computer vision.
They can also be used to estimate the fundamental matrix, which is crucial in
3D reconstruction from two-views in the vision. A fundamental matrix $F$ can
be described as the homography transforming a point x in an image plane to a
line $l^{\prime}=F\textbf{x}$ in another plane, so

$(\textbf{x}^{\prime})^{\top}F\textbf{x}=0$ (3.1)

holds for every corresponding point pair $(\textbf{x},\textbf{x}^{\prime})$.
(3.1) can alternatively be written in tensor form as

$F\times_{1}\textbf{x}^{\prime}\times_{2}\textbf{x}=0$ (3.2)

where $F$ is viewed as a second-order tensor. Note that here all points and
planes are expressed in homogeneous coordinate system, i.e.,
$\textbf{x},\textbf{x}^{\prime}\in\mathbb{R}^{3}$. Another expression for $F$
is through the two camera matrices.
The Grassmann tensor can be used to simplify some expressions in the geometry.
For example, a plane determined by three points at general positions can be is
usually expressed by a determinant equation as in the following.

######  Proposition 3.13.

Let $X_{1},X_{2},X_{3}\in\mathbb{P}^{3}$ ($X_{k}$ is 4-dimensional) be located
in general positions, i.e., they are non-colinear. Then a point
$X\in\mathbb{R}^{4}$ lies on the plane determined by $X_{1},X_{2},X_{3}$ if
and only if $\det[X,X_{1},X_{2},X_{3}]=0$.

By the Grassmann tensor, however, we can put it in a more concise form, as
stated in the following theorem.

######  Theorem 3.14.

Let $\alpha_{1},\alpha_{2},\alpha_{3}\in\mathbb{R}^{4}$ be vectors
representing respectively planes $\pi_{1},\pi_{2}$ and $\pi_{3}$ located at
general positions. Then these planes meet at a unique point
$\textbf{x}\in\mathbb{R}^{4}$ if and only if $\mathcal{A}\textbf{x}=0$ where
$\mathcal{A}=\alpha_{1}\wedge\alpha_{2}\wedge\alpha_{3}\in\mathcal{T}_{3;4}$.

###### Proof.

We let $\textbf{x}\in\mathbb{R}^{4}$ be the intersection point of the three
planes $\pi_{1},\pi_{2}$ and $\pi_{3}$. By definition, we have

$\alpha_{i}^{\top}\textbf{x}=0,\quad i=1,2,3.$ (3.3)

Then by definition we have

$\displaystyle\mathcal{A}\textbf{x}$ $\displaystyle=$
$\displaystyle(\alpha_{1}\wedge\alpha_{2}\wedge\alpha_{3})\textbf{x}$
$\displaystyle=$
$\displaystyle(\alpha_{1}\times\alpha_{2}\times\alpha_{3}+\alpha_{2}\times\alpha_{3}\times\alpha_{1}+\alpha_{3}\times\alpha_{1}\times\alpha_{2}$
$\displaystyle-\alpha_{2}\times\alpha_{1}\times\alpha_{3}-\alpha_{3}\times\alpha_{2}\times\alpha_{1}-\alpha_{1}\times\alpha_{3}\times\alpha_{2})\textbf{x}$
$\displaystyle=$
$\displaystyle(\alpha_{3}^{\top}\textbf{x})\alpha_{1}\wedge\alpha_{2}+(\alpha_{1}^{\top}\textbf{x})\alpha_{2}\wedge\alpha_{3}+(\alpha_{2}^{\top}\textbf{x})\alpha_{3}\wedge\alpha_{1}$

So we have

$\mathcal{A}\textbf{x}=(\alpha_{3}^{\top}\textbf{x})\alpha_{1}\wedge\alpha_{2}+(\alpha_{1}^{\top}\textbf{x})\alpha_{2}\wedge\alpha_{3}+(\alpha_{2}^{\top}\textbf{x})\alpha_{3}\wedge\alpha_{1}$
(3.4)

Since $\alpha_{1},\alpha_{2},\alpha_{3}$ are linearly independent, we know
that
$\alpha_{1}\wedge\alpha_{2},\alpha_{2}\wedge\alpha_{3},\alpha_{3}\wedge\alpha_{1}$
are also linearly independent by Lemma 2.12. It follows from (3.4) that
$\mathcal{A}\textbf{x}=0$ is equivalent to (3.3). ∎

By the symmetry, we can deduce the following result which is analog to Theorem
3.14.

######  Corollary 3.15.

Let $\alpha_{1},\alpha_{2},\alpha_{3}\in\mathbb{R}^{4}$ be vectors
representing three points in $\mathbb{R}^{3}$ at general positions. Then they
uniquely determine a plane $\pi\in\mathbb{R}^{4}$. Furthermore, a point
$\textbf{x}\in\mathbb{R}^{4}$ lies on $\pi$ if and only if x satisfies
condition $\mathcal{A}\textbf{x}=0$ where
$\mathcal{A}=\alpha_{1}\wedge\alpha_{2}\wedge\alpha_{3}\in\mathcal{T}_{3;4}$.

By Corollary 3.15, we call
$\mathcal{A}=\alpha_{1}\wedge\alpha_{2}\wedge\alpha_{3}$ the _Grassmann
tensor_ or _Plücker tensor_ associated with plane $\pi$ which is determined by
points $\alpha_{1},\alpha_{2},\alpha_{3}\in\mathbb{R}^{4}$. This is actually
the extension of the _Plücker matrix_ of a line, as explained in the follows.
Let $L(X,Y)$ denote the line determined by two distinct points
$X,Y\in\mathbb{R}^{4}$ which are homogeneous represented. The _Plücker matrix_
associated with $X,Y$, denoted by $P:=P[X,Y]$, is defined as

$P:=X\wedge Y=X\times Y-Y\times X=XY^{\top}-YX^{\top}$ (3.5)

$P[X,Y]\in\mathbb{R}^{4\times 4}$ is a rank-2 anti-symmetric matrix. Different
pairs $(X,Y)$ may give the same Plücker matrix $P$. But we do have

######  Theorem 3.16.

Let $(X,Y)$ and $(X^{\prime},Y^{\prime})$ be two point pairs with
$X,Y,X^{\prime},Y^{\prime}\in\mathbb{R}^{4}$. Then $P[X,Y]=\lambda
P[X^{\prime},Y^{\prime}]$ for some nonzero scalar $\lambda$ if and only if
there is a nonsingular matrix $Q=(q_{ij})\in\mathbb{R}^{2\times 2}$ such that

$\left\\{\begin{array}[]{ccc}X^{\prime}&=&q_{11}X+q_{12}Y,\\\
Y^{\prime}&=&q_{21}X+q_{22}Y\end{array}\right.$ (3.6)

###### Proof.

We let $M=[X,Y,X^{\prime},Y^{\prime}]$. Then $M\in\mathbb{R}^{4\times 4}$. We
want to prove that $\texttt{rank}(M)=2$. We write $M_{1}=[X,Y]$ and
$M_{2}=[X^{\prime},Y^{\prime}]$, then we have $M_{k}\in\mathbb{R}^{4\times
2}$. If $X,Y$ are linearly dependent, then $P[X,Y]=0$, thus we may assume that
$X,Y$ (and $X^{\prime},Y^{\prime}$) are linearly independent. So
$\texttt{rank}(M_{k})=2$ for $k=1,2$.
Denote by $N(A)$ the null space of a given matrix $A$. We now show that

$\displaystyle N(P[X,Y])$ $\displaystyle=N(M_{1}^{\top})$ (3.7) $\displaystyle
N(P[X^{\prime},Y^{\prime}])$ $\displaystyle=N(M_{2}^{\top})$ (3.8)

To prove (3.7), we let $Z\in N(P[X,Y])$. Then

$0=P[X,Y]Z=(XY^{\top}-YX^{\top})Z=(Y^{\top}Z)X-(X^{\top}Z)Y,$

which implies $X^{\prime}Z=0$ and $Y^{\prime}Z=0$, and thus $Z\in
N(M^{\top})$. It follows that $N(P[X,Y])\subseteq N(M_{1}^{\top})$.
Conversely, we can show $N(M_{1}^{\top})\subseteq N(P[X,Y])$ by reversing the
argument. Thus (3.7) holds. Similarly we can show (3.8).
To show the sufficiency of (3.6), we first note that

$P[X,Y]=M_{1}DM_{1}^{\top},P[X^{\prime},Y^{\prime}]=M_{2}DM_{2}^{\top}$ (3.9)

where $D=E_{2}$ is defined by (2.4). If (3.6) holds, i.e., $M_{2}=M_{1}Q$ with
$Q\in\mathbb{R}^{2\times 2}$ nonsingular, then we have

$P[X^{\prime},Y^{\prime}]=M_{2}DM_{2}^{\top}=M_{1}QDQ^{\top}M_{1}^{\top}=M_{1}P[q_{1},q_{2}]M_{1}^{\top}$
(3.10)

where $Q=[q_{1},q_{2}]$ with $q_{k}\in\mathbb{R}^{2}$($k=1,2$). We note that
$q_{1},q_{2}$ are linearly independent due to the nonsingularity of $Q$, and
thus $P[q_{1},q_{2}]$ is not zero. Furthermore, we have
$P[q_{1},q_{2}]=\det(Q)D$ by simple computations. Consequently we get by
(3.10)

$P[X^{\prime},Y^{\prime}]=\det(Q)M_{1}DM_{1}^{\top}=\det(Q)P[X,Y].$

To prove the necessity, we assume w.l.g. that $\lambda=1$ and
$P[X,Y]=P[X^{\prime},Y^{\prime}]$. By (3.7) and (3.8), we have
$N(M_{1}^{\top})=N(M_{2}^{\top})$. Thus

$N(M^{\top})=N(M_{1}^{\top})\cap N(M_{2}^{\top})=N(M_{1}^{\top}),$

which implies
$\texttt{rank}(M)=\texttt{rank}(M^{\top})=\texttt{rank}(M_{1}^{\prime})=2$.
Since $X,Y$ are linearly independent, there exists a matrix
$Q=(q_{ij})\in\mathbb{R}^{2\times 2}$ such that $M_{2}=M_{1}Q$. Similarly we
have $M_{1}=M_{2}Q^{\prime}$ for some
$Q^{\prime}=(q^{\prime}_{ij})\in\mathbb{R}^{2\times 2}$ by swapping $(X,Y)$
with $(X^{\prime},Y^{\prime})$. It follows that $Q$ (and also $Q^{\prime}$) is
invertible (nonsingular). The proof is completed. ∎

Theorem 3.16 allows us to choose an invertible matrix $Q\in\mathbb{R}^{2\times
2}$ such that $\left\\{X^{\prime},Y^{\prime}\right\\}$ is orthognormal, i.e. ,

$\left<X^{\prime},X^{\prime}\right>=\left<Y^{\prime},Y^{\prime}\right>=1,\quad\left<X^{\prime},Y^{\prime}\right>=0$
(3.11)

with $P[X,Y]=P[X^{\prime},Y^{\prime}]$. In fact, we can use the Schmidt
orthognormal process to obtain $X^{\prime},Y^{\prime}$:

$\begin{array}[]{lll}X^{\prime}&=\lambda_{1}X,&\lambda_{1}:=\frac{1}{\parallel\\!X\\!\parallel},\\\
\bar{Y}&=Y-\left<X^{\prime},Y\right>X^{\prime},&\\\
Y^{\prime}&=\lambda_{2}\bar{Y},&\lambda_{2}:=\frac{1}{\parallel\\!\bar{Y}\\!\parallel}\end{array}$

We now show the following theorem.

######  Theorem 3.17.

Let $X,Y\in\mathbb{R}^{4}$ be orthognormal. Then the Plücker matrix $P=P[X,Y]$
is the reflection with respect to $Y$.

###### Proof.

We first assume that $X,Y\in\mathbb{R}^{n}$ are orthognormal vectors, i.e.,

$\parallel\\!X\\!\parallel=\parallel\\!Y\\!\parallel=1,\left<X,Y\right>=X^{\top}Y=0,$

where the norm is $2$-norm. Then we have

$PX=(XY^{\top}-YX^{\top})X=-Y,\quad PY=(XY^{\top}-YX^{\top})Y=X,$

Denote $\alpha=X+\imath Y,\beta=X-\imath Y$ where $\imath:=\sqrt{-1}$. Then
$\alpha,\beta$ are orthognormal (thus also linearly independent). Furthermore,
we can check easily that

$P[\alpha,\beta]=[\alpha,\beta]K,$

where $K=\texttt{diag}(\imath,-\imath)$, i.e., $P$ maps $\alpha$ to
$\alpha^{\prime}=\imath\alpha$ and $\beta$ to $\beta^{\prime}=-\imath\beta$. ∎

The Plücker matrix $P=\textbf{a}\textbf{b}^{\top}-\textbf{b}\textbf{a}^{\top}$
can be used to represent the intersection line $l$ of two planes(see e.g.
[13]).

######  Proposition 3.18.

Let $\textbf{a},\textbf{b}\in\mathbb{R}^{4}$ be linearly independent vectors
representing two distinct planes $\pi_{1}$ and $\pi_{2}$ respectively, and $l$
be their intersection line, i.e.,

$l:\left\\{\begin{array}[]{cl}\pi_{1}:&\textbf{a}^{\top}\textbf{x}=0,\\\
\pi_{2}:&\textbf{b}^{\top}\textbf{x}=0.\end{array}\right.$

Then $P=\textbf{a}\textbf{b}^{\top}-\textbf{b}\textbf{a}^{\top}$ is the
Plücker matrix of $l$, i.e., $\textbf{x}\in l$ if and only if $P\textbf{x}=0$.
Furthermore, If $Q\in\mathbb{R}^{4\times 4}$ is also a Plücker matrix of $l$,
then $Q=\lambda P$ for some nonzero scalar $\lambda\in\mathbb{R}$.

In order to generalize Proposition 3.18, we first need the following lemma
which is an extension of Lemma 2.12.

######  Lemma 3.19.

Let vectors
$\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}\in\mathbb{R}^{n}$ be
linearly independent with $1<m\in[n]$. Then the $(m-1)$-vectors in set

$\Gamma_{m-1}:=\left\\{\textbf{a}^{i_{1}}\wedge\textbf{a}^{i_{2}}\wedge\cdots\wedge\textbf{a}^{i_{m-1}}\colon\left\\{i_{1},i_{2},\ldots,i_{m-1}\right\\}\subset[m].\right\\}$
(3.12)

are linearly independent.

###### Proof.

The result is obvious for $m=1,2$, and it is also true for $m=3$ by Lemma
2.12. Now we assume that $m>3$ ($m\leq n$). Denote

$\alpha^{(k)}=\bigwedge\limits_{j\neq k,j=1}^{m}\textbf{a}^{j},\quad
k=1,2,\ldots,m.$ (3.13)

Then
$\Gamma_{m-1}=\left\\{\alpha^{(1)},\alpha^{(2)},\cdots,\alpha^{(m)}\right\\}$.
Suppose there are some $\lambda_{1},\ldots,\lambda_{m}\in\mathbb{R}$, not all
zeros, such that

$\lambda_{1}\alpha^{(1)}+\lambda_{2}\alpha^{(2)}+\ldots+\lambda_{m}\alpha^{(m)}=0.$
(3.14)

We may assume that the last nonzero scalar in $\left\\{\lambda_{k}\right\\}$
is $\lambda_{m^{\prime}}$ with $1<m^{\prime}\leq m$, i.e.,
$0\neq\lambda_{m^{\prime}}$, and
$\lambda_{m^{\prime}+1}=\lambda_{m^{\prime}+2}=\cdots=\lambda_{m}=0$ (if
$m^{\prime}=m$, then $\lambda_{m}\neq 0$). For simplicity, we may assume that
$m^{\prime}=m$. Then (3.14) is equivalent to

$\alpha^{(m)}=\sum\limits_{k=1}^{m-1}\lambda^{\prime}_{k}\alpha^{(k)},\quad\lambda^{\prime}_{k}=\frac{\lambda_{k}}{\lambda_{m}},k\in[m-1].$
(3.15)

By (3.15), we have

$\alpha^{(m)}\wedge\textbf{a}^{m}=\sum\limits_{k=1}^{m-1}\lambda^{\prime}_{k}(\alpha^{k}\wedge\textbf{a}^{m})=0.$
(3.16)

On the other hand, we have

$\alpha^{(m)}\wedge\textbf{a}^{m}=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\cdots\wedge\textbf{a}^{m}$

which is nonzero due to the linear independency of
$\left\\{\textbf{a}^{k}\colon k\in[m]\right\\}$ (see e.g. [36]), a
contradiction to (3.16). Thus we have $\lambda_{1}=\cdots=\lambda_{m}=0$, and
so result holds. ∎

To state our last result, we recall that a polytope in $\mathbb{R}^{d}$
generated by a set of points
$X:=\left\\{\textbf{x}^{1},\textbf{x}^{2},\cdots,\textbf{x}^{m}\right\\}\subset\mathbb{R}^{d}$
is defined as the set of the affine combinations of the points in $X$, i.e.,

$W=\texttt{Conv}(X):=\left\\{\sum\limits_{j=1}^{m}\lambda_{j}\textbf{x}^{j}\colon\sum\limits_{j=1}^{m}\lambda_{j}=1,\lambda^{j}\geq
0\ \forall j\in[m].\right\\}$

$W$ can also be represented as the bounded solution set of a finite system of
linear inequalities, i.e.,

$W=W(A,b):=\left\\{\textbf{x}\in\mathbb{R}^{d}:A^{\top}\textbf{x}\leq\textbf{b}\right\\}$
(3.17)

Here
$A=[\textbf{a}^{1},\textbf{a}^{2},\cdots,\textbf{a}^{m}]\in\mathbb{R}^{d\times
m},\textbf{b}\in\mathbb{R}^{m}$.

We end the paper by the following theorem in which the Grassmann tensor is
used to describe a polytope in geometry.

######  Theorem 3.20.

Let $\hat{W}$ be the surface (bounder) of the polytope $W$ defined by (3.17)
where
$A=[\textbf{a}^{1},\textbf{a}^{2},\cdots,\textbf{a}^{m}]\in\mathbb{R}^{d\times
m},\textbf{b}\in\mathbb{R}^{m}$ with $\texttt{rank}(A)=r>1$. Then
$\textbf{x}\in\hat{W}$ if and only if

$(\textbf{a}^{i_{1}}\wedge\textbf{a}^{i_{2}}\wedge\cdots\wedge\textbf{a}^{i_{r}})\textbf{x}=0$
(3.18)

where
$\left\\{\textbf{a}^{i_{1}},\textbf{a}^{i_{2}},\cdots,\textbf{a}^{i_{r}}\right\\}$
is a basis of the set of vectors
$X=\left\\{\textbf{a}^{1},\textbf{a}^{2},\ldots,\textbf{a}^{m}\right\\}$.

###### Proof.

We may assume without loss of generality that $r=m$ since otherwise we can
replace $A$ by its submatrix $A_{1}\in\mathbb{R}^{d\times r}$ whose column
vectors form a basis of
$X:=\left\\{\textbf{a}^{1},\textbf{a}^{2},\cdots,\textbf{a}^{m}\right\\}$.
Denote
$\mathcal{P}:=\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\cdots\wedge\textbf{a}^{m}$
and $\alpha^{k}$ be defined by (3.13). Then

$\displaystyle 0=\mathcal{P}\textbf{x}$
$\displaystyle=(\textbf{a}^{1}\wedge\textbf{a}^{2}\wedge\cdots\wedge\textbf{a}^{m})\textbf{x}$
$\displaystyle=\sum\limits_{k=1}^{m}(-1)^{m-k}(\textbf{x}^{\top}\textbf{a}^{k})\alpha^{k}$

Since $X$ is a set of linearly independent vectors,
$\alpha^{1},\alpha^{2},\ldots,\alpha^{m}$ are also linearly independent by
Lemma 3.19. Thus we have
$\textbf{x}^{\top}\textbf{a}^{k}=(\textbf{a}^{k})^{\top}\textbf{x}=0$ for all
$k\in[m]$, which is equivalent to $A^{\top}\textbf{x}=0$, that is, x is on the
surface of the polytope $W$. The converse can be proved by reversing the
arguments. ∎

## References

## References

  * [1] C. Aholt, and L. Oeding, The ideal of the trifocal variety, Math. Comput., 83(289) 2553-2574 (2014). doi:10.1090/S0025-5718-2014-02842-1.
  * [2] C. Aholt, B. Sturmfels, and R. Thomas, A Hilbert scheme in computer vision, Can. J. Math., 65(5), 961-988(2013). doi:10.4153/CJM-2012-023-2.
  * [3] S. Aja-Feránndez, G. de Luis García, D. Tao, X. Li (eds.), Tensors in image processing and computer vision, In: Advances in Pattern Recognition. Springer, London (2009).
  * [4] A. Alzati, and. A. Tortora, Constraints for the trifocal tensor, In: Tensors in Image Processing and Computer Vision, Advances in Pattern Recognition, pp. 261-269. Springer, London (2009). doi:10.1007/978-1-84882-299-3-12.
  * [5] A. Alzati, and. A. Tortora, A geometric approach to the trifocal tensor, J. Math. Imaging Vis., 38(3),159-170(2010). doi:10.1007/s10851-010-0216-4.
  * [6] M. Bertolini, G. Besana, and C. Turrini, Applications of multiview tensors in higher dimensions, In: Tensors in Image Processing and Computer Vision, Advances in Pattern Recognition. pp. 237-260. Springer, London (2009).
  * [7] D. Brandoni, and V. Simoncini, Tensor-Train decomposition for image recognition. Calcolo 57, 9 (2020).
  * [8] A. Cichocki, D. Mandic, A-H. Phan, C. Caiafa, G. Zhou, Q. Zhao, and L. De Lathauwer, Tensor Decompositions for Signal Processing Applications From Two-way to Multiway Component Analysis, in IEEE Transactions on Signal Processing, 65(2017) 3551-3582.
  * [9] P. Comon, G. Golub, L-H Lim, and B Mourrain, Symmetric tensors and symmetric tensor rank, SCCM Technical Report 06-02, Stanford University, 2006.
  * [10] O. D. Faugeras, L. Quan, and P. Sturm, Self-calibration of a 1D projective camera and its application to the self-calibration of a 2D projective camera, IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(10), 1179-1185, 2000.
  * [11] N. Hao, M. E. Kilmer, K. Braman, and R. C. Hoover, Facial recognition using tensor-tensor decompositions. SIAM Journal on Imaging Sciences, 2013, 6(1): 437-463.
  * [12] R. Hartley, Computation of the quadrifocal tensor. In Lecture notes in computer science: Vol. 1406. Proceedings of the 5th European conference on computer vision, 1998a, pp. 20-35. Freiburg, Germany. Berlin: Springer.
  * [13] R. Hartley and F. Schaffalitzky, Reconstruction from projections using Grassmann tensors, Int. J. Comput.Vision, 83(3), 274-293 (2009).
  * [14] R. Hartley, and R. Vidal, Perspective nonrigid shape and motion recovery, In Proceedings of the European conference on computer Vision, 2008, pp. 276-289.
  * [15] R. Hartley, and A. Zisserman, Multiple View Geometry in Computer Vision, 2nd edn. Cambridge Univ Press, Cambridge (2004).
  * [16] A. Heyden, A common framework for multiple view tensors. In: Computer Vision ECCV’98, pp. 3-19, Springer, Heidelberg (1998)
  * [17] A. Heyden, Tensorial properties of multiple view constraints. Math. Methods Appl. Sci. 23(2), 169-202(2000).
  * [18] Y. Hiki, High order elastic constants of solids, Ann. Rev. Mater. Sci. 11 (1981) 51-73.
  * [19] Z. Huang, and L. Qi, Positive definiteness of paired symmetric tensors and elasticity tensors, J. Comput. Appl. Math., 338(2018) 22-43.
  * [20] J. K. Knowles, and E. Sternberg, On the ellipticity of the equations of non-linear elastostatics for a special material, J. Elast. 5 (1975) 341-361.
  * [21] J. K. Knowles, and E. Sternberg, On the faliure of ellipticity of the equations for finite elastostatic plane strain, Arch Ration. Mech. Anal. 63 (1977) 321-336.
  * [22] C. Lu, Tensor-Tensor Product Toolbox. Carnegie Mellon University, June 2018. https://github.com/canyilu/tproduct.
  * [23] C. Lu, J. Feng, Y. Chen, W. Liu, Z. Lin, and S. Yan, Tensor robust principal component analysis with a new tensor nuclear norm. arXiv preprint arXiv:1804.03728, 2018.
  * [24] C. Martin, R. Shafer, and B. Larue, An order-p tensor factorization with applications in imaging, SIAM J. Sci. Comput, 35(2013) 474-490.
  * [25] L. Qi, H. Chen, and Y. Chen, Tensor Eigenvalues and Their Applications, AMMA Vol 39, Singapore: Springer, 2018.
  * [26] L. Quan, Uncalibrated 1D projective camera and 3D affine reconstruction of lines, Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1997,pp 60-65.
  * [27] L. Quan, Two-Way Ambiguity in 2D Projective Reconstruction from Three Uncalibrated 1D Images, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(2), pp. 212-216.
  * [28] L. Quan, and T. Kanade, Affine structure from line correspondences with uncalibrated affine cameras, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(8), pp. 834-845.
  * [29] M. Rogers, L. Li, and S. Russell, Multilinear Dynamical Systems for Tensor Time Series, in Advances in NIPS (Ed. C.J.Berges et al.), vol 26, Curran Associates, Inc.
  * [30] A. Shashua, and L. Wolf, On the structure and properties of the quadrifocal tensor. Proc. of 6th European Conference on CV-Part I, ECCV’00, Springer, London, 2000, pp. 710-724.
  * [31] L. Wolf, and A. Shashua, On projection matrices $\mathcal{P}^{k}\to\mathcal{P}^{2},k=3,\ldots,6$, and their applications in computer vision, International Journal of Computer Vision 48(2002) 53-67.
  * [32] N. D. Sidiropoulos, L. De Lathauwer, X. Fu, K. Huang, E. E. Papalexakis and C. Faloutsos, Tensor Decomposition for Signal Processing and Machine Learning, in IEEE Transactions on Signal Processing, 65(2017) 3551-3582.
  * [33] W. Sun, L. Huang, H.C. So, and J. Wang, Orthogonal tubal rank-1 tensor pursuit for tensor completion, Signal Process, 157(2019) 213-224.
  * [34] D. A. Tarzanagh, and G. Michailidis, Fast randomized algorithms for t-product based tensor operations and decompositions with applications to imaging data, SIAM J. Imaging Sci. 11(2018) 2629-2664
  * [35] C. Xu, L. He, and Z. Lin, Commutation matrices and commutation tensors, Linear and Multilinear Algebra, 68(2020) 1721-1742.
  * [36] C. Xu, and K. Xu, Separable symmetric tensors and separable anti-symmetric tensors, to appear in Communications on Applied Mathematics and Computation. arXiv: 2202.12792v3[math.AG].