I-Generative Data Intelligence

Ukulebula kwesichasiselo esisekelwe kumathambo kusetshenziswa i-Amazon SageMaker Ground Truth | Izinsizakalo Zewebhu ze-Amazon

Usuku:

I-Pose estimation yindlela yokubona ngekhompyutha ethola isethi yamaphuzu ezintweni (njengabantu noma izimoto) ngaphakathi kwezithombe noma amavidiyo. I-Pose estimation inezinhlelo zokusebenza zomhlaba wangempela kwezemidlalo, amarobhothi, ukuphepha, into engekho ngokoqobo, imidiya nokuzijabulisa, izinhlelo zokusebenza zezokwelapha, nokuningi. Amamodeli okulinganisa kokuma aqeqeshwa ezithombeni noma kumavidiyo anezichasiselo ezinesethi yamaphoyinti angaguquki (izixhumanisi) achazwe i-rig. Ukuze uqeqeshe amamodeli esilinganiso sokuma anembile, udinga kuqala ukuthola idathasethi enkulu yezithombe ezinezichasiselo; amasethi wedatha amaningi anamashumi noma amakhulu ezinkulungwane zezithombe ezichasisiwe futhi athatha izinsiza ezibalulekile ukuze akhe. Amaphutha okulebula abalulekile ukuze akhonjwe futhi avinjwe ngoba ukusebenza kwemodeli kwamamodeli esilinganiso sokuma kuthonywa kakhulu ikhwalithi yedatha enelebula nevolumu yedatha.

Kulokhu okuthunyelwe, sibonisa ukuthi ungasebenzisa kanjani ukuhamba komsebenzi okulebula ngokwezifiso Iqiniso le-Amazon SageMaker Ground yakhelwe ngokukhethekile ukulebula kwephoyinti elingukhiye. Lokhu kugeleza komsebenzi ngokwezifiso kusiza ukuhlela inqubo yokulebula futhi kunciphise amaphutha okulebula, ngaleyo ndlela kwehlise izindleko zokuthola amalebula okumisa ekhwalithi ephezulu.

Ukubaluleka kwedatha yekhwalithi ephezulu kanye nokunciphisa amaphutha okulebula

Idatha yekhwalithi ephezulu ibalulekile ekuqeqesheni amamodeli aqinile futhi anokwethenjelwa okulinganisa ukuma. Ukunemba kwalawa mamodeli kuxhunywe ngokuqondile ekunembeni nasekunembeni kwamalebula anikezwe iphuzu elingukhiye lokuma ngakunye, okubuye kuncike ekusebenzeni kahle kwenqubo yezichasiselo. Ukwengeza, ukuba nevolumu enkulu yedatha ehlukahlukene nechazwe kahle kuqinisekisa ukuthi imodeli ingafunda ububanzi obubanzi bokuma, ukuhluka, nezimo, okuholela ekuthuthukisweni kokwenziwa okuvamile nokusebenza kuzo zonke izinhlelo zokusebenza zomhlaba wangempela. Ukutholwa kwalawa madathasethi amakhulu, anezichasiselo kufaka phakathi izichasiselo ezingabantu ezilebula ngokucophelela izithombe ngolwazi lokuma. Ngenkathi ulebula izindawo onentshisekelo kuzo ngaphakathi kwesithombe, kuyasiza ukubona uhlaka lwamathambo ento ngenkathi ulebula ukuze unikeze isiqondiso esibonakalayo kusichasiseli. Lokhu kuyasiza ekuhlonzeni amaphutha okulebula ngaphambi kokuthi afakwe kudathasethi njengama-swap kwesokudla noma amalebula angalungile (njengomaka unyawo njengehlombe). Isibonelo, iphutha lokulebula elinjengokushintshaniswa kwesobunxele kwesokudla okwenziwe esibonelweni esilandelayo lingabonakala kalula ngokuphambana kwemigqa yokuqina kohlaka lwamathambo kanye nokungafani kwemibala. Lezi zimpawu ezibonakalayo zisiza ababhala ilebula ukuthi babone amaphutha futhi kuzophumela kusethi yamalebula ahlanzekile.

Ngenxa yemvelo eyenziwa mathupha yokulebula, ukuthola amasethi edatha anamalebula amakhulu nanembile kungase kubize kakhulu futhi ngisho nangokwengeziwe ngohlelo lokulebula olungasebenzi kahle. Ngakho-ke, ukusebenza kahle kokulebula nokunemba kubalulekile lapho uklama ukuhamba komsebenzi wakho wokulebula. Kulokhu okuthunyelwe, sibonisa indlela yokusebenzisa indlela yokusebenza ye-SageMaker Ground Truth yangokwezifiso ukuze sichasise izithombe ngokushesha nangokunembile, kwehliswe umthwalo wokuthuthukisa amadathasethi amakhulu wokugeleza kokusebenza kokulinganisa.

Uhlolojikelele lwesixazululo

