Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interactive map view with camera positions and field of view visualization #14858

Open
fpaupier opened this issue Nov 8, 2024 · 8 comments
Open
Labels
enhancement New feature or request pinned

Comments

@fpaupier
Copy link

fpaupier commented Nov 8, 2024

Describe what you are trying to accomplish and why in non technical terms

I want to be able to visualize my cameras' positions and their field of view on a map, so that I can quickly understand which areas are being monitored and access camera feeds by clicking on their map markers. This would provide an intuitive geo overview of my coverage.

Describe the solution you'd like
Add a new "Map View" tab in the Frigate UI that would:

  • Display an interactive map (could be OpenStreetMap based) where users can:
    • Place camera markers with their exact coordinates
    • Show each camera's field of view as an overlay cone/sector
    • Access the live feed by clicking on a camera marker
  • Allow users to:
    • Manually position cameras on the map
    • Configure the viewing angle and range for each camera
    • Customize the field of view visualization (color, opacity)
    • Toggle individual camera views on/off
    • Group cameras by zones/areas
  • Some / all of those configuration could be defined in the config file for each camera by extending the existing yaml

Describe alternatives you've considered

  • Using external mapping tools and maintaining a separate visualization -> Not convenient at all to maintain a single source of truth
  • Creating a static image-based map with camera positions -> A pain to maintain, never actually up to date
  • Using third-party solutions like insecam, but these don't integrate with Frigate and lack the specific features needed for home/small business surveillance

Additional context

I can to contribute to the development of this feature if this aligns with Frigate's roadmap. I'm sure it would really benefit the community with the following nice things it could bring:

  • Providing instant visual feedback on surveillance coverage
  • Helping identify potential blind spots
  • Making it easier to plan camera placement
  • Simplifying camera management for setups with multiple cameras

See below for a rough draft of a potential V1 for this version
Screenshot 2024-11-08 at 08 44 15

@fpaupier fpaupier added the enhancement New feature or request label Nov 8, 2024
@fpaupier
Copy link
Author

fpaupier commented Nov 8, 2024

fyi @blakeblackshear

@3z3ki3l
Copy link

3z3ki3l commented Nov 12, 2024

This would be fantastic for my use. Bonus points if it can help accommodate this idea.

Edit/also: and it should be available on the Birdseye view.

@blakeblackshear
Copy link
Owner

I don't see that many useful integration points with frigate, so I am hesitant to say this is worthwhile without thinking through more use cases. Everything we merge in becomes a part of what has to be maintained going forward.

Specifically, which of the things outlined above could you not do if this tool was something separate from Frigate?

@3z3ki3l
Copy link

3z3ki3l commented Nov 13, 2024

I’m barely even a hobbyist let alone a professional, and admittedly this is neither my cart nor my horse.. but that being said, I’ve got a few thoughts.

While I’m just beginning to migrate from a shitty retail NVR that I inherited, I currently have eight sites with 15+ cameras at each one. No matter how well I name them it’s still a crapshoot whether I even end up on the right side of the property. (A lot of them look pretty similar, the north parking entrance at one can look a lot like the west entrance at another. I spend more time looking for the right camera feed than I do the right person.) Whereas if I know the general direction the subject went and I can see the FOV of my current camera on the map, then I know where to start immediately, and with a single click.

Basically I have too many feeds to learn all of them by thumbnail and name, and I don’t want to spend time hunting for a physical map, then a camera name on that map. (And if the building has lots of hallways? Fuuuck that.)

On top of that, while my previous comment was a shot in the dark, I really do think it would be an important step in multi-camera tracking. Sharing zones across cameras is great and from what I can tell will be helpful for linking events, but I don’t think there’s a way around precise GPS coordinates and a reference map. If multi-camera tracking is a goal, of course.

Plus any future LLM integration is gonna be able to interpret the map view pretty well. Could even do a floorplan view for indoor cams with the same implementation, just different background images.

@blakeblackshear
Copy link
Owner

So this could be useful for navigating cameras in massive installs with multiple sites. I'm not convinced that using a map is the most efficient way to manage these types of installs. This would be one of many things we should consider if that is the goal.

Tracking across cameras will most likely be done via embeddings for a tracked object, not calculating the FOV overlap. You can already use the same zone name across multiple cameras.

@3z3ki3l
Copy link

3z3ki3l commented Nov 13, 2024

Ha. ‘Massive installs’ is funny to me. I thought so at first too, but everything I’ve found for my use puts my setup as mid to small. When I say 15-20 cameras per site they either ignore me or they have a $200k per site minimum. They’re used to stadiums and hospitals.

Your project is the most advanced and well-documented NVR I’ve seen that has a chance of working with our existing cameras, so I’ll see if I can make it work. You seem to have done an incredible job.

And yeah, I guess it would be more useful for re-identification than proper multi-camera tracking.

Also for what it’s worth, the map is how Milestone, Genetec, and Avigilon all do it.

@fpaupier
Copy link
Author

thanks for your feedback @blakeblackshear, my thoughts on some specific ways this Map View feature could benefit the community :

  • For multi-camera / multi-site setups

    • For users with mid-sized setups (10-20 cameras per site) or multiple locations, navigating camera feeds based on names or zones alone can be challenging and the map view is allows this "at a glance look" that can be more intuitive.
    • For camera setups that cover overlapping / similar areas (e.g., multiple parking lot entrances), a map view would help quickly identify and select the right feed.
  • Single source of truth <- critical benefits of the integrated map in frigate approach IMO

    • Centralizing camera position and field of view within Frigate, reduces the friction of constantly updating third-party solutions, to have an accurate and up-to-date representation of the camera setup and their videos in a single place.

Let me know if this can help address some the concerns you raised

@saket424
Copy link

@fpaupier
I am very motivated to try your preliminary code/patch . Is there some way for me to try it before you get the larger consensus you are awaiting. You possibly have a branch with the proposed code changes already. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request pinned
Projects
None yet
Development

No branches or pull requests

4 participants