Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Quest of a Hero @ Londroid April 2017

Quest of a Hero @ Londroid April 2017

A quest of the hero that everyone has inside, having a parallelism with an animated story (dragon ball), I give a trip around my experience from the beginning to nowadays in Android, how this started, how did go, what did help, and what I would expect to be at a next future. In addition to this, I would introduce a short use case for building a MVP (minimum viable product) related with a past experience, talking about machine learning (face recognition) on Android devices with Augmented reality (AR). This would explain how to plan those kind of tasks, the process to follow and future work for those specific projects.

Ffc500baeba9a1024e2c8273203c9f90?s=128

Raul Hernandez Lopez

April 25, 2017
Tweet

Transcript

  1. Raúl Hernández López Software Engineer focused on Android April 2017

    Quest of a Hero @RaulHernandezL #QuestOfAHero @londroid
  2. Part 1: The Real Hero @RaulHernandezL #QuestOfAHero @londroid

  3. Why? • Change of career @RaulHernandezL #QuestOfAHero @londroid

  4. Why? • Change of career • Interests for new paradigms

    @RaulHernandezL #QuestOfAHero @londroid
  5. Why? • Change of career • Interests for new paradigms

    • Market change @RaulHernandezL #QuestOfAHero @londroid
  6. “Before you run, you have to first learn to walk.”

    @RaulHernandezL #QuestOfAHero @londroid
  7. Birth @RaulHernandezL #QuestOfAHero @londroid

  8. Birth I want to become an awesome engineer @RaulHernandezL #QuestOfAHero

    @londroid
  9. Who would I like to be? • Decide your path

    @RaulHernandezL #QuestOfAHero @londroid
  10. Who would I like to be? • Decide your path

    ◦ Backend / Frontend ◦ Data science ◦ Games / VR / AR ◦ Machine learning ◦ Mobile: Android / iOS ◦ ... @RaulHernandezL #QuestOfAHero @londroid
  11. Who would I like to be? • Drive your steps

    ◦ Make a short/long term plan @RaulHernandezL #QuestOfAHero @londroid
  12. @RaulHernandezL Adventures & Preparation #QuestOfAHero @londroid

  13. Challenges & motivation Mentor @RaulHernandezL Adventures & Preparation #QuestOfAHero @londroid

  14. Adventures & Preparation Be ready for failure Acquired knowledge @RaulHernandezL

    #QuestOfAHero @londroid
  15. Be part of something you love @RaulHernandezL #QuestOfAHero @londroid

  16. Quest @RaulHernandezL #QuestOfAHero @londroid

  17. Quest Continuous Improving • Learn from mistakes • Continuous learning

    • Right tool for the right job @RaulHernandezL #QuestOfAHero @londroid
  18. Quest Openness • Be open to change • Accept critics

    • Talent @RaulHernandezL #QuestOfAHero @londroid
  19. Quest Enthusiasm • Work hard to get better Fail •

    No matter what, keep improving @RaulHernandezL #QuestOfAHero @londroid
  20. Never surrender @RaulHernandezL #QuestOfAHero @londroid

  21. LIMITLESS • Leave your comfort zone @RaulHernandezL Experiment #QuestOfAHero @londroid

  22. @RaulHernandezL LIMITLESS • Leave your comfort zone ◦ Remote ◦

    New countries Experiment #QuestOfAHero @londroid
  23. LIMITLESS • Achieve improvement ◦ Code reviews ◦ Discussions ◦

    Pet projects Experiment @RaulHernandezL #QuestOfAHero @londroid
  24. LIMITLESS • Community ◦ Online ◦ Offline ◦ Help others

    ◦ Be grateful (and humble) Experiment @RaulHernandezL #QuestOfAHero @londroid
  25. Your Choices make the Difference @RaulHernandezL #QuestOfAHero @londroid

  26. Check results & Plan next @RaulHernandezL #QuestOfAHero @londroid

  27. Check results & Plan next @RaulHernandezL Team Surround you with

    the best people #QuestOfAHero @londroid
  28. Expertise What I would need to know now? 100%? Team

    Surround you with the best people Check results & Plan next @RaulHernandezL #QuestOfAHero @londroid
  29. Egoless, be humble @RaulHernandezL #QuestOfAHero @londroid

  30. @RaulHernandezL #QuestOfAHero @londroid PAST and Future

  31. @RaulHernandezL #QuestOfAHero @londroid Look back Have I achieved my initial

    goals? PAST and Future
  32. PAST and Future Remember what made yourself better and keep

    it in mind @RaulHernandezL #QuestOfAHero @londroid
  33. All we have a Goku inside @RaulHernandezL #QuestOfAHero @londroid

  34. All we have a Goku Hero inside, let it shine!

    @RaulHernandezL #QuestOfAHero @londroid
  35. Credits & Thanks! Alex Magic Counselors Actors Awesome Engineers! @RaulHernandezL

    Sergio Carabantes Steve Lilly Alex Miragall Luis Ibañez Nico Patarino Saúl Díaz Rubén Blanco Luxo #QuestOfAHero @londroid Raúl Raja
  36. Part 2: Let´s Do it! @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid

  37. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Image recognition The Plan

  38. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Image recognition • Augmented

    Reality The Plan
  39. Brainstorm @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • A super cool

    rainbow on my tongue
  40. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • A super cool rainbow

    on my tongue • some manga eyes Brainstorm
  41. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid Brainstorm • A super cool

    rainbow on my tongue • some manga eyes • massive teeth…
  42. Use case @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • A super

    cool rainbow on my tongue • some manga eyes • massive teeth…
  43. Use case @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • A super

    cool rainbow on my tongue • some manga eyes • massive teeth… Stop it!
  44. What do we want to achieve? @RaulHernandezL #AR #MachineLearning #QuestOfAHero

    @londroid
  45. What do we want to achieve? @RaulHernandezL #AR #MachineLearning #QuestOfAHero

    @londroid • Build a Prototype
  46. What do we want to achieve? @RaulHernandezL #AR #MachineLearning #QuestOfAHero

    @londroid • Build a Prototype • Something functional
  47. What do we want to achieve? @RaulHernandezL #AR #MachineLearning #QuestOfAHero

    @londroid • Build a Prototype • Something functional (but simple!)
  48. What do we want to achieve? @RaulHernandezL #AR #MachineLearning #QuestOfAHero

    @londroid • Build a Prototype • Something functional • Easy to be extended
  49. And remember @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid simple!

  50. Use case @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Kind of...

  51. High level Requirements: @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Selfie

    camera
  52. High level Requirements: @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Face

    recognition • Drawing POIs
  53. How do I start? @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid •

    Choose a machine learning library: ◦ OpenCV ◦ TensorFlow
  54. How do I start? @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid •

    Choose a machine learning library • Native camera recognition ◦ Camera API ◦ Camera2 API
  55. Image recognition @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Detection model

    (cascade classifier) ◦ Haar Cascade vs Local Binary Pattern Histograms (LBPH) ▪ Haar is Slower, more reliable ▪ LBPH is faster, less reliable
  56. Image recognition @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Camera native

    Recognition ◦ Fast, reliable
  57. Rendering graphics @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Limited •

    Fast, but very simple
  58. Rendering graphics @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Canvas rendering

    ◦ No so fast, but flexible
  59. Rendering graphics @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • OpenGL or

    external Graphics libraries ◦ Fast, more complex to start with
  60. Can´t wait! Gonna get stuff done! @RaulHernandezL #AR #MachineLearning #QuestOfAHero

    @londroid
  61. OpenCV sample @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • First prototype

  62. OpenCV sample @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid ◦ Face (&

    eyes) recognition ◦ AR markers
  63. OpenCV sample @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid ◦ Accurate Eye

    recognition ◦ AR markers
  64. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid OpenCV result

  65. Camera2 sample @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid • Second prototype

  66. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid ◦ Face recognition (Camera2) Camera2

    sample
  67. @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid ◦ Face recognition (Camera2) ◦

    AR marker (Paint) ◦ Canvas on a View Camera2 sample
  68. Camera2 result @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid

  69. References @RaulHernandezL #AR #MachineLearning #QuestOfAHero @londroid Image Recognition & AR

    Presentation Samples: https://github.com/raulh82vlc/ImageRecognitionSamples OpenCV OpenCV tutorial http://www.learnopencv.com/image-recognition-and-object-detection-part1/ OpenCV Sample https://github.com/opencv/opencv/tree/master/samples/android/face-detection OpenCV for Secret Agents - Joseph Howse https://www.packtpub.com/application-development/opencv-secret-agents Camera 2 Camera 2 Sample Basic https://github.com/googlesamples/android-Camera2Basic Camera 2 Reference https://developer.android.com/reference/android/hardware/camera2/package-summary.html Camera 2 Introduction on Dev.Bytes https://youtu.be/Xtp3tH27OFs
  70. Questions? Thanks! @RaulHernandezL #MachineLearning #QuestOfAHero @londroid