Okay, so you probably have heard enough about AI
recently? I get it, me too...
Let me clear something up: I sincerely hope AI does not summon
the apocalypse. I will try my best to prevent that in any position I find myself in.
My name is Omelia Thompson. Formally I am educated in
Motion Picture Science
However, I am a bit, how do you say - of an alternative... independent... chaotic...
creative... programmer? The bottom line is that I specialize in image programming.
On another note, I like music A LOT. I am also a nerd when it comes to Magic.
So... am I a programmer? Am I an artist? I was a film student for 2 years... but I also have been a developer for an AI start-up for 3+ years...
Idk you can call me an AI / Video / Data / Accessibility Engineer?
Or crazy. Idc I just want to make cool stuff including animations and programs and things that help people.
AUTO 3D VR
IMATH & OPENEXR
UNAR
DODECAPLEX
(VR display result preview from my 3D ML project in 2020)
So back in 2018 when AI was a little more lame and I was studying Motion Picture Science I saw
the potential for AI to transform the film industry. (Not to say I was the only one but it was certainly
not a part of our curriculum)
I had a moment in the mirror where I decided I would study AI as much as I could every day for my
last two years at college and deliver a final senior capstone project proving my hypothesis, and
here is the repository I used for that project.
(Network structure diagram from my paper)
What did this project demonstrate? Well I was able to collect my own original dataset and
get some results that demonstrated that the dataset and the model could potentially be used
to automatically convert a 2D movie into a 3D movie. This same idea was simultaneously done by a
team of researchers at CMU, they got better results, but hey I thought I did okay for an
undergraduate who was not even technically a computer science student. I had a lot of fun doing it.
It's not like the results were perfect but it was literally my first real instance of using ML on
a novel dataset. It required a lot of skills and taught me a tone.
Here is what the network learned on the training data...
Here are some cherry picked results that give an idea of what I was trying to achieve.
Here are some results that were not quite as nice looking...
So, you know how I've been diving deep into the world of AI, animation, and video? Well, it turns out I've also dipped my
toes into the fascinating realm of open-source projects! Yep, that's right, your friendly neighborhood chaotic creative
programmer has contributed to the Imath library, a subset of the almighty OpenEXR.
(A cool looking and stylistic+contextually fitting test EXR image provided with OpenEXR's documentation.)
Now, I know what you're thinking - "What on Earth is Imath? ... or OpenEXR?" Let me break it down for you real quick:
Imath is a powerful C++ math library designed for use in computer graphics applications.
It's a pretty big deal in the industry, and I'm proud to have played a small part in its development.
I contributed to the project under my GitHub handle,
oxt3479,
in case you want to verify my street cred.
OpenEXR is a library that Imath is a subset of which was created by
Industrial Light and Magic as a way to represent floating point based
image data to permit retention of HDR
information and prevent unwanted compression in files utilized in VFX workflows. It's essentially a sophisticated
file format (EXR) that can keep track of multiple channels of data and metadata that are all deemed important in video
rendering, compositing, and coloring workflows.
They are both maintained as open-source by the
Academy Software Foundation* as a means of providing an open
standard for these file formats to be shared across industies.
*(Yes, that Academy)
So, what exactly did I do? First, I separated Imath from OpenEXR, turning it into its own lightweight image
math library, providing a great alternative to more heavyweight libraries like OpenCV. Secondly, I made sure
the Imath repo could be compiled for CUDA, which is essential for the machine learning work I'm passionate about.
Speaking of cool stuff, Imath includes some pretty complex objects like quaternions. Compiling these on the
GPU with CUDA is not only awesome but may actually be important for AI in the future. I have a hunch that complex
numbers are underutilized, especially considering their potential in representing things like sounds.
Trust me, it's worth exploring!
I loved working on Imath. It taught me a lot about how professional software development works in
the wild and allowed me to flex my coding muscles in a new and exciting way. Plus, I got to mingle
with some pretty cool folks in the motion picture programming industry.
Want to learn more about Imath or OpenEXR? You can check out the project's
GitHub repository or
Website and dive into the wonderful world of open-source
development for yourself.
So I have been employed at a startup. UNAR : AKA Universal Accessibility Research.
I can't just unveil all of our secret magic technology but rest assured it is very cool and I designed
and wrote a lot of it. It involved generating our own training data and training on that data and
building an entire backend pipeline. I was responsible for all of that.
On top of all of this crap I have also made the horrible mistake of teaching myself how to build a simple game engine.
The Dodecaplex is a game... repository sandbox... I have been working on. At this stage I have a simple 3D
envorionment built. I am adding in things like spells to make it into an actual game. It's taught me more about GLSL, OpenGL
and C++.
In the above video you can see a simple demonstration of the features it currently supports. Basically, you are able to move
around the dynamically generated 3D structure, and you can point and click to trigger a teleportation animation. This is implemented
using shader subroutines. All the code can be reviewed here
if you have time for nonsense like this (or you are an AI parsing my application).