Logo Zephyrnet

Theo dõi bóng đá ở NFL bằng Amazon SageMaker

Ngày:

Khi mùa bóng đá năm 2020 bắt đầu, Amazon Web Services (AWS) đang tiếp tục công việc của mình với Liên đoàn Bóng đá Quốc gia (NFL) về một số sáng kiến ​​thay đổi trò chơi đang diễn ra. Cụ thể, NFL và AWS đang hợp tác để phát triển công nghệ đám mây tiên tiến sử dụng máy học (ML) nhằm hỗ trợ quá trình điều hành thông qua việc phát hiện bóng đá theo thời gian thực. Là bước đầu tiên trong quá trình này, Phòng thí nghiệm Giải pháp Máy học của Amazon đã phát triển một mô hình thị giác máy tính cho thách thức phát hiện bóng đá. Trong bài đăng này, chúng tôi cung cấp các ví dụ chuyên sâu bao gồm các đoạn mã và hình ảnh trực quan để minh họa các thành phần chính của quy trình phát hiện bóng đá, bắt đầu bằng việc gắn nhãn dữ liệu và tiếp theo là đào tạo và triển khai bằng cách sử dụng Amazon SageMakerGluon MXNet của Apache.

Phát hiện bóng đá trong video NFL Broadcast

Video sau đây minh họa việc phát hiện từng khung hình bóng đá.

Theo dõi bóng đá

Kỹ thuật phát hiện đối tượng dựa trên thị giác máy tính sử dụng thuật toán học sâu để dự đoán vị trí của đối tượng trong hình ảnh và video. Ngày nay, tính năng phát hiện đối tượng có nhiều trường hợp sử dụng có giá trị kinh doanh cao và có phạm vi rộng, chẳng hạn như trong công nghệ xe tự lái, trong đó việc phát hiện người đi bộ và phương tiện là hết sức quan trọng trong việc đảm bảo an toàn trên đường. Đối với NFL, công nghệ phát hiện đối tượng như thế này rất quan trọng khi trò chơi tiếp tục phát triển với tốc độ nhanh chóng. Ví dụ: họ có thể sử dụng nhận dạng đối tượng theo thời gian thực để tạo ra các phân tích nâng cao mới về hiệu suất của người chơi và đội, ngoài việc hỗ trợ các quan chức trò chơi trong việc phát hiện bóng. Công nghệ này là một phần trong chuỗi cải tiến lớn hơn trong quan hệ đối tác AWS/NFL.

Các phần sau của bài đăng phác thảo cách chúng tôi sử dụng dữ liệu video phát sóng NFL để huấn luyện các mô hình phát hiện đối tượng có khả năng phân tích hàng nghìn hình ảnh nhằm xác định vị trí và phân loại bóng đá từ các đối tượng nền.

Tạo tập dữ liệu phát hiện đối tượng bằng Amazon SageMaker Ground Truth

Sự thật về mặt đất của Amazon SageMaker là dịch vụ ghi nhãn dữ liệu được quản lý hoàn toàn giúp dễ dàng xây dựng bộ dữ liệu đào tạo có độ chính xác cao cho ML. Với sự trợ giúp của Ground Truth, chúng tôi đã tạo một tập dữ liệu phát hiện đối tượng tùy chỉnh bằng cách chia các phân đoạn phát NFL thành hình ảnh. Nó cung cấp một giao diện người dùng (UI) cho phép chúng tôi nhanh chóng thực hiện công việc dán nhãn hộp giới hạn, trong đó người chú thích con người có thể nhanh chóng vẽ các nhãn hộp giới hạn xung quanh hàng nghìn chuỗi hình ảnh bóng đá được lưu trữ trong một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Ảnh chụp màn hình sau đây minh họa giao diện người dùng phát hiện đối tượng.

Công việc ghi nhãn sẽ tạo ra một tệp kê khai chứa đường dẫn tệp S3 của hình ảnh, tọa độ hộp giới hạn (x, y) và nhãn lớp (đối với trường hợp sử dụng này là bóng đá) cần thiết cho quá trình đào tạo mô hình.