Lesi sixazululo sihlinzeka ngengosi yewebhu eku-inthanethi lapho abasebenzi abafaka ilebula bangasebenzisa isiphequluli sewebhu ukuze bangene, bafinyelele imisebenzi yokulebula, futhi bachaze izithombe besebenzisa i-crowd-2d-skeleton user interface (UI), i-UI yangokwezifiso edizayinelwe iphuzu elingukhiye kanye nokubeka ilebula kusetshenziswa. I-SageMaker Ground Iqiniso. Izichasiselo noma amalebula adalwe abasebenzi abalebulayo abe esethunyelwa ku- Isevisi ye-Amazon Simple Storage (I-Amazon S3) ibhakede, lapho ingasetshenziswa khona ezinqubweni ezansi nomfula njengokuqeqesha amamodeli ombono wekhompyutha wokufunda okujulile. Lesi sixazululo sikuqondisa endleleni yokusetha nokusebenzisa izingxenye ezidingekayo ukuze wakhe ingosi yewebhu kanye nendlela yokudala imisebenzi yokulebula yalokhu kuhamba komsebenzi wokulebula.

Okulandelayo umdwebo wezakhiwo jikelele.

Lesi sakhiwo siqukethe izingxenye ezimbalwa ezibalulekile, ngayinye esiyichaza ngokuningiliziwe ezigabeni ezilandelayo. Lesi sakhiwo sihlinzeka abasebenzi bokulebula ngengosi yewebhu eku-inthanethi ephethwe yi-SageMaker Ground Truth. Le portal ivumela obhala ilebula ngayinye ukuthi bangene futhi babone imisebenzi yabo yokulebula. Ngemva kokuba sebengenile, obhala ilebula angakhetha umsebenzi wokulebula futhi aqale ukuchasisa izithombe esebenzisa i-UI yangokwezifiso ephethwe ngu. Ama-Amazon CloudFront. Sisebenzisa I-AWS Lambda imisebenzi yesichasiselo sangaphambili kanye nokucubungula idatha yangemuva kwesichasiselo.

Isithombe-skrini esilandelayo siyisibonelo se-UI.

Isifaki ilebula singamaka amaphoyinti angukhiye athile esithombeni sisebenzisa i-UI. Imigqa ephakathi kwamaphoyinti angukhiye izodwetshwa ngokuzenzakalelayo kumsebenzisi ngokusekelwe kuncazelo ye-skeleton rig esetshenziswa i-UI. I-UI ivumela ukwenza ngokwezifiso okuningi, okufana nokulandelayo:

  • Amagama wephoyinti elingukhiye ngokwezifiso
  • Imibala yephoyinti elingukhiye elungisekayo
  • Imibala yomugqa we-rig elungisekayo
  • Izakhiwo zamathambo nezinsimbi ezilungisekayo

Ngayinye yalezi izici eziqondiwe ukuze kuthuthukiswe ukukhululeka nokuvumelana nokulebula. Imininingwane ethile yokwenza ngokwezifiso i-UI ingatholakala ku- GitHub repo futhi kufinyezwa kamuva kulokhu okuthunyelwe. Qaphela ukuthi kulokhu okuthunyelwe, sisebenzisa ukulinganisa kokuma komuntu njengomsebenzi oyisisekelo, kodwa ungakunweba ekulebuleni ukuma kwento ngomshini ochazwe kusengaphambili wezinye izinto, njengezilwane noma izimoto. Esibonelweni esilandelayo, sibonisa ukuthi lokhu kungasetshenziswa kanjani ukulebula amaphuzu weloli eliyibhokisi.

I-SageMaker Ground Iqiniso

Kulesi sixazululo, sisebenzisa i-SageMaker Ground Truth ukuze sinikeze abasebenzi abafaka amalebula ngengosi eku-inthanethi kanye nendlela yokuphatha imisebenzi yokulebula. Lokhu okuthunyelwe kucabanga ukuthi ujwayelene ne-SageMaker Ground Truth. Ukuze uthole ukwaziswa okwengeziwe, bheka Iqiniso le-Amazon SageMaker Ground.

Ukusabalalisa kwe-CloudFront

Kulesi sixazululo, i-UI yokulebula idinga ingxenye ye-JavaScript eyakhelwe ngokwezifiso ebizwa ngokuthi ingxenye ye-crowd-2d-skeleton. Le ngxenye ingatholakala ku GitHub njengengxenye yezinhlelo zomthombo ovulekile we-Amazon. Ukusabalalisa kwe-CloudFront kuzosetshenziselwa ukusingatha i- crowd-2d-skeleton.js, edingwa i-SageMaker Ground Truth UI. Ukusabalalisa kwe-CloudFront kuzonikezwa ubunikazi bokufinyelela boqobo, obuzovumela ukusatshalaliswa kwe-CloudFront ukuthi kufinyelele i-crowd-2d-skeleton.js ehlala kubhakede le-S3. Ibhakede le-S3 lizohlala liyimfihlo futhi azikho ezinye izinto kuleli bhakede ezizotholakala ngokusatshalaliswa kwe-CloudFront ngenxa yemikhawulo esiyibeka kubunikazi bokufinyelela boqobo ngenqubomgomo yebhakede. Lona umkhuba onconyiwe wokulandela isimiso esinelungelo elincane.

Ibhakede le-Amazon S3

