Rekognizing patterns IN TRODUCTION TO AW S BOTO IN P YTH ON - - PowerPoint PPT Presentation

rekognizing patterns
SMART_READER_LITE
LIVE PREVIEW

Rekognizing patterns IN TRODUCTION TO AW S BOTO IN P YTH ON - - PowerPoint PPT Presentation

Rekognizing patterns IN TRODUCTION TO AW S BOTO IN P YTH ON Maksim Pecherskiy Instructor Rekognition INTRODUCTION TO AWS BOTO IN PYTHON So what is Rekognition anyway? Detecting Objects in an image Extracting Text from Images INTRODUCTION


slide-1
SLIDE 1

Rekognizing patterns

IN TRODUCTION TO AW S BOTO IN P YTH ON

Maksim Pecherskiy

Instructor

slide-2
SLIDE 2

INTRODUCTION TO AWS BOTO IN PYTHON

Rekognition

slide-3
SLIDE 3

INTRODUCTION TO AWS BOTO IN PYTHON

So what is Rekognition anyway?

Detecting Objects in an image Extracting Text from Images

slide-4
SLIDE 4

INTRODUCTION TO AWS BOTO IN PYTHON

Why not build our own?

Use Rekognition if: Quick but good Keep code simple Recognize many things Build a model if: Custom requirements Security implications Large volumes

slide-5
SLIDE 5

INTRODUCTION TO AWS BOTO IN PYTHON

I am not a computer vision expert

slide-6
SLIDE 6

INTRODUCTION TO AWS BOTO IN PYTHON

slide-7
SLIDE 7

INTRODUCTION TO AWS BOTO IN PYTHON

slide-8
SLIDE 8

INTRODUCTION TO AWS BOTO IN PYTHON

slide-9
SLIDE 9

INTRODUCTION TO AWS BOTO IN PYTHON

slide-10
SLIDE 10

INTRODUCTION TO AWS BOTO IN PYTHON

Upload an image to S3

Initialize S3 Client

s3 = boto3.client( 's3', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET )

Upload a le

s3.upload_file( Filename='report.jpg', Key='report.jpg', Bucket='datacamp-img')

slide-11
SLIDE 11

INTRODUCTION TO AWS BOTO IN PYTHON

Object detection

INITIATE THE CLIENT

