Tải bản đầy đủ (.docx) (33 trang)

Phương pháp Phát hiện Xe hơi sử dụng Microphone của Smartphone

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (534.11 KB, 33 trang )

PHÁT HIỆN XE HƠI SỬ DỤNG MICROPHONE CỦA SMARTPHONE
TRONG THỜI GIAN THỰC
SUGANG LI, XIAORAN FAN, YANYONG ZHANG, WADE TRAPPE, JANNE
LINDQVIST, and RICHARD E. HOWARD, WINLAB, Rutgers University
Trong nghiên cứu này, chúng tôi đề xuất một hệ thống phát hiện xe hơi đến gần cho
người sử dụng điện thoại thông minh. Ngoài việc phát hiện ra xe hơi, hệ thống cũng có
thể ước lượng được hướng lái xe cũng như đếm số lượng xe xung quanh người sử dụng.
Chúng tôi đạt được các mục tiêu này bằng cách xử lý tín hiệu âm thanh thu được bởi
microphone có sẵn trong điện thoại di động của người dùng. Thách thức lớn nhất mà
chúng tôi phải đối mặt trong thực tế là tiếng ồn xe cộ chủ yếu là do ma sát lốp xe do đó
thiếu tần số đỉnh formant cao hoặc thiếu cấu trúc thời gian. Ngoài ra, môi trường ngoài
trời có đặc điểm tiếng ồn âm thanh phức tạp, tệ hơn khi tín hiệu được thu bằng micro
không chuyên nghiệp trong smartphones. Chúng tôi giải quyết những thách thức này
bằng cách theo dõi một đặc trưng mới: thành phần tần số tối đa vượt ngưỡng. Chúng tôi
rút ra tính năng này với một bộ phát hiện đường biên mờ. Qua các thí nghiệm chi tiết,
chúng tôi thấy hệ thống của chúng tôi mạnh mẽ trên các loại xe và điều kiện môi trường
khác nhau, và cho phép phát hiện và đếm xe hơi. Chúng tôi đã test hệ thống của chúng
tôi sử dụng các bản nhạc âm thanh được ghi lại từ 7 mẫu xe khác nhau, bao gồm SUV,
sedan cỡ trung, xe nhỏ gọn và xe điện. Chúng tôi cũng đã thử nghiệm hệ thống của
chúng tôi với người dùng đi bộ trong các môi trường ngoài trời khác nhau bao gồm bãi
đậu xe, khuôn viên trường học, khu dân cư và trung tâm mua sắm. Kết quả cho thấy
chúng tôi có thể phát hiện chính xác và mạnh mẽ những chiếc xe với yêu cầu về CPU và
bộ nhớ thấp.
1 GIỚI THIỆU (INTRODUCTION)
Sử dụng điện thoại thông minh để tìm hiểu môi trường xung quanh của người dùng
và học thông tin theo ngữ cảnh đã nhận được nhiều sự chú ý trong vài năm qua [9, 12,
21, 24, 37]. Một lượng lớn các nghiên cứu như vậy đã được tiến hành đối với người sử
dụng khi họ đang lái xe [3, 30, 35], trong khi với với người đi bộ thì rất ít. Trong nghiên
cứu này, chúng tôi tập trung vào tìm hiểu và học một thông tin ngữ cảnh quan trọng cho
người đi bộ bằng cách sử dụng điện thoại thông minh của họ - có hay không một chiếc xe
gần đó gần đó.




Khả năng phát hiện xe đang đến bằng điện thoại thông minh có thể dùng để cho
phép/tăng cường cho một số ứng dụng ubiquitous quan trọng khác. Đầu tiên, với những
thông tin sẵn có, thông báo có thể được gửi ra để cảnh báo người sử dụng chú ý (thông
qua âm thanh hoặc rung) khi tiếp cận xe xe hơi khi họ đang đi qua giao lộ hoặc đi lạc vào
đường (Minh hoạ trong Hình 1). Thứ hai, chúng ta có thể kết hợp các cảm biến xe hơi ở
các khu vực khác nhau để hỗ trợ giám sát, điều phối giao thông. Mặc dù các ứng dụng
điều hướng (ví dụ, Google Map [2] và Apple Map [1]) đã được áp dụng rộng rãi để thu
thập dấu vết xe và cung cấp thông tin giao thông thời gian thực, một số khu vực địa lý
(như khu dân cư, trường đại học,...) có thể không đủ dữ liệu vì các lái xe trong các khu
vực này không bật ứng dụng dẫn đường của họ một cách thường xuyên/đầy đủ. Trong
những trường hợp này, người đi bộ có thể tìm hiểu các xe hơi tiếp cận họ và cung cấp dữ
liệu giao thông bổ sung chưa có trước đó. Với những dữ liệu bổ sung này, chúng ta có thể
đánh giá tốt hơn tình trạng giao thông trong khu phố của mình, chẳng hạn như bên ngoài
bưu điện hoặc cửa hàng tạp hóa. Thứ ba, khả năng phát hiện những chiếc xe tới cũng có
thể tăng cường cho các ứng dụng/trò chơi thực tế ảo (AR) bằng cách làm phong phú các
bản đồ của chúng - ví dụ như đánh dấu vị trí như 'có thể đi bộ-walkable' hoặc 'có thể truy
cập-accessible' trên bản đồ Pokemon Go. Cuối cùng, với sự trợ giúp của kỹ thuật học
này, điện thoại thông minh có thể thông báo cho người dùng khiếm thính thông qua rung
động trực tiếp hoặc các chương trình cảnh báo khác trên thiết bị đeo có kết nối.

Hình 1. Auto++ phát hiện xe tiếp cận sử dụng dữ liệu âm thanh được ghi lại bởi
điện thoại thông minh. Khả năng này cho phép các ứng dụng như cảnh báo người dùng
bị phân tâm (có thể thông qua âm thanh hoặc rung động). Lưu ý rằng phần ứng dụng
như cảnh báo người dùng không phải là một phần của Auto++.


Trên thực tế, đã có những nghiên cứu về phát hiện xe hơi trong các cộng đồng khác.
Ví dụ, các giải pháp dựa trên Giao tiếp tầm ngắn (Dedicated Short-Range

Communications - DSRC) đã được đề xuất và nghiên cứu [36, 38], sử dụng một kênh
radio đặc biệt để thiết lập kết nối hai chiều giữa một chiếc xe và những người đang đi bộ
gần đó. Tuy nhiên, những giải pháp như vậy đòi hỏi phải có các modules phần cứng cho
cả chiếc xe và các smartphones, điều này khá khó để cung cấp giải pháp sẵn có ngay lập
tức. Các kỹ thuật dựa trên thị giác máy tính cũng đã được nghiên cứu, chẳng hạn như
trong các nghiên cứu [27, 34], phát hiện các phương tiện qua hình ảnh chụp được bởi
camera của smartphones. Tuy nhiên, bất lợi của các giải pháp như vậy xuất phát từ nhiều
yếu tố, bao gồm yêu cầu về CPU cao trên mức cần thiết cho việc nhận dạng xe trong thời
gian thực, cũng như bắt buộc phải hướng camera trực tiếp vào đối tượng, vv
Trong bài báo này, chúng tôi đề xuất một hệ thống, được gọi là Auto ++, phát hiện
chính xác các loại xe tiếp cận bằng cách xử lý luồng âm thanh thời gian thực trực tiếp thu
được bằng micrô điện thoại thông minh có sẵn mà không cần đào tạo trước hoặc hỗ trợ
cơ sở hạ tầng bổ sung. Auto++ không có những thiếu sót của hệ thống dựa trên sóng
ngắn hoặc dựa trên thị giác; Ngoài ra, nó còn mang lại nhiều lợi ích rõ ràng: (1) nó là
khép kín và không cần bất kỳ hỗ trợ phần cứng nào; (2) áp dụng các kỹ thuật phân loại
hoàn toàn không được giám sát và không cần đào tạo trước để hệ thống vận hành; (3)
chính xác và có tỷ lệ sai lệch thấp; và (4) nó mạnh mẽ vì nó hoạt động với các loại xe xe
hơi, đường xá và tiếng ồn môi trường khác nhau. Thách thức chính mà chúng ta phải đối
mặt là do các đặc tính của tiếng xe. Động cơ ngày nay đang ngày càng trở nên im lặng,
và những âm thanh cảm nhận được tạo ra chủ yếu là do ma sát lốp xe. Tiếng ồn của lốp
xe này thiếu cả cấu trúc thời gian và tần số có thể phân biệt được. Do đó, nhiều kỹ thuật
âm thanh phổ biến như Doppler Shift [8] hoặc các tính năng như MFCC [40] không thể
được áp dụng trong hệ thống của chúng tôi. Trong nghiên cứu này, chúng tôi thiết lập
một tính năng mới có thể phân biệt giữa âm thanh xe hơi và các âm thanh môi trường
khác. Tính năng này là thành phần tần số cực đại vượt ngưỡng năng lượng; khi một chiếc
xe di chuyển gần người sử dụng, tần số này liên tục tăng lên. Thông qua phát hiện cạnh,
chúng tôi có thể trích xuất mạnh mẽ tính năng này từ quang phổ của tín hiệu âm thanh.
Tính năng của âm thanh xe hơi không chỉ là thách thức cho việc phát hiện xe mà nó
còn tạo cơ hội cho thuật toán phát hiện của chúng tôi hoạt động trên nhiều loại xe và loại
đường khác nhau - tiếng ồn của lốp xe hơi khác nhau dường như giống nhau. Khi hệ

thống phát hiện ra một chiếc xe, chúng tôi có thể ước tính hướng lái của nó bằng cách sử


dụng hàm tương quan chéo giữa các luồng âm thanh từ hai micro (nhiều điện thoại thông
minh hiện nay có micrô kép). Chúng tôi cũng có thể phân cụm phát hiện trong một thời
gian ngắn để đếm những chiếc xe xung quanh người sử dụng.
Chúng tôi triển khai Auto++ trên nền tảng Android và thu thập 330 phút dữ liệu âm
thanh từ điện thoại thông minh trong 14 tháng. Đánh giá của chúng tôi bao gồm 7 loại xe
bao gồm các loại xe xe hơi phổ dụng trên các đường cao tốc của Hoa Kỳ, bao gồm SUV,
sedan cỡ trung, xe thể thao, xe nhỏ gọn và xe điện. Âm thanh được ghi bằng Auto ++
trong một loạt các kịch bản ngoài trời khác nhau, từ bãi đỗ xe yên tĩnh, đến trung tâm
mua sắm ngoài trời ồn ào trong giờ hoạt động. Kết quả của chúng tôi cho thấy rằng Auto
++ mạnh mẽ trên các loại xe khác nhau và các loại tiếng ồn môi trường khác nhau. Cụ
thể, chúng tôi chứng minh rằng chúng tôi có thể phát hiện được 91% số xe hơi kể cả khi
chúng cách xa người sử dụng hơn 4 giây. Trung bình, hệ thống của chúng tôi có thể phát
hiện xe hơi khi nó ở cách xa 5,7 giây (trong khi kế hoạch đặt ra là có thể phát hiện ra xe
hơi trong 2,4 giây). Chúng tôi lưu ý rằng Auto++ cũng có thể phát hiện xe điện khi chúng
ở cách xa 5,9 giây với độ chính xác 100%. Cuối cùng, chúng tôi có thể ước tính phương
hướng lái xe với tỷ lệ thành công trung bình là 84%
2 MỤC TIÊU VÀ THÁCH THỨC (MOTIVATION AND CHALLENGES)
Trong phần này, đầu tiên chúng tôi trình bày các giả định về động cơ và hệ thống.
Sau đó, chúng tôi thảo luận một số thách thức phát sinh do đặc tính tín hiệu âm thanh xe
hơi và các giới hạn của nền tảng phần cứng cơ bản.
2.1 Mục tiêu và giả định Hệ thống (Motivation and System Assumptions)
Auto++ thực hiện ba nhiệm vụ sau trong thời gian thực: (1) phát hiện xe - có hay
không một chiếc xe đang đến gần người sử dụng, (2) theo dõi xe - hướng của nó đến hay
đi, và (3) đếm xe - bao nhiêu xe hơi đang đến hay đi qua người dùng trong một cửa sổ
thời gian nhất định. Nó thực hiện các nhiệm vụ này bằng cách phân tích tín hiệu âm
thanh thu được bằng micro tích hợp. Khả năng trả lời những câu hỏi này có thể cho phép
một số ứng dụng mới. Ví dụ: chúng tôi có thể cảnh báo người đi bộ bị phân tâm (thông

qua âm thanh, rung động, v.v ...); chúng tôi có thể thu thập dữ liệu lưu lượng truy cập
được tinh vi từ điện thoại thông minh cho người đi bộ; chúng ta có thể nâng cao công cụ
gia tăng thực tế hoặc các trò chơi; chúng tôi có thể thông báo thêm cho người dùng
khiếm thính với thông tin ngữ cảnh bên lề đường xung quanh.
Trong hệ thống của chúng tôi, chúng tôi giả định rằng người dùng mang một thiết bị
di động được trang bị một hoặc hai micro. Ngày nay, tất cả điện thoại thông minh và máy


tính bảng đều có ít nhất một micrô, và một số có hai micro, chẳng hạn như Google Nexus
6 và Nexus 6P. Sau đó, chúng tôi giả định rằng micro có độ nhạy tương tự ở mọi hướng.
Ngoài ra, chúng tôi giả định rằng điện thoại thông minh được giữ trong tay bởi người
dùng, hoặc trong túi / túi với tai nghe kết nối. Cuối cùng, chúng tôi giả định rằng điện
thoại thông minh có dịch vụ định hướng để Auto ++ có thể tính được hướng tương đối
của điện thoại thông minh đối với đường
2.2 Background on Acoustic Signal Processing (nền tảng về xử lý tín hiệu âm
thanh)
Mức áp suất âm thanh (SPL) là dạng trực tiếp của một tín hiệu âm thanh được đo
bằng microphone và mô tả độ lệch áp suất địa phương do sóng âm gây ra.
Độ chênh lệch Thời gian đến (TDoA) [13] cung cấp một phép đo vị trí của nguồn
âm thanh. Bằng cách tính toán Hàm tương quan chéo (Cross-correlation Function CCF), Độ chênh lệch xuyên kênh (Inter-channel Phase Difference - IPD) (là sự khác biệt
giữa các kênh liên tiếp) hoặc Hàm ước lượng hợp lý cực đại (Maximum Likelihood
Function) [6,23,39] của tín hiệu thu được từ các micrô khác nhau, có thể ước tính vị trí
có thể của nguồn âm thanh.
Với ba micro, vị trí chính xác của nguồn âm thanh có thể được ước lượng thông qua
phép đo tam giác. Do hạn chế của điện thoại thông minh ngày nay, chúng tôi chỉ có thể
sử dụng hai micrô để suy ra hướng âm thanh.
Chuyển đổi Fourier rời rạc (Short-Time Discrete Fourier Transform - STDFT)
được sử dụng để phân chia một tín hiệu dài thành các đoạn ngắn hơn với chiều dài bằng
nhau và sau đó tính chuyển đổi Fourier Transform rời rạc trên từng phân đoạn. STDFT
được sử dụng rộng rãi trong phân tích âm thanh [39] vì nó cho ta thông tin thời gian và

phổ âm của tín hiệu cùng một lúc. Nó đặc biệt hữu ích trong việc phát hiện và theo dõi
một chiếc xe di chuyển, bởi vì chúng ta có thể quan sát thấy tần số thay đổi như thế nào
khi một chiếc xe đang tiến tới. Chúng tôi cung cấp chi tiết về cách chúng tôi có thể áp
dụng các tính năng này trong hệ thống của chúng tôi hoặc tại sao chúng tôi không thể áp
dụng chúng. Cuối cùng, chúng tôi cũng cung cấp một cuộc thảo luận ngắn về các công cụ
xử lý tín hiệu âm thanh thường được sử dụng.
Kỹ thuật trích chọn đặc trưng (Mel-frequency cepstral coefficients - MFCC)
xuất phát từ quá trình xử lý tiếng nói, bắt nguồn từ STDFT. Trong MFCC, tín hiệu đầu
tiên được chuyển thành Đáp ứng tần số qua FFT, sau đó được ánh xạ tới thang Mel để


tính các hệ số. Vì nguồn âm thanh của chúng tôi không phải là tiếng nói nên MFCC
không cần cung cấp thêm thông tin cho tiếng ồn ma sát của bánh xe so với FFT.
Doppler Shift là sự thay đổi tần số của sóng tại máy thu khi nguồn di chuyển,
thường được sử dụng trong việc định vị nguồn âm thanh [16, 20]. Việc sử dụng sự dịch
chuyển Doppler đòi hỏi rằng tín hiệu có một hoặc nhiều dải tần số mà năng lượng tập
trung. Tuy nhiên, tín hiệu âm thanh của xe hơi không biểu lộ sự phân bố năng lượng lệch
như vậy, do đó chúng ta không thể sử dụng Doppler để phát hiện hoặc theo dõi một chiếc
xe đang di chuyển.
2.3 Những thách thức trong việc thiết kế Auto++ (Challenges in Designing
Auto++)
Trong thiết kế Auto ++, chúng ta phải đối mặt với một số thách thức đáng kể. Khi
một chiếc xe chạy với tốc độ ổn định (không tăng đột ngột), âm thanh của nó chủ yếu là
tiếng ồn của lốp thay vì tiếng ồn động cơ, có những đặc điểm rất khác nhau từ nhiều tín
hiệu âm thanh khác đã được nghiên cứu. Hơn nữa, vấn đề này thậm chí còn tệ hơn bởi
chúng tôi đang lấy và xử lý dữ liệu âm thanh bằng cách sử dụng điện thoại thông minh
sẵn có với những hạn chế phần cứng.
Thiếu sự Hội tụ năng lượng của các tần số: Nhiều tín hiệu âm thanh có tập trung
năng lượng khác biệt trên các tần số khác nhau, chẳng hạn như trong những nghiên cứu
trong các tài liệu [15,39]. Trong các trường hợp như vậy (minh họa trong hình 2 (a) (b)

(c)), chúng ta có thể tập trung vào phát hiện năng lượng trên những tần số đó để phát hiện
sự hiện diện của nguồn âm thanh. Để định vị các nguồn âm thanh như vậy, góc tới có thể
dễ dàng tính được qua Sự khác biệt giữa các kênh liên tiếp (Độ lệch xuyên kênh) [39],
hoặc Dịch chuyển Doppler [8] có thể được áp dụng để ước tính khoảng cách giữa nguồn
âm thanh và thiết bị. Tuy nhiên, âm thanh của một chiếc xe không bao gồm tập trung
năng lượng rõ ràng ở bất kỳ tần số cụ thể nào. Ví dụ, hình 2 (d) mô tả một kịch bản khi
một chiếc xe đang hướng tới người sử dụng ở tốc độ 30 km/h trên một con đường nhựa.
Năng lượng của nó chủ yếu tập trung ở dải tần số thấp, cũng giống như tín hiệu không có
xe (như thể hiện trong hình 2 (e)), do đó đòi hỏi phải có các kỹ thuật khác.


Hình 2. (a) Một tín hiệu tiếng nói điển hình gồm một hoặc nhiều dải tần số được
tập trung năng lượng âm. (b) Một quang phổ của âm thanh mở và đóng cửa. (c) Một phổ
âm thanh bước chân của con người. (d) Một phổ âm thanh của tín hiệu âm thanh cửa
ngoài có chứa tập trung năng lượng ổn định ở dải tần số thấp và không đổi trong miền
thời gian. (e) Khi một chiếc xe đang hướng tới người sử dụng ở tốc độ 30 km/h trên
đường nhựa, tín hiệu âm thanh của nó không chứa tập trung năng lượng rõ ràng trên
các dải tần số khác nhau)
Thiếu cấu trúc thời gian: Nhiều nghiên cứu dựa vào các đặc tính thời gian của tín
hiệu âm thanh để định vị nguồn âm thanh, chẳng hạn như mức đỉnh áp suất âm thanh
(SPL) [19, 23], thời gian phát ra âm thanh [23]. Tuy nhiên, chúng tôi không xem xét một
cách chắc chắn các đặc tính thời gian trong tín hiệu âm thanh xe hơi của chúng tôi do bản
chất giống như tiếng ồn của nó.
Giới hạn Hệ thống: Chúng tôi xem xét chạy Auto ++ trên các thiết bị di động và
thiết kế hệ thống do đó bị giới hạn bởi các tính năng có sẵn trên nền tảng phần cứng, ví
dụ như số lượng micro có thiết bị là bao nhiêu, khoảng cách giữa các micro này ra sao,
độ nhạy của các micro, tần số lấy mẫu tối đa, vv…
Trong nghiên cứu này, chúng tôi đã cẩn thận giải quyết những thách thức này và kết
quả đánh giá của chúng tôi trong Phần 6 cho thấy Auto ++ là chính xác, kịp thời và mạnh
mẽ.



3 AUTO++ DESIGN (thiết kế Auto++)
Trong phần này, chúng tôi trình bày chi tiết thiết kế của Auto ++, bao gồm bốn bước
chính: Tiền xử lý, trích chọn đặc trưng, phát hiện xe hơi và ước lượng hướng xe.
3.1 tổng quan về Auto++ (Overview of Auto++)

Hình 3. Hệ thống Auto++ bao gồm bốn thành phần sau: (1) tiền xử lý tín hiệu, (2) trích
chọn đặc trưng, (3) phát hiện hiện diện của xe, và (4) phát hiện hướng xe. Auto++ không yêu
cầu bất kỳ quá trình huấn luyện trước cho bất kỳ bước nào trong các thành phần này.

Hình 3 miêu tả tổng quan về Auto ++, bao gồm các thành phần sau:
(1) Tiền xử lý: Trước khi chúng ta có thể sử dụng tín hiệu âm thanh bắt được để
phát hiện, theo dõi hoặc đếm xe hơi, đầu tiên chúng ta cần thực hiện một số tiền xử lý,
bao gồm phân đoạn luồng tín hiệu âm thanh liên tục thành các đoạn nhỏ hơn, nhân mỗi
đoạn với một hàm cửa sổ phù hợp, và tiến hành xử lý yêu cầu trên mỗi đoạn, chẳng hạn
như biến đổi Fourier rời rạc (DFT). Các bước này chuẩn bị dữ liệu để xử lý tín hiệu tiếp
theo.
(2) Trích chọn đặc trưng: Tiếp theo, chúng tôi trích xuất các tính năng có thể
được sử dụng để phát hiện xe hơi. Thật không may, chúng tôi thấy rằng những tính năng


thường được sử dụng để phát hiện và định vị nguồn âm thanh không phù hợp với hệ
thống của chúng tôi (đã giải thích trong Phần 2) vì âm thanh xe hơi bị chi phối bởi tiếng
ồn của lốp xe và thiếu các phổ đặc trưng và đặc tính thời gian. Trong thành phần công
việc này, chúng tôi đã đề xuất các tính năng mới độc đáo cho tín hiệu âm thanh xe hơi và
tạo điều kiện phát hiện xe chính xác, kịp thời và nhanh chóng.
(3) Phát hiện Hiện diện: Thuật toán phát hiện sự hiện diện của chúng tôi là
không cần giám sát. Nó có thể phân biệt thành công giữa các kịch bản liên quan đến một
chiếc xe tiếp cận và những chiếc không liên quan (với tiếng ồn lớn xung quanh) sớm nhất

có thể.
(4) Ước lượng hướng: Thuật toán phát hiện hướng của chúng tôi dựa trên Sự
Chệnh lệch thời gian đến (TDoA) của tín hiệu âm thanh. Bằng cách tính toán hàm tương
quan chéo qua tín hiệu từ hai kênh, chúng ta có thể cung cấp một ước lượng định hướng
thô của nguồn âm thanh.
3.2 Tiền xử lý tín hiệu (Sound Signal Pre-Processing)
Đầu tiên, chúng tôi phân đoạn luồng dữ liệu âm thanh liên tục thành các đoạn có thời
lượng bằng nhau, mỗi đoạn được gọi là cửa sổ xử lý. Trong hệ thống của chúng tôi, chiều
dài cửa sổ điển hình là 0,5 giây, nghĩa là chúng tôi chạy thuật toán phát hiện xe của mình
mỗi 0,5 giây. Tiếp theo, thuật toán phát hiện của chúng tôi thực hiện việc tính toán phép
biến đổi Fourier rời rạc thời gian ngắn (STDFT) của các mẫu âm thanh trong một cửa sổ
xử lý. Để làm công việc này, chúng tôi chia một cửa sổ xử lý vào khe có chiều dài bằng
nhau, và nhân hàm cửa sổ Hamming với mỗi khe. Sau đó chúng tôi thực hiện các biến
đổi Fourier qua mỗi khe để có được các STDFT của cửa sổ chế biến. Khoảng thời gian
khe quyết định quãng cường độ trong phép tính STDFT của chúng tôi.
3.3 Trích chọn đặc tính (Auto++ Feature Extraction)
Tiếp theo, chúng tôi đề xuất tính năng phát hiện xe của chúng tôi và giải quyết các
thách thức độc đáo của tín hiệu âm thanh xe hơi và phương pháp trích chọn đặc tính của
chúng tôi cho phép phát hiện sự hiện diện xe chính xác, kịp thời và không cần giám sát
3.3.1 Tần số Top-Right (Top-Right Frequency TRF): Tần suất lớn nhất mà
năng lượng của nó đạt đến ngưỡng nhất định. Chúng tôi khám phá tính năng này sau khi
kiểm tra kỹ các kết quả STDFT của tín hiệu âm thanh. Hình 4 (a) vẽ kết quả STDFT của
tín hiệu âm thanh từ một chiếc Toyota Camry 2007 trong suốt quãng đường 100 mét.
Chúng tôi bắt đầu thu thập mẫu âm thanh khi chiếc xe ở cách đó 100 mét và kết thúc ghi
khi lái xe qua người dùng. Việc ghi âm được thực hiện bằng điện thoại thông minh Nexus


6. Từ hình này, chúng ta quan sát thấy rằng khi chiếc xe gần người nhận hơn, năng lượng
trên tất cả các thành phần tần số nhanh chóng tăng lên, hình thành một hình dạng giống
quả núi. Năng lượng đạt đến mức tối đa khi xe đi ngang qua vị trí của người dùng


Hình 4. (a) Kết quả STDFT của tín hiệu âm thanh được ghi lại khi Toyota Camry
2007 lái xe cách người sử dụng 100 mét so với người sử dụng. (b) Hai ảnh chụp nhanh
STDFT chụp ở các dấu thời gian khác nhau, trong đó chúng tôi quan sát TRF cao hơn
khi chiếc xe gần hơn. (c) Dấu vết TRF được trích ra bởi thuật toán dò mờ.
Chúng ta hãy nhìn vào hai bức ảnh chụp STDFT trong Hình 4 (b). Đối với mỗi ảnh
chụp STDFT, chúng tôi nhận thấy rằng cường độ của tín hiệu giảm xuống khi chúng ta đi
từ các thành phần tần số thấp đến các thành phần tần số cao hơn. Điều này là do các
thành phần tần số cao gặp phải sự mất mát đường dẫn cao hơn. Đầu tiên chúng ta chọn
giá trị ngưỡng năng lượng cụ thể, ví dụ: - 58dB, sau đó tìm thành phần tần số cao nhất


