Bảo vệ mọi người khỏi các khu vực nguy hiểm thông qua các ranh giới ảo với Computer Vision

Nút nguồn: 807925

Khi các công ty chào đón nhiều robot tự động hơn và các thiết bị hạng nặng khác vào nơi làm việc, chúng tôi cần đảm bảo thiết bị có thể hoạt động an toàn xung quanh đồng đội của con người. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách xây dựng một ranh giới ảo với tầm nhìn máy tính và DeepSens AWS, máy quay video hỗ trợ học sâu AWS được thiết kế cho các nhà phát triển để học máy học (ML). Sử dụng các kỹ thuật máy học trong bài đăng này, bạn có thể xây dựng ranh giới ảo cho các khu vực hạn chế để tự động tắt thiết bị hoặc phát ra âm thanh cảnh báo khi có người đến gần.

Đối với dự án này, bạn sẽ đào tạo một mô hình phát hiện đối tượng tùy chỉnh với Amazon SageMaker và triển khai mô hình tới thiết bị AWS DeepLens. Phát hiện đối tượng là một thuật toán ML lấy một hình ảnh làm đầu vào và xác định các đối tượng và vị trí của chúng trong hình ảnh. Ngoài các giải pháp ranh giới ảo, bạn có thể áp dụng các kỹ thuật đã học trong bài đăng này khi bạn cần phát hiện vị trí của các đối tượng nhất định bên trong hình ảnh hoặc đếm số lần xuất hiện của một đối tượng mong muốn trong hình ảnh, chẳng hạn như đếm các mục trong thùng lưu trữ hoặc trên kệ bán lẻ.

Tổng quan về giải pháp

Hướng dẫn bao gồm các bước sau:

  1. Chuẩn bị tập dữ liệu của bạn để đưa vào thuật toán ML.
  2. Đào tạo người mẫu với Amazon SageMaker.
  3. Thử nghiệm mô hình với các vùng hạn chế tùy chỉnh.
  4. Triển khai giải pháp cho AWS DeepLens.

Chúng tôi cũng thảo luận về các trường hợp sử dụng trong thế giới thực khác mà bạn có thể áp dụng giải pháp này.

Sơ đồ sau minh họa kiến ​​trúc giải pháp.

Điều kiện tiên quyết

Để hoàn thành hướng dẫn này, bạn phải có các điều kiện tiên quyết sau:

Chuẩn bị tập dữ liệu của bạn để đưa vào thuật toán ML

Bài đăng này sử dụng thuật toán ML được gọi là mô hình phát hiện đối tượng để xây dựng giải pháp phát hiện xem một người có ở trong vùng hạn chế tùy chỉnh hay không. Bạn sử dụng công khai có sẵn Bộ dữ liệu phát hiện người đi bộ có sẵn trên Kaggle, có hơn 2,000 hình ảnh. Tập dữ liệu này có nhãn cho các vật thể giống người và giống người (như ma-nơ-canh) để người mẫu được đào tạo có thể phân biệt chính xác hơn giữa người thật và đạo cụ hoặc tượng bằng bìa cứng.

Ví dụ: các hình ảnh sau đây là ví dụ về một công nhân xây dựng bị phát hiện và nếu họ đang ở trong vùng hạn chế tùy chỉnh (đường viền màu đỏ).

Để bắt đầu đào tạo mô hình của bạn, trước tiên hãy tạo một thùng S3 để lưu trữ dữ liệu đào tạo của bạn và đầu ra mô hình. Đối với các dự án AWS DeepLens, tên nhóm S3 phải bắt đầu bằng tiền tố deeplens-. Bạn sử dụng dữ liệu này để đào tạo một mô hình với SageMaker, một dịch vụ được quản lý hoàn toàn cung cấp khả năng xây dựng, đào tạo và triển khai các mô hình ML một cách nhanh chóng.

Đào tạo người mẫu với Amazon SageMaker

