Computer Vision으로 가상 경계를 통해 위험 지역으로부터 사람을 보호

소스 노드 : 807925

기업이 더 많은 자율 로봇과 기타 중장비를 작업장에 도입하는 것을 환영함에 따라 장비가 팀원 주변에서 안전하게 작동 할 수 있도록해야합니다. 이 게시물에서는 컴퓨터 비전으로 가상 경계를 구축하는 방법과 AWS 딥렌즈, 개발자가 기계 학습 (ML)을 배울 수 있도록 설계된 AWS 딥 러닝 지원 비디오 카메라입니다. 이 게시물의 기계 학습 기술을 사용하면 장비를 자동으로 종료하거나 사람이 가까이 오면 경고음을 울리는 제한된 영역에 대한 가상 경계를 구축 할 수 있습니다.

이 프로젝트에서는 다음을 사용하여 사용자 지정 개체 감지 모델을 학습합니다. 아마존 세이지 메이커 모델을 AWS DeepLens 디바이스에 배포합니다. 객체 감지는 이미지를 입력으로 받아 이미지 내에서 객체와 위치를 식별하는 ML 알고리즘입니다. 가상 경계 솔루션 외에도 특정 개체가 이미지 내부의 위치를 ​​감지하거나 저장 상자의 항목 수 계산과 같이 이미지에서 원하는 개체의 인스턴스 수를 계산해야하는 경우이 게시물에서 배운 기술을 적용 할 수 있습니다. 소매 선반에.

솔루션 개요

연습에는 다음 단계가 포함됩니다.

  1. ML 알고리즘에 피드 할 데이터 세트를 준비합니다.
  2. Amazon SageMaker로 모델을 훈련시킵니다.
  3. 사용자 지정 제한 구역이있는 테스트 모델.
  4. AWS DeepLens에 솔루션을 배포합니다.

또한이 솔루션을 적용 할 수있는 다른 실제 사용 사례에 대해서도 논의합니다.

다음 다이어그램은 솔루션 아키텍처를 보여줍니다.

사전 조건

이 연습을 완료하려면 다음 전제 조건이 있어야합니다.

ML 알고리즘에 공급할 데이터 세트 준비

이 게시물은 객체 감지 모델이라는 ML 알고리즘을 사용하여 사람이 사용자 지정 제한 구역에 있는지 감지하는 솔루션을 구축합니다. 공개적으로 사용 가능한 보행자 감지 데이터 세트 2,000 개 이상의 이미지가있는 Kaggle에서 사용할 수 있습니다. 이 데이터 세트에는 인간 및 인간과 유사한 물체 (예 : 마네킹)에 대한 레이블이 있으므로 훈련 된 모델이 실제 인간과 판지 소품 또는 조각상을 더 정확하게 구분할 수 있습니다.

예를 들어 다음 이미지는 건설 노동자가 감지되고 사용자 지정 제한 구역 (빨간색 윤곽선)에있는 경우의 예입니다.

모델 학습을 시작하려면 먼저 S3 버킷 생성 훈련 데이터와 모델 출력을 저장합니다. AWS DeepLens 프로젝트의 경우 S3 버킷 이름은 접두사로 시작해야합니다. deeplens-. 이 데이터를 사용하여 ML 모델을 빠르게 구축, 교육 및 배포 할 수있는 기능을 제공하는 완전 관리 형 서비스 인 SageMaker로 모델을 교육합니다.

Amazon SageMaker로 모델 훈련

SageMaker Jupyter 노트북을 개발 환경으로 사용하여 모델을 교육합니다. Jupyter Notebook은 라이브 코드, 방정식, 시각화 및 설명 텍스트가 포함 된 문서를 만들고 공유 할 수있는 오픈 소스 웹 애플리케이션입니다. 이 게시물을 위해 우리는 Train_Object_Detection_People_DeepLens.ipynb, 따라 할 수있는 전체 노트북입니다.