Sisebenzisa ibhakede le-S3 ukuze sigcine amafayela e-SageMaker Ground Truth okufakwayo kanye nokukhiphayo, isifanekiso se-UI esingokwezifiso, izithombe zemisebenzi yokulebula, kanye nekhodi ye-JavaScript edingekayo ku-UI yangokwezifiso. Leli bhakede lizoba yimfihlo futhi ngeke lifinyeleleke emphakathini. Ibhakede lizoba nenqubomgomo yebhakede ekhawulela ukusatshalaliswa kwe-CloudFront ukuthi ikwazi ukufinyelela kuphela ikhodi ye-JavaScript edingekayo ku-UI. Lokhu kuvimbela ukusatshalaliswa kwe-CloudFront ekusingatheni noma iyiphi enye into ebhakedeni le-S3.

Umsebenzi we-Lambda wesichasiselo sangaphambili

Imisebenzi yokulebula ye-SageMaker Ground Truth ngokuvamile isebenzisa ifayela le-manifest lokufaka, elingefomethi ye-JSON Lines. Leli fayela le-manifest lokufaka liqukethe imethadatha yomsebenzi wokulebula, lisebenza njengereferensi yedatha okudingeka ifakwe ilebula, futhi lisiza ukulungisa ukuthi idatha kufanele yethulwe kanjani kuzichasiselo. Umsebenzi wesichasiselo sangaphambilini we-Lambda ucubungula izinto ezisuka kufayela le-manifest yokufaka ngaphambi kokuthi idatha ye-manifest ifakwe kusifanekiso se-UI yangokwezifiso. Lapha yilapho noma yikuphi ukufometha noma ukuguqulwa okukhethekile kwezinto kungenziwa ngaphambi kokwethula idatha kuzichasiselo ku-UI. Ukuze uthole ulwazi olwengeziwe ngemisebenzi ye-Lambda yezichasiselo zangaphambili, bheka Isichasiselo sangaphambili se-Lambda.

Umsebenzi we-Lambda wangemuva kwesichasiselo

Ngokufana nomsebenzi we-Lambda wangaphambi kwesichasiselo, umsebenzi wangemuva kwesichasiselo uphatha ukucutshungulwa kwedatha eyengeziwe ongase ufune ukuyenza ngemva kokuba bonke abalebula sebeqedile ukulebula kodwa ngaphambi kokubhala imiphumela yokugcina yesichasiselo. Lokhu kucubungula kwenziwa umsebenzi we-Lambda, onesibopho sokufometha idatha yemiphumela yokuphuma komsebenzi ilebula. Kulesi sixazululo, simane sisisebenzisa ukubuyisela idatha ngefomethi yethu esiyifunayo. Ukuze uthole ulwazi olwengeziwe ngemisebenzi ye-post-annotation ye-Lambda, bheka I-post-annotation Lambda.

Indima yomsebenzi we-Lambda yangemuva kwesichasiselo

Sisebenzisa i Ubunikazi be-AWS Nokuphathwa Kokufinyelela (IAM) indima yokunikeza umsebenzi we-Lambda wangemuva kwesichasiselo ukufinyelela kubhakede le-S3. Lokhu kuyadingeka ukuze ufunde imiphumela yezichasiselo futhi wenze noma yiziphi izinguquko ngaphambi kokubhala imiphumela yokugcina kufayela le-manifest eliphumayo.

Indima yeSageMaker Ground Truth

Sisebenzisa le ndima ye-IAM ukuze sinikeze umsebenzi wokulebula we-SageMaker Ground Truth ikhono lokunxenxa imisebenzi ye-Lambda nokufunda izithombe, amafayela we-manifest, nesifanekiso se-UI esingokwezifiso ebhakedeni le-S3.

Okudingekayo

Kulokhu kuhamba, kufanele ube nezidingo ezilandelayo:

Kulesi sixazululo, sisebenzisa i-AWS CDK ukuze sikhiphe izakhiwo. Bese sidala umsebenzi wokulebula oyisampula, sebenzisa ingosi yezichasiselo ukuze ilebula izithombe emsebenzini wokulebula, futhi sihlole imiphumela yokulebula.

Dala isitaki se-AWS CDK

Ngemva kokuqeda zonke izimfuneko, usulungele ukusebenzisa isisombululo.

Setha izinsiza zakho

Qedela izinyathelo ezilandelayo ukuze usethe izinsiza zakho:

  1. Landa isitaki sesibonelo kusuka ku- GitHub repo.
  2. Sebenzisa umyalo we-cd ukuze ushintshele endaweni yokugcina.
  3. Dala indawo yakho yePython bese ufaka amaphakheji adingekayo (bona inqolobane ye-README.md ukuze uthole imininingwane eyengeziwe).
  4. Njengoba imvelo yakho yePython icushiwe, sebenzisa umyalo olandelayo:
  5. Qalisa umyalo olandelayo ukuze usebenzise i-AWS CDK:
    cdk deploy

  6. Qalisa umyalo olandelayo ukuze usebenzise iskripthi sokuthunyelwa ngemuva:
    python scripts/post_deployment_script.py

Dala umsebenzi wokulebula

