Computer Science and Software Engineering

 

Project Number: 2019-1

Project Leader: James Atlas

Host Department: Computer Science and Software Engineering

Project Title: Deep Learning Fine Tuning using Monte Carlo Tree Search

Project outline: Complex deep learning networks include massive numbers of neurons and can be hundreds of MB in size and require thousands of training samples to learn the underlying functional task with high accuracy. For custom data sets without enough samples or without enough computational time the only option is to transfer learning from an existing trained network to the custom data set. Retraining is often successful when the new domain is similar in feature space to the original domain but still requires significant computational time and network size. Ensemble models will retrain multiple existing pretrained networks and create quorum predictions that allow for the new data sets underlying functional task to match a combination of the original tasks learned by the ensembled models.

For this project we propose to explore options for fine tuning ensemble models. One existing option is to use statistical analysis on subnetworks of the pretrained networks, using dimension reduction, to find significant contributions to model prediction. We propose to continue this exploration using monte carlo tree search (MCTS) algorithms to locate combinations of subnetworks that would better fit the custom data set.

Final result would be a database collection of pretrained models and their metadata, an implementation of a search algorithm based on MCTS, and a pipeline that generates an ensemble model from a given custom data set and metadata parameters about computational time and network size requirements. Application testing will include biological species identification, human language symbol identification, and general 2D/3D object detection.

Specific Requirements: COSC367 or similar required. COSC401 or similar preferred. Industrial level python programming skills required. Experience with Pytorch, Keras, or Tensorflow would be helpful.

 

 

Project Number: 2019-2

Project Leader: James Atlas, Debbie Munro

Host Department: Computer Science and Software Engineering

Project Title: Protocol Development for Bone Fracture Healing Model

Project outline: Looking for a student to develop and implement a protocol to test a mathematical model for a microelectronic strain sensor for biomechanics. Currently the device has been tested in a controlled environment for monitoring fracture healing processes in bone. An initial mathematical model using deep learning convolutional neural networks (CNN) has been developed to predict fracture healing progress. The initial model currently relies on a protocol with precise control over physical moments. The long term goal of the project includes real-time analysis in embedded live animal and human subjects where such precise control is not possible.

I am looking for a student to assist with development of a new test protocol, construct and run experiments, and transform data into a bending moment agnostic representation. Depending on timing and quality of the representation there is potential to retrain and modify the CNN to predict from less controlled environments.

Specific Requirements: Python programming is a requirement (COSC121 or equivalent). A course in statistics (STAT101 or equivalent) is preferred. Knowledge or background in physics, biomechanics, biology, scientific research methods, and machine learning would be a better fit as more could be accomplished during the 10 weeks.

 

Project Number: 2019-7

Project Leader: Ramakrishnan Mukundan, Associate Professor, Department of Computer Science and Software Engineering.

Host Department: Computer Science and Software Engineering

Project Title: Analysis of Cytological Features Derived from Whole Slide Images of Breast Cancer Histology Slides

Project outline: This project involves the development of image processing methods for analysing and quantifying cytological and molecular features derived from histopathological whole slide images. The intensity, shape and texture characteristics of biomarker specific features are commonly used in machine learning algorithms to classify images based on cancer grade and type. This project aims to analyse features that are useful in predicting the ER (Estrogen Receptor) status of breast cancer patients using digital images of H&E (hematoxylin & eosin) stained tissue samples. The images from the Cancer Genome Atlas (TCGA) will be used for this work. The ER status of a patient effects how useful hormone based treatment methods will be.

   The project requires the use of image processing algorithms to read and process whole slide images and to extract morphological and texture features that are related to various cytological features. The project will also involve the development of efficient nuclei segmentation algorithms.

Specific Requirements: Proficiency in Python programming

  • Ability to design algorithms and implement them in Python
  • Knowledge of Python libraries such as NumPy and Matplotlib.
  • Knowledge of machine learning algorithms and the Scikit-Learn library is desirable
  • Knowledge of image processing functions and the OpenCV library is desirable.

 

 

Project Number: 2019-10

Project Leader: Ramakrishnan Mukundan, Associate Professor, Department of Computer Science and Software Engineering

Host Department: Computer Science and Software Engineering

Project Title: User Interface Development for a Breast Cancer Histology Slide Processing Algorithm

Project outline: This summer project involves the design of a user interface for a larger project on automated breast cancer grading where machine learning algorithms are used to classify digitized images of breast cancer histology slides. The user interface designed as part of this project will contain the ability to interactively select different parts of an input image, adjust the parameters of the processing algorithms, and annotate regions of interest. The images used in this project are very large, giga byte order whole slide images (WSI) of biopsy samples produced by digital microscopes. The user interface will provide a visualization of the tissue and stain characteristics present in the samples, and also the distribution of feature vectors generated by the machine learning algorithm. The graphical user interface will be developed using a GUI framework in Python.

Specific Requirements: Proficiency in Python programming

  • Ability to design algorithms and implement them in Python
  • Knowledge of Python libraries such as NumPy, Matplotlib and tkinter.
  • Knowledge of image processing functions and the OpenCV library is desirable.

 

 

Project Number: 2019-11

Project Leader: Ramakrishnan Mukundan (Associate Professor, Department of Computer Science and Software Engineering),  Maggie-Lee Huckabee (Professor, School of Psychology, Speech and Hearing)

Host Department: Computer Science and Software Engineering

Project Title: Tele-ultrasound Video Processing Algorithms for Automated Segmentation and Quantification of Image Features

Project outline: This project aims to develop efficient computational tools for processing ultrasound video frames generated by a Clarius tele-ultrasound scanning system. This is a collaborative project with the Rose Centre for Stroke Recovery and Research, where the tele-ultrasound systems are being used for the assessment and monitoring of conditions related to swallowing disorders. The primary goal of the summer project is to develop algorithms in Python language using the OpenCV library for reading and enhancing the contrast and features of video frames, and to automatically identify points and regions of interest within each frame based on different types of intensity and texture characteristics.  The extracted regions are further processed to derive quantitative measurements such as position, slope, length, area etc as required by the clinical application area where the video scans are used.  The project will also involve discussions with a clinician at the Rose Centre who will assess the quality of the generated images and provide the necessary information required for identifying image features within video frames.

Specific Requirements: Proficiency in Python programming

  • Ability to design algorithms and implement them in Python
  • Knowledge of Python libraries such as NumPy and Matplotlib
  • Knowledge of image processing functions and the OpenCV library is desirable.