今日已更新 234 条资讯 | 累计 42645 条内容
关于我们

标签:#vision

找到 50 篇相关文章

AI 资讯

Multi-Modal AI: From Text to Vision and Beyond — The Unified Future

Multi-Modal AI: From Text to Vision and Beyond — The Unified Future The Single-Modality Limit For years, AI models were single-modality — text-only, image-only, or audio-only. This created silos: A text model cannot see images An image model cannot hear audio Each modality required separate training The problem : Real-world understanding is inherently multi-modal. The Breakthrough: Unified Encoders Modern multi-modal models use a shared latent space — a single representation that encodes text, images, audio, and video into a common format. How It Works Each modality has its own encoder (text tokenizer, image CNN, audio encoder) Projections map each encoder output into the shared latent space A unified transformer processes all modalities together Task heads generate outputs in any modality Why This Matters Cross-modal retrieval : Search images with text queries Visual question answering : Ask questions about images Image captioning : Generate descriptions from visual input Text-to-image generation : Create visuals from text prompts Video understanding : Combine temporal plus visual plus audio signals Real-World Applications Domain Application Impact Healthcare Medical image plus report analysis Better diagnostics Education Visual plus text learning Personalized tutoring Robotics Vision plus language plus action Autonomous navigation Content Creation Text-to-video plus audio Creative automation The Future: True Multimodal Intelligence The next generation will feature: Real-time multi-modal streaming — Process video, audio, and text simultaneously Cross-modal generation — Generate video from text, audio from images Embodied AI — Robots that see, hear, speak, and act Human-level understanding — Context-aware across all sensory modalities Which multi-modal application excites you most? Let us know in the comments.

2026-09-13 原文 →
AI 资讯

Medicine Safety Gatekeeper: Building a Real-Time Drug Interaction & Expiration Checker with YOLOv10

We’ve all been there: digging through a cluttered medicine cabinet, wondering if that half-empty blister pack of Ibuprofen is still safe to take, or if it will play nice with the cold medicine you just bought. In the age of AI, "guessing" shouldn't be your first line of defense. In this tutorial, we are building an AI-powered Medicine Safety Gatekeeper . Using YOLOv10 object detection , Tesseract OCR , and a local pharmacopeia database, we’ll create a system that identifies medicine boxes, extracts expiration dates, and warns you about dangerous drug-to-drug interactions. By leveraging YOLOv10's NMS-free architecture , we can achieve lightning-fast inference right on your edge device or smartphone. The Architecture 🏗️ The logic flow is straightforward but powerful. We capture a frame, detect the medicine container, zoom in on the text, and cross-reference the extracted data with our safety database. graph TD A[Camera Feed/Image] --> B{YOLOv10 Detector} B -- Detects Box --> C[OpenCV Image Preprocessing] B -- No Box --> A C --> D[Tesseract OCR Engine] D -- Extract Brand/Dates/Ingredients --> E[SQLite Safety DB] E --> F{Logic Engine} F -- Check Expiry --> G[Expiration Alert] F -- Check Interaction --> H[Contraindication Warning] G & H --> I[User Dashboard] Prerequisites 🛠️ To follow along, make sure you have the following tech stack ready: YOLOv10 : The latest iteration in real-time object detection. OpenCV : For image manipulation and perspective transformation. Tesseract OCR : To turn pixels into strings. SQLite : To store drug ingredient interactions and local inventory. pip install ultralytics opencv-python pytesseract Step 1: Detecting the Medicine Box with YOLOv10 YOLOv10 is a game-changer because it eliminates the need for Non-Maximum Suppression (NMS), reducing latency significantly. First, we initialize our model to find the "medicine box" or "pill bottle." from ultralytics import YOLO import cv2 # Load the YOLOv10 model (pre-trained or custom-tuned for pharma

2026-09-13 原文 →
AI 资讯

Open-Vocabulary Object Detection for Robots Using Vision-Language Models