rekog = boto3.client( 'rekognition', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

slide-12
SLIDE 12

INTRODUCTION TO AWS BOTO IN PYTHON

Object detection

DETECT!

response = rekog.detect_labels( Image={'S3Object': { 'Bucket': 'datacamp-img', 'Name': 'report.jpg' }, MaxLabels=10, MinConfidence=95 )

slide-13
SLIDE 13

INTRODUCTION TO AWS BOTO IN PYTHON

slide-14
SLIDE 14

INTRODUCTION TO AWS BOTO IN PYTHON

slide-15
SLIDE 15

INTRODUCTION TO AWS BOTO IN PYTHON

slide-16
SLIDE 16

INTRODUCTION TO AWS BOTO IN PYTHON

slide-17
SLIDE 17

INTRODUCTION TO AWS BOTO IN PYTHON

slide-18
SLIDE 18

INTRODUCTION TO AWS BOTO IN PYTHON

Text detection

PERFORM DETECTION

response = rekog.detect_text( Image={'S3Object': { 'Bucket': 'datacamp-img', 'Name': 'report.jpg' } } )

slide-19
SLIDE 19

INTRODUCTION TO AWS BOTO IN PYTHON

slide-20
SLIDE 20

INTRODUCTION TO AWS BOTO IN PYTHON

slide-21
SLIDE 21

INTRODUCTION TO AWS BOTO IN PYTHON

slide-22
SLIDE 22

INTRODUCTION TO AWS BOTO IN PYTHON

Summary

Detect objects in an image Count instances Learn a new AWS Service

.detect_labels()

Recognize text in an image Word vs line detections When to build our own

.detect_text()

slide-23
SLIDE 23

Let's do some computer vision!

IN TRODUCTION TO AW S BOTO IN P YTH ON

slide-24
SLIDE 24

Comprehending text

IN TRODUCTION TO AW S BOTO IN P YTH ON

Maksim Pecherskiy

Data engineer

slide-25
SLIDE 25

INTRODUCTION TO AWS BOTO IN PYTHON

AWS Translate console

slide-26
SLIDE 26

INTRODUCTION TO AWS BOTO IN PYTHON

Translating text

Initialize client

translate = boto3.client('translate', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

Translate text

response = translate.translate_text( Text='Hello, how are you?', SourceLanguageCode='auto', TargetLanguageCode='es')

slide-27
SLIDE 27

INTRODUCTION TO AWS BOTO IN PYTHON

Translating text

slide-28
SLIDE 28

INTRODUCTION TO AWS BOTO IN PYTHON

Translating text

translated_text = translate.translate_text( Text='Hello, how are you?', SourceLanguageCode='auto', TargetLanguageCode='es')['TranslatedText']

slide-29
SLIDE 29

INTRODUCTION TO AWS BOTO IN PYTHON

Detecting language

Initialize boto3 Comprehend client

comprehend = boto3.client('comprehend', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

Detect dominant language

response = comprehend.detect_dominant_language( Text="Hay basura por todas partes a lo largo de la carretera.")

slide-30
SLIDE 30

INTRODUCTION TO AWS BOTO IN PYTHON

Detecting language

slide-31
SLIDE 31

INTRODUCTION TO AWS BOTO IN PYTHON

Understanding sentiment

slide-32
SLIDE 32

INTRODUCTION TO AWS BOTO IN PYTHON

Understanding sentiment

Detect text sentiment

response = comprehend.detect_sentiment( Text="DataCamp students are amazing.", LanguageCode='en')

slide-33
SLIDE 33

INTRODUCTION TO AWS BOTO IN PYTHON

Understanding sentiment

slide-34
SLIDE 34

INTRODUCTION TO AWS BOTO IN PYTHON

Understanding sentiment

sentiment = comprehend.detect_sentiment( Text='Maksim is amazing.', LanguageCode='en')['Sentiment']

slide-35
SLIDE 35

INTRODUCTION TO AWS BOTO IN PYTHON

Review

Initialize client

translate = boto3.client('translate', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

Translate text

response = translate.translate_text( Text='Hello, how are you?', SourceLanguageCode='auto', TargetLanguageCode='es')

slide-36
SLIDE 36

INTRODUCTION TO AWS BOTO IN PYTHON

Review

Initialize boto3 Comprehend client

comprehend = boto3.client('comprehend', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

Detect dominant language

response = comprehend.detect_dominant_language( Text="Hay basura por todas partes a lo largo de la carretera.")

slide-37
SLIDE 37

INTRODUCTION TO AWS BOTO IN PYTHON

Review

Detect text sentiment

response = comprehend.detect_sentiment( Text="Maksim is amazing.", LanguageCode='en')

slide-38
SLIDE 38

Let's practice!

IN TRODUCTION TO AW S BOTO IN P YTH ON

slide-39
SLIDE 39

Case Study: Scooting Around!

IN TRODUCTION TO AW S BOTO IN P YTH ON

Maksim Pecherskiy

Data Engineer

slide-40
SLIDE 40

INTRODUCTION TO AWS BOTO IN PYTHON

The Quandary

slide-41
SLIDE 41

INTRODUCTION TO AWS BOTO IN PYTHON

The Quandary

slide-42
SLIDE 42

INTRODUCTION TO AWS BOTO IN PYTHON

The Data

service_request_id image lat long public_description 93494 report_113439.jpg 32.723138

  • 117.128237

Hay un scooter electrico en sidewalk 101502 report_134938839.jpg 32.7077658

  • 117.1281408 This scooter helped me

move a mattress! 101520 report_272819.jpg 32.77605567 -117.100004 There is a scooter blocking the sidewalk 101576 report_3722938.jpg 32.68899358 -117.0584723 I tripped on a stupid scooter

slide-43
SLIDE 43

INTRODUCTION TO AWS BOTO IN PYTHON

Final Product

slide-44
SLIDE 44

INTRODUCTION TO AWS BOTO IN PYTHON

Final Product

slide-45
SLIDE 45

INTRODUCTION TO AWS BOTO IN PYTHON

Final Product

slide-46
SLIDE 46

INTRODUCTION TO AWS BOTO IN PYTHON

Final Product

slide-47
SLIDE 47

INTRODUCTION TO AWS BOTO IN PYTHON

Final Product

slide-48
SLIDE 48

INTRODUCTION TO AWS BOTO IN PYTHON

Initialize boto3 service clients.

Initialize rekognition client

rekog = boto3.client('rekognition', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

Initialize comprehend client

comprehend = boto3.client('comprehend', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

slide-49
SLIDE 49

INTRODUCTION TO AWS BOTO IN PYTHON

Initialize boto3 service clients

Initialize translate client

translate = boto3.client('translate', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)

slide-50
SLIDE 50

INTRODUCTION TO AWS BOTO IN PYTHON

Translate all descriptions to English

for index, row in df.iterrows(): desc = df.loc[index, 'public_description'] if desc != '': resp = translate_fake.translate_text( Text=desc, SourceLanguageCode='auto', TargetLanguageCode='en') df.loc[index, 'public_description'] = resp['TranslatedText']

slide-51
SLIDE 51

INTRODUCTION TO AWS BOTO IN PYTHON

Translate all descriptions to English

service_request_id image lat long public_description 93494 report_113439.jpg 32.723138

  • 117.128237

Electric scooter on sidewalk 101502 report_134938839.jpg 32.7077658

  • 117.1281408 This scooter helped me

move a mattress! 101520 report_272819.jpg 32.77605567 -117.100004 There is a scooter blocking the sidewalk 101576 report_3722938.jpg 32.68899358 -117.0584723 I tripped on a stupid scooter

slide-52
SLIDE 52

INTRODUCTION TO AWS BOTO IN PYTHON

Detect text sentiment

for index, row in df.iterrows(): desc = df.loc[index, 'public_description'] if desc != '': resp = comprehend.detect_sentiment( Text=desc, LanguageCode='en') df.loc[index, 'sentiment'] = resp['Sentiment']

slide-53
SLIDE 53

INTRODUCTION TO AWS BOTO IN PYTHON

Detect text sentiment

service_request_id image lat long sentiment public_desc 93494 report_113439.jpg 32.723138

  • 117.128237

NEGATIVE Electric scoo sidewalk 101502 report_134938839.jpg 32.7077658

  • 117.1281408 POSITIVE

This scooter helped me m mattress! 101520 report_272819.jpg 32.77605567 -117.100004 NEGATIVE There is a sc blocking the sidewalk 101576 report 3722938 jpg 32 68899358 -117 0584723 NEGATIVE I tripped on

slide-54
SLIDE 54

INTRODUCTION TO AWS BOTO IN PYTHON

Detect scooter in image

df['img_scooter'] = 0 for index, row in df.iterrows(): image = df.loc[index, 'image'] response = rekog.detect_labels( # Specify the image as an S3Object Image={'S3Object': {'Bucket': 'gid-images', 'Name': image}} ) for label in response['Labels']: if label['Name'] == 'Scooter': df.loc[index, 'img_scooter'] = 1 break

slide-55
SLIDE 55

INTRODUCTION TO AWS BOTO IN PYTHON

Detect scooter in image

service_request_id image img_scooter sentiment lat long 93494 report_113439.jpg 1 NEGATIVE 32.723138

  • 117.128237

101502 report_134938839.jpg 1 POSITIVE 32.7077658

  • 117.1281408

101520 report_272819.jpg NEGATIVE 32.77605567 -117.100004 101576 report 3722938 jpg 1 NEGATIVE 32 68899358 -117 0584723

slide-56
SLIDE 56

INTRODUCTION TO AWS BOTO IN PYTHON

Final count!

Select only rows where there was a scooter image and that have negative sentiment

pickups = df[((df.img_scooter == 1) & (df.sentiment == 'NEGATIVE'))] num_pickups = len(pickups)

332 Scooters!

slide-57
SLIDE 57

Let's practice!

IN TRODUCTION TO AW S BOTO IN P YTH ON

slide-58
SLIDE 58

Wrap up

IN TRODUCTION TO AW S BOTO IN P YTH ON

Maksim Pecherskiy

Data Engineer

slide-59
SLIDE 59

INTRODUCTION TO AWS BOTO IN PYTHON

AWS Services

slide-60
SLIDE 60

INTRODUCTION TO AWS BOTO IN PYTHON

Boto3

s3 = boto3.client('s3', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET) buckets = s3.list_buckets()

slide-61
SLIDE 61

INTRODUCTION TO AWS BOTO IN PYTHON

IAM

slide-62
SLIDE 62

INTRODUCTION TO AWS BOTO IN PYTHON

S3

slide-63
SLIDE 63

INTRODUCTION TO AWS BOTO IN PYTHON

SNS

slide-64
SLIDE 64

INTRODUCTION TO AWS BOTO IN PYTHON

Rekognition

slide-65
SLIDE 65

INTRODUCTION TO AWS BOTO IN PYTHON

AWS Translate

slide-66
SLIDE 66

INTRODUCTION TO AWS BOTO IN PYTHON

Comprehend

slide-67
SLIDE 67

INTRODUCTION TO AWS BOTO IN PYTHON

Use the Docs!

slide-68
SLIDE 68

INTRODUCTION TO AWS BOTO IN PYTHON

Other AWS Services

slide-69
SLIDE 69

INTRODUCTION TO AWS BOTO IN PYTHON

Thank you!

slide-70
SLIDE 70

See you in the clouds!

IN TRODUCTION TO AW S BOTO IN P YTH ON