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

Machida Tech Night #2 My Failure on Wally Game with Machine Learning

Machida Tech Night #2 My Failure on Wally Game with Machine Learning

The story about my attempt to solve wally game with machine learning, which is failed. (Link are all dead)

Shunta Furukawa

January 28, 2016
Tweet

More Decks by Shunta Furukawa

Other Decks in Technology

Transcript

  1. SELF INTRODUCTION • Shunta Furukawa @ shunter1112 • NTT, DOCOMO

    • Job : Business Development • Interest : Seeking potential possibility of new technologies…
  2. FLEXIBLE FRAMEWORK FOR DEEP LEARNING CHAINER • Deep Learning framework

    provided as a Python Library. • Preferred Network, Inc has developed, OSS. • For more information, see : • http://chainer.org/ • http://www.slideshare.net/beam2d/introduction-to-chainer-a- flexible-framework-for-deep-learning • Easy to implement Deep Learning algorithm, even for beginner programmer like me.
  3. CHARACTER RECOGNITION (REVIEW) • MNIST : “Hello world” of machine

    learning • http://yann.lecun.com/exdb/mnist/ • INPUT : 28x28 pixel grayscale image of character • OUTPUT : One of number from 0 to 9 28 28 5
  4. WORKFLOW 1. Learn Wally’s face 1. Collect Data (Positive /

    Negative) 2. Build Model 2. Find Wally’s face 1. Scan the view with face size rectangle. 2. Use Model to understand whether it’s Wally or not.
  5. COLLECT POSITIVE DATA • Collect few number of images and

    generate more samples with `opencv_createsamples` command, adding noise of rotation and skewing. • To simplify problem, grayscale images. ( colored one would be better in terms of accuracy, but I couldn’t handle it this time ) 5 images 5000 images OPENCV_CREATE SAMPLES
  6. COLLECT NEGATIVE DATA • Randomly crop the image of scene.

    • Same as positive data, grayscaled. CROP 16000 images
  7. BUILT A MODEL AND TRAIN IT. 784 100 100 0

    1 INPUT OUTPUT 1 • made use of MNIST model
  8. WHAT DETECTOR DOES 1. Slide a 28x28 pixel rectangle 2.

    crop image 3. judge if it’s Wally 1. if so, draw a rect on the image.
  9. LESSON LEARNED 1. Needed more data ( especially positive one

    ) 2. Should have written generation program myself 1. Compromised it so that images are grayscaled 2. Wanted to add different type of noise (white noise on color) 3. Should have tried to use CNN 4. Better to have more smart way to scan 1. Image hierarchy 2. Selective Search