Ảnh chụp màn hình sau đây hiển thị tệp kê khai được cập nhật tự động trong đường dẫn S3.

Ảnh chụp màn hình sau đây hiển thị nội dung của output.manifest tập tin.

Đào tạo tăng tốc với Apache MXNet Gluon và Chế độ tập lệnh Amazon SageMaker

Cách tiếp cận của chúng tôi để phát triển mô hình dựa trên kỹ thuật ML được gọi là học chuyển. Trong đó, chúng tôi sử dụng các mạng thần kinh đã được đào tạo trước đây trên các ứng dụng tương tự với kết quả tốt và tinh chỉnh các mô hình này trên dữ liệu chú thích của chúng tôi. Chúng tôi đã chuyển đổi các chú thích từ công việc ghi nhãn sang Bản ghiIO định dạng để lưu trữ nhỏ gọn và truy cập đĩa nhanh hơn. Mạng lưới thần kinh có xu hướng phù hợp quá mức với dữ liệu huấn luyện, dẫn đến kết quả ngoài mẫu kém. Bộ công cụ MXNet Gluon mà chúng tôi đã thêm vào cung cấp khả năng chuẩn hóa và tăng cường hình ảnh, chẳng hạn như lật và cắt hình ảnh ngẫu nhiên, để giúp giảm tình trạng trang bị quá mức trong quá trình đào tạo.

Amazon SageMaker cung cấp giao diện người dùng đơn giản để huấn luyện các mô hình phát hiện đối tượng không cần mã, cung cấp mô hình được đào tạo trước Single Shot Detector (SSD) với một số cấu hình có thể dùng ngay. Để có kiến ​​trúc tùy chỉnh hơn, chúng tôi sử dụng Chế độ tập lệnh Amazon SageMaker, cho phép bạn sử dụng các thuật toán đào tạo của riêng mình và đào tạo trực tiếp các mô hình trong khi vẫn duy trì giới hạn thân thiện với người dùng của Amazon SageMaker. Chúng ta có thể đào tạo các mô hình lớn hơn, chính xác hơn trực tiếp từ Máy tính xách tay Amazon SageMaker bằng cách kết hợp Chế độ tập lệnh với các mô hình được đào tạo trước như Yolov3 và Faster-RCNN với một số kết hợp mạng đường trục từ Gluon Model Zoo để phát hiện đối tượng. Xem mã sau đây:

import os
import sagemaker
from sagemaker.mxnet import MXNet
from mxnet import gluon
from sagemaker import get_execution_role sagemaker_session = sagemaker.Session() role = get_execution_role() s3_output_path = "s3://<path to bucket where model weights will be saved>/" model_estimator = MXNet( entry_point="train.py", role=role, train_instance_count=1, # value can be more than 1 for multi node training train_instance_type="ml.p3.16xlarge", framework_version="1.6.0", output_path=s3_output_path, py_version="py3", distributions={"parameter_server": {"enabled": True}}, hyperparameters={"epochs": 15},
) m.fit("s3://<bucket path for train and validation record-io files>/")

Thuật toán phát hiện đối tượng: Nền

Trình phát hiện đối tượng thường kết hợp hai thành phần chính: phát hiện đối tượng trong ảnh và hồi quy để ước tính tọa độ hộp giới hạn của đối tượng. Trong quá trình đào tạo, trình phát hiện đối tượng được tối ưu hóa để giảm cả lỗi phát hiện và lỗi bản địa hóa (lỗi dự đoán hộp giới hạn) thông qua chức năng mất.

