I've come to the conclusion that the performance of my vehicle detection neural network is being severely limited by the dataset of car images I used to initially train it. Those car images were almost always taken from the side, front, or back of the cars. So whenever the neural network looks at a car or truck from a diagonal angle, it struggles to classify it.
I got that batch of training images off the internet. I pieced together a couple different pre-made datasets to total about 6,500 images. If I want better performance, I will need A LOT more data. I need to collect it myself.
I wrote a program to detect movement in a videofeed (from youtube, for example). If the movement meets certain criteria, then the camera saves a picture of the localized movement area and re-sizes it to 64 pixels by 64 pixels (the size I am using for the neural network input). Using a video feed from a traffic camera, I can easily collect 1,500 images per hour (or a lot more if I increase the screen-shot frequency). The images will often contain cars, but they also sometimes contain other movement (such as shadows, moving trees, clouds, etc.) That's good, because the neural network will benefit from learning what non-car images look like.
Now I am capable of collecting (comparatively) massive amounts of image data. I can set this thing to run overnight and wake up with tens of thousands of images. The problem is, the images aren’t labeled. The neural network can't learn from them unless it knows which images contain cars and which do not.
So...I wrote a program that can be used to quickly flip through images and manually label them as car or no-car. The program is designed from the ground-up to be quick. It can work with the mouse, but it can also work with just key presses. I am working on getting it to output the labels directly into a sqlite database.
With these new tools, I will be able to expand my training dataset.
Last Saturday, my family held the 2nd annual beer challenge. This is a competition where we each bring a six pack (or similar) of beers and then hold a blind taste test and ultimately select the best beer.
For the second year in a row, Casey won the challenge. Congrats Casey! You are a true master beer picker!! The winning beer was #NO FILTER by Thomas Hooker Brewery. It's a very tastey IPA.
My family is clearly a group of IPA drinkers. Last year everyone brought IPAs to the challenge. I proposed a special honor to be awarded to the first person to win with a non-IPA. Maybe next year!
We've all been there before. You've used the last roll of toilet paper...yesterday. And for whatever reason, you can't get to the store to buy more.
So what do you do? Comet is here to help. After hours of research, consultation with experts, scientists, doctors, engineers, and technicians, we've assembled a ranked list of paper products which can 'rise to the occasion'. If you run out of item 1, then you move to item 2, then 3, and so on.
I haven't posted much lately. That's partially because I've been quite busy at work. The little time I've had over the past two weeks for extra-curricular activities has lead to a string of failures. I will now blog these failures to officially put them behind me...
I've been experimenting with a machine learning package named "Yolo" (which, in this case, stands for "You Only Look Once"). This is supposed to be a very fast object detection framework. I thought it would be good to implement this for my machine learning project. It has been fairly difficult to get it running, mainly because it was written in the programming language "C", and I am trying to run it through a modified "python" wrapper so it can play nicely with other things I've programmed so far in this project.
After a lot of effort, I was able to get it running. I trained the "Yolo" model on my car image dataset. But, the final results weren't so great. I need to tinker with it some more. There really isn't any fun output that I can share on this yet.
After failing fairly hard with the "Yolo" stuff, I went back to tinkering with the Raspberry Pi a little bit. Except, for seemingly no reason, the camera stopped working. I checked the connections, reinstalled some of the firmware, searched online a bunch, but found no solutions. Then, after about an hour of troubleshooting, I noticed that there is a little orange-colored plug above the camera lens that wasn't perfectly seated into its connection. I fixed that, and it started working again. Nice.
I've been trying fairly hard to buy some cryptocurrency. So far I've mined a grand total of $25 in Ethereum (over the past 16 days). That's not bad - but I've noticed a few "up and coming" cryptocurrencies that I'd like to make an investment into.
The problem is, TD Bank is being a major pain in the butt. They keep blocking any crypto-related transactions. At first, I gave them the benefit of the doubt. Buying cryptocurrency looks shady, and it would likely be a good way for a scammer to steal cash. But, I've been on the phone with them a few times and they continue to block my transactions. I havent been able to buy anything, and I've been trying for 2 weeks now. I'm convinced that TD Bank must have an anti-cryptocurrency stance, and they block these transactions for strategic reasons (i.e., they feel that cryptocurrency might someday challenge our banking systems, so banks want to make using crypto as inconvenient as possible). That's a little bit of a conspiracy theory.
The major cryptocurrency exchanges (which you use to buy these coins) now have my account blocked because they think I'm a scammer. I guess sending through a few transactions that get blocked by the bank doesn't look so good to them. I don't blame them, but it's got me very stuck.
Also, while making this post my hard drive filled up. Geeeez.
The second installment of the new Star Wars trilogy was released a few days ago. Jess snagged us some movie tickets for Friday night at Jordan’s Furniture (the best place to see a movie, if you didn’t know), and we enlisted our friend Casey to watch Violet (thanks, Casey).
I build these movies up a lot in my head. I might be fanatical. I strictly avoid reading/watching/hearing anything Star Wars related – I didn’t even know who was directing this movie. I have a romanticized idea that I will sit down in the theater without any preconceived notions and get blown away by something great.
So, I obviously had expectations – but let me dial it back a little bit. I know I can’t ask for Disney to deliver us another “The Empire Strikes Back”. I’m really just looking for three things: a good story, some good characters (I’d argue those were already created), and a lot of that familiar Star Wars aesthetic.
Star Wars fans had to endure a pretty bad spell from 1999 to 2015. During that time, three Star Wars movies were released that didn’t really accomplish any of those three wish-list items. The story lines were dull, the characters were dull, and the aesthetic was nowhere to be seen. Then, there was all of the merchandise. It might be hard to take a Star Wars fan seriously when people see nothing but R2D2 pencil erasers, Yoda backpacks, Lightsaber candies, and Chewbacca slippers for 20 years. Don’t get me wrong, I love my Star Wars juice glasses – but I eventually started to wonder if the general public remembered that all of this nonsense actually started with three good movies, and it’s not all about Darth Vader driving mugs.
In 2015, Disney released their first movie to reboot Star Wars. Overall, I’d say it was very good. It hit all three of those wish list items. I’d say the “good story” task was only lightly accomplished, but it did a really great job at hitting on the Star Wars aesthetic. Plus, it introduced a new cast of good characters while staying true to the old characters. It left off on a pretty great cliff-hanger ending. If you don’t know, it ended with the new protagonist, Rey, finally finding an old, wizened Luke Skywalker in a remote hideout on the edge of the galaxy. Rey hands Luke his old lightsaber, and then without any dialogue, it ends.
Now we are caught up to this weekend. While walking into the theater, Jess and I had to dodge people walking out from the previous showing because we were afraid of overhearing spoilers. I had to overt my eyes from posters and video screens showing previews while waiting in line. We managed to get our concessions and a set of decent seats.
If I did a good enough job with this post, then you’ll understand that when the iconic opening frame flashes onto the screen “A long time ago in a galaxy far, far away…”, I am happy. I am happy regardless of how many of those wish list items get accomplished.
While staying true to my promise of no spoilers - I will say that I had a great two and a half hours. There was action, there was suspense, there were lightsabers. If you're a fan of the franchise even a little bit, I encourage you to get out to the theater and experience that pang of joy and anticipation when you see the opening frame.
I have been developing this Spotify playlist full of songs that sound like Christmas songs, but are actually not Christmas songs. This is a great playlist for someone who's natural tendency is to be a grinch, yet still wants to get into that festive mood.
I was adding songs to this for a few months, and then just recently scoured the internet to find some more tracks to help fill it out.
Serving suggestion: Listen while drinking a heavily sweetened white russian (which may look/taste a bit like eggnog) and some peppermint hard candies (which look like candy canes...wait what do candy canes taste like??)
Click here to access the playlist (will require a spotify account) - I set it as a "collaborative playlist" - I think that means that anyone can add more songs. So...I guess we will see how that pans out.
Disclaimer: I am not going to claim that all of these songs are good. All I am saying is that they sound sorta like Christmas songs.
For those we don't have Spotify...sorry. I pasted the tracklist below (for what it's worth).
|Hospital Food||David Gray||Life in Slow Motion|
|White Winter Hymnal||Fleet Foxes||Fleet Foxes|
|Two Weeks||Grizzly Bear||Veckatimest|
|Standing in the Back at Your Show||Wild Ones||Mirror Touch|
|Amour Amour||Livia Blanc||Amour Amour|
|Step||Vampire Weekend||Modern Vampires of the City|
|Phantom Limb||The Shins||Wincing The Night Away|
|Welcome Home, Son||Radical Face||Ghost|
|Somewhere Only We Know||Keane||Hopes And Fears|
|Soul Meets Body||Death Cab for Cutie||Plans|
|Heartbeats||José González||Imperial Recordings Best Of|
|I'll Be Home||Harry Nilsson||The Best Of Harry Nilsson|
|Disarm||The Smashing Pumpkins||Rotten Apples, The Smashing Pumpkins Greatest Hits|
|Beth/Rest||Bon Iver||Bon Iver|
Ryan just found out this week that he passed his PE Test for Stuctural Engineering. It is such an accomplishment, especially because he had to prepare while working sometimes a 10 to 12 hour day. Without getting too mushy on this somewhat public blog I just have to say how proud dad and I are of you.
To repeat what I posted in your high school yearbook.
“You have brains in your head. You have feet in your shoes. You can steer yourself any direction you choose. You're on your own. And you know what you know. And YOU are the one who'll decide where to go...” --Dr. Seuss
Love, Mom and Dad
It’s time for another Machine Learning update. This one is only tangentially related to Machine Learning. In this post, I am going to spill the beans on how I made 46 cents in only 12 hours – and I only had to pay an up-front cost of about $280 to make it possible!
About a month ago, I bought a new graphics card for $280 to use for neural network training. It’s a weird thing, but in addition to rendering computer graphics, graphics cards are also very good at performing large computations that require a lot of “parallel processing”.
There is another thing that requires a lot of parallel processing – and that’s mining cryptocurrency. What is a cryptocurrency? – and what does it mean time “mine” them? - both legitimate questions that I honestly didn’t have great answers to about a week ago. But I spent some time learning, and I just mined my first ever 46 cents worth of cryptocurrency over the last 12 hours.
You’ve probably heard of Bitcoin, which is the most famous cryptocurrency. Or perhaps its infamous, because it got a lot of news coverage for being an “anonymous” currency that could be used to buy illegal things. I initially wrote a lot about this controversial aspect of bitcoin, but decided to pull it from the post because it's just not that interesting.
In a general sense, cryptocurrency is a decentralized electronic currency. The “decentralized” part means that no singular entity sets its value or manages a ledger. All transactions are traced by all users – so when Lisa pays Tony a bitcoin, literally every bitcoin user would be able to see it (if they wanted to). But they wouldn’t necessarily know that it was Lisa and Tony – they would just see that account A4E23B11 paid 1 bitcoin to account 676BC144.
The beating heart of all cryptocurrencies is a technology known as the “blockchain”. This was a breakthrough invention made by an unknown person (or group of people) under the pseudonym Satoshi Nakamoto. I will have an entire post to write about Nakamoto – maybe later this week. The blockchain is a giant database that is concurrently maintained by millions of users; it contains information such as how much money every user has, as well as a log of every transaction. Without going into too much technical detail, the blockchain is able to do accomplish this thanks to the work of “miners”.
Miners are people who dedicate their souped-up computers to the task of processing transactions and maintaining the ledger for the cryptocurrency. The ledger is essentially compacted using a very difficult-to-solve math problem that all miners’ computers labor at trying to solve. Solving it comes down to luck, but a faster computer can attempt to solve it more times per second than a slower computer. The lucky computer that succeeds at solving the problem first gets rewarded 12.5 bitcoins – and since 1 bitcoin is equal to roughly $11,500, that comes out to about $140,000. Not bad! One of these is solved about once every ten minutes. Take that, Powerball…
So, obviously, the chance of successfully solving this problem before anyone else is very small, especially with a cheap $280 graphics card. There are miners out there who have rooms full of purpose built mining rigs that sound like a jet engine taking off – their electric bills from mining alone can be upwards of $1,000 per month.
So I clearly didn't make $140,000 - but, you might be wondering how I made 46 cents. I did this by joining a large pool of miners. By joining the pool, I agree that if my computer finds the solution, I will split the profits with everyone else based on how fast everyone’s computers are in the pool. And if someone else finds the solution, they need to split it with me too. Well, some folks in my pool must have hit it, and me and my baby graphics card got our 46 cents worth!
Now, 46 cents in 12 hours shouldn't be coughed at. If I do some tweaking I could possibly get that up to $1.50 per day. That comes out to $550 per year – enough to cover the cost of the card, and then some. And that’s not taking into account the value growth that cryptocurrency is going through. 1 bitcoin used cost only $3 back in 2012. So there is growth potential.
I know that the geek is strong enough in this post as it is – but I need to take this one step deeper before I sign off. I’ve been using bitcoin as an example in this post because most people are familiar with the term “bitcoin” – but that’s far from the only cryptocurrency in existence.
The second most popular cryptocurrency is called “Ethereum” – and it takes the blockchain idea established by bitcoin and pushes it to the next level. The defining characteristic of Ethereum is that it allows entire programs and all sorts of other data to be stored within the blockchain – not just a ledger. I am having a hard time wrapping my head around the possibilities of Ethereum, but my gut reaction is that it could become big in the next few years. So, I chose to spend my time (and I earned by 46 cents) mining Ethereum rather than bitcoin.
Last night, Jess and I went to our good friend Abby's graduation from her DJ program. She was the very last act to perform, she played a great set, and the turnout was definatley solid.
There was a driving force that inspired Abby to take this DJ class, despite all of the various things that make life "busy" - and I admire that. There is something to be said about persuing hobbies and making dreams a reality.
I think this struck a chord with me because I have been finding very little time to persue my interests because of work commitments lately, and that can get frustrating. I am trying to use this blog to keep the ball rolling on the machine learning stuff. Anyways - I wasn't planning on making this about myself when I started writing. Nice job on that set, Abby. Her website is: https://www.abcomusic.com/
I'm a big fan of NPR Music's Tiny Desk concert series. These concerts started in 2008 - almost 10 years ago - supposedly when Bob Boilen (host of the All Songs Considered podcast) became frustrated with noisy and distracting concert venues. The Tiny Desk concerts are recorded right at Bob's office desk - and they are great because they strip away all of the cruft that gets between the music and your ears.
The music is front and center, and artists seem to have great respect for that. They treat their Tiny Desk performances as something special.
I feel like the quality of music has been especially high over the past few months, so I decided to share a list of my favorite Tiny Desk concerts. I haven’t come anywhere close to watching all of the concerts, so I might have to update this list again sometime in the future.
Gotta love this. The vocalist's (Bilal's) performance is powerful yet it often seems effortless. This sort of thing only happens when there is passion behind the music - and I sense there's a lot here - particularly in the last 3 minutes or so when he seems legitimately pissed off about equality issues. Definately one of the best Tiny Desk concerts right here.
This guy is a bit of a contradiction. He has a really soulful voice that sounds like it comes from New Orleans - yet he's from Sweden. Nonetheless, he's got the goods!
He sounds a bit like Ray LaMontagne. Solid concert here – it’s so easy to watch that it will be over before you even know it – and then you’ll say, ‘is there more?’ Yes there is - and it was recorded at Newport Folk Festival.
This is three sisters in a folk band. The vocals are the main focus here. Lots of good harmonies, and just the right amount of yelling.
With Tiny Desk, I find that a band completely outside of my typical preferences can grab my attention - and impress me! This is a good example. Honestly – I dare you to play the first 10 seconds of this, and then not listen to at least 5 minutes. It’s got a guy playing an electric guitar with a violin bow. It’s got an Obama lookalike playing drums. I’m pretty sure the lead singer starts handing out snacks near the end. Everyone is having so much fun here. I’d join their band if they asked me. Mom do you still have my clarinet from elementary school?
I didn’t know who The Arcs were before I watched this concert. This is a great band, perhaps underappreciated. Also, this was recorded two years ago and it was the 500th Tiny Desk concert. So, estimating that there has been about 150 additional concerts since then, and that each concert is about 15 minutes long, that means there is about 9,500 minutes or 158 hours of music – and more getting added every week. Now you know why I haven’t listened to all of the concerts.
This is a hip-hop artist, and his Tiny Desk performance is great. Writing about music is hard - but the person who writes the YouTube descriptions for NPR music is on point - they said this: "His deceptively intricate rhythm tracks interlock with complementary harmonies and brilliantly constructed bars in ways that appeal to both diehard hip-hop heads — those who decipher and analyze lyrics as a hobby — and those who just want a clutch beat." Woah, now those are the words of someone who actually knows what their doing.
When these guys finish their set, the host - Bob - was so excited that he gave the band high fives, and then catches them off guard by asking for another song. They didn't seem prepared, but they grabbed random office supplies to use as instruments - and then proceded to jam.
Standing on the desk of Tiny Desk is a move you see from time to time – but Paul Janeway, the lead singer, pulls it off better than most. Soulful.
In traditional OK Go fashion, their Tiny Desk concert is an intricate video recorded during NPR Music’s move from one office to another. They recorded little segments of the song in the first office, then in the hallway, then in the moving truck, then in the new office elevator, all the way to the new Tiny Desk location. This isn’t really a “stripped down” intimate performance that is typical of Tiny Desk – so I would feel disingenuous putting it in the list with the others.
© 2017. All rights reserved.