Bạn sử dụng sổ ghi chép SageMaker Jupyter làm môi trường phát triển để đào tạo mô hình. Jupyter Notebook là một ứng dụng web mã nguồn mở cho phép bạn tạo và chia sẻ các tài liệu có chứa mã trực tiếp, phương trình, hình ảnh hóa và văn bản tường thuật. Đối với bài đăng này, chúng tôi cung cấp Train_Object_Detection_People_DeepLens.ipynb, một cuốn sổ ghi chép đầy đủ để bạn cùng theo dõi.

Để tạo mô hình phát hiện đối tượng tùy chỉnh, bạn cần sử dụng phiên bản công việc đào tạo hỗ trợ đơn vị xử lý đồ họa (GPU). GPU rất xuất sắc trong việc song song các tính toán cần thiết để đào tạo mạng nơ-ron. Mặc dù bản thân sổ ghi chép là một trường hợp ml.t2.medium duy nhất, công việc đào tạo đặc biệt sử dụng một trường hợp ml.p2.xlarge. Để truy cập phiên bản công việc đào tạo hỗ trợ GPU, bạn phải gửi yêu cầu tăng giới hạn dịch vụ tới Trung tâm hỗ trợ AWS.

Sau khi bạn nhận được sự gia tăng giới hạn của mình, hãy hoàn thành các bước sau để tạo phiên bản sổ ghi chép SageMaker:

  1. Trên bảng điều khiển SageMaker, chọn Trường hợp máy tính xách tay.
  2. Chọn Tạo ví dụ máy tính xách tay.
  3. Trong Tên phiên bản sổ tay, hãy nhập tên cho phiên bản sổ ghi chép của bạn.
  4. Trong Loại phiên bản, chọn t2. trung gian.

Đây là loại phiên bản rẻ nhất mà phiên bản máy tính xách tay hỗ trợ và nó đủ cho hướng dẫn này.

  1. Trong Vai trò IAM, chọn Tạo một vai trò mới.

Đảm bảo điều này Quản lý truy cập và nhận dạng AWS Vai trò (IAM) có quyền truy cập vào nhóm S3 mà bạn đã tạo trước đó (tiền tố deeplens-).

  1. Chọn Tạo ví dụ máy tính xách tay. Phiên bản sổ tay của bạn có thể mất vài phút để khởi động.
  1. Khi trạng thái trên trang phiên bản sổ tay thay đổi thành InService, hãy chọn Mở Jupyter để khởi chạy phiên bản sổ ghi chép Jupyter mới tạo của bạn.
  2. Chọn Tải lên tải lên Train_Object_Detection_people_DeepLens.ipynb tập tin bạn đã tải về trước đó.

  1. Mở sổ ghi chép và làm theo nó cho đến hết.
  2. Nếu bạn được hỏi về cách thiết lập hạt nhân, hãy chọn conda_mxnet_p36.

Sổ ghi chép Jupyter chứa hỗn hợp các ô văn bản và mã. Để chạy một đoạn mã, hãy chọn ô và nhấn Shift + Enter. Trong khi ô đang chạy, một dấu hoa thị xuất hiện bên cạnh ô. Khi ô hoàn tất, một số đầu ra và ô đầu ra mới xuất hiện bên dưới ô ban đầu.

  1. Tải xuống tập dữ liệu từ nhóm S3 công khai vào phiên bản SageMaker cục bộ và giải nén dữ liệu. Điều này có thể được thực hiện bằng cách làm theo mã trong sổ tay:
     !aws s3 cp s3://deeplens-public/samples/pedestriansafety/humandetection_data.zip . !rm -rf humandetection/ !unzip humandetection_data.zip -d humandetection 

  2. Chuyển đổi tập dữ liệu thành một định dạng (Bản ghiIO) có thể được đưa vào thuật toán 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. Chuyển các tệp RecordIO trở lại Amazon S3.

Bây giờ bạn đã hoàn thành tất cả các chuẩn bị dữ liệu, bạn đã sẵn sàng để đào tạo máy dò đối tượng.

