Esempio n. 1
0
    def test_pickle_woperator_tree(self):
        win = np.ones((9, 3), np.uint8)
        ims = trios.Imageset.read("images/level1.set")
        wop = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()),
                              RAWFeatureExtractor)
        wop.train(ims)

        temp = tempfile.NamedTemporaryFile(delete=False)
        name = temp.name
        temp.close()
        gz = gzip.GzipFile(name, mode='w+b')
        pickle.dump(wop, gz, -1)
        gz.close()

        gz = gzip.GzipFile(name, mode='rb')
        wop2 = pickle.load(gz)
        gz.close()

        compare_window(wop.window, wop2.window)
        compare_raw_fe(wop.extractor, wop2.extractor)
        self.assertEqual(wop.trained, wop2.trained)
        self.assertEqual(type(wop.classifier.cls), type(wop2.classifier.cls))
Esempio n. 2
0
import numpy as np

import trios.shortcuts.persistence as p
import trios.shortcuts.window as w

if __name__ == '__main__':
    np.random.seed(10)
    images = trios.Imageset.read('images/level1.set')
    images2 = trios.Imageset.read('images/level2.set')
    test = trios.Imageset.read('images/test.set')

    domain = np.ones((7, 7), np.uint8)
    ops = []
    for i in range(5):
        win = w.random_win(domain, 40, True)
        op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()),
                             RAWFeatureExtractor)
        print('Training...', i)
        op.train(images)
        ops.append(op)

    comb = CombinationPattern(*ops)
    wop2 = trios.WOperator(comb.window,
                           SKClassifier(DecisionTreeClassifier(),
                                        ordered=True),
                           comb,
                           batch=True)
    print('Training 2nd level')
    wop2.train(images2)

    # save trained operator
Esempio n. 3
0
from trios.contrib.kern_approx import NystromFeatures
from trios.classifiers import SKClassifier
from trios.feature_extractors import Aperture
import trios
import numpy as np

from sklearn.svm import LinearSVC

from aperture import training, testset

if __name__ == '__main__':
    np.random.seed(10)
    domain = np.ones((11, 11), np.uint8)
    ap = Aperture(domain, k=10, mul=0.5)
    ka_features = NystromFeatures(ap,
                                  training,
                                  n_components=200,
                                  kernel='gaussian',
                                  gamma=0.01,
                                  batch_size=20000)
    svm = SKClassifier(LinearSVC(), partial=True)

    op = trios.WOperator(domain, svm, ka_features)
    op.train(training)

    print('Accuracy:', 1 - op.eval(testset[:2]))
Esempio n. 4
0
from trios.classifiers import SKClassifier
from sklearn.tree import DecisionTreeClassifier
from trios.contrib.features.sobel import SobelExtractor
import trios
import numpy as np

import trios.shortcuts.persistence as p

drive_location = 'datasets/drive'
training = trios.Imageset([
    ('%s/training/images/%2d_training.tif'%(drive_location, i),
    '%s/training/1st_manual/%2d_manual1.gif'%(drive_location, i),
    '%s/training/mask/%2d_training_mask.gif'%(drive_location, i))
    for i in range(21, 41)])

testset = trios.Imageset([
    ('%s/test/images/%02d_test.tif'%(drive_location, i),
    '%s/test/1st_manual/%02d_manual1.gif'%(drive_location, i),
    '%s/test/mask/%02d_test_mask.gif'%(drive_location, i))
    for i in range(1, 21)])

if __name__ == '__main__':
    win = np.ones((9,9), np.uint8)
    sobel = SobelExtractor(window=win)
    op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), sobel)
    print('Training')
    op.train(training)
    print('Evaluating')
    print('Accuracy:', 1 - op.eval(testset))
Esempio n. 5
0
from trios.classifiers import SKClassifier
from sklearn.tree import DecisionTreeClassifier
from trios.feature_extractors import RAWFeatureExtractor
import trios
import numpy as np

import trios.shortcuts.persistence as p
import trios.shortcuts.window as trios_win

if __name__ == '__main__':
    training_set = trios.Imageset.read('jung-images/training.set')
    test = trios.Imageset.read('jung-images/test.set')

    win = trios_win.rectangle(9, 7)
    classifier = SKClassifier(DecisionTreeClassifier())
    fext = RAWFeatureExtractor(win)
    op = trios.WOperator(win, classifier, fext)

    op.train(training_set)
    p.save_gzip(op, 'basic-jung.op.gz')

    print('Error: ', op.eval(test))
Esempio n. 6
0
from sklearn.tree import DecisionTreeClassifier
from trios.contrib.features.moments import MomentsExtractor
import trios
import numpy as np

