SShortSingh.
Back to feed

Flower-Counting Pipeline Scores Perfectly on Its Own Simulator but Falters Under Light and Occlusion

0
·1 views

A pipeline that counts open blooms and closed buds in crop photos reported 99.7% recall on its own simulated scenes. The author argues this score is misleading because the simulator and detector were tuned to each other, and the scoring relied on totals rather than per-object matching. To test robustness, the author applied lighting changes such as gamma shifts, shadows, and color casts, along with leaf occlusion and clustered flowers, to the unmodified detector. Under strict per-object scoring, the untouched scenes still gave perfect results, which the author attributes to the co-tuned design. The article then evaluates how the detector degrades under these conditions and whether two simple preprocessing and splitting remedies help.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

GitHub Actions OIDC lets cloud deploys drop stored keys, but trust conditions decide safety

GitHub Actions can replace a stored cloud access key with OIDC, where GitHub signs a short-lived token for each job that AWS, Google Cloud or Azure exchange for temporary credentials. The security depends entirely on the trust conditions written on the cloud side, since every GitHub repository can obtain a token from the same issuer. Conditions should bind to stable identifiers such as repository ID, a protected environment with required reviewers, or a reusable workflow, rather than a wildcard organization name. The default subject claim format has a weakness: recycled repository or organization names could let a new owner mint matching tokens, so newer repositories use an immutable format that includes numeric IDs. Older repositories must opt into that format through their OIDC settings or the REST API.

0
ProgrammingDEV Community ·

Moving Jenkins Pipelines to GitHub Actions: What Maps Directly and What Needs Rewriting

The article explains how to migrate Declarative Jenkinsfile pipelines to GitHub Actions by translating directives one by one, such as agent becoming runs-on and when becoming if. It notes that plugin steps, shared libraries and Groovy script blocks cannot be converted automatically and must be rebuilt by hand. It recommends moving simple build-and-test pipelines first and deploy pipelines last, keeping the Jenkins job running until the new workflow produces matching results. A key warning is that each GitHub Actions job runs on its own fresh machine without a shared workspace, which changes behavior more than the syntax does. The piece presents a mapping table of sixteen constructs, flagging which convert cleanly and which change how the pipeline behaves.

0
ProgrammingDEV Community ·

Private Originals and Purchase-Gated Downloads for Creator Portfolios

The article recommends keeping every original image in private storage and serving only compressed, resized, or watermarked derivatives to public portfolio visitors. Each completed purchase should be checked against a durable purchase-to-asset record before the application issues an expiring URL for the original. The design relies on random internal asset identifiers rather than filenames or client-supplied keys to determine entitlement. It also specifies that transformation failures must fail closed instead of falling back to the original file. The author suggests a single REST-based service could cover both image processing and private object access, though the evaluation rests on the author's own judgment.

0
ProgrammingDEV Community ·

GitHub Actions runner specs differ by repository visibility and runner label

GitHub-hosted Actions runners provide different CPU and memory depending on whether a repository is public or private, even when the workflow YAML is identical. For example, a standard Linux runner gets 4 vCPU and 16 GB RAM on a public repo but only 2 vCPU and 8 GB on a private one. Standard runners all come with 14 GB of disk regardless of size, while larger paid runners offer between 75 GB and 2 TB. Larger runners are billed per minute and draw on plan compute on Team and Enterprise Cloud, and they can also be given static IP addresses. The article's specification tables were read on 2026-09-20 and the runner tiers and deprecation dates it references may change.