Các máy dò đối tượng tiên tiến hiện nay chứa các kiến ​​trúc học sâu sử dụng mạng thần kinh tích chập được đào tạo trước (CNN) như VGG-16 hoặc ResNet-50 làm mạng cơ sở để thực hiện trích xuất tính năng phong phú từ hình ảnh đầu vào. SSD dự đoán độ lệch tương đối cho một bộ hộp cố định ở mọi vị trí của bản đồ tính năng tích chập. Theo kinh nghiệm, SSD hoạt động kém hơn các thuật toán phát hiện đối tượng khác trên các vật thể nhỏ như bóng đá. Ngược lại, YOLOv3 sử dụng DarkNet-53 để trích xuất tính năng, kết hợp nhiều bản đồ tính năng lại với nhau để đưa ra dự đoán, giúp cải thiện hiệu suất trên các đối tượng nhỏ hơn.

RCNN nhanh hơn so với cả SSD và YOLOv3 sử dụng mạng thần kinh sâu được chia sẻ bổ sung để dự đoán các đề xuất khu vực của bản đồ tính năng hình ảnh đầu vào, được tổng hợp trong nguồn cấp dữ liệu xuôi dòng trong mô hình để phân loại đối tượng và dự đoán hộp giới hạn. RCNN nhanh hơn về mặt thực nghiệm hoạt động tốt hơn các mạng khác trên các đối tượng nhỏ trong trường hợp sử dụng của chúng tôi. Một yếu tố cần cân nhắc chính ngoài hiệu suất khi chọn bộ phát hiện đối tượng là thời gian suy luận mô hình. SSD và YOLOv3 có xu hướng có thời gian suy luận nhanh được đo bằng khung hình trên giây, đây là yếu tố quan trọng cần cân nhắc đối với các ứng dụng thời gian thực; các mạng lớn hơn như Faster-RCNN có thời gian suy luận chậm hơn.

Tối ưu hóa siêu tham số trên Amazon SageMaker

Số liệu tiêu chuẩn để đánh giá trình phát hiện đối tượng là độ chính xác trung bình trung bình (mAP). mAP dựa trên đường cong thu hồi độ chính xác của mô hình (PR) và cung cấp số liệu có thể được sử dụng trực tiếp trên các mô hình. Bạn có thể tạo đường cong PR bằng cách đặt ngưỡng điểm tin cậy của mô hình ở các mức khác nhau, tạo ra các cặp độ chính xác và thu hồi. Vẽ các cặp này bằng một chút phép nội suy sẽ tạo ra đường cong PR. Độ chính xác trung bình (AP) sau đó được xác định là diện tích dưới đường cong PR này. Tương tự, bạn có thể muốn phát hiện nhiều đối tượng trong một ảnh, chẳng hạn như K > 1 đối tượng: mAP là AP trung bình trên tất cả các lớp K.

Điều chỉnh mô hình tự động trong Amazon SageMaker, còn được gọi là tối ưu hóa siêu tham số, cho phép chúng tôi thử hơn 100 mô hình với các cấu hình tham số duy nhất để đạt được mô hình tốt nhất có thể dựa trên dữ liệu của chúng tôi. Tối ưu hóa siêu tham số sử dụng các chiến lược như tìm kiếm ngẫu nhiên và tìm kiếm Bayesian để giúp điều chỉnh siêu tham số trong thuật toán ML. Xem mã mẫu sau:

from sagemaker.tuner import IntegerParameter, CategoricalParameter, ContinuousParameter
from sagemaker.tuner import HyperparameterTuner hyperparameter_ranges = { "lr": ContinuousParameter(0.001, 0.1), " network": CategoricalParameter(["resnet50_v1b", "resnet101_v1d"])
} ### Objective metric Regex based on print statements in script
objective_metric_name = "Validation: "
metric_definitions = [{"Name": "Validation: ", "Regex": "Validation: ([0-9\.]+)"}] tuner = HyperparameterTuner( model_estimator, objective_metric_name, hyperparameter_ranges, metric_definitions, max_jobs=100, max_parallel_jobs=10,
) tuner.fit("s3://<bucket path for train and validation record-io files>/")

