Skip to content

Commit cb729b7

Browse files
committed
Update Sphinx documentation
1 parent a5a2f18 commit cb729b7

7 files changed

Lines changed: 32 additions & 5 deletions

File tree

Binary file not shown.
1.09 KB
Binary file not shown.

docs/py_docs/build/html/_modules/perceptionmetrics/models/torch_detection.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,10 +553,14 @@ <h1>Source code for perceptionmetrics.models.torch_detection</h1><div class="hig
553553
<span class="c1"># Load confidence and NMS thresholds from config</span>
554554
<span class="bp">self</span><span class="o">.</span><span class="n">confidence_threshold</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;confidence_threshold&quot;</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)</span>
555555
<span class="bp">self</span><span class="o">.</span><span class="n">nms_threshold</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;nms_threshold&quot;</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">)</span>
556+
<span class="bp">self</span><span class="o">.</span><span class="n">max_detections_per_image</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
557+
<span class="s2">&quot;max_detections_per_image&quot;</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span>
558+
<span class="p">)</span>
556559

557560
<span class="bp">self</span><span class="o">.</span><span class="n">postprocess_args</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">confidence_threshold</span><span class="p">]</span>
558561
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_format</span> <span class="o">==</span> <span class="s2">&quot;yolo&quot;</span><span class="p">:</span>
559562
<span class="bp">self</span><span class="o">.</span><span class="n">postprocess_args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">nms_threshold</span><span class="p">)</span>
563+
<span class="bp">self</span><span class="o">.</span><span class="n">postprocess_args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">max_detections_per_image</span><span class="p">)</span>
560564

561565
<span class="c1"># Add reverse mapping for idx to class_name</span>
562566
<span class="bp">self</span><span class="o">.</span><span class="n">idx_to_class_name</span> <span class="o">=</span> <span class="p">{</span><span class="n">v</span><span class="p">[</span><span class="s2">&quot;idx&quot;</span><span class="p">]:</span> <span class="n">k</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">ontology</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span>

docs/py_docs/build/html/_modules/perceptionmetrics/models/utils/torchvision.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,17 @@
241241
<h1>Source code for perceptionmetrics.models.utils.torchvision</h1><div class="highlight"><pre>
242242
<div class="viewcode-block" id="postprocess_detection">
243243
<a class="viewcode-back" href="../../../../api/perceptionmetrics.models.utils.html#perceptionmetrics.models.utils.torchvision.postprocess_detection">[docs]</a>
244-
<span></span><span class="k">def</span><span class="w"> </span><span class="nf">postprocess_detection</span><span class="p">(</span><span class="n">output</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">confidence_threshold</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.5</span><span class="p">):</span>
244+
<span></span><span class="k">def</span><span class="w"> </span><span class="nf">postprocess_detection</span><span class="p">(</span>
245+
<span class="n">output</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">confidence_threshold</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.5</span><span class="p">,</span> <span class="n">max_detections</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
246+
<span class="p">):</span>
245247
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Post-process torchvision model output.</span>
246248

247249
<span class="sd"> :param output: Dictionary with keys &#39;boxes&#39;, &#39;labels&#39;, and &#39;scores&#39;.</span>
248250
<span class="sd"> :type output: dict</span>
249251
<span class="sd"> :param confidence_threshold: Confidence threshold to filter boxes.</span>
250252
<span class="sd"> :type confidence_threshold: float</span>
253+
<span class="sd"> :param max_detections: Maximum number of best detections to keep per image after filtering.</span>
254+
<span class="sd"> :type max_detections: int</span>
251255
<span class="sd"> :return: Dictionary with keys &#39;boxes&#39;, &#39;labels&#39;, and &#39;scores&#39;.</span>
252256
<span class="sd"> :rtype: dict</span>
253257
<span class="sd"> &quot;&quot;&quot;</span>
@@ -258,6 +262,15 @@ <h1>Source code for perceptionmetrics.models.utils.torchvision</h1><div class="h
258262
<span class="s2">&quot;labels&quot;</span><span class="p">:</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;labels&quot;</span><span class="p">][</span><span class="n">keep_mask</span><span class="p">],</span>
259263
<span class="s2">&quot;scores&quot;</span><span class="p">:</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;scores&quot;</span><span class="p">][</span><span class="n">keep_mask</span><span class="p">],</span>
260264
<span class="p">}</span>
265+
266+
<span class="k">if</span> <span class="n">max_detections</span> <span class="o">&lt;</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;scores&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">and</span> <span class="n">max_detections</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
267+
<span class="n">limited_idx</span> <span class="o">=</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;scores&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">descending</span><span class="o">=</span><span class="kc">True</span><span class="p">)[:</span><span class="n">max_detections</span><span class="p">]</span>
268+
<span class="n">output</span> <span class="o">=</span> <span class="p">{</span>
269+
<span class="s2">&quot;boxes&quot;</span><span class="p">:</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;boxes&quot;</span><span class="p">][</span><span class="n">limited_idx</span><span class="p">],</span>
270+
<span class="s2">&quot;labels&quot;</span><span class="p">:</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;labels&quot;</span><span class="p">][</span><span class="n">limited_idx</span><span class="p">],</span>
271+
<span class="s2">&quot;scores&quot;</span><span class="p">:</span> <span class="n">output</span><span class="p">[</span><span class="s2">&quot;scores&quot;</span><span class="p">][</span><span class="n">limited_idx</span><span class="p">],</span>
272+
<span class="p">}</span>
273+
261274
<span class="k">return</span> <span class="n">output</span></div>
262275

