This is a group assignment with an individual element. Your group should have 4 members, and must be confirmed with the unit leader, Prof. Marcin Budka via e-mail by 21/02/2020.
This assignment will require you to:
Define a real-world Computer Vision problem your group will tackle. Make sure that the problem is novel in a sense that there are no existing opensource solutions to your problem or that your solution will be sufficiently different from the existing ones (which you must acknowledge). Please use the form in Appendix 1 at the end of this document. The form needs to be submitted via Brightspace by the deadline given in the following section of this document. Your proposal must be approved by the unit leader before you can continue with your assignment.
Design the evaluation protocol for your solution: How will you know that it works? How will you know how good it is? What will you use as the baseline? How will you compare multiple models?
Design the solution to your problem. This will be an iterative process involving testing your ideas, evaluating the current solution according to the protocol defined in the previous point (including error analysis), which should in turn inform your next steps like hyper-parameter tuning, changing the architecture, potentially collecting/annotating additional data etc. Remember to justify your choices at each step. The solution itself can be a neural network, something based on the OpenCV techniques you have learned about in the first part of this unit, or a combination of both of these (e.g. a video classifier based in an ImageNet-pretrained neural network which is fine-tuned with optical flow data produced by OpenCV from the video feed).
Put all the code in a Jupyter notebook with narrative, tables, figures, etc. such that it is self-contained and reproducible (i.e. anyone can reproduce your results simply by re-running your code in the notebook), covering requirements 2, 3 and 4 above. If any additional Python packages are required to run the notebook (i.e. they are not included in the environment we have been using in class), please include relevant “!conda/pip install” section at the beginning of the notebook, with brief explanation why these packages are needed. Both the raw and annotated data should be made accessible together with the notebook via BU OneDrive.
1.Definition of the problem
a.Context
b.Rationale
c.Aims and objectives
2.Data acquisition and preparation
a.Data characteristics and statistics
b.Data visualisation
c.Data processing
3.Modelling
a.Choosing appropriate techniques
b.Well-organised approach
c.Subsequent steps informed by earlier findings
d.Automation (i.e. avoiding manual steps)
4.Evaluation
a.Comparison against baseline(s)
b.Visualisations
c.Error analysis
d.Discussion and achievement of objectives
5.Notebook
a.Reproducibility
b.Structure and organisation
c.Coding conventions and principles
d.Scholarship and clarity
e.Referencing
6.Video presentation
The following sections describe what are the expectations for each level of achievement:
To achieve a Pass:
Define a moderately challenging computer vision problem, only requiring basic data acquisition and preparation (e.g. data downloaded from the Internet, using either existing annotations or annotations derived from existing). Apply and evaluate at least two different computer vision approaches (e.g. two different neural network architectures), compare and contrast their performance/applicability for the problem at hand with the help of basic data visualisation techniques. The notebook will facilitate some reproducibility, with reasonably clear structure and organisation, with some referencing.
To achieve a higher mark:
Define a more challenging computer vision problem, requiring more demanding data acquisition and preparation (e.g. data captured and annotated by the project team). Apply and evaluate a range of computer vision approaches, including hybrids of traditional and neural networks. Robustly compare and contrast their performance/applicability for the problem at hand with the help of more advanced (e.g. interactive) data visualisation techniques. The notebook will facilitate full reproducibility, with clear structure and organisation, and exhaustive referencing.
Learning Outcomes
This assignment tests your ability to demonstrate:
1.knowledge and understanding of Computer Vision techniques and their applications,
2.critical awareness of the strengths and limitations of various techniques and the classes of problems to which they may be effectively applied,
3.ability to provide expert advice by matching specific techniques to business objectives,
4.competence in use of the introduced techniques, approaches and tools, together with the ability to correctly interpret and evaluate the results.
QUESTIONS ABOUT THE BRIEF
You are encouraged to ask questions about the brief as early as possible, giving you the opportunity to achieve the best marks possible without any delay. You are invited to ask questions during timetabled sessions and electronically.