커스텀 객체 감지 모델을 생성하려면 GPU (그래픽 처리 장치) 지원 학습 작업 인스턴스를 사용해야합니다. GPU는 신경망 훈련에 필요한 계산을 병렬화하는 데 탁월합니다. 노트북 자체는 단일 ml.t2.medium 인스턴스이지만 학습 작업은 특히 ml.p2.xlarge 인스턴스를 사용합니다. GPU 지원 학습 작업 인스턴스에 액세스하려면 다음을 수행해야합니다. 서비스 한도 증가 요청 제출 AWS 지원 센터로.

한도 증가를 수신 한 후 다음 단계를 완료하여 SageMaker 노트북 인스턴스를 생성합니다.

  1. SageMaker 콘솔에서 노트북 인스턴스.
  2. 왼쪽 메뉴에서 노트북 인스턴스 생성.
  3. 럭셔리 노트북 인스턴스 이름에서 노트북 인스턴스의 이름을 입력합니다.
  4. 럭셔리 인스턴스 유형선택한다. t2.중간.

이것은 노트북 인스턴스가 지원하는 가장 저렴한 인스턴스 유형이며이 자습서에 충분합니다.

  1. 럭셔리 IAM 역할선택한다. 새 역할 만들기.

이것을 확인하십시오 AWS 자격 증명 및 액세스 관리 (IAM) 역할은 앞서 생성 한 S3 버킷 (접두사 deeplens-).

  1. 왼쪽 메뉴에서 노트북 인스턴스 생성. 노트북 인스턴스를 시작하는 데 몇 분 정도 걸릴 수 있습니다.
  1. 노트북 인스턴스 페이지의 상태가 InService로 변경되면 주피터 열기 새로 생성 된 Jupyter 노트북 인스턴스를 시작합니다.
  2. 왼쪽 메뉴에서 가이드라가 업로드하려면 Train_Object_Detection_people_DeepLens.ipynb 이전에 다운로드 한 파일입니다.

  1. 노트북을 열고 끝까지 따르십시오.
  2. 커널 설정에 대해 묻는 메시지가 표시되면 conda_mxnet_p36.

Jupyter 노트북에는 텍스트와 코드 셀이 혼합되어 있습니다. 코드를 실행하려면 셀을 선택하고 Shift + Enter. 셀이 실행되는 동안 셀 옆에 별표가 나타납니다. 셀이 완료되면 출력 번호와 새 출력 셀이 원래 셀 아래에 나타납니다.

  1. 퍼블릭 S3 버킷에서 로컬 SageMaker 인스턴스로 데이터 세트를 다운로드하고 데이터의 압축을 풉니 다. 노트북의 코드를 따르면됩니다.
     !aws s3 cp s3://deeplens-public/samples/pedestriansafety/humandetection_data.zip . !rm -rf humandetection/ !unzip humandetection_data.zip -d humandetection 

  2. 데이터 세트를 형식 (레코드IO) SageMaker 알고리즘에 입력 할 수 있습니다.
     !python $mxnet_path/tools/im2rec.py --pass-through --pack-label $DATA_PATH/train_mask.lst $DATA_PATH/ !python $mxnet_path/tools/im2rec.py --pass-through --pack-label $DATA_PATH/val_mask.lst $DATA_PATH/ 

  3. RecordIO 파일을 다시 Amazon S3로 전송합니다.

이제 모든 데이터 준비가 완료되었으므로 물체 감지기를 훈련 할 준비가되었습니다.

다양한 유형의 객체 감지 알고리즘이 있습니다. 이 게시물의 경우 Single-Shot MultiBox Detection 알고리즘 (SSD). SSD 알고리즘은 속도와 정확성의 균형이 잘 맞아 AWS DeepLens와 같은 엣지 디바이스에서 실행하는 데 이상적입니다.