263276
</pre></div>

docs/py_docs/build/html/_modules/perceptionmetrics/models/utils/yolo.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,6 @@ <h1>Source code for perceptionmetrics.models.utils.yolo</h1><div class="highligh
242242
<span></span><span class="kn">import</span><span class="w"> </span><span class="nn">torch</span>
243243
<span class="kn">from</span><span class="w"> </span><span class="nn">torchvision.ops</span><span class="w"> </span><span class="kn">import</span> <span class="n">nms</span>
244244

245-
246245
<span class="n">CLASS_NMS_OFFSET</span> <span class="o">=</span> <span class="mi">7680</span> <span class="c1"># offset to apply to boxes for class-wise NMS</span>
247246

248247

@@ -252,6 +251,7 @@ <h1>Source code for perceptionmetrics.models.utils.yolo</h1><div class="highligh
252251
<span class="n">output</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">Tensor</span><span class="p">,</span>
253252
<span class="n">confidence_threshold</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.25</span><span class="p">,</span>
254253
<span class="n">nms_threshold</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.45</span><span class="p">,</span>
254+
<span class="n">max_detections</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
255255
<span class="p">):</span>
256256
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Post-process YOLO model output.</span>
257257

@@ -261,6 +261,8 @@ <h1>Source code for perceptionmetrics.models.utils.yolo</h1><div class="highligh
261261
<span class="sd"> :type confidence_threshold: float</span>
262262
<span class="sd"> :param nms_threshold: IoU threshold for Non-Maximum Suppression (NMS). Some models may not perform NMS (e.g. YOLOv26).</span>
263263
<span class="sd"> :type nms_threshold: float</span>
264+
<span class="sd"> :param max_detections: Maximum number of best detections to keep per image after filtering.</span>
265+
<span class="sd"> :type max_detections: int</span>
264266
<span class="sd"> :return: Dictionary with keys &#39;boxes&#39;, &#39;labels&#39;, and &#39;scores&#39;.</span>
265267
<span class="sd"> :rtype: dict</span>
266268
<span class="sd"> &quot;&quot;&quot;</span>
@@ -300,6 +302,12 @@ <h1>Source code for perceptionmetrics.models.utils.yolo</h1><div class="highligh
300302
<span class="n">scores</span> <span class="o">=</span> <span class="n">scores</span><span class="p">[</span><span class="n">keep_idx</span><span class="p">]</span>
301303
<span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span><span class="p">[</span><span class="n">keep_idx</span><span class="p">]</span>
302304

305+
<span class="k">if</span> <span class="n">max_detections</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">max_detections</span> <span class="o">&lt;</span> <span class="n">scores</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
306+
<span class="n">limited_idx</span> <span class="o">=</span> <span class="n">scores</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">descending</span><span class="o">=</span><span class="kc">True</span><span class="p">)[:</span><span class="n">max_detections</span><span class="p">]</span>
307+
<span class="n">boxes_xyxy</span> <span class="o">=</span> <span class="n">boxes_xyxy</span><span class="p">[</span><span class="n">limited_idx</span><span class="p">]</span>
308+
<span class="n">scores</span> <span class="o">=</span> <span class="n">scores</span><span class="p">[</span><span class="n">limited_idx</span><span class="p">]</span>
309+
<span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span><span class="p">[</span><span class="n">limited_idx</span><span class="p">]</span>
310+
303311
<span class="k">return</span> <span class="p">{</span><span class="s2">&quot;boxes&quot;</span><span class="p">:</span> <span class="n">boxes_xyxy</span><span class="p">,</span> <span class="s2">&quot;labels&quot;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span> <span class="s2">&quot;scores&quot;</span><span class="p">:</span> <span class="n">scores</span><span class="p">}</span></div>
304312