Ngemva kokuthi usethe izinsiza zakho, usulungele ukudala umsebenzi wokulebula. Ngezinjongo zalokhu okuthunyelwe, sakha umsebenzi wokulebula sisebenzisa isibonelo semibhalo nezithombe ezinikezwe endaweni yokugcina.

  1. CD ku scripts uhla lwemibhalo endaweni yokugcina.
  2. Landa izithombe eziyisibonelo ku-inthanethi ngokusebenzisa ikhodi elandelayo:
    python scripts/download_example_images.py

Lesi script silanda isethi yezithombe eziyi-10, esizisebenzisa emsebenzini wethu wokulebula oyisibonelo. Sibuyekeza ukuthi ungasebenzisa kanjani idatha yakho yangokwezifiso yokufaka kamuva kulokhu okuthunyelwe.

  1. Dala umsebenzi wokulebula ngokusebenzisa ikhodi elandelayo:
    python scripts/create_example_labeling_job.py <Labeling Workforce ARN>

Lesi skripthi sithatha i-SageMaker Ground Truth yabasebenzi abazimele be-ARN njengengxabano, okufanele kube i-ARN yabasebenzi onawo ku-akhawunti efanayo othumele kuyo lesi sakhiwo. Umbhalo uzodala ifayela le-manifest lokufaka lomsebenzi wethu wokulebula, lilayishe ku-Amazon S3, futhi lidale umsebenzi wokulebula ngokwezifiso we-SageMaker Ground Truth. Singena sijule emininingwaneni yalesi script ngokuhamba kwesikhathi kulokhu okuthunyelwe.

Lebula idathasethi

Ngemuva kokuthi wethule umsebenzi wokulebula oyisibonelo, uzovela kukhonsoli ye-SageMaker kanye nakuphothali yabasebenzi.

Kuphothali yabasebenzi, khetha umsebenzi wokulebula bese ukhetha Qala ukusebenza.

Uzokwethulwa ngesithombe esivela kudathasethi yesibonelo. Kuleli qophelo, ungasebenzisa i-UI yangokwezifiso ye-crowd-2d-skeleton ukuze uchaze izithombe. Ungakwazi ukuzijwayeza nge-crowd-2d-skeleton UI ngokubhekisela kuyo Uhlolojikelele lwe-interface yomsebenzisi. Sisebenzisa incazelo ye-rig kusuka ku- Inselele yedathasethi yedatha ye-COCO njenge-rig ye-pose yomuntu. Ukuphinda, ungenza lokhu ngendlela oyifisayo ngaphandle kwengxenye yethu ye-UI yangokwezifiso ukuze ususe noma wengeze amaphuzu ngokusekelwe ezimfuneko zakho.

Uma usuqedile ukuchasisa isithombe, khetha Hambisa. Lokhu kuzokuyisa esithombeni esilandelayo kudathasethi kuze kube yilapho zonke izithombe zilebula.

Finyelela emiphumeleni yokulebula

Uma usuqedile ukulebula zonke izithombe emsebenzini wokulebula, i-SageMaker Ground Truth izosebenzisa umsebenzi we-Lambda wangemuva kwesichasiselo futhi ikhiqize ifayela le-output.manifest eliqukethe zonke izichasiselo. Lokhu output.manifest izogcinwa ebhakedeni le-S3. Esimweni sethu, indawo ye-manifest ephumayo kufanele ilandele indlela ye-S3 URI s3://<bucket name> /labeling_jobs/output/<labeling job name>/manifests/output/output.manifest. Ifayela le-output.manifest liyifayela le-JSON Lines, lapho umugqa ngamunye uhambisana nesithombe esisodwa nezichasiselo zaso ezivela kubasebenzi bokulebula. Into ngayinye ye-JSON Lines iyinto ye-JSON enezinkambu eziningi. Inkambu esiyithandayo ibizwa ngokuthi label-results. Inani lale nkambu liyinto equkethe izinkambu ezilandelayo:

  • idathaset_object_id - I-ID noma inkomba yento yokufaka ye-manifest
  • idatha_object_s3_uri - I-Amazon S3 URI yesithombe
  • image_file_name - Igama lefayela lesithombe
  • image_s3_indawo - I-URL yesithombe ye-Amazon S3
  • izichasiselo_zangempela - Izichasiselo zangempela (zisethwe futhi zisetshenziswe kuphela uma usebenzisa ukuhamba komsebenzi kwangaphambi kwesichasiselo)
  • izibuyekezo_ezibuyekeziwe - Izichasiselo zesithombe
  • ubunikazi_bomsebenzi - Umsebenzisi owenze izichasiselo
  • azikho_izinguquko_ezidingekayo - Ukuthi akukho zinguquko ezidingekayo ibhokisi lokuhlola likhethiwe
  • kwalungiswa_kwalungiswa - Ukuthi idatha yesichasiselo ihlukile yini kudatha yokufaka yasekuqaleni
  • ingqikithi_yesikhathi_ngamasekhondi - Isikhathi esithathe isisebenzi ukuthi sichaze isithombe

Ngalezi zinkambu, ungakwazi ukufinyelela kumiphumela yesichasiselo sakho sesithombe ngasinye futhi wenze izibalo ezifana nesikhathi esimaphakathi sokulebula isithombe.