Có nhiều loại thuật toán phát hiện đối tượng khác nhau. Đối với bài đăng này, bạn sử dụng Thuật toán phát hiện MultiBox Single-Shot (SSD). Thuật toán SSD có sự cân bằng tốt giữa tốc độ và độ chính xác, lý tưởng để chạy trên các thiết bị tối tân như AWS DeepLens.

Là một phần của công việc đào tạo, bạn có rất nhiều tùy chọn cho các siêu tham số giúp định cấu hình hành vi đào tạo (chẳng hạn như số kỷ nguyên, tốc độ học, loại trình tối ưu hóa và kích thước lô nhỏ). Hyperparameters cho phép bạn điều chỉnh tốc độ đào tạo và độ chính xác của mô hình của bạn. Để biết thêm thông tin về siêu tham số, hãy xem Thuật toán phát hiện đối tượng.

  1. Thiết lập siêu tham số và kênh dữ liệu của bạn. Hãy xem xét sử dụng định nghĩa ví dụ sau về siêu tham số:
     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) 

Máy tính xách tay có một số siêu tham số mặc định đã được chọn trước. Để phát hiện người đi bộ, bạn đào tạo mô hình trong 100 kỷ nguyên. Bước đào tạo này sẽ mất khoảng 2 giờ khi sử dụng một ví dụ ml.p2.xlarge. Bạn có thể thử nghiệm với các kết hợp khác nhau của các siêu tham số hoặc đào tạo thêm các kỷ nguyên để cải thiện hiệu suất. Để biết thông tin về giá mới nhất, hãy xem Amazon SageMaker Giá.

  1. Bạn có thể bắt đầu công việc đào tạo với một dòng mã và theo dõi độ chính xác theo thời gian trên bảng điều khiển SageMaker:
    od_model.fit(inputs=data_channels, logs=True) 

Để biết thêm thông tin về cách hoạt động của đào tạo, hãy xem TạoCông việc Đào tạo. Việc cung cấp và tải xuống dữ liệu mất nhiều thời gian, tùy thuộc vào kích thước của dữ liệu. Do đó, có thể mất vài phút trước khi bạn bắt đầu nhận được nhật ký dữ liệu cho các công việc đào tạo của mình.

Bạn có thể theo dõi tiến trình công việc đào tạo của mình thông qua độ chính xác trung bình trung bình của chỉ số (mAP), cho phép bạn theo dõi chất lượng khả năng phân loại đối tượng của mô hình và phát hiện các hộp giới hạn chính xác. Các bản ghi dữ liệu cũng in ra mAP trên dữ liệu xác thực, trong số các mất mát khác, cho mỗi lần chạy tập dữ liệu, một lần cho một kỷ nguyên. Số liệu này là đại diện cho chất lượng hiệu suất của thuật toán khi phát hiện chính xác lớp và hộp giới hạn chính xác xung quanh nó.

Khi công việc kết thúc, bạn có thể tìm thấy các tệp mô hình được đào tạo trong nhóm S3 và thư mục được chỉ định trước đó trong s3_output_location:

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

Đối với bài đăng này, chúng tôi hiển thị kết quả về xác thực được thiết lập khi hoàn thành kỷ nguyên thứ 10 và kỷ nguyên thứ 100. Vào cuối kỷ nguyên thứ 10, chúng tôi thấy mAP xác thực là khoảng 0.027, trong khi kỷ nguyên thứ 100 là khoảng 0.42.

Để đạt được kết quả phát hiện tốt hơn, bạn có thể thử điều chỉnh các siêu tham số bằng cách sử dụng khả năng được tích hợp trong SageMaker cho điều chỉnh mô hình tự động và đào tạo mô hình cho nhiều kỷ nguyên hơn. Bạn thường ngừng đào tạo khi thấy độ chính xác ngày càng giảm.

Thử nghiệm mô hình với các vùng hạn chế tùy chỉnh

