AgRowStitch: A High-fidelity Image Stitching Pipeline for Ground-based Agricultural Images Article Swipe
YOU?
·
· 2025
· Open Access
·
· DOI: https://doi.org/10.48550/arxiv.2503.21990
Agricultural imaging often requires individual images to be stitched together into a final mosaic for analysis. However, agricultural images can be particularly challenging to stitch because feature matching across images is difficult due to repeated textures, plants are non-planar, and mosaics built from many images can accumulate errors that cause drift. Although these issues can be mitigated by using georeferenced images or taking images at high altitude, there is no general solution for images taken close to the crop. To address this, we created a user-friendly and open source pipeline for stitching ground-based images of a linear row of crops that does not rely on additional data. First, we use SuperPoint and LightGlue to extract and match features within small batches of images. Then we stitch the images in each batch in series while imposing constraints on the camera movement. After straightening and rescaling each batch mosaic, all batch mosaics are stitched together in series and then straightened into a final mosaic. We tested the pipeline on images collected along 72 m long rows of crops using two different agricultural robots and a camera manually carried over the row. In all three cases, the pipeline produced high-quality mosaics that could be used to georeference real world positions with a mean absolute error of 20 cm. This approach provides accessible leaf-scale stitching to users who need to coarsely georeference positions within a row, but do not have access to accurate positional data or sophisticated imaging systems.
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- http://arxiv.org/abs/2503.21990
- https://arxiv.org/pdf/2503.21990
- OA Status
- green
- OpenAlex ID
- https://openalex.org/W4416420984
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4416420984Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.48550/arxiv.2503.21990Digital Object Identifier
- Title
-
AgRowStitch: A High-fidelity Image Stitching Pipeline for Ground-based Agricultural ImagesWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2025Year of publication
- Publication date
-
2025-03-27Full publication date if available
- Authors
-
Isaac Kazuo Uyehara, J. Mason EarlesList of authors in order
- Landing page
-
https://arxiv.org/abs/2503.21990Publisher landing page
- PDF URL
-
https://arxiv.org/pdf/2503.21990Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
greenOpen access status per OpenAlex
- OA URL
-
https://arxiv.org/pdf/2503.21990Direct OA link when available
- Cited by
-
0Total citation count in OpenAlex
Full payload
| id | https://openalex.org/W4416420984 |
|---|---|
| doi | https://doi.org/10.48550/arxiv.2503.21990 |
| ids.doi | https://doi.org/10.48550/arxiv.2503.21990 |
| ids.openalex | https://openalex.org/W4416420984 |
| fwci | |
| type | preprint |
| title | AgRowStitch: A High-fidelity Image Stitching Pipeline for Ground-based Agricultural Images |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| language | en |
| locations[0].id | pmh:oai:arXiv.org:2503.21990 |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S4306400194 |
| locations[0].source.issn | |
| locations[0].source.type | repository |
| locations[0].source.is_oa | True |
| locations[0].source.issn_l | |
| locations[0].source.is_core | False |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | arXiv (Cornell University) |
| locations[0].source.host_organization | https://openalex.org/I205783295 |
| locations[0].source.host_organization_name | Cornell University |
| locations[0].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[0].license | |
| locations[0].pdf_url | https://arxiv.org/pdf/2503.21990 |
| locations[0].version | submittedVersion |
| locations[0].raw_type | text |
| locations[0].license_id | |
| locations[0].is_accepted | False |
| locations[0].is_published | False |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | http://arxiv.org/abs/2503.21990 |
| locations[1].id | doi:10.48550/arxiv.2503.21990 |
| locations[1].is_oa | True |
| locations[1].source.id | https://openalex.org/S4306400194 |
| locations[1].source.issn | |
| locations[1].source.type | repository |
| locations[1].source.is_oa | True |
| locations[1].source.issn_l | |
| locations[1].source.is_core | False |
| locations[1].source.is_in_doaj | False |
| locations[1].source.display_name | arXiv (Cornell University) |
| locations[1].source.host_organization | https://openalex.org/I205783295 |
| locations[1].source.host_organization_name | Cornell University |
| locations[1].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[1].license | cc-by |
| locations[1].pdf_url | |
| locations[1].version | |
| locations[1].raw_type | article |
| locations[1].license_id | https://openalex.org/licenses/cc-by |
| locations[1].is_accepted | False |
| locations[1].is_published | |
| locations[1].raw_source_name | |
| locations[1].landing_page_url | https://doi.org/10.48550/arxiv.2503.21990 |
| indexed_in | arxiv, datacite |
| authorships[0].author.id | https://openalex.org/A5120367452 |
| authorships[0].author.orcid | |
| authorships[0].author.display_name | Isaac Kazuo Uyehara |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Uyehara, Isaac Kazuo |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5079120060 |
| authorships[1].author.orcid | https://orcid.org/0000-0002-8345-9671 |
| authorships[1].author.display_name | J. Mason Earles |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Earles, Mason |
| authorships[1].is_corresponding | False |
| has_content.pdf | False |
| has_content.grobid_xml | False |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://arxiv.org/pdf/2503.21990 |
| open_access.oa_status | green |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | AgRowStitch: A High-fidelity Image Stitching Pipeline for Ground-based Agricultural Images |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-28T13:42:56.652174 |
| primary_topic | |
| cited_by_count | 0 |
| locations_count | 2 |
| best_oa_location.id | pmh:oai:arXiv.org:2503.21990 |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S4306400194 |
| best_oa_location.source.issn | |
| best_oa_location.source.type | repository |
| best_oa_location.source.is_oa | True |
| best_oa_location.source.issn_l | |
| best_oa_location.source.is_core | False |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | arXiv (Cornell University) |
| best_oa_location.source.host_organization | https://openalex.org/I205783295 |
| best_oa_location.source.host_organization_name | Cornell University |
| best_oa_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://arxiv.org/pdf/2503.21990 |
| best_oa_location.version | submittedVersion |
| best_oa_location.raw_type | text |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | False |
| best_oa_location.is_published | False |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | http://arxiv.org/abs/2503.21990 |
| primary_location.id | pmh:oai:arXiv.org:2503.21990 |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S4306400194 |
| primary_location.source.issn | |
| primary_location.source.type | repository |
| primary_location.source.is_oa | True |
| primary_location.source.issn_l | |
| primary_location.source.is_core | False |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | arXiv (Cornell University) |
| primary_location.source.host_organization | https://openalex.org/I205783295 |
| primary_location.source.host_organization_name | Cornell University |
| primary_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| primary_location.license | |
| primary_location.pdf_url | https://arxiv.org/pdf/2503.21990 |
| primary_location.version | submittedVersion |
| primary_location.raw_type | text |
| primary_location.license_id | |
| primary_location.is_accepted | False |
| primary_location.is_published | False |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | http://arxiv.org/abs/2503.21990 |
| publication_date | 2025-03-27 |
| publication_year | 2025 |
| referenced_works_count | 0 |
| abstract_inverted_index.a | 11, 84, 95, 159, 182, 208, 230 |
| abstract_inverted_index.m | 171 |
| abstract_inverted_index.20 | 213 |
| abstract_inverted_index.72 | 170 |
| abstract_inverted_index.In | 189 |
| abstract_inverted_index.To | 79 |
| abstract_inverted_index.We | 162 |
| abstract_inverted_index.at | 64 |
| abstract_inverted_index.be | 7, 20, 55, 200 |
| abstract_inverted_index.by | 57 |
| abstract_inverted_index.do | 233 |
| abstract_inverted_index.in | 128, 131, 153 |
| abstract_inverted_index.is | 30, 68 |
| abstract_inverted_index.no | 69 |
| abstract_inverted_index.of | 94, 98, 121, 174, 212 |
| abstract_inverted_index.on | 104, 136, 166 |
| abstract_inverted_index.or | 61, 241 |
| abstract_inverted_index.to | 6, 23, 33, 76, 113, 202, 221, 225, 237 |
| abstract_inverted_index.we | 82, 108, 124 |
| abstract_inverted_index.all | 147, 190 |
| abstract_inverted_index.and | 39, 86, 111, 115, 142, 155, 181 |
| abstract_inverted_index.are | 37, 150 |
| abstract_inverted_index.but | 232 |
| abstract_inverted_index.can | 19, 45, 54 |
| abstract_inverted_index.cm. | 214 |
| abstract_inverted_index.due | 32 |
| abstract_inverted_index.for | 14, 72, 90 |
| abstract_inverted_index.not | 102, 234 |
| abstract_inverted_index.row | 97 |
| abstract_inverted_index.the | 77, 126, 137, 164, 187, 193 |
| abstract_inverted_index.two | 177 |
| abstract_inverted_index.use | 109 |
| abstract_inverted_index.who | 223 |
| abstract_inverted_index.Then | 123 |
| abstract_inverted_index.This | 215 |
| abstract_inverted_index.data | 240 |
| abstract_inverted_index.does | 101 |
| abstract_inverted_index.each | 129, 144 |
| abstract_inverted_index.from | 42 |
| abstract_inverted_index.have | 235 |
| abstract_inverted_index.high | 65 |
| abstract_inverted_index.into | 10, 158 |
| abstract_inverted_index.long | 172 |
| abstract_inverted_index.many | 43 |
| abstract_inverted_index.mean | 209 |
| abstract_inverted_index.need | 224 |
| abstract_inverted_index.open | 87 |
| abstract_inverted_index.over | 186 |
| abstract_inverted_index.real | 204 |
| abstract_inverted_index.rely | 103 |
| abstract_inverted_index.row, | 231 |
| abstract_inverted_index.row. | 188 |
| abstract_inverted_index.rows | 173 |
| abstract_inverted_index.that | 48, 100, 198 |
| abstract_inverted_index.then | 156 |
| abstract_inverted_index.used | 201 |
| abstract_inverted_index.with | 207 |
| abstract_inverted_index.After | 140 |
| abstract_inverted_index.along | 169 |
| abstract_inverted_index.batch | 130, 145, 148 |
| abstract_inverted_index.built | 41 |
| abstract_inverted_index.cause | 49 |
| abstract_inverted_index.close | 75 |
| abstract_inverted_index.could | 199 |
| abstract_inverted_index.crop. | 78 |
| abstract_inverted_index.crops | 99, 175 |
| abstract_inverted_index.data. | 106 |
| abstract_inverted_index.error | 211 |
| abstract_inverted_index.final | 12, 160 |
| abstract_inverted_index.match | 116 |
| abstract_inverted_index.often | 2 |
| abstract_inverted_index.small | 119 |
| abstract_inverted_index.taken | 74 |
| abstract_inverted_index.there | 67 |
| abstract_inverted_index.these | 52 |
| abstract_inverted_index.this, | 81 |
| abstract_inverted_index.three | 191 |
| abstract_inverted_index.users | 222 |
| abstract_inverted_index.using | 58, 176 |
| abstract_inverted_index.while | 133 |
| abstract_inverted_index.world | 205 |
| abstract_inverted_index.First, | 107 |
| abstract_inverted_index.access | 236 |
| abstract_inverted_index.across | 28 |
| abstract_inverted_index.camera | 138, 183 |
| abstract_inverted_index.cases, | 192 |
| abstract_inverted_index.drift. | 50 |
| abstract_inverted_index.errors | 47 |
| abstract_inverted_index.images | 5, 18, 29, 44, 60, 63, 73, 93, 127, 167 |
| abstract_inverted_index.issues | 53 |
| abstract_inverted_index.linear | 96 |
| abstract_inverted_index.mosaic | 13 |
| abstract_inverted_index.plants | 36 |
| abstract_inverted_index.robots | 180 |
| abstract_inverted_index.series | 132, 154 |
| abstract_inverted_index.source | 88 |
| abstract_inverted_index.stitch | 24, 125 |
| abstract_inverted_index.taking | 62 |
| abstract_inverted_index.tested | 163 |
| abstract_inverted_index.within | 118, 229 |
| abstract_inverted_index.address | 80 |
| abstract_inverted_index.batches | 120 |
| abstract_inverted_index.because | 25 |
| abstract_inverted_index.carried | 185 |
| abstract_inverted_index.created | 83 |
| abstract_inverted_index.extract | 114 |
| abstract_inverted_index.feature | 26 |
| abstract_inverted_index.general | 70 |
| abstract_inverted_index.images. | 122 |
| abstract_inverted_index.imaging | 1, 243 |
| abstract_inverted_index.mosaic, | 146 |
| abstract_inverted_index.mosaic. | 161 |
| abstract_inverted_index.mosaics | 40, 149, 197 |
| abstract_inverted_index.Although | 51 |
| abstract_inverted_index.However, | 16 |
| abstract_inverted_index.absolute | 210 |
| abstract_inverted_index.accurate | 238 |
| abstract_inverted_index.approach | 216 |
| abstract_inverted_index.coarsely | 226 |
| abstract_inverted_index.features | 117 |
| abstract_inverted_index.imposing | 134 |
| abstract_inverted_index.manually | 184 |
| abstract_inverted_index.matching | 27 |
| abstract_inverted_index.pipeline | 89, 165, 194 |
| abstract_inverted_index.produced | 195 |
| abstract_inverted_index.provides | 217 |
| abstract_inverted_index.repeated | 34 |
| abstract_inverted_index.requires | 3 |
| abstract_inverted_index.solution | 71 |
| abstract_inverted_index.stitched | 8, 151 |
| abstract_inverted_index.systems. | 244 |
| abstract_inverted_index.together | 9, 152 |
| abstract_inverted_index.LightGlue | 112 |
| abstract_inverted_index.altitude, | 66 |
| abstract_inverted_index.analysis. | 15 |
| abstract_inverted_index.collected | 168 |
| abstract_inverted_index.different | 178 |
| abstract_inverted_index.difficult | 31 |
| abstract_inverted_index.mitigated | 56 |
| abstract_inverted_index.movement. | 139 |
| abstract_inverted_index.positions | 206, 228 |
| abstract_inverted_index.rescaling | 143 |
| abstract_inverted_index.stitching | 91, 220 |
| abstract_inverted_index.textures, | 35 |
| abstract_inverted_index.SuperPoint | 110 |
| abstract_inverted_index.accessible | 218 |
| abstract_inverted_index.accumulate | 46 |
| abstract_inverted_index.additional | 105 |
| abstract_inverted_index.individual | 4 |
| abstract_inverted_index.leaf-scale | 219 |
| abstract_inverted_index.positional | 239 |
| abstract_inverted_index.challenging | 22 |
| abstract_inverted_index.constraints | 135 |
| abstract_inverted_index.non-planar, | 38 |
| abstract_inverted_index.Agricultural | 0 |
| abstract_inverted_index.agricultural | 17, 179 |
| abstract_inverted_index.georeference | 203, 227 |
| abstract_inverted_index.ground-based | 92 |
| abstract_inverted_index.high-quality | 196 |
| abstract_inverted_index.particularly | 21 |
| abstract_inverted_index.straightened | 157 |
| abstract_inverted_index.georeferenced | 59 |
| abstract_inverted_index.sophisticated | 242 |
| abstract_inverted_index.straightening | 141 |
| abstract_inverted_index.user-friendly | 85 |
| cited_by_percentile_year | |
| countries_distinct_count | 0 |
| institutions_distinct_count | 2 |
| citation_normalized_percentile |