Πώς η xarvio Digital Farming Solutions επιταχύνει την ανάπτυξή της με τις γεωχωρικές δυνατότητες του Amazon SageMaker

Κόμβος πηγής: 1766079

Αυτή είναι μια φιλοξενούμενη ανάρτηση που συντάχθηκε από τον Julian Blau, Επιστήμονα Δεδομένων στο xarvio Digital Farming Solutions. BASF Digital Farming GmbH και Antonio Rodriguez, AI/ML Specialist Solutions Architect στο AWS

xarvio Η Digital Farming Solutions είναι μια επωνυμία από την BASF Digital Farming GmbH, η οποία αποτελεί μέρος του τμήματος BASF Agricultural Solutions. Η xarvio Digital Farming Solutions προσφέρει ψηφιακά γεωργικά προϊόντα ακριβείας για να βοηθήσει τους αγρότες να βελτιστοποιήσουν τη φυτική παραγωγή. Διαθέσιμα παγκοσμίως, τα προϊόντα xarvio χρησιμοποιούν μηχανική εκμάθηση (ML), τεχνολογία αναγνώρισης εικόνας και προηγμένα μοντέλα καλλιεργειών και ασθενειών, σε συνδυασμό με δεδομένα από δορυφόρους και συσκευές μετεωρολογικών σταθμών, για την παροχή ακριβών και έγκαιρων αγρονομικών συστάσεων για τη διαχείριση των αναγκών μεμονωμένων τομέων. Τα προϊόντα xarvio είναι προσαρμοσμένα στις τοπικές συνθήκες καλλιέργειας, μπορούν να παρακολουθούν τα στάδια ανάπτυξης και να αναγνωρίζουν ασθένειες και παράσιτα. Αυξάνουν την αποτελεσματικότητα, εξοικονομούν χρόνο, μειώνουν τους κινδύνους και παρέχουν μεγαλύτερη αξιοπιστία για τον προγραμματισμό και τη λήψη αποφάσεων—όλα αυτά συμβάλλοντας στη βιώσιμη γεωργία.

Εργαζόμαστε με διαφορετικά γεωχωρικά δεδομένα, συμπεριλαμβανομένων δορυφορικών εικόνων των περιοχών όπου βρίσκονται τα πεδία των χρηστών μας, για ορισμένες από τις περιπτώσεις χρήσης μας. Ως εκ τούτου, χρησιμοποιούμε και επεξεργαζόμαστε εκατοντάδες μεγάλα αρχεία εικόνας καθημερινά. Αρχικά, χρειάστηκε να επενδύσουμε πολλή χειρωνακτική εργασία και προσπάθεια για την απορρόφηση, επεξεργασία και ανάλυση αυτών των δεδομένων χρησιμοποιώντας εργαλεία τρίτων, βιβλιοθήκες ανοιχτού κώδικα ή υπηρεσίες cloud γενικής χρήσης. Σε ορισμένες περιπτώσεις, μπορεί να χρειαστούν έως και 2 μήνες για να κατασκευάσουμε τους αγωγούς για κάθε συγκεκριμένο έργο. Τώρα, με την αξιοποίηση των γεωχωρικών δυνατοτήτων του Amazon Sage Maker, μειώσαμε αυτόν τον χρόνο σε μόλις 1–2 εβδομάδες.

Αυτή η εξοικονόμηση χρόνου είναι το αποτέλεσμα της αυτοματοποίησης των αγωγών γεωχωρικών δεδομένων για την παροχή των περιπτώσεων χρήσης μας πιο αποτελεσματικά, μαζί με τη χρήση ενσωματωμένων επαναχρησιμοποιήσιμων στοιχείων για την επιτάχυνση και τη βελτίωση παρόμοιων έργων σε άλλες γεωγραφικές περιοχές, ενώ εφαρμόζονται τα ίδια αποδεδειγμένα βήματα για άλλη χρήση περιπτώσεις που βασίζονται σε παρόμοια δεδομένα.

Σε αυτήν την ανάρτηση, παρουσιάζουμε ένα παράδειγμα χρήσης για να περιγράψουμε μερικές από τις τεχνικές που χρησιμοποιούμε συνήθως και να δείξουμε πώς η εφαρμογή τους χρησιμοποιώντας γεωχωρικές λειτουργίες του SageMaker σε συνδυασμό με άλλες δυνατότητες του SageMaker αποφέρει μετρήσιμα οφέλη. Περιλαμβάνουμε επίσης παραδείγματα κώδικα, ώστε να μπορείτε να τα προσαρμόσετε στις δικές σας συγκεκριμένες περιπτώσεις χρήσης.

Επισκόπηση της λύσης