훈련 작업의 일부로 훈련 동작을 구성하는 데 도움이되는 하이퍼 파라미터에 대한 많은 옵션이 있습니다 (예 : 에포크 수, 학습률, 최적화 기 유형 및 미니 배치 크기). 하이퍼 파라미터를 사용하면 모델의 훈련 속도와 정확성을 조정할 수 있습니다. 하이퍼 파라미터에 대한 자세한 내용은 물체 감지 알고리즘.

  1. 하이퍼 파라미터 및 데이터 채널을 설정합니다. 다음과 같은 초 매개 변수 정의 예제를 사용해보십시오.
     od_model = sagemaker.estimator.Estimator(training_image, role, train_instance_count=1, train_instance_type='ml.p2.xlarge', train_volume_size = 50, train_max_run = 360000, input_mode= 'File', output_path=s3_output_location, sagemaker_session=sess) od_model.set_hyperparameters(base_network='resnet-50', use_pretrained_model=1, num_classes=2, mini_batch_size=32, epochs=100, learning_rate=0.003, lr_scheduler_step='3,6', lr_scheduler_factor=0.1, optimizer='sgd', momentum=0.9, weight_decay=0.0005, overlap_threshold=0.5, nms_threshold=0.45, image_shape=300, num_training_samples=n_train_samples) 

노트북에는 미리 선택된 몇 가지 기본 하이퍼 파라미터가 있습니다. 보행자 감지를 위해 모델을 100 에포크 동안 훈련합니다. 이 학습 단계는 ml.p2.xlarge 인스턴스 2 개를 사용하여 약 XNUMX 시간이 소요됩니다. 다양한 하이퍼 파라미터 조합을 실험하거나 성능 향상을 위해 더 많은 시대를 위해 훈련 할 수 있습니다. 최신 가격에 대한 자세한 내용은 Amazon SageMaker 요금.

  1. 한 줄의 코드로 훈련 작업을 시작하고 SageMaker 콘솔에서 시간 경과에 따른 정확성을 모니터링 할 수 있습니다.
    od_model.fit(inputs=data_channels, logs=True) 

교육 작동 방식에 대한 자세한 내용은 훈련작업 생성. 데이터 크기에 따라 프로비저닝 및 데이터 다운로드에 시간이 걸립니다. 따라서 학습 작업에 대한 데이터 로그를 가져 오기 시작하는 데 몇 분 정도 걸릴 수 있습니다.

측정 항목 평균 평균 정밀도 (mAP)를 통해 학습 작업의 진행 상황을 모니터링 할 수 있으며,이를 통해 객체를 분류하고 올바른 경계 상자를 감지하는 모델 기능의 품질을 모니터링 할 수 있습니다. 데이터 로그는 또한 다른 손실 중에서도 데이터 세트의 모든 실행에 대해 한 세대에 대해 한 번 검증 데이터에 대한 mAP를 인쇄합니다. 이 측정 항목은 클래스와 그 주위의 정확한 경계 상자를 정확하게 감지 할 때 알고리즘 성능의 품질을 나타내는 프록시입니다.

작업이 완료되면 이전에 지정한 S3 버킷 및 폴더에서 훈련 된 모델 파일을 찾을 수 있습니다. s3_output_location:

s3_output_location = 's3://{}/{}/output'.format(BUCKET, PREFIX)

이 게시물에서는 10 번째 Epoch와 100 번째 Epoch 완료시 검증 세트에 대한 결과를 보여줍니다. 10 번째 epoch가 끝날 무렵 검증 mAP는 약 0.027 인 반면 100 번째 epoch는 약 0.42였습니다.

더 나은 탐지 결과를 얻으려면 SageMaker에 내장 된 기능을 사용하여 하이퍼 파라미터를 조정 해보십시오. 자동 모델 튜닝 더 많은 시대를 위해 모델을 훈련시킵니다. 정확도가 떨어지면 일반적으로 훈련을 중단합니다.

사용자 지정 제한 구역이있는 테스트 모델