Dala eyakho imisebenzi yokulebula

Manje njengoba sesidale umsebenzi wokulebula oyisibonelo futhi usuqonda yonke inqubo, sihamba nawe ngekhodi enesibopho sokudala ifayela le-manifest kanye nokuqalisa umsebenzi wokulebula. Sigxila ezingxenyeni ezibalulekile zeskripthi ongase ufune ukuzishintsha ukuze uqalise imisebenzi yakho yokulebula.

Simboza amazwibela wekhodi kusuka ku create_example_labeling_job.py iskripthi esitholakala ku- IGitHub repository. Iskripthi siqala ngokusetha okuguquguqukayo okusetshenziswe kamuva kuskripthi. Ezinye zezinto eziguquguqukayo zinekhodi eqinile ukuze zibe lula, kanti ezinye, ezincike kusitaki, zizongeniswa ngokushintshashintshayo ngesikhathi sokusebenza ngokulanda amanani adalwe kusitaki sethu se-AWS CDK.

# Setup/get variables values from our CDK stack
s3_upload_prefix = "labeling_jobs"
image_dir = 'scripts/images'
manifest_file_name = "example_manifest.txt"
s3_bucket_name = read_ssm_parameter('/crowd_2d_skeleton_example_stack/bucket_name')
pre_annotation_lambda_arn = read_ssm_parameter('/crowd_2d_skeleton_example_stack/pre_annotation_lambda_arn')
post_annotation_lambda_arn = read_ssm_parameter('/crowd_2d_skeleton_example_stack/post_annotation_lambda_arn')
ground_truth_role_arn = read_ssm_parameter('/crowd_2d_skeleton_example_stack/sagemaker_ground_truth_role')
ui_template_s3_uri = f"s3://{s3_bucket_name}/infrastructure/ground_truth_templates/crowd_2d_skeleton_template.html"
s3_image_upload_prefix = f'{s3_upload_prefix}/images'
s3_manifest_upload_prefix = f'{s3_upload_prefix}/manifests'
s3_output_prefix = f'{s3_upload_prefix}/output'

Isigaba sokuqala esingukhiye kulesi skripthi ukudalwa kwefayela le-manifest. Khumbula ukuthi ifayela le-manifest liyifayela lemigqa ye-JSON eliqukethe imininingwane yomsebenzi wokulebula we-SageMaker Ground Truth. Into ngayinye ye-JSON Lines imele into eyodwa (isibonelo, isithombe) okudingeka ifakwe ilebula. Kulokhu kuhamba komsebenzi, into kufanele ibe nezinkambu ezilandelayo:

  • umthombo-ref - I-Amazon S3 URI esithombeni ofisa ukusilebula.
  • izichasiselo - Uhlu lwezinto zesichasiselo, ezisetshenziselwa ukugeleza komsebenzi okuchazwe ngaphambilini. Bona i- amadokhumenti esixuku-2d-skeleton ukuze uthole imininingwane eyengeziwe ngamavelu alindelekile.

Umbhalo udala umugqa we-manifest wesithombe ngasinye ohlwini lwezithombe usebenzisa isigaba esilandelayo sekhodi:

# For each image in the image directory lets create a manifest line
manifest_items = []
for filename in os.listdir(image_dir):
    if filename.endswith('.jpg') or filename.endswith('.png'):
        img_path = os.path.join(
            image_dir,
            filename
        )
        object_name = os.path.join(
            s3_image_upload_prefix,
            filename
        ).replace("", "/")

        # upload to s3_bucket
        s3_client.upload_file(img_path, s3_bucket_name, object_name)
f
        # add it to manifest file
        manifest_items.append({
            "source-ref": f's3://{s3_bucket_name}/{object_name}',
            "annotations": [],
        })

Uma ufuna ukusebenzisa izithombe ezihlukene noma ukhombe uhla lwemibhalo lwezithombe oluhlukile, ungakwazi ukulungisa leso sigaba sekhodi. Ukwengeza, uma usebenzisa ukugeleza komsebenzi kwangaphambi kwesichasiselo, ungabuyekeza uhlu lwezichasiselo ngochungechunge lweyunithi yezinhlamvu ye-JSON ehlanganisa amalungu afanayo nazo zonke izinto zawo zesichasiselo. Imininingwane yefomethi yalolu hlu ibhalwe ku- amadokhumenti esixuku-2d-skeleton.

Ngezinto zomugqa we-manifest esezidaliwe manje, ungakha futhi ulayishe ifayela le-manifest ebhakedeni le-S3 olidale ngaphambilini:

# Create Manifest file
manifest_file_contents = "n".join([json.dumps(mi) for mi in manifest_items])
with open(manifest_file_name, "w") as file_handle:
    file_handle.write(manifest_file_contents)

# Upload manifest file
object_name = os.path.join(
    s3_manifest_upload_prefix,
    manifest_file_name
).replace("", "/")
s3_client.upload_file(manifest_file_name, s3_bucket_name, object_name)

Manje njengoba usudale ifayela le-manifest eliqukethe izithombe ofuna ukuzilebula, ungakha umsebenzi wokulebula. Ungakha umsebenzi wokulebula ngokuhlelekile usebenzisa i- I-AWS SDK yePython (Boto3). Ikhodi yokudala umsebenzi wokulebula imi kanje:

# Create labeling job
client = boto3.client("sagemaker")
now = int(round(datetime.now().timestamp()))
response = client.create_labeling_job(
    LabelingJobName=f"crowd-2d-skeleton-example-{now}",
    LabelAttributeName="label-results",
    InputConfig={
        "DataSource": {
            "S3DataSource": {"ManifestS3Uri": f's3://{s3_bucket_name}/{object_name}'},
        },
        "DataAttributes": {},
    },
    OutputConfig={
        "S3OutputPath": f"s3://{s3_bucket_name}/{s3_output_prefix}/",
    },
    RoleArn=ground_truth_role_arn,
    HumanTaskConfig={
        "WorkteamArn": workteam_arn,
        "UiConfig": {"UiTemplateS3Uri": ui_template_s3_uri},
        "PreHumanTaskLambdaArn": pre_annotation_lambda_arn,
        "TaskKeywords": ["example"],
        "TaskTitle": f"Crowd 2D Component Example {now}",
        "TaskDescription": "Crowd 2D Component Example",
        "NumberOfHumanWorkersPerDataObject": 1,
        "TaskTimeLimitInSeconds": 28800,
        "TaskAvailabilityLifetimeInSeconds": 2592000,
        "MaxConcurrentTaskCount": 123,
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": post_annotation_lambda_arn
        },
    },
)
print(response)

Izici zale khodi ongase ufune ukuzishintsha ziyi LabelingJobName, TaskTitle, Futhi TaskDescription. The LabelingJobName igama eliyingqayizivele lomsebenzi wokulebula i-SageMaker ezowusebenzisa ukuze ubhekisele emsebenzini wakho. Leli futhi igama elizovela kukhonsoli ye-SageMaker. TaskTitle isebenzisa injongo efanayo, kodwa ayidingi ukuba ihluke futhi kuzoba igama lomsebenzi elivela kuphothali yabasebenzi. Ungase ufune ukwenza lokhu kucace kakhulu kulokho okulebulayo noma ukuthi umsebenzi wokulebula ngowani. Okokugcina, sine- TaskDescription inkambu. Lo mkhakha uvela kuphothali yabasebenzi ukuze unikeze umongo owengeziwe kubalebula ukuthi uyini umsebenzi, njengemiyalelo nesiqondiso somsebenzi. Ukuze uthole ukwaziswa okwengeziwe ngalezi zinkundla kanye nezinye, bheka ku dala_ukubhala_umsebenzi amadokhumenti.

Yenza izinguquko ku-UI

Kulesi sigaba, sidlula ezinye zezindlela ongenza ngazo i-UI ngendlela oyifisayo. Okulandelayo uhlu lokwenziwa ngokwezifiso okuvame kakhulu okungaba khona ku-UI ukuze ukulungisele umsebenzi wakho wokumodela:

  • Ungachaza ukuthi yimaphi amaphuzu angukhiye angalebula. Lokhu kuhlanganisa igama lephuzu eliyisihluthulelo nombala walo.
  • Ungashintsha ukwakheka kohlaka lwamathambo (okuyinto amaphuzu angukhiye axhunyiwe).
  • Ungashintsha imibala yomugqa ngemigqa ethile phakathi kwamaphoyinti angukhiye athile.

Konke lokhu kulungiselelwa kwe-UI kuyalungiseka ngokusebenzisa izimpikiswano ezidluliselwe engxenyeni yesixuku-2d-skeleton, okuyingxenye ye-JavaScript esetshenziswe kulokhu. isifanekiso sokuhamba komsebenzi ngokwezifiso. Kulesi sifanekiso, uzothola ukusetshenziswa kwengxenye ye-crowd-2d-skeleton. Inguqulo eyenziwe lula iboniswa kukhodi elandelayo:

<crowd-2d-skeleton
        imgSrc="{{ task.input.image_s3_uri | grant_read_access }}"
        keypointClasses='<keypoint classes>'
        skeletonRig='<skeleton rig definition>'
        skeletonBoundingBox='<skeleton bounding box size>'
        initialValues="{{ task.input.initial_values }}"
>

Esibonelweni sekhodi esandulele, ungabona izici ezilandelayo engxenyeni: imgSrc, keypointClasses, skeletonRig, skeletonBoundingBox, Futhi intialValues. Sichaza injongo yesibaluli ngasinye ezigabeni ezilandelayo, kodwa ukwenza i-UI ngendlela oyifisayo kuqondile njengokushintsha amanani alezi zimfanelo, ukulondoloza isifanekiso, nokusebenzisa kabusha post_deployment_script.py sasisebenzisa ngaphambilini.

imgSrc isibaluli

