{"id":13711034,"url":"https://github.com/oarriaga/paz","last_synced_at":"2025-05-14T14:10:10.589Z","repository":{"id":37256652,"uuid":"212275874","full_name":"oarriaga/paz","owner":"oarriaga","description":"Hierarchical perception library in Python for pose estimation, object detection, instance segmentation, keypoint estimation, face recognition, etc.","archived":false,"fork":false,"pushed_at":"2025-05-08T12:49:56.000Z","size":10304,"stargazers_count":662,"open_issues_count":39,"forks_count":106,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-08T13:44:04.487Z","etag":null,"topics":["emotion-recognition","face-recognition","instance-segmentation","keypoint-estimation","object-detection","pose-estimation","semantic-segmentation"],"latest_commit_sha":null,"homepage":"https://oarriaga.github.io/paz/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oarriaga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-02T07:05:59.000Z","updated_at":"2025-05-04T08:27:58.000Z","dependencies_parsed_at":"2023-02-12T11:15:27.312Z","dependency_job_id":"e4ac05d7-fa05-4c96-83a2-ff29c3de97cf","html_url":"https://github.com/oarriaga/paz","commit_stats":{"total_commits":3023,"total_committers":33,"mean_commits":91.60606060606061,"dds":0.5521005623552762,"last_synced_commit":"cede0aee7b0ce78357f884b916f96803f1cea202"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oarriaga%2Fpaz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oarriaga%2Fpaz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oarriaga%2Fpaz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oarriaga%2Fpaz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oarriaga","download_url":"https://codeload.github.com/oarriaga/paz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160557,"owners_count":22024571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emotion-recognition","face-recognition","instance-segmentation","keypoint-estimation","object-detection","pose-estimation","semantic-segmentation"],"created_at":"2024-08-02T23:01:03.708Z","updated_at":"2025-05-14T14:10:05.531Z","avatar_url":"https://github.com/oarriaga.png","language":"Python","funding_links":[],"categories":["Python","Computer Vision","Public Groups and Projects on GitHub.com"],"sub_categories":["Classification \u0026 Detection \u0026 Tracking"],"readme":"# (PAZ) Perception for Autonomous Systems\n[![Unit testing](https://github.com/oarriaga/paz/actions/workflows/python-package.yml/badge.svg)](https://github.com/oarriaga/paz/actions/workflows/python-package.yml)\n[![PyPI upload](https://github.com/oarriaga/paz/actions/workflows/python-publish.yml/badge.svg)](https://github.com/oarriaga/paz/actions/workflows/python-publish.yml)\n[![Publish Website](https://github.com/oarriaga/paz/actions/workflows/publish-website.yml/badge.svg?branch=master)](https://github.com/oarriaga/paz/actions/workflows/publish-website.yml)\n[![Downloads](https://static.pepy.tech/personalized-badge/pypaz?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=blue\u0026left_text=Downloads)](https://pepy.tech/project/pypaz)\n\nHierarchical perception library in Python.\n\n## Selected examples:\nPAZ is used in the following examples (links to **real-time demos** and training scripts):\n\n| [Probabilistic 2D keypoints](https://github.com/oarriaga/paz/tree/master/examples/probabilistic_keypoint_estimation)| [6D head-pose estimation](https://github.com/oarriaga/paz/tree/master/examples/pose_estimation)  | [Object detection](https://github.com/oarriaga/paz/tree/master/examples/object_detection)|\n|---------------------------|--------------------------| ------------------|\n|\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/probabilistic_keypoints.png\" width=\"425\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/head_pose.png\" width=\"440\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/object_detection.png\" width=\"430\"\u003e|\n\n| [Emotion classifier](https://github.com/oarriaga/paz/tree/master/examples/face_classification) | [2D keypoint estimation](https://github.com/oarriaga/paz/tree/master/examples/keypoint_estimation)   | [Mask-RCNN (in-progress)](https://github.com/oarriaga/paz/tree/mask_rcnn/examples/mask_rcnn)  |\n|---------------------------|--------------------------| -----------------------|\n|\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/emotion.gif\" width=\"250\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/keypoints.png\" width=\"410\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/mask.png\" width=\"400\"\u003e|\n\n|[Semantic segmentation](https://github.com/oarriaga/paz/tree/master/examples/semantic_segmentation) | [Hand pose estimation](https://github.com/oarriaga/paz/tree/master/examples/hand_pose_estimation) |  [2D Human pose estimation](https://github.com/oarriaga/paz/tree/master/examples/human_pose_estimation_2D) |\n|---------------------------|-----------------------|-----------------|\n| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/semantic_segmentation.png\" width=\"325\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/minimal_hand_example.jpg\" width=\"330\"\u003e |\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/human_pose.gif\" width=\"250\"\u003e | \n\n| [3D keypoint discovery](https://github.com/oarriaga/paz/tree/master/examples/discovery_of_latent_keypoints)     | [Hand closure detection](https://github.com/oarriaga/paz/tree/master/examples/hand_pose_estimation)  | [6D pose estimation](https://github.com/oarriaga/paz/tree/master/examples/pix2pose) |\n|---------------------------|-----------------------| --------------------------|\n|\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/discovery_keypoints.png\" width=\"335\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/hand_closure_detection.gif\" width=\"250\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/pix2pose_example.jpg\" width=\"330\"\u003e |\n\n| [Implicit orientation](https://github.com/oarriaga/paz/tree/master/examples/implicit_orientation_learning)  | [Attention (STNs)](https://github.com/oarriaga/paz/tree/master/examples/spatial_transfomer_networks) | [Haar Cascade detector](https://github.com/oarriaga/paz/tree/master/examples/haar_cascade_detectors) |\n|---------------------------|-----------------------|-----------------|\n|\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/implicit_pose.png\" width=\"335\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/attention.png\" width=\"340\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/haar_cascades.png\" width=\"330\"\u003e |\n\n| [Eigenfaces](https://github.com/oarriaga/paz/blob/master/examples/eigenfaces) |[Prototypical Networks](https://github.com/oarriaga/paz/tree/master/examples/prototypical_networks) | [3D Human pose estimation](https://github.com/oarriaga/paz/blob/master/examples/human_pose_estimation_3D) |\n|---------------------------|-----------------------|-----------------|\n|\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/eigenfaces.png\" width=\"325\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/protonets.png\" width=\"330\"\u003e  | \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/human_pose3D.gif\" width=\"250\"\u003e |\n\n|[MAML](https://github.com/oarriaga/paz/blob/master/examples/maml)| | |\n|---------------------------|-----------------------|-----------------|\n|\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/maml.png\" width=\"325\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/your_example_here.png\" width=\"330\"\u003e| \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/blank.png\" width=\"330\"\u003e |\n\n\nAll models can be re-trained with your own data (except for Mask-RCNN, we are working on it [here](https://github.com/oarriaga/paz/tree/mask_rcnn)).\n\n## Table of Contents\n\u003c!--ts--\u003e\n* [Examples](#selected-examples)\n* [Installation](#installation)\n* [Documentation](#documentation)\n* [Hierarchical APIs](#hierarchical-apis)\n    * [High-level](#high-level) | [Mid-level](#mid-level) | [Low-level](#low-level)\n* [Additional functionality](#additional-functionality)\n    * [Implemented models](#models)\n* [Motivation](#motivation)\n* [Citation](#citation)\n* [Funding](#funding)\n\u003c!--te--\u003e\n\n## Installation\nPAZ has only **three** dependencies: [Tensorflow2.0](https://www.tensorflow.org/), [OpenCV](https://opencv.org/) and [NumPy](https://numpy.org/).\n\nTo install PAZ with pypi run:\n```\npip install pypaz --user\n```\n\n## Documentation\nFull documentation can be found [https://oarriaga.github.io/paz/](https://oarriaga.github.io/paz/).\n\n## Hierarchical APIs\nPAZ can be used with three different API levels which are there to be helpful for the user's specific application.\n\n## High-level\nEasy out-of-the-box prediction. For example, for detecting objects we can call the following pipeline:\n\n``` python\nfrom paz.applications import SSD512COCO\n\ndetect = SSD512COCO()\n\n# apply directly to an image (numpy-array)\ninferences = detect(image)\n```\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/object_detections_in_the_street.png\" width=\"1000\"\u003e\n\u003c/p\u003e\n\n\n\nThere are multiple high-level functions a.k.a. ``pipelines`` already implemented in PAZ [here](https://github.com/oarriaga/paz/tree/master/paz/pipelines). Those functions are build using our mid-level API described now below.\n\n## Mid-level\nWhile the high-level API is useful for quick applications, it might not be flexible enough for your specific purpose. Therefore, in PAZ we can build high-level functions using our a mid-level API.\n\n### Mid-level: Sequential\nIf your function is sequential you can construct a sequential function using ``SequentialProcessor``. In the example below we create a data-augmentation pipeline:\n\n``` python\nfrom paz.abstract import SequentialProcessor\nfrom paz import processors as pr\n\naugment = SequentialProcessor()\naugment.add(pr.RandomContrast())\naugment.add(pr.RandomBrightness())\naugment.add(pr.RandomSaturation())\naugment.add(pr.RandomHue())\n\n# you can now use this now as a normal function\nimage = augment(image)\n```\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/examples_of_image_augmentation.png\" width=\"800\"\u003e\n\u003c/p\u003e\n\nYou can also add **any function** not only those found in ``processors``. For example we can pass a numpy function to our original data-augmentation pipeline:\n\n``` python\naugment.add(np.mean)\n```\nThere are multiple functions a.k.a. ``Processors`` already implemented in PAZ [here](https://github.com/oarriaga/paz/tree/master/paz/processors).\n\nUsing these processors we can build more complex pipelines e.g. **data augmentation for object detection**: [``pr.AugmentDetection``](https://github.com/oarriaga/paz/blob/master/paz/pipelines/detection.py#L46)\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/examples_of_object_detection_augmentation.png\" width=\"800\"\u003e\n\u003c/p\u003e\n\n\n### Mid-level: Explicit\nNon-sequential pipelines can be also build by abstracting ``Processor``. In the example below we build a emotion classifier from **scratch** using our high-level and mid-level functions.\n\n``` python\nfrom paz.applications import HaarCascadeFrontalFace, MiniXceptionFER\nimport paz.processors as pr\n\nclass EmotionDetector(pr.Processor):\n    def __init__(self):\n        super(EmotionDetector, self).__init__()\n        self.detect = HaarCascadeFrontalFace(draw=False)\n        self.crop = pr.CropBoxes2D()\n        self.classify = MiniXceptionFER()\n        self.draw = pr.DrawBoxes2D(self.classify.class_names)\n\n    def call(self, image):\n        boxes2D = self.detect(image)['boxes2D']\n        cropped_images = self.crop(image, boxes2D)\n        for cropped_image, box2D in zip(cropped_images, boxes2D):\n            box2D.class_name = self.classify(cropped_image)['class_name']\n        return self.draw(image, boxes2D)\n        \ndetect = EmotionDetector()\n# you can now apply it to an image (numpy array)\npredictions = detect(image)\n```\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/emotion_classification_in_the_wild.png\" width=\"800\"\u003e\n\u003c/p\u003e\n\n\n``Processors`` allow us to easily compose, compress and extract away parameters of functions. However, most processors are build using our low-level API (backend) shown next.\n\n## Low-level\n\nMid-level processors are mostly built from small backend functions found in: [boxes](https://github.com/oarriaga/paz/blob/master/paz/backend/boxes.py), [cameras](https://github.com/oarriaga/paz/blob/master/paz/backend/camera.py), [images](https://github.com/oarriaga/paz/tree/master/paz/backend/image), [keypoints](https://github.com/oarriaga/paz/blob/master/paz/backend/keypoints.py) and [quaternions](https://github.com/oarriaga/paz/blob/master/paz/backend/quaternion.py).\n\nThese functions can found in ``paz.backend``:\n\n``` python\nfrom paz.backend import boxes, camera, image, keypoints, quaternion\n```\nFor example, you can use them in your scripts to load or show images:\n\n``` python\nfrom paz.backend.image import load_image, show_image\n\nimage = load_image('my_image.png')\nshow_image(image)\n```\n\n## Additional functionality\n\n* PAZ has [built-in messages](https://github.com/oarriaga/paz/blob/master/paz/abstract/messages.py) e.g. ``Pose6D`` for an easier data exchange with other frameworks such as [ROS](https://www.ros.org/).\n\n* There are custom [callbacks](https://github.com/oarriaga/paz/blob/master/paz/optimization/callbacks.py) e.g. MAP evaluation for object detectors while training.\n    \n* PAZ comes with [data loaders](https://github.com/oarriaga/paz/tree/master/paz/datasets) for the multiple datasets:\n    [OpenImages](https://github.com/oarriaga/paz/blob/master/paz/datasets/open_images.py), [VOC](https://github.com/oarriaga/paz/blob/master/paz/datasets/voc.py), [YCB-Video](https://github.com/oarriaga/paz/blob/master/examples/object_detection/datasets/ycb_video.py), [FAT](https://github.com/oarriaga/paz/blob/master/paz/datasets/fat.py), [FERPlus](https://github.com/oarriaga/paz/blob/master/paz/datasets/ferplus.py), [FER2013](https://github.com/oarriaga/paz/blob/master/paz/datasets/fer.py), [CityScapes](https://github.com/oarriaga/paz/blob/master/paz/datasets/cityscapes.py).\n\n* We have an automatic [batch creation and dispatching wrappers](https://github.com/oarriaga/paz/blob/master/paz/abstract/sequence.py) for an easy connection between you ``pipelines`` and tensorflow generators. Please look at the [tutorials](https://github.com/oarriaga/paz/tree/master/examples/tutorials) for more information.\n\n### Models\n\nThe following models are implemented in PAZ and they can be trained with your own data:\n\n| Task (link to implementation)    |Model (link to paper)  |\n|---------------------------:|-----------------------| \n|[Object detection](https://github.com/oarriaga/paz/blob/master/paz/models/detection/ssd300.py)|[SSD-300](https://arxiv.org/abs/1512.02325)|\n|[Object detection](https://github.com/oarriaga/paz/blob/master/paz/models/detection/ssd512.py)|[SSD-512](https://arxiv.org/abs/1512.02325)|\n|[Probabilistic keypoint est.](https://github.com/oarriaga/paz/blob/master/examples/probabilistic_keypoint_estimation/model.py) |[Gaussian Mixture CNN](https://www.robots.ox.ac.uk/~vgg/publications/2018/Neumann18a/)   |\n|[Detection and Segmentation](https://github.com/oarriaga/paz/tree/mask_rcnn/examples/mask_rcnn)  |[MaskRCNN (in progress)](https://arxiv.org/abs/1703.06870) |\n|[Keypoint estimation](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/hrnet.py)|[HRNet](https://arxiv.org/abs/1908.07919)|\n|[Semantic segmentation](https://github.com/oarriaga/paz/blob/master/paz/models/segmentation/unet.py)|[U-NET](https://arxiv.org/abs/1505.04597)|\n|[6D Pose estimation](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/keypointnet.py)          |[Pix2Pose](https://arxiv.org/abs/1908.07433)          |\n|[Implicit orientation](https://github.com/oarriaga/paz/blob/master/examples/implicit_orientation_learning/model.py)        |[AutoEncoder](https://arxiv.org/abs/1902.01275)            |\n|[Emotion classification](https://github.com/oarriaga/paz/blob/master/paz/models/classification/xception.py)       |[MiniXception](https://arxiv.org/abs/1710.07557)           |\n|[Discovery of Keypoints](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/keypointnet.py)      |[KeypointNet](https://arxiv.org/abs/1807.03146)            |\n|[Keypoint estimation](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/keypointnet.py)  |[KeypointNet2D](https://arxiv.org/abs/1807.03146)|\n|[Attention](https://github.com/oarriaga/paz/blob/master/examples/spatial_transfomer_networks/STN.py)                   |[Spatial Transformers](https://arxiv.org/abs/1506.02025)   |\n|[Object detection](https://github.com/oarriaga/paz/blob/master/paz/models/detection/haar_cascade.py)            |[HaarCascades](https://link.springer.com/article/10.1023/B:VISI.0000013087.49260.fb)  |\n|[2D Human pose estimation](https://github.com/oarriaga/paz/blob/master/paz/models/pose_estimation/higher_hrnet.py)            |[HigherHRNet](https://arxiv.org/abs/1908.10357)  |\n|[3D Human pose estimation](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/simplebaselines.py) | [Simple Baseline](https://arxiv.org/abs/1705.03098) |\n|[Hand pose estimation](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/detnet.py)            |[DetNet](https://vcai.mpi-inf.mpg.de/projects/2020-cvpr-hands/)  |\n|[Hand closure classification](https://github.com/oarriaga/paz/blob/master/paz/models/keypoint/iknet.py)            |[IKNet](https://vcai.mpi-inf.mpg.de/projects/2020-cvpr-hands/)  |\n|[Hand detection](https://github.com/oarriaga/paz/blob/master/paz/models/detection/ssd512.py)            |[SSD512](https://arxiv.org/abs/1512.02325)|\n|[Few-shot classification](https://github.com/oarriaga/paz/blob/master/paz/models/classification/protonet.py)| [Prototypical Networks](https://arxiv.org/abs/1703.05175)|\n|[Few-shot classification](https://github.com/oarriaga/paz/blob/master/examples/maml/maml.py)| [Model Agnostic Meta Learning (MAML)](https://arxiv.org/abs/1703.03400)|\n\n\n## Motivation\nEven though there are multiple high-level computer vision libraries in different deep learning frameworks, I felt there was not a consolidated deep learning library for robot-perception in my framework of choice (Keras).\n\nAs a final remark, I would like to mention, that I feel that we might tend to forget the great effort and emotional status behind every (open-source) project.\nI feel it's easy to blurry a company name with the individuals behind their work, and we forget that there is someone feeling our criticism and our praise.\nTherefore, whatever good code you can find here, is all dedicated to the software-engineers and contributors of open-source projects like Pytorch, Tensorflow and Keras.\nYou put your craft out there for all of us to use and appreciate, and we ought first to give you our thankful consideration.\n\n\n## Why the name **PAZ**?\n* The name PAZ satisfies it's theoretical definition by having it as an acronym for **Perception for Autonomous Systems** where the letter S is replaced for Z in order to indicate that for \"System\" we mean almost anything i.e. Z being a classical algebraic variable to indicate an unknown element.\n\n\n## Tests and coverage\nContinuous integration is managed trough [github actions](https://github.com/features/actions) using [pytest](https://docs.pytest.org/en/stable/).\nYou can then check for the tests by running:\n```\npytest tests\n``` \nTest coverage can be checked using [coverage](https://coverage.readthedocs.io/en/coverage-5.2.1/).\nYou can install coverage by calling: `pip install coverage --user`\nYou can then check for the test coverage by running:\n```\ncoverage run -m pytest tests/\ncoverage report -m\n```\n\n## Citation\nIf you use PAZ please consider citating it. You can also find our paper here [https://arxiv.org/abs/2010.14541](https://arxiv.org/abs/2010.14541).\n\n```BibTeX\n@misc{arriaga2020perception,\n      title={Perception for Autonomous Systems (PAZ)}, \n      author={Octavio Arriaga and Matias Valdenegro-Toro and Mohandass Muthuraja and Sushma Devaramani and Frank Kirchner},\n      year={2020},\n      eprint={2010.14541},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\n## Funding\nPAZ is currently developed in the [Robotics Group](https://robotik.dfki-bremen.de/de/ueber-uns/universitaet-bremen-arbeitsgruppe-robotik.html) of the [University of Bremen](https://www.uni-bremen.de/), together with the [Robotics Innovation Center](https://robotik.dfki-bremen.de/en/startpage.html) of the **German Research Center for Artificial Intelligence** (DFKI) in **Bremen**.\nPAZ has been funded by the German Federal Ministry for Economic Affairs and Energy and the [German Aerospace Center](https://www.dlr.de/DE/Home/home_node.html) (DLR).\nPAZ been used and/or developed in the projects [TransFIT](https://robotik.dfki-bremen.de/en/research/projects/transfit.html) and [KiMMI-SF](https://robotik.dfki-bremen.de/en/research/projects/kimmi-sf/).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/oarriaga/altamira-data/master/images/funding_partners.png\" width=\"1200\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foarriaga%2Fpaz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foarriaga%2Fpaz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foarriaga%2Fpaz/lists"}