Geomotion is an Android application designed to detect and classify road anomalies such as potholes, road cracks, and bumps using data collected from smartphone sensors. The app implements a classification model developed as part of the developers' Thesis research.
- A smartphone compatible with SensorLogger, as the app leverages data from the device’s accelerometer, gyroscope, and GPS sensors
- Active internet connection for HTTP connection and Google Maps API (optional; coordinates will still display even if the map is unavailable due to API token expiration)
- Detects and classifies road anomalies
- potholes
- road cracks
- road bumps
- Geotags detected anomalies on Google Maps (if API token is valid)
- Displays coordinates of detected anomalies even without map availability
- Launch SensorLogger on your smartphone
- Tap the gear icon to open settings
- Select Data Streaming
- Enable HTTP Push by toggling the button
- Set the Push URL to your smartphone's Wi-Fi IP address, using port
8000and the endpoint/data.- Example:
http://127.0.x.x:8000/data - Replace
127.0.x.xwith your actual IP address
- Example:
- Launch Geomotion
- Press Check Status; you should see a popup saying:
"SensorLogger Status: No data received yet"(this is expected since SensorLogger is still inactive)
- Return to SensorLogger’s settings and tap Test Push to verify connection. A "Got Status: 200" response indicates success
- Go back to SensorLogger’s home screen and make sure both Accelerometer and Gyroscope sensors are enabled.
- Enable your smartphone’s Location Services.
- In SensorLogger, press Start Recording.
- Switch back to Geomotion and press Check Status to verify connection with SensorLogger.
- Press Start Recording under Geomotion to begin anomaly detection.
Field testing revealed two significant challenges affecting its system performance:
The model exhibited a tendency to overclassify road segments as potholes. This indicates that the decision boundary of the classifier is particularly sensitive to features associated with potholes. This observation is consistent with the error analysis of the research, where pothole misclassification rates were notably higher compared to other anomaly classes.
The application uses fixed-duration windows of size 50 for feature extraction during field testing. This static windowing approach led to inconsistent results: shorter windows fragmented large anomalies, while longer windows lacked sufficient context for smaller anomalies. Future developers working on this repository may consider adjusting the window size, which can be modified in the HomeFragment class.
To address these limitations, we propose the following enhancements:
- Implement adaptive sliding windows with overlap to better capture full anomaly signatures under varying road conditions.
- Develop an improved classification model to increase the reliability of pothole detection.
- Employ event-triggered segmentation (e.g., based on acceleration thresholds) to focus processing on suspected anomaly events.
Future work should prioritize field validation of these refinements to improve the system’s alignment with real-world road conditions and performance expectations.
- Developers: Mary Erika Culala and Gleezell Uy
- Thesis Adviser: Clement Ong