Skip to content
Snippets Groups Projects
Commit 57f3a783 authored by Tobias Arens's avatar Tobias Arens :100:
Browse files

Merge branch '152-use-not-readable-code-marker-for-fixed-head-position' into 'master'

Use not readable code marker for fixed head position

Closes #152

See merge request !278
parents 8ad5b0d3 9f4be9ab
No related branches found
No related tags found
1 merge request!278Use not readable code marker for fixed head position
Pipeline #102766 passed
......@@ -297,18 +297,20 @@ namespace detail
ArucoOptions &options,
const IntrinsicCameraParams &intrinsicCameraParams);
void resolveMoreThanOneCode(
const int lengthini,
QList<TrackPoint> &crossList,
const ColorBlob &blob,
const Vec2F offset);
QList<TrackPoint>
filterCodesByBoundingRect(const QList<TrackPoint> &codes, const cv::Rect &bound, const Vec2F offset);
TrackPoint resolveMoreThanOneCandidateCode(QList<TrackPoint> &codes, const Vec2F reference);
QList<TrackPoint> findCodeMarker(
cv::Mat &img,
RecognitionMethod recoMethod,
const CodeMarkerOptions &opt,
const IntrinsicCameraParams &intrinsicCameraParams);
const IntrinsicCameraParams &intrinsicCameraParams,
bool appendRejectedCodes = false);
cv::Ptr<cv::aruco::Dictionary> getDictMip36h12();
} // namespace detail
} // namespace reco
......
......@@ -589,6 +589,47 @@ void detail::refineWithBlackDot(
}
}
/**
* Filters passed codes and removes all that are not inside the given bounding rect
* @param codes the detected codes
* @param bound the Rect where the codes have to be inside of
* @return A List of all TrackPoints inside the boundingRect of the given blob.
*/
QList<TrackPoint>
detail::filterCodesByBoundingRect(const QList<TrackPoint> &codes, const cv::Rect &bound, const Vec2F offset)
{
QList<TrackPoint> pointsInside;
for(const auto &code : codes)
{
if((code + offset).toCvPoint().inside(bound))
{
pointsInside.append(code);
}
}
return pointsInside;
}
/**
* @brief Choose the correct out of multiple candidate codes used for recognition.
*
* If multiple codes are present, take the one that is closest to the reference point.
*
* @param codes the list of codes of which one should be chosen.
* @param reference the point, to which the closest code is chosen.
*
* @return the code closest to the reference point.
*/
TrackPoint detail::resolveMoreThanOneCandidateCode(QList<TrackPoint> &codes, const Vec2F reference)
{
return *std::min_element(
codes.begin(),
codes.end(),
[&](const TrackPoint &a, const TrackPoint &b)
{ return reference.distanceToPoint(a) < reference.distanceToPoint(b); });
}
/**
* @brief Refined colorBlobs with Aruco Markers
*
......@@ -648,8 +689,6 @@ void detail::refineWithAruco(
cv::Mat subImg = img(cropRect); // --> shallow copy (points to original data)
int lengthini = crossList.size(); // initial length of crossList (before findCodeMarker() is called)
Vec2F offsetCropRect2Roi; // needed for drawing detected ArucoCode-Candidates correctly -> passed on to
// findCodeMarker()-Function
offsetCropRect2Roi.setX(cropRect.x);
......@@ -662,106 +701,61 @@ void detail::refineWithAruco(
// TODO: Use Reference to actual codeMarkerOptions in MulticolorMarkerOptions
// NOTE: For now, add as parameter of findMulticolorMarker
codeOpt.setOffsetCropRect2Roi(offsetCropRect2Roi);
QList<TrackPoint> detectedCodes = findCodeMarker(subImg, options.method, codeOpt, intrinsicCameraParams);
crossList.append(detectedCodes);
QList<TrackPoint> addedCodes = findCodeMarker(subImg, options.method, codeOpt, intrinsicCameraParams, true);
codeOpt.setOffsetCropRect2Roi({0, 0});
resolveMoreThanOneCode(lengthini, crossList, blob, offsetCropRect2Roi);
// remove all detected codes in the image, that are not inside the bounding box of the color blob
addedCodes = filterCodesByBoundingRect(addedCodes, blob.box.boundingRect(), offsetCropRect2Roi);
// The next three statements each:
// - set the offset of subImg with regards to ROI //(ROI to original image is archieved later in the code for
// all methods)
// - add the functionality of autocorrection
// - deal with functionality of ignore/not ignore heads without identified ArucoMarker
if(lengthini !=
crossList
.size()) // if CodeMarker-Call returns crossList containing a new element (identified the ArucoMarker)
// used for autocorrection (if enabled)
Vec2F moveDir(0, 0);
if(autoCorrect && !autoCorrectOnlyExport)
{
Vec2F moveDir;
if(autoCorrect && !autoCorrectOnlyExport)
{
moveDir = autoCorrectColorMarker(blob.imageCenter, controlWidget);
}
else
{
moveDir = Vec2F(0, 0);
}
crossList.back().setCol(blob.color);
crossList.back().setColPoint(Vec2F(box.center.x, box.center.y));
crossList.back() = crossList.back() + (Vec2F(cropRect.x, cropRect.y) + moveDir);
moveDir = autoCorrectColorMarker(blob.imageCenter, controlWidget);
}
else if(!ignoreWithoutMarker && (lengthini == crossList.size())) // in case ignoreWithoutMarker isn't checked
// and CodeMarker-Call returns empty crossList
// (could not identify a marker) the center of
// the smallest rectangle around the colorblobb
// is used as position
// there are detected markers or candidates
if(!addedCodes.empty())
{
offsetCropRect2Roi.setX(0); // set to zero as cooridinates are directly used from cropRect
offsetCropRect2Roi.setY(0);
// the aruco detection first adds detected codes followed by candidates
bool isDetected = addedCodes.first().getMarkerID() >= 0;
Vec2F moveDir;
if(autoCorrect && !autoCorrectOnlyExport)
{
moveDir = autoCorrectColorMarker(blob.imageCenter, controlWidget);
}
else
if(isDetected)
{
moveDir = Vec2F(0, 0);
// codes are already filtered to be inside bounding rect, so just take the first
auto code = addedCodes.at(0);
code.setCol(blob.color);
code = code + Vec2F(cropRect.x, cropRect.y) + moveDir;
crossList.append(code);
// if a code was fully detected we are done
continue;
}
crossList.append(TrackPoint(
Vec2F(box.center.x, box.center.y) + moveDir,
90,
Vec2F(box.center.x, box.center.y),
blob.color)); // 100 beste qualitaet
}
}
}
// reference center point of blob
Vec2F referencePosition(box.center.x, box.center.y);
TrackPoint trackPoint(referencePosition + moveDir, 90, Vec2F(box.center.x, box.center.y), blob.color);
/**
* @brief Modifies CrossList to only contain codes inside the head-boundingbox
*
* This function deletes every new marker in crosslist, which is
* not inside the bounding rect of the blob. If multiple new
* codes are inside the bounding rect, only the first one
* encountered is not deleted.
*
* @param lengthini initial length of crosslist
* @param crossList list of detected markers
* @param blob (Color-)Blob of the detected person
* @param offset offset from CropRect to ROI
*/
void detail::resolveMoreThanOneCode(
const int lengthini,
QList<TrackPoint> &crossList,
const ColorBlob &blob,
const Vec2F offset)
{
if(lengthini + 1 < crossList.size())
{
int correctIndex = -1;
const auto blobRect = blob.box.boundingRect();
for(int i = lengthini; i < crossList.size(); ++i)
{
auto detectedTP = crossList[i];
if((detectedTP + offset).toCvPoint().inside(blobRect))
{
correctIndex = i;
break;
}
}
auto resolvedCode = resolveMoreThanOneCandidateCode(addedCodes, referencePosition - offsetCropRect2Roi);
if(correctIndex == -1)
{
// will be treated like no code was found to begin with
crossList.erase(crossList.begin() + lengthini, crossList.end());
resolvedCode.setQual(TrackPoint::bestDetectionQual);
resolvedCode.setCol(blob.color);
resolvedCode = resolvedCode + Vec2F(cropRect.x, cropRect.y) + moveDir;
crossList.append(resolvedCode);
continue;
}
else
// case not even candidates were detected
if(addedCodes.empty() && !ignoreWithoutMarker)
{
crossList[lengthini] = crossList[correctIndex];
crossList.erase(crossList.begin() + lengthini + 1, crossList.end());
// set to zero as coordinates are directly used from cropRect
crossList.append(TrackPoint(
Vec2F(box.center.x, box.center.y) + moveDir, 90, Vec2F(box.center.x, box.center.y), blob.color));
continue;
}
}
} // end for
}
/**
......@@ -1021,19 +1015,24 @@ void findColorMarker(cv::Mat &img, QList<TrackPoint> &crossList, Control *contro
contours.pop_back();
}
}
/**
* @brief uses OpenCV libraries to detect Aruco CodeMarkers
* @param img image to find codes in
* @param opt arucomarker parameters used for detection
* @param intrinsicCameraParams used for estimating arucomarker orientation
* @param appendRejectedCodes append trackpoints of rejected codes to the list of detected codes.
* OpenCV returns rejected code candidates. These are often the correct codes, but the information is
* unreadable. If this flag is set to true, these rejected candidates get added as trackpoint
* like usual detected codes do, but without markerID.
* These points will only be appended if no code was detected.
* @return list of all detected codes in given image
*/
QList<TrackPoint> detail::findCodeMarker(
cv::Mat &img,
RecognitionMethod recoMethod,
const CodeMarkerOptions &opt,
const IntrinsicCameraParams &intrinsicCameraParams)
const IntrinsicCameraParams &intrinsicCameraParams,
bool appendRejectedCodes)
{
CodeMarkerItem *codeMarkerItem = opt.getCodeMarkerItem();
Control *controlWidget = opt.getControlWidget();
......@@ -1140,7 +1139,12 @@ QList<TrackPoint> detail::findCodeMarker(
codeMarkerItem->addDetectedMarkers(corners, ids, opt.getOffsetCropRect2Roi());
codeMarkerItem->addRejectedMarkers(rejected, opt.getOffsetCropRect2Roi());
if(ids.empty())
if(appendRejectedCodes && !rejected.empty())
{
corners.insert(corners.end(), rejected.begin(), rejected.end());
}
if(corners.empty())
{
// if no markers are found return to prevent opencv errors because of empty corners and thus empty
// rotationVectors vectors
......@@ -1159,8 +1163,9 @@ QList<TrackPoint> detail::findCodeMarker(
// store all detected codes as TrackPoints in a list to return
QList<TrackPoint> trackPoints;
// detected code markers
for(size_t i = 0; i < ids.size(); i++)
for(size_t i = 0; i < corners.size(); i++)
{
const auto &codeCorners = corners.at(i);
......@@ -1172,12 +1177,20 @@ QList<TrackPoint> detail::findCodeMarker(
cv::Vec3d orientation = cv::normalize(rotMat * cv::Vec3d(0, 1, 0));
// code marker should have the best possible quality i.e. 100
TrackPoint trackPoint(Vec2F(codeX, codeY), 100, ids.at(i));
// use best quality for code markers, even for candidates
TrackPoint trackPoint(Vec2F(codeX, codeY), TrackPoint::bestDetectionQual);
// overwrite qual and ID if not candidate
if(i < ids.size())
{
// code marker should have the best possible quality i.e. 100
trackPoint.setMarkerID(ids.at(i));
}
trackPoint.setOrientation(orientation);
trackPoints.append(trackPoint);
}
return trackPoints;
}
......
version 4
3
0 -100000 0 33 31 176 65 68 995 34
0 -100000 0 33 32 176 65 69 999 34
900.789 33.845 -1 -1 -1 79 0 0 -1 -1 -1 -1
896.632 46.0239 -1 -1 -1 79 0 0 -1 -1 -1 -1
892.569 57.9397 -1 -1 -1 100 900 70 176 65 68 995
888.478 69.6511 -1 -1 -1 100 895.203 81.2162 176 65 68 995
884.19 81.1103 -1 -1 -1 100 893.198 92.2114 176 65 68 995
879.625 92.0508 -1 -1 -1 100 889.82 102.26 176 65 68 995
875.245 103.532 -1 -1 -1 100 883 114.5 176 65 68 995
870.435 114.729 -1 -1 -1 100 879.88 124.84 176 65 68 995
865.585 125.211 -1 -1 -1 100 874.692 137.038 176 65 68 995
860.228 136.17 -1 -1 -1 100 869.118 147.971 176 65 68 995
855.134 146.879 -1 -1 -1 100 864.264 158.925 176 65 68 995
849.278 156.587 -1 -1 -1 100 858.782 169.771 176 65 68 995
843.666 166.782 -1 -1 -1 100 853 180 176 65 68 995
837.8 176.983 -1 -1 -1 100 847 190.5 176 65 68 995
831.702 186.424 -1 -1 -1 100 841.922 200.37 176 65 68 995
825.064 195.871 -1 -1 -1 100 834.857 210.659 176 65 68 995
818.421 204.62 -1 -1 -1 79 0 0 -1 -1 -1 -1
811.343 212.987 -1 -1 -1 100 823.456 229.623 176 65 68 995
804.717 221.667 -1 -1 -1 100 817 239 176 65 68 995
797.839 229.823 -1 -1 -1 100 810.451 247.061 176 65 68 995
791.431 237.982 -1 -1 -1 100 802.377 255.312 176 65 68 995
784.537 245.64 -1 -1 -1 100 795 263.5 176 65 68 995
777.4 253.545 -1 -1 -1 100 788 271.5 176 65 68 995
770.513 261.181 -1 -1 -1 100 781 278.5 176 65 68 995
762.857 268.066 -1 -1 -1 100 773 285.5 176 65 68 995
754.961 274.928 -1 -1 -1 100 765.559 291.265 176 65 68 995
746.559 281.546 -1 -1 -1 100 757.815 297.356 176 65 68 995
737.911 287.42 -1 -1 -1 100 750.25 303.75 176 65 68 995
729.507 293.25 -1 -1 -1 100 742.412 307.853 176 65 68 995
721.098 298.109 -1 -1 -1 100 734.299 313.464 176 65 68 995
712.434 303.45 -1 -1 -1 100 725.95 318.15 176 65 68 995
703.771 308.076 -1 -1 -1 100 717.646 324.637 176 65 68 995
694.867 312.361 -1 -1 -1 100 709.82 326.469 176 65 68 995
686.169 316.745 -1 -1 -1 100 699.746 333.299 176 65 68 995
1267.33 1055.12 -1 -1 -1 79 0 0 -1 -1 -1 -1
1260.08 1043.24 -1 -1 -1 79 0 0 -1 -1 -1 -1
1253.1 1031.09 -1 -1 -1 100 0 0 176 65 69 999
1246.03 1018.41 -1 -1 -1 100 0 0 176 65 69 999
1239.17 1005.49 -1 -1 -1 100 0 0 176 65 69 999
1233.59 992.813 -1 -1 -1 100 0 0 176 65 69 999
1227.26 980.141 -1 -1 -1 100 0 0 176 65 69 999
1221.93 967.201 -1 -1 -1 100 0 0 176 65 69 999
1216.35 954.53 -1 -1 -1 100 0 0 176 65 69 999
1210.76 941.569 -1 -1 -1 100 0 0 176 65 69 999
1205.68 928.894 -1 -1 -1 100 0 0 176 65 69 999
1199.59 915.953 -1 -1 -1 100 0 0 176 65 69 999
1194 903.999 -1 -1 -1 100 0 0 176 65 69 999
1187.91 891.288 -1 -1 -1 100 0 0 176 65 69 999
1182.06 878.847 -1 -1 -1 100 0 0 176 65 69 999
1175.46 866.148 -1 -1 -1 100 0 0 176 65 69 999
1169.36 853.684 -1 -1 -1 100 0 0 176 65 69 999
1162.26 841.215 -1 -1 -1 100 0 0 176 65 69 999
1155.92 828.724 -1 -1 -1 100 0 0 176 65 69 999
1149.3 816.547 -1 -1 -1 100 0 0 176 65 69 999
1142.45 804.297 -1 -1 -1 100 0 0 176 65 69 999
1135.59 792.118 -1 -1 -1 100 0 0 176 65 69 999
1128.72 779.899 -1 -1 -1 100 0 0 176 65 69 999
1121.1 767.634 -1 -1 -1 100 0 0 176 65 69 999
1114.24 755.197 -1 -1 -1 100 0 0 176 65 69 999
1106.37 742.221 -1 -1 -1 100 0 0 176 65 69 999
1099 730.247 -1 -1 -1 100 0 0 176 65 69 999
1091.13 718.514 -1 -1 -1 100 0 0 176 65 69 999
1082.99 707.05 -1 -1 -1 100 0 0 176 65 69 999
1074.86 695.851 -1 -1 -1 100 0 0 176 65 69 999
1065.97 684.661 -1 -1 -1 100 0 0 176 65 69 999
1056.83 674.48 -1 -1 -1 100 0 0 176 65 69 999
1047.92 665.55 -1 -1 -1 100 0 0 176 65 69 999
1038.02 656.64 -1 -1 -1 100 0 0 176 65 69 999
0 -100000 0 33 31 176 65 68 999 34
0 -100000 0 33 32 176 65 69 995 34
1266.84 1054.76 -1 -1 -1 79 0 0 -1 -1 -1 -1
1259.61 1042.87 -1 -1 -1 79 0 0 -1 -1 -1 -1
1252.61 1030.73 -1 -1 -1 79 0 0 -1 -1 -1 -1
1246.03 1018.41 -1 -1 -1 100 1226.5 1000.5 176 65 68 999
1239.17 1005.49 -1 -1 -1 100 1219.37 989.906 176 65 68 999
1233.34 993.063 -1 -1 -1 100 1213.79 978.942 176 65 68 999
1227.26 980.141 -1 -1 -1 100 1208.78 968.336 176 65 68 999
1221.93 967.201 -1 -1 -1 100 1203.35 956.731 176 65 68 999
1216.35 954.78 -1 -1 -1 100 1198 946.272 176 65 68 999
1211.01 941.569 -1 -1 -1 100 1192.5 933.5 176 65 68 999
1205.68 928.894 -1 -1 -1 100 1187.24 923.017 176 65 68 999
1199.59 916.202 -1 -1 -1 100 1181.69 911.509 176 65 68 999
1194 903.999 -1 -1 -1 100 1175.83 899.389 176 65 68 999
1187.91 891.288 -1 -1 -1 100 1170.07 886.905 176 65 68 999
1181.81 878.597 -1 -1 -1 100 1163.95 875.637 176 65 68 999
1175.71 866.398 -1 -1 -1 100 1157.56 863.957 176 65 68 999
1169.36 853.184 -1 -1 -1 100 1151.4 851.477 176 65 68 999
1162.51 841.215 -1 -1 -1 100 1145.38 838.77 176 65 68 999
1156.17 828.474 -1 -1 -1 100 1140 825 176 65 68 999
1149.3 816.547 -1 -1 -1 100 1132.6 814.721 176 65 68 999
1142.45 804.047 -1 -1 -1 100 1126.5 800.5 176 65 68 999
1135.84 791.868 -1 -1 -1 100 1119.92 790.302 176 65 68 999
1128.72 779.899 -1 -1 -1 100 1113.09 777.902 176 65 68 999
1121.1 767.884 -1 -1 -1 100 1106 763 176 65 68 999
1114.24 755.197 -1 -1 -1 100 1099.72 752.508 176 65 68 999
1106.37 742.221 -1 -1 -1 100 1092.85 739.912 176 65 68 999
1099 730.248 -1 -1 -1 100 1086 727.5 176 65 68 999
1090.88 718.514 -1 -1 -1 100 1078.7 714.6 176 65 68 999
1083.49 706.8 -1 -1 -1 100 1071.1 702.8 176 65 68 999
1074.61 695.602 -1 -1 -1 100 1063.45 691.85 176 65 68 999
1066.22 685.161 -1 -1 -1 100 1055.81 681.412 176 65 68 999
1056.83 674.73 -1 -1 -1 100 1048 671.5 176 65 68 999
1047.42 665.8 -1 -1 -1 100 1039.48 661.707 176 65 68 999
1037.77 656.89 -1 -1 -1 100 1030.87 652.948 176 65 68 999
901.052 33.6057 -1 -1 -1 79 0 0 -1 -1 -1 -1
896.884 45.7622 -1 -1 -1 79 0 0 -1 -1 -1 -1
892.819 57.6897 -1 -1 -1 100 0 0 176 65 69 995
888.478 69.6511 -1 -1 -1 100 0 0 176 65 69 995
884.19 81.36 -1 -1 -1 100 0 0 176 65 69 995
879.625 92.0506 -1 -1 -1 100 0 0 176 65 69 995
875.245 103.532 -1 -1 -1 100 0 0 176 65 69 995
870.435 114.729 -1 -1 -1 100 0 0 176 65 69 995
865.585 125.211 -1 -1 -1 100 0 0 176 65 69 995
860.478 135.92 -1 -1 -1 100 0 0 176 65 69 995
855.134 147.129 -1 -1 -1 100 0 0 176 65 69 995
849.528 156.837 -1 -1 -1 100 0 0 176 65 69 995
843.666 166.782 -1 -1 -1 100 0 0 176 65 69 995
837.8 176.983 -1 -1 -1 100 0 0 176 65 69 995
831.702 186.423 -1 -1 -1 100 0 0 176 65 69 995
825.064 195.871 -1 -1 -1 100 0 0 176 65 69 995
818.953 204.811 -1 -1 -1 100 0 0 176 65 69 -1
811.343 212.987 -1 -1 -1 100 0 0 176 65 69 995
804.717 221.917 -1 -1 -1 100 0 0 176 65 69 995
797.839 229.823 -1 -1 -1 100 0 0 176 65 69 995
791.431 237.982 -1 -1 -1 100 0 0 176 65 69 995
784.537 245.64 -1 -1 -1 100 0 0 176 65 69 995
777.4 253.295 -1 -1 -1 100 0 0 176 65 69 995
770.513 261.181 -1 -1 -1 100 0 0 176 65 69 995
762.857 268.066 -1 -1 -1 100 0 0 176 65 69 995
754.961 274.928 -1 -1 -1 100 0 0 176 65 69 995
746.559 281.296 -1 -1 -1 100 0 0 176 65 69 995
737.911 287.42 -1 -1 -1 100 0 0 176 65 69 995
729.757 293.25 -1 -1 -1 100 0 0 176 65 69 995
720.848 297.859 -1 -1 -1 100 0 0 176 65 69 995
712.434 303.45 -1 -1 -1 100 0 0 176 65 69 995
703.521 308.326 -1 -1 -1 100 0 0 176 65 69 995
694.867 312.361 -1 -1 -1 100 0 0 176 65 69 995
686.169 316.495 -1 -1 -1 100 0 0 176 65 69 995
0 -100000 4 33 21 176 65 68 997 30
0 -100000 4 33 27 176 65 69 997 30
1884.83 405.422 -1 -1 -1 0 0 0 -1 -1 -1 -1
1888.61 404.922 -1 -1 -1 0 0 0 -1 -1 -1 -1
1892.39 404.422 -1 -1 -1 78 0 0 -1 -1 -1 -1
1896.17 403.922 -1 -1 -1 79 0 0 -1 -1 -1 -1
1882.75 402.814 -1 -1 -1 79 0 0 -1 -1 -1 -1
1870.03 401.696 -1 -1 -1 100 1817 398.5 176 65 68 997
1857.13 400.935 -1 -1 -1 100 1805.5 398 176 65 68 997
1844.46 399.39 -1 -1 -1 100 1792.44 395.544 176 65 68 997
1831.76 397.767 -1 -1 -1 79 0 0 -1 -1 -1 -1
1818.64 396.132 -1 -1 -1 100 1768.34 395.448 176 65 68 997
1805.5 394.541 -1 -1 -1 100 1757.75 390.25 176 65 68 997
1792.38 393.357 -1 -1 -1 79 0 0 -1 -1 -1 -1
1779.55 392.039 -1 -1 -1 79 0 0 -1 -1 -1 -1
1765.97 390.794 -1 -1 -1 100 1718.93 391.009 176 65 68 997
1752.43 389.784 -1 -1 -1 79 0 0 -1 -1 -1 -1
1737.87 389.258 -1 -1 -1 100 1693.91 389.329 176 65 68 997
1723.67 389.24 -1 -1 -1 100 1679.5 388.5 176 65 68 997
1708.71 388.477 -1 -1 -1 100 1665 388 176 65 68 997
1693.8 387.976 -1 -1 -1 100 1653.42 388.124 176 65 68 997
1678.3 388.733 -1 -1 -1 100 1636.69 388.724 176 65 68 997
1662.85 388.989 -1 -1 -1 100 1622.83 389.289 176 65 68 997
1646.88 388.962 -1 -1 -1 100 1608 388 176 65 68 997
1631.15 389.467 -1 -1 -1 100 1592.5 388.5 176 65 68 997
1614.93 389.973 -1 -1 -1 100 1578 389 176 65 68 997
1599.44 390.728 -1 -1 -1 100 1562 389.5 176 65 68 997
1583.74 391.26 -1 -1 -1 100 1549 391.5 176 65 68 997
1567.98 391.756 -1 -1 -1 100 1532 391.5 176 65 68 997
1552.5 392.773 -1 -1 -1 100 1517.39 392.619 176 65 68 997
1537.5 394.785 -1 -1 -1 100 1501.5 393.5 176 65 68 997
1522.74 396.056 -1 -1 -1 100 1484.67 394.886 176 65 68 997
1885.96 402.781 -1 -1 -1 0 0 0 -1 -1 -1 -1
1889.59 403.024 -1 -1 -1 0 0 0 -1 -1 -1 -1
1893.22 403.267 -1 -1 -1 78 0 0 -1 -1 -1 -1
1896.85 403.51 -1 -1 -1 100 0 0 176 65 69 -1
1883.16 402.965 -1 -1 -1 100 0 0 176 65 69 997
1870.03 401.696 -1 -1 -1 100 0 0 176 65 69 997
1857.13 400.685 -1 -1 -1 100 0 0 176 65 69 997
1844.46 399.39 -1 -1 -1 100 0 0 176 65 69 997
1831.04 398.127 -1 -1 -1 100 0 0 176 65 69 -1
1818.89 395.882 -1 -1 -1 100 0 0 176 65 69 997
1805.5 394.541 -1 -1 -1 100 0 0 176 65 69 997
1792.07 392.783 -1 -1 -1 100 0 0 176 65 69 -1
1778.9 392.07 -1 -1 -1 100 0 0 176 65 69 -1
1765.72 390.794 -1 -1 -1 100 0 0 176 65 69 -1
1752.07 390.045 -1 -1 -1 100 0 0 176 65 69 -1
1738.37 389.008 -1 -1 -1 100 0 0 176 65 69 997
1723.92 388.74 -1 -1 -1 100 0 0 176 65 69 997
1708.71 388.477 -1 -1 -1 100 0 0 176 65 69 997
1693.8 387.976 -1 -1 -1 100 0 0 176 65 69 997
1678.3 388.733 -1 -1 -1 100 0 0 176 65 69 997
1662.85 388.739 -1 -1 -1 100 0 0 176 65 69 997
1646.63 388.962 -1 -1 -1 100 0 0 176 65 69 997
1631.15 389.467 -1 -1 -1 100 0 0 176 65 69 997
1615.43 389.723 -1 -1 -1 100 0 0 176 65 69 997
1599.44 390.728 -1 -1 -1 100 0 0 176 65 69 997
1583.74 391.26 -1 -1 -1 100 0 0 176 65 69 997
1567.73 391.756 -1 -1 -1 100 0 0 176 65 69 997
1552.5 392.773 -1 -1 -1 100 0 0 176 65 69 997
1537.5 394.785 -1 -1 -1 100 0 0 176 65 69 997
1522.74 396.057 -1 -1 -1 100 0 0 176 65 69 997
......@@ -3,101 +3,101 @@
# framerate: 50 fps
# z: can be 3d position or height of person (alternating or not)
# id frame x/cm y/cm z/cm markerID
1 0 64.0972 -32.8605 180 995
1 1 61.8797 -32.0652 180 995
1 2 59.7093 -31.2876 180 995
1 3 57.5753 -30.5049 180 995
1 4 55.4861 -29.6864 180 995
1 5 53.4902 -28.8179 180 995
1 6 51.3958 -27.9817 180 995
1 7 49.3518 -27.067 180 995
1 8 47.4376 -26.1464 180 995
1 9 45.4357 -25.131 180 995
1 10 43.4793 -24.1646 180 995
1 11 41.7043 -23.0603 180 995
1 12 39.8405 -21.9996 180 995
1 13 37.9754 -20.892 180 995
1 14 36.249 -19.7437 180 995
1 15 34.5209 -18.4963 180 995
1 16 32.9204 -17.2497 180 995
1 17 31.3898 -15.9245 180 995
1 18 29.8023 -14.6818 180 995
1 19 28.3107 -13.3945 180 995
1 20 26.819 -12.1937 180 995
1 21 25.4188 -10.9054 180 995
1 22 23.9739 -9.57197 180 995
1 23 22.5785 -8.28553 180 995
1 24 21.3206 -6.86069 180 995
1 25 20.0674 -5.3926 180 995
1 26 18.8594 -3.83325 180 995
1 27 17.7879 -2.2319 180 995
1 28 16.7251 -0.676197 180 995
1 29 15.8401 0.876465 180 995
1 30 14.8676 2.47645 180 995
1 31 14.0262 4.07291 180 995
1 32 13.2476 5.71113 180 995
1 33 12.4516 7.31118 180 995
2 0 -130.071 -101.452 180 999
2 1 -127.668 -100.024 180 999
2 2 -125.221 -98.6449 180 999
2 3 -122.744 -97.3508 180 999
2 4 -120.153 -96.0033 180 999
2 5 -117.67 -94.8595 180 999
2 6 -115.091 -93.6703 180 999
2 7 -112.518 -92.6287 180 999
2 8 -110.048 -91.5395 180 999
2 9 -107.429 -90.5008 180 999
2 10 -104.919 -89.4635 180 999
2 11 -102.404 -88.2802 180 999
2 12 -99.9904 -87.1949 180 999
2 13 -97.4787 -86.0141 180 999
2 14 -94.9744 -84.8335 180 999
2 15 -92.5693 -83.6533 180 999
2 16 -89.9693 -82.4276 180 999
2 17 -87.6115 -81.106 180 999
2 18 -85.1109 -79.8863 180 999
2 19 -82.7681 -78.5632 180 999
2 20 -80.3185 -77.2475 180 999
2 21 -77.9358 -75.9796 180 999
2 22 -75.5943 -74.616 180 999
2 23 -73.245 -73.1571 180 999
2 24 -70.7741 -71.8482 180 999
2 25 -68.2469 -70.3471 180 999
2 26 -65.9181 -68.9433 180 999
2 27 -63.6354 -67.3955 180 999
2 28 -61.3633 -65.9929 180 999
2 29 -59.1865 -64.3039 180 999
2 30 -57.16 -62.712 180 999
2 31 -55.1343 -60.9307 180 999
2 32 -53.3974 -59.1473 180 999
2 33 -51.6659 -57.3185 180 999
3 4 -5.51529 -225.236 180 997
3 5 -5.42336 -226.016 180 997
3 6 -5.33139 -226.795 180 997
3 7 -5.23939 -227.576 180 997
3 8 -5.0025 -224.796 180 997
1 0 -130.147 -101.549 180 999
1 1 -127.743 -100.118 180 999
1 2 -125.296 -98.7426 180 999
1 3 -122.744 -97.3508 180 999
1 4 -120.153 -96.0033 180 999
1 5 -117.622 -94.9088 180 999
1 6 -115.091 -93.6703 180 999
1 7 -112.518 -92.6288 180 999
1 8 -109.999 -91.5396 180 999
1 9 -107.428 -90.4518 180 999
1 10 -104.919 -89.4635 180 999
1 11 -102.355 -88.2804 180 999
1 12 -99.9904 -87.1949 180 999
1 13 -97.4787 -86.0141 180 999
1 14 -95.0245 -84.882 180 999
1 15 -92.5192 -83.6047 180 999
1 16 -90.0662 -82.4272 180 999
1 17 -87.61 -81.0574 180 999
1 18 -85.1578 -79.8376 180 999
1 19 -82.7681 -78.5632 180 999
1 20 -80.3667 -77.2473 180 999
1 21 -77.9826 -75.931 180 999
1 22 -75.5943 -74.616 180 999
1 23 -73.1969 -73.1574 180 999
1 24 -70.7741 -71.8482 180 999
1 25 -68.2469 -70.3471 180 999
1 26 -65.918 -68.9432 180 999
1 27 -63.6365 -67.4436 180 999
1 28 -61.4089 -65.8966 180 999
1 29 -59.2353 -64.3514 180 999
1 30 -57.0636 -62.6649 180 999
1 31 -55.0867 -60.931 180 999
1 32 -53.3518 -59.2432 180 999
1 33 -51.6194 -57.3666 180 999
2 0 64.1411 -32.9096 180 995
2 1 61.9276 -32.1122 180 995
2 2 59.7551 -31.3343 180 995
2 3 57.5753 -30.5049 180 995
2 4 55.4407 -29.6858 180 995
2 5 53.4902 -28.8179 180 995
2 6 51.3958 -27.9817 180 995
2 7 49.3518 -27.0669 180 995
2 8 47.4376 -26.1464 180 995
2 9 45.4815 -25.1777 180 995
2 10 43.4337 -24.164 180 995
2 11 41.659 -23.1057 180 995
2 12 39.8405 -21.9996 180 995
2 13 37.9754 -20.892 180 995
2 14 36.249 -19.7437 180 995
2 15 34.5209 -18.4963 180 995
2 16 32.8858 -17.3471 180 995
2 17 31.3898 -15.9245 180 995
2 18 29.7566 -14.6811 180 995
2 19 28.3108 -13.3945 180 995
2 20 26.819 -12.1937 180 995
2 21 25.4188 -10.9054 180 995
2 22 24.0196 -9.57274 180 995
2 23 22.5785 -8.28553 180 995
2 24 21.3206 -6.86069 180 995
2 25 20.0674 -5.3926 180 995
2 26 18.9051 -3.83406 180 995
2 27 17.7879 -2.2319 180 995
2 28 16.725 -0.721888 180 995
2 29 15.8858 0.921277 180 995
2 30 14.8676 2.47645 180 995
2 31 13.9806 4.11938 180 995
2 32 13.2476 5.71113 180 995
2 33 12.4973 7.31028 180 995
3 4 -5.00102 -225.458 180 997
3 5 -5.05394 -226.21 180 997
3 6 -5.10688 -226.962 180 997
3 7 -5.15985 -227.714 180 997
3 8 -5.03274 -224.882 180 997
3 9 -4.7651 -222.165 180 997
3 10 -4.59735 -219.502 180 997
3 10 -4.54858 -219.501 180 997
3 11 -4.27741 -216.887 180 997
3 12 -3.94262 -214.27 180 997
3 13 -3.60555 -211.57 180 997
3 12 -4.01184 -214.123 180 997
3 13 -3.55725 -211.62 180 997
3 14 -3.27728 -208.87 180 997
3 15 -3.02887 -206.18 180 997
3 16 -2.75496 -203.552 180 997
3 17 -2.49464 -200.776 180 997
3 18 -2.28045 -198.012 180 997
3 19 -2.15891 -195.048 180 997
3 20 -2.13635 -192.161 180 997
3 15 -2.9168 -206.115 180 997
3 16 -2.76006 -203.42 180 997
3 17 -2.49431 -200.725 180 997
3 18 -2.33053 -197.94 180 997
3 19 -2.11115 -195.149 180 997
3 20 -2.0399 -192.211 180 997
3 21 -1.96884 -189.124 180 997
3 22 -1.85218 -186.101 180 997
3 23 -1.97774 -182.969 180 997
3 24 -2.00668 -179.849 180 997
3 25 -1.98034 -176.63 180 997
3 23 -1.97772 -182.969 180 997
3 24 -1.95844 -179.848 180 997
3 25 -1.98001 -176.579 180 997
3 26 -2.05672 -173.465 180 997
3 27 -2.13244 -170.207 180 997
3 27 -2.08499 -170.307 180 997
3 28 -2.257 -167.1 180 997
3 29 -2.33831 -163.957 180 997
3 30 -2.41245 -160.806 180 997
3 30 -2.41211 -160.756 180 997
3 31 -2.5867 -157.719 180 997
3 32 -2.95226 -154.732 180 997
3 33 -3.1756 -151.795 180 997
3 33 -3.17562 -151.795 180 997
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment