2 điểm bởi GN⁺ 2024-11-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Ngay cả khi GPS, mạng di động và Wi‑Fi bị mất trong đường hầm, GO trip của Transit vẫn có thể tiếp tục hiển thị vị trí dự đoán, số ga còn lại và ETA
  • Cốt lõi là cách phân loại xem người dùng có đang ở trên một đoàn tàu đang di chuyển hay không bằng tín hiệu rung từ gia tốc kế của điện thoại, rồi tính toán cùng với vị trí xác nhận cuối cùng và lịch trình tàu
  • Nhóm Transit đã thu thập dữ liệu được gắn nhãn thủ công từ hàng trăm chuyến đi và nhiều thành phố; tại tàu điện ngầm New York City, họ đi tất cả các tuyến để ghi lại rung động của tàu, thang cuốn và thang máy
  • Mô hình dự đoán vị trí cuối cùng The Mixer xác định đúng vị trí hiện tại với xác suất 90%, và trong thử nghiệm ban đầu đã hỗ trợ phát hiện 1,5 triệu ga ngầm trên khoảng 400.000 chuyến đi
  • Hai mô hình được nén thành các tệp nhỏ và chạy trên điện thoại, nên có thể đếm ga ngoại tuyến; dữ liệu rung không được gửi lên máy chủ của Transit

Vì sao khó xác định vị trí dưới lòng đất

  • Trong các đường hầm tàu điện ngầm, metro, U-Bahn, dịch vụ di động, Wi‑Fi và GPS thường không hoạt động ổn định
  • Trước đây, để kiểm tra ga dừng hoặc ETA dưới lòng đất, người dùng phải dựa vào bảng chỉ dẫn trên sân ga, thông báo trong ga và màn hình kỹ thuật số trong toa
  • Thay vì tạo vệ tinh GPS xuyên qua mặt đất, Transit dự đoán vị trí tàu trong đường hầm bằng mẫu rung của điện thoại

Thông tin hiển thị trong GO trip

  • Người dùng chỉ cần bắt đầu GO trip trong Transit
    • Có thể bắt đầu ngay từ màn hình chi tiết tuyến
    • Cũng có thể bắt đầu từ hành trình đã lên kế hoạch
  • Ứng dụng hiển thị các thông tin sau ngay cả khi không biết tọa độ GPS
    • Vị trí dự đoán trên bản đồ
    • Đếm ngược số ga còn lại
    • ETA đã cập nhật

Bước 1: Phân loại chuyển động trên tàu

  • Khi đi vào đường hầm có GPS kém, trước hết cần xác định người dùng có đang ở trên tàu đang di chuyển hay không
  • Stephen, nhân viên Transit, đã ghi dữ liệu gia tốc kế bằng điện thoại khi đi làm đến văn phòng Montreal và gắn nhãn từng đoạn của hành trình
    • Thời điểm bắt đầu đi bộ
    • Thời điểm đi xuống cầu thang
    • Thời điểm chờ trên sân ga
    • Thời điểm tàu khởi hành và dừng lại
  • Dữ liệu gia tốc được sắp xếp theo phương pháp lấy cảm hứng từ Fourier transform và chuyển thành dữ liệu tần số
  • Trên tàu đang di chuyển, điện thoại rung ở khoảng 5Hz, còn khi đi bộ là khoảng 2Hz
  • Do nhiễu ngẫu nhiên và tần số hài, chỉ dùng mẫu đơn giản là không đủ; cần một mô hình học máy để phân loại loại chuyển động và nhiều dữ liệu huấn luyện

Bước 2: Thu thập dữ liệu đáp án đúng

  • Nhóm Transit đã gắn nhãn dữ liệu từ hàng trăm chuyến đi và hàng chục thành phố, nhằm tạo ra một mô hình tổng quát hóa có thể nhận biết “tàu đang di chuyển” bất kể loại tàu hay đường ray
  • Étienne và Elijah thu thập dữ liệu rung trên hệ thống tàu điện ngầm New York City, hệ thống ngầm phổ biến nhất trong ứng dụng
  • Hai người mang theo iPhone, Android và MetroCard, đi xe buýt và tàu MTA trong một tuần, đồng thời gắn nhãn từng giai đoạn của mỗi chuyến đi
  • Mục tiêu là tìm ra tín hiệu giúp phân biệt rung động trên tàu với các rung động khác trong ga
    • Họ đi lên xuống thang cuốn và thang máy, chú thích cả thời điểm dừng
    • Họ đi tất cả các tuyến tàu điện ngầm của New York, từ Bronx đến Brighton Beach, bao gồm Manhattan Bridge, Williamsburg Bridge và Canarsie Tunnel