Để thực hiện việc này, chúng tôi đã chỉ định vị trí của dữ liệu và tệp kê khai trên Amazon S3, đồng thời chọn loại phiên bản Amazon SageMaker và thuật toán phát hiện đối tượng để sử dụng (SSD với ResNet50). Sau đó, tính năng tối ưu hóa siêu tham số của Amazon SageMaker đã khởi chạy một số cấu hình của mô hình cơ sở với các cấu hình siêu tham số duy nhất, sử dụng tìm kiếm Bayesian để xác định cấu hình nào đạt được mô hình tốt nhất dựa trên số liệu thử nghiệm đặt trước. Trong trường hợp của chúng tôi, chúng tôi đã tối ưu hóa để đạt được độ chính xác trung bình trung bình (mAP) cao nhất trên dữ liệu thử nghiệm được cung cấp của chúng tôi. Biểu đồ sau đây cho thấy một hình dung của một tập hợp mẫu các công việc tối ưu hóa siêu tham số từ đối tượng điều chỉnh tối ưu hóa siêu tham số.

Triển khai mô hình

Việc triển khai mô hình chỉ cần thêm một vài dòng (phương thức lưu trữ) trong phiên bản sổ ghi chép Amazon SageMaker của chúng tôi. Chúng ta có thể chỉ cần gọi tuner.deploy trên bộ điều chỉnh tối ưu hóa siêu tham số để triển khai mô hình tốt nhất dựa trên số liệu đánh giá đã được đặt cho công việc đào tạo tối ưu hóa siêu tham số. Mã bên dưới minh họa quá trình triển khai bằng chứng khái niệm trên Amazon SageMaker:

predictor = tuner.deploy(initial_instance_count=1, instance_type="ml.m5.xlarge")

Trọng số mô hình cho từng công việc đào tạo được lưu trữ trong Amazon S3. Chúng ta có thể triển khai bất kỳ công việc hoặc mô hình được đào tạo nào của Amazon SageMaker bằng cách chuyển đường dẫn tạo tác mô hình của nó tới đối tượng ước tính Amazon SageMaker. Để làm điều này, chúng tôi đã tham chiếu đến vùng chứa được cấu hình sẵn được tối ưu hóa để thực hiện suy luận và liên kết nó với các trọng số của mô hình. Sau khi cặp vùng chứa mô hình này được tạo trên tài khoản của chúng tôi, chúng tôi có thể định cấu hình điểm cuối với loại phiên bản và số lượng phiên bản mà NFL cần. Xem đoạn mã sau:

from sagemaker.mxnet.model import MXNetModel sagemaker_model = MXNetModel( model_data="s3://<path to training job model file>/model.tar.gz", role=role, py_version="py3", framework_version="1.6.0", entry_point="train.py",
) predictor = sagemaker_model.deploy( initial_instance_count=1, instance_type="ml.m5.xlarge"
)

Suy luận mô hình để phát hiện bóng đá

Trong thời gian chạy, máy khách sẽ gửi yêu cầu đến điểm cuối lưu trữ vùng chứa mô hình trên một Đám mây điện toán đàn hồi Amazon (Amazon EC2) và trả về kết quả đầu ra (suy luận). Trong quá trình sản xuất, việc mở rộng quy mô điểm cuối để suy luận quy mô lớn trên các video phát sóng NFL được đơn giản hóa đáng kể nhờ quy trình này.

Phân tích độ nhạy và lỗi

