5 ms·
Quaternions in Signal and Image Processing
- teleforce 2y agoAbstract: Quaternions are still largely misunderstood and often considered an “exotic” signal representation without much practical utility despite the fact that they have been around the signal and image processing community for more than 30 years now. The main aim of this article is to counter this misconception and to demystify the use of quaternion algebra for solving problems in signal and image processing. To this end, we propose a comprehensive and objective overview of the key aspects of quaternion representations, models, and methods and illustrate our journey through the literature with flagship applications. We conclude this work by an outlook on the remaining challenges and open problems in quaternion signal and image processing.
- the__alchemist 2y agoI can't comment on the DSP applications in the article, but for representing rotations and orientations in 3D (Computer rendersing, robotics, aerospace etc), they can be effectively treated as black boxes. There are a handful of operations you can perform between quaternions and other quaternions, vectors, and scalers, to do anything you would want in this domain. Practially, you may just be calling functions like "Quaternion::from_unit_vecs()` etc. Call it a Rotor if you'd like; it doesn't matter when viewing it this way! Both implementation and application will be the same. The conceptual aspect people prefer about rotors is N/A here. You could also call it a `Orientation` or `Rotation` (eg the struct/class name); maybe that's better than either.
- teleforce 2y agoCheck this application of quaternion for robust UAV flight control: Quaternion vs Euler Angles for UAV position control: https://www.youtube.com/watch?v=0VAc_G79POE https://www.youtube.com/watch?v=0VAc_G79POE
- frozenport 2y ago“exotic” signal representation without much practical utility despite the fact that they have been around the signal and image processing community for more than 30 years now. Maybe they aren't that good? Maxwell's equations got a lot better when they dumped them, same thing with the few uses in video game physics/camera tracing.
- rowanG077 2y agoI didn't think quaternions are even exotic and have used the extensively to represent rotations. I'm not familiar with video games but it seems a pretty natural fit to the problem. What is the alternative that is so much better?
- okaleniuk 2y agoRotors. https://marctenbosch.com/quaternions/ https://marctenbosch.com/quaternions/
- MyFirstSass 2y agoThank you for this link. I just dabbled in webgl/threejs and tried creating a small movement engine and was confused from beginning to end. Quaternions as a black box is pretty accurate.
- empiricus 2y agoFrom your link: "We can notice that 3D Rotors look a lot like Quaternions". "In fact the code/math is basically the same!"
- dandanua 2y agoYeah, why remove quaternions if the math is the same as with rotors? They also have their own value, without applications to geometry. The article is good, though. BTW, it's easy to understand the relations between i,j,k if you're familiar with Pauli matrices.
- 2y ago
- roger_ 2y agoPreprint: http://w3.cran.univ-lorraine.fr/perso/sebastian.miron/documents/SPM_Quaternion23.pdf http://w3.cran.univ-lorraine.fr/perso/sebastian.miron/docume...
- theanonymousone 2y agoMy friend worked on this for his Msc thesis (2010-11). I went to his defence presentation but still couldn't figure out what these "things" are :-| These and Monads will bite me forever.
- BenoitP 2y agoYou should jump straight to geometric algebra. It's actually simple there. Quaternions and Complex Numbers are about just some not so special multivectors. Here are 2 45mn videos you'll not regret: https://youtu.be/htYh-Tq7ZBI?si=qi9HfU40qKcc_HNc https://youtu.be/htYh-Tq7ZBI?si=qi9HfU40qKcc_HNc https://youtu.be/60z_hpEAtD8?si=1M3dDAh7vPjx2Q8Y https://youtu.be/60z_hpEAtD8?si=1M3dDAh7vPjx2Q8Y
- adelpozo 2y agoFor the visually inclined I enjoyed Visualizing Quaternions by Andrew Hanson. Haven’t yet read the article in the post but I am curious on the applications mentioned.
- James_K 2y agoQuaternions cannot be understood without first understanding geometric algebra, at which point the quaternions themselves cease to be of consequence.
- chpatrick 2y agoThey're not that magical. Multiplication with complex numbers is a neat way to do 2D rotation and scaling. It's the same idea with multiple dimensions.
- catgary 2y agoI think this is pretty on par with telling someone they need to understand category theory if they’re playing around with Haskell/FP. I have lots of experience using quaternions in robotics/animation, but I never found geometric algebra particularly compelling - and I’ve given it several tries to sit down and read through various textbooks (and I have a PhD in Category theory/differential geometry, I don’t think it can be attributed to a skill issue with algebra or geometry).
- James_K 2y agoNotice my use of the term "understand". If you are just using from some library quaternions as a black-box, you really needn't understand anything about them, but if you want understand them it's probably easier to go through geometric algebra first. Otherwise you're basically just learning geometric algebra with half the rules missing and it makes no sense.