Ένα τυπικό έργο τηλεπισκόπησης για την ανάπτυξη νέων λύσεων απαιτεί μια ανάλυση βήμα προς βήμα των εικόνων που λαμβάνονται από οπτικούς δορυφόρους όπως Φρουρός or landat, σε συνδυασμό με άλλα δεδομένα, συμπεριλαμβανομένων των προγνώσεων καιρού ή συγκεκριμένων ιδιοτήτων πεδίου. Οι δορυφορικές εικόνες μας παρέχουν πολύτιμες πληροφορίες που χρησιμοποιούνται στις λύσεις ψηφιακής γεωργίας μας για να βοηθήσουν τους χρήστες μας να ολοκληρώσουν διάφορες εργασίες:

  • Ανίχνευση ασθενειών έγκαιρα στα χωράφια τους
  • Σχεδιασμός της σωστής διατροφής και θεραπειών που θα εφαρμοστούν
  • Λήψη πληροφοριών για τον καιρό και το νερό για τον προγραμματισμό της άρδευσης
  • Πρόβλεψη απόδοσης καλλιεργειών
  • Εκτέλεση άλλων εργασιών διαχείρισης καλλιεργειών

Για να επιτευχθούν αυτοί οι στόχοι, οι αναλύσεις μας συνήθως απαιτούν προεπεξεργασία των δορυφορικών εικόνων με διαφορετικές τεχνικές που είναι κοινές στον γεωχωρικό τομέα.

Για να δείξουμε τις δυνατότητες του γεωχωρικού SageMaker, πειραματιστήκαμε με τον εντοπισμό γεωργικών αγρών μέσω μοντέλων τμηματοποίησης ML. Επιπλέον, εξερευνήσαμε τα προϋπάρχοντα γεωχωρικά μοντέλα SageMaker και τη λειτουργικότητα "φέρτε το δικό σας μοντέλο" (BYOM) σε γεωχωρικές εργασίες όπως η ταξινόμηση χρήσης γης και κάλυψης γης ή ταξινόμηση καλλιεργειών, που συχνά απαιτούν τεχνικές πανοπτικής ή σημασιολογικής τμηματοποίησης ως πρόσθετα βήματα στη διαδικασία.

Στις επόμενες ενότητες, παρουσιάζουμε μερικά παραδείγματα για τον τρόπο εκτέλεσης αυτών των βημάτων με τις γεωχωρικές δυνατότητες του SageMaker. Μπορείτε επίσης να τα ακολουθήσετε στο ενδεικτικό σημειωματάριο από άκρο σε άκρο που είναι διαθέσιμο παρακάτω Αποθετήριο GitHub.

Όπως αναφέρθηκε προηγουμένως, επιλέξαμε την περίπτωση χρήσης ταξινόμησης κάλυψης γης, η οποία συνίσταται στον προσδιορισμό του τύπου φυσικής κάλυψης που έχουμε σε μια δεδομένη γεωγραφική περιοχή στην επιφάνεια της γης, οργανωμένη σε ένα σύνολο τάξεων που περιλαμβάνει βλάστηση, νερό ή χιόνι. Αυτή η ταξινόμηση υψηλής ανάλυσης μας επιτρέπει να ανιχνεύουμε τις λεπτομέρειες για τη θέση των χωραφιών και του περιβάλλοντός τους με υψηλή ακρίβεια, οι οποίες μπορούν αργότερα να συνδυαστούν με άλλες αναλύσεις, όπως η ανίχνευση αλλαγών στην ταξινόμηση των καλλιεργειών.

Ρύθμιση πελάτη

Πρώτον, ας υποθέσουμε ότι έχουμε χρήστες με καλλιέργειες που καλλιεργούνται σε μια δεδομένη γεωγραφική περιοχή που μπορούμε να αναγνωρίσουμε μέσα σε ένα πολύγωνο γεωχωρικών συντεταγμένων. Για αυτήν την ανάρτηση, ορίζουμε ένα παράδειγμα περιοχής στη Γερμανία. Μπορούμε επίσης να ορίσουμε ένα δεδομένο χρονικό εύρος, για παράδειγμα τους πρώτους μήνες του 2022. Δείτε τον ακόλουθο κώδικα:

### Coordinates for the polygon of your area of interest...
coordinates = [
    [9.181602157004177, 53.14038825707946],
    [9.181602157004177, 52.30629767547948],
    [10.587520893823973, 52.30629767547948],
    [10.587520893823973, 53.14038825707946],
    [9.181602157004177, 53.14038825707946],
]
### Time-range of interest...
time_start = "2022-01-01T12:00:00Z"
time_end = "2022-05-01T12:00:00Z"

Στο παράδειγμά μας, εργαζόμαστε με το γεωχωρικό SDK SageMaker μέσω προγραμματισμού ή αλληλεπίδρασης κώδικα, επειδή μας ενδιαφέρει να δημιουργήσουμε αγωγούς κώδικα που μπορούν να αυτοματοποιηθούν με τα διαφορετικά βήματα που απαιτούνται στη διαδικασία μας. Σημειώστε ότι θα μπορούσατε επίσης να εργαστείτε με μια διεπαφή χρήστη μέσω των γραφικών επεκτάσεων που παρέχονται με το SageMaker geospatial στο Στούντιο Amazon SageMaker εάν προτιμάτε αυτήν την προσέγγιση, όπως φαίνεται στα παρακάτω στιγμιότυπα οθόνης. Για πρόσβαση στη διεπαφή χρήστη του Geospatial Studio, ανοίξτε το SageMaker Studio Launcher και επιλέξτε Διαχείριση γεωχωρικών πόρων. Μπορείτε να ελέγξετε περισσότερες λεπτομέρειες στην τεκμηρίωση για να Ξεκινήστε με τις γεωχωρικές δυνατότητες του Amazon SageMaker.

