Skip to content

Commit d4986ad

Browse files
committed
2 parents 9d2aaab + f96dbf0 commit d4986ad

88 files changed

Lines changed: 1305 additions & 638 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docker-compose.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,20 @@ services:
2727
volumes:
2828
- .:/app
2929

30-
human_intervention:
30+
auto_labeling:
3131
image: celt313/automl_capstone:v0.0.3
3232
profiles: ["optional"]
3333
entrypoint: bash
34-
command: -c "source activate capstone_env && python src/pipeline/human_intervention.py"
34+
command: -c "source activate capstone_env && ./fetch_dataset.sh && python src/label_main.py"
35+
volumes:
36+
- .:/app
37+
38+
39+
train_compress:
40+
image: celt313/automl_capstone:v0.0.3
41+
profiles: ["optional"]
42+
entrypoint: bash
43+
command: -c "source activate capstone_env && python src/train_compress.py"
3544
volumes:
3645
- .:/app
3746

docs/_modules/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../quantization.html">Quantization</a></li>

docs/_modules/src/pipeline/augmentation.html

Lines changed: 71 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../../../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../../../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../../../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../../../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../../../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../../../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../../../quantization.html">Quantization</a></li>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../clean_pipeline.html">File Cleaning and Archiving</a></li>
5657
<li class="toctree-l1"><a class="reference internal" href="../../../tests/index.html">Unit Tests</a></li>
5758
<li class="toctree-l1"><a class="reference internal" href="../../../database.html">Database Schema Overview</a></li>
5859
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/index.html">Code Reference</a></li>
@@ -96,7 +97,32 @@ <h1>Source code for src.pipeline.augmentation</h1><div class="highlight"><pre>
9697
<div class="viewcode-block" id="build_augmentation_transform">
9798
<a class="viewcode-back" href="../../../api_reference/augmentation.html#src.pipeline.augmentation.build_augmentation_transform">[docs]</a>
9899
<span class="k">def</span><span class="w"> </span><span class="nf">build_augmentation_transform</span><span class="p">(</span><span class="n">config</span><span class="p">:</span> <span class="nb">dict</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">A</span><span class="o">.</span><span class="n">Compose</span><span class="p">:</span>
99-
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Build the augmentation transform pipeline from config.&quot;&quot;&quot;</span>
100+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
101+
<span class="sd"> Build the augmentation transform pipeline from the given configuration.</span>
102+
103+
<span class="sd"> This function constructs an Albumentations Compose object with a sequence of </span>
104+
<span class="sd"> image augmentation transforms. Each transform is applied with a configurable </span>
105+
<span class="sd"> probability and parameter set drawn from the `config` dictionary.</span>
106+
107+
<span class="sd"> Supported transforms:</span>
108+
<span class="sd"> - HorizontalFlip</span>
109+
<span class="sd"> - RandomBrightnessContrast</span>
110+
<span class="sd"> - HueSaturationValue</span>
111+
<span class="sd"> - Blur</span>
112+
<span class="sd"> - GaussNoise</span>
113+
<span class="sd"> - ToGray</span>
114+
<span class="sd"> - Rotate</span>
115+
116+
<span class="sd"> The transform also ensures bounding box alignment using &#39;pascal_voc&#39; format.</span>
117+
118+
<span class="sd"> Args:</span>
119+
<span class="sd"> config (dict): Dictionary containing probability values and parameters </span>
120+
<span class="sd"> for each augmentation transform.</span>
121+
122+
<span class="sd"> Returns:</span>
123+
<span class="sd"> A.Compose: An Albumentations Compose object with the specified transformations </span>
124+
<span class="sd"> and bounding box handling.</span>
125+
<span class="sd"> &quot;&quot;&quot;</span>
100126
<span class="k">return</span> <span class="n">A</span><span class="o">.</span><span class="n">Compose</span><span class="p">(</span>
101127
<span class="p">[</span>
102128
<span class="c1"># Flips image horizontally, applied 50% of the time by default</span>
@@ -132,8 +158,27 @@ <h1>Source code for src.pipeline.augmentation</h1><div class="highlight"><pre>
132158
<span class="n">num_augmentations</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
133159
<span class="n">config</span><span class="p">:</span> <span class="nb">dict</span>
134160
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
135-
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Applies augmentations to each image N times and saves results.</span>
136-
<span class="sd"> Also saves un-augmented images with no predictions into separate folders.</span>
161+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
162+
<span class="sd"> Apply augmentations to each labeled image and save the results.</span>
163+
164+
<span class="sd"> For each (image, label) pair, this function applies the given transformation </span>
165+
<span class="sd"> pipeline `num_augmentations` times. It saves the augmented images and their </span>
166+
<span class="sd"> updated prediction labels (in JSON format) to the specified output directories.</span>
167+
168+
<span class="sd"> If an image has no predictions (empty bounding box list), the original image </span>
169+
<span class="sd"> is saved separately in a dedicated &#39;no_prediction_images&#39; folder.</span>
170+
171+
<span class="sd"> Args:</span>
172+
<span class="sd"> matched_pairs (list): List of tuples, each containing a Path to a JSON file </span>
173+
<span class="sd"> and its corresponding image file.</span>
174+
<span class="sd"> transform (A.Compose): Albumentations transformation pipeline.</span>
175+
<span class="sd"> output_img_dir (Path): Directory to save augmented images.</span>
176+
<span class="sd"> output_json_dir (Path): Directory to save augmented label files.</span>
177+
<span class="sd"> num_augmentations (int): Number of times to apply augmentations per image.</span>
178+
<span class="sd"> config (dict): Configuration dictionary that may include a base random seed.</span>
179+
180+
<span class="sd"> Returns:</span>
181+
<span class="sd"> None</span>
137182
<span class="sd"> &quot;&quot;&quot;</span>
138183
<span class="c1"># Separate folder for un-augmented no-prediction images and labels</span>
139184
<span class="n">no_pred_img_dir</span> <span class="o">=</span> <span class="n">output_img_dir</span><span class="o">.</span><span class="n">parent</span> <span class="o">/</span> <span class="s2">&quot;no_prediction_images&quot;</span>
@@ -201,14 +246,31 @@ <h1>Source code for src.pipeline.augmentation</h1><div class="highlight"><pre>
201246
<a class="viewcode-back" href="../../../api_reference/augmentation.html#src.pipeline.augmentation.augment_dataset">[docs]</a>
202247
<span class="k">def</span><span class="w"> </span><span class="nf">augment_dataset</span><span class="p">(</span><span class="n">image_dir</span><span class="p">:</span> <span class="n">Path</span><span class="p">,</span> <span class="n">output_dir</span><span class="p">:</span> <span class="n">Path</span><span class="p">,</span> <span class="n">config</span><span class="p">:</span> <span class="nb">dict</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
203248
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
204-
<span class="sd"> Orchestrates augmentation pipeline.</span>
205-
<span class="sd"> image_dir: path to labeled images</span>
206-
<span class="sd"> output_dir: root output directory (will contain &#39;images&#39; and &#39;labels&#39;)</span>
207-
<span class="sd"> config: dictionary of augmentation settings</span>
249+
<span class="sd"> Orchestrates the full augmentation pipeline for a labeled image dataset.</span>
250+
251+
<span class="sd"> This function matches labeled JSON files with their corresponding images,</span>
252+
<span class="sd"> builds the augmentation pipeline from the provided config, and applies</span>
253+
<span class="sd"> augmentations using `augment_images`.</span>
254+
255+
<span class="sd"> Args:</span>
256+
<span class="sd"> image_dir (Path): Directory containing the original labeled images.</span>
257+
<span class="sd"> output_dir (Path): Root directory where augmented &#39;images/&#39; and &#39;labels/&#39; will be saved.</span>
258+
<span class="sd"> config (dict): Dictionary containing augmentation settings, including</span>
259+
<span class="sd"> number of augmentations and optional transform parameters.</span>
260+
261+
<span class="sd"> Behavior:</span>
262+
<span class="sd"> - Loads label files from a `labeled_json_dir` (‘automl_workspace/data_pipeline/labeled’)</span>
263+
<span class="sd"> - Matches JSON labels to image files by filename stem</span>
264+
<span class="sd"> - Builds an Albumentations transform pipeline using `build_augmentation_transform`</span>
265+
<span class="sd"> - Applies the transform using `augment_images` with `num_augmentations` per image</span>
266+
<span class="sd"> - Logs counts of label files, image files, and successful matches</span>
267+
268+
<span class="sd"> Returns:</span>
269+
<span class="sd"> None</span>
208270
<span class="sd"> &quot;&quot;&quot;</span>
209271
<span class="n">num_augmentations</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;num_augmentations&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
210272

211-
<span class="n">labeled_json_dir</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="s2">&quot;automl_workspace/data_pipeline/labeled&quot;</span><span class="p">)</span>
273+
<span class="n">labeled_json_dir</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;label_dir&quot;</span><span class="p">,</span> <span class="s2">&quot;automl_workspace/data_pipeline/labeled&quot;</span><span class="p">))</span>
212274
<span class="n">output_img_dir</span> <span class="o">=</span> <span class="n">output_dir</span> <span class="o">/</span> <span class="s2">&quot;images&quot;</span>
213275
<span class="n">output_json_dir</span> <span class="o">=</span> <span class="n">output_dir</span> <span class="o">/</span> <span class="s2">&quot;labels&quot;</span>
214276

docs/_modules/src/pipeline/clean_pipeline.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../../../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../../../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../../../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../../../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../../../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../../../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../../../quantization.html">Quantization</a></li>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../clean_pipeline.html">File Cleaning and Archiving</a></li>
5657
<li class="toctree-l1"><a class="reference internal" href="../../../tests/index.html">Unit Tests</a></li>
5758
<li class="toctree-l1"><a class="reference internal" href="../../../database.html">Database Schema Overview</a></li>
5859
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/index.html">Code Reference</a></li>

docs/_modules/src/pipeline/distillation/distillation.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../../../../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../../../../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../../../../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../../../../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../../../../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../../../../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../../../../quantization.html">Quantization</a></li>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../../clean_pipeline.html">File Cleaning and Archiving</a></li>
5657
<li class="toctree-l1"><a class="reference internal" href="../../../../tests/index.html">Unit Tests</a></li>
5758
<li class="toctree-l1"><a class="reference internal" href="../../../../database.html">Database Schema Overview</a></li>
5859
<li class="toctree-l1"><a class="reference internal" href="../../../../api_reference/index.html">Code Reference</a></li>

docs/_modules/src/pipeline/human_intervention.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../../../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../../../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../../../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../../../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../../../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../../../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../../../quantization.html">Quantization</a></li>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../clean_pipeline.html">File Cleaning and Archiving</a></li>
5657
<li class="toctree-l1"><a class="reference internal" href="../../../tests/index.html">Unit Tests</a></li>
5758
<li class="toctree-l1"><a class="reference internal" href="../../../database.html">Database Schema Overview</a></li>
5859
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/index.html">Code Reference</a></li>

docs/_modules/src/pipeline/prelabelling/grounding_dino_prelabelling.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../../../../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../../../../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../../../../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../../../../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../../../../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../../../../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../../../../quantization.html">Quantization</a></li>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../../clean_pipeline.html">File Cleaning and Archiving</a></li>
5657
<li class="toctree-l1"><a class="reference internal" href="../../../../tests/index.html">Unit Tests</a></li>
5758
<li class="toctree-l1"><a class="reference internal" href="../../../../database.html">Database Schema Overview</a></li>
5859
<li class="toctree-l1"><a class="reference internal" href="../../../../api_reference/index.html">Code Reference</a></li>

docs/_modules/src/pipeline/prelabelling/matching.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
<li class="toctree-l1"><a class="reference internal" href="../../../../gdino_prelabelling.html">Grounding DINO Prelabeling</a></li>
5050
<li class="toctree-l1"><a class="reference internal" href="../../../../matching_logic.html">Matching Logic</a></li>
5151
<li class="toctree-l1"><a class="reference internal" href="../../../../human_in_loop.html">Human-in-the-Loop</a></li>
52-
<li class="toctree-l1"><a class="reference internal" href="../../../../augmentation.html">Augmentation Module</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../../augmentation.html">Augmentation</a></li>
5353
<li class="toctree-l1"><a class="reference internal" href="../../../../training.html">Training</a></li>
5454
<li class="toctree-l1"><a class="reference internal" href="../../../../distillation.html">Distillation</a></li>
5555
<li class="toctree-l1"><a class="reference internal" href="../../../../quantization.html">Quantization</a></li>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../../clean_pipeline.html">File Cleaning and Archiving</a></li>
5657
<li class="toctree-l1"><a class="reference internal" href="../../../../tests/index.html">Unit Tests</a></li>
5758
<li class="toctree-l1"><a class="reference internal" href="../../../../database.html">Database Schema Overview</a></li>
5859
<li class="toctree-l1"><a class="reference internal" href="../../../../api_reference/index.html">Code Reference</a></li>

0 commit comments

Comments
 (0)