훈련 된 모델을 AWS DeepLens에 배포하기 전에 SageMaker 호스팅 엔드 포인트를 사용하여 클라우드에서 테스트 할 수 있습니다. SageMaker 엔드 포인트는 REST API를 통해 실시간 추론을 수행 할 수있는 완전 관리 형 서비스입니다. SageMaker를 사용하면 모델을 테스트하기 위해 새 엔드 포인트를 빠르게 배포 할 수 있으므로 모델을 교육하는 데 사용 된 로컬 인스턴스에서 모델을 호스팅 할 필요가 없습니다. 이를 통해 학습 중에 알고리즘이 보지 못한 이미지에 대한 모델에서 예측 (또는 추론)을 수행 할 수 있습니다.

학습에 사용한 것과 동일한 인스턴스 유형에서 호스팅 할 필요가 없습니다. 훈련은 일반적으로 호스팅하지 않는 다른 컴퓨팅 및 메모리 요구 사항 집합을 필요로하는 장기적이고 컴퓨팅 집약적 인 작업입니다. 모델을 호스팅 할 모든 유형의 인스턴스를 선택할 수 있습니다. 이 경우 훈련 할 ml.p3.2xlarge 인스턴스를 선택했지만 더 저렴한 CPU 인스턴스 인 ml.m4.xlarge에서 모델을 호스팅하도록 선택했습니다. 다음 코드 스 니펫은 엔드 포인트 배포를 보여줍니다.

object_detector = od_model.deploy(initial_instance_count = 1, instance_type = 'ml.m4.xlarge') 

사용자 지정 제한 구역 (관심 지역)에서 감지

출력 형식은 [class_index, Confident_score, xmin, ymin, xmax, ymax]로 표시 할 수 있습니다. 낮은 신뢰도 예측은 종종 위양성 또는 위음성 가능성이 높으므로 신뢰도가 낮은 예측은 삭제해야합니다. 다음 코드를 사용하여 사람의 경계 상자가 제한 구역과 겹치는 지 감지 할 수 있습니다.

def inRestrictedSection(ImShape = None, R1 = None, restricted_region = None, kclass = None, score = None, threshold = None): statement = 'Person Not Detected in Restricted Zone' if (kclass == 1) and (score > threshold): Im1 = np.zeros((ImShape[0],ImShape[1],3), np.int32) cv2.fillPoly(Im1, [R1], 255) Im2 = np.zeros((ImShape[0],ImShape[1],3), np.int32) if restricted_region is None: restricted_region = np.array([[0,ImShape[0]],[ImShape[1],ImShape[0]],[ImShape[1],0], [0,0]], np.int32) cv2.fillPoly(Im2, [restricted_region], 255) Im = Im1 * Im2 if np.sum(np.greater(Im, 0))>0: statement = 'Person Detected in Restricted Zone' else: statement = statement return statement 

기본적으로 전체 프레임은 사람이 있는지 평가됩니다. 그러나 사람의 존재가 높은 위험으로 간주되는 관심 영역을 쉽게 지정할 수 있습니다. 사용자 지정 제한 영역을 추가하려면 [X 축, Y 축]으로 표시되는 영역의 꼭지점 좌표를 추가하고 다각형을 만듭니다. 좌표는 시계 방향 또는 시계 반대 방향으로 입력해야합니다. 다음 코드를 참조하십시오.

restricted_region = None #restricted_region = np.array([[0,200],[100,200],[100,0], [10,10]], np.int32) 

다음 샘플 코드는 제한 구역 내에서 식별되는 보행자를 보여줍니다.