Κύρια γεωχωρική διεπαφή χρήστη

Λίστα εργασιών γεωχωρικής διεπαφής χρήστη

Εδώ μπορείτε να δημιουργήσετε, να παρακολουθήσετε και να οπτικοποιήσετε γραφικά τα αποτελέσματα των εργασιών Παρατήρησης Γης (EOJ) που εκτελείτε με γεωχωρικές δυνατότητες του SageMaker.

Πίσω στο παράδειγμά μας, το πρώτο βήμα για την αλληλεπίδραση με το γεωχωρικό SDK του SageMaker είναι η ρύθμιση του προγράμματος-πελάτη. Μπορούμε να το κάνουμε αυτό δημιουργώντας μια συνεδρία με το botocore βιβλιοθήκη:

import boto3
gsClient = boto3.client('sagemaker-geospatial')

Από αυτό το σημείο και μετά, μπορούμε να χρησιμοποιήσουμε τον πελάτη για την εκτέλεση οποιωνδήποτε EOJs που μας ενδιαφέρουν.

Λήψη δεδομένων

Για αυτήν την περίπτωση χρήσης, ξεκινάμε συλλέγοντας δορυφορικές εικόνες για τη δεδομένη γεωγραφική μας περιοχή. Ανάλογα με την τοποθεσία ενδιαφέροντος, ενδέχεται να υπάρχει περισσότερο ή λιγότερο συχνή κάλυψη από τους διαθέσιμους δορυφόρους, οι οποίοι έχουν τις εικόνες τους οργανωμένες σε αυτό που συνήθως αναφέρεται ως συλλογές ράστερ.

Με τις γεωχωρικές δυνατότητες του SageMaker, έχετε άμεση πρόσβαση σε πηγές δεδομένων υψηλής ποιότητας για άμεση λήψη των γεωχωρικών δεδομένων, συμπεριλαμβανομένων εκείνων από Ανταλλαγή δεδομένων AWS και την Μητρώο Ανοικτών Δεδομένων στο AWS, μεταξύ άλλων. Μπορούμε να εκτελέσουμε την ακόλουθη εντολή για να παραθέσουμε τις συλλογές ράστερ που παρέχονται ήδη από το SageMaker:

list_raster_data_collections_resp = gsClient.list_raster_data_collections()

Αυτό επιστρέφει τις λεπτομέρειες για τις διάφορες διαθέσιμες συλλογές ράστερ, συμπεριλαμβανομένων των Landsat C2L2 Surface Reflectance (SR), Landsat C2L2 Surface Temperature (ST) ή Sentinel 2A & 2B. Βολικά, οι εικόνες Επιπέδου 2Α έχουν ήδη βελτιστοποιηθεί σε GeoTIFF (COG) με βελτιστοποίηση στο Cloud. Δείτε τον παρακάτω κώδικα:

