import numpy as np
import cv2
import matplotlib.pyplot as plt
import torch
from ultralytics import YOLO
from filterpy.monte_carlo import systematic_resample

def find_camera():
    """ Tries multiple camera indices and returns the first available one. """
    for index in range(5):  # Check indexes 0 to 4
        cap = cv2.VideoCapture(index)
        if cap.isOpened():
            cap.release()
            return index
    return None

class ParticleFilter:
    def __init__(self, num_particles=1000, noise_std=10):
        self.num_particles = num_particles
        self.particles = np.random.rand(num_particles, 2) * np.array([640, 480])  # Assuming 640x480 resolution
        self.weights = np.ones(num_particles) / num_particles
        self.noise_std = noise_std
    
    def predict(self):
        # Add motion noise to particles
        self.particles += np.random.randn(self.num_particles, 2) * self.noise_std
    
    def update(self, measurement):
        distances = np.linalg.norm(self.particles - measurement, axis=1)
        self.weights = np.exp(-distances ** 2 / (2 * self.noise_std ** 2))
        self.weights += 1e-6  # Avoid zero probability
        self.weights /= np.sum(self.weights)
        
    def resample(self):
        indexes = systematic_resample(self.weights)
        self.particles = self.particles[indexes]
        self.weights.fill(1.0 / self.num_particles)
    
    def estimate(self):
        return np.average(self.particles, weights=self.weights, axis=0)

# Real-time tracking with particle filtering

