How to add a brain to your smart phone

[Update – You can now download the app for your iPhone!]

I am totally convinced that deep learning approaches to hard AI are going to change our world, especially when they’re running on cheap networked devices scattered everywhere. I’m a believer because I’ve seen how good the results can be on image recognition, but I understand why so many experienced engineers are skeptical. It sounds too good to be true, and we’ve all been let down by AI promises in the past.

That’s why I’ve decided to release DeepBeliefSDK, an iOS version of the deep learning approach that has taken the computer vision world by storm. In technical terms it’s a framework that implements the full Krizhevsky stack of 60 million neural network connections, with a customizable top layer inspired by the Decaf approach. It does all this in under 300ms on an iPhone 5S, and in less than 20MB of memory. Here’s a video of me of me using the sample app to detect our cat!

This means you can now easily build cutting edge object recognition into your iOS apps. Even the training on custom objects can be done on the phone. Download and build the sample code and judge the effectiveness for yourself. Then all you need to do is teach it the things you care about, link against the framework, and you’ve given your app the ability to see!

22 responses

  1. Very impressive. Can this tell the difference between, say, your cat and mine? Or is it more in the realm of being able to tell the difference between a cat and a bottle of wine?

  2. Pingback: Four short links: 9 April 2014 - O'Reilly Radar

  3. Impressive. The limitation I suspect though is recognising lots of different objects?

    The human brain has the computing power of around 500 million iPads linked together, and a billion years of software optimisation.

    Around 1/3 of that – just under 200 million iPads worth – is devoted to processing images.

    From what I have seen working on AI, you can compensate for lack of computing power by drastically simplifying the problem – so for example with an OCR app, instead of trying to recognise any arbitrary image, it limits itself to recognising 40 – 50 symbols?

  4. Very nice work! Thx a lot for the release.
    It would be wonderful if you could extend the api in a way that one can
    access the different layers of the ANN to play with the individual feature extractors.

    Cheers Ulf

  5. Pingback: How to Add a Brain to Your Smartphone | Gladys Pintado

  6. Pingback: How to add a brain to your smart phone | Pete Warden’s blog | Kyu's Blog

  7. Pingback: Mobile Eats the Cloud | Memkite

  8. Pingback: appgong » How to add a brain to your smart phone « Pete Warden's blog

  9. Pingback: How to add a brain to your smart phone | NYC Startup News

  10. Pingback: Travel App Can Recommend Places by Looking at Them | I Want to Know How

  11. Pingback: App Scans Instagram to Recommend Restaurants | GT Trends, We're Going Places

  12. Pingback: App Scans Instagram to Recommend Restaurants | Trip-adviser.net

  13. Pingback: App Scans Instagram to Recommend Restaurants : Travelling Information Tips and Resources

  14. Pingback: App Scans Instagram to Recommend Restaurants | Best Travel Day

  15. Pingback: Travel App Can Recommend Places by Looking at Them | TheSpilk | talk technology

  16. Since Jetpac was bought and support shut down, does the deep belief SDK still work? I apologize for the dumb question, as I am a complete beginner with ios development, and could not figure out how to try the xcode project
    Thanks,
    Vardaan

      • Hi Pete,

        i am using caffe to train my nets. It is possible to convert my model to a binary file (.ntwk) and use it with the SDK? I tried to understand how is it structured, but seems a bit complex. Do you have some guidelines about it?

        Thanks in advance.

        Cheers,

  17. Hello,

    Nice article!

    I have a question, is it possible to implement it for the image list we have? In my uderstanding, the .ntwk file is the image collection for the matching. How can I create a .ntwk file with the image list I have?

    Thank you,
    Saneesh

  18. Pingback: Objekt-Erkennung mit dem iPhone: DeepBelief-Framework für Entwickler › iphone-ticker.de

  19. Pingback: What Does it Take to Train Deep Learning Models On-Device? « Pete Warden's blog

Leave a comment