…
{'Name': 'Sentinel 2 L2A COGs',
  'Arn': 'arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
  'Type': 'PUBLIC',
  'Description': 'Sentinel-2a and Sentinel-2b imagery, processed to Level 2A (Surface Reflectance) and converted to Cloud-Optimized GeoTIFFs'
…

Ας πάρουμε αυτό το τελευταίο για παράδειγμα, θέτοντας το δικό μας data_collection_arn παράμετρος στη συλλογή ARN των Sentinel 2 L2A COG.

Μπορούμε επίσης να αναζητήσουμε τις διαθέσιμες εικόνες για μια δεδομένη γεωγραφική τοποθεσία περνώντας τις συντεταγμένες ενός πολυγώνου που ορίσαμε ως περιοχή ενδιαφέροντός μας (AOI). Αυτό σας επιτρέπει να οπτικοποιήσετε τα διαθέσιμα πλακίδια εικόνας που καλύπτουν το πολύγωνο που υποβάλλετε για το καθορισμένο AOI, συμπεριλαμβανομένων των Απλή υπηρεσία αποθήκευσης Amazon URI (Amazon S3) για αυτές τις εικόνες. Σημειώστε ότι οι δορυφορικές εικόνες παρέχονται συνήθως σε διαφορετικά ζώνες ανάλογα με το μήκος κύματος της παρατήρησης. θα το συζητήσουμε περισσότερο αργότερα στην ανάρτηση.

response = gsClient.search_raster_data_collection(**eoj_input_config, Arn=data_collection_arn)

Ο προηγούμενος κώδικας επιστρέφει τα S3 URI για τα διάφορα διαθέσιμα πλακίδια εικόνας, τα οποία μπορείτε να οπτικοποιήσετε απευθείας με οποιαδήποτε βιβλιοθήκη συμβατή με GeoTIFF, όπως ραστέριο. Για παράδειγμα, ας οπτικοποιήσουμε δύο από τα πλακίδια True Color Image (TCI).

…
'visual': {'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/32/U/NC/2022/3/S2A_32UNC_20220325_0_L2A/TCI.tif'},
…

Αληθινή έγχρωμη εικόνα 1Αληθινή έγχρωμη εικόνα 2

Τεχνικές επεξεργασίας

Μερικές από τις πιο κοινές τεχνικές προεπεξεργασίας που εφαρμόζουμε περιλαμβάνουν την αφαίρεση σύννεφων, το γεωμωσαϊκό, τα χρονικά στατιστικά στοιχεία, τα μαθηματικά ζώνης ή τη στοίβαξη. Όλες αυτές οι διεργασίες μπορούν πλέον να πραγματοποιηθούν απευθείας μέσω της χρήσης EOJ στο SageMaker, χωρίς να χρειάζεται να εκτελεστεί χειροκίνητη κωδικοποίηση ή χρήση πολύπλοκων και ακριβών εργαλείων τρίτων. Αυτό καθιστά 50% πιο γρήγορη την κατασκευή των αγωγών επεξεργασίας δεδομένων μας. Με τις γεωχωρικές δυνατότητες του SageMaker, μπορούμε να εκτελέσουμε αυτές τις διεργασίες σε διαφορετικούς τύπους εισόδου. Για παράδειγμα:

  • Εκτελέστε απευθείας ένα ερώτημα για οποιαδήποτε από τις συλλογές ράστερ που περιλαμβάνονται στην υπηρεσία μέσω του RasterDataCollectionQuery παράμετρος
  • Περάστε τις εικόνες που είναι αποθηκευμένες στο Amazon S3 ως είσοδο μέσω του DataSourceConfig παράμετρος
  • Απλώς αλυσοδώστε τα αποτελέσματα μιας προηγούμενης EOJ μέσω του PreviousEarthObservationJobArn παράμετρος

Αυτή η ευελιξία σας επιτρέπει να δημιουργήσετε οποιοδήποτε είδος αγωγού επεξεργασίας χρειάζεστε.

Το παρακάτω διάγραμμα απεικονίζει τις διαδικασίες που καλύπτουμε στο παράδειγμά μας.

Εργασίες Γεωχωρικής Επεξεργασίας

Στο παράδειγμά μας, χρησιμοποιούμε ένα ερώτημα συλλογής δεδομένων ράστερ ως είσοδο, για το οποίο μεταβιβάζουμε τις συντεταγμένες του AOI μας και το χρονικό εύρος ενδιαφέροντος. Καθορίζουμε επίσης ένα ποσοστό μέγιστης κάλυψης νέφους 2%, γιατί θέλουμε καθαρές και χωρίς θόρυβο παρατηρήσεις της γεωγραφικής μας περιοχής. Δείτε τον παρακάτω κώδικα:

eoj_input_config = {
    "RasterDataCollectionQuery": {
        "RasterDataCollectionArn": data_collection_arn,
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {"PolygonGeometry": {"Coordinates": [coordinates]}}
        },
        "TimeRangeFilter": {"StartTime": time_start, "EndTime": time_end},
        "PropertyFilters": {
            "Properties": [
                {"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 2}}}
            ]
        },
    }
}

Για περισσότερες πληροφορίες σχετικά με τη σύνταξη των υποστηριζόμενων ερωτημάτων, ανατρέξτε στο Δημιουργήστε μια εργασία παρατήρησης της γης.

Αφαίρεση κενού σύννεφων

Οι δορυφορικές παρατηρήσεις είναι συχνά λιγότερο χρήσιμες λόγω της υψηλής κάλυψης σύννεφων. Η πλήρωση κενού ή η αφαίρεση νέφους είναι η διαδικασία αντικατάστασης των νεφελών εικονοστοιχείων από τις εικόνες, η οποία μπορεί να γίνει με διαφορετικές μεθόδους για την προετοιμασία των δεδομένων για περαιτέρω βήματα επεξεργασίας.

Με τις γεωχωρικές δυνατότητες του SageMaker, μπορούμε να το πετύχουμε αυτό καθορίζοντας α CloudRemovalConfig παράμετρος στη διαμόρφωση της εργασίας μας.

eoj_config =  {
    'CloudRemovalConfig': {
        'AlgorithmName': 'INTERPOLATION',
        'InterpolationValue': '-9999'
    }
}

Σημειώστε ότι χρησιμοποιούμε έναν αλγόριθμο παρεμβολής με μια σταθερή τιμή στο παράδειγμά μας, αλλά υποστηρίζονται και άλλες διαμορφώσεις, όπως εξηγείται στο Δημιουργήστε μια εργασία παρατήρησης της γης τεκμηρίωση. Η παρεμβολή του επιτρέπει να εκτιμήσει μια τιμή για την αντικατάσταση των νεφελών εικονοστοιχείων, λαμβάνοντας υπόψη τα γύρω εικονοστοιχεία.

Μπορούμε τώρα να εκτελέσουμε το EOJ μας με τις διαμορφώσεις εισόδου και εργασιών:

response = gsClient.start_earth_observation_job(
    Name =  'cloudremovaljob',
    ExecutionRoleArn = role,
    InputConfig = eoj_input_config,
    JobConfig = eoj_config,
)

Αυτή η εργασία διαρκεί λίγα λεπτά για να ολοκληρωθεί ανάλογα με την περιοχή εισόδου και τις παραμέτρους επεξεργασίας.

Όταν ολοκληρωθεί, τα αποτελέσματα του EOJ αποθηκεύονται σε μια τοποθεσία που ανήκει στην υπηρεσία, από όπου μπορούμε είτε να εξάγουμε τα αποτελέσματα στο Amazon S3 είτε να τα αλυσιδώσουμε ως είσοδο για άλλο EOJ. Στο παράδειγμά μας, εξάγουμε τα αποτελέσματα στο Amazon S3 εκτελώντας τον ακόλουθο κώδικα:

response = gsClient.export_earth_observation_job(
    Arn = cr_eoj_arn,
    ExecutionRoleArn = role,
    OutputConfig = {
        'S3Data': {
            'S3Uri': f's3://{bucket}/{prefix}/cloud_removal/',
            'KmsKeyId': ''
        }
    }
)

Τώρα είμαστε σε θέση να οπτικοποιήσουμε τις προκύπτουσες εικόνες που είναι αποθηκευμένες στην καθορισμένη τοποθεσία Amazon S3 για τις μεμονωμένες φασματικές ζώνες. Για παράδειγμα, ας επιθεωρήσουμε δύο από τις εικόνες μπλε μπάντας που επιστράφηκαν.

Εναλλακτικά, μπορείτε επίσης να ελέγξετε τα αποτελέσματα του EOJ γραφικά χρησιμοποιώντας τις γεωχωρικές επεκτάσεις που είναι διαθέσιμες στο Studio, όπως φαίνεται στα παρακάτω στιγμιότυπα οθόνης.

Διεπαφή χρήστη κατάργησης cloud 1   Διεπαφή χρήστη κατάργησης cloud 2

Διαχρονικά στατιστικά στοιχεία

Επειδή οι δορυφόροι περιφέρονται συνεχώς γύρω από τη γη, οι εικόνες για μια δεδομένη γεωγραφική περιοχή ενδιαφέροντος λαμβάνονται σε συγκεκριμένα χρονικά πλαίσια με συγκεκριμένη χρονική συχνότητα, όπως καθημερινά, κάθε 5 ημέρες ή 2 εβδομάδες, ανάλογα με τον δορυφόρο. Η διαδικασία χρονικής στατιστικής μάς δίνει τη δυνατότητα να συνδυάσουμε διαφορετικές παρατηρήσεις που έγιναν σε διαφορετικές χρονικές στιγμές για να δημιουργήσουμε μια συγκεντρωτική προβολή, όπως έναν ετήσιο μέσο όρο ή το μέσο όρο όλων των παρατηρήσεων σε ένα συγκεκριμένο χρονικό εύρος, για τη δεδομένη περιοχή.

Με τις γεωχωρικές δυνατότητες του SageMaker, μπορούμε να το κάνουμε αυτό ορίζοντας το TemporalStatisticsConfig παράμετρος. Στο παράδειγμά μας, λαμβάνουμε τη μέση ετήσια συνάθροιση για τη ζώνη Near Infrared (NIR), επειδή αυτή η ζώνη μπορεί να αποκαλύψει διαφορές πυκνότητας βλάστησης κάτω από την κορυφή των θόλων:

eoj_config =  {
    'TemporalStatisticsConfig': {
        'GroupBy': 'YEARLY',
        'Statistics': ['MEAN'],
        'TargetBands': ['nir']
    }
}

Μετά από λίγα λεπτά εκτέλεσης ενός EOJ με ​​αυτήν τη διαμόρφωση, μπορούμε να εξαγάγουμε τα αποτελέσματα στο Amazon S3 για να λάβουμε εικόνες όπως τα ακόλουθα παραδείγματα, στις οποίες μπορούμε να παρατηρήσουμε τις διαφορετικές πυκνότητες βλάστησης που αντιπροσωπεύονται με διαφορετικές εντάσεις χρώματος. Σημειώστε ότι το EOJ μπορεί να παράγει πολλές εικόνες ως πλακίδια, ανάλογα με τα διαθέσιμα δορυφορικά δεδομένα για το χρονικό εύρος και τις καθορισμένες συντεταγμένες.

Προσωρινά Στατιστικά 1Προσωρινά Στατιστικά 2

Μπάντα μαθηματικά

Οι δορυφόροι παρατήρησης της γης έχουν σχεδιαστεί για να ανιχνεύουν φως σε διαφορετικά μήκη κύματος, μερικά από τα οποία είναι αόρατα στο ανθρώπινο μάτι. Κάθε εύρος περιέχει συγκεκριμένες ζώνες του φάσματος φωτός σε διαφορετικά μήκη κύματος, οι οποίες σε συνδυασμό με την αριθμητική μπορούν να παράγουν εικόνες με πλούσιες πληροφορίες σχετικά με χαρακτηριστικά του πεδίου, όπως η υγεία της βλάστησης, η θερμοκρασία ή η παρουσία νεφών, μεταξύ πολλών άλλων. Αυτό εκτελείται σε μια διαδικασία που συνήθως ονομάζεται μαθηματικά ζώνης ή αριθμητική ζώνης.

Με τις γεωχωρικές δυνατότητες του SageMaker, μπορούμε να το εκτελέσουμε ορίζοντας το BandMathConfig παράμετρος. Για παράδειγμα, ας λάβουμε τις εικόνες του δείκτη υγρασίας εκτελώντας τον ακόλουθο κώδικα:

eoj_config =  {
    'BandMathConfig': {
        'CustomIndices': {
            'Operations': [
                {
                    'Name': 'moisture',
                    'Equation': '(nir08 - swir16) / (nir08 + swir16)'
                }
            ]
        }
    }
}

Μετά από λίγα λεπτά εκτέλεσης ενός EOJ με ​​αυτήν τη διαμόρφωση, μπορούμε να εξαγάγουμε τα αποτελέσματα και να λάβουμε εικόνες, όπως τα ακόλουθα δύο παραδείγματα.

Δείκτης υγρασίας 1Δείκτης υγρασίας 2Υπόμνημα δείκτη υγρασίας

Στοίβαξης

Παρόμοια με τα μαθηματικά ζωνών, η διαδικασία συνδυασμού ζωνών μαζί για την παραγωγή σύνθετων εικόνων από τις αρχικές ζώνες ονομάζεται στοίβαξη. Για παράδειγμα, θα μπορούσαμε να στοιβάζουμε τις κόκκινες, μπλε και πράσινες ζώνες φωτός μιας δορυφορικής εικόνας για να παράγουμε την αληθινή έγχρωμη εικόνα του AOI.

Με τις γεωχωρικές δυνατότητες του SageMaker, μπορούμε να το κάνουμε αυτό ορίζοντας το StackConfig παράμετρος. Ας στοιβάζουμε τις ζώνες RGB όπως στο προηγούμενο παράδειγμα με την ακόλουθη εντολή:

eoj_config =  {
    'StackConfig': {
        'OutputResolution': {
            'Predefined': 'HIGHEST'
        },
        'TargetBands': ['red', 'green', 'blue']
    }
}

Μετά από λίγα λεπτά εκτέλεσης ενός EOJ με ​​αυτήν τη διαμόρφωση, μπορούμε να εξαγάγουμε τα αποτελέσματα και να λάβουμε εικόνες.

Στοίβαξη TCI 1Στοίβαξη TCI 2

Μοντέλα σημασιολογικής τμηματοποίησης

Ως μέρος της δουλειάς μας, χρησιμοποιούμε συνήθως μοντέλα ML για την εκτέλεση συμπερασμάτων στις προεπεξεργασμένες εικόνες, όπως η ανίχνευση συννεφιασμένων περιοχών ή η ταξινόμηση του τύπου εδάφους σε κάθε περιοχή των εικόνων.

Με τις γεωχωρικές δυνατότητες του SageMaker, μπορείτε να το κάνετε αυτό βασιζόμενοι στα ενσωματωμένα μοντέλα τμηματοποίησης.

Για το παράδειγμά μας, ας χρησιμοποιήσουμε το μοντέλο τμηματοποίησης κάλυψης γης προσδιορίζοντας το LandCoverSegmentationConfig παράμετρος. Αυτό εκτελεί συμπεράσματα στην είσοδο χρησιμοποιώντας το ενσωματωμένο μοντέλο, χωρίς την ανάγκη εκπαίδευσης ή φιλοξενίας οποιασδήποτε υποδομής στο SageMaker:

response = gsClient.start_earth_observation_job(
    Name =  'landcovermodeljob',
    ExecutionRoleArn = role,
    InputConfig = eoj_input_config,
    JobConfig = {
        'LandCoverSegmentationConfig': {},
    },
)

Μετά από μερικά λεπτά εκτέλεσης μιας εργασίας με αυτήν τη διαμόρφωση, μπορούμε να εξαγάγουμε τα αποτελέσματα και να λάβουμε εικόνες.

Κάλυμμα γης 1Κάλυμμα γης 2Κάλυμμα γης 3Κάλυμμα γης 4

Στα προηγούμενα παραδείγματα, κάθε εικονοστοιχείο στις εικόνες αντιστοιχεί σε μια κατηγορία τύπου γης, όπως φαίνεται στο παρακάτω υπόμνημα.

Θρύλος Land Cover

Αυτό μας επιτρέπει να προσδιορίζουμε άμεσα τους συγκεκριμένους τύπους περιοχών στη σκηνή, όπως η βλάστηση ή το νερό, παρέχοντας πολύτιμες πληροφορίες για πρόσθετες αναλύσεις.

Φέρτε το δικό σας μοντέλο με το SageMaker

Εάν τα τελευταίας τεχνολογίας γεωχωρικά μοντέλα που παρέχονται με το SageMaker δεν επαρκούν για την περίπτωση χρήσης μας, μπορούμε επίσης να αλυσιδώσουμε τα αποτελέσματα οποιουδήποτε από τα βήματα προεπεξεργασίας που εμφανίζονται μέχρι τώρα με οποιοδήποτε προσαρμοσμένο μοντέλο ενσωματωμένο στο SageMaker για συμπέρασμα, όπως εξηγείται σε αυτό Λειτουργία σεναρίου SageMaker παράδειγμα. Μπορούμε να το κάνουμε αυτό με οποιαδήποτε από τις λειτουργίες συμπερασμάτων που υποστηρίζονται στο SageMaker, συμπεριλαμβανομένης της σύγχρονης με τα τελικά σημεία SageMaker σε πραγματικό χρόνο, της ασύγχρονης με τα ασύγχρονα τελικά σημεία του SageMaker, της δέσμης ή εκτός σύνδεσης με τους μετασχηματισμούς δέσμης SageMaker και της λειτουργίας χωρίς διακομιστή με συμπερασματικά στοιχεία χωρίς διακομιστή SageMaker. Μπορείτε να ελέγξετε περισσότερες λεπτομέρειες σχετικά με αυτές τις λειτουργίες στο Ανάπτυξη μοντέλων για συμπέρασμα τεκμηρίωση. Το παρακάτω διάγραμμα απεικονίζει τη ροή εργασιών σε υψηλό επίπεδο.

Επιλογές ροής συμπερασμάτων

Για το παράδειγμά μας, ας υποθέσουμε ότι έχουμε ενσωματώσει δύο μοντέλα για την εκτέλεση ταξινόμησης κάλυψης γης και ταξινόμησης τύπου καλλιέργειας.

Απλώς πρέπει να δείξουμε το τεχνούργημα του εκπαιδευμένου μοντέλου μας, στο παράδειγμά μας ένα μοντέλο PyTorch, παρόμοιο με τον ακόλουθο κώδικα:

from sagemaker.pytorch import PyTorchModel
import datetime

model = PyTorchModel(
    name=model_name, ### Set a model name
    model_data=MODEL_S3_PATH, ### Location of the custom model in S3
    role=role,
    entry_point='inference.py', ### Your inference entry-point script
    source_dir='code', ### Folder with any dependencies
    image_uri=image_uri, ### URI for your AWS DLC or custom container
    env={
        'TS_MAX_REQUEST_SIZE': '100000000',
        'TS_MAX_RESPONSE_SIZE': '100000000',
        'TS_DEFAULT_RESPONSE_TIMEOUT': '1000',
    }, ### Optional – Set environment variables for max size and timeout
)

predictor = model.deploy(
    initial_instance_count = 1, ### Your number of instances
    instance_type = 'ml.g4dn.8xlarge', ### Your instance type
    async_inference_config=sagemaker.async_inference.AsyncInferenceConfig(
        output_path=f"s3://{bucket}/{prefix}/output",
        max_concurrent_invocations_per_instance=2,
    ), ### Optional – Async config if using SageMaker Async Endpoints
)

predictor.predict(data) ### Your images for inference

Αυτό σας επιτρέπει να λαμβάνετε τις προκύπτουσες εικόνες μετά από συμπέρασμα, ανάλογα με το μοντέλο που χρησιμοποιείτε.

Στο παράδειγμά μας, κατά την εκτέλεση μιας προσαρμοσμένης τμηματοποίησης κάλυψης γης, το μοντέλο παράγει εικόνες παρόμοιες με τις παρακάτω, όπου συγκρίνουμε τις εικόνες εισόδου και πρόβλεψης με το αντίστοιχο υπόμνημά του.

Τμηματοποίηση κάλυψης γης 1  Τμηματοποίηση κάλυψης γης 2. Υπόμνημα Τμηματοποίησης Κάλυψης Γης

Το παρακάτω είναι ένα άλλο παράδειγμα ενός μοντέλου ταξινόμησης καλλιεργειών, όπου δείχνουμε τη σύγκριση των αρχικών με τα προκύπτοντα αποτελέσματα πανοπτικής και σημασιολογικής τμηματοποίησης, με το αντίστοιχο υπόμνημά του.

Ταξινόμηση καλλιεργειών

Αυτοματοποίηση γεωχωρικών αγωγών

Τέλος, μπορούμε επίσης να αυτοματοποιήσουμε τα προηγούμενα βήματα δημιουργώντας αγωγούς επεξεργασίας γεωχωρικών δεδομένων και συμπερασμάτων Αγωγοί Amazon SageMaker. Απλώς αλυσιδώνουμε κάθε βήμα προεπεξεργασίας που απαιτείται μέσω της χρήσης του Λάμδα Βήματα και Βήματα επανάκλησης σε Σωληνώσεις. Για παράδειγμα, θα μπορούσατε επίσης να προσθέσετε ένα τελικό βήμα συμπερασμάτων χρησιμοποιώντας ένα Βήμα Μετασχηματισμού ή απευθείας μέσω άλλου συνδυασμού Βημάτων Λάμδα και Βημάτων επιστροφής κλήσης, για την εκτέλεση ενός EOJ με ​​ένα από τα ενσωματωμένα μοντέλα σημασιολογικής τμηματοποίησης στις γεωχωρικές δυνατότητες του SageMaker.

Σημειώστε ότι χρησιμοποιούμε τα βήματα λάμδα και τα βήματα επανάκλησης στις σωληνώσεις επειδή τα EOJ είναι ασύγχρονα, επομένως αυτός ο τύπος βήματος μας επιτρέπει να παρακολουθούμε την εκτέλεση της εργασίας επεξεργασίας και να συνεχίσουμε τη διοχέτευση όταν ολοκληρωθεί μέσω μηνυμάτων σε Υπηρεσία απλής ουράς Amazon (Amazon SQS) ουρά.

Γεωχωρικός Αγωγός

Μπορείτε να ελέγξετε το σημειωματάριο στο Αποθετήριο GitHub για ένα λεπτομερές παράδειγμα αυτού του κώδικα.

Τώρα μπορούμε να οπτικοποιήσουμε το διάγραμμα του γεωχωρικού αγωγού μας μέσω του Studio και να παρακολουθήσουμε τις εκτελέσεις στο Pipelines, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

Διεπαφή χρήστη του γεωχωρικού αγωγού

Συμπέρασμα

Σε αυτήν την ανάρτηση, παρουσιάσαμε μια περίληψη των διαδικασιών που εφαρμόσαμε με τις γεωχωρικές δυνατότητες του SageMaker για την κατασκευή αγωγών γεωχωρικών δεδομένων για τα προηγμένα προϊόντα μας από την xarvio Digital Farming Solutions. Η χρήση του SageMaker geospatial αύξησε την αποτελεσματικότητα της γεωχωρικής μας εργασίας κατά περισσότερο από 50%, μέσω της χρήσης προκατασκευασμένων API που επιταχύνουν και απλοποιούν τα βήματα προεπεξεργασίας και μοντελοποίησης για ML.

Ως επόμενο βήμα, ενσωματώνουμε περισσότερα μοντέλα από τον κατάλογό μας στο SageMaker για να συνεχίσουμε την αυτοματοποίηση των αγωγών λύσεων μας και θα συνεχίσουμε να χρησιμοποιούμε περισσότερες γεωχωρικές δυνατότητες του SageMaker καθώς εξελίσσεται η υπηρεσία.

Σας ενθαρρύνουμε να δοκιμάσετε τις γεωχωρικές δυνατότητες του SageMaker προσαρμόζοντας το από άκρο σε άκρο παράδειγμα σημειωματάριο που παρέχεται σε αυτήν την ανάρτηση και μαθαίνοντας περισσότερα για την υπηρεσία στο Τι είναι το Amazon SageMaker Geospatial Capabilities;.


Σχετικά με τους Συγγραφείς

Τζούλιαν ΜπλάουΤζούλιαν Μπλάου είναι Επιστήμονας Δεδομένων στην BASF Digital Farming GmbH, που βρίσκεται στην Κολωνία της Γερμανίας. Αναπτύσσει ψηφιακές λύσεις για τη γεωργία, καλύπτοντας τις ανάγκες της παγκόσμιας πελατειακής βάσης της BASF, χρησιμοποιώντας γεωχωρικά δεδομένα και μηχανική μάθηση. Εκτός δουλειάς, του αρέσει να ταξιδεύει και να βρίσκεται σε εξωτερικούς χώρους με φίλους και οικογένεια.

Antonio RodriguezAntonio Rodriguez είναι Αρχιτέκτονας Ειδικών Λύσεων Τεχνητής Νοημοσύνης και Μηχανικής Μάθησης στο Amazon Web Services, με έδρα την Ισπανία. Βοηθά εταιρείες όλων των μεγεθών να λύσουν τις προκλήσεις τους μέσω της καινοτομίας και δημιουργεί νέες επιχειρηματικές ευκαιρίες με τις υπηρεσίες AWS Cloud και AI/ML. Εκτός από τη δουλειά, του αρέσει να περνά χρόνο με την οικογένειά του και να αθλείται με τους φίλους του.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS