Skip to content

Commit

Permalink
Improve MAIA overview in the manual
Browse files Browse the repository at this point in the history
  • Loading branch information
mzur committed Apr 15, 2020
1 parent 53aa1e0 commit 560424e
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 5 deletions.
33 changes: 28 additions & 5 deletions src/resources/views/manual/tutorials/about.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,33 @@
An introduction to the Machine Learning Assisted Image Annotation method (MAIA).
</p>
<p>
The goal of the MAIA method is to enable you to annotate large image collections much faster than with a purely manual "traditional" approach. To speed up image annotation, MAIA uses machine learning methods that automatically process the images. You can find a detailed description of MAIA in the paper <a href="#ref1">[1]</a>.
The goal of the MAIA method is to enable you to annotate large image collections much faster than with a purely manual "traditional" approach. To speed up image annotation, MAIA uses machine learning methods that automatically process the images. You can find a detailed description of MAIA in the paper <a href="#ref1">[1]</a>. Here is a short overview of the four consecutive stages of MAIA.
</p>

<h3>The four stages of MAIA</h3>

<p>
In the first stage of MAIA (novelty detection), the method attempts to automatically find "interesting" objects in the images. It does so by assuming that interesting objects are rare and distinguishable from a rather uniform background. This works well on many deep-sea images but is not perfect for every case. The detected interesting objects are passed to the second stage as "training proposals".
</p>

<p>
As the training proposals usually contain many instances that actually are not interesting objects, they are manually filtered (by you) in the second stage. In this stage, you select only the actually interesting objects of all proposals. These are used in the third step.
</p>

<p>
In the third step (instance segmentation), the manually filtered set of training proposals is used to train a machine learning model for the automatic detection of the selected interesting objects. The model is highly specialized for this task and can usually detect most (if not all) instances of the interesting objects in the images. In the tests reported by the MAIA paper, 84% of the interesting objects were detected on average <a href="#ref1">[1]</a>. The detections are passed on as "annotation candidates" to the fourth step.
</p>

<p>
As with the training proposals, the annotation candidates can contain detections that are not actually interesting objects. In addition, the machine learning model only detects the objects and does not attempt to automatically assign labels to them. In the fourth step, the annotation candidates are again manually filtered to select only the actually interesting objects. Furthermore, labels are manually attached to the selected candidates which are subsequently transformed to actual annotations.
</p>

<p>
While it is likely that some interesting objects are missed by MAIA, the process is much faster for large image collections than the purely manual approach. If you still need to make sure that all objects are annotated, you can use MAIA as a first step to annotate the majority of the objects and then add a manual sweep through the images to find objects that were missed. The objects that were detected using MAIA can serve as examples to identify the missed ones.
</p>

<h3>MAIA in BIIGLE</h3>