file_name = 'humandetection/test_images/t1_image.jpg' img = cv2.imread(file_name) img =cv2.cvtColor(img,cv2.COLOR_BGR2RGB) thresh = 0.2 height = img.shape[0] width = img.shape[1] colors = dict() with open(file_name, 'rb') as image: f = image.read() b = bytearray(f) ne = open('n.txt','wb') ne.write(b) results = object_detector.predict(b, initial_args={'ContentType': 'image/jpeg'}) detections = json.loads(results) object_categories = ['no-person', 'person'] for det in detections['prediction']: (klass, score, x0, y0, x1, y1) = det if score < thresh: continue cls_id = int(klass) prob = score if cls_id not in colors: colors[cls_id] = (random.random(), random.random(), random.random()) xmin = int(x0 * width) ymin = int(y0 * height) xmax = int(x1 * width) ymax = int(y1 * height) R1 = np.array([[xmin,ymin],[xmax,ymin],[xmax,ymax], [xmin,ymax]], np.int32) cv2.polylines(img,[R1],True, (255,255,0), thickness = 5) cv2.polylines(img,[restricted_region],True, (255,0,0), thickness = 5) plt.imshow(img) print(inRestrictedSection(img.shape,R1 = R1, restricted_region= restricted_region, kclass = cls_id, score = prob, threshold=0.2)) 

다음 이미지는 결과를 보여줍니다.

AWS DeepLens에 솔루션 배포

배포 용 모델을 AWS DeepLens로 변환

SageMaker 교육을받은 SSD 모델을 AWS DeepLens에 배포 할 때 먼저 다음을 실행해야합니다. 배포.py 모델 아티팩트를 배치 가능한 모델로 변환하려면 다음을 수행하십시오.

!rm -rf incubator-mxnet !git clone -b v1.7.x https://github.com/apache/incubator-mxnet MODEL_PATH = od_model.model_data TARGET_PATH ='s3://'+BUCKET+'/'+PREFIX+'/patched/' !rm -rf tmp && mkdir tmp rm -rf tmp && mkdir tmp !aws s3 cp $MODEL_PATH tmp !tar -xzvf tmp/model.tar.gz -C tmp !mv tmp/model_algo_1-0000.params tmp/ssd_resnet50_300-0000.params !mv tmp/model_algo_1-symbol.json tmp/ssd_resnet50_300-symbol.json !python incubator-mxnet/example/ssd/deploy.py --network resnet50 --data-shape 300 --num-class 2 --prefix tmp/ssd_ !tar -cvzf ./patched_model.tar.gz -C tmp ./deploy_ssd_resnet50_300-0000.params ./deploy_ssd_resnet50_300-symbol.json ./hyperparams.json !aws s3 cp patched_model.tar.gz $TARGET_PATH

모델을 AWS DeepLens로 가져 오기

AWS DeepLens 디바이스에서 모델을 실행하려면 AWS DeepLens 프로젝트를 생성해야합니다. 모델을 AWS DeepLens로 가져 오는 것부터 시작하십시오.

  1. AWS DeepLens 콘솔의 자료선택한다. 모델.
  2. 왼쪽 메뉴에서 모델 가져 오기.

  1. 럭셔리 소스 가져 오기, 고르다 외부 학습 모델.
  2. Amazon S3 위치를 입력하십시오. 패치 된 모델 위 단계에서 deploy.py를 실행하여 저장 한 것입니다.
  3. 럭셔리 모델 프레임 워크선택한다. MX 넷.
  4. 왼쪽 메뉴에서 모델 가져 오기.

추론 함수 만들기

추론 기능은 각 카메라 프레임을 모델에 공급하여 예측을 얻고 추론 결과를 사용하여 사용자 지정 비즈니스 논리를 실행합니다. 너는 사용한다 AWS 람다 AWS DeepLens에 배포하는 함수를 생성합니다. 이 함수는 AWS DeepLens 디바이스에서 로컬로 추론을 실행합니다.

