Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Phát hiện các sự kiện âm thanh với Amazon Rekognition

Khi hầu hết mọi người nghĩ đến việc sử dụng máy học (ML) với dữ liệu âm thanh, trường hợp sử dụng thường nghĩ đến là phiên mã, còn được gọi là chuyển lời nói thành văn bản. Tuy nhiên, có những ứng dụng hữu ích khác, bao gồm cả việc sử dụng ML để phát hiện âm thanh.

Sử dụng phần mềm để phát hiện âm thanh được gọi là phát hiện sự kiện âm thanh, và nó có một số ứng dụng. Ví dụ: giả sử bạn muốn theo dõi âm thanh từ sàn nhà máy ồn ào, nghe tiếng chuông cảnh báo cho biết máy móc có vấn đề. Trong môi trường chăm sóc sức khỏe, bạn có thể sử dụng tính năng phát hiện sự kiện âm thanh để lắng nghe thụ động âm thanh từ bệnh nhân cho thấy có vấn đề sức khỏe cấp tính. Khối lượng công việc truyền thông rất phù hợp cho kỹ thuật này, chẳng hạn như để phát hiện khi nào trọng tài thổi còi trong video thể thao. Và tất nhiên, bạn có thể sử dụng kỹ thuật này trong nhiều khối lượng công việc giám sát khác nhau, chẳng hạn như nghe tiếng súng hoặc âm thanh tai nạn ô tô từ micrô gắn trên đường phố.

Bài đăng này mô tả cách phát hiện âm thanh trong tệp âm thanh ngay cả khi có âm thanh nền quan trọng xảy ra đồng thời. Hơn nữa, có lẽ đáng ngạc nhiên là chúng tôi sử dụng các kỹ thuật dựa trên thị giác máy tính để phát hiện, sử dụng Nhận thức lại Amazon.

Sử dụng dữ liệu âm thanh với máy học

Bước đầu tiên trong việc phát hiện các sự kiện âm thanh là hiểu cách dữ liệu âm thanh được biểu diễn. Vì mục đích của bài đăng này, chúng tôi chỉ xử lý âm thanh được ghi lại, mặc dù các kỹ thuật này hoạt động với âm thanh phát trực tuyến.

Âm thanh đã ghi thường được lưu trữ dưới dạng một chuỗi các mẫu âm thanh, đo cường độ của sóng âm thanh đập vào micrô trong quá trình ghi âm, theo thời gian. Có rất nhiều định dạng để lưu trữ các mẫu này, nhưng cách tiếp cận phổ biến là lưu trữ 10,000, 20,000 hoặc thậm chí 40,000 mẫu mỗi giây, với mỗi mẫu là một số nguyên từ 0–65535 (hai byte). Bởi vì mỗi mẫu chỉ đo cường độ của sóng âm tại một thời điểm cụ thể, dữ liệu âm thanh nói chung không hữu ích cho các quy trình ML vì nó không có bất kỳ tính năng hữu ích nào ở trạng thái thô.

Để làm cho dữ liệu đó trở nên hữu ích, mẫu âm thanh được chuyển đổi thành một hình ảnh được gọi là quang phổ, là phần biểu diễn dữ liệu âm thanh cho biết cường độ của các dải tần số khác nhau theo thời gian. Hình ảnh sau đây cho thấy một ví dụ.

Trục X của hình ảnh này đại diện cho thời gian, có nghĩa là cạnh trái của hình ảnh là điểm bắt đầu của âm thanh và cạnh phải của hình ảnh là kết thúc. Mỗi cột dữ liệu trong hình ảnh đại diện cho các dải tần số khác nhau (được biểu thị bằng tỷ lệ ở bên trái của hình ảnh) và màu sắc tại mỗi điểm thể hiện cường độ của tần số đó tại thời điểm đó.

Có thể thay đổi tỷ lệ theo chiều dọc cho các biểu đồ quang phổ thành các biểu diễn khác. Ví dụ: chia tỷ lệ tuyến tính có nghĩa là trục Y được chia đều cho các tần số, chia tỷ lệ logarit sử dụng thang đo log, v.v. Vấn đề với việc sử dụng các biểu diễn này là các tần số trong tệp âm thanh thường không được phân bổ đồng đều, vì vậy hầu hết thông tin chúng ta có thể quan tâm cuối cùng sẽ được gom lại ở gần cuối hình ảnh (các tần số thấp hơn).

