.. _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
HeadObjecthead_objects
>,shape=box,style=filled,fillcolor="white"]; "14" [label=<
HeadObject
TrackingInfotracking_info
BoundingBoxregion
Vec3DFloatposition
Vec3DFloatpose
LabeledFacefaces
FLOAT32speaking_probability
OCTET-VECTORvfoa_target
ClassificationResultidentity
ClassificationResultgender
ClassificationResultage
>,shape=box,style=filled,fillcolor="white"]; "18" [label=<
ClassificationResult
OCTET-VECTORdecided_class
ClassWithProbabilityclasses
>,shape=box,style=filled,fillcolor="white"]; "19" [label=<
ClassWithProbability
OCTET-VECTORname
FLOAT32confidence
>,shape=box,style=filled,fillcolor="white"]; "17" [label=<
LabeledFace
OCTET-VECTORlabel
Faceface
>,shape=box,style=filled,fillcolor="white"]; "16" [label=<
Vec3DFloat
FLOAT32x
FLOAT32y
FLOAT32z
>,shape=box,style=filled,fillcolor="white"]; "15" [label=<
TrackingInfo
UINT32id
>,shape=box,style=filled,fillcolor="white"]; "11" [label=<
EncodedImage
Encodingencoding
OCTET-VECTORdata
>,shape=box,style=filled,fillcolor="white"]; "12" [label=<
Encoding
PPM1
PNG2
JPG3
JP24
TIFF5
>,shape=box,style=filled,fillcolor="white"]; "8" [label=<
LocatedFace
Faceface
Translationlocation
Rotationorientation
>,shape=box,style=filled,fillcolor="white"]; "10" [label=<
Rotation
FLOAT64qw
FLOAT64qx
FLOAT64qy
FLOAT64qz
ASCII-STRINGframe_id
>,shape=box,style=filled,fillcolor="white"]; "9" [label=<
Translation
FLOAT64x
FLOAT64y
FLOAT64z
ASCII-STRINGframe_id
>,shape=box,style=filled,fillcolor="white"]; "6" [label=<
FaceLandmarksCollection
FaceLandmarkselement
>,shape=box,style=filled,fillcolor="white"]; "7" [label=<
FaceLandmarks
Vec2DIntjaw
Vec2DIntnose
Vec2DIntnose_wings
Vec2DIntright_brow
Vec2DIntleft_brow
Vec2DIntright_eye
Vec2DIntleft_eye
Vec2DIntouter_lips
Vec2DIntinner_lips
>,shape=box,style=filled,fillcolor="white"]; "1" [label=<
FaceWithGazeCollection
FaceWithGazeelement
>,shape=box,style=filled,fillcolor="white"]; "2" [label=<
FaceWithGaze
Faceregion
BOOLlid_closed
FLOAT64horizontal_gaze_estimation
FLOAT64vertical_gaze_estimation
>,shape=box,style=filled,fillcolor="white"]; "3" [label=<
Face
BoundingBoxregion
FLOAT64confidence
>,shape=box,style=filled,fillcolor="white"]; "4" [label=<
BoundingBox
Vec2DInttop_left
UINT32width
UINT32height
UINT32image_width
UINT32image_height
>,shape=box,style=filled,fillcolor="white"]; "5" [label=<
Vec2DInt
INT32x
INT32y
>,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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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