from Hacker News

NHL goal celebration hack: real-time machine learning and hue light show

by cotsog on 4/22/15, 2:52 PM with 46 comments

  • by ddcarnage on 4/22/15, 9:41 PM

    I'm the guy who did this; really happy this is trending on HN!

    Hope everyone enjoys the game tonight! :D

  • by iwaffles on 4/22/15, 9:43 PM

    This is really awesome. I've managed to do something similar, but for the Washington Capitals. When the game starts the lights change to the color of the home team, and when they score the flash. I'm using a little web scraper to pull from nhl.com to get the data, however, sometimes it's quite out of sync with the actual game (streaming or live tv). Usually about 30 seconds to a minute delay.

    The best part is when I forget that they are playing and the lights start flashing randomly. Always scares guests :)

  • by SG- on 4/22/15, 10:27 PM

    I know this post isn't really about the hockey part and more about the ML part, but I think it would be more practical to analyze and maybe use the Budweiser Redlight API if possible (I haven't looked into it yet or have one) to get almost instant goal reporting for your team of choice.

    I have seen it in action and it's like ~2 seconds off from a live feed.

    http://www.budweiser.ca/redlight/

    Really nice post and I'll be using it implement a few things around the house (like trying to monitor kids crying, etc).

  • by simark1 on 4/22/15, 9:10 PM

    I am impressed that it's able to work for both when the Habs are at home and on the road. The only similar thing would be the commentator's reaction. The ambient sound is reversed (cheers and horns when the Sens score). I would think you would have to train the algorithm separately for both cases, and tell it whether the current game is at home or not.

    Anyway, this is very good work, the light setup is very clean. I hope that the (your?) system will get a lot of "true positives" during tonight's game :).

  • by pragone on 4/22/15, 9:26 PM

    You might also have good luck by analyzing the chat data from hockeystreams - just look for when a few dozen people write something along the lines of "GOOOOOOOOAAAAAAAALLLLLLLLLL", and take it from there.

    Granted, not as much fun as setting up the whole system you did, but another option.

  • by hellskitchendev on 4/22/15, 8:37 PM

    This is great. I use a simple IFTTT recipe to blink my hue's at the start of the Yankees games but the ESPN api hook is always off by 10 minutes or more.
  • by comrh on 4/22/15, 10:36 PM

    Nerdy Habs fans: combining obsessive love of tech with obsessive love for hockey.

    All the goal horns are on youtube, maybe you could create a training set with that?

  • by dquail on 4/23/15, 4:44 AM

    This is awesome. Well done. Wondering if there was any real time speech to text that could be trained. Seems like these commentators all have their canned lines when the team scores. "He scores", "Goal", etc. etc. Seems like you might be able to fairly accurately capture that and add the sentence as an attribute? Well done. My Oilers need something like this for every time we win the Draft Lottery! McDavid!!!!!!
  • by decisiveness on 4/22/15, 9:49 PM

    This is a cool idea, but the light show going off erroneously in my own home for the opposing team would be disheartening to any die hard fan. Any chance of this happening, let alone once every 4 games, would be unacceptable. And the pain of knowing I rigged it up myself would make it that much worse. I applaud OP for the wherewithal it must've taken to see this project through to the end.
  • by chaosmachine on 4/22/15, 8:29 PM

    It seems like analyzing the video would be much easier, as you could basically just OCR the on-screen scoreboard.
  • by dheera on 4/23/15, 11:46 AM

    Nice!

    I was playing with the Belleds lights (friend's recent Kickstarter; similar to Hue but somewhat cheaper), wrote a Python API for it, which worked great, but then I hit a mental block in coming up with something actually cool to do with RGB lights.

    I hooked it up to a text sentiment analyzer but this just wasn't all that cool. https://github.com/dheera/python-belleds/blob/master/sample-...

    Hooking it up to a sports match though, that's definitely cool and useful.

  • by tantalor on 4/22/15, 10:02 PM

    What happens when a goal is scored by the other team?
  • by ErikAugust on 4/23/15, 1:15 AM

    Very cool. Would a Closed Caption feed be superior?
  • by jtkme on 4/23/15, 4:27 AM

    As a fan of both ML and hockey, I love this! Can't wait to beat you again this year (let's go Rangers)

    You can probably get some improved performance using hidden markov models to place of the voting scheme.

  • by hyperbovine on 4/22/15, 10:58 PM

    > Being able to see the patterns with the naked eye is very encouraging in terms of being able to train a model to detect it.

    Would that that were true!

  • by robinhowlett on 4/22/15, 10:21 PM

    Was playing the goal song through home audio system triggered too? How (or is it Mac's audio piped through speakers)? Great idea btw
  • by circa on 4/23/15, 3:17 AM

    Very cool. Lets go Islanders!!!!