The imgSrc isibaluli silawula ukuthi yisiphi isithombe okufanele siboniswe ku-UI uma ulebula. Ngokuvamile, isithombe esihlukile sisetshenziswa entweni ngayinye yomugqa we-manifest, ngakho lesi sibaluli sivame ukugcwaliswa ngamandla kusetshenziswa okwakhelwe ngaphakathi. Liquid ulimi lwesifanekiso. Ungabona esibonelweni sekhodi sangaphambilini inani lesibaluli elisethwe kulo {{ task.input.image_s3_uri | grant_read_access }}, okuwukuguquguquka kwesifanekiso se-Liquid okuzothathelwa indawo okwangempela image_s3_uri inani lapho isifanekiso senziwa. Inqubo yokunikezela iqala lapho umsebenzisi evula isithombe sesichasiselo. Le nqubo ithatha into yomugqa efayelini le-manifest yokufaka futhi iyithumele kumsebenzi wesichasiselo sangaphambilini se-Lambda njenge- event.dataObject. Umsebenzi wesichasiselo sangaphambili uthatha ulwazi oludingayo entweni yomugqa bese ubuyisela a taskInput isichazamazwi, esibe sesidluliselwa enjinini yokunikezela ye-Liquid, ezongena esikhundleni sanoma yiziphi izinto eziguquguqukayo ze-Liquid kusifanekiso sakho. Ngokwesibonelo, ake sithi unefayela le-manifest elinomugqa olandelayo:

{"source-ref": "s3://my-bucket/exmaple.jpg", "annotations": []}

Le datha izodluliselwa kumsebenzi wesichasiselo sangaphambili. Ikhodi elandelayo ibonisa ukuthi umsebenzi uwakhipha kanjani amanani entweni yomcimbi:

def lambda_handler(event, context):
    print("Pre-Annotation Lambda Triggered")
    data_object = event["dataObject"]  # this comes directly from the manifest file
    annotations = data_object["annotations"]

    taskInput = {
        "image_s3_uri": data_object["source-ref"],
        "initial_values": json.dumps(annotations)
    }
    return {"taskInput": taskInput, "humanAnnotationRequired": "true"}

Into ebuyiswa emsebenzini kuleli cala izobukeka njengekhodi elandelayo:

{
  "taskInput": {
    "image_s3_uri": "s3://my-bucket/exmaple.jpg",
    "annotations": "[]"
  },
  "humanAnnotationRequired": "true"
}

Idatha ebuyisiwe evela emsebenzini ibe isitholakala enjinini yesifanekiso se-Liquid, ethatha indawo yamanani esifanekiso esifanekiso ngamavelu edatha abuyiswe umsebenzi. Umphumela uzoba into efana nale khodi elandelayo:

<crowd-2d-skeleton
        imgSrc="s3://my-bucket/exmaple.jpg" <-- This was “injected” into template
        keypointClasses='<keypoint classes>'
        skeletonRig='<skeleton rig definition>'
        skeletonBoundingBox='<skeleton bounding box size>'
        initialValues="[]"
>

keypointClasses isibaluli

The keypointClasses isibaluli sichaza ukuthi yimaphi amaphuzu angukhiye azovela ku-UI futhi asetshenziswe izichasiselo. Lesi sibaluli sithatha iyunithi yezinhlamvu ye-JSON equkethe uhlu lwezinto. Into ngayinye imele iphuzu elingukhiye. Into ngayinye yephoyinti elingukhiye kufanele ibe nezinkambu ezilandelayo:

  • id - Inani eliyingqayizivele lokuhlonza lelo phuzu elingukhiye.
  • umbala - Umbala wephuzu eliyisihluthulelo limelelwe njengombala we-HTML hex.
  • ilebula - Igama noma ikilasi lephoyinti elingukhiye.
  • x - Lesi sici sokuzikhethela sidingeka kuphela uma ufuna ukusebenzisa ukusebenza kwe-draw skeleton ku-UI. Inani lalesi sibaluli indawo engu-x yephoyinti elingukhiye elihlobene nebhokisi lokubopha lohlaka lwamathambo. Leli nani ngokuvamile litholwa yi- Ithuluzi le-Skeleton Rig Creator. Uma wenza izichasiselo zephoyinti elingukhiye futhi ungadingi ukudweba uhlaka lwamathambo ngesikhathi esisodwa, ungasetha leli nani libe ngu-0.
  • y – Lesi sibaluli ozikhethela sona siyafana no-x, kodwa kubukhulu obuqondile.

Ukuze uthole olunye ulwazi mayelana keypointClasses isici, bheka i keypointClasses imibhalo.

skeletonRig isibaluli

The skeletonRig izilawuli zezibaluli ukuthi yimaphi amaphoyinti angukhiye okufanele abe nemigqa edwetshiwe phakathi kwawo. Lesi sibaluli sithatha iyunithi yezinhlamvu ye-JSON equkethe uhlu lwamapheya ilebula yephoyinti elingukhiye. Ipheya ngalinye lazisa i-UI ukuthi imaphi amaphuzu angukhiye okufanele adwebe imigqa phakathi kwawo. Ngokwesibonelo, '[["left_ankle","left_knee"],["left_knee","left_hip"]]' yazisa i-UI ukuthi idwebe imigqa phakathi "left_ankle" futhi "left_knee" bese udweba imigqa phakathi "left_knee" futhi "left_hip". Lokhu kungenziwa yi- Ithuluzi le-Skeleton Rig Creator.

skeletonBoundingBox isibaluli