def track_object():
    camera_index = find_camera()
    if camera_index is None:
        print("No camera found. Exiting...")
        return
    
    cap = cv2.VideoCapture(camera_index)
    model = YOLO("yolov8n.pt")  # Load YOLO model
    pf = ParticleFilter()
    
    while cap.isOpened():
        ret, frame = cap.read()
        if not ret:
            break
        
        # Run YOLO detection
        results = model(frame)
        detections = results[0].boxes.xyxy.cpu().numpy()
        
        if len(detections) > 0:
            x1, y1, x2, y2 = detections[0]
            centroid = np.array([(x1 + x2) // 2, (y1 + y2) // 2])
            
            # Predict particle states
            pf.predict()
            pf.update(centroid)
            pf.resample()
            estimated = pf.estimate()
            
            # Draw tracking
            cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
            cv2.circle(frame, (int(centroid[0]), int(centroid[1])), 5, (0, 0, 255), -1)  # Measured position
            cv2.circle(frame, (int(estimated[0]), int(estimated[1])), 5, (255, 0, 0), -1)  # Estimated position
            
            # Draw particles
            for particle in pf.particles:
                cv2.circle(frame, (int(particle[0]), int(particle[1])), 1, (200, 200, 0), -1)
        
        # Display frame using OpenCV for notebooks
        plt.imshow(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
        plt.axis('off')
        plt.show()
        
        # if cv2.waitKey(1) & 0xFF == ord('q'):
        #     break
    
    cap.release()

if __name__ == "__main__":
    track_object()
[ WARN:0@65.472] global cap_v4l.cpp:913 open VIDEOIO(V4L2:/dev/video0): can't open camera by index
[ERROR:0@65.473] global obsensor_uvc_stream_channel.cpp:158 getStreamChannelGroup Camera index out of range
[ WARN:0@65.473] global cap_v4l.cpp:913 open VIDEOIO(V4L2:/dev/video1): can't open camera by index
[ERROR:0@65.474] global obsensor_uvc_stream_channel.cpp:158 getStreamChannelGroup Camera index out of range
[ WARN:0@65.474] global cap_v4l.cpp:913 open VIDEOIO(V4L2:/dev/video2): can't open camera by index
[ERROR:0@65.474] global obsensor_uvc_stream_channel.cpp:158 getStreamChannelGroup Camera index out of range
[ WARN:0@65.475] global cap_v4l.cpp:913 open VIDEOIO(V4L2:/dev/video3): can't open camera by index
[ERROR:0@65.475] global obsensor_uvc_stream_channel.cpp:158 getStreamChannelGroup Camera index out of range

0: 384x640 1 person, 1 cup, 4 chairs, 1 tv, 1 laptop, 1 keyboard, 3.8ms
Speed: 1.9ms preprocess, 3.8ms inference, 112.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 1 tv, 1 laptop, 1 keyboard, 3.8ms
Speed: 1.4ms preprocess, 3.8ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.8ms preprocess, 3.5ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 4.0ms
Speed: 1.8ms preprocess, 4.0ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 1.5ms preprocess, 3.7ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 1.5ms preprocess, 3.1ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 3.4ms
Speed: 1.3ms preprocess, 3.4ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.4ms preprocess, 3.5ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.2ms
Speed: 1.5ms preprocess, 3.2ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 8.3ms
Speed: 3.0ms preprocess, 8.3ms inference, 1.6ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.8ms
Speed: 1.6ms preprocess, 3.8ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.2ms
Speed: 1.3ms preprocess, 3.2ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.9ms
Speed: 1.6ms preprocess, 3.9ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.5ms preprocess, 3.5ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.4ms preprocess, 3.5ms inference, 1.2ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.9ms
Speed: 1.5ms preprocess, 3.9ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.9ms
Speed: 1.7ms preprocess, 3.9ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.6ms
Speed: 1.6ms preprocess, 3.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 5 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.4ms
Speed: 1.6ms preprocess, 3.4ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.1ms
Speed: 1.3ms preprocess, 3.1ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.2ms
Speed: 1.3ms preprocess, 3.2ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.7ms
Speed: 1.3ms preprocess, 3.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.4ms
Speed: 1.5ms preprocess, 3.4ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.7ms
Speed: 1.8ms preprocess, 4.7ms inference, 1.5ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.1ms
Speed: 1.5ms preprocess, 5.1ms inference, 1.5ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.6ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.3ms preprocess, 3.6ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.2ms
Speed: 1.3ms preprocess, 3.2ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 1.6ms preprocess, 3.7ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.3ms
Speed: 1.7ms preprocess, 3.3ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 8.2ms
Speed: 2.4ms preprocess, 8.2ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.7ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 4.6ms
Speed: 1.5ms preprocess, 4.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 1.7ms preprocess, 3.1ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 1.3ms preprocess, 3.1ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.3ms
Speed: 1.9ms preprocess, 3.3ms inference, 1.2ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.0ms
Speed: 2.0ms preprocess, 5.0ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.7ms
Speed: 1.2ms preprocess, 3.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 5 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.2ms
Speed: 1.7ms preprocess, 3.2ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.2ms
Speed: 1.5ms preprocess, 3.2ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.3ms
Speed: 1.3ms preprocess, 3.3ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.2ms preprocess, 3.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.3ms
Speed: 2.1ms preprocess, 5.3ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.2ms
Speed: 1.2ms preprocess, 3.2ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.8ms
Speed: 1.8ms preprocess, 3.8ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.3ms
Speed: 1.4ms preprocess, 3.3ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.5ms
Speed: 1.4ms preprocess, 3.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.7ms preprocess, 3.4ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.7ms
Speed: 1.5ms preprocess, 3.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 2.0ms preprocess, 3.5ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.1ms
Speed: 1.3ms preprocess, 4.1ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.6ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.0ms
Speed: 1.4ms preprocess, 3.0ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.4ms
Speed: 1.2ms preprocess, 3.4ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.1ms
Speed: 2.1ms preprocess, 4.1ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 3.4ms
Speed: 1.5ms preprocess, 3.4ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.4ms preprocess, 3.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 3 tvs, 1 laptop, 1 keyboard, 1 book, 9.9ms
Speed: 2.6ms preprocess, 9.9ms inference, 1.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.2ms
Speed: 1.7ms preprocess, 4.2ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.9ms preprocess, 3.6ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.4ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 1 tv, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.4ms
Speed: 1.5ms preprocess, 3.4ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.8ms
Speed: 1.8ms preprocess, 3.8ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 4.0ms
Speed: 1.3ms preprocess, 4.0ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.6ms
Speed: 2.3ms preprocess, 3.6ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.7ms
Speed: 1.3ms preprocess, 3.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.5ms preprocess, 3.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 3.7ms
Speed: 1.9ms preprocess, 3.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 3.9ms
Speed: 1.9ms preprocess, 3.9ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 1.5ms preprocess, 3.5ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.4ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.6ms preprocess, 3.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 3.5ms
Speed: 1.9ms preprocess, 3.5ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 1.2ms preprocess, 3.1ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.8ms
Speed: 1.3ms preprocess, 3.8ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 3.9ms
Speed: 1.4ms preprocess, 3.9ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.2ms
Speed: 1.2ms preprocess, 3.2ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 2 keyboards, 1 book, 3.7ms
Speed: 1.4ms preprocess, 3.7ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.5ms preprocess, 3.6ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 1.4ms preprocess, 3.1ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.9ms
Speed: 1.4ms preprocess, 3.9ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.8ms
Speed: 2.1ms preprocess, 3.8ms inference, 1.2ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.8ms
Speed: 1.4ms preprocess, 3.8ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.2ms
Speed: 1.4ms preprocess, 3.2ms inference, 1.2ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.9ms preprocess, 3.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.5ms
Speed: 2.0ms preprocess, 3.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.0ms
Speed: 2.0ms preprocess, 4.0ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.3ms
Speed: 1.9ms preprocess, 4.3ms inference, 1.2ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.8ms
Speed: 3.1ms preprocess, 5.8ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.0ms
Speed: 1.5ms preprocess, 4.0ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.3ms
Speed: 2.1ms preprocess, 3.3ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 5.9ms
Speed: 2.2ms preprocess, 5.9ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.8ms
Speed: 2.4ms preprocess, 4.8ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.5ms
Speed: 2.8ms preprocess, 4.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 1 tv, 1 laptop, 1 keyboard, 3.2ms
Speed: 1.6ms preprocess, 3.2ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.3ms preprocess, 3.4ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.6ms preprocess, 3.4ms inference, 0.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 7.6ms
Speed: 4.0ms preprocess, 7.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.9ms
Speed: 1.9ms preprocess, 3.9ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.6ms
Speed: 1.3ms preprocess, 3.6ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 3 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 6.1ms
Speed: 2.7ms preprocess, 6.1ms inference, 1.4ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.6ms
Speed: 1.4ms preprocess, 3.6ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 4.3ms
Speed: 1.8ms preprocess, 4.3ms inference, 1.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 4.5ms
Speed: 2.3ms preprocess, 4.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 5.0ms
Speed: 1.5ms preprocess, 5.0ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 2 mouses, 1 keyboard, 1 book, 3.7ms
Speed: 1.4ms preprocess, 3.7ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.9ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.0ms
Speed: 1.9ms preprocess, 4.0ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 1 tv, 1 laptop, 1 keyboard, 1 book, 3.3ms
Speed: 1.9ms preprocess, 3.3ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.1ms
Speed: 2.1ms preprocess, 5.1ms inference, 1.4ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.1ms
Speed: 3.1ms preprocess, 4.1ms inference, 1.7ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.0ms
Speed: 1.3ms preprocess, 4.0ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.0ms
Speed: 1.7ms preprocess, 4.0ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 1.5ms preprocess, 3.7ms inference, 1.4ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 1.6ms preprocess, 3.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 9.5ms
Speed: 1.8ms preprocess, 9.5ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.9ms
Speed: 1.8ms preprocess, 3.9ms inference, 1.6ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 10.4ms
Speed: 2.9ms preprocess, 10.4ms inference, 2.5ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.5ms
Speed: 2.2ms preprocess, 4.5ms inference, 1.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 2.1ms preprocess, 3.4ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.8ms preprocess, 3.4ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.6ms
Speed: 2.1ms preprocess, 5.6ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.3ms
Speed: 1.5ms preprocess, 3.3ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.5ms
Speed: 1.6ms preprocess, 4.5ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 7.4ms
Speed: 2.4ms preprocess, 7.4ms inference, 1.6ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 6.5ms
Speed: 2.1ms preprocess, 6.5ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.4ms
Speed: 1.5ms preprocess, 3.4ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.1ms
Speed: 3.0ms preprocess, 5.1ms inference, 1.4ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 1.3ms preprocess, 3.1ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 17.2ms
Speed: 3.2ms preprocess, 17.2ms inference, 2.4ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 9.5ms
Speed: 2.3ms preprocess, 9.5ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 1.5ms preprocess, 3.7ms inference, 1.5ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 4.8ms
Speed: 2.0ms preprocess, 4.8ms inference, 1.2ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 10.4ms
Speed: 2.8ms preprocess, 10.4ms inference, 1.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.3ms
Speed: 1.8ms preprocess, 4.3ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 3 tvs, 1 laptop, 1 keyboard, 1 book, 3.9ms
Speed: 1.5ms preprocess, 3.9ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 1.6ms preprocess, 3.6ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.9ms
Speed: 2.2ms preprocess, 3.9ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.2ms
Speed: 2.2ms preprocess, 4.2ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.7ms
Speed: 2.2ms preprocess, 4.7ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.7ms
Speed: 2.4ms preprocess, 4.7ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.5ms
Speed: 2.3ms preprocess, 5.5ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.8ms
Speed: 1.8ms preprocess, 3.8ms inference, 1.3ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.7ms
Speed: 2.8ms preprocess, 5.7ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 2.0ms preprocess, 3.7ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 8.6ms
Speed: 3.4ms preprocess, 8.6ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.5ms
Speed: 2.0ms preprocess, 4.5ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 2.1ms preprocess, 3.7ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.7ms
Speed: 1.7ms preprocess, 3.7ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.6ms
Speed: 2.2ms preprocess, 3.6ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 5.1ms
Speed: 2.0ms preprocess, 5.1ms inference, 1.4ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.1ms
Speed: 2.0ms preprocess, 3.1ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.5ms
Speed: 2.9ms preprocess, 4.5ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 2 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 10.4ms
Speed: 2.4ms preprocess, 10.4ms inference, 2.0ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 3.2ms
Speed: 1.4ms preprocess, 3.2ms inference, 0.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.1ms
Speed: 2.6ms preprocess, 4.1ms inference, 0.9ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 3 chairs, 2 tvs, 1 laptop, 1 mouse, 1 keyboard, 1 book, 9.6ms
Speed: 2.6ms preprocess, 9.6ms inference, 2.8ms postprocess per image at shape (1, 3, 384, 640)


0: 384x640 1 person, 1 cup, 4 chairs, 2 tvs, 1 laptop, 1 keyboard, 1 book, 4.3ms
Speed: 2.4ms preprocess, 4.3ms inference, 1.4ms postprocess per image at shape (1, 3, 384, 640)