tương ứng với mức cường độ ở trên ngưỡng này. Chúng ta xem giá trị tần số này là Tần
số phải, hoặc TRF ngắn, bởi vì nếu chúng ta vẽ một hình chữ nhật có chiều cao được cho
bởi giá trị ngưỡng cường độ (hình chữ nhật được minh họa bằng màu đỏ ở hình 4 (b)),
tần số của góc trên cùng bên phải của hình chữ nhật này là tần suất chúng tôi đang tìm
kiếm. Khi xe đến gần người sử dụng, giá trị TRF của tín hiệu trở nên cao hơn. Nhìn
chung, TRF có thể được tính như sau:
Trong đó S (n, f) là công suất của tín hiệu ở tần số f và cửa sổ thời gian n. Thuật
ngữ S (n, f) là nhỏ hơn ngưỡng cường độ T, và TRF (n) là cực đại f trong số tất cả các tần
số có S (n, f) đạt đến mức cường độ T. Chúng tôi tính toán giá trị TRF cho mỗi khe để tạo
ra dấu vết TRF và sử dụng dấu vết TRF làm đặc điểm cho phát hiện xe sau đó.
3.3.2 Phát hiện cạnh mờ dựa trên Trích chọn đặc tính (Blurred Edge
Detection Based Feature Extraction). Một cách đơn giản để tạo ra dấu vết TRF là áp
dụng một ngưỡng cường độ cố định trên tất cả các khe. Thực hiện phương pháp này trên
thực tế rất khó khăn vì nó rất khó để lựa chọn ngưỡng công suất phù hợp hoạt động trên
xe xe hơi và điều kiện đường xá. Hơn nữa, áp dụng một ngưỡng cường độ duy nhất
không mạnh mẽ trong các môi trường thực; trong môi trường ngoài trời, các hoạt động
trong môi trường (ví dụ như chim hót, bước chân, v.v ...) có thể dễ dàng dẫn đến các tần
số cao mà cường độ vượt quá ngưỡng cường độ. Kết quả là dấu vết TRF kết quả sẽ

không trơn, thậm chí đôi khi không liên tục.
Để giải quyết những thách thức liên quan đến việc trích chọn dấu vết ngưỡng TRF cơ
bản, chúng tôi tiếp tục phát triển một phương pháp phát hiện cạnh dựa trên phương thức
trích chọn các giá trị TRF từ kết quả STDFT một cách mạnh mẽ và hiệu quả. Như thể
hiện trong hình 4 (a), khi lái xe gần người sử dụng hơn, chiếc xe sẽ phát ra tín hiệu âm
thanh có độ dốc liên tục, mờ. Cạnh của độ dốc này là dấu vết của TRF của chiếc xe. Sau
đó, chúng tôi sử dụng một Bộ phát hiện cạnh mờ (Blurred Edge Detector BED) để trích
xuất cạnh này, mạnh hơn phương pháp tiếp cận dựa trên ngưỡng cường độ.
Cách tiếp cận chiết xuất TRF dựa trên BED của chúng ta dựa vào thông tin quang
phổ và thời gian để xác định độ dốc cường độ của quang phổ. Những gradient này chứa
đường TRF mong muốn. Cụ thể, chúng tôi sử dụng một máy dò cạnh Canny [5], một kỹ
thuật được sử dụng rộng rãi, trong Auto ++. Nó bao gồm các bước sau: (1) Chúng tôi loại
bỏ các thành phần tần số có cường độ dưới ngưỡng bằng cách đặt chúng xuống -100 dB.
(2) Chúng tôi áp dụng một bộ lọc Gaussian để làm phẳng các chấm và đường ồn. (3)


Chúng tôi tính toán gradient cường độ của phổ âm thanh để có được phác thảo của vùng
có sự gia tăng cường độ thích hợp. (4) Chúng tôi áp dụng loại bỏ tối đa nhiễu để làm sạch
vùng hình thành các cạnh. (5) Chúng tôi theo dõi các cạnh chính bằng cách loại bỏ tất cả
các cạnh yếu và không kết nối với các cạnh mạnh. Sau khi tìm thấy cạnh (thể hiện trong
hình 4 (c)), chúng tôi điền vào các điểm còn thiếu trên cạnh với giá trị liền kề trước đó để
tạo thành một chuỗi liên tiếp. Chúng tôi gọi đây là dấu vết TRF. Chúng tôi tiến hành dò
tìm cạnh đó ở mức độ chi tiết của cửa sổ xử lý. Mỗi cửa sổ xử lý bao gồm nhiều khe;
chúng tôi phát hiện ra cạnh bên trong mỗi cửa sổ và sử dụng trung bình di chuyển trên
200 khe để làm mịn các kết quả.
3.4 Phát hiện và đếm sự hiện diện của xe xe hơi không giám sát
(Unsupervised Car Presence Detection and Counting)
Tiếp theo, cho phép chúng tôi giải thích kỹ thuật phát hiện xe của chúng tôi, là dễ
dàng và không cần giám sát. Sơ đồ phát hiện hiện diện xe của chúng tôi bao gồm hai
bước - Phân loại cửa sổ xử lý và phát hiện sự kiện. Trong giai đoạn phân loại cửa sổ,

chúng tôi phân loại cửa sổ xử lý hiện tại (chứa tất cả các mẫu âm thanh được ghi lại trong
0,5 giây qua.) Là ‘empty’ (có nghĩa là không có xe nào được phát hiện trong cửa sổ này)
hoặc 'có phát hiện' (nghĩa là tại ít nhất một chiếc xe được phát hiện trong cửa sổ này).
Phân loại cửa sổ của chúng tôi dựa trên việc liệu các giá trị TRF trong cửa sổ có tăng lên
không ngừng. Nếu một phần lớn các giá trị TRF lớn hơn hoặc bằng giá trị TRF ngay
trước đó, chúng tôi sẽ gắn nhãn cửa sổ làm cửa sổ hiện tại của xe hơi. Cách tiếp cận này
chỉ đảm bảo phần tăng liên tục của đường TRF được tính là sự hiện diện của sự hiện diện
của xe hơi, loại bỏ các đỉnh do tiếng ồn xung quanh và các hoạt động khác. Ví dụ, hình 5
(a) cho thấy các giá trị TRF trong một cửa sổ trống rỗng điển hình với mức độ ồn cao,
cũng như các giá trị TRF trong một cửa sổ có chứa một chiếc xe tiếp cận.
Trong một số trường hợp, điều quan trọng là phải tìm ra bao nhiêu chiếc xe xung
quanh người dùng. Để có được số lượng xe, chúng tôi hợp nhất cửa sổ xe hơi hiện tại
trong một khoảng thời gian ngắn để tránh đếm cùng một chiếc xe nhiều lần.
Cuối cùng, chúng tôi lưu ý rằng chương trình phát hiện của chúng tôi có thể làm việc
với các tính năng khác. Trong đánh giá của chúng tôi (Phần 6), chúng tôi cũng đã sử
dụng mức độ áp suất âm thanh (SPL) trong thuật toán phát hiện của chúng tôi.


Hình 5. (a) Các giá trị TRF trong cửa sổ hiện tại của xe hơi thường có các mẫu
khác nhau từ những cửa sổ trống rỗng có tiếng ồn xung quanh ngắn. Trong trường hợp
đầu, giá trị TRF thường tăng liên tục trong khi trường hợp thứ hai, giá trị TRF tăng lần
đầu tiên và sau đó giảm xuống. (b) Giá trị TDoA khi chiếc xe lại gần hơn với người sử
dụng. Mũi tên màu đỏ đánh dấu thời gian khi chiếc xe được phát hiện trong K cửa sổ
liên tiếp, trong khi mũi tên màu xanh đánh dấu thời gian khi xe đi qua smartphone. (c) Ví
dụ đường hyperbolas chúng ta thu được để ước lượng hướng. Đường Hyperbola màu đỏ
liên tục trên mặt phẳng trái cho biết rằng một chiếc xe đang lái xe từ phía bên trái.
3.5 Ước lượng định hướng xe hơi không giám sát (Unsupervised Car
Direction Estimation)
Sau khi phát hiện xe đang tiến gần, chúng tôi ước tính hướng lái xe. Chúng tôi cố
gắng làm như vậy bằng cách đo sự khác biệt về thời gian đến (TDoA) giữa các tín hiệu