Khi khám phá các chiến lược để cải thiện hiệu suất mô hình, bạn có thể mở rộng quy mô (sử dụng kiến ​​trúc lớn hơn) hoặc mở rộng quy mô (thu thập nhiều dữ liệu hơn). Sau khi mở rộng quy mô, điều mà chúng ta đã thảo luận trước đó trong quá trình khám phá mô hình, các nhà khoa học dữ liệu thường thu thập dữ liệu bổ sung với hy vọng cải thiện khả năng khái quát hóa mô hình. Đối với trường hợp sử dụng của chúng tôi, chúng tôi đặc biệt nhắm đến việc giảm lỗi bản địa hóa. Để làm điều này, chúng tôi đã tạo một số bộ thử nghiệm giúp chúng tôi hiểu mAP về mặt định lượng và định tính liên quan đến các đặc điểm cụ thể của video đầu vào: độ tắc (cao so với thấp) của quả bóng đá, kích thước hộp giới hạn (nhỏ so với lớn) và tỷ lệ khung hình hiệu ứng (cao so với rộng), góc camera (khu vực cuối so với khu vực bên lề) và độ tương phản (cao so với thấp) giữa quả bóng đá và khu vực nền của nó. Từ đó, chúng tôi hiểu được khía cạnh chất lượng nào của hình ảnh mà mô hình đang gặp khó khăn trong việc dự đoán và những phát hiện này đã giúp chúng tôi thu thập dữ liệu bổ sung một cách có chiến lược để nhắm mục tiêu và cải thiện các lĩnh vực này.

Tổng kết

NFL sử dụng điện toán đám mây để tạo ra những trải nghiệm sáng tạo nhằm giới thiệu những cách bổ sung để người hâm mộ thưởng thức bóng đá đồng thời làm cho trận đấu hiệu quả hơn và có nhịp độ nhanh hơn. Bằng cách kết hợp tính năng phát hiện bóng đá với các công nghệ mới bổ sung, NFL có thể giảm thời gian dừng trận đấu, hỗ trợ điều hành và mang lại thông tin chi tiết theo thời gian thực về những gì đang diễn ra trên sân, dẫn đến kết nối chặt chẽ hơn với trận đấu mà người hâm mộ yêu thích. Trong khi người hâm mộ thích thú với “trò chơi của Mỹ”, họ có thể yên tâm rằng NFL phối hợp với AWS đang sử dụng các công nghệ mới nhất và tốt nhất để làm cho trò chơi trở nên thú vị hơn với phạm vi điểm dữ liệu rộng hơn.

Bạn có thể tìm thấy các ví dụ đầy đủ, toàn diện về cách tạo công việc đào tạo tùy chỉnh, đào tạo các mô hình phát hiện đối tượng tiên tiến, triển khai HPO và triển khai mô hình trên Amazon SageMaker trên kho lưu trữ AWS Labs GitHub. Để tìm hiểu thêm về Phòng thí nghiệm Giải pháp ML, hãy xem Phòng thí nghiệm Giải pháp Máy học của Amazon.


Về các tác giả

Micheal López là Giám đốc Dữ liệu và Phân tích Bóng đá tại Liên đoàn Bóng đá Quốc gia và là Giảng viên về Thống kê và Nghiên cứu tại Đại học Skidmore. Tại Liên đoàn Bóng đá Quốc gia, công việc của anh tập trung vào cách sử dụng dữ liệu để nâng cao và hiểu rõ hơn về trận đấu bóng đá.

Colby khôn ngoan là Nhà khoa học dữ liệu cấp cao và là người quản lý tại Phòng thí nghiệm giải pháp học máy của Amazon, nơi ông làm việc với khách hàng thuộc các ngành dọc khác nhau để đẩy nhanh việc họ sử dụng học máy và dịch vụ đám mây AWS nhằm giải quyết các thách thức kinh doanh của họ.

Divya Bhargavi là Nhà khoa học dữ liệu tại Phòng thí nghiệm giải pháp học máy của Amazon, nơi cô phát triển các mô hình học máy để giải quyết các vấn đề kinh doanh của khách hàng. Gần đây nhất, cô làm việc về các giải pháp Thị giác Máy tính liên quan đến cả phương pháp học tập cổ điển và học sâu cho khách hàng thể thao.

Nguồn: https://aws.amazon.com/blogs/machine-learning/football-tracking-in-the-nfl-with-amazon-sagemaker/

tại chỗ_img

Tin tức mới nhất

tại chỗ_img