Commit 8a20419264871520202ad5101722355e9a11005e
Merge branch 'master' of https://github.com/biometrics/openbr
Showing
8 changed files
with
27 additions
and
16 deletions
.gitignore
| @@ -41,6 +41,7 @@ scripts/results | @@ -41,6 +41,7 @@ scripts/results | ||
| 41 | data/INRIAPerson/sigset | 41 | data/INRIAPerson/sigset |
| 42 | data/KTH/sigset | 42 | data/KTH/sigset |
| 43 | data/CaltechPedestrians/annotations | 43 | data/CaltechPedestrians/annotations |
| 44 | +data/CaltechPedestrians/*.xml | ||
| 44 | 45 | ||
| 45 | ### Sublime ### | 46 | ### Sublime ### |
| 46 | *.check_cache | 47 | *.check_cache |
openbr/plugins/algorithms.cpp
| @@ -52,7 +52,7 @@ class AlgorithmsInitializer : public Initializer | @@ -52,7 +52,7 @@ class AlgorithmsInitializer : public Initializer | ||
| 52 | Globals->abbreviations.insert("AgeGenderDemo", "Stream(SaveMat(original)+Cvt(Gray)+Cascade(FrontalFace)+Expand+<FaceClassificationRegistration>+<FaceClassificationExtraction>+<AgeRegressor>/<GenderClassifier>+Discard+RestoreMat(original)+Draw(inPlace=true)+DrawPropertiesPoint([Age,Gender],Affine_0,inPlace=true)+SaveMat(original)+Discard+Contract+RestoreMat(original)+FPSCalc+Show(false,[AvgFPS,Age,Gender])+Discard)"); | 52 | Globals->abbreviations.insert("AgeGenderDemo", "Stream(SaveMat(original)+Cvt(Gray)+Cascade(FrontalFace)+Expand+<FaceClassificationRegistration>+<FaceClassificationExtraction>+<AgeRegressor>/<GenderClassifier>+Discard+RestoreMat(original)+Draw(inPlace=true)+DrawPropertiesPoint([Age,Gender],Affine_0,inPlace=true)+SaveMat(original)+Discard+Contract+RestoreMat(original)+FPSCalc+Show(false,[AvgFPS,Age,Gender])+Discard)"); |
| 53 | Globals->abbreviations.insert("ShowOpticalFlowField", "Stream(SaveMat(original)+AggregateFrames(2)+OpticalFlow(useMagnitude=false)+Grid(100,100)+DrawOpticalFlow+FPSLimit(30)+Show(false)+Discard)"); | 53 | Globals->abbreviations.insert("ShowOpticalFlowField", "Stream(SaveMat(original)+AggregateFrames(2)+OpticalFlow(useMagnitude=false)+Grid(100,100)+DrawOpticalFlow+FPSLimit(30)+Show(false)+Discard)"); |
| 54 | Globals->abbreviations.insert("ShowOpticalFlowMagnitude", "Stream(AggregateFrames(2)+OpticalFlow+Normalize(Range,false,0,255)+Cvt(Color)+Draw+FPSLimit(30)+Show(false)+Discard)"); | 54 | Globals->abbreviations.insert("ShowOpticalFlowMagnitude", "Stream(AggregateFrames(2)+OpticalFlow+Normalize(Range,false,0,255)+Cvt(Color)+Draw+FPSLimit(30)+Show(false)+Discard)"); |
| 55 | - Globals->abbreviations.insert("ShowMotionSegmentation", "Stream(DropFrames(5)+SaveMat(original)+AggregateFrames(2)+OpticalFlow+CvtUChar+Segmentation+DrawSegmentation+Draw+FPSLimit(30)+Show(false)+Discard)"); | 55 | + Globals->abbreviations.insert("ShowMotionSegmentation", "Stream(DropFrames(5)+AggregateFrames(2)+OpticalFlow+CvtUChar+WatershedSegmentation+DrawSegmentation+Draw+FPSLimit(30)+Show(false)+Discard)"); |
| 56 | 56 | ||
| 57 | Globals->abbreviations.insert("HOG", "Stream(DropFrames(5)+Cvt(Gray)+Grid(5,5)+ROIFromPts(32,24)+Expand+Resize(32,32)+Gradient+RectRegions+Bin(0,360,8)+Hist(8)+Cat)+Contract+CatRows+KMeans(500)+Hist(500)+SVM"); | 57 | Globals->abbreviations.insert("HOG", "Stream(DropFrames(5)+Cvt(Gray)+Grid(5,5)+ROIFromPts(32,24)+Expand+Resize(32,32)+Gradient+RectRegions+Bin(0,360,8)+Hist(8)+Cat)+Contract+CatRows+KMeans(500)+Hist(500)+SVM"); |
| 58 | Globals->abbreviations.insert("HOF", "Stream(DropFrames(5)+Grid(5,5)+AggregateFrames(2)+OpticalFlow+ROIFromPts(32,24)+Expand+Resize(32,32)+Gradient+RectRegions+Bin(0,360,8)+Hist(8)+Cat)+Contract+CatRows+KMeans(500)+Hist(500)"); | 58 | Globals->abbreviations.insert("HOF", "Stream(DropFrames(5)+Grid(5,5)+AggregateFrames(2)+OpticalFlow+ROIFromPts(32,24)+Expand+Resize(32,32)+Gradient+RectRegions+Bin(0,360,8)+Hist(8)+Cat)+Contract+CatRows+KMeans(500)+Hist(500)"); |
openbr/plugins/draw.cpp
| @@ -384,8 +384,6 @@ class DrawSegmentation : public UntrainableTransform | @@ -384,8 +384,6 @@ class DrawSegmentation : public UntrainableTransform | ||
| 384 | Q_OBJECT | 384 | Q_OBJECT |
| 385 | Q_PROPERTY(bool fillSegment READ get_fillSegment WRITE set_fillSegment RESET reset_fillSegment STORED false) | 385 | Q_PROPERTY(bool fillSegment READ get_fillSegment WRITE set_fillSegment RESET reset_fillSegment STORED false) |
| 386 | BR_PROPERTY(bool, fillSegment, true) | 386 | BR_PROPERTY(bool, fillSegment, true) |
| 387 | - Q_PROPERTY(QString original READ get_original WRITE set_original RESET reset_original STORED false) | ||
| 388 | - BR_PROPERTY(QString, original, "original") | ||
| 389 | 387 | ||
| 390 | void project(const Template &src, Template &dst) const | 388 | void project(const Template &src, Template &dst) const |
| 391 | { | 389 | { |
| @@ -394,14 +392,7 @@ class DrawSegmentation : public UntrainableTransform | @@ -394,14 +392,7 @@ class DrawSegmentation : public UntrainableTransform | ||
| 394 | int numSegments = src.file.get<int>("NumSegments"); | 392 | int numSegments = src.file.get<int>("NumSegments"); |
| 395 | 393 | ||
| 396 | dst.file = src.file; | 394 | dst.file = src.file; |
| 397 | - Mat drawn; | ||
| 398 | - if (fillSegment) { | ||
| 399 | - drawn = Mat(segments.size(), CV_8UC3, Scalar::all(0)); | ||
| 400 | - } else { | ||
| 401 | - if (!dst.file.contains(original)) qFatal("You must store the original image in the metadata with SaveMat."); | ||
| 402 | - drawn = dst.file.get<Mat>(original); | ||
| 403 | - dst.file.remove(original); | ||
| 404 | - } | 395 | + Mat drawn = fillSegment ? Mat(segments.size(), CV_8UC3, Scalar::all(0)) : src.m(); |
| 405 | 396 | ||
| 406 | for (int i=1; i<numSegments+1; i++) { | 397 | for (int i=1; i<numSegments+1; i++) { |
| 407 | Mat mask = segments == i; | 398 | Mat mask = segments == i; |
openbr/plugins/gallery.cpp
| @@ -985,7 +985,7 @@ class vbbGallery : public Gallery | @@ -985,7 +985,7 @@ class vbbGallery : public Gallery | ||
| 985 | void init() | 985 | void init() |
| 986 | { | 986 | { |
| 987 | MatlabIO matio; | 987 | MatlabIO matio; |
| 988 | - QString filename = file.name; | 988 | + QString filename = (Globals->path.isEmpty() ? "" : Globals->path + "/") + file.name; |
| 989 | bool ok = matio.open(filename.toStdString(), "r"); | 989 | bool ok = matio.open(filename.toStdString(), "r"); |
| 990 | if (!ok) qFatal("Couldn't open the vbb file"); | 990 | if (!ok) qFatal("Couldn't open the vbb file"); |
| 991 | 991 |
openbr/plugins/stream.cpp
| @@ -433,10 +433,12 @@ public: | @@ -433,10 +433,12 @@ public: | ||
| 433 | } | 433 | } |
| 434 | 434 | ||
| 435 | #ifdef CVMATIO | 435 | #ifdef CVMATIO |
| 436 | - QString f = basis.file.name; | ||
| 437 | - QString vbb = f.replace(f.lastIndexOf("."), 4, ".vbb"); | ||
| 438 | - vbb.replace(vbb.lastIndexOf("vid"), 3, "annotations"); | ||
| 439 | - annotations = TemplateList::fromGallery(File(vbb)); | 436 | + if (basis.file.contains("vbb")) { |
| 437 | + QString vbb = basis.file.get<QString>("vbb"); | ||
| 438 | + annotations = TemplateList::fromGallery(File(vbb)); | ||
| 439 | + } | ||
| 440 | +#else | ||
| 441 | + qWarning("cvmatio not installed, bounding boxes will not be available. Add -DBR_WITH_CVMATIO cmake flag to install."); | ||
| 440 | #endif | 442 | #endif |
| 441 | 443 | ||
| 442 | return true; | 444 | return true; |
scripts/downloadDatasets.sh
| @@ -51,6 +51,8 @@ if [ ! -d ../data/CaltechPedestrians/vid ]; then | @@ -51,6 +51,8 @@ if [ ! -d ../data/CaltechPedestrians/vid ]; then | ||
| 51 | tar -xf $fname | 51 | tar -xf $fname |
| 52 | done | 52 | done |
| 53 | rm *.tar | 53 | rm *.tar |
| 54 | + ./writeCaltechPedestrianSigset.sh 0 5 train > ../data/CaltechPedestrians/train.xml | ||
| 55 | + ./writeCaltechPedestrianSigset.sh 6 10 test > ../data/CaltechPedestrians/test.xml | ||
| 54 | mv set* ../data/CaltechPedestrians/vid | 56 | mv set* ../data/CaltechPedestrians/vid |
| 55 | if hash curl 2>/dev/null; then | 57 | if hash curl 2>/dev/null; then |
| 56 | curl -OL "$prefix/annotations.zip" | 58 | curl -OL "$prefix/annotations.zip" |
scripts/writeCaltechPedestrianSigset.sh
0 → 100755
| 1 | +#!/bin/bash | ||
| 2 | + | ||
| 3 | +echo '<?xml version="1.0" encoding="UTF-8"?>' | ||
| 4 | +echo '<biometric-signature-set>' | ||
| 5 | +for ((set=$1; set <= $2; set++)); do | ||
| 6 | + echo -e "\t<biometric-signature name=\"\">" | ||
| 7 | + for vid in `printf "set%02d/*.seq" $set`; do | ||
| 8 | + if [ $3 == "train" ]; then | ||
| 9 | + vbb=`echo "vbb=\"annotations/$vid\"" | sed s/seq/vbb/` | ||
| 10 | + fi | ||
| 11 | + printf "\t\t<presentation file-name=\"vid/$vid\" $vbb />\n" | ||
| 12 | + done | ||
| 13 | + echo -e "\t</biometric-signature>" | ||
| 14 | +done | ||
| 15 | +echo '</biometric-signature-set>' |
scripts/writeKTHSigset.sh
100644 → 100755