Close Menu
    Trending
    • DRAWER: skapar interaktiva digitala miljöer från statiska inomhusvideo
    • Microsoft hävdar att deras AI-diagnosverktyg kan överträffa läkare
    • Taking ResNet to the Next Level
    • Confronting the AI/energy conundrum
    • Four AI Minds in Concert: A Deep Dive into Multimodal AI Fusion
    • Software Engineering in the LLM Era
    • Interactive Data Exploration for Computer Vision Projects with Rerun
    • Why We Should Focus on AI for Women
    ProfitlyAI
    • Home
    • Latest News
    • AI Technology
    • Latest AI Innovations
    • AI Tools & Technologies
    • Artificial Intelligence
    ProfitlyAI
    Home » Interactive Data Exploration for Computer Vision Projects with Rerun
    Artificial Intelligence

    Interactive Data Exploration for Computer Vision Projects with Rerun

    ProfitlyAIBy ProfitlyAIJuly 2, 2025No Comments7 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    instruments for information visualization and exploration have allowed me to iterate means faster on my pc imaginative and prescient tasks, particularly when the issues I’m confronted with usually are not simple and I have to make algorithm or design selections based mostly on dynamic time-varying alerts. These alerts can usually be difficult to research by simply quickly altering numbers plotted on the display screen or saved in a desk.

    Whereas engaged on a few of these issues, I explored the built-in interactive parts from OpenCV, however other than some sliders the choices there are very restricted, particularly when attempting to combine some animated plots. There’s some hacky methods to get dynamic plots from matplotlib into OpenCV, which I explored on this post.

    I additionally explored completely different UI frameworks like tkinter, which I utilized in my last project for a sentiment evaluation visualization. I constructed a customized element that allowed me to show dynamic frames. Nevertheless it nonetheless didn’t actually really feel like the correct device for the duty, particularly when attempting to work with interactive plots.

    After which I stumbled upon Rerun. Each every so often I uncover a device or framework that actually excites me, and this was precisely a kind of instances. Rerun is an open supply device for visualizing information usually discovered within the robotics area starting from easy time sequence information and static photos to complicated 3D level clouds, video streams or different sorts of multi-modal information. The demos look actually spectacular and the setup and code samples are so easy, I used to be instantly hooked.

    Rerun Demo running in a web browser

    So I made a decision to transform my ball monitoring demo from a earlier mission and plot the information utilizing rerun. Let me present you the way simple it’s to make use of and create interactive purposes!

    Quickstart

    You’ll be able to set up rerun in any of your python tasks utilizing pip or uv:

    pip set up rerun-sdk
    uv add rerun-sdk

    You can begin the viewer after putting in the sdk by merely operating it from the command line:

    rerun

    The viewer will likely be your important window the place your experiments will likely be proven. You’ll be able to depart it open or shut it between your experiments.

    To instantiate a rerun viewer from a python script, you have to spawn an occasion with an experiment identify:

    import rerun as rr
    
    rr.init("ball_tracking", spawn=True)

    Ball Monitoring Demo

    Rerun experiment recordings may be saved to and loaded from .rrd recording recordsdata. You’ll be able to obtain the recording file for the ball monitoring demo from here. Press Ctrl + O or choose Open... within the menu on the highest left of the rerun viewer and cargo the downloaded recording file.

    You will notice the ball monitoring demo playback as soon as after which the video stops. On the backside of the viewer, you’ve the timeline. You’ll be able to scrub by means of the timeline by clicking and dragging the deal with.

    These recording recordsdata solely include the information of the experiment together with the video, its annotations and the time sequence of the monitoring. The format of the viewer is saved individually in a .rbl blueprint file. Obtain the blueprint file for the demo here and open it on high of the prevailing information file.

    Now we’ve a barely higher overview with the place, velocity and acceleration plots separated and the video prominently centered.

    Within the video body you may click on on the annotations and within the left Blueprint panel you may disguise or present them individually.

    Time Sequence Plots

    To investigate a selected plot, you may click on on the increase view button on the high proper of any window, for instance the place plot.

    This can be a TimeSeriesView. This view can be utilized to plot information in a 2D chart with the x-axis representing the time area, in our case the discrete body index of the video. On this ball monitoring demo, we iterate over the video frames in a loop, the place we will set the body index of our timeline explicitly.

    frame_index = 0
    
    whereas True:
        ret, body = cap.learn()
        if not ret:
            break
    
        frame_index += 1
        if frame_index >= num_frames:
            break
    
        rr.set_time("frame_idx", sequence=frame_index)
    

    To create the plot for the place, you have to log a Scalar worth for the place of the tracked ball at each body index. On this case after we calculate the place we will merely log it to rerun:

    rr.log("ball/position_y", rr.Scalars(pos))

    To configure the type of this plot, we additionally have to log one thing to the identical entity path (ball/position_y), however because the type doesn’t change we will log it as soon as earlier than the loop and provide a static argument.

    rr.log(
        "ball/position_y",
        rr.SeriesLines(colours=[0, 128, 255], names="pos y"),
        static=True,
    )

    To outline the axis vary that’s seen per default, we have to specify a format element.

    view_pos = rrb.TimeSeriesView(
        origin="ball/position_y",
        axis_y=rrb.ScalarAxis(vary=(0, 700)),
    )
    format = rrb.Blueprint(view_pos)
    rr.send_blueprint(format)
    

    Video Stream

    Equally we will create a view for the video frames by logging the picture to rerun. Since rerun expects an RGB photos however OpenCV ues BGR for its shade channel ordering, we have to convert the frames from BGR to RGB earlier than passing them to rerun.

    frame_rgb: np.ndarray = cv2.cvtColor(body, cv2.COLOR_BGR2RGB)
    rr.log("body", rr.Picture(frame_rgb))

    So as to add annotations to the picture view we have to log spatial parts to a sub path of the required entity path. For instance, we will draw the middle of the tracked ball:

    rr.log(
        "body/factors",
        rr.Points2D(
            positions=[center],
            colours=[0, 0, 255],
            radii=4.0,
        ),
    )

    To incorporate the video body view within the format, we will use a Spatial2DView node:

    view_frame = rrb.Spatial2DView(origin="body")

    Then we will stack the plot from earlier than vertically with the body view by utilizing a Vertical format element:

    format = rrb.Blueprint(
        rrb.Vertical(
            view_pos,
            view_frame,
            row_shares=[0.33],
        ),
    )
    rr.send_blueprint(format)

    The row shares specifies how a lot every of the rows occupies in percentages. We will omit the second row share entry for the body view because the shares have so as to add as much as 1.

    Limitations

    Whereas engaged on this mission, I bumped into some limitations of Rerun. Within the unique mission I visualized a prediction of the trajectory at each timestep, however that is presently not doable in a time sequence view. Additionally the layouts and configuration of the plotted information is proscribed, for instance there’s no built-in means to attract a circle with out fill. However because the mission could be very actively being developed, there’s a very good probability that a few of these is likely to be doable sooner or later.

    Conclusion

    The developer expertise with this device as a pc imaginative and prescient engineer is extraordinarily good, the consumer interface hundreds virtually immediately and the timeline scrubbing may be extremely useful for understanding or debugging alerts in time sequence plots or in movies. I’ll positively preserve utilizing and exploring this mission and may solely advocate you to attempt it out for your self!


    For extra particulars and the complete implementation, checkout the supply code of this mission below src/ball_tracking/trajectory_rerun.py.

    https://github.com/trflorian/ball-tracking-live-plot


    All visualizations on this publish had been created by the writer.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleWhy We Should Focus on AI for Women
    Next Article Software Engineering in the LLM Era
    ProfitlyAI
    • Website

    Related Posts

    Artificial Intelligence

    Taking ResNet to the Next Level

    July 3, 2025
    Artificial Intelligence

    Confronting the AI/energy conundrum

    July 2, 2025
    Artificial Intelligence

    Four AI Minds in Concert: A Deep Dive into Multimodal AI Fusion

    July 2, 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    10 top women in AI in 2025

    April 4, 2025

    The Pentagon is gutting the team that tests AI and weapons systems

    June 10, 2025

    Venice.ai AI-chatt som är censurerad används för cyberbrott

    May 27, 2025

    A sounding board for strengthening the student experience | MIT News

    June 17, 2025

    Top Scholarships To Study Artificial Intelligence Abroad In 2025 » Ofemwire

    April 4, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    Most Popular

    27 Free Image Datasets to Boost Your Computer Vision Project

    April 4, 2025

    Empowering LLMs to Think Deeper by Erasing Thoughts

    May 13, 2025

    Hollywood Strikes Back: Disney Is Suing Midjourney

    June 17, 2025
    Our Picks

    DRAWER: skapar interaktiva digitala miljöer från statiska inomhusvideo

    July 3, 2025

    Microsoft hävdar att deras AI-diagnosverktyg kan överträffa läkare

    July 3, 2025

    Taking ResNet to the Next Level

    July 3, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 ProfitlyAI All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.