Open-Vocabulary Object Detection for Robots Using Vision-Language Models Traditional object detectors are trained on a fixed set of classes. For example: person car chair dog But robots often encounter objects that were not explicitly included in their original training labels. Open-vocabulary perception allows a robot to query concepts using natural language. From Fixed Classes to Natural Language Traditional: Image --> Detector --> {person, car, chair} Open vocabulary: Image + "find a red toolbox" | v Vision-Language Model | v Candidate Regions Robot Perception Pipeline Camera | v Image Preprocessing | v Vision-Language Model | +--> "red toolbox" +--> "safety helmet" +--> "door handle" | v Detected Regions | v 3D Localization | v Robot Planner Why This Matters A robot deployed in the real world may receive commands such as: Find the nearest orange package. The system should not require a new fixed detector class for every possible object. Connecting 2D and 3D A VLM may identify an object in an image. Depth or LiDAR can then estimate its 3D location. RGB Image | v 2D Object Region | +---- Depth | +---- LiDAR | v 3D Object Position This transforms semantic understanding into spatial information. Safety and Verification Open-vocabulary models can produce uncertain or incorrect detections. For robot control, add verification: VLM Detection | v Confidence Check | v Geometric Validation | v Temporal Consistency | v Planner Never assume that a language model's output is automatically safe for direct actuation. ROS 2 Architecture A modular implementation might use: /camera/image | v /vlm_detector | v /detections | v /3d_projection | v /object_tracker | v /planner This makes it possible to replace the VLM without redesigning the rest of the robot stack. Latency Management Large models may be expensive. Possible strategies include: Run perception at a lower frequency. Track detected objects between VLM calls. Resize images. Use hardware acceleration. Cache repeated queries.

2026-09-01 原文 →
AI 资讯

3D Object Detection for Physical AI Applications

3D Object Detection for Physical AI Applications A robot needs more than image classification. It needs to know: What object is present? Where is it? How large is it? How is it oriented? 3D object detection answers these questions in physical space. 3D Detection Pipeline Camera / LiDAR | v Preprocessing | v Feature Extraction | v 3D Detection Model | v 3D Bounding Boxes | v Tracking / Planning A 3D bounding box can contain: (x, y, z) (width, height, depth) (rotation) (class) (confidence) LiDAR-Based Detection LiDAR naturally provides 3D geometry. A typical pipeline is: Point Cloud | v Filtering | v Voxelization / Features | v Neural Network | v 3D Boxes Challenges include sparse points and computational cost. Camera-Based Detection A camera provides dense visual information. Monocular 3D detection tries to infer depth from a single image, while stereo systems can estimate depth geometrically. Multi-Modal Detection Combining cameras and LiDAR can provide both semantics and geometry: Camera ---> Visual Features --+ | LiDAR ----> 3D Features ------+--> Fusion --> 3D Detection This is useful for autonomous robots operating around people, vehicles, and objects. Post-Processing Raw detections are often filtered using: Confidence thresholds Non-maximum suppression Geometric constraints Temporal tracking Tracking can stabilize detections across frames. ROS 2 Integration A practical architecture: /sensors/camera /sensors/lidar | v /3d_detector | v /objects_3d | +--> /tracker | +--> /planner Use standardized message structures where practical so perception remains decoupled from planning. Measuring Performance Evaluate: Precision Recall 3D IoU Position error Orientation error Inference latency FPS For physical AI, latency matters almost as much as accuracy. A detector that is accurate but too slow can still be unsuitable for a moving robot. Production Considerations Test across: Day/night conditions Different sensor placements Partial occlusion Different object sizes Dynamic

2026-09-01 原文 →
AI 资讯

Visual-Inertial Odometry for Autonomous Robots

Visual-Inertial Odometry for Autonomous Robots A robot needs to estimate how it moves through the world. GPS is unavailable indoors, wheel odometry can slip, and LiDAR may not always be available. Visual-Inertial Odometry (VIO) combines cameras and IMUs to estimate motion. Basic Idea Camera ---> Visual Features ---+ | v State Estimator ^ | IMU ----> Motion Information ---+ | v Robot Trajectory The camera provides visual constraints. The IMU provides high-frequency motion measurements. Why Combine Them? A camera gives rich spatial information but can suffer from: Motion blur Low texture Poor lighting Slow frame rate An IMU operates at much higher rates but accumulates drift when integrated over time. Their weaknesses are complementary. Feature Tracking A simple visual pipeline might be: Image | v Feature Detection | v Feature Tracking | v Motion Estimation Feature types may include corners or learned visual features. IMU Prediction The IMU can predict how the robot's state changes between camera frames. Conceptually: Previous State | +--> IMU measurements | v Predicted State | +--> Camera observation | v Corrected State This is the prediction/correction pattern used by many estimators. Initialization VIO initialization is important because the estimator must determine quantities such as: Initial orientation Gravity direction Velocity Scale for monocular systems Sensor biases Poor initialization can cause instability later. ROS 2 Architecture /camera/image | v Visual Frontend ----+ | /imu/data ----------+--> VIO Estimator --> /odometry | +--> /tf Use consistent timestamps and calibrated camera-IMU extrinsics. Improving Robustness Useful techniques include: Rejecting outlier feature matches Monitoring IMU saturation Handling dropped frames Estimating sensor biases Detecting low-texture scenes Monitoring estimator health Evaluation Evaluate against a trusted trajectory where available. Useful metrics include: Absolute trajectory error Relative pose error Drift per dista

