Deep Thermal Imaging Toolkit @CHI2018

Deep Thermal Imaging

Full source codes are available at https://github.com/deepneuroscience/DeepThermalImaging

1. Requirement

Matlab (version>2012)

MatConvNet (https://github.com/vlfeat/matconvnet): Deep CNN Framework for Matlab users.

2. Quick Summary


DEEP THERMAL IMAGING – Main Libraries
Void deep_thermal_imaging_training_and_testing(kfold, numberofclass, filename, directory, isoutdoor)

Trains and Tests on the given dataset.

Input variables:

    • kfold (the number of k for k-fold cross validation)
    • numberofclass (the number of class (material types))
    • filename (the file name of your dataset)
    • directory (the name of directory where your training and testing results will be saved)
  • isoutdoor (0: indoor materials, 1: outdoor materials)
Double (array) buildconfusionmatrix(numberofclass, network_path_along_with_k_fold, isoutdoor)

Extracts a confusion matrix.

Input variables:

  • numberofclass (the number of class (material types))
  • network_path_along_with_k_fold (The path directory of your trained network)
  • isoutdoor (0: indoor materials, 1: outdoor materials)
Double (array) simpleDRQ(Original_RawThermalMatrix)

Quantizes a raw thermal matrix by using the Dynamic Range Quantization technique.

Input variables:

  • Original_RawThermalMatrix (raw thermal matrix sequences you want to quantize)
Integer testingasample(sampleimage, network_path_along_with_k_fold, isoutdoor)

Classify a quantized thermal image of material (for testing).

Input vairables:

  • sampleimage (quantized image, e.g., single output of simpleDRQ())
  • network_path_along_with_k_fold (The path directory of your trained network)
    • isoutdoor (0: indoor materials, 1: outdoor materials)
Void growingdataset(class, new_data, dataset_filename)

Extends your dataset.

Input vairables:

  • class (the material class number or 0 if you add a new class / material type)
  • new_data (quantized image sequences, e.g., sequential output of simpeDRQ())
  • dataset_filename (dataset, e.g., DeepTherm I or II or your own dataset)

[How to use FLIR ONE sdk to extract raw temperature arrays]

Requirement: FLIR ONE SDK for Android (https://developer.flir.com/flir-one-software-development-kit/)

Example codes: available from https://github.com/deepneuroscience/DeepThermalImaging
1. KelvinImageMode.java


2. RawThermalMatrixCollection.java