The skeletonBoundingBox Isibaluli siyakhethwa futhi sidingeka kuphela uma ufuna ukusebenzisa ukusebenza kohlaka lwamathambo ku-UI. Umsebenzi wohlaka lwe-draw skeleton yikhono lokuchaza uhlaka lwamathambo wonke ngesenzo esisodwa sesichasiselo. Asifaki lesi sici kulokhu okuthunyelwe. Inani lalesi sici liwubukhulu bebhokisi elibophayo lohlaka lwamathambo. Leli nani ngokuvamile litholwa yi- Ithuluzi le-Skeleton Rig Creator. Uma wenza izichasiselo zephoyinti elingukhiye futhi ungadingi ukudweba uhlaka lwamathambo ngesikhathi esisodwa, ungasetha leli nani ukuthi libe yize. Kunconywa ukusebenzisa ithuluzi le-Skeleton Rig Creator ukuze uthole leli nani.

intialValues ​​isibaluli

The initialValues isibaluli sisetshenziselwa ukugcwalisa i-UI kusengaphambili ngezichasiselo ezitholwe kwenye inqubo (efana nomunye umsebenzi wokulebula noma imodeli yokufunda yomshini). Lokhu kuyasiza uma wenza ukulungisa noma ubuyekeza imisebenzi. Idatha yale nkambu ivamise ukugcwaliswa ngokushintshashintshayo encazelweni efanayo ye imgSrc isici. Imininingwane eyengeziwe ingatholakala ku- amadokhumenti esixuku-2d-skeleton.

Hlanza

Ukuze ugweme ukuthola izindleko ezizayo, kufanele ususe izinto ezisebhakedeni lakho le-S3 futhi ususe isitaki sakho se-AWS CDK. Ungasusa izinto zakho ze-S3 nge-Amazon SageMaker console noma i- I-AWS Command Line Interface (AWS CLI). Ngemva kokuthi ususe zonke izinto ze-S3 ebhakedeni, ungacekela phansi i-AWS CDK ngokusebenzisa ikhodi elandelayo:

cdk destroy

Lokhu kuzosusa izinsiza ozidale ngaphambilini.

Ukubhekelwa

Izinyathelo ezengeziwe zingadingeka ukuze ukhiqize ukugeleza komsebenzi wakho. Nakhu okucatshangelwayo kuye ngephrofayili yenhlangano yakho engcupheni:

  • Ingeza ukufinyelela nokuloga kohlelo lokusebenza
  • Ukwengeza i-firewall yesicelo sewebhu (WAF)
  • Ukulungisa izimvume ze-IAM ukuze ulandele amalungelo amancane

Isiphetho

Kulokhu okuthunyelwe, wabelane ngokubaluleka kokulebula ukusebenza kahle nokunemba kumasethi edatha esilinganiso sesimo sokwakha. Ukusiza ngazo zombili izinto, sibonise ukuthi ungasebenzisa kanjani i-SageMaker Ground Truth ukuze wakhe ukugeleza komsebenzi wokulebula ngokwezifiso ukuze usekele imisebenzi yokulebula esekelwe kuhlaka lwamathambo, okuhloswe ngayo ukuthuthukisa ukusebenza kahle nokunemba phakathi nenqubo yokulebula. Sibonise ukuthi ungayinweba kanjani ngokuqhubekayo ikhodi nezibonelo ezidingweni zokulebula zesilinganiso sokuma ngokwezifiso.

Sikukhuthaza ukuthi usebenzise lesi sixazululo emisebenzini yakho yokulebula futhi uhlanganyele ne-AWS ukuze uthole usizo noma imibuzo ehlobene nokugeleza komsebenzi wokulebula ngokwezifiso.


Mayelana Ababhali

Arthur Putnam unguSayensi Wedatha Yesitaki Esigcwele ku-AWS Professional Services. Ubuchwepheshe buka-Arthur bugxile ekuthuthukiseni nasekuhlanganiseni ubuchwepheshe bangaphambili nabangemuva ezinhlelweni ze-AI. Ngaphandle komsebenzi, u-Arthur uyakujabulela ukuhlola intuthuko yakamuva kwezobuchwepheshe, ukuchitha isikhathi nomndeni wakhe nokujabulela ukuphuma ngaphandle.

UBen Fenker unguSosayensi Wedatha Omkhulu ku-AWS Professional Services futhi uye wasiza amakhasimende akhe futhi athumele izixazululo ze-ML ezimbonini kusukela kwezemidlalo kuye kwezokunakekelwa kwezempilo kuye kwezokukhiqiza. Uneziqu ze-Ph.D. ku-physics evela e-Texas A&M University kanye neminyaka eyi-6 yesipiliyoni somkhakha. U-Ben uthanda i-baseball, ukufunda, nokukhulisa izingane zakhe.

Jarvis Lee unguSayensi weDatha Omkhulu one-AWS Professional Services. Ube ne-AWS iminyaka engaphezu kweyisithupha, esebenza namakhasimende ekufundeni ngomshini nenkinga yokubona ngekhompyutha. Ngaphandle komsebenzi, uthanda ukugibela amabhayisikili.

indawo_img

Latest Intelligence

indawo_img

Xoxa nathi

Sawubona lapho! Ngingakusiza kanjani?