2026-09-01 原文 →
AI 资讯

I taught my hand gestures to run an AI coding agent

A few weekends ago I got annoyed at typing prompts into a terminal and decided the fix was, obviously, to control my AI agent with hand gestures instead. This is the story of building that, and the two hours I lost fighting a GPU crash that had nothing to do with my code. The idea: a webcam watches your hand, MediaPipe tracks the landmarks, and three gestures map to three actions on an Anthropic-powered coding agent. Pinch (thumb and index touching) - the agent writes code Spinning your index finger in a circle - the agent brainstorms an idea Two fingers "running" up and down - it runs whatever code it just wrote No keyboard. No prompt box. Just your hand in front of a webcam, like you're a conductor telling an orchestra what to play. The MediaPipe detour I started with MediaPipe's newer Tasks API (HandLandmarker), because it's the one all the docs point you to now. It crashed immediately on my Mac with a Metal/GPU service error, even when I forced it onto the CPU delegate. Spent way too long assuming it was my setup before realizing the new API just doesn't play nice with this machine. Switched to the legacy mp.solutions.hands API, pinned to mediapipe==0.10.21, and the problem vanished. Sometimes the fix for a shiny new API is to not use it yet. Gestures are messier than they sound Detecting "pinch" is easy: measure the distance between thumb and index tip, threshold it, done. The other two took more work. "Running" fingers needed the vertical oscillation of the index and middle fingertips, counted by sign crossings, so it doesn't false trigger on a hand that's just drifting. "Spinning" tracks the index fingertip's trajectory and accumulates the signed angle around a center point, so a real circle reads differently than a shaky hand. Both run on a rolling 1.5 second buffer of landmarks, edge triggered so a gesture fires once, not once per frame. Letting the agent run its own code, unsandboxed, on purpose The runner executes whatever the agent wrote as a subprocess

2026-08-30 原文 →
AI 资讯

Vision-in-the-Loop: When the AI Rewrites Its Own Prompts from the Generated Frame

On the AI video ad platform I work on, every scene goes through the same painful loop: write a prompt, send it to an AI video model provider, wait two minutes, open the result, squint at the frame, and decide what went wrong. Camera too wide. Product missing from the hero shot. Color palette drifted warm when the brand brief says cool neutrals. Avatar looks like a different person than scene three. That loop was manual, slow, and expensive. Each regeneration burns GPU credits. Operators were becoming prompt engineers by accident — and still missing subtle failures until stitch time, when fixing scene four means re-rendering everything downstream. The insight behind vision-in-the-loop prompt authoring is simple: the model that wrote the prompt can also look at its own output and rewrite the prompt with surgical fixes. Not a full replan — a per-scene correction grounded in the actual generated frame, not the operator's memory of what they hoped would appear. The manual loop we were trying to kill Before this work shipped, the swipe iteration flow looked like this: Plan — Claude generates a scene-by-scene script with visual prompts Generate — each scene renders independently through an AI video model provider Review — operator opens the portal, compares frames to the reference ad Rewrite — operator edits prompts in a text field, often guessing at what the model misread Regenerate — repeat until acceptable or budget exhausted Steps three and four are where throughput dies. An experienced operator can spot "product not visible" in three seconds, but translating that into prompt language — "medium close-up, product centered in lower third, shallow depth of field" — takes another minute per scene. Multiply by twelve scenes and three swipe iterations, and a single ad creative consumes an hour of human attention that should be spent on brand strategy, not frame inspection. The generated frame is ground truth. The original prompt is a hypothesis. Vision-in-the-loop closes the

2026-08-26 原文 →
AI 资讯

The Matte Learns Only Inside the Band