âm thanh thu được bởi micrô (nếu có nhiều thiết bị di động). Thông thường, TDoA đã
được sử dụng để cung cấp thông tin vị trí chính xác cho nguồn âm thanh [8]. Để tính toán
tín hiệu TDoA, chúng ta áp dụng hàm tương quan chéo (CCF) trên hai tín hiệu f (τ) và д
(τ) để tính toán độ trễ giữa chúng:
Trong đó f * biểu thị phức hợp phức của f và τ là độ trễ. Giá trị t tương ứng của
đỉnh cao nhất là độ trễ ước tính giữa hai kênh.Tuy nhiên, khi áp dụng phương pháp trên
trên điện thoại thông minh trong vấn đề của chúng tôi, chúng ta phải đối mặt với những
khó khăn sau:
1) Các phép đo SPL không ổn định: Tính toán TDoA dựa trên các giá trị SPL từ cả
hai kênh. Tuy nhiên, do bản thân SPL có thể dễ bị ảnh hưởng bởi tiếng ồn xung quanh,
đặc biệt khi nguồn âm thanh ở xa người nhận (như trong trường hợp của chúng tôi), các
kết quả tương quan chéo của hai kênh thường không chính xác.


2) Số lượng Microphone hạn chế: Tính toán chính xác góc yêu cầu ít nhất ba
micrô - chúng tôi có thể tính toán bằng ba giá trị TDoA. Tuy nhiên, hầu hết các điện thoại
thông minh sẵn có được trang bị một hoặc hai micro. Với hai micro nhúng, chúng tôi chỉ
có thể tính một giá trị TDoA.
3) Tốc độ lấy mẫu thấp: Độ phân giải TDoA có liên quan rất lớn đến tốc độ lấy
mẫu của thiết bị ghi. Tỷ lệ lấy mẫu của điện thoại thông minh không được cao hơn
44Khz, điều này không đủ cho độ phân giải TDoA cao.
4) Khoảng cách nhỏ giữa hai micro: Khoảng cách d (như thể hiện trong hình 5 (c))
giữa hai micrô xác định độ chi tiết của TDoA có thể phân biệt cũng như khoảng cách
phát hiện có hiệu quả. Trên điện thoại thông minh, khoảng cách giữa các micrô thường
quá nhỏ để có độ phân giải đủ.
Để giải quyết thách thức của các phép đo SPL không ổn định, chúng tôi đề xuất chỉ
bắt đầu tính toán TDoA khi chúng tôi đã phát hiện cùng một chiếc xe cho K cửa sổ liên
tiếp. Tại thời điểm này, các phép đo SPL ổn định hơn, dẫn đến kết quả chính xác hơn về
TDoA và định hướng.
Hình 5 (b) cho thấy giá trị TDoA thể hiện cho sự xuất hiện của chiếc xe thay đổi như

thế nào trong khi người sử dụng vẫn đứng yên trên vỉa hè. Ngay sau khi xe đã được phát
hiện trong 4 cửa sổ liên tiếp vào ngày giây thứ 17th (được đánh dấu bởi mũi tên màu đỏ),
giá trị TDoA trở nên ổn định hơn nhiều so với trước đây. Nó vẫn ổn định cho đến giây
thứ 21th. Trong ví dụ này, chiếc xe đi qua người sử dụng vào giây thứ 22th (được đánh
dấu bởi mũi tên màu xanh). Ngay cả khi giá trị TDoA ổn định, giá trị tuyệt đối của nó có
thể không được sử dụng trực tiếp để định vị xe, vì nó bị giới hạn bởi nhiều thông số hình
học như góc và khoảng cách giữa điện thoại thông minh và đường. Thay vào đó, chúng
tôi chỉ xem xét dấu hiệu của giá trị TDoA hợp lệ đầu tiên và ước tính từ hướng mà chiếc
xe đang lái xe dựa trên dấu hiệu.
Hình 5 (c) minh họa một số hình hyperbol có thể được xác định bởi các giá trị TDoA
được đo. Khi chúng ta có giá trị TDoA âm, nó cho thấy nguồn âm thanh nằm ở một
hyperbola ở phía bên trái (được đánh dấu bằng màu đỏ). Đó là, một chiếc xe hơi xuất
phát từ phía trên của điện thoại thông minh.
Cuối cùng, chúng tôi lưu ý rằng, khi các ứng dụng yêu cầu độ phân giải và định
hướng độ phân giải TDoA cao, chúng tôi có thể giải quyết các thách thức liên quan đến
phần cứng 2), 3) và 4) bằng cách kết nối micro ngoài với các thông số kỹ thuật cao hơn
cho điện thoại thông minh.


4. TÍNH ĐÚNG LÚC, TÍNH CHÍNH XÁC VÀ TÍNH KHẢ DỤNG
(SYSTEM’S TIMELINESS, ACCURACY AND USABILITY)
Đối với hệ thống cảm biến được sử dụng trong Auto++, mối quan tâm về (1) sự phát
hiện sự kiện muộn là khá tự nhiên, đồng thời phát hiện sự kiện không chính xác (2), và
(2) có thông báo hoặc cảnh báo quá mức ngay cả khi phát hiện là kịp thời và chính xác.
Mặc dù hai mối quan tâm đầu tiên liên quan chặt chẽ đến hiệu suất của hệ thống, mối
quan tâm thứ ba là tập trung vào khả năng sử dụng của nó. Ở đây, chúng tôi muốn thảo
luận làm thế nào chúng ta có thể giải quyết những mối quan tâm này để áp dụng các yêu
cầu ứng dụng khác nhau.
Nhìn chung, chúng tôi phân loại các ứng dụng tiềm năng thành hai lớp - cảm nhận
tức thì và nhật ký hàng ngày. Trong lớp học đầu tiên, mục tiêu chính của các ứng dụng

này là để phát hiện sự hiện diện của một chiếc xe bất cứ khi nào nó tiếp cận người sử
dụng. Do đó, yêu cầu kịp thời là rất quan trọng, tức là chúng tôi muốn phát hiện ra chiếc
xe càng sớm càng tốt để người dùng có đủ thời gian để phản ứng. Tuy nhiên, khi một hệ
thống có thể nắm bắt âm thanh xe hơi khi nó ở xa, nó có thể gặp tỷ lệ phán đoán sai cao
hơn vì nó nhạy cảm đối với tín hiệu với tỷ số tín hiệu nhiễu (Signal-to-Noise Ratio SNR)
thấp. Để hiểu được sự cân bằng giữa khoảng cách phát hiện và tỷ lệ phán đoán sai, chúng
tôi đã tiến hành các thí nghiệm bằng cách thay đổi kích cỡ cửa sổ xử lý (xem Phần 6.1).
Mặt khác, các ứng dụng lớp thứ hai đang tập trung vào việc ghi lại sự hiện diện của xe
hơi trong vùng lân cận của người sử dụng để cung cấp thêm thông tin giao thông. Các
ứng dụng này không yêu cầu khoảng thời gian phát hiện miễn là các phần trước đó, do đó
chúng ta có thể thiết lập các thông số hệ thống đối với tỷ lệ phát hiện sai thấp hơn.
Đối với các ứng dụng trong lớp cảm ứng tức thì, ngay cả khi việc phát hiện là kịp
thời gian và chính xác, tuy nhiên, nó vẫn rất phiền toái nếu có thông báo quá mức. Để
giải quyết tính khả dụng của hệ thống, chúng tôi cho rằng Auto++ nên tách riêng bộ cảm
biến và bộ thông báo sự kiện/cập nhật, và rằng các module thông báo/cập nhật này nên
được thiết kế để có thể thay đổi dựa trên bối cảnh chính xác của người dùng
Tần suất thông báo/cập nhật sự kiện có thể cần được tinh chỉnh, khi chúng ta sử dụng
các ứng dụng khác nhau trong các tình huống khác nhau –ví dụ, người dùng có thể thích
cảnh báo ít hơn thường xuyên về những chiếc xe đến khi đi bộ trong khu vực thành phố
đông đúc trong giờ cao điểm, so với đi bộ trên một đường phố ngoại ô trong thời gian
cao điểm; các trò chơi như Pokemon Go có thể cần cập nhật thường xuyên hơn các ứng
dụng về sức khoẻ như Fitbit.


Với quan điểm như trên, chúng tôi thiết kế Auto++ sao cho nó tự động điều chỉnh tần
suất thông báo/cập nhật như mong muốn. Thứ nhất, bằng cách cung cấp cho người dùng
khả năng thiết lập cấu hình cài đặt ưa thích của họ, chúng tôi chỉ có thể kích hoạt Auto++
trong các tình huống cụ thể - ví dụ khi người dùng sắp đi vào giao lộ hoặc đi bộ trên vỉa
hè ở khu vực ít đông đúc hơn. Sử dụng các công nghệ hiện có như Hệ thống ranh giới địa
lý (geo-fencing) [29], hệ thống có thể phát hiện ra người sử dụng đang ở trong tình

huống như thế và sau đó kích hoạt / hủy kích hoạt dò tìm xe phù hợp.
Ngoài các cài đặt do người dùng chỉ định, Auto ++ cũng có thể lọc thông báo sự kiện
không cần thiết/cập nhật thông qua cảm biến ngữ cảnh chi tiết. Ví dụ: báo cáo sẽ chỉ
được gửi đi nếu một chiếc xe tiếp cận được phát hiện trong khi người dùng đang đi dọc
theo cùng một con đường. Những cảm biến như vậy có thể thu được bằng cách sử dụng
thêm các cảm biến khác trong điện thoại, hệ thống GPS, vv…
5.

TRIỂN

KHAI

AUTO++

