Serverless 이미지 인식 시스템 만들기 - 분석 서비스 구축
AWS Rekognition 호출하는 이미지 인식 서비스 추가 이후 이 섹션에서는 간단한 프런트엔드(분석 서비스부터 나머지 시스템)를 구축하는 AI 서비스 배포를 위한 Warm-up을 한다(사실 일전에 선보인적이 있다.).
일전에 AWS 레코그니션(rekognition) 서비스를 이용해서 객체 탐지기라는 애플리케이션을 손쉽게 만든 적이 있다. 이번에 만드는 것도 분석 서비스로 SQS(Simple Queue Service) 큐 메시지에 의해 트리거 되어 S3 버킷에 크롤링되어 있는 이미지들을 분석(word Cloud List) 한 결과를 나타내 준다.
여기서 promise는 콜백을 대체하기 위한 메커니즘으로 자바스크립트에서 많은 개발자들이 선호한다고 한다. 코드를 명확하게 유지하고 이른바 콜백 지옥(callback hell)을 피하는 데 도움이 되기 때문이다.
위의 wordCloudLIst 함수가 이번 서버리스 프레임워크에서 주요한 분석 기능(Analysis-service)으로 함수는 아래와 같이 기능한다.
1) 레이블* 객체(물체 표현 단어와 신뢰도)의 배열을 인수로 받음.
2) 각 레이블 객체 내의 레이블 셋에 대해 반복하여 레이블 출현을 카운팅
3) 카운팅 결과를 단어-카운트 쌍의 배열로 변환해서 2차원 배열을 생성(맨하단 status.json 파일의 wordCloudList 배열)
*각 레이블은 이미지로부터 모델이 인식한 물체를 표현하는 단어와 그에 대한 신뢰도를 표시함.
레코그니션(rekognition)의 이미지 감지 기술을 사용하여 이미지에서 주소 및 우편 번호 감지에 사용한 사례가 있다.
계산되어 결괏값으로 가져온 것을 확인할 수 있다.
- 다음 섹션 구현 서비스
2. 동기 서비스 배포
2.1 프런드 엔드 서비스