All Projects → microsoft → Psi

microsoft / Psi

Licence: other
Platform for Situated Intelligence

Projects that are alternatives of or similar to Psi

Fs2 Kafka
Kafka client for functional streams for scala (fs2)
Stars: ✭ 75 (-69.88%)
Mutual labels:  stream-processing, streaming
Wally
Distributed Stream Processing
Stars: ✭ 1,461 (+486.75%)
Mutual labels:  stream-processing, framework
Incubator Hop
Hop Orchestration Platform
Stars: ✭ 94 (-62.25%)
Mutual labels:  pipelines, streaming
Saber
Window-Based Hybrid CPU/GPU Stream Processing Engine
Stars: ✭ 35 (-85.94%)
Mutual labels:  stream-processing, streaming
Kafka Streams In Action
Source code for the Kafka Streams in Action Book
Stars: ✭ 167 (-32.93%)
Mutual labels:  stream-processing, streaming
Aplay
A Better(Maybe) iOS Audio Stream、Cache、Play Framework
Stars: ✭ 44 (-82.33%)
Mutual labels:  framework, streaming
Flink Learning
flink learning blog. http://www.54tianzhisheng.cn/ 含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例,还有 Flink 落地应用的大型项目案例(PVUV、日志存储、百亿数据实时去重、监控告警)分享。欢迎大家支持我的专栏《大数据实时计算引擎 Flink 实战与性能优化》
Stars: ✭ 11,378 (+4469.48%)
Mutual labels:  stream-processing, streaming
Awesome Ui Component Library
Curated list of framework component libraries for UI styles/toolkit
Stars: ✭ 702 (+181.93%)
Mutual labels:  framework, component-library
Avalanche
Avalanche: a End-to-End Library for Continual Learning.
Stars: ✭ 151 (-39.36%)
Mutual labels:  artificial-intelligence, framework
Mediapipe
Cross-platform, customizable ML solutions for live and streaming media.
Stars: ✭ 15,338 (+6059.84%)
Mutual labels:  stream-processing, framework
Gdx Ai
Artificial Intelligence framework for games based on libGDX or not. Features: Steering Behaviors, Formation Motion, Pathfinding, Behavior Trees and Finite State Machines
Stars: ✭ 907 (+264.26%)
Mutual labels:  artificial-intelligence, framework
Hstream
The streaming database built for IoT data storage and real-time processing in the 5G Era
Stars: ✭ 166 (-33.33%)
Mutual labels:  stream-processing, streaming
Goapframework
C++ General Purpose Goal Oriented Action Planning framework for Unreal Engine
Stars: ✭ 17 (-93.17%)
Mutual labels:  artificial-intelligence, framework
Stream
Elegant stream processing pipeline written entirely in Golang
Stars: ✭ 45 (-81.93%)
Mutual labels:  stream-processing, streaming
Serpentai
Game Agent Framework. Helping you create AIs / Bots that learn to play any game you own!
Stars: ✭ 6,104 (+2351.41%)
Mutual labels:  artificial-intelligence, framework
Sigma
Rocket powered machine learning. Create, compare, adapt, improve - artificial intelligence at the speed of thought.
Stars: ✭ 98 (-60.64%)
Mutual labels:  artificial-intelligence, framework
Streaming Readings
Streaming System 相关的论文读物
Stars: ✭ 554 (+122.49%)
Mutual labels:  stream-processing, streaming
Go Streams
A lightweight stream processing library for Go
Stars: ✭ 615 (+146.99%)
Mutual labels:  stream-processing, pipelines
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+722.49%)
Mutual labels:  framework, streaming
Log Anomaly Detector
Log Anomaly Detection - Machine learning to detect abnormal events logs
Stars: ✭ 169 (-32.13%)
Mutual labels:  artificial-intelligence, stream-processing

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. Examples include multimodal interactive systems such as social robots and embodied conversational agents, systems for ambient intelligence and smart spaces, applications based on small devices that work with streaming sensor data, etc. In essence, any application that processes streaming, sensor data (such as audio, video, depth, etc.), combines multiple (AI) technologies, and operates under latency constraints can benefit from the affordances the provided by the framework.

The framework accelerates the development of these applications 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

A high-level overview of the framework is available in this blog post. An on-demand webinar is also available containing a brief introduction and tutorial on how to code with \psi – here is the registration link.

What’s New

02/26/2021: Please join us April 27-28th for a Platform for Situated Intelligence Workshop! This virtual workshop will introduce you to the basics of using the framework to accelerate your own work in the space of multimodal, integrative AI, and will include in-depth tutorials, demos, and discussions of specific topics. For more information and to register, please see the event website.

12/07/2020: We have published a new beta release, version 0.14.35.3, which includes a new ONNX model runner for ImageNet models, new components for screen and window capture, updates to annotation editing in PsiStudio, as well as a number of bug fixes and updates -- see the full release notes for more details.

09/30/2020: We have added three additional samples: a basic HelloWorld sample illustrating the simplest starting point for a \psi application, a more complex one demonstrating how to do some basic audio capture and processing to construct a simple voice activity detector, and a third sample that combines information from Azure Kinect with Cognitive Services vision and speech to detect objects that a person is pointing to.

09/02/2020: We published a blog post with a high-level overview of the framework.

08/31/2020: We released version 0.13.38.2, which brings important updates to Platform for Situated Intelligence Studio (including data annotation), updates to the runtime to support 3rd party data store sources, and components for running ONNX models. See the release notes for a more complete description of updates.

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. If you would like to directly start from sample code, a number of small sample applications are also available, and several of them have walkthroughs that explain how the sample was constructed and point to additional documentation. We recommend you start with the samples below, listed in increasing order of complexity: | Name | Description | Cross-plat | Requirements | | :----------- | :---------- | :--: | :--: | | HelloWorld
HelloWorldPreview | This sample provides the simplest starting point for creating a \psi application: it illustrates how to create and run a simple \psi pipeline containing a single stream. | Yes | None | | SimpleVoiceActivityDetector
SimpleVADPreview | This sample captures audio from a microphone and performs voice activity detection, i.e., it computes a boolean signal indicating whether or not the audio contains voiced speech. | Yes | Microphone | | WebcamWithAudio for Windows or Linux
WebcamPreview | This sample shows how to display images from a camera and the audio energy level from a microphone and illustrates the basics of stream synchronization. | Yes | Webcam and Microphone | | WhatIsThat
WhatIsThatPreview| This sample implements a simple application that uses an Azure Kinect sensor to detect the objects a person is pointing to. | Windows-only | Azure Kinect + Cognitive Services |

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].