305313
</pre></div>

docs/py_docs/build/html/api/perceptionmetrics.models.utils.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,13 +480,14 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Link to this headi
480480
<span id="perceptionmetrics-models-utils-torchvision-module"></span><h2>perceptionmetrics.models.utils.torchvision module<a class="headerlink" href="#module-perceptionmetrics.models.utils.torchvision" title="Link to this heading"></a></h2>
481481
<dl class="py function">
482482
<dt class="sig sig-object py" id="perceptionmetrics.models.utils.torchvision.postprocess_detection">
483-
<span class="sig-prename descclassname"><span class="pre">perceptionmetrics.models.utils.torchvision.</span></span><span class="sig-name descname"><span class="pre">postprocess_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">output</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">confidence_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/perceptionmetrics/models/utils/torchvision.html#postprocess_detection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#perceptionmetrics.models.utils.torchvision.postprocess_detection" title="Link to this definition"></a></dt>
483+
<span class="sig-prename descclassname"><span class="pre">perceptionmetrics.models.utils.torchvision.</span></span><span class="sig-name descname"><span class="pre">postprocess_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">output</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">confidence_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_detections</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/perceptionmetrics/models/utils/torchvision.html#postprocess_detection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#perceptionmetrics.models.utils.torchvision.postprocess_detection" title="Link to this definition"></a></dt>
484484
<dd><p>Post-process torchvision model output.</p>
485485
<dl class="field-list simple">
486486
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
487487
<dd class="field-odd"><ul class="simple">
488488
<li><p><strong>output</strong> (<em>dict</em>) – Dictionary with keys ‘boxes’, ‘labels’, and ‘scores’.</p></li>
489489
<li><p><strong>confidence_threshold</strong> (<em>float</em>) – Confidence threshold to filter boxes.</p></li>
490+
<li><p><strong>max_detections</strong> (<em>int</em>) – Maximum number of best detections to keep per image after filtering.</p></li>
490491
</ul>
491492
</dd>
492493
<dt class="field-even">Returns<span class="colon">:</span></dt>
@@ -503,14 +504,15 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Link to this headi
503504
<span id="perceptionmetrics-models-utils-yolo-module"></span><h2>perceptionmetrics.models.utils.yolo module<a class="headerlink" href="#module-perceptionmetrics.models.utils.yolo" title="Link to this heading"></a></h2>
504505
<dl class="py function">
505506
<dt class="sig sig-object py" id="perceptionmetrics.models.utils.yolo.postprocess_detection">
506-
<span class="sig-prename descclassname"><span class="pre">perceptionmetrics.models.utils.yolo.</span></span><span class="sig-name descname"><span class="pre">postprocess_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">output</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">confidence_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nms_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/perceptionmetrics/models/utils/yolo.html#postprocess_detection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#perceptionmetrics.models.utils.yolo.postprocess_detection" title="Link to this definition"></a></dt>
507+
<span class="sig-prename descclassname"><span class="pre">perceptionmetrics.models.utils.yolo.</span></span><span class="sig-name descname"><span class="pre">postprocess_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">output</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">confidence_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nms_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_detections</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/perceptionmetrics/models/utils/yolo.html#postprocess_detection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#perceptionmetrics.models.utils.yolo.postprocess_detection" title="Link to this definition"></a></dt>
507508
<dd><p>Post-process YOLO model output.</p>
508509
<dl class="field-list simple">
509510
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
510511
<dd class="field-odd"><ul class="simple">
511512
<li><p><strong>output</strong> (<em>torch.Tensor</em>) – Tensor of shape [num_classes + 4, num_anchors] containing bounding box predictions and class logits.</p></li>
512513
<li><p><strong>confidence_threshold</strong> (<em>float</em>) – Confidence threshold to filter boxes.</p></li>
513514
<li><p><strong>nms_threshold</strong> (<em>float</em>) – IoU threshold for Non-Maximum Suppression (NMS). Some models may not perform NMS (e.g. YOLOv26).</p></li>
515+
<li><p><strong>max_detections</strong> (<em>int</em>) – Maximum number of best detections to keep per image after filtering.</p></li>
514516
</ul>
515517
</dd>
516518
<dt class="field-even">Returns<span class="colon">:</span></dt>

docs/py_docs/build/html/searchindex.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)