2017 Slicer Western Week/VB Segmentation Object recognition Deep Learning

From VASST Wiki

Key Investigators

  • Michael Hardisty

Project Description

Objective Approach and Plan Progress and Next Steps
  • Deploy Deep Learning Networks in Slicer for the purpose of segmenting vertebral bodies and object recognition
  • Investigate different approaches for need specific deployment of deep learning networks.
    • DeepInfer
    • TensorFlow
      • CPP API
      • tfdeploy via pure python
    • ROS
  • Implement a method for deployment of deep learning methods
  • Investigated a number of modules that use deep learning on the advice of Andras
  • It appears that cross-platform deployment of deep learning networks implemented in tensor flow can be deployable using the methods similar to the ShapeVariationAnalyser
Python 2.7.13 (default, Jul 18 2017, 23:29:12) [MSC v.1800 64 bit (AMD64)] on win32
>>> shapeVariationAnalyzerLogic = slicer.modules.shapevariationanalyzer.logic()
>>> import ShapeVariationAnalyzer
>>> shapeVariationAnalyzerLogicCast = ShapeVariationAnalyzer.ShapeVariationAnalyzerLogic( shapeVariationAnalyzerLogic)
>>> shapeVariationAnalyzerLogicCast.trainNetworkClassification()
  • I will need the ability to load pre-trained networks, which may be exposed but I cannot tell at this time.
  • I spent some time learning how to SuperBuild Modules in an effort to enhance the ease with which these and other modules I develop can be maintained and deployed. I focused on a simpler example. My superbuild extension is a wrapping of VCG functionality into Slicer. VCG is used to enhance surface quality. It underlies much functionality in slicer.