Setting up a project
If in the course of working through this guide you find anything is unclear or does not work as expected, do not hesitate to reach out to us at firstname.lastname@example.org
In this document we use annotation and label interchangeably.
Create a Login
Visit the Encord login page and click continue with Google. Go through Google's authentication process to complete registration. Alternatively, visit the Encord registration page, enter your email address, desired password and click register. You will be sent a confirmation email. Click on the link in the email to complete registration.
Introduction to setting up a project
Setting up a project follows an 4-step process. Each step will be discussed in this document.
- Dataset: Create a dataset that you want to annotate.
- Ontology: Create an ontology (taxonomy, label protocol). The ontology contains the information and structure about the annotation task.
- Annotation Project: Create a project and attach the dataset and ontology.
- Team Management: Add team members to the project (annotators, reviewers, administrators) and define roles and responsibilities.
- Click the New dataset button in the List and search section to create a new dataset. This initiates a simple step-by-step process for turning your data files into datasets.
- Give your dataset a title, and optionally a description. A clear title and description will keep your data organized and help collaborators find what they are looking for.
- If you plan to use cloud storage data, be sure to toggle Private cloud. We provide integrations for Azure, Google Cloud Platform, Amazon's S3 and Open Telekom Cloud.
At least one integration is needed to toggle Private cloud. These can be added in the 'Integrations' tab within 'Settings'. Please refer to the Data integrations documentation for more information.
- If you are ready to proceed and upload your data click Create dataset.
The next step is to upload data to your dataset. This can be done in two different ways:
Upload cloud storage data
- Create an appropriately formatted JSON or CSV file specifying the data you would like to add to the dataset.
- Click the upload area, or drag-and-drop the JSON or CSV files which specify which cloud storage data should be uploaded. Your stored objects may contain files which are not supported by Encord and which may produce errors on upload - toggle the Ignore individual file errors toggle to ignore these. Click Add data when you're ready.
The data will now be fetched from your cloud storage and processed asynchronously. This processing involves fetching appropriate metadata and other file information to help us render the files appropriately and to check for any framerate inconsistencies. We do not store your files in any way.
For information on how to add data from your private cloud please see our documentation here
Upload local data
- Select the file type you wish to upload. When uploading images, make sure to specify whether it is a single image, an image group, or an image sequence you'd like to upload.
The 'Add data' screen only allows you to upload your local data files if the Private Cloud toggle was not turned on in the previous step.
- Click the area highlighted in the screenshot above to select files you wish to upload. Drag-and-drop is also available.
- Unsuccessful uploads will result in a red cross being displayed.
- Successful uploads will display a green tick . This means your dataset has been successfully created.
If a video containing audio is uploaded the symbol should appear signifying that the file needs to be re-encoded.
Create an ontology (taxonomy, label structure). The ontology contains the information and structure about the annotation task. Our Ontology documentation offers a detailed overview.
Ontologies (label structures) are hierarchical structures which capture concepts and categories present in your data, and allow for nested attributes for fine-grained differentiation or detailed annotations.
- Objects are used in object detection and segmentation, when you want to annotate not only the category but also the location.
- Classifications (sometimes known as frame level classifications on Encord) annotate whether or not something is present in a given frame, but don't require localization data.
- Nested classifications can be nested under objects, classifications, and even other nested classifications to create deeply nested structures capable of modeling complex and even conditional attribute relationships.
Start creating the ontology
The ontology creation flow starts with the 'Enter details' screen, where you enter the title and description. Descriptions are optional, but clear descriptions can help you and your team stay organized. There is no need to be perfect, you can always edit the title and description after creation as well. Press Next to move on once you're satisfied.
The 'Configure the editor' screen is where you intialize your ontology's structure. Use the '+' buttons under the Objects and Classifications section to add them to the structure. You can use nested classifications to create expressive, hierarchically descriptive structures and attach classification modifiers to aid in the annotation process or dynamically annotate data, as necessary. Reference the structure. Use the '+' section of the documentation below for full details on the significance and configuration details of each component.
As you are editing the structure, the 'Sandbox' view will offer a preview of how the ontology will appear to your annotators in the label editor. You can expand and contract individual elements by clicking on them to confirm the tree structure of the ontology. You can also view the ontology's JSON representation by toggling the ‘Display json’ toggle on the upper right. This may be useful if you are using Encord's SDK or API.
Ontology JSON Preview
"label": "Top view",
"label": "Side view",
You can continue to edit and update the ontology after you've created it. Please refer to corresponding section in our documentation Editing Ontologies.
3. Annotation Project
To create a new project, click the + New project button on the 'Projects overview' screen. This initiates the project creation flow, a simple step-by-step process for creating new projects.
In the 'Enter details' screen, enter a project title and optional description. A clear title and description helps keep your projects organized and helps collaborators find what they are looking for.
If you're part of an organization, you will see an optional project tags dropdown. Project tags are useful for categorizing your projects. Select as many tags as are relevant to your project.
If you would like to enable multiple label reviews at a time, please press the 'Display multiple reviews' toggle switch. Please note this feature is currently in beta.
When you are happy, click Next.
The 'Select datasets' screen is where you attach datasets to your project. You can select from a list of datasets you have already created, or you can create a new dataset by clicking + New dataset which initiates the dataset creation flow. Identify the datasets you would like to incorporate and click the Add button to attach them. Attached datasets will appear in a list on the right.
The 'Select ontology' screen is where you specify your label structure (also called an ontology). Encord offers support for objects and frame level classifications, all with arbitrarily deep nested attributes.
You can reuse a pre-existing ontology, or create a new one by clicking + New ontology which initiates the ontology creation flow. Choose the ontology you want to use and click Select to use it with the project. You can see the preview of the label editor sandbox on the right.
Create the project
Once you are happy with your label structure, click Create project to complete the process.
4. Team Management
The Encord platform has a variety user types with different access to the platform and its features. Depending on the type of user access (annotator, reviewer, admin), the person needs to be added to different parts of the platform. We will discuss this in detail below.
The Organization documentation offers a detailed overview.
Click here to view project user roles
- Annotator: Creates labels/annotations
- Reviewer: Reviews annotations
- Annotator and reviewer: Has access to both annotator and reviewer features
- Team manager: Access to certain team management features
- Admin: Full access to all project interfaces and features, usually used by those who setup the ontology, datasets and assign various team members. In order to successfully attach ontologies and datasets to a given project, a user must have Admin permissions against each target resource.
|Permission||Admin||Team manager||Reviewer||Labeler||Labeler + Reviewer|
|Import data/create new datasets||X|
|Attach a dataset to a project||X|
|Detach a dataset from a project||X|
|Add/modify member rights on a project||X||X|
|Create/modify labels, access labeling queue||X||X||X||X (own only)||X|
|Review labels, access labeling queue||X||X||X (own only)||X|
|Delete labels, access review queue||X||X||X||X|
|View own & team's performance metrics||X||X||X (own only)||X (own only)||X (own only)|
|Import and export of data||X|
Add users to your project
You are able to add different user groups to a project depending on your status:
- Admins: can add admins, annotators, reviewers, annotator + reviewers and team members directly to a project.
- Team managers: can add annotators, reviewers, annotator + reviewers directly to a project.
- Annotator, reviewers and annotator + reviewers: cannot add anyone to a project.
You can add new users by going to the 'Projects' tab, and then to 'Settings' and 'Team'. Click on invite collaborators and add the email address. Then define their role.
How to add Admins
In this walkthrough we've discussed the permissions of Admins in relation to projects, but also mentioned that users need to be assigned a role in relation to the various resources on the platform. Because the resources on the platform can be linked to each other in a many-many-many fashion (.e.g a specific ontology can be assigned to multiple projects), we've provided this fine-grained access control functionality to ensure there are no accidental or unintended changes to your various ontologies (link), datasets (link) and projects (link).
Only admins of a specific resource can add other admin users to that resource -- with the exception of Organizational level admins -- who can add themselves as an Admin to any resource owned by your organization. Once someone is an Admin for a given resource, they can not be removed. If you must remove an admin, please reach out to email@example.com.