Để giải quyết vấn đề đó, hình ảnh mẫu của chúng tôi là một ví dụ về Quang phổ Mel, được chia tỷ lệ để gần đúng với cách con người cảm nhận âm thanh. Lưu ý các chỉ báo tần số dọc theo bên trái của hình ảnh — chúng cho ta ý tưởng về cách chúng được phân bổ theo chiều dọc và rõ ràng đó là một thang đo phi tuyến tính.

Ngoài ra, chúng tôi có thể sửa đổi phép đo cường độ theo tần số theo thời gian để nâng cao các tính năng khác nhau của âm thanh được đo. Cũng giống như chia tỷ lệ trục Y được thực hiện bởi một biểu đồ phổ Mel, những người khác nhấn mạnh các đặc điểm như cường độ của 12 lớp cao độ đặc biệt được sử dụng để nghiên cứu âm nhạc (chroma). Một lớp khác nhấn mạnh các tính năng theo đường ngang (hài hòa) hoặc các tính năng dọc (bộ gõ). Loại âm thanh đang được phát hiện nên định hướng loại hình quang phổ được sử dụng cho hệ thống phát hiện.

Hình phổ ví dụ trước đó đại diện cho một đoạn nhạc chỉ dài hơn 2 phút. Phóng to sẽ hiển thị nhiều chi tiết hơn, như được hiển thị trong hình ảnh sau đây.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Các số dọc theo đầu hình ảnh hiển thị số giây kể từ khi bắt đầu tệp âm thanh. Bạn có thể thấy rõ một chuỗi âm thanh dường như lặp lại hơn bốn lần mỗi giây, được biểu thị bằng các màu sáng gần cuối hình ảnh.

Như bạn có thể thấy, đây là một trong những lợi ích của việc chuyển đổi âm thanh sang biểu đồ quang phổ — các âm thanh riêng biệt thường dễ dàng nhìn thấy bằng mắt thường và ngay cả khi không, chúng thường có thể được phát hiện bằng cách sử dụng các thuật toán phát hiện đối tượng thị giác của máy tính. Trên thực tế, đây chính xác là quá trình chúng tôi làm theo để phát hiện âm thanh.

Tìm kiếm âm thanh rời rạc trong quang phổ

Tùy thuộc vào độ dài của tệp âm thanh mà chúng tôi đang tìm kiếm, việc tìm ra âm thanh rời rạc chỉ kéo dài một hoặc hai giây là một thách thức. Hãy tham khảo biểu đồ quang phổ đầu tiên mà chúng tôi đã chia sẻ — vì chúng tôi đang xem toàn bộ 3:30 phút dữ liệu, các chi tiết chỉ kéo dài một giây hoặc lâu hơn sẽ không hiển thị. Chúng tôi đã phóng to rất nhiều để xem nhịp điệu được thể hiện trong hình ảnh thứ hai. Rõ ràng, với các tệp âm thanh lớn hơn (và do đó là các bản đồ quang phổ lớn hơn nhiều), chúng ta nhanh chóng gặp vấn đề trừ khi chúng ta sử dụng một cách tiếp cận khác. Cách tiếp cận đó được gọi là cửa sổ.

Windowing đề cập đến việc sử dụng một cửa sổ trượt di chuyển trên toàn bộ quang phổ, cô lập một vài giây (hoặc ít hơn) tại một thời điểm. Bằng cách liên tục cô lập các phần của hình ảnh tổng thể, chúng tôi nhận được hình ảnh nhỏ hơn có thể tìm kiếm được để phát hiện sự hiện diện của âm thanh. Bởi vì mỗi cửa sổ có thể chỉ dẫn đến một phần của hình ảnh mà chúng ta đang tìm kiếm (như trong trường hợp tìm kiếm âm thanh không bắt đầu chính xác khi bắt đầu cửa sổ), việc tạo cửa sổ thường được thực hiện với các cửa sổ kế tiếp bị chồng lên nhau. Ví dụ: cửa sổ đầu tiên bắt đầu lúc 0:00 và kéo dài 2 giây, sau đó cửa sổ thứ hai bắt đầu lúc 0:01 và kéo dài 2 giây, và cửa sổ thứ ba bắt đầu lúc 0:02 và kéo dài 2 giây, v.v.

