Platform for Situated Intelligence
Перейти к файлу
Nick Saw c09c777043 Minor doc fix 2020-09-04 15:17:57 -07:00
Build Minor doc fix 2020-09-04 15:17:57 -07:00
Sources Moved StreamMetadataBase to Microsoft.Psi namespace (#81) 2020-09-04 13:25:49 -07:00
.gitattributes Merged PR 45675: Release 0.13.38.2 2020-08-31 23:00:24 +00:00
.gitignore Merged PR 19650: Cosmo Release (0.4.216.2) 2018-07-06 23:08:31 +00:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-08-03 14:55:20 -07:00
CONTRIBUTING.md Removed sample projects (#79) 2020-09-01 18:16:14 -07:00
Directory.Build.props Merged PR 45675: Release 0.13.38.2 2020-08-31 23:00:24 +00:00
LICENSE.txt Releasing Mule (0.2.123.1) to Master 2018-03-17 20:29:49 +00:00
NuGet.Config Releasing Mule (0.2.123.1) to Master 2018-03-17 20:29:49 +00:00
Psi.sln Removed sample projects (#79) 2020-09-01 18:16:14 -07:00
README.md Update README.md 2020-09-02 19:20:18 -07:00
SECURITY.md Merged PR 39726: Release 0.11.82.2 2020-04-15 00:25:45 +00:00
ThirdPartyNotices.txt Merged PR 39726: Release 0.11.82.2 2020-04-15 00:25:45 +00:00
build.sh Removed sample projects (#79) 2020-09-01 18:16:14 -07:00

README.md

Platform for Situated Intelligence

Build status Join the chat at https://gitter.im/Microsoft/psi

Platform for Situated Intelligence (or in short, \psi, pronounced like the greek letter) is an open, extensible framework for development and research of multimodal, integrative-AI systems. These are systems that process various types of streaming sensor data (such as audio, video, depth, etc.) and that need to leverage and coordinate a variety of component technologies. Examples range from social robots or embodied agents that interact with people, to smart spaces such as instrumented meeting rooms, all the way to applications based on small devices that process streaming sensor data.

The framework accelerates the development of multimodal, integrative-AI systems by providing:

  • a modern, performant infrastructure for working with multimodal, temporally streaming data
  • a set of tools for multimodal data visualization, annotation, and processing
  • an ecosystem of components for various sensors, processing technologies, and effectors

Psi Overview

Getting Started

The core \psi infrastructure is built on .NET Standard and therefore runs both on Windows and Linux. Some components and tools are more specific and are available only on one or the other operating system. You can build \psi applications either by leveraging \psi NuGet packages, or by cloning and building the source code.

A Quick Introduction. To learn more about \psi and how to build applications with it, we recommend you start with the Brief Introduction tutorial, which will walk you through for some of the main concepts. It shows how to create a simple program, describes the core concept of a stream, and explains how to transform, synchronize, visualize, persist and replay streams from disk.

Samples. A number of small sample applications, several with walkthroughs, are also available. A good starting point is a sample (Windows version or Linux version) that illustrates how to capture and process synchronized data from a webcam and microphone.

Documentation. The documentation for \psi is available in the github project wiki. It contains many additional resources, including tutorials, other specialized topics, and a full API reference that can help you learn more about the framework.

Getting Help

If you find a bug or if you would like to request a new feature or additional documentation, please file an issue in github. Use the bug label when filing issues that represent code defects, and provide enough information to reproduce the bug. Use the feature request label to request new features, and use the documentation label to request additional documentation.

Contributing

We are looking forward to engaging with the community to improve and evolve Platform for Situated Intelligence! We welcome contributions in many forms: from simply using it and filing issues and bugs, to writing and releasing your own new components, to creating pull requests for bug fixes or new features. The Contributing Guidelines page in the wiki describes many ways in which you can get involved, and some useful things to know before contributing to the code base.

To find more information about our future plans, please see the Roadmap document.

Who is Using

Platform for Situated Intelligence has been and is currently used in several industry and academic research labs, including (but not limited to):

If you would like to be added to this list, just file a GitHub issue and label it with the whoisusing label. Add a url for your research lab, website or project that you would like us to link to.

Disclaimer

The codebase is currently in beta and various aspects of the framework are under active development. There are probably still bugs in the code and we may make breaking API changes.

License

Platform for Situated Intelligence is available under an MIT License. See also Third Party Notices.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Acknowledgments

We would like to thank our internal collaborators and external early adopters, including (but not limited to): Daniel McDuff, Kael Rowan, Lev Nachmanson and Mike Barnett at MSR, Chirag Raman and Louis-Phillipe Morency in the MultiComp Lab at CMU, as well as researchers in the SLIM research group at Boise State and the Qualitative Reasoning Group at Northwestern University.