Urgent.News

One page, thousands of outlets. See who else covered it.

Editions

Tech

Object Detection on Android for Autonomous Robots

Object Detection on Android for Autonomous Robots Introduction Autonomous robots need to recognize objects in their environment. Object detection can identify people, vehicles, tools, signs, and obstacles from camera frames. Android can perform edge inference locally, reducing dependency on network connectivity. Architecture CameraX | Preprocessing | Object Detection Model | Postprocessing |…

Autonomous robots require the ability to recognize objects in their surroundings. Object detection can identify people, vehicles, tools, signs, and obstacles from camera frames. Android devices can perform edge inference locally, decreasing reliance on network connectivity.

The architecture for object detection on Android consists of several components: CameraX for camera processing, preprocessing of frames, an object detection model, postprocessing of results, detection results themselves, and a gateway for robot perception. A reusable data class called Detection is defined to keep the application independent of a specific model runtime. This class contains properties for the label, confidence, and bounding box coordinates of a detected object.

CameraX should process camera frames asynchronously using an executor service. The analyzer should detect objects within each image frame before closing it. A latest-frame strategy can be employed when real-time responsiveness is more critical than processing every frame.

The detector can be implemented as an interface that defines a suspend function to process image frames and return a list of Detection objects. Mobile inference approaches include TensorFlow Lite or ONNX Runtime, depending on the model and deployment requirements.

Not every prediction should be passed to the navigation system. Confidence filtering can be used to discard low-confidence detections. A threshold of 0.6 is recommended, but it should be evaluated based on the target environment rather than arbitrarily chosen.

Detection models may produce overlapping predictions, which can be resolved using non-maximum suppression (NMS). The postprocessing method expected by the selected model should be used.

The Android device can send detection results to the robot, combining them with physical measurements such as depth or LiDAR for autonomous navigation. Tracking can be implemented to maintain object identities between frames, reducing redundant processing and providing temporal context.

Optimization techniques for improved performance include using appropriately sized models, reducing input resolution when acceptable, reusing buffers, avoiding bitmap copies, running inference off the main thread, dropping stale frames, and measuring end-to-end latency.

Autonomous decision-making should keep AI perception separate from robot control. This separation allows the system to be tested more easily and operated more safely. Testing should evaluate the system using representative scenarios such as static objects, moving people, multiple objects, low light, bright light, partial occlusion, camera vibration, and device thermal throttling. Performance should be measured in terms of both detection accuracy and real-time performance.

In conclusion, object detection on Android can provide valuable edge perception for autonomous robots. The flexible foundation created by Kotlin, CameraX, and a mobile inference runtime can later be connected to ROS 2, sensor fusion, navigation, and physical AI agents.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Android Computer Vision for Robot Navigation

Android Computer Vision for Robot Navigation Introduction Navigation requires a robot to understand its surroundings. Cameras can provide useful visual information such as obstacles, landmarks…

  • Android devices with cameras can provide visual data for robot navigation.
  • CameraX framework processes images to detect obstacles, landmarks, and people.
  • Vision data should be combined with other sensors for accurate navigation.

How do I group an array of objects in JavaScript and sum a field?

import { groupBy } from ' groupjs_by ' ; const byStatus = groupBy ( orders , ' status ' ) . sum ( ' revenue ' , ' amount ' ) . count ( ' orders ' ) .

  • Group a JavaScript array of objects using groupjsby's groupBy() function
  • Sum a specific field (like revenue or amount) for each group based on a key (such as status)
  • Install groupjsby via npm, handle zero dependencies, and skip null/undefined/non-numeric values

More from Monday 17 August →