Bước 3: Huấn luyện bộ phân loại chuyển động

  • Dựa trên dữ liệu cảm biến đã được sắp xếp và xử lý, motion classifier được huấn luyện để phân biệt “tàu đang di chuyển” và “không phải tàu đang di chuyển”
  • Mô hình nhận dữ liệu cảm biến chưa gắn nhãn làm đầu vào và ước lượng điện thoại đang ở trên tàu đang di chuyển, tàu đang dừng, khi đi bộ hay khi di chuyển trên thang cuốn
  • Transit so sánh ước lượng này với ground truth được tạo bằng chú thích thủ công, rồi điều chỉnh logic để dự đoán chính xác hơn
  • Sau quá trình điều chỉnh, mô hình có thể phân biệt người dùng thực sự đang ở trên tàu đang di chuyển hay chỉ đơn giản là điện thoại đang rung

Bước 4: Mô hình dự đoán vị trí The Mixer

  • Sau khi biết có đang di chuyển hay không, cần dự đoán chính xác đoàn tàu của người dùng đang ở đâu
  • Mô hình cuối cùng, The Mixer, tính vị trí hiện tại bằng cách gán trọng số cho các yếu tố sau
    • Dự đoán loại chuyển động, tức người dùng có đang ở trên tàu đang di chuyển hay không
    • Vị trí xác nhận cuối cùng của người dùng
    • Vị trí xác nhận cuối cùng là gần đây hay đã lâu
    • Lịch trình tàu
  • The Mixer dự đoán đúng vị trí hiện tại với xác suất 90%
  • Trong ví dụ về hành trình Paris RER, ở đoạn ngầm có các cập nhật vị trí không liên tục thông qua GPS và quét Bluetooth/Wi‑Fi; các cập nhật này được dùng để hiệu chỉnh dự đoán vị trí dưới lòng đất cho những đoạn không có kết nối
  • Khi người dùng lên mặt đất và đi vào khu vực có dịch vụ di động, ứng dụng quay lại dùng vị trí GPS tiêu chuẩn

Hoạt động ngoại tuyến và xử lý quyền riêng tư

  • Khi có thể dự đoán vị trí, ứng dụng có thể cập nhật ETA của người dùng ngay cả dưới lòng đất
  • Người dùng có thể đếm ga mà không cần phụ thuộc vào GPS chập chờn hay phải nhìn màn hình trong toa
  • Việc đếm ga hoạt động hoàn toàn ngoại tuyến
  • motion classifier và The Mixer được nén thành các tệp nhỏ và chạy trên điện thoại
  • Dữ liệu rung không được gửi lên máy chủ của Transit
    • Không theo dõi
    • Không cookie
    • Dữ liệu rung vẫn nằm trên thiết bị của người dùng

Cách sử dụng và quy mô thử nghiệm ban đầu

  • Người dùng chỉ cần tìm tàu điện ngầm, mở Transit và bắt đầu hành trình bằng GO để thấy các ga được đếm ngược từng ga một
  • Trong giai đoạn thử nghiệm ban đầu, Transit đã hỗ trợ phát hiện 1,5 triệu ga ngầm trên khoảng 400.000 chuyến đi
  • Điều hướng từng bước của GO đã được hàng triệu người di chuyển trên mặt đất sử dụng tại hơn 600 thành phố
  • Sau GO Bike ra mắt tháng trước, người đi xe đạp cũng sử dụng GO
  • Với tính năng này, người đi tàu dưới lòng đất có thể tin cậy GO hơn ngay cả ở những đoạn có kết nối kém
  • Ứng dụng có tại trang tải xuống Transit