TRÊN

ANDROID

(ANDROID

IMPLEMENTATION OF AUTO++)
Chúng tôi đã triển khai Auto ++ bằng thư viện Java và OpenCV trên nền tảng
Android. Âm thanh thô được ghi ở tần số 44 KHz, với điều chế xung 16 bit (PCM). Để
đạt được xử lý thời gian thực và cập nhật sự kiện, chúng tôi đã tối ưu hóa mã của Auto +
+ để cho phép các luồng đồng thời để tránh bị trễ khi cảm biến/recording hay xử lý tín
hiệu. Như trong Hình 6, luồng Ghi ghi xử lý việc thu thập dữ liệu từ micro và đưa bộ
đệm xử lý, trong khi luồng Máy tính xử lý dữ liệu đệm và gửi kết quả (giao diện người
dùng và các ứng dụng) (API).

Hình 6. Sơ đồ triển khai hệ thống Auto++ trên nền tảng Android



Sử dụng bộ nhớ và cấu hình sử dụng CPU: Chúng tôi đã kiểm tra Auto ++ trên cả
Nexus 6 và Nexus 6P. Thành phần xử lý lõi của Auto++ chạy khi được yêu cầu, nghĩa là
nó chỉ được kích hoạt khi các ngữ cảnh cụ thể như đi bộ trên đường phố và được cảm
nhận qua GPS và các cảm biến quán tính (như đã thảo luận trong Phần 4). Kết quả là,
chúng tôi thấy rằng thành phần xử lý nằm trong một trong ba trạng thái sau: nhàn rỗi,
phát hiện hiện diện và ước lượng hướng.
Các thành phần xử lý thường không hoạt động hầu hết thời gian và chỉ hoạt động khi
vào giai đoạn phát hiện xe theo ngữ cảnh do người dùng xác định. Trong giai đoạn phát
hiện, hệ thống thực hiện ghi âm, tính toán STFT, phát hiện cạnh, phát hiện hiện diện. Khi
Auto++ phát hiện ra cửa sổ có sự hiện diện của xe hơi, nó sẽ đi vào phân đoạn ước lượng
phương hướng. Trong phân đoạn ước lượng hướng, hệ thống cần phải phát hiện ra sự
hiện diện của chiếc xe trong K-1 cửa sổ liên tiếp và sau đó thực hiện tính toán TDoA
thông qua chức năng tương quan chéo

Bảng 1. Tổng kết việc sử dụng Bộ nhớ của Auto ++ và CPU trên 2 điện thoại. Sự
phân bổ bộ nhớ được thực hiện tự động bởi Android OS khi khởi động ứng dụng. Trong
suốt quá trình thực thi Auto++, tổng bộ nhớ được sử dụng nằm trong phạm vi cho phép,
là 36,4MB trên Nexus 6 và 32,8MB trên Nexus 6P. Trong ba giai đoạn, ước lượng hướng
sử dụng đa số các chu kỳ CPU hơn 2 trạng thái còn lại, nhưng vẫn rất thấp, 3,2% trên
Nexus 6 và 1,8% trên Nexus 6P. Do đó, chúng tôi tin rằng công cụ tính toán Auto ++ của
chúng tôi đủ nhẹ để trở thành một trong những dịch vụ nền mặc định trên nền tảng di
động.
6. ĐÁNH GIÁ (EVALUATION)
Các thí nghiệm của chúng tôi nhằm mục đích đánh giá hai chức năng chính cho Auto
++: (1) phát hiện chiếc xe tiếp cận trên đường khi người dùng đang đi bộ trên đường
hoặc trên vỉa hè, và (2) ước lượng hướng đi của xe. Chúng tôi đã tiến hành thu thập dữ
liệu rộng rãi để đánh giá hiệu suất của Auto ++ trong những trường hợp này. Kết quả của
chúng tôi cho thấy rằng Auto ++ có thể phát hiện một cách rõ ràng sự hiện diện của chiếc

xe trên 5,7 giây trước khi đậu xe. Trên những con đường đông đúc hơn, Auto ++ có thể
đếm số xe hơi đang tiếp cận với sai số trung bình là 0,6 xe hơi một phút, khi số xe vượt


quá thực tế không quá 6 cho một phút. Auto ++ có thể ước tính hướng đi của xe với xác
suất 84,3%; độ chính xác của nó tăng lên đến 93,3% khi nhiều chiếc xe đang lái cùng
hướng.
6.1 Tinh chỉnh độ nhạy và phát hiện sớm (Accurate and Early Car Detection)
Thiết lập I: Người dùng cố định và xe hơi: Trước tiên chúng ta đánh giá Auto++
có thể phát hiện ra xe xe hơi tiếp cận trên bãi đậu xe ngoài trời, nơi người dùng đứng yên
trên vỉa hè trong khi chiếc xe hơi tiến tới gần hơn. Chúng tôi đã tiến hành các thí nghiệm
sau đây trong một bãi đậu xe yên tĩnh để thu thập dữ liệu âm thanh khi một chiếc xe đang
tiếp cận người dùng. Những chiếc xe đang chạy trên một con đường nhựa mới, một loại
đường phổ biến ở Hoa Kỳ và thường yên tĩnh hơn khi nó mới [14]. Chúng tôi bắt đầu thử
nghiệm bằng cách giả lập sóng người sử dụng mô phỏng lên tài xế, sau đó tài xế bắt đầu
lái xe từ hướng đi 150 mét về phía người sử dụng với tốc độ 30km/h. Trong loạt thử
nghiệm này, chúng tôi đã sử dụng Google Nexus 6, được cố định trên một giá 3 chân ở vị
trí cách đường một mét, để ghi lại âm thanh qua cả hai micro. Để giảm tác động của gió,
chúng tôi lắp kính chắn gió trên micrô. Chúng tôi đã kết thúc một thử nghiệm sau khi
chiếc xe chạy cách người sử dụng 20 mét. Trong suốt toàn bộ thí nghiệm, chúng tôi kiểm
soát tốc độ lái xe là không đổi và dưới giới hạn tốc độ yêu cầu. Chúng tôi đã lặp lại thử
nghiệm này để thu thập dữ liệu trên 7 mô hình xe, bao gồm một phần lớn các xe hoạt
động ở Bắc Mỹ, bao gồm xe điện, sedan, xe thể thao và xe tiện ích thể thao.
Tổng cộng, chúng tôi đã thu thập được 210 dữ liệu âm thanh chứa dữ liệu một chiếc
xe tiếp cận bằng cách sử dụng phương pháp trên, mỗi đoạn âm thanh dài 20 giây. Chúng
tôi đánh giá hai thuật toán phát hiện được đề xuất: TRF, thực hiện việc trích chọn đặc
tính năng dựa trên ngưỡng cường độ cố định và BED-TRF, thực hiện việc trích chọn đặc
tính bằng cách sử dụng bộ phát hiện đường biên mờ. Chúng tôi so sánh hiệu suất của
chúng với thuật toán phát hiện dựa trên mức độ áp suất âm thanh (SPL) - phân loại âm
thanh như là 'có chứa một chiếc xe hơi' khi SPL vượt quá ngưỡng. Xét rằng SPL rất nhạy

cảm với tiếng ồn xung quanh, chúng tôi áp dụng một bộ lọc cao thông với tần số cắt là
1000 Hz để giảm tác động của tiếng ồn.
Để đánh giá, mục tiêu của chúng ta là báo cáo xem liệu thuật toán phát hiện có thể
phát hiện chính xác liệu một chiếc xe bằng dữ liệu âm thanh hay không, và phát hiện sớm
đến đâu để phát hiện ra chiếc xe. Chuẩn đo mà chúng tôi sử dụng ở đây là khoảng phát
hiện, khoảng giữa thời gian phát hiện ra một chiếc xe và thời gian mà chiếc xe dự kiến sẽ
vượt qua vị trí của người dùng. Khoảng phát hiện càng lớn, chúng ta càng sớm phát hiện


được chiếc xe. Chúng tôi trình bày sự phân chia khoảng thời gian phát hiện trong Bảng 2.
Trong số ba thuật toán, BED-TRF cho kết quả tốt nhất, trong khi SPL là tồi nhất. Ngay cả
khi xe chạy cách 4 giây, BED-TRF có thể phát hiện sự hiện diện của nó với xác suất
91%. Khi xe chạy cách đó 2 giây, BED-TRF và TRF có thể phát hiện ra sự hiện diện của
xe với xác suất 100% và 97%. Với các tập dữ liệu chúng ta có, chúng tôi quan sát tỷ lệ
sai dương tính là 0 đối với tất cả các thuật toán. Điều này cho thấy rằng BED-TRF có
hiệu suất phát hiện đáng tin cậy.
.

Hình 7. (a) CDFs của thời gian phát hiện của ba thuật toán phát hiện cho ta thấy
BED-TRF đem lại sự phát hiện sớm nhất; (b) CDF của khoảng thời gian phát hiện xe
điện (Volt) cho thấy Auto ++ có thể phát hiện xe điện cũng như các xe khác (BED-TRF
được sử dụng ở đây); (c) thời gian phát hiện trung bình trở nên ngắn hơn khi người dùng
đi bộ, nhưng khoảng thời gian phát hiện trung bình là 5.36 giây vẫn còn rất kịp thời. Khi
có nhiều xe hơi, khoảng thời gian phát hiện trung bình chỉ giảm xuống 6%; (d) CDF của


