README.md 2.37 KB
Newer Older
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
1

2
# crowdAI Food Challenge : Baseline
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
3

4
This repository contains the details of implementation of the Baseline submission using [Mask RCNN](https://arxiv.org/abs/1703.06870) which obtains a score of `[AP(IoU=0.5)=0.183 ; AR(IoU=0.5)=0.224]` for the [AICrowd Food Challenge](https://www.aicrowd.com/challenges/food-recognition-challenge).
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
5
6
7

# Installation
```
8
9
git clone https://gitlab.aicrowd.com/nikhil_rayaprolu/food-recognition/
cd food-recognition
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
10
11
12
13
14
15
# Please ensure that you use python3.6
pip install -r requirements.txt
python setup.py install
```

# Notebooks
16
Please follow the instructions on the relevant files for the training, prediction and submissions.
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
17

nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
18
* [Training](Train.py)
19
* [Prediction and Submission](eval.py)
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
20
21
  (_pre-trained weights for baseline submission included_)

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# How to Submit
As noted at https://github.com/AIcrowd/food-recognition-challenge-starter-kit/ this repository contains aicrowd.json and custom changes
to Dockerfile
```
# Custom changes for Submission

COPY ./requirements.txt .
RUN pip install -r requirements.txt --user
COPY . .
```
changes to [run.py](run.py#L135) can be seen at line 135, where we call a function from [eval.py](eval.py#L82) .
 
run.py . 
```
evaluate(test_images_path, predictions_output_path)
```
Inside the evaluate function in [eval.py](eval.py#L102), we pass the images into the model for detection . 
eval.py . 
```
predoctions = model.detect(images, verbose=0)
```

By writing this code, you are basically allowing AICrowd Auto-Evaluators to pass private test data into your model and detect predictions in runtime
for the new data.

nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
47
48
# Citation
```
49
50
51
52
53
54
55
@misc{AICrowdFoodChallengeBaseline2018,
  author = {Nikhil, Rayaprolu},
  title = {AICrowd Food Recognition Challenge 2019 : Baseline with Mask RCNN},
  year = {2019},
  publisher = {Gitlab},
  journal = {Gitlab repository},
  howpublished = {\url{https://gitlab.aicrowd.com/nikhil_rayaprolu/food-recognition}},
nikhil_rayaprolu's avatar
nikhil_rayaprolu committed
56
57
58
59
60
61
62
63
}
```
# Acknowledgements
This repository heavily reuses code from the amazing [tensorflow Mask RCNN implementation](https://github.com/matterport/Mask_RCNN) by [@waleedka](https://github.com/waleedka/).
Many thanks to all the contributors of that project.
You are encouraged to checkout [https://github.com/matterport/Mask_RCNN](https://github.com/matterport/Mask_RCNN) for documentation on many other aspects of this code.

# Author
64
Nikhil Rayaprolu [nr178@student.london.ac.uk](nr178@student.london.ac.uk)