added lit review

This commit is contained in:
aj 2020-01-12 02:13:26 +00:00
parent 57bb512356
commit 9d50dea800
2 changed files with 637 additions and 109 deletions

View File

@ -34,7 +34,7 @@ todonotes
\bibtex_command biber
\index_command default
\paperfontsize default
\spacing onehalf
\spacing other 1.2
\use_hyperref false
\pdf_title "Holoportation"
\pdf_author "Andy Pack"
@ -76,9 +76,9 @@ todonotes
\shortcut idx
\color #008000
\end_index
\leftmargin 2cm
\leftmargin 1.2cm
\topmargin 2cm
\rightmargin 2cm
\rightmargin 1.5cm
\bottommargin 2cm
\secnumdepth 3
\tocdepth 3
@ -89,7 +89,7 @@ todonotes
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\papersides 2
\paperpagestyle fancy
\bullet 1 0 9 -1
\tracking_changes false
@ -170,8 +170,8 @@ University of Surrey
The scope and current state of the multi-source holoportation project is
examined.
The aim is to take a suite of 3D video capture software and extend it from
the current capabilities of multiple sensors but a single client to handle
multiple groups of sensors called sources during frame collection and display.
the current capabilities of multiple sensors but a single captured environment
to handle multiple surroundings during frame collection and display.
Currently the display methods have been extended in line with the specification
in order to allow simultaneous display and arbitrary real-time placement
within the display space.
@ -182,7 +182,8 @@ The scope and current state of the multi-source holoportation project is
The future work for the project is described including the current designs
these endeavours.
The bulk of this remaining work involves developing the network capabilities
of the software to accommodate multiple sources.
of the software to accommodate multiple sources, this is on track to be
completed by May 2020.
\end_layout
\begin_layout Standard
@ -192,7 +193,10 @@ LatexCommand tableofcontents
\end_inset
\begin_inset Newpage newpage
\end_layout
\begin_layout Standard
\begin_inset VSpace medskip
\end_inset
@ -303,6 +307,16 @@ Xbox Kinect
The capability to concurrently receive and reconstruct streams of different
objects further broadens the landscape of possible applications, analogous
to the movement from 1-to-1 phone calls to conference calling.
\begin_inset Flex TODO Note (inline)
status open
\begin_layout Plain Layout
describe scenario
\end_layout
\end_inset
\end_layout
\begin_layout Section
@ -326,27 +340,221 @@ LiveScan
\end_layout
\begin_layout Subsection
Augmented and Virtual Reality
Augmented, Virtual and Mixed Reality
\end_layout
\begin_layout Subsection
Traditional Optical 3D Reconstruction
\begin_layout Standard
The burgeoning space of consumer augmented and virtual reality experiences
through headsets such as the
\noun on
Microsoft Hololens
\noun default
and
\noun on
Oculus Rift
\noun default
represents a new space for the consumption of interactive media experiences.
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citeauthor
key "remixed-reality"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "remixed-reality"
literal "false"
\end_inset
demonstrate an example of mixed reality through the use of
\noun on
Kinect
\noun default
cameras and a virtual reality headset.
Users are placed in a virtual space constructed from 3D renders of the
physical environment around the user.
Virtual manipulation of the space can then be achieved with visual, spatial
and temporal changes supported.
Objects can be scaled and sculpted in realtime while the environment can
be paused and rewinded.
The strength of mixed reality comes with the immersion of being virtually
placed in a version of the physical surroundings, tactile feedback from
the environment compounds this.
\end_layout
\begin_layout Subsection
Kinect and RGB-D Cameras
\end_layout
\begin_layout Subsection
Holoportation and Telepresence
\begin_layout Standard
Initially designed as a motion control accessory for the
\noun on
Xbox
\noun default
, the
\noun on
Kinect
\noun default
is a series of depth aware cameras produced my
\noun on
Microsoft
\noun default
.
The device uses additional infrared lights and sensors alongside an RGB
camera in a configuration referred to as a time of flight camera to generate
3D renders of a surroundings.
The device also includes motion tracking and skeleton isolation for figures
in view.
\end_layout
\begin_layout Standard
The term Holoportation is defined and exemplified in the
Following the release of an SDK for Windows in 2012,
\noun on
Microsoft Research
\noun default
paper
reflects on the original camera's capabilities and the applications to
computer vision research by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "original-kinect-microsoft"
literal "false"
\end_inset
in
\begin_inset CommandInset citation
LatexCommand cite
key "original-kinect-microsoft"
literal "false"
\end_inset
.
\end_layout
\begin_layout Standard
Here 3D conference calling of the type described in the introduction without
AR or VR applications is presented, instead users watch a composite conference
space on a screen with all participants rendered within.
Work was undertaken to achieve mutual gaze between participants, a marked
advantage over traditional conference calls where the lack of such aspects
of group interaction make the experience more impersonal.
Methods of achieving more natural virtual interactions or
\emph on
telepresence
\emph default
are covered in section
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Holoportation-and-Telepresence"
plural "false"
caps "false"
noprefix "false"
\end_inset
.
\end_layout
\begin_layout Standard
A second version of the camera, v2, was released alongside the
\noun on
Xbox One
\noun default
in 2013 and presented many improvements over the original.
A higher quality RGB camera captures 1080p video at up to 30 frames per
second with a wider field of view than the original.
The physical capabilities of the camera are discussed by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "new-kinect"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "new-kinect"
literal "false"
\end_inset
.
The second version of the camera was found to gather more accurate depth
data than the original and was less sensitive to daylight.
\begin_inset CommandInset citation
LatexCommand citeauthor
key "kinectv1/v2-accuracy-precision"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "kinectv1/v2-accuracy-precision"
literal "false"
\end_inset
found similar results with the v2 achieving higher accuracy results over
the original.
The second version did, however, achieve lower precision results than the
v1 with recommendations included for levels of pre-processing to be applied
to acquired depth images to control for random noise,
\emph on
flying pixels
\emph default
and
\emph on
multipath interference
\emph default
.
\end_layout
\begin_layout Standard
This second iteration on the
\noun on
Kinect
\noun default
is frequently used in computer vision experiments with many of the works
cited here using it for acquisition.
\end_layout
\begin_layout Subsection
Holoportation and Telepresence
\begin_inset CommandInset label
LatexCommand label
name "subsec:Holoportation-and-Telepresence"
\end_inset
\end_layout
\begin_layout Standard
The term Holoportation is defined and exemplified in a
\noun on
Microsoft Research
\noun default
paper by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "holoportation"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "holoportation"
@ -354,13 +562,21 @@ literal "false"
\end_inset
, where an end-to-end pipeline is laid out for the acquisition, transmission
where an end-to-end pipeline is laid out for the acquisition, transmission
and display of 3D video facilitating real-time AR and VR experiences.
The
\noun on
Microsoft Research
\noun default
paper builds on works such as
paper builds on works such as by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "Immersive-telepresence"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "Immersive-telepresence"
@ -398,7 +614,15 @@ literal "false"
used to make someone feel present in a different environment.
In the context of holoportation this is through the use of 3D video reconstruct
ion.
The aforementioned
The aforementioned work by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "Immersive-telepresence"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "Immersive-telepresence"
@ -493,7 +717,32 @@ Microsoft Research
\noun default
paper demonstrates a system using 8 cameras surrounding a space.
Each camera captured both Near Infra-Red and colour images to construct
a colour-depth video stream, .
a colour-depth video stream, a more complex camera configuration than those
in the others cited.
\end_layout
\begin_layout Standard
\begin_inset CommandInset citation
LatexCommand citeauthor
key "velt"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "velt"
literal "false"
\end_inset
demonstrates a similar holoportation experience to
\noun on
LiveScan3D
\noun default
capable of supporting multi-view configurations, it also supports both
point clouds and meshes.
\end_layout
\begin_layout Subsection
@ -502,7 +751,15 @@ Multi-Source Holoportation
\begin_layout Standard
The space of work implementing multi-source holoportation has been explored
in works such as
in works such as by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "group-to-group-telepresence"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "group-to-group-telepresence"
@ -530,7 +787,15 @@ Worlds in Miniature
\end_layout
\begin_layout Standard
The Worlds in Miniature is described in
The Worlds in Miniature is described by
\begin_inset CommandInset citation
LatexCommand citeauthor
key "wim"
literal "false"
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "wim"
@ -546,8 +811,15 @@ literal "false"
\end_layout
\begin_layout Standard
This navigation tool maps well to the architecture groupware structure of
This navigation tool maps well to
\begin_inset CommandInset citation
LatexCommand citeauthor
key "group-to-group-telepresence"
literal "false"
\end_inset
's
\begin_inset CommandInset citation
LatexCommand cite
key "group-to-group-telepresence"
@ -555,7 +827,8 @@ literal "false"
\end_inset
, an image captured during the work can be seen in figure
architecture groupware design, an image captured during the work can be
seen in figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:World-in-Miniature-group-by-group"
@ -590,10 +863,10 @@ status open
\begin_inset Caption Standard
\begin_layout Plain Layout
World in Miniature render demonstrated in a multi-source holoporation context
during
World in Miniature render demonstrated in a multi-source holoportation context
by
\begin_inset CommandInset citation
LatexCommand cite
LatexCommand citeauthor
key "group-to-group-telepresence"
literal "false"
@ -679,6 +952,12 @@ frame
are used interchangeably from here.
\end_layout
\begin_layout Standard
The majority of the development being conducted in this project is regarding
the server component of the software and as such this is covered in more
detail.
\end_layout
\begin_layout Subsection
\noun on
@ -724,15 +1003,48 @@ LiveScan
\noun default
suite is responsible for managing and receiving 3D renders from connected
clients.
These renderings are reconstructed in an
These renders are reconstructed in an interactive
\noun on
OpenGL
\noun default
window, the structure of the
window.
When considering the code architecture of this application there are three
main components.
\end_layout
\begin_layout Description
OpenGLWindow Presentation layer of the application.
Separate window spawned by the
\noun on
LiveScan
LiveScanServer
\noun default
server can be seen in figure
responsible for drawing point clouds and responding to user control.
\end_layout
\begin_layout Description
KinectServer Network layer of the application.
The main window make requests of this component to receive transmitted
point clouds.
\end_layout
\begin_layout Description
KinectSocket
\noun on
\noun default
Child objects contained within the
\noun on
KinectServer
\noun default
.
A traditional network socket object representing a single TCP connection
between the server and a client.
\end_layout
\begin_layout Standard
This structure can be seen in figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:server-structure"
@ -792,18 +1104,8 @@ name "fig:server-structure"
\end_layout
\begin_layout Standard
The
\noun on
KinectServer
\noun default
is responsible for the network layer of the program, managing client connection
s via
\noun on
KinectSocket
\noun default
s and frame reception.
Received frames in the form of lists of vertices, RGB values, camera poses
and bodies override shared variables between the main window and the
and bodies overwrite shared variables between the main window and the
\noun on
OpenGL
\noun default
@ -815,7 +1117,7 @@ Frame Geometry & Multi-View Configurations
\end_layout
\begin_layout Standard
When using a single client setup frames are transmitted in their own co-ordinate
When using a single client, setup frames are transmitted in their own coordinate
space, the sensor is made the origin with the scene being rendered in front
of it.
\end_layout
@ -830,6 +1132,51 @@ In order to make a composite frame a calibration process is completed client
side following instruction by the server.
\end_layout
\begin_layout Subsection
Design Considerations
\end_layout
\begin_layout Standard
When assessing
\noun on
LiveScan
\noun default
's suitability for extension to a multi-source context, the original network
design should be investigated.
\end_layout
\begin_layout Standard
The original applications were best suited to a local environment as a result
of many of the network functions being blocking.
Should any delays or interruptions have occurred during a network operation,
then the application would need to stop and wait for remediation before
continuing.
\end_layout
\begin_layout Standard
From a network perspective the need to make these actions non-blocking would
present benefits for both multi-source and multi-view configurations.
\end_layout
\begin_layout Standard
Additionally, the network polling rates are much higher than the frame rate
of the produced video and when the server requests a frame before a new
one has been captured by the client, the client sends the same frame.
This presents unnecessary bandwidth usage.
\end_layout
\begin_layout Standard
Moving to a multi-source context implies transmitting over the internet
as opposed to local operation, this will make blocking actions and bloated
bandwidth more dangerous to user experience.
\end_layout
\begin_layout Standard
Work has been undertaken that allows multiple TCP connections to be used
by each client to increase bandwidth.
Further work is being undertaken to un-block network actions.
\end_layout
\begin_layout Section
Current Work
\end_layout
@ -909,16 +1256,20 @@ LiveScan3D
\noun default
server source code are utility structures and classes which were extended
in order to develop a wider geometric manipulation system.
Structures defining Cartesian coordinates in both 3D and 2D spaces called
Structures defining Cartesian coordinates in both 2D and 3D spaces called
\noun on
Point3f
\noun default
and
\noun on
Point2f
\noun default
respectively are used in drawing skeletons.
and
\noun on
Point3f
\noun default
respectively are used in drawing skeletons as captured by the
\noun on
Kinect
\noun default
camera.
There is also a class defining an affine transformation, the definitions
for all three can be seen in appendix
\begin_inset CommandInset ref
@ -942,8 +1293,8 @@ Affine transformations are a family of geometric transformations that preserve
\begin_layout Standard
The class definition is made up of a three-by-three transformation matrix
and single 3D vector for translation, within the initial code it is used
for both camera poses and world transformations.
and single 3D vector for translation, within the native codebase it is
used for both camera poses and world transformations.
\end_layout
@ -958,7 +1309,7 @@ Kinect
OpenGL
\noun default
space as a green cross.
The world transformations are used when using multiple sensors simultaneously.
The world transformations are used when using multi-view configurations.
When completing the calibration process, the origin of the
\noun on
OpenGL
@ -968,9 +1319,22 @@ OpenGL
Kinect
\noun default
sensor to being the calibration markers that each camera now orbits.
The server, however, still receives renders from each sensor defined by
their own Euclidean space and as such the server must transform each view
into a composite one.
\end_layout
\begin_layout Standard
The server still receives renders from each sensor defined by their own
Euclidean space
\begin_inset Flex TODO Note (inline)
status open
\begin_layout Plain Layout
check where world mapping occurs
\end_layout
\end_inset
and as such the server must transform each view into a composite one.
The world transforms define the transformations for each sensor that correctly
construct a calibrated 3D render.
\end_layout
@ -983,6 +1347,27 @@ When considering how each source's render would be arranged in the space
their effectiveness.
\end_layout
\begin_layout Subsubsection
Transformer
\end_layout
\begin_layout Standard
The motivation in writing the
\noun on
Transformer
\noun default
was to create a generic framework of geometric transformations that could
be utilised by the
\noun on
OpenGL
\noun default
display to arrange separate point clouds.
At a high level this is done by implementing matrix arithmetic functions
in the context of their use for applying linear transformations to Cartesian
coordinates.
\end_layout
\begin_layout Standard
The
\noun on
@ -996,7 +1381,7 @@ s to both
\noun on
Point3f
\noun default
structures and raw vertices when received from
structures and lists of raw vertices as received from
\noun on
LiveScan
\noun default
@ -1004,8 +1389,34 @@ LiveScan
\end_layout
\begin_layout Standard
It also has static methods to generate affine transformations for rotations
in each axis given an arbitrary angle.
\begin_inset Flex TODO Note (inline)
status open
\begin_layout Plain Layout
compound matrices?
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Additionally there are utility functions to bidirectionally cast between
\noun on
Point3f
\noun default
data structures and the lists of vertices received from
\noun on
LiveScan
\noun default
clients.
\end_layout
\begin_layout Standard
Finally static methods generate common rotation transformations about each
axis given an arbitrary angle.
This provided a foundation on which to define how the
\noun on
OpenGL
@ -1084,7 +1495,7 @@ name "fig:Initial-composite-frame"
The objects can be seen to be occupying the same space due to their similar
positions in the frame during capture.
This is not a sufficient solution for displaying separate sources and so
geometric transformations like those mentioned above were employed to separate
geometric transformations like those described above were employed to separate
the two.
The change in software structure at this stage can be seen in figure
\begin_inset CommandInset ref
@ -1097,11 +1508,11 @@ noprefix "false"
\end_inset
.
A rotation of 180° in the
A rotation of 180° in the vertical (
\begin_inset Formula $y$
\end_inset
axis pivoted the frames such that they faced those being received live,
) axis pivoted the frames such that they faced those being received live,
the results can be seen in figure
\begin_inset CommandInset ref
LatexCommand ref
@ -1292,20 +1703,20 @@ LiveScan3D
\noun default
cleared each of these variables before retrieving a new frame, when moving
to a multi-source architecture the ability to individually update source
point clouds was noted as being important.
This would remove blocking the entire display when unable to receive frames
point clouds was prioritised.
This would avoid blocking the entire display when unable to receive frames
from a specific client, other clients would still be able to have frames
updated promptly.
\end_layout
\begin_layout Standard
To accomplish this a dictionary was used as the shared variable with each
clients frame being keyed by it's client ID.
clients frame referenced by it's client ID.
In doing so only one frame per client is kept and each new frame overrides
the last.
During rendering the dictionary is iterated through and each point cloud
combined.
Before combination a client specific transformation is retrieved from an
During combination a client specific transformation is retrieved from an
instance of the
\noun on
DisplayFrameTransformer
@ -1356,7 +1767,7 @@ status open
\align center
\begin_inset Graphics
filename ../media/DisplayFrameTransformer.png
lyxscale 30
lyxscale 50
width 50col%
\end_inset
@ -1404,7 +1815,11 @@ Each client is assigned a default transformation which can be overridden
\begin_layout Standard
Clients are initially arranged in a circle around the origin in the center
of the space.
This is done by retrieving a transformation for a rotation in the
This is done by retrieving a transformation from the
\noun on
Transformer
\noun default
for a rotation in the
\begin_inset Formula $y$
\end_inset
@ -1412,7 +1827,12 @@ Clients are initially arranged in a circle around the origin in the center
\begin_inset Formula $n$
\end_inset
, using the below,
.
Each angle of rotation,
\begin_inset Formula $\alpha$
\end_inset
, is calculated using the below,
\end_layout
\begin_layout Standard
@ -1446,7 +1866,7 @@ DisplayFrameTransformer
\noun default
also has methods to override these initial transforms with the RotateClient()
and TranslateClient() methods.
When these methods are called for the first time for a client an object
When these methods are called for the first time on a point cloud, an object
defining the position and rotation is populated using the default rotation.
From here the presence of a client override results in applied transforms
being defined by these values as opposed to the default orientation.
@ -1530,10 +1950,10 @@ The movement of objects within the
\noun on
OpenGL
\noun default
space is conducted through keyboard controls.
While mouse control would fine-grained and intuitive, the axes of motion
and rotation available to objects makes defining specific keys for each
more flexible.
space is implemented through keyboard controls.
While using the mouse would allow fine-grained and intuitive control, the
number of axes for motion and rotation available to objects makes defining
specific keys for each more flexible.
This additionally removes the need to redefine or overload the camera controls.
\end_layout
@ -1578,7 +1998,7 @@ I
\uwave default
\noun default
\color inherit
and
,
\family roman
\series medium
\shape up
@ -1608,7 +2028,7 @@ I
\uwave default
\noun default
\color inherit
axis) of the display space using a WASD-esque layout of the UHJK keys.
) of the display space using a WASD-esque layout of the UHJK keys.
Objects can be rotated about the vertical (
\begin_inset Formula $y$
\end_inset
@ -1621,24 +2041,41 @@ I
\begin_layout Standard
Worth noting is that this represents arbitrary placement of sources in two
axes of position and one of rotation.
This is a result of these being the most common and intuitive axes with
which sources will need to be manipulated.
This is a result of being the most common and intuitive axes with which
sources will need to be manipulated.
The ability to allow movement in all degrees would require only binding
these actions to keys.
\end_layout
\begin_layout Standard
There is room to improve these controls, however, as the directions of movement
for selected objects are in relation to the fixed axes of the display space
as opposed to the view of the viewpoint camera.
There is room to improve these controls as the directions of movement are
in relation to the fixed axes of the display space as opposed to the view
of the viewpoint camera.
In practice this means that when moving objects in the display space the
orientation of the space must be considered in order to identify which
direction the object should be moved.
This is less intuitive than could be expected in other areas where such
a control scheme is used such as video games or modelling software.
In such implementations when moving objects the directions are typically
taken from the camera's frame of reference and as the feasibility of employing
a similar control philosophy should be considered.
taken from the camera's frame of reference.
The feasibility of employing a similar control philosophy should be considered.
\end_layout
\begin_layout Subsection
Challenges
\end_layout
\begin_layout Standard
\begin_inset Flex TODO Note (inline)
status open
\begin_layout Plain Layout
populate
\end_layout
\end_inset
\end_layout
\begin_layout Section
@ -1670,8 +2107,7 @@ KinectServer
\begin_layout Standard
When integrated together the server as a whole will then be able to collect
discrete point clouds from different sources and coherently display them
separately in the space, in doing so achieving the objectives for this
project3.
separately in the space, achieving the objectives for this project.
\end_layout
\begin_layout Subsection
@ -1719,29 +2155,29 @@ s.
\end_layout
\begin_layout Standard
An advantage of this approach would be that it could also contain the additional
information which should exist per source such as the calibration data
and settings.
An advantage of this approach would be that it provide a suitable location
to store additional information which should exist per source such as the
calibration data and settings.
\end_layout
\begin_layout Standard
However it would have also represented a significant architecture change
in the entire server application and without a functioning display method
it would have been challenging to debug.
As a result, it was instead decided to work on the display method first.
This was the motivation for initially working on the display method.
\end_layout
\begin_layout Standard
Coming back to the network design following this work, a different method
has been considered.
A separate piece of work currently being undertaken is investigating the
network behaviour of the suite with focus on unblocking the sockets and
aid in the parallel operation of the server.
A separate body of work currently being undertaken is investigating the
network behaviour of the suite with a focus on unblocking the network sockets
to aid in parallel operation.
\end_layout
\begin_layout Standard
Considerations from this work in combination with an emphasis on simplicity
has suggested a new approach.
In order to ease integration with developments in this work a less disruptive
design was proposed.
\end_layout
\begin_layout Subsubsection
@ -1749,15 +2185,9 @@ Socket Handshake
\end_layout
\begin_layout Standard
A handshake process has been suggested for when new clients connect to the
\noun on
KinectServer
\noun default
.
The aim is to implement the method by which clients are grouped into sources
but also to solve how clients identify themselves consistently when communicati
ng over multiple sockets.
The aim is to implement a method by which clients are grouped into sources
that also allows them to identify themselves consistently when communicating
over multiple sockets.
Multiple sockets can be used by clients in order to make simultaneous connectio
ns to the server and increase bandwidth.
However when doing so it is important to be able to identify which sockets
@ -1765,6 +2195,12 @@ ns to the server and increase bandwidth.
\end_layout
\begin_layout Standard
A method for doing so would involve a handshake process when new clients
connect to the
\noun on
KinectServer
\noun default
.
The proposed handshake would be initiated by the client when connecting
to the server, at this point they include which source they should be grouped
with using an integer ID.
@ -1775,7 +2211,7 @@ The proposed handshake would be initiated by the client when connecting
then the client will respond with it's existing identifier to inform the
server that this ID has been ignored.
In doing so the client now has a method of identifying itself agnostic
of socket, and the server has a way of identifying the source which is
of socket, and the server has a way of identifying the source which each
frame is representing.
\end_layout
@ -1787,8 +2223,7 @@ Deliverables and Additional Goals
At this point in the project it is worth considering the viability of the
final deliverables with relation to the time remaining.
Based on the work completed so far the original objectives of multi-source
holoportation remain viable with a round of complete testing defined and
employed.
holoportation remain viable with a round of complete testing undertaken.
\end_layout
\begin_layout Standard
@ -1842,7 +2277,7 @@ A results section will describe the quantitative and qualitative results
\noun on
LiveScan
\noun default
codebase but also to the multi-source version presented by this project.
codebase and the multi-source version presented by this project.
The structure will be as follows,
\end_layout
@ -1977,7 +2412,7 @@ Following the development of the two, testing methodologies will be defined
\end_layout
\begin_layout Standard
\begin_inset Newpage pagebreak
\begin_inset Newpage newpage
\end_inset

View File

@ -102,3 +102,96 @@
year = {1970}
}
@article{original-kinect-microsoft,
author = {Zhang, Zhengyou},
issn = {1070-986X},
journal = {IEEE MultiMedia},
keywords = {Cameras; Three Dimensional Displays; Sensors; Games; Video Recording; Multimedia; Microsoft Kinect; Human-Computer Interaction; Motion Capture; Computer Vision; Engineering; Computer Science},
language = {eng},
number = {2},
pages = {4,10},
publisher = {IEEE},
title = {Microsoft Kinect Sensor and Its Effect},
volume = {19},
year = {2012-02}
}
@inproceedings{new-kinect,
address = {Gottingen},
author = {Lachat, E and Macher, H and Landes, T and Grussenmeyer, P},
issn = {16821750},
journal = {The International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences},
keywords = {Visual Arts},
language = {eng},
number = {5},
pages = {93,100},
publisher = {Copernicus GmbH},
title = {FIRST EXPERIENCES WITH KINECT V2 SENSOR FOR CLOSE RANGE 3D MODELLING},
url = {http://search.proquest.com/docview/1756968652},
volume = {XL-5/W4},
year = {2015}
}
@article{greenhouse-kinect,
author = {Nissimov, Sharon and Goldberger, Jacob and Alchanatis, Victor},
issn = {0168-1699},
journal = {Computers and Electronics in Agriculture},
keywords = {Obstacle Detection; Navigation; Kinect Sensor; Rgb-D; Agriculture},
language = {eng},
number = {C},
pages = {104,115},
publisher = {Elsevier B.V},
title = {Obstacle detection in a greenhouse environment using the Kinect sensor},
volume = {113},
year = {2015-04}
}
@article{ar/vr-construction,
abstract = {Construction is a high hazard industry which involves many factors that are potentially dangerous to workers. Safety has always been advocated by many construction companies, and they have been working hard to make sure their employees are protected from fatalities and injuries. With the advent of Virtual and Augmented Reality (VR/AR), there has been a witnessed trend of capitalizing on sophisticated immersive VR/AR applications to create forgiving environments for visualizing complex workplace situations, building up risk-preventive knowledge and undergoing training. To better understand the state-of-the-art of VR/AR applications in construction safety (VR/AR-CS) and from which to uncover the related issues and propose possible improvements, this paper starts with a review and synthesis of research evidence for several VR/AR prototypes, products and the related training and evaluation paradigms. Predicated upon a wide range of well-acknowledged scholarly journals, this paper comes up with...},
address = {Amsterdam},
author = {Li, Xiao and Yi, Wen and Chi, Hung-Lin and Wang, Xiangyu and Chan, Albert},
issn = {0926-5805},
journal = {Automation in Construction},
keywords = {Studies; Augmented Reality; Occupational Safety; Safety Training; Construction Industry; Augmented Reality; Journals; Hard Surfacing; Inspection; Virtual Reality; Occupational Safety; Taxonomy; Hazard Identification; Training},
language = {eng},
publisher = {Elsevier BV},
title = {A critical review of virtual and augmented reality (VR/AR) applications in construction safety},
url = {http://search.proquest.com/docview/2012059651},
volume = {86},
year = {2018-02-01}
}
@inproceedings{kinectv1/v2-accuracy-precision,
author = {Wasenm{\"u}ller, Oliver and Stricker, Didier},
doi = {10.1007/978-3-319-54427-4_3},
month = {11},
title = {Comparison of Kinect V1 and V2 Depth Images in Terms of Accuracy and Precision},
year = {2016}
}
@inproceedings{remixed-reality,
address = {New York, NY, USA},
articleno = {Paper 129},
author = {Lindlbauer, David and Wilson, Andy D.},
booktitle = {Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems},
doi = {10.1145/3173574.3173703},
isbn = {9781450356206},
keywords = {augmented reality; remixed reality; virtual reality},
location = {Montreal QC, Canada},
numpages = {13},
publisher = {Association for Computing Machinery},
series = {CHI {\rq}18},
title = {Remixed Reality: Manipulating Space and Time in Augmented Reality},
url = {https://doi.org/10.1145/3173574.3173703},
year = {2018}
}
@inproceedings{velt,
author = {Fender, Andreas and M{\"u}ller, J{\"o}rg},
doi = {10.1145/3279778.3279794},
month = {11},
pages = {73--83},
title = {Velt: A Framework for Multi RGB-D Camera Systems},
year = {2018}
}