<p>
To create new annotations with MAIA in BIIGLE, project editors, experts or admins can start a new MAIA "job" for a volume of a project. To start a new MAIA job, click on the <button class="btn btn-default btn-xs"><i class="fas fa-robot"></i></button> button in the sidebar of the volume overview. This will open up the MAIA overview for the volume, which lists any running or finished jobs, as well as a form to create a new MAIA job for the volume. New jobs can only be created when no other job is currently running for the volume.
</p>
Expand All @@ -22,17 +47,15 @@
</div>
</div>
<p>
A MAIA job runs through four consecutive stages. The first and the third stages perform automatic processing of the images. The second and the fourth stages require manual interaction by you. Once you have created a new job, it will immediately start the automatic processing of the first stage. BIIGLE will notify you when this stage is finished and the job is waiting for your manual interaction in the second stage. In the same way you are notified when the automatic processing of the third stage is finished. You can change the way you receive new MAIA notifications in the <a href="{{route('settings-notifications')}}">notification settings</a> of your user account.
A MAIA job runs through the four consecutive stages outlined above. The first and the third stages perform automatic processing of the images. The second and the fourth stages require manual interaction by you. Once you have created a new job, it will immediately start the automatic processing of the first stage. BIIGLE will notify you when this stage is finished and the job is waiting for your manual interaction in the second stage. In the same way you are notified when the automatic processing of the third stage is finished. You can change the way you receive new MAIA notifications in the <a href="{{route('settings-notifications')}}">notification settings</a> of your user account.
</p>
<p>
The overview page of a MAIA job shows a main content area and a sidebar with five different tabs. The first tab <button class="btn btn-default btn-xs"><i class="fas fa-info-circle"></i></button> shows general information about the job, including all the parameters that were used. The second <button class="btn btn-default btn-xs"><i class="fas fa-plus-square"></i></button> and third <button class="btn btn-default btn-xs"><i class="fas fa-pen-square"></i></button> tabs belong to the training proposals stage and are enabled once the job progresses to this stage. The fourth <button class="btn btn-default btn-xs"><i class="fas fa-check-square"></i></button> and fifth <button class="btn btn-default btn-xs"><i class="fas fa-pen-square"></i></button> tabs belong to the annotation candidates stage and are enabled once the job progresses to this stage.
</p>
<p>
Continue reading about MAIA in the articles about the individual stages. You can start with the first stage: <a href="{{route('manual-tutorials', ['maia', 'novelty-detection'])}}">novelty detection</a>.
</p>
<p>
Further reading:
</p>
<h3>Further reading</h3>
<ul>
<li><a href="{{route('manual-tutorials', ['maia', 'novelty-detection'])}}">A description of the first MAIA stage: Novelty detection.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'training-proposals'])}}">A description of the second MAIA stage: Training proposals.</a></li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,12 @@
<p>
The creation of new annotations concludes a MAIA job. You can either keep the MAIA job for reference or delete it with a click on <button class="btn btn-danger btn-xs">Delete this job</button> in the <button class="btn btn-default btn-xs"><i class="fas fa-info-circle"></i></button> job information tab in the sidebar. Please remember to cite the appropriate <a href="{{route('manual')}}#references">reference publications</a> if you use MAIA for one of your studies.
</p>
<h3>Further reading</h3>
<ul>
<li><a href="{{route('manual-tutorials', ['maia', 'about'])}}">An introduction to the Machine Learning Assisted Image Annotation method (MAIA).</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'novelty-detection'])}}">A description of the first MAIA stage: Novelty detection.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'training-proposals'])}}">A description of the second MAIA stage: Training proposals.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'instance-segmentation'])}}">A description of the third MAIA stage: Instance segmentation.</a></li>
</ul>
</div>
@endsection
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@
<p>
Time spent on training all layers of Mask R-CNN for instance segmentation. This is slower and should be a lower number than epochs (head).
</p>
<h3>Further reading</h3>
<ul>
<li><a href="{{route('manual-tutorials', ['maia', 'about'])}}">An introduction to the Machine Learning Assisted Image Annotation method (MAIA).</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'novelty-detection'])}}">A description of the first MAIA stage: Novelty detection.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'training-proposals'])}}">A description of the second MAIA stage: Training proposals.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'annotation-candidates'])}}">A description of the last MAIA stage: Annotation candidates.</a></li>
</ul>
</div>
<div class="row">
<h3>References</h3>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,13 @@
Please note that the new MAIA job is shown as "running novelty detection" in the job overview page even if you chose to skip novelty detection. Just refresh the job overview page after a few seconds and the job should have proceeded to the second MAIA stage.
</p>

<h3>Further reading</h3>
<ul>
<li><a href="{{route('manual-tutorials', ['maia', 'about'])}}">An introduction to the Machine Learning Assisted Image Annotation method (MAIA).</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'training-proposals'])}}">A description of the second MAIA stage: Training proposals.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'instance-segmentation'])}}">A description of the third MAIA stage: Instance segmentation.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'annotation-candidates'])}}">A description of the last MAIA stage: Annotation candidates.</a></li>
</ul>
</div>
<div class="row">
<h3>References</h3>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,5 +127,12 @@
<p>
When the training proposals have been submitted, the MAIA job automatically proceeds to the <a href="{{route('manual-tutorials', ['maia', 'instance-segmentation'])}}">instance segmentation</a> stage.
</p>
<h3>Further reading</h3>
<ul>
<li><a href="{{route('manual-tutorials', ['maia', 'about'])}}">An introduction to the Machine Learning Assisted Image Annotation method (MAIA).</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'novelty-detection'])}}">A description of the first MAIA stage: Novelty detection.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'instance-segmentation'])}}">A description of the third MAIA stage: Instance segmentation.</a></li>
<li><a href="{{route('manual-tutorials', ['maia', 'annotation-candidates'])}}">A description of the last MAIA stage: Annotation candidates.</a></li>
</ul>
</div>
@endsection

0 comments on commit 560424e

Please sign in to comment.