Amazon Rekognition은 단 몇 장의 이미지만으로 모델을 직접 훈련할 수 있는 딥 러닝 이미지 분석 서비스입니다.

와 더불어 Mendix 커넥터, 앱에서 설정하기가 매우 쉽습니다. 얼굴 인식에서 사용자 정의 레이블 만들기까지, 이미지에서 원하는 것을 감지하도록 훈련할 수 있습니다.
그래서 당연히 저는 일상생활에 매우 실용적이고 유용한 것을 생각해냈습니다. 이미지에서 다양한 종류의 개 품종을 감지하는 앱을 만든 것입니다. 이는 제 개 빈에서 영감을 받았는데, 빈은 끊임없이 "이 개는 어떤 종류일까?"라는 질문을 받습니다. 여러분이 "이 개는 어떤 종류일까?"라고 스스로에게 물어본 적이 있다면, 이제 그에 대한 앱이 생겼습니다!
농담은 제쳐두고, 저는 Rekognition 모델을 훈련하여 원하는 것을 무엇이든 감지하는 것이 얼마나 쉬운지 보여주는 것을 만들고 싶었고, 이를 통해 다양한 종류의 개를 감지하는 것이 재밌는 예처럼 보였습니다.
시작하기 전에
이 블로그에서는 제가 마지막 글에서 언급한 세션 기반 자격 증명을 사용할 것입니다. 아직 읽거나 보지 않으셨다면 아래 링크를 클릭하여 돌아가서 지금 바로 보세요. 오늘은 지난번에 한 것을 계속해서 구축할 것입니다.
S3 버킷 설정
Rekognition 프로젝트를 만드는 첫 번째 단계는 모델을 학습시킬 데이터 세트를 만드는 것입니다. 즉, Amazon S3 버킷을 만들어야 하며, 그 후에 이미지를 업로드하여 모델을 학습시킬 수 있습니다. S3 버킷을 만들려면 다음 단계를 따르세요.
- AWS Management Console에 로그인하고 Amazon S3 콘솔. 그럼 우리는 선택할 것입니다 버킷 만들기.
- 버킷의 이름을 입력하세요. 저는 "HelloRekognition"이라고 이름을 지을 겁니다.
- 지역에서 버킷을 저장할 AWS 지역을 선택합니다.
- 지연 시간과 비용을 최소화하고 규제 요구 사항을 충족하려면 가까운 지역을 선택하세요.
- 나머지는 기본값으로 두고 아래로 스크롤하면 클릭할 수 있습니다. 버킷 만들기 버튼을 클릭합니다.
5 버킷에 사진을 업로드하지만, 먼저 폴더 구조가 있고 폴더 이름이 올바른지 확인하세요. 이러한 폴더 이름은 Amazon Rekognition이 반환하는 태그를 만드는 데 사용됩니다.