các khoảng phát hiện tương tự khi chúng tôi thay đổi tốc độ lái xe và khoảng cách giữa
đường và điện thoại.
Hình 7 (a) mô tả chức năng phân bố lũy kế (Cumulative Distribution Function CDF) trong khoảng thời gian phát hiện của cả ba thuật toán. Khoảng thời gian phát hiện
trung bình của SPL, TRF, và BED-TRF lần lượt là 2,4, 3,7 và 5,7 giây, với BED-TRF

vượt trội hơn đáng kể so với hai loại còn lại. BED-TRF có hiệu suất tốt nhất bởi vì tính
năng trích xuất của nó là mạnh mẽ nhất. Trong phần còn lại của đánh giá, chúng tôi tập
trung vào BED-TRF.
Cuối cùng, hình 7 (b) cho thấy ngay cả một chiếc xe điện có thể được phát hiện
chính xác và kịp thời bởi Auto ++. Chúng tôi thấy rằng khoảng thời gian phát hiện trung
bình cho xe điện (Chevrolet Volt) là 5,9 giây, thậm chí còn tốt hơn một chút so với
khoảng thời gian phát hiện trung bình tổng thể. Kết quả này rất đáng khích lệ vì có một
nỗi lo rằng xe điện quá yên tĩnh và do đó gây nguy hiểm cho người đi bộ.
Thiết lập II: Người dùng Smartphone di chuyển và Nhiều xe hơi: Tiếp theo,
chúng ta đánh giá Auto++ có thể phát hiện xe xe hơi tiếp cận tốt như thế nào trong khi
người dùng đang đi bộ trên vỉa hè của một bãi đậu xe (cầm smartphone trong tay), với
một hoặc nhiều xe xe hơi đến từ cùng một hướng. Khi chúng tôi có nhiều xe hơi, chúng
tôi đảm bảo rằng họ đi theo xe trước sau một khoảng cách an toàn (cách đó hơn 2 giây).
Trong cài đặt này, chúng tôi đã thu thập tổng cộng 60 file âm thanh.
So với cài đặt đầu tiên, chúng tôi đã thay đổi hai thông số trong cài đặt này: hoạt
động của người dùng (đứng yên và đi bộ) và số lượng xe tiếp cận (một hoặc hai). Chúng
tôi báo cáo CDF của các khoảng phát hiện trong Hình 7 (c). Chúng tôi quan sát thấy
rằng, hoạt động của người dùng ảnh hưởng lớn hơn đến khoảng thời gian phát hiện trung
bình - khoảng thời gian phát hiện trung bình của một người đang đi bộ là 5,4 giây trong
khi khoảng cách phát hiện của người dùng đứng là 6,8 giây, tuy nhiên chúng tôi vẫn có
thể phát hiện sự hiện diện với xác suất 90% khi một xe hơi là 3 giây. Số lượng xe hơi có
tác động nhỏ hơn nhiều. Đối với người đi bộ, khi số xe tiếp cận thay đổi từ 1 đến 2,
khoảng thời gian phát hiện trung bình thay đổi từ 5,4 giây xuống 5,1 giây và chúng tôi có
thể phát hiện ra sự hiện diện của xe với xác suất 93,3% khi một chiếc xe ở cách đó 3
giây.
Thiết lập III: Các môi trường ồn ào: Trong thí nghiệm thứ ba, chúng ta kiểm tra
xem thuật toán phát hiện hiện tại của chúng ta có đủ mạnh để phát hiện xe hơi trong môi


trường ồn ào. Để đạt được mục tiêu này, chúng tôi đã ghi lại âm thanh xung quanh trong

một số môi trường điển hình thường xuyên của người đi bộ khi không có xe chạy gần đó,
bao gồm trung tâm mua sắm, khuôn viên đường xá và khu dân cư vào những giờ bận rộn
vào một ngày trong tuần. Các nguồn âm thanh tiêu biểu của tiếng ồn xung quanh trong
các tình huống này bao gồm các bước, nói chuyện, các hoạt động mở cửa/đóng cửa, âm
thanh xe hơi từ một khoảng cách xa, vv Chúng tôi ghi âm âm thanh trong mỗi môi trường
với tổng chiều dài 10 phút, bao gồm 30 file (20 giây một file). Chúng tôi đã phủ kín các
clip tiếng ồn này trên những chiếc xe sử dụng để thử nghiệm tiếp cận (chúng tôi đã thu
thập được trong Cài đặt I), mô phỏng tình huống 'chạy xe trong môi trường ồn ào'.
Bảng 3 tóm tắt tỷ suất phát hiện đúng của BED-TRF và tỷ lệ phát hiện sai trong môi
trường yên tĩnh ban đầu (bãi đậu xe ở Thiết lập I) cũng như ba môi trường ồn ào. Chúng
tôi nhận thấy rằng, trong môi trường ồn ào, hiệu suất phát hiện bị giảm, nhưng kết quả
vẫn còn khá đáng khích lệ. Ví dụ: trên khuôn viên đường với học sinh đi bộ/trò chuyện
và chạy xe xe hơi/xe buýt của trường học, chúng tôi có thể phát hiện xe tiếp cận với tỷ lệ
thực tế trung bình là 97,2%, tỷ lệ sai 3,3% trung bình, và khoảng phát hiện trung bình là
4,2 giây cho các sự kiện tích cực thực sự. Theo kết quả mong đợi, kết quả tại trung tâm
mua sắm còn tệ hơn các trung tâm mua sắm trên đường khuôn viên và trong khu dân cư,
bởi vì có nhiều hoạt động ở đó tạo ra tiếng ồn xung quanh, chẳng hạn như người vào/ra
khỏi cửa hàng, xe hơi đang chạy trong khu mua sắm bãi đậu xe trung tâm ... Trong tương
lai, chúng tôi sẽ cố gắng nâng cao hiệu suất phát hiện tại một trung tâm mua sắm bằng
cách học và nhận ra tiếng ồn do các hoạt động khác nhau tạo ra.

Bảng 2. Sự phân bố tỷ lệ phát hiện theo thời gian. BED-TRF có thể phát hiện xe
hơi trong 4 giây với xác suất 91%.

Bảng 3. Độ chính xác phát hiện của Auto ++ trên khuôn viên và khu dân cư chỉ
hơi tệ hơn hiệu suất trên những bãi đỗ xe yên tĩnh. Chúng ta thấy sự suy giảm độ chính


xác phát hiện khi sử dụng Auto ++ tại một trung tâm mua sắm vì có rất nhiều hoạt động
tạo ra tiếng ồn xung quanh.

Thiết lập IV: Tốc độ chạy khác nhau và khoảng cách giữa đường và điện
thoại: Trong loạt thử nghiệm thứ tư, chúng tôi nghiên cứu xem hiệu suất của Auto++ có
mạnh mẽ so với các thông số như tốc độ xe đang lái xe hướng tới người dùng và cách xa
người dùng/gần đường. Với mục tiêu này, đầu tiên chúng tôi đã cho người sử dụng cách
xa một mét và lái xe với tốc độ 10 km/h, 20 km/h và 30 km/h. Sau đó, chúng tôi đã cố
định tốc độ lái xe ở tốc độ 30 km/h, trong khi thay đổi khoảng cách xa là 5 và 10 mét so
với đường.
Hình 7 (d) cho thấy sự phân bố khoảng thời gian phát hiện cho các cài đặt này. Kết
quả cho thấy hai tham số không có sự liên quan đáng kể đối với khoảng thời gian phát
hiện. Trên thực tế, theo Iwao et al. [17], một chiếc xe chậm hơn nói chung tạo ra tiếng ồn
ma sát thấp hơn, và chúng ta có thể phát hiện ra nó ở một khoảng cách ngắn hơn so với
một chiếc xe chạy nhanh hơn. Tuy nhiên, khoảng cách ngắn hơn không nhất thiết dẫn đến
một khoảng thời gian phát hiện ngắn hơn vì tốc độ của nó cũng thấp hơn. Cuối cùng,
chúng tôi lưu ý rằng khoảng cách giữa điện thoại và đường không có một tác động đáng
chú ý vào khoảng thời gian phát hiện vì dù sao nó nói chung là ngắn hơn khoảng cách
giữa điện thoại và xe.
Thiết lập V: Xử lý kích thước cửa sổ khác nhau: Trong loạt thử nghiệm này,
chúng tôi điều tra tác động của kích thước cửa sổ chế biến. Cụ thể, chúng tôi thực hiện
thuật toán BED-TRF trên các tệp âm thanh có chứa âm thanh xe hơi (xem Cài đặt I để
biết chi tiết) để đánh giá khoảng cách phát hiện khi chúng tôi có các kích thước cửa sổ
khác nhau và thực hiện thuật toán qua các tệp âm thanh mà không có âm thanh xe hơi
(xem Cài đặt II để biết chi tiết ) để báo cáo tỷ lệ dương tính giả với kích cỡ cửa sổ khác
nhau. Đối với cả hai đánh giá, chúng tôi thay đổi kích thước cửa sổ chế biến từ 0,3 giây
đến 1 giây với tăng 0,05 giây.
Chúng tôi báo cáo hai kết quả này trong Hình 8 (a). Chúng tôi nhận thấy rằng kích
thước cửa sổ chế biến lớn hơn dẫn đến khoảng thời gian phát hiện ngắn hơn khi thực sự
có một chiếc xe, nhưng trong khi đó tỷ lệ sai lệch thấp hơn trong khi không có xe gần. Lý
do là thuật toán phát hiện sự hiện diện của chúng tôi quan sát phần trăm giá trị TRF tăng
trong một cửa sổ. Với một ngưỡng tỷ lệ cố định, kích thước cửa sổ chế biến lớn hơn chắc
chắn sẽ dẫn đến việc phát hiện sau đó, nhưng nó cũng có thể giúp lọc ra các đỉnh năng