Gió sẽ phân chia một hình ảnh quang phổ theo chiều ngang. Chúng tôi có thể cải thiện hiệu quả của quá trình phát hiện bằng cách cô lập các dải tần số nhất định bằng cách cắt hoặc chỉ tìm kiếm các phần dọc nhất định của hình ảnh. Ví dụ: nếu bạn biết rằng chuông báo thức bạn muốn phát hiện tạo ra âm thanh nằm trong phạm vi từ tần số cụ thể này sang tần số cụ thể khác, bạn có thể sửa đổi cửa sổ hiện tại để chỉ xem xét các dải tần số đó. Điều đó làm giảm đáng kể lượng dữ liệu được thao tác và dẫn đến việc tìm kiếm nhanh hơn nhiều. Nó cũng cải thiện độ chính xác, vì nó loại bỏ các kết quả trùng khớp dương tính giả có thể xảy ra ở các dải tần ngoài phạm vi mong muốn. Các hình ảnh sau đây so sánh trục Y đầy đủ (trái) với trục Y giới hạn (phải).

Trục Y đầy đủ

Trục Y đầy đủ

Trục Y giới hạn

Trục Y giới hạn

Bây giờ chúng ta đã biết cách lặp lại một biểu đồ quang phổ với phương pháp tiếp cận cửa sổ và lọc theo các dải tần số nhất định, bước tiếp theo là thực hiện tìm kiếm thực tế cho âm thanh. Đối với điều đó, chúng tôi sử dụng Nhãn tùy chỉnh Rekognition của Amazon. Tính năng Rekognition Custom Labels được xây dựng dựa trên các khả năng hiện có của Amazon Rekognition, tính năng này đã được đào tạo trên hàng chục triệu hình ảnh thuộc nhiều danh mục. Thay vì hàng nghìn hình ảnh, bạn chỉ cần tải lên một tập hợp nhỏ hình ảnh đào tạo (thường là vài trăm hình ảnh, nhưng kích thước tập dữ liệu đào tạo tối ưu nên được thực hiện bằng thực nghiệm dựa trên trường hợp sử dụng cụ thể để tránh đào tạo quá mức hoặc thiếu mô hình ) dành riêng cho trường hợp sử dụng của bạn thông qua bảng điều khiển Nhãn tùy chỉnh Rekognition.

Nếu hình ảnh của bạn đã được gắn nhãn, bạn có thể truy cập đào tạo Amazon Rekognition chỉ với một vài cú nhấp chuột. Ngoài ra, bạn có thể gắn nhãn hình ảnh trực tiếp trong giao diện gắn nhãn Amazon Rekognition hoặc sử dụng Sự thật về mặt đất của Amazon SageMaker để gắn nhãn chúng cho bạn. Khi Amazon Rekognition bắt đầu đào tạo từ tập hợp hình ảnh của bạn, nó sẽ tạo ra một mô hình phân tích hình ảnh tùy chỉnh cho bạn chỉ trong vài giờ. Đằng sau hậu trường, Nhãn tùy chỉnh Rekognition tự động tải và kiểm tra dữ liệu đào tạo, chọn các thuật toán ML phù hợp, đào tạo một mô hình và cung cấp các chỉ số hiệu suất của mô hình. Sau đó, bạn có thể sử dụng mô hình tùy chỉnh của mình thông qua API nhãn tùy chỉnh nhận lại và tích hợp nó vào các ứng dụng của bạn.

Tập hợp dữ liệu đào tạo và đào tạo mô hình Nhãn tùy chỉnh nhận lại

