AWS DeepLens – 딥러닝 실습을 위한 동영상 카메라
개발자에게 평생 학습은 매우 중요합니다. 기술 변화는 빠르게 일어나고 있으며, 그러한 변화에 뒤쳐지지 않으려면 학습은 필수적입니다.과거 오랜 기간 동안 인공 지능은 학문적인 주제였지만, 지금은 실질적인 적용과 실제 배포가 중요한 시대가 되었습니다.
컴퓨터 비전과 딥 러닝을 비롯하여 머신 러닝의 실제 적용 사례를 고려했을 때, 기술적인 성숙 단계에 들어섰으며, 이제 실제 경험을 쌓고 기술을 연마하기 시작할 때라고 말할 수 있습니다. 컴퓨터 비전과 딥 러닝은 모두 최신 기술이고 구상하는 데 시간이 훨씬 덜 걸리지만, IoT와 서버리스 컴퓨팅은 개발의 일부이므로 반드시 고려해야 합니다.
새로운 AWS DeepLens
오늘은 현장에서 사용하는 인터넷 디바이스에서 직접 딥 러닝 모델을 실행하는 새로운 비디오 카메라인 AWS DeepLens에 대해 살펴보고자 합니다. 이를 통해 실전 앱을 구축함과 동시에 AI, IoT 및 서버리스 컴퓨팅에 대한 실제 경험을 쌓을 수 있습니다. AWS DeepLens는 최첨단 하드웨어와 정교한 온보드 소프트웨어를 결합하여 앱에서 AWS Greengrass, AWS Lambda 및 여러 AWS AI와 인프라 서비스를 활용할 수 있게 합니다.
먼저 하드웨어 구성에 대해 많은 노력을 쏟았습니다. 1080P 비디오를 캡처할 수 있는 4메가픽셀 카메라와 함께 2D 마이크, Intel Atom® Processor는 100기가플롭 이상의 컴퓨팅 파워를 제공하며, 온보드 딥 러닝 모델을 통해 1초에 수십 개의 수신 비디오 프레임을 실행할 수 있습니다. DeepLens는 이중 밴드 Wi-Fi, USB 및 마이크로 HDMI 포트를 통해 잘 연결됩니다. 요약하면 사전 훈련을 받은 모델과 코드를 위한 8기가바이트 메모리가 이를 강력하면서도 간단한 디바이스입니다.
소프트웨어를 살펴보면 AWS DeepLens는 Ubuntu 16.04를 실행하며, Greengrass Core(Lambda 런타임, 메시지 관리자 등)가 미리 로드되어 있습니다. 또한 디바이스에 최적화된 MXNet 버전이 있고, TensorFlow 및 Caffe2 등의 기타 프레임워크를 사용할 수도 있습니다. Intel® clDNN 라이브러리는 컴퓨터 비전 및 기타 AI 워크로드를 위한 딥 러닝 프리미티브 세트를 제공하며, Intel Atom® 프로세서의 특수 기능을 활용하여 추론 기능을 가속화합니다.
테스트를 진행 할 수 있는 데이터도 제공합니다. AWS DeepLens에서 실행되는 앱을 구축할 때 이미지 감지 및 인식을 위한 사전 훈련을 받은 모델 세트를 활용할 수 있습니다. 이러한 모델을 통해 고양이와 개, 얼굴, 가정 및 일상에서 사용하는 다양한 물체, 모션과 동작은 물론 심지어 핫도그까지 감지할 수 있습니다. 이러한 모델을 계속 훈련하여 앞으로 점점 더 진화되도록 만들 예정입니다. 다음은 초기 모델 세트입니다.
이러한 모든 하드웨어, 소프트웨어 및 데이터가 한데 모여 AWS DeepLens를 엣지 디바이스 사례로 활용 가능합니다. 현장에서 다양한 외부 행동을 감지하여 온보드 딥 러닝 모델을 통해 수신 비디오와 오디오를 지연 시간이 거의 없이 신속하게 실행할 수 있으며, 보다 컴퓨팅 집약적인 높은 수준의 처리를 위해 클라우드를 활용할 수 있습니다. 예를 들어, DeepLens에서 얼굴 감지를 수행한 후 Amazon Rekognition에서 얼굴 감지를 처리하게 할 수 있습니다.
수많은 샘플 코드(Lambda 함수)를 통해 실제 서비스 환경에서 배포할 수 있습니다. AWS DeepLens는 디바이스별 고유 인증서와 IAM으로 구동되는 AWS 서비스 및 리소스에 대한 세분화된 액세스 제어를 제공하는 강력하고 안전한 디바이스입니다.
사용 절차 1 – 디바이스 등록
여러분이 디바이스를 가지고 있다면 어떻게 사용 가능한지 절차를 알아봅니다. 먼저 DeepLens 콘솔에서 디바이스를 등록을 시작하는 프로세스를 살펴보겠습니다. 콘솔에서 [Register device]를 클릭합니다.
그런 다음 카메라 이름을 입력하고 [Next]를 클릭합니다.
그런 다음 [Download certificate]를 클릭하고 이를 안전한 곳에 저장합니다.
다음으로 필요한 IAM 역할을 만들고(콘솔에서 쉽게 할 수 있음), 적절한 메뉴에서 각 역할을 선택합니다.
이제 DeepLens를 실습할 준비가 됩니다. 랩톱 전원을 켜고 디바이스의 네트워크에 연결한 후, 내장 포털에 액세스하여 프로세스를 완료합니다. 콘솔에서 다음 단계를 간략히 설명합니다.
이때 DeepLens는 완전히 작동하는 엣지 디바이스입니다. 디바이스의 인증서를 통해 AWS에 서명된 안전한 호출을 할 수 있습니다. Greengrass Core가 실행 중이고, 수락할 준비가 되었으며, Lambda 함수를 실행합니다.
DeepLens 프로젝트 생성
모두 연결 및 설정되었으면 첫 번째 프로젝트를 생성할 수 있습니다. [Projects]로 이동하고 [Create new project]를 클릭합니다.
그런 다음 프로젝트 템플릿을 선택하거나 빈 프로젝트로 시작합니다. [cat and dog recognition]을 선택해 보겠습니다. 선택한 후 [Next]를 클릭합니다.
콘솔에서 프로젝트의 이름을 지정하고 사용자 지정할 수 있습니다. 보시다시피 이 프로젝트는 Lambda 함수와 위에서 나열한 사전 훈련을 받은 모델 중 하나를 참조합니다. 기본값이 모두 괜찮으므로 [Create]를 클릭합니다.
이제 카메라에 프로젝트를 배포합니다.
개와 고양이 학습 데이터 처리
이 함수는 카메라에서 실행되고, MQTT 주제에 출력이 게시됩니다. 다음은 cat and dog recognition 함수의 내부 루프에서 발췌한 것입니다(처리 중인 일부 오류 제거).
while doInfer:
# Get a frame from the video stream
ret, frame = awscam.getLastFrame()
numFrames += 1
# Resize frame to fit model input requirement
frameResize = cv2.resize(frame, (224, 224))
# Run model inference on the resized frame
inferOutput = model.doInference(frameResize)
# Publish a message to the cloud for every 100 frames
if numFrames >= 10:
msg = "Infinite inference is running. Sample result of the last frame isn"
# Output inference result of the last frame to cloud
# The awsca module can parse the output from some known models
outputProcessed = model.parseResult(modelType, inferOutput)
# Get top 5 results with highest probiblities
topFive = outputProcessed[modelType][0:2]
msg += "label prob"
for obj in topFive:
msg += "n{} {}".format(outMap[obj["label"]], obj["prob"])
client.publish(topic=iotTopic, payload=msg)
numFrames = 0;
말한 바와 같이 이를 수정하거나 처음부터 시작할 수 있습니다. 보시다시피 매우 손쉽게 시작할 수 있습니다.
여러분이 직접 DeepLens를 사용해 보면 어떤 결과가 나올지 정말 궁금합니다. 자세히 알아보고 집에서 AWS DeepLens를 연습해 보려면 AWS re:Invent에서 16개의 DeepLens 워크숍 중 하나에 꼭 참석하십시오.
사전 주문하기
2018년에 미국에서 처음으로 AWS DeepLens 배송을 시작할 예정입니다. 가격 및 구매 가능 여부에 대해 자세히 알아보거나 사전 주문하려면 DeepLens 페이지를 참조하십시오.
– Jeff;
이 글은 AWS re:Invent 2017 신규 서비스 소식으로 AWS DeepLens – Get Hands-On Experience with Deep Learning With Our New Video Camera의 한국어 번역입니다.
Leave a Reply