A bad cutout rarely announces itself as a bad cutout. The car lands on a new backdrop, the paint looks clean, then a thin piece is gone. An antenna. A tire lip. The dark seam under a rocker panel. The complaint that comes back is never technical. The vehicle looks wrong. I wanted the last correction stage to fix fuzzy edges without handing it the whole car to rewrite. That sounds like a small distinction. It stops being small the first time a model improves one boundary and quietly damages another. So the rule is physical. Edit the uncertain strip. Leave the settled area alone. This is Part 2. Part 1, "Negative Space Is a Label", was about supervision: what the pixels beside an object teach a model, and why a shadow touching a tire has to be labeled as evidence against foreground. This one moves from training to runtime. A mask already exists. Where is a learned stage allowed to act? 1. The contract lives in the band CarSegNet is the research implementation here. Its pipeline module splits the route by media type, and the docstring says the design more clearly than any diagram I could draw after the fact. Stills run SAM 3 text concept, then NSJ alpha, then composite. A detector box prompt and a depth prior are optional inputs. Video runs SAM 3.1 multiplex propagation, per-frame NSJ with temporal handling, a depth-parallax plate, composite, encode. The list matters less than the handoff. SAM gives a semantic prior. NSJ receives a trimap band. The compositor receives a matte only after the prior and the refiner have each done bounded work. flowchart TD image[Vehicle Image] segment[Concept Mask] trimap[Trimap Band] refiner[NSJ Alpha Refiner] depth[Depth Prior] composite[Showroom Composite] frozen[Prior Frozen Outside Band] image --> segment segment --> trimap trimap --> refiner image --> depth depth --> refiner refiner --> composite segment -.-> frozen frozen --> composite The diagram is a contract. It is not a model zoo. The refiner edits the uncertain strip. The sema

2026-08-18 原文 →
AI 资讯

Negative Space Is a Label

A car mask can pass review and still teach the model to keep the wrong pixels. The outline looks clean. The bumper is inside. The wheels are inside. Then the trained network holds onto the dark patch under the tires, because the label treated that patch as part of the vehicle's visual neighborhood. Training stays quiet. Production gets loud the first time a listing photo drags a strip of the old lot onto a new backdrop. AutoLensAI turns dealer photography into listing-ready vehicle media. This installment follows the earlier pieces on segmentation and image provenance, then narrows to one question: how do I teach a matting model that the shadow touching a tire is evidence against foreground rather than a faint version of it? 1. The failure arrives without an error message Vehicle matting estimates which pixels belong to the vehicle, at finer boundary resolution than segmentation gives. Tires, rocker panels, glossy showroom floors, and the halo under a lowered front lip are where a pretty binary mask does its damage. Two cases cause most of it. A cast shadow can touch rubber and still sit outside the object. A reflection can match paint color exactly and still belong to the floor. Both look like they belong to the car in a thumbnail. Neither belongs to it in geometry. A binary target has no vocabulary for that distinction. Every pixel is in or out, so the annotator's only lever is where to put the line. Push the line outward and shadow becomes vehicle. Pull it inward and the wheel arch loses its edge. Neither answer says the thing that matters, which is that some exterior pixels are ordinary background and some are adversarial background sitting one pixel from the object. The model learns the difference anyway. It learns it wrong, because nothing in the supervision ever separated the two. 2. Three states, not two The supervision contract uses three: state meaning training treatment vehicle body, glass, wheels, trim, and visible geometry foreground loss hard negative

2026-08-11 原文 →
AI 资讯

Stop Slouching! Build a Real-Time Spine Posture Monitor using MediaPipe and Python