1 bình luận

 
GN⁺ 2024-11-14
Các ý kiến trên Hacker News
  • Khoảng 10 năm trước tôi từng đọc một bài blog của công ty Pháp snips, nói rằng ứng dụng phát hiện thời điểm tàu vào hoặc rời ga bằng cảm biến áp suất khí quyển
    Khi tàu đi vào hoặc ra khỏi đường hầm giữa các ga, áp suất không khí tăng/giảm đột ngột, tạo ra một tín hiệu khá rõ
    Tìm thấy rồi: https://medium.com/snips-ai/underground-location-tracking-3e...

    • Trên tàu cao tốc, ống khí nén ở mép cửa đôi khi còn được nén lên áp suất cao hơn trước khi vào đường hầm
      Ống này có thể phát hiện áp suất tăng vọt để biết liệu cửa có đang kẹp tay người hay không, và cũng được dùng để giảm hiệu ứng “ầm” do chênh lệch áp suất khi vào đường hầm
    • Tôi từng làm trong dự án này, nên có thể giải thích vì sao cuối cùng chúng tôi không dùng cảm biến áp suất khí quyển
      Không phải điện thoại nào cũng có cảm biến áp suất khí quyển, và chất lượng đo giữa các mẫu máy cũng khác nhau rất lớn. Ví dụ, có thiết bị chỉ cần cầm chặt điện thoại như bóp nó là giá trị đã nhảy
      Transit cũng không có quyền đọc cảm biến áp suất khí quyển, và với mục đích của chúng tôi thì rất khó biện minh để xin quyền đó
    • Tôi nhớ là trước đó nữa Google Maps cũng từng thử nghiệm ước tính chuyển động của tàu bằng từ kế
      Tuy nhiên độ chính xác dường như phụ thuộc vào việc dòng điện của lưới điện là DC hay AC, thậm chí cả năm đời toa tàu
    • Berlin Airport thì tàu đóng vai trò thông gió
      Tòa nhà đã hoàn tất nhưng không được vận hành, nên trong gần 10 năm công ty đường sắt địa phương phải chạy tàu ra vào tòa nhà
    • Rất ít điện thoại Android có cảm biến áp suất khí quyển
  • Thực sự rất hay
    Hiện tôi đang thực hiện một dự án ghi âm tiếng động của London Underground chạy bên dưới chỗ tôi
    Tuyến Northern Line chạy dưới chúng tôi nghe rất rõ, độ sâu chưa đến 30 m
    Tôi bị ám ảnh với việc dùng ghi âm tần số thấp chất lượng cao để bắt được tiếng tàu chạy qua. Không biết vì sao, nhưng nó cứ ở mãi trong đầu
    Ví dụ có hai đường hầm hướng bắc/hướng nam, tôi tò mò liệu có thể tương quan với dữ liệu TfL thực tế để phân biệt dấu âm thanh của từng đường hay không
    Thú vị hơn nữa là liệu có thể “bắt” được các xe bảo trì chạy dưới chúng tôi sau khi hết giờ phục vụ hay không
    Tôi không biết còn có thể làm gì thêm với dự án này, nhưng bị cuốn hút bởi ý nghĩ ghi lại âm thanh của một sinh vật nửa hư ảo nào đó đang chuyển động bên dưới mình

    • Hay đấy. Tôi tò mò bạn đã cân nhắc những cảm biến nào
      Tôi quan tâm đến các rung động tần số cao cực yếu phát ra từ những vật thể thường ngày ở trạng thái đứng yên, có lẽ mục tiêu gần như ngược lại. Tôi vẫn chưa tiến triển mấy trong việc tìm cảm biến
      Tôi muốn có một máy đo rung Doppler laser, nhưng giá đắt
    • Vài tuần trước tôi đến buổi open house của Lamont-Doherty Earth Observatory, và một nhà nghiên cứu đang ghi âm rồi phân tích âm thanh địa chấn theo cách tương tự
      Tôi sẽ thử tìm xem là ai làm
      [0] https://lamont.columbia.edu/
    • Việc chỉ dùng các tín hiệu thụ động có thể thu lén từ mặt đất, lại còn ghi bằng thiết bị không chuyên, để phân biệt những gì đang diễn ra sâu dưới lòng đất có lẽ sẽ khiến một số cơ quan chính phủ quan tâm
    • Tôi từng sống cách nơi tàu điện ngầm chạy qua khoảng 300 yard, và hình như có thể nghe thấy
      Không rõ đó là âm còn sót lại từ lối thoát hiểm trên vỉa hè, hay mặt đất rung như một cái chuông
  • Tôi cũng muốn ghi nhận một chút rằng giọng văn hội thoại của bài viết thật sự rất hay
    Dù đi vào những phần giải thích khá chi tiết như biểu đồ tần số, đọc vẫn thú vị. Tôi đọc bản tiếng Anh
    Người viết đã làm rất xuất sắc

    • Đúng vậy. Một giọng văn đáng yêu do con người viết, không phải AI
    • Các bài ra mắt sản phẩm và bài kỹ thuật của họ thường được viết rất tốt
      Transit App là một ứng dụng như viên ngọc quý
  • Gọi là “bộ phân loại” nghe thân thương thật. Ấn tượng ở chỗ cả bài không hề nhắc đến từ AI một lần nào

    • Tốt đấy. Nghĩa là kỹ thuật đang cầm lái, chứ không phải marketing
  • Một số thành phố lắp BLE beacon trong đường hầm để phát vị trí, rồi dùng tín hiệu beacon mạnh nhất để xác định vị trí hiện tại
    Cách này trông hay ở chỗ tìm ra được điều đó mà không cần lắp phần cứng

    • Một số tàu còn có công nghệ hiện đại gọi là “màn hình”, hiển thị vị trí hiện tại, ga tiếp theo, tuyến, v.v.
      Tất nhiên, công bằng mà nói thì các màn hình đó sai nhiều đến mức buồn cười, và còn xoay vòng những thông báo vô dụng như “đừng quên hành lý”, nên phải đợi khoảng 20 giây mới thấy thông tin mình muốn. Ở trên tàu thì tệ đến chết người
    • London tube đang dần có tín hiệu di động theo từng tuyến, nhưng vì mọi sân ga đều có WiFi của ga nên có lẽ chỉ dùng thứ đó cũng làm được
  • Tiến độ giữa các ga có lẽ có thể được theo dõi tốt hơn bằng cách phát hiện dấu gia tốc của từng đoạn đường ray
    Đặc biệt nếu đường ray không hoàn toàn thẳng và phẳng; trông giống điều hướng ô tô thời kỳ đầu trước GPS. Khi đó người ta dùng dead reckoning, rồi khớp hình dạng tuyến đường đo được với dữ liệu bản đồ để hiệu chỉnh độ trôi

    • Dấu gia tốc thay đổi tùy theo lái tàu, sức chứa và tải hiện tại của tàu, mẫu tàu hoặc khác biệt trong hệ truyền động
      Cách đáng tin cậy hơn có thể là dùng gia tốc kế để nhận diện đặc trưng của đường ray: độ dốc, khúc cua, chỗ gồ ghề, hoặc tổ hợp của chúng
      Âm thanh khi vào cua, sự thay đổi nền âm ở đoạn hợp lưu đường hầm, v.v. cũng có thể dùng được. Gia tốc sau khi tích phân cho vận tốc tàu, nên hữu ích khi kết hợp với đầu vào khác
    • Tôi nghĩ ý định của họ có lẽ là tạo ra thứ gì đó hoạt động trên mọi tuyến đường ray mà không cần dữ liệu dấu hiệu
      Thu thập dấu hiệu thì rất hay, nhưng để phủ rộng nhiều thành phố và điện thoại sẽ là khối lượng công việc khổng lồ. Các công ty như Google hay Apple có thể có dữ liệu và năng lực, còn công ty nhỏ thì ít khả năng hơn
    • Shazam cho đường ray tàu
    • Với mạng lưới tram ở khu tôi, chỉ cần nghe tiếng bộ inverter điều khiển động cơ là có thể làm được
      Có một tiếng vo ve rất đặc trưng ăn khớp với vòng quay bánh xe. Trước đây tôi từng làm một đồng hồ tốc độ thô sơ bằng SFT, phát hiện đỉnh và lọc Kalman
  • Là người dùng Transit, cảm ơn vì đã tạo ra một ứng dụng tuyệt vời như vậy; đây luôn là một trong những bất tiện lớn nhất
    Không chỉ Transit, mà bất kỳ ứng dụng nào hỗ trợ điều hướng giao thông công cộng cũng vậy, Apple Maps cũng không ngoại lệ
    Tôi từng nghĩ chắc hẳn có ai đó đang làm việc này, nhưng đọc về những suy nghĩ trong thiết kế và mức độ chi tiết thì thật sự rất sảng khoái. Đó là một nỗ lực khổng lồ
    Nhóm Transit có thể tự hào vì đã giải quyết được một trong những bất mãn nhỏ mà lớn của ứng dụng giao thông công cộng

  • Thật sự rất hay. Tôi thường đi BART, và luôn nghĩ sẽ thú vị nếu tạo một bộ phân loại vị trí dựa trên tiếng rít ken két khác nhau ở từng vị trí trong đường hầm
    Nhưng có lẽ dùng dữ liệu gia tốc kế sẽ thực tế hơn nhiều

    • Việc dùng micro làm cảm biến trong ứng dụng giao thông công cộng khá rắc rối
      Có thể ghi âm tiếng tàu chạy để suy ra chuyển động, nhưng người dùng sẽ nghi ngờ ứng dụng đang nghe lén họ
    • Chỉ cần chỉnh tiếng rít ken két sao cho mỗi ga phát ra một hợp âm khác nhau là được
  • Ngoài học máy, nếu dùng gia tốc kế và con quay hồi chuyển để dẫn đường quán tính thì chẳng phải sẽ tốt hơn nhiều sao?
    Khi ở trên tàu đang chạy, có thể ràng buộc chuyển động theo tuyến đường hầm đã biết, và khi phát hiện tàu khởi hành thì ràng buộc rằng người dùng đang nằm trong hình chữ nhật dừng tàu
    Hay là dù có thêm thông tin thì phần cứng smartphone vẫn quá kém chính xác?

    • Thứ có thể hữu ích nhất có lẽ là cảm biến Hall/từ kế/la bàn. Những thứ đó có thể cho ra kết quả dẫn đường quán tính tương đối ổn
      Chỉ dùng con quay hồi chuyển thì hoạt động rất tốt trong các đoạn di chuyển ngắn, nhưng gần như vô dụng trên những khúc cua dài và thoải. Con quay hồi chuyển MEMS trôi khá nhiều trong vài chục giây
      Nếu có thể hợp nhất cảm biến bằng từ kế và gia tốc kế thì vấn đề sẽ nhẹ hơn, nhưng trên tàu chạy nhanh, việc tìm hướng “xuống dưới” rất khó vì lực khi tăng/giảm tốc và khi vào cua. Cũng không rõ la bàn hoạt động tốt đến đâu trong đường hầm tàu điện ngầm
      Tôi chỉ từng dùng ứng dụng “chân trời nhân tạo” trên máy bay, và ở đó gia tốc kế hoàn toàn vô dụng trong việc tìm hướng “xuống”. Chỉ một lần cơ động chịu vài G là đường chân trời không còn biết gì về góc chúc/ngóc nữa. Nếu môi trường từ tính nhiễu và GPS cũng tắt thì nó cũng không biết đang đi đâu
    • Đó chính là việc họ đang làm
      Tuy nhiên dẫn đường quán tính nói chung rất thiếu chính xác, nên nếu nhận biết được rằng người dùng đã lên tàu thì có thể biết chính xác tàu đang ở đâu và tăng độ chính xác lên rất nhiều
    • Có vẻ khó dùng IMU. Tín hiệu thực là gia tốc nhẹ của tàu rất có thể bị lẫn trong nhiễu rung và chuyển động tự nhiên của con người
      Nếu mỗi lần tàu dừng mà người dùng đứng yên hoặc ngồi yên đủ lâu thì có thể hiệu chỉnh bias của IMU, nhưng dù vậy dẫn đường quán tính có lẽ vẫn sẽ trôi khá nhiều
    • Nếu thực hiện FFT trên tín hiệu micro và gia tốc cho mọi đoạn của hệ thống tàu điện ngầm, rồi ghi lại thời gian di chuyển trong quá khứ, thì có vẻ khá đơn giản
      Chỉ cần ước tính tốc độ hiện tại so với dữ liệu lịch sử và dự đoán thời gian đến. Vì vậy nên tập trung vào tốc độ hơn là gia tốc
    • Giải pháp họ triển khai rất thú vị, nhưng thực ra không phải là “dự đoán vị trí trong đường hầm tàu điện ngầm bằng chữ ký rung của điện thoại”
  • Tuần trước tôi đã thử tính năng này trên New York subway. Tôi không biết đó là tính năng mới
    Ý tưởng thì hay, nhưng với tôi nó không hoạt động; ứng dụng hiển thị tàu đang ở sau vị trí thực tế vài ga