Trong thị giác máy tính, phân đoạn ngữ nghĩa là nhiệm vụ phân loại mọi pixel trong một hình ảnh với một lớp từ một tập hợp nhãn đã biết sao cho các pixel có cùng nhãn chia sẻ các đặc điểm nhất định. Nó tạo ra một mặt nạ phân đoạn của các hình ảnh đầu vào. Ví dụ: các hình ảnh sau đây hiển thị mặt nạ phân đoạn của cat
nhãn.
Trong tháng mười một 2018, Amazon SageMaker công bố sự ra mắt của thuật toán phân đoạn ngữ nghĩa SageMaker. Với thuật toán này, bạn có thể huấn luyện các mô hình của mình bằng tập dữ liệu công khai hoặc tập dữ liệu của riêng bạn. Tập dữ liệu phân đoạn hình ảnh phổ biến bao gồm tập dữ liệu Đối tượng chung trong ngữ cảnh (COCO) và Lớp đối tượng trực quan PASCAL (PASCAL VOC), nhưng các lớp nhãn của chúng bị giới hạn và bạn có thể muốn đào tạo mô hình trên các đối tượng mục tiêu không được bao gồm trong bộ dữ liệu công khai. Trong trường hợp này, bạn có thể sử dụng Sự thật về mặt đất của Amazon SageMaker để gắn nhãn tập dữ liệu của riêng bạn.
Trong bài đăng này, tôi chứng minh các giải pháp sau:
- Sử dụng Ground Truth để gắn nhãn tập dữ liệu phân đoạn ngữ nghĩa
- Chuyển đổi kết quả từ Ground Truth sang định dạng đầu vào bắt buộc cho thuật toán phân đoạn ngữ nghĩa tích hợp sẵn của SageMaker
- Sử dụng thuật toán phân đoạn ngữ nghĩa để đào tạo mô hình và thực hiện suy luận
Ghi nhãn dữ liệu phân đoạn ngữ nghĩa
Để xây dựng mô hình học máy cho phân đoạn ngữ nghĩa, chúng ta cần gắn nhãn tập dữ liệu ở cấp pixel. Ground Truth cung cấp cho bạn tùy chọn sử dụng các trình chú thích của con người thông qua Amazon Mechanical Turk, nhà cung cấp bên thứ ba, hoặc lực lượng lao động tư nhân của bạn. Để tìm hiểu thêm về lực lượng lao động, hãy tham khảo Tạo và quản lý lực lượng lao động. Nếu bạn không muốn tự mình quản lý lực lượng lao động dán nhãn, Amazon SageMaker Ground Truth Plus là một lựa chọn tuyệt vời khác như một dịch vụ ghi nhãn dữ liệu chìa khóa trao tay mới cho phép bạn tạo bộ dữ liệu đào tạo chất lượng cao một cách nhanh chóng và giảm chi phí lên đến 40%. Đối với bài đăng này, tôi chỉ cho bạn cách gắn nhãn tập dữ liệu theo cách thủ công với tính năng tự động phân đoạn Ground Truth và gắn nhãn nguồn lực cộng đồng với lực lượng lao động Mechanical Turk.
Ghi nhãn thủ công với Ground Truth
Vào tháng 2019 năm XNUMX, Ground Truth đã thêm tính năng tự động phân đoạn vào giao diện người dùng gắn nhãn phân đoạn ngữ nghĩa để tăng thông lượng gắn nhãn và cải thiện độ chính xác. Để biết thêm thông tin, hãy tham khảo Tự động phân đoạn các đối tượng khi thực hiện gắn nhãn phân đoạn ngữ nghĩa với Amazon SageMaker Ground Truth. Với tính năng mới này, bạn có thể đẩy nhanh quá trình gắn nhãn của mình trên các tác vụ phân đoạn. Thay vì vẽ một đa giác vừa khít hoặc sử dụng công cụ cọ vẽ để chụp một đối tượng trong hình ảnh, bạn chỉ vẽ bốn điểm: ở trên cùng, dưới cùng, ngoài cùng bên trái và ngoài cùng bên phải của đối tượng. Ground Truth lấy bốn điểm này làm đầu vào và sử dụng thuật toán Deep Extreme Cut (DEXTR) để tạo ra một mặt nạ vừa khít xung quanh đối tượng. Để có hướng dẫn sử dụng Ground Truth để gắn nhãn phân đoạn ngữ nghĩa hình ảnh, hãy tham khảo Phân đoạn ngữ nghĩa hình ảnh. Sau đây là một ví dụ về cách công cụ phân đoạn tự động tạo mặt nạ phân đoạn tự động sau khi bạn chọn bốn điểm cực trị của một đối tượng.
Dán nhãn nguồn lực cộng đồng với lực lượng lao động Cơ khí Turk
Nếu bạn có một tập dữ liệu lớn và bạn không muốn tự mình gắn nhãn hàng trăm hoặc hàng nghìn hình ảnh theo cách thủ công, bạn có thể sử dụng Mechanical Turk, cung cấp lực lượng lao động theo yêu cầu, có thể mở rộng, để hoàn thành các công việc mà con người có thể làm tốt hơn máy tính. Phần mềm Mechanical Turk chính thức hóa các lời mời làm việc cho hàng nghìn công nhân sẵn sàng làm công việc từng phần một cách thuận tiện cho họ. Phần mềm cũng truy xuất công việc đã thực hiện và biên dịch nó cho bạn, người yêu cầu, người trả tiền cho công nhân để có công việc đạt yêu cầu (chỉ). Để bắt đầu với Mechanical Turk, hãy tham khảo Giới thiệu về Amazon Mechanical Turk.
Tạo công việc ghi nhãn
Sau đây là một ví dụ về công việc gắn nhãn Mechanical Turk cho tập dữ liệu rùa biển. Bộ dữ liệu rùa biển lấy từ cuộc thi Kaggle Nhận diện khuôn mặt rùa biểnvà tôi đã chọn 300 hình ảnh của tập dữ liệu cho mục đích trình diễn. Rùa biển không phải là lớp phổ biến trong các tập dữ liệu công cộng nên nó có thể đại diện cho một tình huống yêu cầu dán nhãn cho một tập dữ liệu lớn.
- Trên bảng điều khiển SageMaker, chọn Công việc gắn nhãn trong khung điều hướng.
- Chọn Tạo công việc dán nhãn.
- Nhập tên cho công việc của bạn.
- Trong Thiết lập dữ liệu đầu vào, lựa chọn Thiết lập dữ liệu tự động.
Điều này tạo ra một bản kê khai dữ liệu đầu vào. - Trong Vị trí S3 cho các tập dữ liệu đầu vào, nhập đường dẫn cho tập dữ liệu.
- Trong Nhiệm vụ, chọn Hình ảnh.
- Trong Lựa chọn công việc, lựa chọn Phân đoạn ngữ nghĩa.
- Trong Các loại công nhân, lựa chọn Amazon Mechanical Turk.
- Định cấu hình cài đặt của bạn cho thời gian chờ tác vụ, thời gian hết hạn tác vụ và giá mỗi tác vụ.
- Thêm nhãn (cho bài đăng này,
sea turtle
), và cung cấp hướng dẫn ghi nhãn. - Chọn Tạo.
Sau khi thiết lập công việc gắn nhãn, bạn có thể kiểm tra tiến trình gắn nhãn trên bảng điều khiển SageMaker. Khi nó được đánh dấu là hoàn thành, bạn có thể chọn công việc để kiểm tra kết quả và sử dụng chúng cho các bước tiếp theo.
Chuyển đổi tập dữ liệu
Sau khi nhận được kết quả từ Ground Truth, bạn có thể sử dụng các thuật toán tích hợp sẵn của SageMaker để đào tạo mô hình trên tập dữ liệu này. Đầu tiên, bạn cần chuẩn bị tập dữ liệu được gắn nhãn làm giao diện đầu vào được yêu cầu cho thuật toán phân đoạn ngữ nghĩa SageMaker.
Các kênh dữ liệu đầu vào được yêu cầu
Phân đoạn ngữ nghĩa SageMaker hy vọng tập dữ liệu đào tạo của bạn sẽ được lưu trữ trên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Tập dữ liệu trong Amazon S3 dự kiến sẽ được trình bày trong hai kênh, một kênh dành cho train
và một cho validation
, sử dụng bốn thư mục, hai cho hình ảnh và hai cho chú thích. Chú thích được mong đợi là hình ảnh PNG không nén. Tập dữ liệu cũng có thể có một bản đồ nhãn mô tả cách các ánh xạ chú thích được thiết lập. Nếu không, thuật toán sử dụng giá trị mặc định. Đối với suy luận, một điểm cuối chấp nhận hình ảnh có image/jpeg
loại nội dung. Sau đây là cấu trúc bắt buộc của các kênh dữ liệu:
Mọi hình ảnh JPG trong thư mục tàu và xác thực có một hình ảnh nhãn PNG tương ứng có cùng tên trong train_annotation
và validation_annotation
các thư mục. Quy ước đặt tên này giúp thuật toán liên kết một nhãn với hình ảnh tương ứng của nó trong quá trình huấn luyện. Tàu, train_annotation
, xác thực và validation_annotation
các kênh là bắt buộc. Các chú thích là hình ảnh PNG một kênh. Định dạng hoạt động miễn là siêu dữ liệu (chế độ) trong hình ảnh giúp thuật toán đọc hình ảnh chú thích thành một số nguyên không dấu 8 bit kênh đơn.
Đầu ra từ công việc ghi nhãn Sự thật Mặt đất
Kết quả đầu ra được tạo từ công việc gắn nhãn Ground Truth có cấu trúc thư mục sau:
Các mặt nạ phân đoạn được lưu trong s3://turtle2022/labelturtles/annotations/consolidated-annotation/output
. Mỗi hình ảnh chú thích là một tệp .png được đặt tên theo chỉ mục của hình ảnh nguồn và thời gian hoàn thành việc gắn nhãn hình ảnh này. Ví dụ: sau đây là hình ảnh nguồn (Image_1.jpg) và mặt nạ phân đoạn của nó được tạo bởi lực lượng lao động Mechanical Turk (0_2022-02-10T17: 41: 04.724225.png). Lưu ý rằng chỉ số của mặt nạ khác với số trong tên ảnh nguồn.
Tệp kê khai đầu ra từ công việc gắn nhãn nằm trong /manifests/output/output.manifest
tập tin. Đó là một tệp JSON và mỗi dòng ghi lại một ánh xạ giữa hình ảnh nguồn và nhãn của nó và siêu dữ liệu khác. Dòng JSON sau ghi lại một ánh xạ giữa hình ảnh nguồn được hiển thị và chú thích của nó:
Hình ảnh nguồn được gọi là Image_1.jpg và tên của chú thích là 0_2022-02-10T17: 41: 04.724225.png. Để chuẩn bị dữ liệu dưới dạng các định dạng kênh dữ liệu yêu cầu của thuật toán phân đoạn ngữ nghĩa SageMaker, chúng ta cần thay đổi tên chú thích để nó có cùng tên với các ảnh JPG nguồn. Và chúng ta cũng cần chia tập dữ liệu thành train
và validation
thư mục cho hình ảnh nguồn và các chú thích.
Chuyển đổi đầu ra từ công việc ghi nhãn Sự thật về mặt đất thành định dạng đầu vào được yêu cầu
Để chuyển đổi đầu ra, hãy hoàn thành các bước sau:
- Tải xuống tất cả các tệp từ công việc gắn nhãn từ Amazon S3 vào một thư mục cục bộ:
- Đọc tệp kê khai và thay đổi tên của chú thích thành các tên giống như các hình ảnh nguồn:
- Tách tập dữ liệu đào tạo và xác thực:
- Tạo một thư mục ở định dạng bắt buộc cho các kênh dữ liệu thuật toán phân đoạn ngữ nghĩa:
- Di chuyển hình ảnh đoàn tàu và xác thực và chú thích của chúng vào các thư mục đã tạo.
- Đối với hình ảnh, hãy sử dụng mã sau:
- Đối với chú thích, hãy sử dụng mã sau:
- Tải lên tập dữ liệu đào tạo và xác thực cũng như tập dữ liệu chú thích của chúng lên Amazon S3:
Đào tạo mô hình phân đoạn ngữ nghĩa của SageMaker
Trong phần này, chúng tôi hướng dẫn các bước để đào tạo mô hình phân đoạn ngữ nghĩa của bạn.
Làm theo sổ tay mẫu và thiết lập kênh dữ liệu
Bạn có thể làm theo hướng dẫn trong Thuật toán Phân đoạn ngữ nghĩa hiện đã có trong Amazon SageMaker để triển khai thuật toán phân đoạn ngữ nghĩa cho tập dữ liệu được gắn nhãn của bạn. Mẫu này máy tính xách tay hiển thị một ví dụ end-to-end giới thiệu thuật toán. Trong sổ tay này, bạn học cách đào tạo và lưu trữ mô hình phân đoạn ngữ nghĩa bằng cách sử dụng mạng tích hợp đầy đủ (FCN) thuật toán sử dụng Bộ dữ liệu Pascal VOC cho tập huấn. Bởi vì tôi không có kế hoạch đào tạo một mô hình từ bộ dữ liệu Pascal VOC, tôi đã bỏ qua Bước 3 (chuẩn bị dữ liệu) trong sổ ghi chép này. Thay vào đó, tôi trực tiếp tạo train_channel
, train_annotation_channe
, validation_channel
và validation_annotation_channel
bằng cách sử dụng các vị trí S3 nơi tôi đã lưu trữ hình ảnh và chú thích của mình:
Điều chỉnh siêu tham số cho tập dữ liệu của riêng bạn trong công cụ ước tính SageMaker
Tôi đã theo dõi sổ ghi chép và tạo một đối tượng ước tính SageMaker (ss_estimator
) để đào tạo thuật toán phân đoạn của tôi. Một điều chúng tôi cần tùy chỉnh cho tập dữ liệu mới là ss_estimator.set_hyperparameters
: chúng ta cần thay đổi num_classes=21
đến num_classes=2
(turtle
và background
), và tôi cũng đã thay đổi epochs=10
đến epochs=30
bởi vì 10 chỉ dành cho mục đích demo. Sau đó, tôi sử dụng phiên bản p3.2xlarge để đào tạo mô hình bằng cách thiết lập instance_type="ml.p3.2xlarge"
. Khóa đào tạo hoàn thành trong 8 phút. Tốt nhất MIOU (Giao điểm trung bình qua Liên minh) là 0.846 đạt được ở kỷ nguyên 11 với pix_acc
(phần trăm pixel trong hình ảnh của bạn được phân loại chính xác) là 0.925, đây là một kết quả khá tốt cho tập dữ liệu nhỏ này.
Kết quả suy luận mô hình
Tôi đã lưu trữ mô hình trên một phiên bản ml.c5.xlarge chi phí thấp:
Cuối cùng, tôi đã chuẩn bị một bộ thử nghiệm gồm 10 hình ảnh con rùa để xem kết quả suy luận của mô hình phân đoạn được đào tạo:
Các hình ảnh sau đây cho thấy kết quả.
Mặt nạ phân đoạn của rùa biển trông chính xác và tôi hài lòng với kết quả này được đào tạo trên tập dữ liệu 300 hình ảnh được gắn nhãn bởi các công nhân của Mechanical Turk. Bạn cũng có thể khám phá các mạng khả dụng khác như mạng phân tích cú pháp kim tự tháp (PSP) or DeepLab-V3 trong sổ tay mẫu với tập dữ liệu của bạn.
Làm sạch
Xóa điểm cuối khi bạn đã hoàn thành việc đó để tránh phát sinh chi phí tiếp tục:
Kết luận
Trong bài đăng này, tôi đã chỉ ra cách tùy chỉnh việc ghi nhãn dữ liệu phân đoạn ngữ nghĩa và đào tạo mô hình bằng cách sử dụng SageMaker. Trước tiên, bạn có thể thiết lập công việc gắn nhãn bằng công cụ tự động phân đoạn hoặc sử dụng lực lượng lao động Cơ khí (cũng như các tùy chọn khác). Nếu bạn có hơn 5,000 đối tượng, bạn cũng có thể sử dụng tính năng ghi nhãn dữ liệu tự động. Sau đó, bạn chuyển đổi các kết quả đầu ra từ công việc gắn nhãn Sự thật Mặt đất của mình sang các định dạng đầu vào bắt buộc cho đào tạo phân đoạn ngữ nghĩa tích hợp sẵn của SageMaker. Sau đó, bạn có thể sử dụng một phiên bản máy tính tăng tốc (chẳng hạn như p2 hoặc p3) để đào tạo mô hình phân đoạn ngữ nghĩa với những điều sau máy tính xách tay và triển khai mô hình đến một phiên bản hiệu quả hơn về chi phí (chẳng hạn như ml.c5.xlarge). Cuối cùng, bạn có thể xem lại kết quả suy luận trên tập dữ liệu thử nghiệm của mình bằng một vài dòng mã.
Bắt đầu với phân đoạn ngữ nghĩa SageMaker ghi nhãn dữ liệu và đào tạo người mẫu với bộ dữ liệu yêu thích của bạn!
Lưu ý
Kara Yang là Nhà khoa học dữ liệu trong Dịch vụ chuyên nghiệp của AWS. Cô ấy đam mê giúp khách hàng đạt được mục tiêu kinh doanh của họ bằng các dịch vụ đám mây AWS. Cô đã giúp các tổ chức xây dựng các giải pháp ML trên nhiều ngành như sản xuất, ô tô, môi trường bền vững và hàng không vũ trụ.
- Coinsmart. Sàn giao dịch Bitcoin và tiền điện tử tốt nhất Châu Âu.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. TRUY CẬP MIỄN PHÍ.
- CryptoHawk. Radar Altcoin. Dùng thử miễn phí.
- Nguồn: https://aws.amazon.com/blogs/machine-learning/semantic-segmentation-data-labeling-and-model-training-using-amazon-sagemaker/
- '
- "
- 000
- 10
- 100
- 11
- 2019
- a
- Giới thiệu
- đẩy nhanh tiến độ
- tăng tốc
- chính xác
- Đạt được
- đạt được
- ngang qua
- thêm
- Không gian vũ trụ
- thuật toán
- thuật toán
- Tất cả
- đàn bà gan dạ
- công bố
- Một
- xung quanh
- Liên kết
- Tự động
- tự động
- ô tô
- có sẵn
- AWS
- lý lịch
- bởi vì
- BEST
- Hơn
- giữa
- xây dựng
- được xây dựng trong
- kinh doanh
- nắm bắt
- trường hợp
- nhất định
- thay đổi
- kênh
- Chọn
- tốt nghiệp lớp XNUMX
- các lớp học
- phân loại
- đám mây
- dịch vụ điện toán đám mây
- mã
- Chung
- cạnh tranh
- hoàn thành
- máy tính
- máy tính
- máy tính
- sự tự tin
- An ủi
- nội dung
- thuận tiện
- Tương ứng
- chi phí-hiệu quả
- Chi phí
- tạo
- tạo ra
- khách hàng
- tùy chỉnh
- dữ liệu
- nhà khoa học dữ liệu
- sâu
- chứng minh
- triển khai
- khác nhau
- trực tiếp
- vẽ
- suốt trong
- mỗi
- cho phép
- Cuối cùng đến cuối
- Điểm cuối
- đăng ký hạng mục thi
- môi trường
- thành lập
- ví dụ
- Trừ
- dự kiến
- kỳ vọng
- khám phá
- cực
- Đối mặt
- Đặc tính
- Tên
- theo
- tiếp theo
- định dạng
- từ
- tạo ra
- Các mục tiêu
- tốt
- màu xám
- tuyệt vời
- vui mừng
- đã giúp
- giúp đỡ
- giúp
- chất lượng cao
- tổ chức
- Độ đáng tin của
- Hướng dẫn
- HTTPS
- Nhân loại
- Con người
- Hàng trăm
- hình ảnh
- hình ảnh
- thực hiện
- nâng cao
- bao gồm
- bao gồm
- Tăng lên
- chỉ số
- các ngành công nghiệp
- thông tin
- đầu vào
- ví dụ
- Giao thức
- ngã tư
- giới thiệu
- IT
- Việc làm
- việc làm
- nổi tiếng
- nhãn
- ghi nhãn
- Nhãn
- lớn
- phóng
- LEARN
- học tập
- Cấp
- Hạn chế
- Dòng
- dòng
- Danh sách
- địa phương
- địa điểm thư viện nào
- . Các địa điểm
- dài
- Xem
- máy
- học máy
- quản lý
- bắt buộc
- thủ công
- sản xuất
- bản đồ
- lập bản đồ
- mặt nạ
- Mặt nạ
- lớn
- cơ khí
- Might
- ML
- kiểu mẫu
- mô hình
- chi tiết
- nhiều
- tên
- đặt tên
- THÔNG TIN
- mạng
- mạng
- tiếp theo
- máy tính xách tay
- con số
- Cung cấp
- Tùy chọn
- Các lựa chọn
- tổ chức
- Nền tảng khác
- riêng
- đam mê
- phần trăm
- biểu diễn
- điểm
- Polygon
- Phổ biến
- Chuẩn bị
- khá
- giá
- riêng
- quá trình
- sản xuất
- chuyên nghiệp
- cho
- cung cấp
- công khai
- mục đích
- Mau
- RE
- hồ sơ
- đại diện
- cần phải
- đòi hỏi
- Kết quả
- xem xét
- tương tự
- khả năng mở rộng
- Nhà khoa học
- SEA
- phân khúc
- chọn
- dịch vụ
- DỊCH VỤ
- định
- thiết lập
- Chia sẻ
- hiển thị
- thể hiện
- Đơn giản
- tình hình
- nhỏ
- So
- Phần mềm
- Giải pháp
- chia
- bắt đầu
- là gắn
- Tính bền vững
- Mục tiêu
- nhiệm vụ
- nhóm
- thử nghiệm
- Sản phẩm
- Nguồn
- điều
- của bên thứ ba
- hàng ngàn
- Thông qua
- thông lượng
- thời gian
- công cụ
- Train
- Hội thảo
- Chuyển đổi
- công đoàn
- sử dụng
- xác nhận
- nhà cung cấp
- tầm nhìn
- CHÚNG TÔI LÀ
- Công việc
- công nhân
- Lực lượng lao động
- công trinh
- trên màn hình