We’ve all been there: hunched over a keyboard at 3 AM, neck craned forward like a turtle, debugging a race condition. "Tech neck" isn't just a meme; it’s a productivity killer. As developers, our spine is our most underrated hardware. In this tutorial, we are going to build a Real-Time Spine Posture Monitor . We will leverage real-time human pose estimation and MediaPipe Python libraries to track your posture via your webcam. By the end of this guide, you'll have a system that detects when you're slouching and sends a system notification to keep your ergonomics in check. This project is perfect for those looking into OpenCV computer vision and developer ergonomics solutions. The Architecture 🏗️ The logic is straightforward: we capture video frames, process them through a pre-trained neural network to find body landmarks, and apply some basic geometry to determine if your posture is healthy. graph TD A[Webcam Feed] --> B[OpenCV Frame Processing] B --> C[MediaPipe Pose Landmark Detection] C --> D{Extract Shoulder & Ear Coordinates} D --> E[Calculate Neck Inclination Angle] E --> F{Angle > Threshold?} F -- Yes --> G[Trigger System Notification] F -- No --> H[Continue Monitoring] G --> B H --> B Prerequisites 🛠️ Before we dive into the code, ensure you have the following installed: Python 3.9+ MediaPipe : Google’s framework for cross-platform ML. OpenCV : For video stream handling. PyObjC : (For macOS) to trigger native system alerts. pip install mediapipe opencv-python pyobjc Step 1: Initialize the Pose Engine MediaPipe makes pose estimation incredibly easy. We’ll use the Pose solution, which provides 33 3D landmarks for the human body. import cv2 import mediapipe as mp import math # Initialize MediaPipe Pose mp_pose = mp . solutions . pose pose = mp_pose . Pose ( static_image_mode = False , model_complexity = 1 , enable_segmentation = False , min_detection_confidence = 0.5 ) mp_drawing = mp . solutions . drawing_utils Step 2: Calculating the "Slouch" Angle 📐 To detect

2026-08-10 原文 →
AI 资讯

Three ways my grouped train/test split leaked anyway...

I spent two weeks building a computer vision component to estimate how full a plastic container is from drone imagery. Translucent white containers, whitish chemical product inside, shot obliquely from a drone during field inspections. The headline number looked good: mean absolute error of 0.055 on fill fraction, Pearson correlation of 0.97. Then I audited my own evaluation and found that 38 of my 46 test crops had the same physical container sitting in the training set. The arithmetic was fine. The problem was the sentence I had wrapped around it: I was presenting 0.055 as the error on containers the model had never seen before. What makes this worth writing about is that I had the guardrail in place from day one, and it failed three separate times for three unrelated reasons. Each one is easy to reproduce in any project that trains on frames extracted from video. Why grouping matters here at all A drone flies over a site and captures a burst. In my case, 12 frames over 12 seconds. The same physical container appears in every frame of that burst, from slightly different angles and distances. If you shuffle those crops randomly into train and test, you are asking the model to recognize a container it has already memorized. The metric you get back describes interpolation between frames of one burst. It says nothing about a container the model has never seen. This is the most common failure in applied ML and everyone knows about it. Which is exactly why the next part is worth reading. The guardrail I wrote on day one My dataset module reads the grouping column from config and does not offer a random option at all: split : group_column : skid_id # never random The code path for a random split does not exist. You cannot pass a flag to get one. I wrote it that way on purpose, on the first day, before there was any data to split. I still leaked. Three times. Leak 1: the group column held the wrong ID group_column was set to skid_id , which is what you want. Group by phys

2026-08-10 原文 →
AI 资讯

Your CNN's Advantage Is One Assumption — and I Measured What Happens When It Breaks

A small convolutional network beats a plain flatten-and-feed-it-forward network by 7.0 points on CIFAR-10. That's convolutions, pooling, normalisation and skip connections doing honest work. Then I shuffled the rows of every image, destroying no information at all, and that 7.0-point margin fell to 0.3 . Same architecture. Same data, in a strict sense I'll defend in a moment. Almost the entire advantage, gone. The experiment Take one fixed permutation of the 32 row indices. Apply it to every image in the training set and every image in the test set — the same permutation, every time. import torch g = torch . Generator (). manual_seed ( 1234 ) row_perm = torch . randperm ( 32 , generator = g ) def shuffle_rows ( x ): # x: (C, H, W) return x [:, row_perm , :] print ( row_perm [: 8 ]. tolist ()) # [15, 9, 8, 1, 4, 12, 30, 7] That's the whole intervention. Then train two models twice each — once on natural images, once on shuffled ones: Model Params Natural rows Shuffled rows Flatten → 512 → 10 (MLP) 1,578,506 51.4% 51.7% Small CNN 94,538 58.4% 52.0% CNN's margin +7.0 pts +0.3 pts The baseline is a real fully-connected network, not a single linear layer — Flatten → Linear(3072, 512) → ReLU → Linear(512, 10) . It has the capacity to learn anything the CNN can; what it lacks is any reason to look at pixels near each other. Two things in that table are worth sitting with. The CNN wins the natural case with sixteen times fewer parameters — that's the prior paying for itself. And in the shuffled case it doesn't just lose its lead; it drops 6.4 points in absolute terms, down to roughly where the linear model already was. "You destroyed the data" — no, and this is the important part This is the objection everyone raises, so let's take it seriously, because the experiment is worthless if the objection holds. A fixed permutation is a bijection . Nothing is added, nothing is removed, nothing is averaged or blurred: img = torch . arange ( 3 * 32 * 32 , dtype = torch . float32 ). r

