Git Product home page Git Product logo

jdpigrecognition's Introduction

Pig Face Recognition of JDD-2017 Competition

link: https://jdder.jd.com/index/jddDetail?matchId=55e7bf6ee82844e88172874c6dd1b499

This project includes three processes.

  • video_process

    Convert the videos into image data.

    Use data augmentation to enrich training set. It includes rotation, flipping, translation, scaling, random cropping, adjusting brightness and chroma, and etc.

    ( Please see the folder video_process and readme for details.)

  • fcn

    Process image data and segment the pigs individually.

    Use data augmentation to enrich training set. The pigs segmented would be rotated, flipped, translated, adjusted brightness and chroma, and etc.

    ( Please see the folder fcn and readme for details.)

  • classify

    To classify each pigs out of the images.

    Use the pigs segmented by FCN as input to the classification model.

    ( Please see the folder classify and readme for details.)


Environment

1、Python environment: This code is compatible with Python 2.7, 3.5, 3.6.

2、Some Python libraries: Tensorflow 1.0+、numpy、six


Caution

1、I received a feedback that the running of FCN would result in insufficient memory storage. There is an explanation here. The problem does not occur on my computer since my computer's memory storage is large enough: the memory storage of my computer is 16G. If the memory storage is not large enough, such as 8G, you can modify the file "load.py" inside the folder fcn and change the data loading method to on-demand loading. It is recommended to refer to the data loading method in file "classify/load.py", which applies asynchronous on-demand loading method. This method can solve the memory storage shortage problem and still keep the fast speed.


Competition Ranking

But the log_loss of the test set, the result of classify, can reach 0.32, which was in the top 20 and eligible to enter the finals.

Unfortunately, I made mistakes in saving the model and handed in a wrong model, leading to the result of ranking 101. After I found out this problem, it was too late to submit the correct model.


Feelings and Thoughts

When I signed up for this competition, half of the time had already passed. Plus, due to the inappropriate allocation of time in the former phase, there was no enough time left for me to train the model and debug problems.

In general, there were several problems.

1、I do not read enough papers and need to further enrich my minds.

2、The allocation of time was not appropriate. I have wasted most of my time on the segmentation of pigs, instead of other sections which were more importance, such as the classification section.

At first, I tried hard to avoid manually tagging data and to apply unsupervised method to solve problems. However, it turned out that it was a waste of time and meanless. Although I turned to apply FCN model as soon as I found out this problem, lots of time had already been wasted.

jdpigrecognition's People

Contributors

samuellan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.