Skip to content

Commit

Permalink
add more docs
Browse files Browse the repository at this point in the history
  • Loading branch information
bourdakos1 committed Feb 25, 2020
1 parent 1607679 commit 0b178b2
Show file tree
Hide file tree
Showing 20 changed files with 167 additions and 7 deletions.
22 changes: 21 additions & 1 deletion docs/_guides/classification.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,24 @@ title: Classification
# date: 1970-01-04
---

Documentation coming soon
After your bucket is created and named, it will prompt you to choose an annotation type. Choose `Classification`.
![](/docs-assets/images/6a.CA_set-type-classification.png)


## Labeling the data
1. Create the desired labels
![](/docs-assets/images/create-label-button.png)
2. Upload a video or some images
![](/docs-assets/images/upload-media-classification.png)
3. Select images then choose `Label` > `DESIRED_LABEL`
![](/docs-assets/images/label-donuts.png)

> **Pro Tip:** Upload images of the same class and use <kbd>⌘</kbd> + <kbd>A</kbd> (<kbd>Ctrl</kbd> + <kbd>A</kbd> on windows) to label all of the unlabeled images as the same label.

## Keyboard shortcuts

| Functionality | Mac | Windows / Linux |
|:-----------------------------------|:--------------------------------:|:--------------------------------:|
| Select all images | <kbd>⌘</kbd> + <kbd>A</kbd> | <kbd>Ctrl</kbd> + <kbd>A</kbd> |
| Expand selection | <kbd>Shift</kbd> + Click | <kbd>Shift</kbd> + Click |
2 changes: 1 addition & 1 deletion docs/_guides/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ It also opens up the potential for collaboration, letting a team to simultaneous

IBM Cloud offers a lite tier of object storage, which includes 25 GB of free storage.

