.. _package-rst-vision:
====================
Package rst.vision
====================
*Not documented*
Messages
========
.. container:: mess4ge-multi
.. container:: mess4ge-graph
.. digraph:: message_graph
fontname="Arial";
fontsize=11;
stylesheet="../_static/graphs.css";
node [fontsize=11,fontname="Arial"]
edge [fontsize=11,fontname="Arial"]
"13" [label=<
| HeadObjects |
|
HeadObject | head_objects |
>,shape=box,style=filled,fillcolor="white"];
"14" [label=< | HeadObject |
|
TrackingInfo | tracking_info |
BoundingBox | region |
Vec3DFloat | position |
Vec3DFloat | pose |
LabeledFace | faces |
FLOAT32 | speaking_probability |
OCTET-VECTOR | vfoa_target |
ClassificationResult | identity |
ClassificationResult | gender |
ClassificationResult | age |
>,shape=box,style=filled,fillcolor="white"];
"18" [label=< | ClassificationResult |
|
OCTET-VECTOR | decided_class |
ClassWithProbability | classes |
>,shape=box,style=filled,fillcolor="white"];
"19" [label=< | ClassWithProbability |
|
OCTET-VECTOR | name |
FLOAT32 | confidence |
>,shape=box,style=filled,fillcolor="white"];
"17" [label=< | LabeledFace |
|
OCTET-VECTOR | label |
Face | face |
>,shape=box,style=filled,fillcolor="white"];
"16" [label=< | Vec3DFloat |
|
FLOAT32 | x |
FLOAT32 | y |
FLOAT32 | z |
>,shape=box,style=filled,fillcolor="white"];
"15" [label=< | TrackingInfo |
|
UINT32 | id |
>,shape=box,style=filled,fillcolor="white"];
"11" [label=< | EncodedImage |
|
Encoding | encoding |
OCTET-VECTOR | data |
>,shape=box,style=filled,fillcolor="white"];
"12" [label=< | Encoding |
|
PPM | 1 |
PNG | 2 |
JPG | 3 |
JP2 | 4 |
TIFF | 5 |
>,shape=box,style=filled,fillcolor="white"];
"8" [label=< | LocatedFace |
|
Face | face |
Translation | location |
Rotation | orientation |
>,shape=box,style=filled,fillcolor="white"];
"10" [label=< | Rotation |
|
FLOAT64 | qw |
FLOAT64 | qx |
FLOAT64 | qy |
FLOAT64 | qz |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"9" [label=< | Translation |
|
FLOAT64 | x |
FLOAT64 | y |
FLOAT64 | z |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"6" [label=< | FaceLandmarksCollection |
|
FaceLandmarks | element |
>,shape=box,style=filled,fillcolor="white"];
"7" [label=< | FaceLandmarks |
|
Vec2DInt | jaw |
Vec2DInt | nose |
Vec2DInt | nose_wings |
Vec2DInt | right_brow |
Vec2DInt | left_brow |
Vec2DInt | right_eye |
Vec2DInt | left_eye |
Vec2DInt | outer_lips |
Vec2DInt | inner_lips |
>,shape=box,style=filled,fillcolor="white"];
"1" [label=< | FaceWithGazeCollection |
|
FaceWithGaze | element |
>,shape=box,style=filled,fillcolor="white"];
"2" [label=< | FaceWithGaze |
|
Face | region |
BOOL | lid_closed |
FLOAT64 | horizontal_gaze_estimation |
FLOAT64 | vertical_gaze_estimation |
>,shape=box,style=filled,fillcolor="white"];
"3" [label=< | Face |
|
BoundingBox | region |
FLOAT64 | confidence |
>,shape=box,style=filled,fillcolor="white"];
"4" [label=< | BoundingBox |
|
Vec2DInt | top_left |
UINT32 | width |
UINT32 | height |
UINT32 | image_width |
UINT32 | image_height |
>,shape=box,style=filled,fillcolor="white"];
"5" [label=< | Vec2DInt |
|
INT32 | x |
INT32 | y |
>,shape=box,style=filled,fillcolor="white"];
"13":head_objects -> "14" [];
"14" -> "17" [];
"14":age -> "18" [];
"14":gender -> "18" [];
"14":identity -> "18" [];
"14":faces -> "17" [];
"14":pose -> "16" [];
"14":position -> "16" [];
"14":region -> "4" [];
"14":tracking_info -> "15" [];
"18" -> "19" [];
"18":classes -> "19" [];
"17":face -> "3" [];
"11" -> "12" [];
"11":encoding -> "12" [];
"8":orientation -> "10" [];
"8":location -> "9" [];
"8":face -> "3" [];
"6":element -> "7" [];
"7":inner_lips -> "5" [];
"7":outer_lips -> "5" [];
"7":left_eye -> "5" [];
"7":right_eye -> "5" [];
"7":left_brow -> "5" [];
"7":right_brow -> "5" [];
"7":nose_wings -> "5" [];
"7":nose -> "5" [];
"7":jaw -> "5" [];
"1":element -> "2" [];
"2":region -> "3" [];
"3":region -> "4" [];
"4":top_left -> "5" [];
.. container:: mess4ge-list
.. container:: messages
* :ref:`FaceWithGazeCollection `
* :ref:`FaceLandmarksCollection `
* :ref:`LocatedFace `
* :ref:`FaceWithGaze `
* :ref:`EncodedImage `
* :ref:`FaceLandmarks `
* :ref:`HeadObjects `
* :ref:`HeadObject `
* :ref:`Face `
.. container:: clearer
clearer: should be made invisible via css
.. _message-rst-vision-facewithgazecollection:
Message FaceWithGazeCollection
------------------------------
.. container:: message-rst-vision-facewithgazecollection-multi
.. container:: message-rst-vision-facewithgazecollection-documentation
.. py:class:: rst.vision.FaceWithGazeCollection
Collection of :py:class:`FaceWithGaze ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.vision.FaceWithGaze`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-vision-facewithgazecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceWithGazeCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceWithGazeCollection.proto
:lines: 12-22
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-vision-facelandmarkscollection:
Message FaceLandmarksCollection
-------------------------------
.. container:: message-rst-vision-facelandmarkscollection-multi
.. container:: message-rst-vision-facelandmarkscollection-documentation
.. py:class:: rst.vision.FaceLandmarksCollection
Collection of :py:class:`FaceLandmarks ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.vision.FaceLandmarks`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-vision-facelandmarkscollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceLandmarksCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceLandmarksCollection.proto
:lines: 12-22
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-vision-locatedface:
Message LocatedFace
-------------------
.. container:: message-rst-vision-locatedface-multi
.. container:: message-rst-vision-locatedface-documentation
.. py:class:: rst.vision.LocatedFace
This type extends the regular Face type with a 3D location.
.. codeauthor:: Leon Ziegler
@create_collection
.. py:attribute:: face
:type: :py:class:`rst.vision.Face`
The face as a part of an image.
.. py:attribute:: location
:type: :py:class:`rst.geometry.Translation`
The 3d location of the face.
.. py:attribute:: orientation
:type: :py:class:`rst.geometry.Rotation`
The 3d orientation of the face. The provided rotation should be passed
as a relative rotation from the default pose when the person looks
straight ahead. In this case the axes of the corresponding coordinate
system are defined as follows:
* x axis: points in the direction of the person's view
* y axis: points to the person's right side
* z axis: points downwards
.. container:: message-rst-vision-locatedface-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/vision/LocatedFace.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/vision/LocatedFace.proto
:lines: 17-40
:language: protobuf
:emphasize-lines: 6-6,11-11,23-23
.. _message-rst-vision-facewithgaze:
Message FaceWithGaze
--------------------
.. container:: message-rst-vision-facewithgaze-multi
.. container:: message-rst-vision-facewithgaze-documentation
.. py:class:: rst.vision.FaceWithGaze
An object of this type represents a human face detected in an image
including gaze informations.
.. codeauthor:: Birte Carlmeyer
@create_collection
.. py:attribute:: region
:type: :py:class:`rst.vision.Face`
The region of the image which corresponds to the face.
.. py:attribute:: lid_closed
:type: :py:class:`BOOL`
If this is true, the eyelids are closed.
.. py:attribute:: horizontal_gaze_estimation
:type: :py:class:`FLOAT64`
**Unit**: radian
Horizontal gaze estimation angle. A relative rotation from the
default gaze when the person looks straight into the camera.
Positive values means that the person is looking upwards and
negative value means that the person is looking downwards.
.. py:attribute:: vertical_gaze_estimation
:type: :py:class:`FLOAT64`
**Unit**: radian
Vertical gaze estimation angle. A relative rotation from the
default gaze when the person looks straight into the camera.
Positive values means that the person is looking to the right and
negative values means that the person is looking to the left
(from the persons point of view).
.. container:: message-rst-vision-facewithgaze-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceWithGaze.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceWithGaze.proto
:lines: 16-47
:language: protobuf
:emphasize-lines: 6-6,11-11,20-20,30-30
.. _message-rst-vision-encodedimage:
Message EncodedImage
--------------------
.. container:: message-rst-vision-encodedimage-multi
.. container:: message-rst-vision-encodedimage-documentation
.. py:class:: rst.vision.EncodedImage
An image encoded in a certain format.
.. codeauthor:: Viktor Richter
.. py:attribute:: encoding
:type: :py:class:`rst.vision.EncodedImage.Encoding`
The encoding used to encode an image into binary data.
.. py:attribute:: data
:type: :py:class:`OCTET-VECTOR`
Holds the binary image data.
Can be decoded using the provided encoding information.
.. container:: message-rst-vision-encodedimage-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/EncodedImage.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/EncodedImage.proto
:lines: 12-79
:language: protobuf
:emphasize-lines: 59-59,66-66
.. _message-rst-vision-encodedimage-encoding:
Message Encoding
----------------
.. container:: message-rst-vision-encodedimage-encoding-multi
.. container:: message-rst-vision-encodedimage-encoding-documentation
.. py:class:: rst.vision.EncodedImage.Encoding
Identifies an image/file encoding format.
.. py:attribute:: PPM
= 1
Portable Pixmap Format.
An open uncompressed image file format.
.. seealso::
NIL
https://en.wikipedia.org/wiki/Netpbm_format
.. py:attribute:: PNG
= 2
Portable Network Graphics format (ISO/IEC 15948).
An open lossless compressed image file format.
.. seealso::
NIL
https://en.wikipedia.org/wiki/Portable_Network_Graphics
.. py:attribute:: JPG
= 3
Also known as JPEG (ISO/IEC 10918).
An image file format with adjustable lossy compression
created by the Joint Photographic Experts Group. The
compression is based on the discrete cosine transform.
.. seealso::
NIL
https://en.wikipedia.org/wiki/JPEG
.. py:attribute:: JP2
= 4
Also known as JPEG2000 (ISO/IEC 15444).
An image file format with adjustable lossy compression
created by the Joint Photographic Experts Group. This
format superseeds JPG and can use discrete cosine transform
or wavelet based methods for compression.
.. seealso::
NIL
https://en.wikipedia.org/wiki/JPEG_2000
.. py:attribute:: TIFF
= 5
Tagged Image File Format.
A computer file format for raster graphics developed by
adobe.
.. seealso::
NIL
https://en.wikipedia.org/wiki/Tagged_Image_File_Format
.. container:: message-rst-vision-encodedimage-encoding-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/EncodedImage.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/EncodedImage.proto
:lines: 17-65
:language: protobuf
:emphasize-lines: 9-9,17-17,27-27,38-38,47-47
.. _message-rst-vision-facelandmarks:
Message FaceLandmarks
---------------------
.. container:: message-rst-vision-facelandmarks-multi
.. container:: message-rst-vision-facelandmarks-documentation
.. py:class:: rst.vision.FaceLandmarks
FaceLandmarks represent the result of an 68 point face landmark
detection.
For example images see:
http://ibug.doc.ic.ac.uk/resources/facial-point-annotations/
For readability the 68 face landmarks are split into points of
different face parts. The point order is preserved.
.. codeauthor:: Viktor Richter
@create_collection
.. py:attribute:: jaw
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 17``
17 Points of the jaw.
jaw[0] = top-left point of the face
jaw[8] = the center of the chin
jaw[16] = top-right point of the face
.. py:attribute:: nose
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 4``
4 Points of the nasal bridge.
nose[0] = top-point of the nasal bridge
nose[3] = bottom-point of the nasal bridge (tip of the nose)
.. py:attribute:: nose_wings
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 5``
5 Points of the nose wings.
nose_wings[0] = left end of the lower nasal edge
nose_wings[2] = the center of the lower nasal edge
nose_wings[4] = right end of the lower nasal edge
.. py:attribute:: right_brow
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 5``
5 Points of the rigt brow.
right_brow[0] = left end of the right brow
right_brow[4] = right end of the right brow
.. py:attribute:: left_brow
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 5``
5 Points of the left brow.
left_brow[0] = left end of the left brow
left_brow[4] = right end of the left brow
.. py:attribute:: right_eye
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 6``
6 Points of the border of the right eye.
right_eye[0] = left peak of the right eye
... = right upper eye-lid
right_eye[3] = right peak of the right eye
... = right lower eye-lid
.. py:attribute:: left_eye
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 6``
6 Points of the border of the left eye.
right_eye[0] = left peak of the left eye
... = left upper eye-lid
right_eye[3] = right peak of the left eye
... = left lower eye-lid
.. py:attribute:: outer_lips
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 12``
12 Points of the outer border of the lips.
outer_lips[0] = left corner of the outer lips
... = left upper edge
outer_lips[3] = center of the upper lip
... = right upper edge
outer_lips[6] = right corner of the outer lips
... = right lower edge
outer_lips[9] = center of the lower lip
... = left lower edge
.. py:attribute:: inner_lips
:type: array of :py:class:`rst.math.Vec2DInt`
**Constraint**: ``len(value) == 8``
8 Points of the inner border of the lips.
inner_lips[0] = left corner of the inner lips
inner_lips[2] = center of the upper lip
inner_lips[4] = right corner of the inner lips
inner_lips[6] = center of the lower lip
.. container:: message-rst-vision-facelandmarks-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceLandmarks.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/FaceLandmarks.proto
:lines: 22-119
:language: protobuf
:emphasize-lines: 11-11,20-20,30-30,39-39,48-48,59-59,70-70,85-85,96-96
.. _message-rst-vision-headobjects:
Message HeadObjects
-------------------
.. container:: message-rst-vision-headobjects-multi
.. container:: message-rst-vision-headobjects-documentation
.. py:class:: rst.vision.HeadObjects
A list of head objects.
.. codeauthor:: Vasil Khalidov
.. py:attribute:: head_objects
:type: array of :py:class:`rst.vision.HeadObject`
*Not documented*
.. container:: message-rst-vision-headobjects-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/HeadObjects.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/HeadObjects.proto
:lines: 14-18
:language: protobuf
:emphasize-lines: 3-3
.. _message-rst-vision-headobject:
Message HeadObject
------------------
.. container:: message-rst-vision-headobject-multi
.. container:: message-rst-vision-headobject-documentation
.. py:class:: rst.vision.HeadObject
Focus on image coordinate systems (vision-based).
A head object represented by its ID, location in the image and head
rotation angles.
id : head object identifier
.. todo::
what does the above mean?
.. codeauthor:: Vasil Khalidov
.. py:attribute:: tracking_info
:type: :py:class:`rst.tracking.TrackingInfo`
*Not documented*
.. py:attribute:: region
:type: :py:class:`rst.geometry.BoundingBox`
Head location in the input image.
.. py:attribute:: position
:type: :py:class:`rst.math.Vec3DFloat`
*Not documented*
.. py:attribute:: pose
:type: :py:class:`rst.math.Vec3DFloat`
:py:attr:`x ` -> pan
Pan head rotation angle. Positive: person looks to her or his
right side.
:py:attr:`y ` -> tilt
Tilt head rotation angle. Positive: person looks up.
:py:attr:`z ` -> roll
Roll head rotation angle. Positive: person's head rolled to
his right shoulder.
.. py:attribute:: faces
:type: array of :py:class:`rst.vision.HeadObject.LabeledFace`
.. todo::
semantic description
Repeated field because in cases of stereo processing there
might be faces from both cameras.
.. py:attribute:: speaking_probability
:type: :py:class:`FLOAT32`
*Not documented*
.. py:attribute:: vfoa_target
:type: :py:class:`OCTET-VECTOR`
String description of the visual focus of attention of this
head.
.. py:attribute:: identity
:type: :py:class:`rst.classification.ClassificationResult`
*Not documented*
.. py:attribute:: gender
:type: :py:class:`rst.classification.ClassificationResult`
*Not documented*
.. py:attribute:: age
:type: :py:class:`rst.classification.ClassificationResult`
*Not documented*
.. container:: message-rst-vision-headobject-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/HeadObject.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/HeadObject.proto
:lines: 24-82
:language: protobuf
:emphasize-lines: 3-3,8-8,10-10,27-27,43-43,45-45,51-51,53-53,55-55,57-57
.. _message-rst-vision-headobject-labeledface:
Message LabeledFace
-------------------
.. container:: message-rst-vision-headobject-labeledface-multi
.. container:: message-rst-vision-headobject-labeledface-documentation
.. py:class:: rst.vision.HeadObject.LabeledFace
*Not documented*
.. py:attribute:: label
:type: :py:class:`OCTET-VECTOR`
*Not documented*
.. py:attribute:: face
:type: :py:class:`rst.vision.Face`
*Not documented*
.. container:: message-rst-vision-headobject-labeledface-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/HeadObject.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/sandbox/rst/vision/HeadObject.proto
:lines: 52-58
:language: protobuf
:emphasize-lines: 3-3,5-5
.. _message-rst-vision-face:
Message Face
------------
.. container:: message-rst-vision-face-multi
.. container:: message-rst-vision-face-documentation
.. py:class:: rst.vision.Face
An object of this type represents a human face detected in an image.
The region of the image which corresponds to the face is
represented as a :py:class:`BoundingBox ` .
.. codeauthor:: Johannes Wienke
.. py:attribute:: region
:type: :py:class:`rst.geometry.BoundingBox`
Bounding box defining the location of the detected face in a
camera image.
.. py:attribute:: confidence
:type: :py:class:`FLOAT64`
**Constraint**: ``0 <= value <= 1``
Indicates the confidence of the detector that this detection
result is actually a real face. Higher values indicate a higher
confidence.
.. container:: message-rst-vision-face-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/vision/Face.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/vision/Face.proto
:lines: 17-33
:language: protobuf
:emphasize-lines: 7-7,15-15