제 사진을 살펴보면 모든 하위 폴더가 부모 폴더 안에 있고, 각 하위 폴더는 개 품종의 이름을 따서 명명되었습니다. 모델이 훈련되면 Amazon Rekognition이 이 폴더 이름을 레이블로 반환하고, 1~100 사이의 확실성 점수도 함께 반환합니다.
https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/im-metrics-use.html
Amazon Rekognition 모델 생성
다음으로, Amazon Rekognition 모델을 만들고 훈련해야 합니다. 이것은 매우 간단한 단계입니다.
- 지역에서 Amazon Rekognition을 사용한 적이 없다면 S3 버킷을 만들라는 메시지가 표시됩니다. 이것은 방금 만든 버킷과 별개입니다. 프로젝트에 필요한 정보만 저장합니다.
- S3 버킷 생성 계속합니다.
- 다음으로, 우리는 프로젝트를 만들어야 하며, 이를 위해 사용자 정의 레이블을 사용할 것입니다. 사용자 정의 레이블 페이지에서 "시작하기"를 클릭할 수 있습니다.
- 왼쪽 메뉴에서 프로젝트 만들기.
- 프로젝트 이름에 프로젝트 이름을 입력하세요. 저는 내 이름을 이렇게 부르겠습니다. 안녕하세요AWS. 선택 프로젝트 만들기 여기서 마무리를 하세요.
- 새로 만든 프로젝트에 대한 데이터 세트를 만들어야 하며, 여기서는 우리가 만들어서 사진을 업로드한 S3 버킷을 제공해야 합니다.
- 왼쪽 메뉴에서 데이터 세트 만들기.
- 왼쪽 메뉴에서 단일 데이터 세트로 시작
- Amazon S3 버킷에서 이미지 가져오기를 선택합니다.
- S3 URI에 Amazon S3 버킷 위치와 폴더 경로를 입력합니다. 우리는 부모 폴더의 경로를 원합니다.
- 다음으로, 폴더를 기준으로 이미지에 자동으로 라벨을 첨부하도록 선택할 수 있습니다.
- 왼쪽 메뉴에서 데이터 세트 만들기. 이제 프로젝트의 데이터 세트 페이지가 열릴 것입니다.
s3 버킷 정책 수정
아래로 스크롤하여 제공된 정책을 복사합니다. 새 탭에서 S3 콘솔을 열고 이미지가 있는 버킷을 선택합니다.
에 권한 탭 아래로 스크롤 버킷 정책 및 클릭 편집 정책을 붙여넣습니다.
버킷 제한 사항을 붙여넣은 후에는 앞에 있는 공백을 모두 삭제해야 합니다.
교장을 변경하세요 레코그니션.아마존AWS.com 다음의 각 인스턴스에서 생성된 역할의 ARN에 대한 서비스:
"Principal": {
"Service" : "rekognition.amazonaws.com"
}
과
"Principal": {
"AWS" : "arn:aws:iam::"
}
모든 발생 항목을 대체하는 것이 정말 중요합니다. 대체해야 할 항목이 4개나 됩니다.
변경 사항을 저장 정책 업데이트를 저장합니다.
Amazon Rekognition 구성으로 돌아가서 클릭하세요. 데이터 세트 생성 Amazon Rekognition 콘솔에서. 이미지 수에 따라 데이터 세트를 만드는 데 몇 분이 걸릴 수 있습니다.
마지막으로 데이터세트가 생성되면 데이터세트를 열어서 모델을 학습시켜야 합니다. 데이터세트의 크기에 따라 이 작업에는 약간의 시간이 걸릴 수 있습니다.
우리가 해야 할 마지막 일은 다음과 같습니다. 모델을 시작하다즉, 실제로 모델을 켜서 사용할 수 있게 된다는 뜻입니다.
https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/rm-start.html
설정하기 Mendix 앱
Studio Pro에서 Marketplace 패널을 열고 "Rekognition"을 검색할 수 있습니다.
Amazon Rekognition에 대한 내 페이지에는 이미지 업로더 위젯을 사용하여 사진을 업로드할 수 있는 간단한 인터페이스 설정이 있습니다. 또한 사용자 지정 마이크로플로를 통해 Amazon Rekognition을 호출하는 마이크로플로 버튼도 있습니다.
도구 상자에서 직접 Detect Custom Labels를 사용하려면 도구 상자에서 Amazon Rekognition 액션 detect custom labels를 끌어온 다음 나머지 매개변수를 구성하면 됩니다. 저는 데이터를 저장하고 Amazon Rekognition 이미지에 연결하여 페이지에 레이블을 표시할 수 있도록 간단한 루프를 만들었습니다.

아래 스크린샷에서처럼, 필요한 모든 매개변수를 제공하여 작업을 설정하는 것을 잊지 마세요.

Amazon Rekognition 상수 구성
Amazon Rekognition Connector 설정을 완료하려면 모듈에 상수를 설정하기만 하면 되고, AWS 프로젝트에서 ARNS를 복사하여 이를 수행합니다. 파일 상수와 세션 자격 증명을 살펴보면 Amazon Rekognition connector에 채워야 하는 모든 상수를 찾을 수 있습니다.

이러한 상수는 세션 자격 증명 가져오기 작업을 위한 것이지만, 원한다면 정적 자격 증명 가져오기 작업도 사용할 수 있는 폴더도 있습니다. 그런 경우 정적 아래의 상수가 구성되었는지 확인해야 합니다. 정적 자격 증명을 사용할 수 있지만, 선호되는 인증 방법은 세션 기반 자격 증명입니다.
여기서 모든 구성을 마치면 커넥터는 기본적으로 앱에서 원하는 곳으로 드래그 앤 드롭하기만 하면 됩니다.
저는 마이크로플로우 "POST_v1_DetectCustomLabels" 내부에 있는 작은 변경을 하나 해야 했습니다. 요청에 추가 헤더 "X-amz-security-token"을 추가했고, 이것은 자격 증명 엔터티에 연결된 세션 토큰을 값으로 사용합니다.

Amazon Rekognition 호출
모든 것이 완료되었습니다. 여기까지 잘 따라오셨다면 앱을 실행하여 테스트해 보실 수 있습니다!
제가 테스트하는 모습을 보고 싶으시다면 비디오를 보고 # 비디오 타임스탬프 #로 건너뛰세요.
제 앱에 대한 아이디어가 약간 어리석다는 건 알지만, 제가 정말 보여드리고 싶었던 건 정말 작은 데이터 세트를 사용하여 Amazon Rekognition을 훈련시켜 원하는 거의 모든 것을 감지할 수 있다는 것입니다. 사진에서 퍼그를 식별하도록 훈련시킬 수 있다면 검사 앱이나 이미지 처리 애플리케이션을 만드는 게 얼마나 쉬운지 상상해보세요.
어느 지점에서든 막히면 AWS 워크숍으로 이동하여 코스를 수강하세요. AWS에서 로우코드 애플리케이션 개발 Mendix. 방금 한 모든 내용을 훨씬 더 자세히 다룹니다. 또한, 커넥터에 대한 또 다른 훌륭한 분석과 사용 방법을 보려면 문서 페이지로 이동하세요.