Before you start, sign up for a free [IBM Cloud](https://ibm.biz/cloud-annotations-sign-up){:target="_blank"} account.
Before you start, sign up for a free [IBM Cloud](https://ibm.biz/cloud-annotations-dashboard){:target="_blank"} account.
63 changes: 62 additions & 1 deletion docs/_guides/labeling-with-a-team.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,65 @@ title: Labeling with a team
# date: 1970-01-05
---

Documentation coming soon
To give someone access to your project, you need to set up an Identity & Access Management (IAM) policy.

Navigate to [IBM Cloud](https://ibm.biz/cloud-annotations-dashboard){:target="_blank"}.
From the titlebar, choose `Manage` > `Access (IAM)`.

![](/docs-assets/images/manage-access.png)


## Invite users
Invite the user, by choosing the `Users` sidebar item and clicking `Invite users`.

![](/docs-assets/images/invite-users.png)

Enter their email address, then click `Invite`.

![](/docs-assets/images/add-email.png)


## Create an access group
For Cloud Annotations to work properly, the user will need:
- **Operator platform access**
- Able to view the service instance in Cloud Annotations
- Able to generate the credentials needed for training
- **Writer service access**
- Able to `View` / `Upload` / `Delete` files in object storage

Create an access group, by choosing the `Access groups` sidebar item and clicking `Create`.

![](/docs-assets/images/access-groups.png)

Give the access group a name.

![](/docs-assets/images/name-access-group.png)

Add the invited user to the access group by clicking `Add users`.

![](/docs-assets/images/add-users-to-access-group.png)

Select the user from the list and click `Add to group`.

![](/docs-assets/images/select-users-from-access-group-list.png)

Choose the `Access policies` tab and click `Assign access`.

![](/docs-assets/images/add-access-policy.png)

Choose `Cloud Object Storage` from the dropdown, this will enable the rest of the options.
For `Service instance`, choose the Cloud Object Storage instance affiliated with you Cloud Annotation project.

For access, choose:
- **Operator**
- **Writer**

Followed by clicking `Add`.

![](/docs-assets/images/choose-policies.png)

Once added, click `Assign`.

![](/docs-assets/images/assign-the-policy.png)

Once assigned, the invited users should automatically be able to see the project in Cloud Annotations. To invite additional users, just add them to the access group you just created.
18 changes: 15 additions & 3 deletions docs/_guides/object-detection.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,26 @@ title: Object detection
# date: 1970-01-03
---

After your bucket is created and named, it will prompt you to choose an annotation type. Choose **Localization**, this enables bounding box drawing.
After your bucket is created and named, it will prompt you to choose an annotation type. Choose `Localization`, this enables bounding box drawing.
![](/docs-assets/images/6a.CA_set-type.png)


## Labeling the data
1. Upload a video or many images
1. Upload a video or some images
![](/docs-assets/images/7a.CA_blank-canvas.png)
2. Create the desired labels
![](/docs-assets/images/9a.CA_create-label.png)
3. Start drawing bounding boxes
![](/docs-assets/images/10.CA_labeled.png)
![](/docs-assets/images/10.CA_labeled.png)


## Keyboard shortcuts

| Functionality | Mac | Windows / Linux |
|:------------------------------------|:-----------------------------------------:|:-----------------------------------------:|
| Cycle active label | <kbd>Q</kbd> | <kbd>Q</kbd> |
| Switch active label | <kbd>0</kbd> - <kbd>9</kbd> | <kbd>0</kbd> - <kbd>9</kbd> |
| Next image | <kbd>Right</kbd> / <kbd>Spacebar</kbd> | <kbd>Right</kbd> / <kbd>Spacebar</kbd> |
| Previous image | <kbd>Left</kbd> | <kbd>Left</kbd> |
| Multiselect images | <kbd>⌘</kbd> + Click | <kbd>Ctrl</kbd> + Click |
| Temporarily activate the `` tool | Hold <kbd>⌘</kbd> | Hold <kbd>Ctrl</kbd> |
62 changes: 61 additions & 1 deletion docs/_guides/uploading-images-via-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,64 @@ title: Uploading images/labels via API
# date: 1970-01-06
---

Documentation coming soon
Cloud Annotations is built on top of Cloud Object Storage (COS).
Any images located inside your bucket will be visible from the Cloud Annotation GUI.
Additionally, a file named `_annotations.json` located at the root of your bucket is responsible for all annotation metadata.

For full COS documentation, see [IBM Cloud Docs](https://cloud.ibm.com/docs/cloud-object-storage){:target="_blank"}.

## Example annotation file
The following is an example of the annotation file for an object detection project.
There is one image, `image1.jpg`, with two bounding boxes (1 cat + 1 dog).

```
{
"version": "1.0",
"type": "localization",
"labels": ["Cat", "Dog"],
"annotations": {
"image1.jpg": [
{
"x": 0.7255949630314233,
"x2": 0.9695875693160814,
"y": 0.5820120073891626,
"y2": 1,
"label": "Cat"
},
{
"x": 0.8845598428835489,
"x2": 1,
"y": 0.1829972290640394,
"y2": 0.966248460591133,
"label": "Dog"
}
]
}
}
```

> **Note:** The `_annotations.json` for classification projects will look identical minus the bounding box coordinates.

## Uploading a file with curl
Retreive an `access_token` from your IAM credentials:
<pre>
curl -X POST "https://iam.cloud.ibm.com/identity/token" \
-d "response_type=cloud_iam" \
-d "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
-d "apikey=<b>APIKEY</b>"
</pre>

Upload a file:
<pre>
curl -X PUT "https://s3.us.cloud-object-storage.appdomain.cloud/<b>BUCKET</b>/<b>FILE_NAME</b>" \
-H "Authorization: bearer <b>ACCESS_TOKEN</b>" \
-T "<b>PATH/TO/A/FILE</b>"
</pre>

## Object Storage SDKs and CLI
- [Python SDK](https://github.com/ibm/ibm-cos-sdk-python){:target="_blank"}
- [Node.js SDK](https://github.com/IBM/ibm-cos-sdk-js){:target="_blank"}
- [Go SDK](https://github.com/IBM/ibm-cos-sdk-go){:target="_blank"}
- [Java SDK](https://github.com/ibm/ibm-cos-sdk-java){:target="_blank"}
- [AWS CLI](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-aws-cli){:target="_blank"}
7 changes: 7 additions & 0 deletions docs/_layouts/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,18 @@

<script>

const ID = function () {
// Math.random should be unique because of its seeding algorithm.
// Convert it to base 36 (numbers + letters), and grab the first 9 characters
// after the decimal.
return '-' + Math.random().toString(36).substr(2, 9);
};

$('body .markdown-body').find("h1").each(function() {
const h1ID = this.id
let listItems = []
$(this).next("section").find("h2").each(function() {
this.id = this.id + ID()
listItems.push('<li><a href="#' + this.id + '">'+$(this).text()+'</a></li>')
})
$("#nav-" + h1ID + ' .nav-stacked').html(listItems.join(''))
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/access-groups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/add-access-policy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/add-email.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/assign-the-policy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/choose-policies.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/create-label-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/invite-users.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/label-donuts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/manage-access.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/docs-assets/images/name-access-group.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0b178b2

Please sign in to comment.