먼저 AWS DeepLens에 배포 할 Lambda 함수를 생성해야합니다.

  1. 를 다운로드 추론 Lambda 함수.
  2. Lambda 콘솔에서 기능.
  3. 왼쪽 메뉴에서 기능 만들기.
  4. 선택 처음부터 저자.
  5. 럭셔리 기능 명이름을 입력하십시오.
  6. 럭셔리 런타임선택한다. 파이썬 3.7.
  7. 럭셔리 실행 역할을 선택하거나 작성하십시오.선택한다. 기존 역할 사용.
  8. 왼쪽 메뉴에서 서비스 역할 / AWSDeepLensLambdaRole.
  9. 왼쪽 메뉴에서 기능 만들기.

  1. 함수의 세부 정보 페이지에서 행위 메뉴, 선택 .zip 파일 업로드.

  1. 업로드 추론 Lambda 이전에 다운로드 한 파일입니다.
  2. 왼쪽 메뉴에서 찜하기 입력 한 코드를 저장하십시오.
  3. 행위 메뉴, 선택 새 버전 게시.

함수를 게시하면 사용자 지정 프로젝트에 추가 할 수 있도록 AWS DeepLens 콘솔에서 사용할 수 있습니다.

  1. 버전 번호를 입력하고 게시이다..

추론 기능 이해

이 섹션에서는 추론 기능의 몇 가지 중요한 부분을 안내합니다. 먼저 다음 두 가지 특정 파일에주의해야합니다.

  • 레이블.txt – 신경망 (정수)에서 사람이 읽을 수있는 레이블 (문자열) 로의 출력 매핑 포함
  • 람다_함수.py – 모든 카메라 프레임에서 예측을 생성하고 결과를 다시 보내기 위해 호출되는 함수에 대한 코드를 포함합니다.

lambda_function.py에서 먼저 모델을로드하고 최적화합니다. GPU가있는 클라우드 가상 머신에 비해 AWS DeepLens는 컴퓨팅 성능이 낮습니다. AWS DeepLens는 Intel OpenVino 모델 최적화 프로그램을 사용하여 SageMaker에서 훈련 된 모델을 하드웨어에서 실행되도록 최적화합니다. 다음 코드는 로컬에서 실행되도록 모델을 최적화합니다.

client.publish(topic=iot_topic, payload='Optimizing model...') ret, model_path = mo.optimize('deploy_ssd_resnet50_300', INPUT_W, INPUT_H) # Load the model onto the GPU. client.publish(topic=iot_topic, payload='Loading model...') model = awscam.Model(model_path, {'GPU': 1}) 

그런 다음 카메라의 이미지에 대해 프레임 당 모델을 실행합니다. 다음 코드를 참조하십시오.

while True: # Get a frame from the video stream ret, frame = awscam.getLastFrame() if not ret: raise Exception('Failed to get frame from the stream') # Resize frame to the same size as the training set. frame_resize = cv2.resize(frame, (INPUT_H, INPUT_W)) # Run the images through the inference engine and parse the results using # the parser API, note it is possible to get the output of doInference # and do the parsing manually, but since it is a ssd model, # a simple API is provided. parsed_inference_results = model.parseResult(model_type, model.doInference(frame_resize)) 

마지막으로 텍스트 예측 결과를 클라우드로 다시 보냅니다. 클라우드에서 텍스트 결과를 보는 것은 모델이 올바르게 작동하는지 확인하는 편리한 방법입니다. 각 AWS DeepLens 디바이스에는 추론 결과를 수신하기 위해 자동으로 생성 된 전용 iot_topic이 있습니다. 다음 코드를 참조하십시오.

# Send results to the cloud client.publish(topic=iot_topic, payload=json.dumps(cloud_output)) 

사용자 지정 AWS DeepLens 프로젝트 생성

새 AWS DeepLens 프로젝트를 생성하려면 다음 단계를 완료하십시오.

  1. AWS DeepLens 콘솔에서 프로젝트 페이지에서 선택 프로젝트 만들기.
  2. 럭셔리 프로젝트 유형, 고르다 빈 프로젝트를 새로 만듭니다.
  3. 왼쪽 메뉴에서 다음 보기.

  1. 프로젝트 이름 지정 yourname-pedestrian-detector-.
  2. 왼쪽 메뉴에서 모델 추가.
  3. 방금 생성 한 모델을 선택합니다.
  4. 왼쪽 메뉴에서 기능 추가.
  5. 이전에 생성 한 Lambda 함수를 이름으로 검색합니다.
  6. 왼쪽 메뉴에서 프로젝트 만들기.
  7. 프로젝트 페이지에서 배포 할 프로젝트를 선택합니다.
  8. 선택한 장치에 배포.
  9. 럭셔리 대상 장치, 장치를 선택하십시오.
  10. 왼쪽 메뉴에서 검토.
  11. 설정을 검토하고 배포.