lượng 'sai' gây ra bởi tiếng ồn môi trường khác nhau.


Hình 8. (a) Ảnh hưởng của kích thước cửa sổ đối với khoảng phát hiện và tỷ lệ
phát hiện sai. Kích thước cửa sổ dài hơn dẫn đến khoảng phát hiện ngắn hơn nhưng tỷ lệ
sai lệch thấp hơn. (b) Ví dụ về phân phối xác suất log của kiểm tra HMMGE chỉ ra rằng
chúng ta có thể phân đoạn âm thanh riêng biệt với xe hơi và phân đoạn âm thanh mà
không có xe xe hơi thông qua việc thiết lập một ngưỡng xác suất log thích hợp. (c)
Chúng tôi nhận thấy độ chính xác cân bằng tối đa là 82% khi HMMGE chỉ chứa một
trạng thái
Thiết lập VI: So sánh với Thuật toán phát hiện dựa trên MFCC: Trong loạt
thử nghiệm này, chúng tôi nhằm mục đích so sánh cách tiếp cận của chúng tôi với
phương pháp tiếp cận máy học dựa trên MFCC thường được sử dụng trong xử lý tín hiệu
âm thanh. Chúng tôi so sánh độ chính xác phát hiện của chúng tại đây. Đối với chương
trình dựa trên MFCC này, chúng tôi sử dụng Model Hidden Markov với Gaussian
Emissions (HMMGE) [25] để phân biệt liệu một đoạn âm thanh có chứa âm thanh xe hơi
nào không. Trong HMMGE, cho các tham số mô hình và dữ liệu quan sát được (phân
đoạn âm thanh thử nghiệm), chúng tôi có thể tính được khả năng của dữ liệu thuộc mô
hình. Sau đó chúng tôi có thể đưa ra quyết định chấp nhận hoặc từ chối dữ liệu này bằng
cách so sánh khả năng đối với một ngưỡng lựa chọn cẩn thận.
Đầu tiên chúng ta tính MFCC cho mỗi phân đoạn âm thanh. Như đã đề cập trong
Phần 2.3, không có các tính năng phổ và thời gian đáng chú ý đối với tiếng ồn ma sát của
bánh xe và do đó chúng tôi tập trung vào những đoạn âm thanh, trong đó âm thanh xe hơi
được phát âm rõ nét hơn. Cụ thể, chúng tôi chọn các đoạn âm thanh cuối cùng bốn giây
trước khi xe chạy qua người dùng, được thu thập trong một bãi đỗ xe yên tĩnh khi xe xe
hơi chạy ở tốc độ 30km/h (xem Cài đặt I để biết chi tiết). Lý do là các tính năng MFCC
cho các mẫu âm thanh này có nhiều khả năng phát hiện ra sự hiện diện của chiếc xe.
Chúng tôi chia từng phân đoạn âm thanh thành bốn phần một giây và tính MFCC của
chúng. Mặt khác, chúng tôi cũng tính toán các MFCCs cho các khối âm thanh (chiều dài



một giây) không chứa âm thanh xe hơi và được thu thập trên khá nhiều bãi đậu xe, khuôn
viên trường học, khu dân cư, và các trung tâm mua sắm ngoài trời (xem Thiết đặt III để
biết chi tiết) .
Chúng tôi đào tạo mô hình MFCC HMMGE sử dụng dữ liệu có chứa âm thanh xe
hơi và kiểm tra cả trường hợp thực (với dữ liệu thử nghiệm có chứa âm thanh xe hơi) và
các trường hợp sai (với dữ liệu thử nghiệm không có âm thanh xe hơi). Chúng tôi thực
hiện 50 lần lặp lại xác nhận lấy mẫu ngẫu nhiên; trong mỗi lần lặp, chúng tôi chọn ngẫu
nhiên 75% tập dữ liệu thực như là dữ liệu huấn luyện, và 25% cả tập dữ liệu thật và bộ
dữ liệu giả định là dữ liệu kiểm tra. Để giải thích kết quả rõ ràng hơn, chúng tôi ngẫu
nhiên chọn một sự lặp lại, và hiển thị các biểu đồ của xác suất log của việc phát hiện đối
với dữ liệu thử nghiệm thực và dữ liệu thử nghiệm sai trong Hình 8 (b). Biểu đồ này cho
thấy rằng hai biểu đồ này đều có thể phân biệt bằng cách sử dụng một ngưỡng xác suất
log thích hợp.
Tiếp theo, chúng tôi tính toán các tỷ lệ phát hiện đúng và tỷ lệ phát hiện sai trên 100
giá trị ngưỡng xác suất log, dao động từ -4000 đến -5000 với độ tăng -10. Chúng tôi cũng
xem xét ba biến thể của mô hình HMMGE, tương ứng với số trạng thái HMM là 1, 2 và
3. Hình 8 (c) mô tả ba đường cong ROC [22], một cho mỗi biến thể mô hình. Kết quả
cho thấy mô hình một trạng thái đạt hiệu quả tốt nhất trong số ba biến thể.
Để so sánh cách tiếp cận dựa trên MFCC với cách tiếp cận của chúng tôi, chúng tôi
sử dụng bộ chính xác cân bằng,
trong đó NT và NF là số lần kiểm tra đúng và số lần kiểm tra sai, tương ứng. HMMGE
có thể đạt được độ chính xác cân bằng ở mức 82%, ngay cả khi chúng tooi chỉ xem xét
các mẫu âm thanh 4 giây cuối cùng (việc phát hiện xe hơi từ những mẫu này dễ dàng hơn
nhiều so với các mẫu khác), tuy nhieen vẫn thấp hơn nhiều so với độ chính xác cân bằng
của 97% bằng cách tiếp cận BED-TRF của chúng tôi. Điều này là do cách tiếp cận của
chúng tôi có khả năng nắm bắt các tính năng độc đáo ở cả biên độ và tần số tín hiệu khi
xe đang tiến tới, trong khi MFCC không phải là một tính năng rất hữu ích trong những
trường hợp như vậy.
Thiết lập VII: Đếm xe xe hơi của người dùng di động ở các khu vực đông

đúc: Cuối cùng, chúng tôi sẽ kiểm tra liệu Auto ++ có thể phát hiện và tính toán tiếp cận
xe hơi ở những khu vực có lưu lượng truy cập tương đối cao trong khi người dùng đi bộ
xung quanh khu vực (trên vỉa hè) . Trong loạt thử nghiệm này, chúng tôi đã thu thập dữ
liệu trên một con đường chính của trường, nơi mà những chiếc xe của chúng tôi không


được lái bởi các thành viên, mà là lái xe thực thụ. Tổng cộng, chúng tôi đã ghi 180 phút
dữ liệu âm thanh, mỗi đoạn âm thanh 1 phút. Chúng tôi đã thu dữ liệu thực địa (xe đi qua
người dùng và các dấu thời gian tương ứng) bằng cách định vị các đỉnh TRF trong mỗi
tuyến theo dõi ngoại tuyến. Sau đó chúng tôi so sánh số lượng xe hơi được xác định bởi
Auto ++ với thực địa, và gọi sự khác biệt tuyệt đối của hai loại là lỗi đếm. Nếu hai chiếc
xe rất gần nhau (cách nhau ít hơn 2 giây), chúng tôi coi chúng là một chiếc xe.
Chúng tôi báo cáo biểu đồ lỗi đếm đối với các lưu lượng giao thông khác nhau trong
Hình 9 (d). Kết quả cho thấy sai số đếm trung bình là 0.58 car / phút khi người sử dụng
đứng yên, và 1.04 car / phút khi người dùng đi bộ, khi khối lượng giao thông thực tế là 5
hoặc 6 xe hơi một phút. Khi số xe thực tế mỗi phút lớn hơn 8, lỗi đếm là 0,91 (đứng) và
2,02 (đi bộ) mỗi phút. Kết quả này cho thấy rằng Auto ++ có thể phát hiện chính xác và
đếm số xe hơi đang tiếp cận khi khối lượng giao thông vừa phải. Do đó, chúng tôi tin
rằng Auto++ cung cấp một cách tiếp cận khả thi cho việc giám sát giao thông mịn hơn
khi các công cụ giám sát lưu lượng hiện tại không đủ


×