Đếm toàn bộ số yurt/ger ở Mông Cổ bằng machine learning
(monroeclinton.com)- Thực hiện một dự án nhằm trực tiếp đếm số yurt (ger) trên toàn lãnh thổ Mông Cổ bằng thuật toán machine learning
- Huấn luyện mô hình YOLO để nhận diện yurt từ ảnh vệ tinh đơn lẻ, đồng thời tự động hóa gán nhãn dữ liệu quy mô lớn
- Dùng máy chủ phân tán, Docker Swarm, FastAPI để hơn 120 worker xử lý song song các tile ảnh và tổng hợp kết quả
- Cuối cùng phát hiện 172.689 yurt, và kết quả này góp phần giúp hiểu rõ hơn về tăng trưởng đô thị của Mông Cổ và các vấn đề hạ tầng nhà ở
- Đồng thời cung cấp góc nhìn về khu ger của Mông Cổ, bối cảnh xã hội của chúng và các bài toán phát triển
Đếm yurt ở Mông Cổ bằng machine learning – Tổng quan dự án
Sự tò mò về xã hội Mông Cổ hiện đại
- Thay vì phân tích dữ liệu để hiểu lịch sử Đế quốc Mông Cổ và diện mạo của Mông Cổ hiện đại, tác giả đã chủ động khám phá chế độ xem vệ tinh trên Google Maps
- Từ ảnh vệ tinh của Ulaanbaatar, tác giả nhìn thấy những cụm yurt khổng lồ kéo dài hàng km và quyết định tự mình đếm chính xác có bao nhiêu yurt
Chuẩn bị dữ liệu và gán nhãn
- Tự động thu thập ảnh vệ tinh dạng tile (256x256 px) từ Google Maps, tập trung vào khu vực quanh Ulaanbaatar
- Nhập các tile vào Label Studio và gán nhãn thủ công từng yurt bằng bounding box để tạo ra dữ liệu chú thích (annotated data)
- Chọn YOLO11 (ultralytics) làm thuật toán phát hiện đối tượng và dùng bộ dữ liệu annotated để huấn luyện mô hình
Huấn luyện mô hình và mở rộng dataset
- Ngoài việc huấn luyện mô hình dựa trên YOLO11, dự án còn nâng mức tự động hóa bằng vòng phản hồi lặp gán nhãn - huấn luyện lại - gán nhãn
- Ban đầu độ chính xác thấp do thiếu dữ liệu, nhưng thông qua gán nhãn bổ sung lặp lại và tăng số lượng mẫu, tỷ lệ phát hiện đã được cải thiện
- Thay vì dùng laptop, tác giả thuê tài nguyên GPU trên vast.ai và chạy huấn luyện quy mô lớn trong môi trường Docker container. Sau khi hoàn tất, kết quả mô hình và metadata được tự động tải lên kho lưu trữ S3
Xây dựng hệ thống tìm kiếm trên quy mô toàn quốc
Tối ưu phạm vi quét
- Tính số lượng tile theo từng mức zoom dựa trên toàn bộ diện tích Mông Cổ
- Do mật độ dân số thấp, để loại bỏ các khu vực không có người ở, tác giả dùng overpass turbo để trích xuất các điểm có khả năng có người sinh sống
- Dựa trên vùng đệm 2 km quanh các điểm đã trích xuất, tập tile thực sự cần kiểm tra được thu hẹp đáng kể
Xử lý phân tán quy mô lớn
- Sử dụng Docker Swarm để cấu hình một cụm gồm 8 máy chủ (tổng 128 vCPU)
- Tách vai trò thành server API (FastAPI) và worker:
- API: quản lý vùng tìm kiếm và tập tile sẽ phân cho worker, đồng thời theo dõi tiến độ và trạng thái
- Worker: nhận vùng tìm kiếm từ API, dùng mô hình phát hiện yurt trong các tile tương ứng rồi đăng ký kết quả về API
Tổng hợp kết quả
- Xử lý song song khoảng 270.000 vùng tìm kiếm và hàng triệu ảnh trên toàn bộ hệ thống
- Cuối cùng xác nhận 172.689 yurt dựa trên các kết quả phát hiện có xác suất từ 40% trở lên
- Công bố dataset để phân tích việc sử dụng đất, khách sạn, phân bố yurt gần các mỏ quy mô nhỏ, v.v.
Yurt và bối cảnh xã hội của Mông Cổ
Lịch sử và biến đổi của khu ger (yurt)
- Về mặt lịch sử, yurt là kiểu nhà ở truyền thống của người du mục Mông Cổ, nhưng trong quá trình đô thị hóa và công nghiệp hóa, công năng của nó đã thay đổi theo nhiều hướng
- Đầu thế kỷ 20, yurt còn được dùng cho các mục đích công cộng như trường học tạm thời, và cùng với làn sóng dân cư đổ về đô thị lớn, các khu ger đã hình thành ở những nơi như Ulaanbaatar
"Theo điều tra dân số năm 1979, 51% dân số sống ở đô thị, phản ánh quá trình đô thị hóa nhanh trong thập niên 1970. Do thiếu nhà ở và hạ tầng, các khu ger đã mở rộng ra vùng ven đô."
Đô thị hóa và thách thức hạ tầng
- Dân cư từ nông thôn mang theo yurt và chuyển đến thành phố, sử dụng chúng làm nơi ở trong khi hạ tầng chính thức chưa được thiết lập
- Việc ban hành luật liên quan đến quyền sở hữu đất đai năm 2002 đã thúc đẩy quá trình hợp pháp hóa nơi cư trú của cư dân khu ger
- Chính phủ đang thúc đẩy các chính sách tái phát triển như Ulaanbaatar 2020 Master Plan, nhưng tốc độ triển khai thực tế vẫn khá chậm
"Chủ đất ở khu ger bán hoặc trao đổi đất cho các nhà phát triển để xây chung cư mới, nhưng giá trị căn hộ thường thấp hơn giá trị đất, hoặc tiến độ phát triển diễn ra chậm."
Hàm ý và triển vọng trong tương lai
- Điều này cho thấy việc chính thức hóa các khu ger và cung cấp hạ tầng cho chúng vẫn là một bài toán xã hội và chính sách
- Mục tiêu dài hạn của chính phủ Mông Cổ là phổ cập hạ tầng đô thị như nhà ở, nước sạch, điện cho các khu ger
- Cần xây dựng chính sách dựa trên dữ liệu và theo dõi liên tục
Câu hỏi để tiếp tục đào sâu
- Những yếu tố chính dẫn đến đô thị hóa và công nghiệp hóa ở Mông Cổ cũng như các nước khác
- Sự khác biệt giữa những người Mông Cổ định cư ở thành phố và những người ở lại
- Những khó khăn phía chính phủ gặp phải trong phát triển khu ger
- Bối cảnh tạo ra khác biệt về tốc độ phát triển giữa các quốc gia
Tài liệu tham khảo
- Tham khảo các bài nghiên cứu, báo cáo và cơ sở dữ liệu chính liên quan đến chính sách, xã hội học và hạ tầng
- “Distributional Effects of Ger Area Redevelopment in Ulaanbaatar, Mongolia.”
- Ulaanbaatar 2020 Master Plan and Development Approach for 2030.
- “Educational Import: Local Encounters with Global Forces in Mongolia.”
- Mongolia: A Country Study. Federal Research Division, Library of Congress.
- Poverty Mapping in Mongolia with AI-Based Ger Detection Reveals Urban Slums Persist after the COVID-19 Pandemic. arXiv.
Kết luận
- Dự án dùng công nghệ và dữ liệu để nhìn vào các vấn đề xã hội, đồng thời đưa ra góc nhìn mới về bối cảnh xã hội và mô hình cư trú
- Đây là một ví dụ ứng dụng thực tế của việc kết hợp nhiều kỹ thuật và công cụ mã nguồn mở (machine learning, Docker, FastAPI, v.v.)
1 bình luận
Ý kiến trên Hacker News
Khi nói về các khu ger/yurt trong thành phố, tôi nghĩ không nên xem nhẹ lối sống du mục và tầm quan trọng văn hóa của ger. Gần đây do biến đổi khí hậu (sa mạc hóa) và lý do kinh tế, nhiều người buộc phải từ bỏ đời sống du mục và chuyển đến gần các thành phố như Ulaanbaatar, nhưng phần lớn coi đó là tạm thời và miễn cưỡng vào đô thị. Không chỉ vì thiếu nhà ở, mà còn vì việc chuyển hẳn vào căn hộ hay công trình cố định mang ý nghĩa tượng trưng là đã từ bỏ hoàn toàn đời sống du mục, nên tâm lý ngần ngại rất lớn. Vì thế người ta cũng thường dựng ger cạnh các công trình kiên cố, hoặc đặt thêm trong sân nhà họ hàng, hay mở rộng để sử dụng như một cách giữ gìn bản sắc văn hóa. Có thể thấy những trường hợp như vậy trong các bức ảnh đầu tiên
Vài năm trước tôi từng băng qua Mông Cổ bằng xe máy và có một điều rất ngạc nhiên: ngay cả khi sống trong nhà kiên cố tốt, họ vẫn luôn có một cái ger ở sân sau. Với người ngoài thì sẽ tự hỏi tại sao cần một ngôi nhà thứ hai, nhưng khi tôi hỏi người địa phương thì họ nhìn tôi như thể câu hỏi đó rất lạ. Ger đơn giản là thứ ăn sâu vào văn hóa, vừa là một dạng biểu tượng địa vị, vừa là không gian để tiếp khách, sinh hoạt ngoài trời và dùng cho nhiều mục đích khác
Tôi muốn kể lại trải nghiệm ở một cung điện tại Khiva, Uzbekistan: rõ ràng đó là một cung điện truyền thống với cổng vào và nhiều căn phòng lộng lẫy, thế nhưng ở một góc sân trong nằm sâu bên trong, được tường bao kín hoàn toàn, lại có một chỗ hình tròn riêng để dựng ger. Các khan ở vùng này cũng tự hào về huyết thống Thành Cát Tư Hãn, và dù sống trong đô thị thì vẫn có quan niệm rằng ngủ đêm dưới mái cố định là không xứng với một khan; những người thân đến thăm cũng không mấy hoan nghênh hình ảnh như vậy
Wiki Toshhovli Palace
[Ảnh vị trí hình tròn trong sân tiếp khách](https://en.wikipedia.org/wiki/Toshhovli_Palace#/media/File:KhivaTach_Khaouli_reception_yard_Iwan.JPG)
Mông Cổ gần đây đã trải qua vài mùa đông cực kỳ khắc nghiệt, dẫn đến làn sóng di cư quy mô lớn khỏi thảo nguyên và đàn gia súc suy giảm mạnh, nên đa số đang đổ vào thành phố. Ngay cả khi muốn thì cũng không đủ chỗ trong các tòa nhà kiên cố
Theo tôi nghe nói thì họ thường đã có sẵn ít nhất một cái ger, và khi cần chuyển đi cũng tương đối dễ. Ví dụ tôi từng nghe nói rằng nếu có dịp đặc biệt thì họ lại quay về nhà ở vùng quê
Tôi thiên về cách hiểu rằng sống trong ger không hẳn là do thất bại của chính sách công, mà đơn giản là một lựa chọn văn hóa. Ngày xưa Thành Cát Tư Hãn cũng sống trong ger, và thực tế có người chọn như vậy vì nhu cầu, còn người khác chọn vì ý muốn của bản thân. Vì vậy khó thể khẳng định bản thân hình thức đó là điều tiêu cực
Ở Ulaanbaatar có loại ger được tiêu chuẩn hóa. Có thể dễ dàng mua linh kiện hoặc ger hoàn chỉnh ở các khu chợ lớn. Tính đến năm 2017, một cái có giá khoảng 1.000 USD. Với số tiền đó có thể có được một ngôi nhà nhỏ cách nhiệt tốt, dễ di chuyển, và ở Mông Cổ thì có thể định cư gần như ở bất cứ đâu ngoài đô thị (dù vậy, nếu đi kèm 2.000 con cừu thì tốt hơn nên bàn với địa phương về quyền sử dụng đồng cỏ). Rốt cuộc việc chọn ger không chỉ là truyền thống và văn hóa, mà trong hoàn cảnh đó còn là một quyết định hợp lý
Nhân tiện, theo phép lịch sự thì nên gọi lều nhà ở kiểu Thổ Nhĩ Kỳ là yurt, còn kiểu Mông Cổ là ger. Có người đùa rằng ở Pháp người ta gọi là chabadoux, ở Canada là plumbus, còn ở Mỹ là flib. Và thêm một câu đùa rằng nếu người địa phương nhìn cái chabadoux của tôi rồi gọi nó là ger thì tôi cũng hơi để bụng
Tôi tò mò không biết họ làm kiểu nền móng nào để đặt ger lên
Có người nói số yurt áp dụng machine learning ở Mông Cổ là 0
Tôi lại nghĩ chắc không phải vậy, thậm chí đoán là cũng có khá nhiều
Lúc đầu tôi tưởng yurt là một nghề nghiệp hay kiểu người nào đó, nên hiểu sai tiêu đề
Cảm ơn nhé, nhờ vậy mà tôi có một trải nghiệm buồn cười
Với tư cách người không phải bản ngữ, tôi tự hỏi câu nào sẽ đúng hơn. Ví dụ như câu kiểu “đã đếm tất cả yurt ở Mông Cổ bằng machine learning”
Tôi thấy hơi tiếc vì họ không tận dụng 89.259 yurt đã có sẵn đường bao trên OpenStreetMap (OSM) làm đầu vào. Tuy vậy chắc hẳn sẽ có vấn đề khi căn chỉnh các đường bao đó với ảnh Google Maps
Thống kê thẻ ger của OSM tại Mông Cổ
Tôi đoán mô hình có lẽ bắt không tốt các yurt nằm trên ranh giới tile. Và so với dân số 3 triệu thì con số này có vẻ ít hơn nhiều so với tôi tưởng
Về ý “số yurt ít so với 3 triệu người”, nếu kết quả thực tế là 172.700 cái và giả định mỗi cái là nơi ở của một gia đình, với 4 người mỗi ger (có lẽ thực tế còn nhiều hơn) thì thành khoảng 690.000 người, tức 20% dân số 3,5 triệu của Mông Cổ. Nghe khá hợp lý
Tôi cũng chia sẻ con số ước đoán sơ bộ trước khi bấm vào liên kết. Trong 3 triệu dân Mông Cổ thì 1,5 triệu sống ở thủ đô. Giả sử khoảng 1 triệu người sống ngoài khu đô thị, nếu 4 người một ger thì là 250.000 cái. Cộng thêm các mục đích phụ như tiếp khách, kho chứa, trong sân nhà... thì tôi ước chừng khoảng 300.000 cái, gần gấp đôi kết quả của ứng dụng ML
Ý tưởng dùng OSM làm nhãn như thế này được nhắc đến khá thường xuyên trong các dự án địa lý/machine learning. Tuy nhiên, giấy phép của OSM không cho phép gắn với ảnh Google Maps, nên ngay cả cho mục đích nghiên cứu thì việc lấy ảnh hay chia sẻ lại cũng có nhiều vấn đề pháp lý. Google nhận sublicense từ nhiều nguồn ảnh bên ngoài và quản lý IP rất chặt. Vấn đề căn chỉnh ảnh/nhãn cũng lớn, và bản thân nhãn có thể chỉ là tọa độ GPS chứ không phải từ ảnh. Hơn nữa, các cấu trúc di động như ger thì độ hoàn chỉnh và tính nhất quán của nhãn khó mà cao được. Mức độ đầy đủ của OSM cũng phụ thuộc nhiều vào độ tích cực của cộng đồng từng khu vực. Dù vậy vẫn có thể dùng nó để đối chiếu chéo giữa nhãn tự có và giá trị dự đoán. Với phát hiện theo tile, người ta thường bỏ các dự đoán ở biên, rồi dùng cửa sổ chồng lấp và NMS để xử lý trùng lặp
Dù là khoảng 172 nghìn cái thì vẫn là một con số khổng lồ, và số ger trên đầu người chắc chắn vượt xa bất kỳ nơi nào khác trên thế giới
Tôi muốn nhấn mạnh rằng việc tải trực tiếp ảnh vệ tinh từ Google Maps là bị cấm theo điều khoản sử dụng. Thực tế rất dễ bị chặn, nên tôi ngạc nhiên là họ đã tải được toàn bộ tile của Mông Cổ
Ngoài chuyện độc quyền thị trường thì tôi không hiểu lý do của chính sách như vậy
Nếu bị chặn thì cứ tạo tài khoản mới thôi
Kết quả rất thú vị, và tôi muốn biết tỷ lệ dương tính giả thực tế là bao nhiêu. Liệu bồn chứa, silo hay hồ bơi ngoài trời có bị phân loại nhầm thành ger không?
Đây là kiểu dự án Geo/ML tôi từng gặp hồi đại học, nên lâu rồi mới lại thấy và thấy rất thích. Chính phủ Úc cũng chi rất nhiều tiền mỗi năm cho các công việc tương tự, nhưng so với kết quả của tác giả bài viết thì lại khiến tôi tiếc là chính phủ chúng tôi có vẻ kém hiệu quả hơn nhiều. Không phân loại nổi một mảnh đất cho ra hồn, thậm chí đếm các vật thể nhỏ hình ger cũng làm không tốt, thật sự thấy bức bối
Tôi muốn hiểu cách diễn giải “đã phát hiện tổng cộng 172.689 ger với điểm dự đoán chính xác vượt 40%”
Lúc đầu tôi hiểu nhầm tiêu đề theo nghĩa tất cả yurt ở Mông Cổ đều đang “sử dụng” machine learning
Có người nói đã dùng một giải pháp semi-commercial (miễn phí cho mục đích giáo dục), và tôi tò mò về topology/architecture của mô hình deep learning. Cũng muốn biết liệu có cách tiếp cận nào tốt hơn không