import trios.shortcuts.persistence as p

drive_location = 'datasets/'
training = trios.Imageset([
    ('%s/training/images/%2d_training.tif' % (drive_location, i),
     '%s/training/1st_manual/%2d_manual1.gif' % (drive_location, i),
     '%s/training/mask/%2d_training_mask.gif' % (drive_location, i))
    for i in range(21, 41)
])

testset = trios.Imageset([
    ('%s/test/images/%02d_test.tif' % (drive_location, i),
     '%s/test/1st_manual/%02d_manual1.gif' % (drive_location, i),
     '%s/test/mask/%02d_test_mask.gif' % (drive_location, i))
    for i in range(1, 21)
])

if __name__ == '__main__':
    win = np.ones((9, 9), np.uint8)
    moments = MomentsExtractor(win, order=4)
    op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), moments)
    print('Training')
    op.train(training)
    print('Evaluating')
    print('Accuracy:', 1 - op.eval(testset))
Esempio n. 7
0
from trios.classifiers import SKClassifier
from sklearn import svm
from sklearn.tree import DecisionTreeClassifier
from trios.contrib.features.lbp import LBPExtractor
from trios.contrib.features.featurecombination import FeatureCombinationExtractor
from trios.feature_extractors import RAWFeatureExtractor

import trios
import numpy as np
import trios.shortcuts.persistence as p

if __name__ == '__main__':
    images = trios.Imageset.read('images/training.set')
    win = np.ones((5, 5), np.uint8)

    lbp = LBPExtractor(window=win, batch_size=1000)
    raw = RAWFeatureExtractor(window=win, batch_size=1000)
    feats = []
    feats.append(lbp)
    feats.append(raw)
    combination = FeatureCombinationExtractor(*feats)
    op = trios.WOperator(
        win, SKClassifier(svm.LinearSVC(class_weight='balanced'),
                          partial=True), combination)
    op.train(images)

    test = trios.Imageset.read('images/test.set')
    print('Accuracy', op.eval(test, procs=1))
Esempio n. 8
0
import pyximport
pyximport.install()

from trios.classifiers import SKClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn import svm
from trios.contrib.features.sobel import SobelExtractor
import trios
import numpy as np
import trios.shortcuts.persistence as p

if __name__ == '__main__':
    images = trios.Imageset.read('images/training.set')
    win = np.ones((5, 5), np.uint8)

    sobel = SobelExtractor(window=win, batch_size=1000)
    op = trios.WOperator(win, SKClassifier(svm.LinearSVC()), sobel)
    op.train(images)

    img= p.load_image('images/jung-1a.png')
    lbp = op.apply(img, img)
    p.save_image(lbp, 'sobel-out.png')

    test = trios.Imageset.read('images/test.set')
    print('Accuracy', op.eval(test, procs=7))
Esempio n. 9
0
from trios.classifiers import SKClassifier

from sklearn.tree import DecisionTreeClassifier
from trios.contrib.features.hog import HoGExtractor
import trios
import numpy as np
import trios.shortcuts.persistence as p

if __name__ == '__main__':
    images = trios.Imageset.read('images/training.set')
    win = np.ones((5, 5), np.uint8)
    
    op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), HoGExtractor)
    op.train(images)

    img= p.load_image('images/jung-1a.png')
    hog = op.apply(img, img)

    test = trios.Imageset.read('images/test.set')
    print('Accuracy', op.eval(test, procs=7))

Esempio n. 10
0
from sklearn.tree import DecisionTreeClassifier
from trios.feature_extractors import RAWFeatureExtractor, CombinationPattern
import trios
import numpy as np

import trios.shortcuts.persistence as p
import trios.shortcuts.window as w

if __name__ == '__main__':
    np.random.seed(10) # set this to select the same window everytime
    images = trios.Imageset.read('../jung-images/level1.set')
    images2 = trios.Imageset.read('../jung-images/level2.set')
    test = trios.Imageset.read('../jung-images/test.set')

    domain = np.ones((9, 7), np.uint8)
    windows = [w.random_win(domain, 40, True) for i in range(5)]
    ops = []
    for i in range(5):
        op = trios.WOperator(windows[i], SKClassifier(DecisionTreeClassifier()), RAWFeatureExtractor)
        print('Training...', i)
        op.train(images)
        ops.append(op)
    
    comb = CombinationPattern(*ops)
    wop2 = trios.WOperator(comb.window, SKClassifier(DecisionTreeClassifier()), comb) 
    print('Training 2nd level')
    wop2.train(images2)
    
    print('Error', wop2.eval(test))