Trước khi triển khai mô hình được đào tạo cho AWS DeepLens, bạn có thể kiểm tra mô hình đó trên đám mây bằng cách sử dụng điểm cuối được lưu trữ trên SageMaker. Điểm cuối của SageMaker là một dịch vụ được quản lý hoàn toàn cho phép bạn đưa ra các suy luận trong thời gian thực thông qua API REST. SageMaker cho phép bạn nhanh chóng triển khai các điểm cuối mới để kiểm tra mô hình của mình, do đó bạn không phải lưu trữ mô hình trên phiên bản cục bộ đã được sử dụng để đào tạo mô hình. Điều này cho phép bạn đưa ra dự đoán (hoặc suy luận) từ mô hình trên các hình ảnh mà thuật toán không nhìn thấy trong quá trình đào tạo.

Bạn không cần phải lưu trữ trên cùng một loại phiên bản mà bạn đã sử dụng để đào tạo. Đào tạo là một công việc kéo dài và nặng về máy tính đòi hỏi một tập hợp các yêu cầu về máy tính và bộ nhớ khác mà lưu trữ thường không có. Bạn có thể chọn bất kỳ loại phiên bản nào bạn muốn để lưu trữ mô hình. Trong trường hợp này, chúng tôi đã chọn phiên bản ml.p3.2xlarge để đào tạo, nhưng chúng tôi chọn lưu trữ mô hình trên phiên bản CPU ít tốn kém hơn, ml.m4.xlarge. Đoạn mã sau đây cho thấy việc triển khai điểm cuối của chúng tôi.

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

Phát hiện trong vùng hạn chế tùy chỉnh (vùng quan tâm)

Định dạng của đầu ra có thể được biểu diễn dưới dạng [class_index, trust_score, xmin, ymin, xmax, ymax]. Các dự đoán có độ tin cậy thấp thường có khả năng dương tính giả hoặc âm tính giả cao hơn, vì vậy bạn có thể nên loại bỏ các dự đoán có độ tin cậy thấp. Bạn có thể sử dụng mã sau để phát hiện xem hộp giới hạn của người đó có trùng lặp với vùng giới hạn hay không.

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 

Theo mặc định, khung hoàn chỉnh được đánh giá về sự hiện diện của con người. Tuy nhiên, bạn có thể dễ dàng chỉ định khu vực quan tâm mà sự hiện diện của một người được coi là có rủi ro cao. Nếu bạn muốn thêm vùng giới hạn tùy chỉnh, hãy thêm tọa độ của các đỉnh của vùng được biểu thị bằng [trục X, trục Y] và tạo đa giác. Các tọa độ phải được nhập theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ. Xem đoạn mã sau:

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

Mã mẫu sau đây hiển thị những người đi bộ được xác định trong khu vực hạn chế:

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)) 

Những hình ảnh sau đây cho thấy kết quả của chúng tôi.

Triển khai giải pháp cho AWS DeepLens

Chuyển đổi mô hình triển khai sang AWS DeepLens

Khi triển khai mô hình SSD do SageMaker đào tạo cho AWS DeepLens, trước tiên bạn phải chạy triển khai.py để chuyển đổi tạo tác mô hình thành một mô hình có thể triển khai:

!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

Nhập mô hình của bạn vào AWS DeepLens

Để chạy mô hình trên thiết bị AWS DeepLens, bạn cần tạo một dự án AWS DeepLens. Bắt đầu bằng cách nhập mô hình của bạn vào AWS DeepLens.

  1. Trên bảng điều khiển AWS DeepLens, bên dưới Thông tin, chọn mô hình.
  2. Chọn Mô hình nhập khẩu.

  1. Trong Nhập nguồn, lựa chọn Người mẫu được đào tạo bên ngoài.
  2. Nhập vị trí Amazon S3 của mô hình vá mà bạn đã lưu khi chạy triển khai deploy.py ở bước trên.
  3. Trong Khung mô hình, chọn MX Net.
  4. Chọn Mô hình nhập khẩu.

Tạo hàm suy luận

