Satyam is an automated groundtruth collection system for machine vision tasks, such as classification, detection, tracking, segmentation, etc. The system enables researchers to collect high-quality labels at scale and build custom datasets for novel applications with minimal effort, latency and cost.
DISCLAIMER: This is an alpha anonymous release meant for reviewers and may not be very user-friendly at this point. A broader open-source release will have better support for easily configuring the system.
Prerequisites
Provisioning Task Pages
Currently, Satyam supports the following machine vision tasks. In order to collect annotations, host these task pages (in SatyamTaskPages folder) on . The host address can be "localhost" for a small scale local test, but needs to be public when using AMT.
Segmentation Task Page (Demo)
Tracking Task Page (Demo)
Detection Task Page (Demo)
Image Classification Task Page (Demo)
Video Classification Task Page (Demo)
Counting in Image Task Page (Demo)
Counting in Video Task Page (Demo)
Provisioning Database
Satyam uses a cloud database to record (intermediate) results and trigger Azure Functions for automated monitoring and execution. Create the tables (in the SQLTables folder) under your Azure storage account. To create all the tables in one shot, run config_database() (coming soon). To manually create a specific table, you can use SQL Server Manager Studio (SSMS)
Preparing Data
Satyam accepts the following format for each task:
Configuration
Fill in the configuration constants in Constants/ConfigConstants.cs as follows:
AZURE_STORAGE_CONNECTION_STRING = "DefaultEndpointsProtocol=https;AccountName=<YOUR_AZURE_BLOB_NAME>;AccountKey=<YOUR_AZURE_ACCOUNT_KEY>;EndpointSuffix=core.windows.net"; AZURE_BLOB_URL = "https://<YOUR_AZURE_BLOB_NAME>.blob.core.windows.net/"; TASKPAGE_SERVER_ADDRESS = "<YOUR_TASKPAGE_SERVER_ADDRESS>"; MODEL_SERVER_ADDRESS = "<YOUR_TENSORFLOW_SERVING_ADDRESS>"; //(OPTIONAL)
Satyam provides a portal webpage for easily configuring local launches.