Package: geodl 0.2.0

geodl: Geospatial Semantic Segmentation with Torch and Terra

Provides tools for semantic segmentation of geospatial data using convolutional neural network-based deep learning. Utility functions allow for creating masks, image chips, data frames listing image chips in a directory, and DataSets for use within DataLoaders. Additional functions are provided to serve as checks during the data preparation and training process. A UNet architecture can be defined with 4 blocks in the encoder, a bottleneck block, and 4 blocks in the decoder. The UNet can accept a variable number of input channels, and the user can define the number of feature maps produced in each encoder and decoder block and the bottleneck. Users can also choose to (1) replace all rectified linear unit (ReLU) activation functions with leaky ReLU or swish, (2) implement attention gates along the skip connections, (3) implement squeeze and excitation modules within the encoder blocks, (4) add residual connections within all blocks, (5) replace the bottleneck with a modified atrous spatial pyramid pooling (ASPP) module, and/or (6) implement deep supervision using predictions generated at each stage in the decoder. A unified focal loss framework is implemented after Yeung et al. (2022) <https://doi.org/10.1016/j.compmedimag.2021.102026>. We have also implemented assessment metrics using the 'luz' package including F1-score, recall, and precision. Trained models can be used to predict to spatial data without the need to generate chips from larger spatial extents. Functions are available for performing accuracy assessment. The package relies on 'torch' for implementing deep learning, which does not require the installation of a 'Python' environment. Raster geospatial data are handled with 'terra'. Models can be trained using a Compute Unified Device Architecture (CUDA)-enabled graphics processing unit (GPU); however, multi-GPU training is not supported by 'torch' in 'R'.

Authors:Aaron Maxwell [aut, cre, cph], Sarah Farhadpour [aut], Srinjoy Das [aut], Yalin Yang [aut]

geodl_0.2.0.tar.gz
geodl_0.2.0.zip(r-4.5)geodl_0.2.0.zip(r-4.4)geodl_0.2.0.zip(r-4.3)
geodl_0.2.0.tgz(r-4.4-any)geodl_0.2.0.tgz(r-4.3-any)
geodl_0.2.0.tar.gz(r-4.5-noble)geodl_0.2.0.tar.gz(r-4.4-noble)
geodl_0.2.0.tgz(r-4.4-emscripten)geodl_0.2.0.tgz(r-4.3-emscripten)
geodl.pdf |geodl.html
geodl/json (API)
NEWS

# Install 'geodl' in R:
install.packages('geodl', repos = c('https://maxwell-geospatial.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/maxwell-geospatial/geodl/issues

On CRAN:

23 exports 4 stars 1.69 score 83 dependencies 20 scripts

Last updated 2 months agofrom:8455b113d2. Checks:OK: 1 NOTE: 6. Indexed: yes.

TargetResultDate
Doc / VignettesOKAug 21 2024
R-4.5-winNOTEAug 21 2024
R-4.5-linuxNOTEAug 21 2024
R-4.4-winNOTEAug 21 2024
R-4.4-macNOTEAug 21 2024
R-4.3-winNOTEAug 21 2024
R-4.3-macNOTEAug 21 2024

Exports:assessDLassessPntsassessRasterdefineMobileUNetdefineSegDataSetdefineUNetdefineUnifiedFocalLossdefineUnifiedFocalLossDSdescribeBatchdescribeChipsluz_metric_f1scoreluz_metric_overall_accuracyluz_metric_precisionluz_metric_recallmakeChipsmakeChipsDFmakeChipsMultiClassmakeMasksmakeTerrainDerivativespredictSpatialviewBatchviewBatchPredsviewChips

Dependencies:abindbase64encbitbit64bslibcachemcallrclicliprcommonmarkcorocpp11crayondescdigestdplyrellipsisevaluatefansifastmapfontawesomefsgenericsglueGPArotationhighrhmshtmltoolshtmlwidgetshttpuvjpegjquerylibjsonliteknitrlaterlatticelifecycleluzmagrittrmemoisemimemnormtMultiscaleDTMnlmepillarpkgconfigpngprettyunitsprocessxprogresspromisespspsychpurrrR6rappdirsrasterRcppRcppArmadilloreadrrglrlangrmarkdownsafetensorssassshinysourcetoolsspterratibbletidyselecttinytextorchtorchvisiontzdbutf8vctrsvroomwithrxfunxtableyamlzeallot

DataSets and DataLoaders

Rendered fromcreateDataSetDataLoader.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Create Raster Masks

Rendered fromcreateMasks.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Multiclass Classification Workflow (Landcover.ai)

Rendered fromlcaiDemo.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Create Image Chips

Rendered frommakeChips.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Assessment Metrics for Use in Training Loop

Rendered frommetricsDemo.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-18
Started: 2024-07-18

Model Assessment

Rendered frommodelAssessment.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-18
Started: 2024-07-18

Predict Spatial Data

Rendered fromspatialPredictionDemo.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Create Terrain Derivatives

Rendered fromterrainDerDemo.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Binary Classification Workflow (topoDL)

Rendered fromtopoDLDemo.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Unified Focal Loss Framework

Rendered fromunifiedFocalLossDemo.Rmdusingknitr::rmarkdownon Aug 21 2024.

Last update: 2024-07-31
Started: 2024-07-18

Readme and manuals

Help Manual

Help pageTopics
assessDLassessDL
assessPntsassessPnts
assessRasterassessRaster
defineMobileUNetdefineMobileUNet
defineSegDataSetdefineSegDataSet
defineUNetdefineUNet
defineUnifiedFocalLossdefineUnifiedFocalLoss
defineUnifiedFocalLossDSdefineUnifiedFocalLossDS
describeBatchdescribeBatch
describeChipsdescribeChips
luz_metric_f1scoreluz_metric_f1score
luz_metric_overall_accuracyluz_metric_overall_accuracy
luz_metric_precisionluz_metric_precision
luz_metric_recallluz_metric_recall
makeChipsmakeChips
makeChipsDFmakeChipsDF
makeChipsMultiClassmakeChipsMultiClass
makeMasksmakeMasks
makeTerrainDerivativesmakeTerrainDerivatives
predictSpatialpredictSpatial
viewBatchviewBatch
viewBatchPredsviewBatchPreds
viewChipsviewChips