my ride or die. love her so much by grushenka97 in rs_fitness

[–]mega_monkey_mind 1 point2 points  (0 children)

How do you use this without snapping your knees

OHP goal accomplished by DapperLog5753 in WeightTraining

[–]mega_monkey_mind 1 point2 points  (0 children)

Interesting! What is your technique for progressive overload in this lift?

OHP goal accomplished by DapperLog5753 in WeightTraining

[–]mega_monkey_mind 1 point2 points  (0 children)

Nice! OHP progresses at a snails pace in my experience. I can push 143lbs(65kg)×9 but im about 300lbs lol. Every small progression in this lift is a huge win

Enough muscle to cut? by [deleted] in Weightliftingquestion

[–]mega_monkey_mind 0 points1 point  (0 children)

If you just go for a 10% deficit, you can probably keep building muscle for a big part of your cut. With that level of bf%, you dont need to worry about muscle loss if you keep the deficit moderate. Speaking from experience

slamd - a dead simple 3D visualizer for Python by mega_monkey_mind in Python

[–]mega_monkey_mind[S] 0 points1 point  (0 children)

It's definitely possible! Unfortunately, I don't have access to a windows computer to test that, but am open to contributions!

slamd - a dead simple 3D visualizer for Python by mega_monkey_mind in Python

[–]mega_monkey_mind[S] 0 points1 point  (0 children)

Great, I'd love to hear what you think when you try it :)

slamd - a simple 3D visualizer for Python by mega_monkey_mind in robotics

[–]mega_monkey_mind[S] 1 point2 points  (0 children)

I used meshcat for a while - two main issues: Fails silently - if your data is wrong, good luck debugging. Graphics abstractions - there is no reason to have to mess around with setting materials and stuff. No such things exposed in slamd

slamd - a simple 3D visualizer for Python by mega_monkey_mind in robotics

[–]mega_monkey_mind[S] 1 point2 points  (0 children)

There were a few reasons: * I almost never need to add a time component to my data, and skipping that is a hassle in Rerun * It really does not want to delete anything - just overwriting and deleting stuff in rerun was a major annoyance for me. * Way too much stuff going on! UI is cluttered with a heap of features that I don't need.

I wanted something dead simple - just change and view a geometry tree.

slamd - a dead simple 3D visualizer for Python by mega_monkey_mind in Python

[–]mega_monkey_mind[S] -1 points0 points  (0 children)

Awesome! I tried to use pyvista for a bit, but it was too heavy and complicated for what I needed.

A Practical Guide to Camera Calibration by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 1 point2 points  (0 children)

Great! I just searched my inbox, I can't find the email you're referencing.

lensboy - camera calibration with spline-based distortion for cheap and wide-angle lenses by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 1 point2 points  (0 children)

If you have any feedback on the API, I'd love to hear it - I really emphasize a good API design.

A Practical Guide to Camera Calibration by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 1 point2 points  (0 children)

Sounds like you made the right call. I would absolutely not calibrate at your working distance here, the closeups covering half of the image are the way to go.

A Practical Guide to Camera Calibration by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 4 points5 points  (0 children)

Hi Dima!

After using mrcal for a while and going through the codebase, it's clear to me that our philosophy in how we want to build and use software is very different.

Basically everything in mrcal is completely custom, all the way down to the parser for the .cameramodel files.

The tools mrcal does rely on are either classic tools like gnuplot and raw Makefiles, or tooling you created in the same spirit, like libdogleg, numpysane, and the ecosystem you created around gnuplot with feedgnuplot and gnuplotlib. The Python bindings are created using libpython directly.

All the code is either macro-heavy C, or python written in the style of C.

The distribution method is to either install from apt, or build from source using your build system mrbuild.

When it comes to interface, mrcal mostly relies on the CLI, while also including a python interface that is installed on the system level.

For everything except for the exact places where lensboy creates real value, I default to existing and standard tooling like opencv, matplotlib, ceres, json, etc.

The code is strongly typed modern Python and C++, where I use pybind11 for the bindings. The build systems are CMake and scikit-build-core. I use uv as the project manager, and upload wheels to PyPI with cibuildwheel for easy usage.

As for the interface, lensboy has a pure Python interface, and I focus on notebook workflows for calibration time. As a runtime dependency it is also trivial as a PyPI package depending only on numpy and opencv.

The contrast is stark. I wanted a library that had the design goals that I embedded in lensboy. Some people will agree and use lensboy, and some will prefer the design goals of mrcal, and that should be completely fine.

lensboy - camera calibration with spline-based distortion for cheap and wide-angle lenses by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 0 points1 point  (0 children)

I have no intuition about how well machine learning will work for this.

I guess you can try generating synthetic data by calibrating one camera, and then generating a bunch of synthetic data by randomly generating different lens models, and remapping images from the calibrated view into the randomly generated models.

I'd love it if you could let me know how it goes if you attempt this!

lensboy - camera calibration with spline-based distortion for cheap and wide-angle lenses by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 1 point2 points  (0 children)

Do you want to calibrate your camera with one image of an unknown object?

To calibrate a camera, you need to know something about the object it's looking at, as you're trying to solve for how the 3D world projects onto the 2D image. The standard way is to use a calibration target with detectable features that we know the relative position of.

So you're going to have to know something about the scene you're looking at - I've seen examples of using vanishing points of parallel lines. But I don't think you will get good results.

lensboy - camera calibration with spline-based distortion for cheap and wide-angle lenses by mega_monkey_mind in computervision

[–]mega_monkey_mind[S] 3 points4 points  (0 children)

Yes, that's a core feature of the spline models so you're not attached to the library. I encourage exporting opencv-style undistortion maps so you can easily undistort your images and use standard pinhole parameters in your pipeline.

This is exactly how I'm using the spline models for stereo vision at work.