GithubHelp home page GithubHelp logo

mcv-m5's Introduction

mcv-m5

Master in Computer Vision - M5 Visual recognition

Fork this project

Fork this project to start your group project. Add robertbenavente and lluisgomez as contributors.

Project description

Download the Overleaf document

Project slides

  • Google slides for Week 1
  • Google slides for Week 2
  • Google slides for Week 3
  • Google slides for Week 5
  • Google slides for Week 7 (T.B.A.)

Peer review

  • Intra-group evaluation form for Week 2 (T.B.A.)
  • Intra-group evaluation form for Weeks 3/4 (T.B.A.)
  • Intra-group evaluation form for Weeks 5/6 (T.B.A.)
  • Intra-group evaluation form for Week 7 (T.B.A.)

News

Groups

  • Group 01

    • Francisco Roldán Sánchez
    • Guillem Delgado Gonzalo
    • Jordi Gené Mola
  • Group 02

    • Roger Marí Molas
    • Joan Sintes Marcos
    • Alex Palomo Dominguez
    • Alex Vicente Sola
  • Group 04

    • Mikel Menta Garde
    • Alex Valles Fernandez
    • Sebastian Camilo Maya Hernández
    • Pedro Luis Trigueros Mondéjar
  • Group 05

    • Guillermo Eduardo Torres
    • Marc Górriz Blanch
    • Cristina Maldonado Moncada
  • Group 06

    • Juan Felipe Montesinos Garcia
    • Ferran Carrasquer Mas
    • Yi Xiao
  • Group 07

    • Yevgeniy Kadranov
    • Santiago Barbarisi
    • Arnau Vallvé Gispert
  • Group 08

    • Ferran Pérez Gamonal
    • Joan Francesc Serracant Lorenzo
    • Jonatan Poveda Pena
    • Martí Cobos Arnalot
  • Group 09

    • Lorenzo Betto
    • Noa Mor
    • Ana Caballero Cano
    • Ivan Caminal Colell

mcv-m5's People

Contributors

jonpoveda avatar lluisgomez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcv-m5's Issues

Number of classes in Task 2

In task 2 we have to set-up a new experiment file to discriminate among pedestrians, vehicles, and cyclists on KITTI dataset. Just one question to clarify the instructions. Are we supposed to modify the number of classes of the KITTI dataset? I mean, should the classes remain the same as specified in the config.py file (8 classes)? Or should we create new classes (just 3: "pedestrians", "vehicles" and "cyclists") by merging the original ones (e.g. car + van + truck + tram = "vehicles") ?

Original classes in the config.py file:
classes = {
0: 'background',
1: 'Car',
2: 'Van',
3: 'Truck',
4: 'Pedestrian',
5: 'Person_sitting',
6: 'Cyclist',
7: 'Tram'
}

How to visualize semantic segmentation results?

Hello! Does anybody know if it is possible to visualize/save the semantic segmentation results with the current framework?

I thought the Save_results callback (in callbacks.py) was meant for that, but maybe I got this wrong. I tried setting save_results_enabled = True in the config files (to use the previous callback), but the execution crashed. Apparently, because GeneratorEnqueuer (in callbacks.py -> Save_results) is not used properly.

Did anybody deal with a similar issue? Any help regarding visualization of results would be appreciated. Thank you!

Validation metrics error in Segmentation

Hello, we are Team 1 and we are having issues when calculating the metrics of the validation set using the provided model and the provided config file. We reviewed the code but we cannot find the error. Did anyone have the same problem and was able to solve it? Was anyone able to run the baseline without any problems?

We are having the following log:

Training finished.

Testing the model...

Loading model from ./Experiments/camvid/proba1_Guillem/weights.hdf5
Testing time: 10.5027060509. FPS: 22.2799723106. Seconds per Frame: 0.0448833591918
Test metrics:
acc: 0.641700183446
loss: 0.999698792426
jaccard_coef: 0.246825623906
Traceback (most recent call last):
File "train.py", line 124, in
main()
File "train.py", line 116, in main
process(cf)
File "train.py", line 45, in process
if (valid_gen != None): model.test(valid_gen)
File "/home/master/mcv-m5/code/models/model.py", line 235, in test
I[i] = metrics_dict['I'+str(i)]
KeyError: 'I0'
master@mastergpu01:~/mcv-m5/code$

Improvement of Keras model training time

Hello,

While performing first batch of CNN training tests we found out that there was a huge delay between epochs. We suspected this delay was produced due to the prediction of the validation image set at the end of every epoch. By digging into the code, we realized the "validation_steps" parameter of method "fit_generator" was not set when training the net (file code/model/model.py, line 44). According to Keras documentation, when this parameter is not set, the images of the validation set are analyzed one by one.

In order to reduce training time by analyzing validation images in batches (and take profit from parallel computing), we propose to make use of "batch_size_valid" configuration parameter. We also propose to use "batch_size_train" configuration parameter to define the batch size when training the CNN. The following .zip file contains the code/model/model.py with the modification proposed:

model.py.zip

With this modification and a minor tweak of the batch size hyper-parameters, we decreased the training time from 10 minutes to 3 minutes per epoch.

Here is the code snippet for this modification:

hist = self.model.fit_generator(generator=train_gen,
	steps_per_epoch=self.cf.dataset.n_images_train//self.cf.batch_size_train,
	epochs=self.cf.n_epochs,
	verbose=1,
	callbacks=cb,
	validation_data=valid_gen,
	validation_steps = self.cf.dataset.n_images_valid//self.cf.batch_size_valid,
	class_weight=None,
	max_q_size=10,
	nb_worker=1,
	pickle_safe=False)

Adaptation of SSD (object detection)

Hi,

We have an issue in the implementation/adaptation of SSD Network. To be precise, it appears when trying to assign "boxes[best_iou_idx, 4:]" to "assignment[:, 5:-8][best_iou_mask]" in the assign_boxes method of BBoxUtility class inside tools/ssd_utils.py. The shape[1] of the "assigment" variable is "4 + num_classes + 8" but as the position [:,4] is not included when doing the assignment one position is missing.

The implementation of SSD that we use as reference is this one: https://github.com/rykov8/ssd_keras

The exact error that we get is this one:
error

Split of KITTY dataset for task2

Hi,
In task 2 the test split of the KITTY dataset is empty because at the end of the script.py (that is inside the KITTY directory) the call for the 'proces_set' function that generates the test directory is commented. How we can evaluate it?
Thanks in advance

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.