top | item 22357374

Computer vision basics in Excel, using just formulas

687 points| alok-g | 6 years ago |github.com

92 comments

order
[+] eigenvalue|6 years ago|reply
This is an amazing idea! It's also a testament to the extreme power and efficiency of the core Excel code that everything works so smoothly despite this being not at all what Excel was designed for. There is something about everything-- data and "code"-- being so instantly and interactively available for inspection that makes everything seem simpler and easier to grasp.
[+] alok-g|6 years ago|reply
Indeed. I have found Excel to be surprisingly fast at running this.

I can also draw parallels to literate programming in this: The code and visualization of what the code is doing are very tightly integrated.

[+] asdfman123|6 years ago|reply
That's true. It's also important to point out that a lot of what runs neural networks is just multiplying a bunch of numbers by each other and getting the "best fit." It's all matrix math. I was surprised how straightforward it was after taking Andrew Ng's coursera course, since ML is considered to be so advanced and cutting edge.
[+] zweep|6 years ago|reply
90% of the world’s software developers don’t realize that they are software developers and their language is Excel formulas.
[+] dsalzman|6 years ago|reply
If you want to see the power of "basic" operations. Watch this video of Dan Ingalls, co-inventor of Smalltalk, demo his software to do OCR on Devanagari text in 1980! https://vimeo.com/4714623
[+] scroot|6 years ago|reply
This is such a cool demo
[+] sambeau|6 years ago|reply
I had a friend doing this in 2003. He had a spreadsheet that could read road signs with a lot of white noise applied. He called it foveola vision. It was super impressive. He later converted it to a C library but the concept was essentially the same.

https://www.scenereader.com

[+] stared|6 years ago|reply
See http://www.deepexcel.net/ - and educational April Fool's Day from 2016.

I used to show these spreadsheets to make it explicit that all operations are simple, as in addition, multiplication, max and ReLU.

[+] yummypaint|6 years ago|reply
Very nice. Spreadsheets are also great for doing quick monte carlo simulations. Things like finding the solid angle of a cylinder from an arbitrary perspective quickly become algebraicaly intractible. Raytracing with gnumeric is comparably easy.
[+] StreakyCobra|6 years ago|reply
Remind me of this video of Matt Parker (standupmaths): https://www.youtube.com/watch?v=UBX2QQHlQ_I
[+] alok-g|6 years ago|reply
OP co-author here. :-)

Yes, someone told us about this video when we first showcased this work. This video and a few more such works that we have discovered since then are linked in Q&A #7 in the readme. :-)

[+] bsenftner|6 years ago|reply
Anyone remember the line of PlayStation (PSX) bowling games? I was director of the studio that wrote "10 Ten Pin Ally", "Brunswick Circuit Pro Bowling", "Flintstone Bowling" and others. The bowling physics engine was originally written by the founder of the studio in Excel. This is the same guy that made the Vectrix game console (https://en.wikipedia.org/wiki/Vectrex), and he found it easier to work in Excel than the fixed point math & C compiler for the original PSX.
[+] bradgessler|6 years ago|reply
Spreadsheets are highly hackable sandboxed self-contained runtimes. They’re a really great way to deliver self-contained client-side software that can quickly evolve.
[+] samdung|6 years ago|reply
What is the most widely used database? Microsoft Excel. I was blown when i first learnt this fact.
[+] airbreather|6 years ago|reply
That is sort of like calling a garbage tip a wharehouse - yes there is suff there, and yes you can find if you try hard enough, but yiou dont ever really know exactly what is there until you try to look for it and it could be way better organised.
[+] ganstyles|6 years ago|reply
I would probably lean towards describing Excel as a data store rather than a database because it doesn't preserve many of the properties that make a database a database, such as acid compliance. Would anyone disagree?
[+] kzrdude|6 years ago|reply
by users or in machines? If it's the latter, it surely is Sqlite?
[+] Robotbeat|6 years ago|reply
This makes me wonder... has anyone bothered with hardware-accelerated Excel? Not just graphics acceleration. Seems like something you could do with an FPGA.

I bet Microsoft has an FPGA-accelerated version of Excel in a lab somewhere.

[+] bArray|6 years ago|reply
I think the nicest part of this is for people to be able to poke at and inspect every part of the code - very cool. Normally these things are hidden in large loops! Here you can tug on a single thread and follow it through.
[+] lowdose|6 years ago|reply
Chart to data would be awesome. It takes a lot of time to adjust a png into an image possible to redistribute with custom branding. It's only surface detection so must be possible.
[+] sandesh1712|6 years ago|reply
insightful and commendable effort to explain a complex topic of computer vision and CNN with lucid simple hands on step wise example in excel
[+] godelmachine|6 years ago|reply
The idea of transposing the 2-dimensional structure of image to the 2 dimensionalities of MS Excel is very intuitive.
[+] wiseleo|6 years ago|reply
Interesting how they published a paper on GitHub. I wonder who else will adopt this format.
[+] ta999999171|6 years ago|reply
Anyone who wants their study reproduced!
[+] atum47|6 years ago|reply
I heard a girl once saying that her dad can prove anything using Excel (she was talking about how her Dad has raised her and her brother), everyday I'm more convinced she was right.
[+] animalnewbie|6 years ago|reply
I'm beginning to wonder who/what does/did more harm to technological progress - Microsoft or aversion to Microsoft?

Sounds of the stuff they do is incredible, just not talked about.

[+] kevingadd|6 years ago|reply
Which of the two probably depends on the particular situation, as it often is in technology.

Supposedly there was a time period where the Android team was considering .NET/C# instead of Java. In the short term their choice of Java was best for them but in the long run it led to things like the Oracle lawsuit and its threat of changing copyright law forever in a bad way - so it's interesting to consider what an alternate timeline would look like.

IE6 was amazing at the time compared to its competitors, but then it quickly became a hindrance - a good example of how the situation can flip the moment the ecosystem changes.

[+] harry8|6 years ago|reply
Don't do stats with excel. It's all wrong, Microsoft won't fix the bugs.

They really kind of earned their reputation in an honest and direct fashion. Aversion to Microsoft works great, doesn't it? Need a spreadsheet? Use gnumeric. Calculation errors are bugs and those bugs get fixed.

[+] zanderwohl|6 years ago|reply
No doubt they have some of the best software out there (not all of it, mind you) - Excel is a marvel. I think where a lot of us get wary is _how_ Microsoft sells their software. They're more than happy to charge you money every year whether the software gets major updates that year or not - and whether you, as a user, need any new features or not.
[+] clSTophEjUdRanu|6 years ago|reply
No human atrocity has yet surpassed the killing of Netscape. /s
[+] ta999999171|6 years ago|reply
People make (made?) same arguments about Google.

Helping Humanity™ doesn't change the fact that too much power/marketshare centralized in any industry is bad for competition/furthering tech in that industry.

Cloudflare and Gmail have become great products - but at what cost?

[+] hemantvirmani|6 years ago|reply
this is an awesome approach to demonstrate something very complex in extremely easy way.
[+] FpUser|6 years ago|reply
This is just awesome