AWS DeepLens가 연결된 네트워크의 속도에 따라 배포를 완료하는 데 최대 10 분이 소요될 수 있습니다. 배포가 완료되면 페이지에 "축하합니다. 모델이 이제 AWS DeepLens에서 로컬로 실행 중입니다!"라는 메시지와 함께 녹색 배너가 표시됩니다.

텍스트 출력을 보려면 장치 세부 사항 페이지에서 아래로 스크롤하여 프로젝트 출력 부분. 섹션의 지침에 따라 주제를 복사하고 AWS IoT 코어 콘솔에서 주제를 구독하십시오. 다음 스크린 샷과 같은 결과가 표시되어야합니다.

비디오 스트림 또는 텍스트 출력보기에 대한 단계별 지침은 AWS DeepLens에서 결과보기.

실제 사용 사례

이제 AWS DeepLens에서 실행되는 모델의 예측이 있으므로 이러한 예측을 경고 및 통찰력으로 변환 해 보겠습니다. 이와 같은 프로젝트의 가장 일반적인 용도는 다음과 같습니다.

  • 지정된 날에 얼마나 많은 사람이 제한 구역에 들어 갔는지 파악하여 건설 현장에서 더 많은 안전 표지가 필요한 지점을 식별 할 수 있습니다. 이는 결과를 수집하고이를 사용하여 대시 보드를 만드는 방법으로 수행 할 수 있습니다. 아마존 퀵 사이트. QuickSight를 사용하여 대시 보드를 만드는 방법에 대한 자세한 내용은 AWS DeepLens 및 GluonCV를 사용하여 재택 근무 자세 추적기 구축.
  • AWS DeepLens에서 출력을 수집하고 누군가가 제한된 영역에 들어갈 때 경고음을 울리도록 Raspberry Pi를 구성합니다. AWS DeepLens 디바이스를 Raspberry Pi 디바이스에 연결하는 방법에 대한 자세한 내용은 AWS DeepLens로 쓰레기 분류기 구축.

결론

이 게시물에서는 객체 감지 모델을 교육하고이를 AWS DeepLens에 배포하여 제한된 영역에 들어오는 사람을 감지하는 방법을 배웠습니다. 이 자습서를 참조하여 AWS DeepLens에서 사용자 지정 객체 감지 프로젝트를 교육하고 배포 할 수 있습니다.

이 자습서와 AWS DeepLens의 기타 자습서, 샘플 및 프로젝트 아이디어에 대한 자세한 내용은 다음을 참조하십시오. AWS DeepLens 레시피.


저자에 관하여

야쉬 샤 Amazon ML Solutions Lab의 데이터 과학자로, 의료에서 ​​제조 및 소매에 이르기까지 다양한 기계 학습 사용 사례를 연구하고 있습니다. 그는 인적 요소 및 통계에 대한 공식적인 배경을 가지고 있으며 이전에는 효율적인 재고 관리로 3P 판매자를 안내하는 제품을 설계하는 Amazon SCOT 팀의 일원이었습니다.

푸 응 우옌 AWS Panorama의 제품 관리자입니다. 그는 모든 기술 수준의 개발자에게 기계 학습에 대한 손쉬운 실습 소개를 제공하는 제품을 만듭니다.

출처 : https://aws.amazon.com/blogs/machine-learning/protecting-people-through-virtual-boundaries-computer-vision/

타임 스탬프 :

더보기 AWS 머신 러닝 블로그