2026-08-08 原文 →
AI 资讯

FeliniAI: un triple pipeline (visión + clínico + LLM) para detectar alergias felinas con F1 0.97

Cuando el objetivo es algo tan delicado como un diagnóstico asistido, confiar en un único modelo es arriesgado. FeliniAI usa tres pipelines complementarios que se refuerzan entre sí, igual que un veterinario combina lo que ve, lo que mide y lo que sabe. Pipeline 1 — Visión: MobileNetV2 Una CNN MobileNetV2 (PyTorch, transfer learning) clasifica imágenes de la piel/pelaje del gato en categorías visuales. Elegí MobileNetV2 por su equilibrio entre precisión y ligereza: corre rápido en CPU, lo que mantiene la inferencia por debajo de 1 segundo. Alcanza un 93,4% de accuracy visual . Pipeline 2 — Clínico: XGBoost + ICADA El núcleo del sistema es un clasificador XGBoost que trabaja sobre 33 features clínicas derivadas de los criterios ICADA (los criterios estandarizados de dermatitis atópica felina): estacionalidad, distribución de las lesiones, prurito, respuesta a tratamientos previos. Sobre un dataset de 8.000 casos , este módulo logra un F1 macro de 0.9675 en validación cruzada 5-fold. La búsqueda de hiperparámetros se hizo con Optuna y la explicabilidad con SHAP. Pipeline 3 — LLM: la síntesis Finalmente, un LLM ( Llama 3.3 70B vía Groq ) integra las salidas de los dos modelos anteriores y las traduce en una recomendación legible: qué tipo de alergia es más probable, con qué confianza y qué pasos sugerir. El LLM no diagnostica solo: orquesta y comunica lo que han calculado los modelos especializados. Por qué tres pipelines y no uno Porque cada uno cubre el punto ciego del otro. La visión capta lo que una foto muestra pero un cuestionario no; el modelo clínico capta el historial que una foto no puede mostrar; el LLM convierte ambos en algo accionable. Es un patrón de ensemble heterogéneo aplicado a datos de naturaleza distinta. Resultados F1 macro (clínico): 0.9675 , accuracy 0.9909. Accuracy visual: 93,4%. 4 tipos de alergia, 33 features clínicas, <1s de inferencia. Qué aprendí Que en dominios sensibles, la arquitectura correcta no es "el modelo más grande", sino varios

2026-08-06 原文 →
AI 资讯

Decoupling Physical Control and Reasoning: DeepMind's Gemini Robotics 2 Architecture

Why Decouple Reasoning from Motor Control General-purpose robots have to pull off two very different jobs at once. They need to read a cluttered, full-room visual scene, hold a multi-minute plan in memory, and converse with a person — and, in the same instant, close a high-frequency control loop that keeps a balancing humanoid upright and moves a delicate hand without dropping whatever it holds. Cramming both jobs into a single end-to-end network forces uncomfortable trade-offs: the large context window you want for reasoning fights the low latency you need for torque control. On July 28, 2026, Google DeepMind pushed directly against that trade-off with Gemini Robotics 2 , followed on July 30 by Gemini Robotics ER 2. Rather than one monolithic network, the suite splits the problem across three specialized models — whole-body vision-language-action (VLA) control, high-level embodied reasoning, and on-device adaptation — each tuned to a different cadence and context size. The same modular thinking is visible across recent robotics and VLA research collected on the arXiv robotics listings and on Hugging Face Papers , where decomposed perception-planning-control stacks have become a recurring pattern. Understanding DeepMind's specific split clarifies why this architecture is gaining traction. The Three-Model Split ER 2: High-Level Task Reasoning Gemini Robotics ER 2 is the cognitive planner of the stack. It is a vision-language model built for embodied reasoning: it ingests the live camera feed and a natural-language instruction, then decomposes a task that may run several minutes into structured sub-goals. Beyond planning, ER 2 manages dialogue with a human supervisor, interprets spatial context, and coordinates multiple robots operating in a shared workspace — deciding which sub-task gets handed to which platform. Operating more slowly than the control layer (roughly a few times per second), ER 2 trades frequency for breadth of context. That separation matters: a reas

2026-08-05 原文 →