Trong tạp chí GitHub repo được liên kết với bài đăng này, bạn sẽ tìm thấy mã hiển thị cách lắng nghe âm thanh của chuông báo động khói, bất kể tiếng ồn xung quanh. Trong trường hợp này, mô hình Nhãn tùy chỉnh Rekognition của chúng tôi là mô hình phân loại nhị phân, có nghĩa là kết quả là “âm thanh cảnh báo khói đã được phát hiện” hoặc “không phát hiện thấy âm thanh báo động khói”.

Để tạo một mô hình tùy chỉnh, chúng tôi cần dữ liệu đào tạo. Dữ liệu đào tạo đó bao gồm hai loại chính: âm thanh môi trường và âm thanh bạn muốn phát hiện (như chuông báo động khói).

Dữ liệu môi trường phải đại diện cho nhiều dạng âm thanh đặc trưng cho môi trường bạn muốn phát hiện âm thanh. Ví dụ: nếu bạn muốn phát hiện âm thanh báo động khói trong môi trường nhà máy, hãy bắt đầu bằng âm thanh được ghi lại trong môi trường nhà máy đó dưới nhiều tình huống khác nhau (tất nhiên là không có chuông báo động khói).

Các âm thanh bạn muốn phát hiện nên được cách ly nếu có thể, có nghĩa là các bản ghi chỉ nên là âm thanh của chính nó mà không có bất kỳ âm thanh nền môi trường nào. Ví dụ của chúng tôi, đó là âm thanh của một chuông báo động khói.

Sau khi bạn đã thu thập những âm thanh này, mã trong repo GitHub cho biết cách kết hợp âm thanh môi trường với âm thanh cảnh báo khói theo nhiều cách khác nhau (và sau đó chuyển đổi chúng thành quang phổ) để tạo ra một số hình ảnh đại diện cho âm thanh môi trường có và không có âm thanh báo động khói phủ lên chúng. Hình ảnh sau đây là một ví dụ về một số âm thanh môi trường với âm thanh báo động khói (các thanh ngang sáng) phủ lên trên.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Dữ liệu đào tạo và kiểm tra được lưu trữ trong một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Cấu trúc thư mục sau đây là một điểm khởi đầu tốt để tổ chức dữ liệu trong nhóm.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Mã mẫu trong repo GitHub cho phép bạn chọn số lượng hình ảnh đào tạo để tạo. Nhãn tùy chỉnh Rekognition không yêu cầu số lượng lớn hình ảnh đào tạo. Một tập hợp đào tạo gồm 200–500 hình ảnh là đủ.

Tạo dự án Nhãn tùy chỉnh Rekognition yêu cầu bạn chỉ định các URI của thư mục S3 chứa dữ liệu đào tạo và dữ liệu kiểm tra (tùy chọn). Khi chỉ định nguồn dữ liệu cho công việc đào tạo, một trong các tùy chọn là Ghi nhãn tự động, như thể hiện trong ảnh chụp màn hình sau đây.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sử dụng tùy chọn này có nghĩa là Amazon Rekognition sử dụng tên của các thư mục làm tên nhãn. Đối với trường hợp sử dụng phát hiện cảnh báo khói của chúng tôi, cấu trúc thư mục bên trong các thư mục tàu và thử nghiệm trông giống như ảnh chụp màn hình sau.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Các hình ảnh dữ liệu đào tạo được đưa vào các thư mục đó, với các bản ghi quang phổ chứa âm thanh của báo động khói sẽ được đưa vào thư mục báo động và các bản ghi quang phổ không chứa âm thanh báo động khói trong thư mục no_alarm thư mục. Amazon Rekognition sử dụng những tên đó làm tên lớp đầu ra cho mô hình nhãn tùy chỉnh.

Đào tạo một mô hình nhãn tùy chỉnh thường mất 30–90 phút. Khi kết thúc khóa đào tạo đó, bạn phải bắt đầu mô hình được đào tạo để mô hình đó có sẵn để sử dụng.

Kiến trúc end-to-end để phát hiện âm thanh