Chức năng suy luận cung cấp từng khung máy ảnh vào mô hình để nhận dự đoán và chạy bất kỳ logic nghiệp vụ tùy chỉnh nào bằng cách sử dụng kết quả suy luận. Bạn dùng AWS Lambda để tạo một chức năng mà bạn triển khai cho AWS DeepLens. Hàm chạy cục bộ suy luận trên thiết bị AWS DeepLens.

Đầu tiên, chúng ta cần tạo một hàm Lambda để triển khai tới AWS DeepLens.

  1. Tải về suy luận hàm Lambda.
  2. Trên bảng điều khiển Lambda, chọn Chức năng.
  3. Chọn Tạo chức năng.
  4. Chọn Tác giả từ đầu.
  5. Trong Tên chức năng, nhập tên.
  6. Trong Runtime, chọn Python 3.7.
  7. Trong Chọn hoặc tạo vai trò thực thi, chọn Sử dụng vai trò hiện có.
  8. Chọn service-role / AWSDeepLensLambdaRole.
  9. Chọn Tạo chức năng.

  1. Trên trang chi tiết của chức năng, trên Hoạt động menu, chọn Tải lên tệp .zip.

  1. Tải lên suy luận Lambda tập tin bạn đã tải về trước đó.
  2. Chọn Lưu để lưu mã bạn đã nhập.
  3. trên Hoạt động menu, chọn Xuất bản phiên bản mới.

Việc xuất bản hàm làm cho nó khả dụng trên bảng điều khiển AWS DeepLens để bạn có thể thêm nó vào dự án tùy chỉnh của mình.

  1. Nhập số phiên bản và chọn Xuất bản.

Hiểu hàm suy luận

Phần này sẽ hướng dẫn bạn một số phần quan trọng của hàm suy luận. Trước tiên, bạn nên chú ý đến hai tệp cụ thể:

  • nhãn.txt - Chứa ánh xạ đầu ra từ mạng nơron (số nguyên) tới các nhãn có thể đọc được của con người (chuỗi)
  • lambda_feft.py - Chứa mã cho chức năng đang được gọi để tạo dự đoán trên mọi khung hình camera và gửi lại kết quả

Trong lambda_ functions.py, trước tiên bạn tải và tối ưu hóa mô hình. So với các máy ảo đám mây có GPU, AWS DeepLens có sức mạnh tính toán kém hơn. AWS DeepLens sử dụng trình tối ưu hóa mô hình Intel OpenVino để tối ưu hóa mô hình được đào tạo trong SageMaker để chạy trên phần cứng của nó. Đoạn mã sau tối ưu hóa mô hình của bạn để chạy cục bộ:

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}) 

Sau đó, bạn chạy khung mô hình trên mỗi khung hình trên các hình ảnh từ máy ảnh. Xem đoạn mã sau:

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)) 

Cuối cùng, bạn gửi kết quả dự đoán bằng văn bản trở lại đám mây. Xem kết quả văn bản trên đám mây là một cách thuận tiện để đảm bảo rằng mô hình đang hoạt động chính xác. Mỗi thiết bị AWS DeepLens có một iot_topic chuyên dụng được tạo tự động để nhận kết quả suy luận. Xem đoạn mã sau:

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

Tạo dự án AWS DeepLens tùy chỉnh

Để tạo một dự án AWS DeepLens mới, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển AWS DeepLens, trên Dự án trang, chọn Tạo dự án.
  2. Trong Loại dự án, lựa chọn Tạo một dự án trống mới.
  3. Chọn Sau.

  1. Đặt tên cho dự án của bạn yourname-pedestrian-detector-.
  2. Chọn Thêm mô hình.
  3. Chọn mô hình bạn vừa tạo.
  4. Chọn Thêm chức năng.
  5. Tìm kiếm hàm Lambda mà bạn đã tạo trước đó theo tên.
  6. Chọn Tạo dự án.
  7. trên Dự án , chọn dự án bạn muốn triển khai.
  8. Lựa chọn Triển khai đến thiết bị.
  9. Trong Thiết bị mục tiêu, chọn thiết bị của bạn.
  10. Chọn Đánh giá.
  11. Xem lại cài đặt của bạn và chọn Triển khai.

Quá trình triển khai có thể mất tới 10 phút để hoàn thành, tùy thuộc vào tốc độ mạng mà AWS DeepLens của bạn được kết nối. Khi quá trình triển khai hoàn tất, bạn sẽ thấy biểu ngữ màu xanh lục trên trang với thông báo “Xin chúc mừng, mô hình của bạn hiện đang chạy cục bộ trên AWS DeepLens!”

Để xem đầu ra văn bản, hãy cuộn xuống trên trang chi tiết thiết bị đến Đầu ra dự án phần. Làm theo hướng dẫn trong phần để sao chép chủ đề và chuyển đến Lõi AWS IoT bảng điều khiển để đăng ký chủ đề. Bạn sẽ thấy kết quả như trong ảnh chụp màn hình sau.

Để biết hướng dẫn từng bước về cách xem luồng video hoặc đầu ra văn bản, hãy xem Xem kết quả từ AWS DeepLens.

Các trường hợp sử dụng trong thế giới thực

Bây giờ bạn đã có dự đoán từ mô hình của mình đang chạy trên AWS DeepLens, hãy chuyển những dự đoán đó thành cảnh báo và thông tin chi tiết. Một số cách sử dụng phổ biến nhất cho một dự án như thế này bao gồm:

  • Tìm hiểu có bao nhiêu người vào một ngày nhất định vào khu vực cấm để các công trường xây dựng có thể xác định các điểm cần nhiều biển báo an toàn hơn. Điều này có thể được thực hiện bằng cách thu thập kết quả và sử dụng chúng để tạo trang tổng quan bằng cách sử dụng Amazon QuickSight. Để biết thêm chi tiết về cách tạo trang tổng quan bằng QuickSight, hãy xem Xây dựng trình theo dõi tư thế làm việc tại nhà với AWS DeepLens và GlamonCV.
  • Thu thập đầu ra từ AWS DeepLens và định cấu hình Raspberry Pi để phát âm thanh cảnh báo khi ai đó đang đi vào khu vực hạn chế. Để biết thêm chi tiết về cách kết nối thiết bị AWS DeepLens với thiết bị Raspberry Pi, hãy xem Xây dựng công cụ phân loại rác với AWS DeepLens.

Kết luận

Trong bài đăng này, bạn đã học cách đào tạo mô hình phát hiện đối tượng và triển khai mô hình đó lên AWS DeepLens để phát hiện những người đi vào vùng hạn chế. Bạn có thể sử dụng hướng dẫn này làm tài liệu tham khảo để đào tạo và triển khai các dự án phát hiện đối tượng tùy chỉnh của riêng mình trên AWS DeepLens.

Để biết hướng dẫn chi tiết hơn về hướng dẫn này và các hướng dẫn, mẫu và ý tưởng dự án khác với AWS DeepLens, hãy xem Bí quyết AWS DeepLens.


Về các tác giả

Yash Shah là một nhà khoa học dữ liệu trong Phòng thí nghiệm Giải pháp ML của Amazon, nơi ông làm việc trên một loạt các trường hợp sử dụng máy học từ chăm sóc sức khỏe đến sản xuất và bán lẻ. Anh ấy có kiến ​​thức chính thức về Yếu tố con người và Thống kê, và trước đây là thành viên của nhóm Amazon SCOT thiết kế sản phẩm để hướng dẫn người bán 3P quản lý hàng tồn kho hiệu quả.

Phú Nguyên là Giám đốc sản phẩm của AWS Panorama. Anh ấy xây dựng các sản phẩm cung cấp cho các nhà phát triển ở bất kỳ cấp độ kỹ năng nào một cách dễ dàng, giới thiệu thực hành về học máy.

Nguồn: https://aws.amazon.com/blogs/machine-learning/protecting-people-through-virtual-boundaries-computer-vision/

Dấu thời gian:

Thêm từ Blog Học máy AWS