Sau khi chúng tôi tạo mô hình của mình, bước tiếp theo là thiết lập một đường dẫn suy luận, vì vậy chúng tôi có thể sử dụng mô hình để phát hiện xem âm thanh báo động khói có trong tệp âm thanh hay không. Để làm được điều này, âm thanh đầu vào phải được chuyển thành một biểu đồ quang phổ, sau đó được cửa sổ và lọc theo tần số, như đã được thực hiện trong quá trình đào tạo. Mỗi cửa sổ của quang phổ được cấp cho mô hình, nó sẽ trả về một phân loại cho biết liệu cảnh báo khói có kêu hay không.

Sơ đồ sau đây cho thấy một kiến ​​trúc ví dụ thực hiện đường ống suy luận này.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Kiến trúc này đợi một tệp âm thanh được đặt vào một thùng S3, điều này sau đó gây ra AWS Lambda hàm được gọi. Lambda là một dịch vụ tính toán hướng sự kiện, không máy chủ cho phép bạn chạy mã cho hầu như bất kỳ loại ứng dụng hoặc dịch vụ phụ trợ nào mà không cần cung cấp hoặc quản lý máy chủ. Bạn có thể kích hoạt chức năng Lambda từ hơn 200 ứng dụng AWS và phần mềm dưới dạng dịch vụ (SaaS) và chỉ trả tiền cho những gì bạn sử dụng.

Hàm Lambda nhận tên của thùng và tên của khóa (hoặc tên tệp) của tệp âm thanh. Tệp được tải xuống từ Amazon S3 vào bộ nhớ của chức năng, sau đó chuyển đổi nó thành một biểu đồ quang phổ và thực hiện lọc cửa sổ và tần số. Sau đó, mỗi phần cửa sổ của quang phổ được gửi đến Amazon Rekognition, sử dụng mô hình Nhãn tùy chỉnh của Amazon đã được đào tạo trước đó để phát hiện âm thanh. Nếu âm thanh đó được tìm thấy, hàm Lambda sẽ báo hiệu điều đó bằng cách sử dụng Dịch vụ thông báo đơn giản của Amazon (Amazon SNS) thông báo. Amazon SNS cung cấp phương pháp tiếp cận pub / sub, nơi các thông báo có thể được gửi đến Dịch vụ xếp hàng đơn giản trên Amazon Hàng đợi (Amazon SQS), hàm Lambda, điểm cuối HTTPS, địa chỉ email, công cụ đẩy trên thiết bị di động, v.v.

Kết luận

Bạn có thể sử dụng công nghệ máy học với dữ liệu âm thanh để xác định thời điểm xuất hiện một số âm thanh nhất định, ngay cả khi các âm thanh khác xuất hiện cùng lúc. Làm như vậy đòi hỏi phải chuyển đổi âm thanh thành một hình ảnh quang phổ, và sau đó di chuyển trên các phần khác nhau của quang phổ đó bằng cách mở cửa sổ và lọc theo dải tần. Rekognition Custom Labels giúp dễ dàng đào tạo một mô hình tùy chỉnh để phát hiện âm thanh.

Bạn có thể sử dụng Repo GitHub chứa mã ví dụ cho bài đăng này làm điểm bắt đầu cho các thử nghiệm của riêng bạn. Để biết thêm thông tin về phát hiện sự kiện âm thanh, hãy tham khảo Phát hiện sự kiện âm thanh: Hướng dẫn.


Giới thiệu về tác giả

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Greg Sommerville là Kiến trúc sư tạo mẫu cao cấp trong nhóm Kỹ thuật đám mây và tạo mẫu AWS, nơi anh ấy giúp khách hàng AWS triển khai các giải pháp sáng tạo cho các vấn đề thách thức với máy học, IoT và các công nghệ không máy chủ. Anh ấy sống ở Ann Arbor, Michigan và thích tập yoga, phục vụ cho những chú chó của mình và chơi poker.

Phát hiện các sự kiện âm thanh bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Jeff Harman là Kiến trúc sư tạo mẫu cao cấp trong nhóm Kỹ thuật đám mây và tạo mẫu AWS, nơi anh ấy giúp khách hàng AWS triển khai các giải pháp sáng tạo cho các vấn đề khó khăn. Anh ấy sống ở Unionville, Connecticut và thích chế biến gỗ, rèn và Minecraft.

Dấu thời gian:

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