├── LICENSE ├── config ├── __init__.py ├── aic_all.yml ├── aic_reid1.yml ├── aic_reid2.yml ├── aic_reid3.yml └── defaults.py ├── datasets └── datasets_utils │ ├── ROIs │ └── test │ │ ├── c041 │ │ └── roi.jpg │ │ ├── c042 │ │ └── roi.jpg │ │ ├── c043 │ │ └── roi.jpg │ │ ├── c044 │ │ └── roi.jpg │ │ ├── c045 │ │ └── roi.jpg │ │ └── c046 │ │ └── roi.jpg │ ├── check_result.py │ ├── check_traj.py │ ├── run_eval.sh │ ├── statistic.py │ ├── statistic.txt │ ├── visual_connect_tracklet.py │ └── visualization.py ├── detector ├── gen_images_aic.py └── yolov5_2022 │ ├── .dockerignore │ ├── .gitignore │ ├── Arial.Unicode..ttf │ ├── Arial.ttf │ ├── CONTRIBUTING.md │ ├── Dockerfile │ ├── LICENSE │ ├── README.md │ ├── data │ ├── Argoverse.yaml │ ├── GlobalWheat2020.yaml │ ├── Objects365.yaml │ ├── SKU-110K.yaml │ ├── VOC.yaml │ ├── VisDrone.yaml │ ├── coco.yaml │ ├── coco128.yaml │ ├── hyps │ │ ├── hyp.Objects365.yaml │ │ ├── hyp.VOC.yaml │ │ ├── hyp.scratch-high.yaml │ │ ├── hyp.scratch-low.yaml │ │ └── hyp.scratch-med.yaml │ ├── images │ │ ├── bus.jpg │ │ └── zidane.jpg │ ├── scripts │ │ ├── download_weights.sh │ │ ├── get_coco.sh │ │ └── get_coco128.sh │ └── xView.yaml │ ├── detect.py │ ├── detect2img.py │ ├── export.py │ ├── gen_det.sh │ ├── hubconf.py │ ├── models │ ├── __init__.py │ ├── common.py │ ├── experimental.py │ ├── hub │ │ ├── anchors.yaml │ │ ├── yolov3-spp.yaml │ │ ├── yolov3-tiny.yaml │ │ ├── yolov3.yaml │ │ ├── yolov5-bifpn.yaml │ │ ├── yolov5-fpn.yaml │ │ ├── yolov5-p2.yaml │ │ ├── yolov5-p34.yaml │ │ ├── yolov5-p6.yaml │ │ ├── yolov5-p7.yaml │ │ ├── yolov5-panet.yaml │ │ ├── yolov5l6.yaml │ │ ├── yolov5m6.yaml │ │ ├── yolov5n6.yaml │ │ ├── yolov5s-ghost.yaml │ │ ├── yolov5s-transformer.yaml │ │ ├── yolov5s6.yaml │ │ └── yolov5x6.yaml │ ├── tf.py │ ├── yolo.py │ ├── yolov5l.yaml │ ├── yolov5m.yaml │ ├── yolov5n.yaml │ ├── yolov5s.yaml │ └── yolov5x.yaml │ ├── nohup.out │ ├── requirements.txt │ ├── setup.cfg │ ├── test.py │ ├── train.py │ ├── tutorial.ipynb │ ├── utils │ ├── __init__.py │ ├── activations.py │ ├── augmentations.py │ ├── autoanchor.py │ ├── autobatch.py │ ├── aws │ │ ├── __init__.py │ │ ├── mime.sh │ │ ├── resume.py │ │ └── userdata.sh │ ├── benchmarks.py │ ├── callbacks.py │ ├── datasets.py │ ├── downloads.py │ ├── flask_rest_api │ │ ├── README.md │ │ ├── example_request.py │ │ └── restapi.py │ ├── general.py │ ├── google_app_engine │ │ ├── Dockerfile │ │ ├── additional_requirements.txt │ │ └── app.yaml │ ├── loggers │ │ ├── __init__.py │ │ └── wandb │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── log_dataset.py │ │ │ ├── sweep.py │ │ │ ├── sweep.yaml │ │ │ └── wandb_utils.py │ ├── loss.py │ ├── metrics.py │ ├── plots.py │ └── torch_utils.py │ ├── val.py │ └── weights │ └── .gitkeep ├── matching ├── .gitignore ├── cluster.py ├── gen_res.py ├── sub_cluster.py ├── trajectory_fusion.py ├── utils │ ├── __init__.py │ ├── ficfac.py │ ├── filter.py │ ├── rerank.py │ ├── space.py │ ├── spacetime.py │ ├── visual_rr.py │ ├── zone.py │ └── zone_intra.py ├── viz_mcmt.py ├── viz_mot.py └── zone │ ├── c041.png │ ├── c042.png │ ├── c043.png │ ├── c044.png │ ├── c045.png │ └── c046.png ├── mot ├── 3rd │ ├── eigen3 │ │ ├── Eigen │ │ │ ├── Cholesky │ │ │ ├── CholmodSupport │ │ │ ├── Core │ │ │ ├── Dense │ │ │ ├── Eigen │ │ │ ├── Eigenvalues │ │ │ ├── Geometry │ │ │ ├── Householder │ │ │ ├── IterativeLinearSolvers │ │ │ ├── Jacobi │ │ │ ├── KLUSupport │ │ │ ├── LU │ │ │ ├── MetisSupport │ │ │ ├── OrderingMethods │ │ │ ├── PaStiXSupport │ │ │ ├── PardisoSupport │ │ │ ├── QR │ │ │ ├── QtAlignedMalloc │ │ │ ├── SPQRSupport │ │ │ ├── SVD │ │ │ ├── Sparse │ │ │ ├── SparseCholesky │ │ │ ├── SparseCore │ │ │ ├── SparseLU │ │ │ ├── SparseQR │ │ │ ├── StdDeque │ │ │ ├── StdList │ │ │ ├── StdVector │ │ │ ├── SuperLUSupport │ │ │ ├── UmfPackSupport │ │ │ └── src │ │ │ │ ├── Cholesky │ │ │ │ ├── LDLT.h │ │ │ │ ├── LLT.h │ │ │ │ └── LLT_LAPACKE.h │ │ │ │ ├── CholmodSupport │ │ │ │ └── CholmodSupport.h │ │ │ │ ├── Core │ │ │ │ ├── ArithmeticSequence.h │ │ │ │ ├── Array.h │ │ │ │ ├── ArrayBase.h │ │ │ │ ├── ArrayWrapper.h │ │ │ │ ├── Assign.h │ │ │ │ ├── AssignEvaluator.h │ │ │ │ ├── Assign_MKL.h │ │ │ │ ├── BandMatrix.h │ │ │ │ ├── Block.h │ │ │ │ ├── BooleanRedux.h │ │ │ │ ├── CommaInitializer.h │ │ │ │ ├── ConditionEstimator.h │ │ │ │ ├── CoreEvaluators.h │ │ │ │ ├── CoreIterators.h │ │ │ │ ├── CwiseBinaryOp.h │ │ │ │ ├── CwiseNullaryOp.h │ │ │ │ ├── CwiseTernaryOp.h │ │ │ │ ├── CwiseUnaryOp.h │ │ │ │ ├── CwiseUnaryView.h │ │ │ │ ├── DenseBase.h │ │ │ │ ├── DenseCoeffsBase.h │ │ │ │ ├── DenseStorage.h │ │ │ │ ├── Diagonal.h │ │ │ │ ├── DiagonalMatrix.h │ │ │ │ ├── DiagonalProduct.h │ │ │ │ ├── Dot.h │ │ │ │ ├── EigenBase.h │ │ │ │ ├── ForceAlignedAccess.h │ │ │ │ ├── Fuzzy.h │ │ │ │ ├── GeneralProduct.h │ │ │ │ ├── GenericPacketMath.h │ │ │ │ ├── GlobalFunctions.h │ │ │ │ ├── IO.h │ │ │ │ ├── IndexedView.h │ │ │ │ ├── Inverse.h │ │ │ │ ├── Map.h │ │ │ │ ├── MapBase.h │ │ │ │ ├── MathFunctions.h │ │ │ │ ├── MathFunctionsImpl.h │ │ │ │ ├── Matrix.h │ │ │ │ ├── MatrixBase.h │ │ │ │ ├── NestByValue.h │ │ │ │ ├── NoAlias.h │ │ │ │ ├── NumTraits.h │ │ │ │ ├── PartialReduxEvaluator.h │ │ │ │ ├── PermutationMatrix.h │ │ │ │ ├── PlainObjectBase.h │ │ │ │ ├── Product.h │ │ │ │ ├── ProductEvaluators.h │ │ │ │ ├── Random.h │ │ │ │ ├── Redux.h │ │ │ │ ├── Ref.h │ │ │ │ ├── Replicate.h │ │ │ │ ├── Reshaped.h │ │ │ │ ├── ReturnByValue.h │ │ │ │ ├── Reverse.h │ │ │ │ ├── Select.h │ │ │ │ ├── SelfAdjointView.h │ │ │ │ ├── SelfCwiseBinaryOp.h │ │ │ │ ├── Solve.h │ │ │ │ ├── SolveTriangular.h │ │ │ │ ├── SolverBase.h │ │ │ │ ├── StableNorm.h │ │ │ │ ├── StlIterators.h │ │ │ │ ├── Stride.h │ │ │ │ ├── Swap.h │ │ │ │ ├── Transpose.h │ │ │ │ ├── Transpositions.h │ │ │ │ ├── TriangularMatrix.h │ │ │ │ ├── VectorBlock.h │ │ │ │ ├── VectorwiseOp.h │ │ │ │ ├── Visitor.h │ │ │ │ ├── arch │ │ │ │ │ ├── AVX │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── AVX512 │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── AltiVec │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── MatrixProduct.h │ │ │ │ │ │ ├── MatrixProductCommon.h │ │ │ │ │ │ ├── MatrixProductMMA.h │ │ │ │ │ │ └── PacketMath.h │ │ │ │ │ ├── CUDA │ │ │ │ │ │ └── Complex.h │ │ │ │ │ ├── Default │ │ │ │ │ │ ├── BFloat16.h │ │ │ │ │ │ ├── ConjHelper.h │ │ │ │ │ │ ├── GenericPacketMathFunctions.h │ │ │ │ │ │ ├── GenericPacketMathFunctionsFwd.h │ │ │ │ │ │ ├── Half.h │ │ │ │ │ │ ├── Settings.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── GPU │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── HIP │ │ │ │ │ │ └── hcc │ │ │ │ │ │ │ └── math_constants.h │ │ │ │ │ ├── MSA │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ └── PacketMath.h │ │ │ │ │ ├── NEON │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── GeneralBlockPanelKernel.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── SSE │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── SVE │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ ├── SYCL │ │ │ │ │ │ ├── InteropHeaders.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ ├── PacketMath.h │ │ │ │ │ │ ├── SyclMemoryModel.h │ │ │ │ │ │ └── TypeCasting.h │ │ │ │ │ └── ZVector │ │ │ │ │ │ ├── Complex.h │ │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ │ └── PacketMath.h │ │ │ │ ├── functors │ │ │ │ │ ├── AssignmentFunctors.h │ │ │ │ │ ├── BinaryFunctors.h │ │ │ │ │ ├── NullaryFunctors.h │ │ │ │ │ ├── StlFunctors.h │ │ │ │ │ ├── TernaryFunctors.h │ │ │ │ │ └── UnaryFunctors.h │ │ │ │ ├── products │ │ │ │ │ ├── GeneralBlockPanelKernel.h │ │ │ │ │ ├── GeneralMatrixMatrix.h │ │ │ │ │ ├── GeneralMatrixMatrixTriangular.h │ │ │ │ │ ├── GeneralMatrixMatrixTriangular_BLAS.h │ │ │ │ │ ├── GeneralMatrixMatrix_BLAS.h │ │ │ │ │ ├── GeneralMatrixVector.h │ │ │ │ │ ├── GeneralMatrixVector_BLAS.h │ │ │ │ │ ├── Parallelizer.h │ │ │ │ │ ├── SelfadjointMatrixMatrix.h │ │ │ │ │ ├── SelfadjointMatrixMatrix_BLAS.h │ │ │ │ │ ├── SelfadjointMatrixVector.h │ │ │ │ │ ├── SelfadjointMatrixVector_BLAS.h │ │ │ │ │ ├── SelfadjointProduct.h │ │ │ │ │ ├── SelfadjointRank2Update.h │ │ │ │ │ ├── TriangularMatrixMatrix.h │ │ │ │ │ ├── TriangularMatrixMatrix_BLAS.h │ │ │ │ │ ├── TriangularMatrixVector.h │ │ │ │ │ ├── TriangularMatrixVector_BLAS.h │ │ │ │ │ ├── TriangularSolverMatrix.h │ │ │ │ │ ├── TriangularSolverMatrix_BLAS.h │ │ │ │ │ └── TriangularSolverVector.h │ │ │ │ └── util │ │ │ │ │ ├── BlasUtil.h │ │ │ │ │ ├── ConfigureVectorization.h │ │ │ │ │ ├── Constants.h │ │ │ │ │ ├── DisableStupidWarnings.h │ │ │ │ │ ├── ForwardDeclarations.h │ │ │ │ │ ├── IndexedViewHelper.h │ │ │ │ │ ├── IntegralConstant.h │ │ │ │ │ ├── MKL_support.h │ │ │ │ │ ├── Macros.h │ │ │ │ │ ├── Memory.h │ │ │ │ │ ├── Meta.h │ │ │ │ │ ├── NonMPL2.h │ │ │ │ │ ├── ReenableStupidWarnings.h │ │ │ │ │ ├── ReshapedHelper.h │ │ │ │ │ ├── StaticAssert.h │ │ │ │ │ ├── SymbolicIndex.h │ │ │ │ │ └── XprHelper.h │ │ │ │ ├── Eigenvalues │ │ │ │ ├── ComplexEigenSolver.h │ │ │ │ ├── ComplexSchur.h │ │ │ │ ├── ComplexSchur_LAPACKE.h │ │ │ │ ├── EigenSolver.h │ │ │ │ ├── GeneralizedEigenSolver.h │ │ │ │ ├── GeneralizedSelfAdjointEigenSolver.h │ │ │ │ ├── HessenbergDecomposition.h │ │ │ │ ├── MatrixBaseEigenvalues.h │ │ │ │ ├── RealQZ.h │ │ │ │ ├── RealSchur.h │ │ │ │ ├── RealSchur_LAPACKE.h │ │ │ │ ├── SelfAdjointEigenSolver.h │ │ │ │ ├── SelfAdjointEigenSolver_LAPACKE.h │ │ │ │ └── Tridiagonalization.h │ │ │ │ ├── Geometry │ │ │ │ ├── AlignedBox.h │ │ │ │ ├── AngleAxis.h │ │ │ │ ├── EulerAngles.h │ │ │ │ ├── Homogeneous.h │ │ │ │ ├── Hyperplane.h │ │ │ │ ├── OrthoMethods.h │ │ │ │ ├── ParametrizedLine.h │ │ │ │ ├── Quaternion.h │ │ │ │ ├── Rotation2D.h │ │ │ │ ├── RotationBase.h │ │ │ │ ├── Scaling.h │ │ │ │ ├── Transform.h │ │ │ │ ├── Translation.h │ │ │ │ ├── Umeyama.h │ │ │ │ └── arch │ │ │ │ │ └── Geometry_SIMD.h │ │ │ │ ├── Householder │ │ │ │ ├── BlockHouseholder.h │ │ │ │ ├── Householder.h │ │ │ │ └── HouseholderSequence.h │ │ │ │ ├── IterativeLinearSolvers │ │ │ │ ├── BasicPreconditioners.h │ │ │ │ ├── BiCGSTAB.h │ │ │ │ ├── ConjugateGradient.h │ │ │ │ ├── IncompleteCholesky.h │ │ │ │ ├── IncompleteLUT.h │ │ │ │ ├── IterativeSolverBase.h │ │ │ │ ├── LeastSquareConjugateGradient.h │ │ │ │ └── SolveWithGuess.h │ │ │ │ ├── Jacobi │ │ │ │ └── Jacobi.h │ │ │ │ ├── KLUSupport │ │ │ │ └── KLUSupport.h │ │ │ │ ├── LU │ │ │ │ ├── Determinant.h │ │ │ │ ├── FullPivLU.h │ │ │ │ ├── InverseImpl.h │ │ │ │ ├── PartialPivLU.h │ │ │ │ ├── PartialPivLU_LAPACKE.h │ │ │ │ └── arch │ │ │ │ │ └── InverseSize4.h │ │ │ │ ├── MetisSupport │ │ │ │ └── MetisSupport.h │ │ │ │ ├── OrderingMethods │ │ │ │ ├── Amd.h │ │ │ │ ├── Eigen_Colamd.h │ │ │ │ └── Ordering.h │ │ │ │ ├── PaStiXSupport │ │ │ │ └── PaStiXSupport.h │ │ │ │ ├── PardisoSupport │ │ │ │ └── PardisoSupport.h │ │ │ │ ├── QR │ │ │ │ ├── ColPivHouseholderQR.h │ │ │ │ ├── ColPivHouseholderQR_LAPACKE.h │ │ │ │ ├── CompleteOrthogonalDecomposition.h │ │ │ │ ├── FullPivHouseholderQR.h │ │ │ │ ├── HouseholderQR.h │ │ │ │ └── HouseholderQR_LAPACKE.h │ │ │ │ ├── SPQRSupport │ │ │ │ └── SuiteSparseQRSupport.h │ │ │ │ ├── SVD │ │ │ │ ├── BDCSVD.h │ │ │ │ ├── JacobiSVD.h │ │ │ │ ├── JacobiSVD_LAPACKE.h │ │ │ │ ├── SVDBase.h │ │ │ │ └── UpperBidiagonalization.h │ │ │ │ ├── SparseCholesky │ │ │ │ ├── SimplicialCholesky.h │ │ │ │ └── SimplicialCholesky_impl.h │ │ │ │ ├── SparseCore │ │ │ │ ├── AmbiVector.h │ │ │ │ ├── CompressedStorage.h │ │ │ │ ├── ConservativeSparseSparseProduct.h │ │ │ │ ├── MappedSparseMatrix.h │ │ │ │ ├── SparseAssign.h │ │ │ │ ├── SparseBlock.h │ │ │ │ ├── SparseColEtree.h │ │ │ │ ├── SparseCompressedBase.h │ │ │ │ ├── SparseCwiseBinaryOp.h │ │ │ │ ├── SparseCwiseUnaryOp.h │ │ │ │ ├── SparseDenseProduct.h │ │ │ │ ├── SparseDiagonalProduct.h │ │ │ │ ├── SparseDot.h │ │ │ │ ├── SparseFuzzy.h │ │ │ │ ├── SparseMap.h │ │ │ │ ├── SparseMatrix.h │ │ │ │ ├── SparseMatrixBase.h │ │ │ │ ├── SparsePermutation.h │ │ │ │ ├── SparseProduct.h │ │ │ │ ├── SparseRedux.h │ │ │ │ ├── SparseRef.h │ │ │ │ ├── SparseSelfAdjointView.h │ │ │ │ ├── SparseSolverBase.h │ │ │ │ ├── SparseSparseProductWithPruning.h │ │ │ │ ├── SparseTranspose.h │ │ │ │ ├── SparseTriangularView.h │ │ │ │ ├── SparseUtil.h │ │ │ │ ├── SparseVector.h │ │ │ │ ├── SparseView.h │ │ │ │ └── TriangularSolver.h │ │ │ │ ├── SparseLU │ │ │ │ ├── SparseLU.h │ │ │ │ ├── SparseLUImpl.h │ │ │ │ ├── SparseLU_Memory.h │ │ │ │ ├── SparseLU_Structs.h │ │ │ │ ├── SparseLU_SupernodalMatrix.h │ │ │ │ ├── SparseLU_Utils.h │ │ │ │ ├── SparseLU_column_bmod.h │ │ │ │ ├── SparseLU_column_dfs.h │ │ │ │ ├── SparseLU_copy_to_ucol.h │ │ │ │ ├── SparseLU_gemm_kernel.h │ │ │ │ ├── SparseLU_heap_relax_snode.h │ │ │ │ ├── SparseLU_kernel_bmod.h │ │ │ │ ├── SparseLU_panel_bmod.h │ │ │ │ ├── SparseLU_panel_dfs.h │ │ │ │ ├── SparseLU_pivotL.h │ │ │ │ ├── SparseLU_pruneL.h │ │ │ │ └── SparseLU_relax_snode.h │ │ │ │ ├── SparseQR │ │ │ │ └── SparseQR.h │ │ │ │ ├── StlSupport │ │ │ │ ├── StdDeque.h │ │ │ │ ├── StdList.h │ │ │ │ ├── StdVector.h │ │ │ │ └── details.h │ │ │ │ ├── SuperLUSupport │ │ │ │ └── SuperLUSupport.h │ │ │ │ ├── UmfPackSupport │ │ │ │ └── UmfPackSupport.h │ │ │ │ ├── misc │ │ │ │ ├── Image.h │ │ │ │ ├── Kernel.h │ │ │ │ ├── RealSvd2x2.h │ │ │ │ ├── blas.h │ │ │ │ ├── lapack.h │ │ │ │ ├── lapacke.h │ │ │ │ └── lapacke_mangling.h │ │ │ │ └── plugins │ │ │ │ ├── ArrayCwiseBinaryOps.h │ │ │ │ ├── ArrayCwiseUnaryOps.h │ │ │ │ ├── BlockMethods.h │ │ │ │ ├── CommonCwiseBinaryOps.h │ │ │ │ ├── CommonCwiseUnaryOps.h │ │ │ │ ├── IndexedViewMethods.h │ │ │ │ ├── MatrixCwiseBinaryOps.h │ │ │ │ ├── MatrixCwiseUnaryOps.h │ │ │ │ └── ReshapedMethods.h │ │ ├── signature_of_eigen3_matrix_library │ │ └── unsupported │ │ │ └── Eigen │ │ │ ├── AdolcForward │ │ │ ├── AlignedVector3 │ │ │ ├── ArpackSupport │ │ │ ├── AutoDiff │ │ │ ├── BVH │ │ │ ├── CXX11 │ │ │ ├── Tensor │ │ │ ├── TensorSymmetry │ │ │ ├── ThreadPool │ │ │ └── src │ │ │ │ ├── Tensor │ │ │ │ ├── Tensor.h │ │ │ │ ├── TensorArgMax.h │ │ │ │ ├── TensorAssign.h │ │ │ │ ├── TensorBase.h │ │ │ │ ├── TensorBlock.h │ │ │ │ ├── TensorBroadcasting.h │ │ │ │ ├── TensorChipping.h │ │ │ │ ├── TensorConcatenation.h │ │ │ │ ├── TensorContraction.h │ │ │ │ ├── TensorContractionBlocking.h │ │ │ │ ├── TensorContractionCuda.h │ │ │ │ ├── TensorContractionGpu.h │ │ │ │ ├── TensorContractionMapper.h │ │ │ │ ├── TensorContractionSycl.h │ │ │ │ ├── TensorContractionThreadPool.h │ │ │ │ ├── TensorConversion.h │ │ │ │ ├── TensorConvolution.h │ │ │ │ ├── TensorConvolutionSycl.h │ │ │ │ ├── TensorCostModel.h │ │ │ │ ├── TensorCustomOp.h │ │ │ │ ├── TensorDevice.h │ │ │ │ ├── TensorDeviceCuda.h │ │ │ │ ├── TensorDeviceDefault.h │ │ │ │ ├── TensorDeviceGpu.h │ │ │ │ ├── TensorDeviceSycl.h │ │ │ │ ├── TensorDeviceThreadPool.h │ │ │ │ ├── TensorDimensionList.h │ │ │ │ ├── TensorDimensions.h │ │ │ │ ├── TensorEvalTo.h │ │ │ │ ├── TensorEvaluator.h │ │ │ │ ├── TensorExecutor.h │ │ │ │ ├── TensorExpr.h │ │ │ │ ├── TensorFFT.h │ │ │ │ ├── TensorFixedSize.h │ │ │ │ ├── TensorForcedEval.h │ │ │ │ ├── TensorForwardDeclarations.h │ │ │ │ ├── TensorFunctors.h │ │ │ │ ├── TensorGenerator.h │ │ │ │ ├── TensorGlobalFunctions.h │ │ │ │ ├── TensorGpuHipCudaDefines.h │ │ │ │ ├── TensorGpuHipCudaUndefines.h │ │ │ │ ├── TensorIO.h │ │ │ │ ├── TensorImagePatch.h │ │ │ │ ├── TensorIndexList.h │ │ │ │ ├── TensorInflation.h │ │ │ │ ├── TensorInitializer.h │ │ │ │ ├── TensorIntDiv.h │ │ │ │ ├── TensorLayoutSwap.h │ │ │ │ ├── TensorMacros.h │ │ │ │ ├── TensorMap.h │ │ │ │ ├── TensorMeta.h │ │ │ │ ├── TensorMorphing.h │ │ │ │ ├── TensorPadding.h │ │ │ │ ├── TensorPatch.h │ │ │ │ ├── TensorRandom.h │ │ │ │ ├── TensorReduction.h │ │ │ │ ├── TensorReductionCuda.h │ │ │ │ ├── TensorReductionGpu.h │ │ │ │ ├── TensorReductionSycl.h │ │ │ │ ├── TensorRef.h │ │ │ │ ├── TensorReverse.h │ │ │ │ ├── TensorScan.h │ │ │ │ ├── TensorScanSycl.h │ │ │ │ ├── TensorShuffling.h │ │ │ │ ├── TensorStorage.h │ │ │ │ ├── TensorStriding.h │ │ │ │ ├── TensorTrace.h │ │ │ │ ├── TensorTraits.h │ │ │ │ ├── TensorUInt128.h │ │ │ │ └── TensorVolumePatch.h │ │ │ │ ├── TensorSymmetry │ │ │ │ ├── DynamicSymmetry.h │ │ │ │ ├── StaticSymmetry.h │ │ │ │ ├── Symmetry.h │ │ │ │ └── util │ │ │ │ │ └── TemplateGroupTheory.h │ │ │ │ ├── ThreadPool │ │ │ │ ├── Barrier.h │ │ │ │ ├── EventCount.h │ │ │ │ ├── NonBlockingThreadPool.h │ │ │ │ ├── RunQueue.h │ │ │ │ ├── ThreadCancel.h │ │ │ │ ├── ThreadEnvironment.h │ │ │ │ ├── ThreadLocal.h │ │ │ │ ├── ThreadPoolInterface.h │ │ │ │ └── ThreadYield.h │ │ │ │ └── util │ │ │ │ ├── CXX11Meta.h │ │ │ │ ├── CXX11Workarounds.h │ │ │ │ ├── EmulateArray.h │ │ │ │ └── MaxSizeVector.h │ │ │ ├── EulerAngles │ │ │ ├── FFT │ │ │ ├── IterativeSolvers │ │ │ ├── KroneckerProduct │ │ │ ├── LevenbergMarquardt │ │ │ ├── MPRealSupport │ │ │ ├── MatrixFunctions │ │ │ ├── MoreVectorization │ │ │ ├── NonLinearOptimization │ │ │ ├── NumericalDiff │ │ │ ├── OpenGLSupport │ │ │ ├── Polynomials │ │ │ ├── Skyline │ │ │ ├── SparseExtra │ │ │ ├── SpecialFunctions │ │ │ ├── Splines │ │ │ └── src │ │ │ ├── AutoDiff │ │ │ ├── AutoDiffJacobian.h │ │ │ ├── AutoDiffScalar.h │ │ │ └── AutoDiffVector.h │ │ │ ├── BVH │ │ │ ├── BVAlgorithms.h │ │ │ └── KdBVH.h │ │ │ ├── Eigenvalues │ │ │ └── ArpackSelfAdjointEigenSolver.h │ │ │ ├── EulerAngles │ │ │ ├── EulerAngles.h │ │ │ └── EulerSystem.h │ │ │ ├── FFT │ │ │ ├── ei_fftw_impl.h │ │ │ └── ei_kissfft_impl.h │ │ │ ├── IterativeSolvers │ │ │ ├── ConstrainedConjGrad.h │ │ │ ├── DGMRES.h │ │ │ ├── GMRES.h │ │ │ ├── IDRS.h │ │ │ ├── IncompleteLU.h │ │ │ ├── IterationController.h │ │ │ ├── MINRES.h │ │ │ └── Scaling.h │ │ │ ├── KroneckerProduct │ │ │ └── KroneckerTensorProduct.h │ │ │ ├── LevenbergMarquardt │ │ │ ├── LMcovar.h │ │ │ ├── LMonestep.h │ │ │ ├── LMpar.h │ │ │ ├── LMqrsolv.h │ │ │ └── LevenbergMarquardt.h │ │ │ ├── MatrixFunctions │ │ │ ├── MatrixExponential.h │ │ │ ├── MatrixFunction.h │ │ │ ├── MatrixLogarithm.h │ │ │ ├── MatrixPower.h │ │ │ ├── MatrixSquareRoot.h │ │ │ └── StemFunction.h │ │ │ ├── MoreVectorization │ │ │ └── MathFunctions.h │ │ │ ├── NonLinearOptimization │ │ │ ├── HybridNonLinearSolver.h │ │ │ ├── LevenbergMarquardt.h │ │ │ ├── chkder.h │ │ │ ├── covar.h │ │ │ ├── dogleg.h │ │ │ ├── fdjac1.h │ │ │ ├── lmpar.h │ │ │ ├── qrsolv.h │ │ │ ├── r1mpyq.h │ │ │ ├── r1updt.h │ │ │ └── rwupdt.h │ │ │ ├── NumericalDiff │ │ │ └── NumericalDiff.h │ │ │ ├── Polynomials │ │ │ ├── Companion.h │ │ │ ├── PolynomialSolver.h │ │ │ └── PolynomialUtils.h │ │ │ ├── Skyline │ │ │ ├── SkylineInplaceLU.h │ │ │ ├── SkylineMatrix.h │ │ │ ├── SkylineMatrixBase.h │ │ │ ├── SkylineProduct.h │ │ │ ├── SkylineStorage.h │ │ │ └── SkylineUtil.h │ │ │ ├── SparseExtra │ │ │ ├── BlockOfDynamicSparseMatrix.h │ │ │ ├── BlockSparseMatrix.h │ │ │ ├── DynamicSparseMatrix.h │ │ │ ├── MarketIO.h │ │ │ ├── MatrixMarketIterator.h │ │ │ └── RandomSetter.h │ │ │ ├── SpecialFunctions │ │ │ ├── BesselFunctionsArrayAPI.h │ │ │ ├── BesselFunctionsBFloat16.h │ │ │ ├── BesselFunctionsFunctors.h │ │ │ ├── BesselFunctionsHalf.h │ │ │ ├── BesselFunctionsImpl.h │ │ │ ├── BesselFunctionsPacketMath.h │ │ │ ├── HipVectorCompatibility.h │ │ │ ├── SpecialFunctionsArrayAPI.h │ │ │ ├── SpecialFunctionsBFloat16.h │ │ │ ├── SpecialFunctionsFunctors.h │ │ │ ├── SpecialFunctionsHalf.h │ │ │ ├── SpecialFunctionsImpl.h │ │ │ ├── SpecialFunctionsPacketMath.h │ │ │ └── arch │ │ │ │ ├── AVX │ │ │ │ ├── BesselFunctions.h │ │ │ │ └── SpecialFunctions.h │ │ │ │ ├── AVX512 │ │ │ │ ├── BesselFunctions.h │ │ │ │ └── SpecialFunctions.h │ │ │ │ ├── GPU │ │ │ │ └── SpecialFunctions.h │ │ │ │ └── NEON │ │ │ │ ├── BesselFunctions.h │ │ │ │ └── SpecialFunctions.h │ │ │ └── Splines │ │ │ ├── Spline.h │ │ │ ├── SplineFitting.h │ │ │ └── SplineFwd.h │ └── rapidjson-1.1.0 │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── CMakeModules │ │ └── FindGTestSrc.cmake │ │ ├── RapidJSON.pc.in │ │ ├── RapidJSONConfig.cmake.in │ │ ├── RapidJSONConfigVersion.cmake.in │ │ ├── appveyor.yml │ │ ├── bin │ │ ├── data │ │ │ ├── glossary.json │ │ │ ├── menu.json │ │ │ ├── readme.txt │ │ │ ├── sample.json │ │ │ ├── webapp.json │ │ │ └── widget.json │ │ ├── encodings │ │ │ ├── utf16be.json │ │ │ ├── utf16bebom.json │ │ │ ├── utf16le.json │ │ │ ├── utf16lebom.json │ │ │ ├── utf32be.json │ │ │ ├── utf32bebom.json │ │ │ ├── utf32le.json │ │ │ ├── utf32lebom.json │ │ │ ├── utf8.json │ │ │ └── utf8bom.json │ │ ├── jsonchecker │ │ │ ├── fail1.json │ │ │ ├── fail10.json │ │ │ ├── fail11.json │ │ │ ├── fail12.json │ │ │ ├── fail13.json │ │ │ ├── fail14.json │ │ │ ├── fail15.json │ │ │ ├── fail16.json │ │ │ ├── fail17.json │ │ │ ├── fail18.json │ │ │ ├── fail19.json │ │ │ ├── fail2.json │ │ │ ├── fail20.json │ │ │ ├── fail21.json │ │ │ ├── fail22.json │ │ │ ├── fail23.json │ │ │ ├── fail24.json │ │ │ ├── fail25.json │ │ │ ├── fail26.json │ │ │ ├── fail27.json │ │ │ ├── fail28.json │ │ │ ├── fail29.json │ │ │ ├── fail3.json │ │ │ ├── fail30.json │ │ │ ├── fail31.json │ │ │ ├── fail32.json │ │ │ ├── fail33.json │ │ │ ├── fail4.json │ │ │ ├── fail5.json │ │ │ ├── fail6.json │ │ │ ├── fail7.json │ │ │ ├── fail8.json │ │ │ ├── fail9.json │ │ │ ├── pass1.json │ │ │ ├── pass2.json │ │ │ ├── pass3.json │ │ │ └── readme.txt │ │ └── types │ │ │ ├── booleans.json │ │ │ ├── floats.json │ │ │ ├── guids.json │ │ │ ├── integers.json │ │ │ ├── mixed.json │ │ │ ├── nulls.json │ │ │ ├── paragraphs.json │ │ │ └── readme.txt │ │ ├── doc │ │ ├── CMakeLists.txt │ │ ├── Doxyfile.in │ │ ├── Doxyfile.zh-cn.in │ │ ├── diagram │ │ │ ├── architecture.dot │ │ │ ├── insituparsing.dot │ │ │ ├── iterative-parser-states-diagram.dot │ │ │ ├── makefile │ │ │ ├── move1.dot │ │ │ ├── move2.dot │ │ │ ├── move3.dot │ │ │ ├── normalparsing.dot │ │ │ ├── simpledom.dot │ │ │ ├── tutorial.dot │ │ │ └── utilityclass.dot │ │ ├── dom.md │ │ ├── dom.zh-cn.md │ │ ├── encoding.md │ │ ├── encoding.zh-cn.md │ │ ├── faq.md │ │ ├── faq.zh-cn.md │ │ ├── features.md │ │ ├── features.zh-cn.md │ │ ├── internals.md │ │ ├── logo │ │ │ └── rapidjson.svg │ │ ├── misc │ │ │ ├── DoxygenLayout.xml │ │ │ ├── doxygenextra.css │ │ │ ├── footer.html │ │ │ └── header.html │ │ ├── npm.md │ │ ├── performance.md │ │ ├── performance.zh-cn.md │ │ ├── pointer.md │ │ ├── pointer.zh-cn.md │ │ ├── sax.md │ │ ├── sax.zh-cn.md │ │ ├── schema.md │ │ ├── schema.zh-cn.md │ │ ├── stream.md │ │ ├── stream.zh-cn.md │ │ ├── tutorial.md │ │ └── tutorial.zh-cn.md │ │ ├── docker │ │ └── debian │ │ │ └── Dockerfile │ │ ├── example │ │ ├── CMakeLists.txt │ │ ├── capitalize │ │ │ └── capitalize.cpp │ │ ├── condense │ │ │ └── condense.cpp │ │ ├── filterkey │ │ │ └── filterkey.cpp │ │ ├── filterkeydom │ │ │ └── filterkeydom.cpp │ │ ├── jsonx │ │ │ └── jsonx.cpp │ │ ├── messagereader │ │ │ └── messagereader.cpp │ │ ├── parsebyparts │ │ │ └── parsebyparts.cpp │ │ ├── pretty │ │ │ └── pretty.cpp │ │ ├── prettyauto │ │ │ └── prettyauto.cpp │ │ ├── schemavalidator │ │ │ └── schemavalidator.cpp │ │ ├── serialize │ │ │ └── serialize.cpp │ │ ├── simpledom │ │ │ └── simpledom.cpp │ │ ├── simplereader │ │ │ └── simplereader.cpp │ │ ├── simplewriter │ │ │ └── simplewriter.cpp │ │ └── tutorial │ │ │ └── tutorial.cpp │ │ ├── include │ │ └── rapidjson │ │ │ ├── allocators.h │ │ │ ├── cursorstreamwrapper.h │ │ │ ├── document.h │ │ │ ├── encodedstream.h │ │ │ ├── encodings.h │ │ │ ├── error │ │ │ ├── en.h │ │ │ └── error.h │ │ │ ├── filereadstream.h │ │ │ ├── filewritestream.h │ │ │ ├── fwd.h │ │ │ ├── internal │ │ │ ├── biginteger.h │ │ │ ├── clzll.h │ │ │ ├── diyfp.h │ │ │ ├── dtoa.h │ │ │ ├── ieee754.h │ │ │ ├── itoa.h │ │ │ ├── meta.h │ │ │ ├── pow10.h │ │ │ ├── regex.h │ │ │ ├── stack.h │ │ │ ├── strfunc.h │ │ │ ├── strtod.h │ │ │ └── swap.h │ │ │ ├── istreamwrapper.h │ │ │ ├── memorybuffer.h │ │ │ ├── memorystream.h │ │ │ ├── msinttypes │ │ │ ├── inttypes.h │ │ │ └── stdint.h │ │ │ ├── ostreamwrapper.h │ │ │ ├── pointer.h │ │ │ ├── prettywriter.h │ │ │ ├── rapidjson.h │ │ │ ├── reader.h │ │ │ ├── schema.h │ │ │ ├── stream.h │ │ │ ├── stringbuffer.h │ │ │ ├── uri.h │ │ │ └── writer.h │ │ ├── include_dirs.js │ │ ├── library.json │ │ ├── license.txt │ │ ├── package.json │ │ ├── rapidjson.autopkg │ │ ├── readme.md │ │ ├── readme.zh-cn.md │ │ ├── test │ │ ├── CMakeLists.txt │ │ ├── perftest │ │ │ ├── CMakeLists.txt │ │ │ ├── misctest.cpp │ │ │ ├── perftest.cpp │ │ │ ├── perftest.h │ │ │ ├── platformtest.cpp │ │ │ ├── rapidjsontest.cpp │ │ │ └── schematest.cpp │ │ └── unittest │ │ │ ├── CMakeLists.txt │ │ │ ├── allocatorstest.cpp │ │ │ ├── bigintegertest.cpp │ │ │ ├── documenttest.cpp │ │ │ ├── dtoatest.cpp │ │ │ ├── encodedstreamtest.cpp │ │ │ ├── encodingstest.cpp │ │ │ ├── filestreamtest.cpp │ │ │ ├── fwdtest.cpp │ │ │ ├── istreamwrappertest.cpp │ │ │ ├── itoatest.cpp │ │ │ ├── jsoncheckertest.cpp │ │ │ ├── namespacetest.cpp │ │ │ ├── ostreamwrappertest.cpp │ │ │ ├── pointertest.cpp │ │ │ ├── prettywritertest.cpp │ │ │ ├── readertest.cpp │ │ │ ├── regextest.cpp │ │ │ ├── schematest.cpp │ │ │ ├── simdtest.cpp │ │ │ ├── strfunctest.cpp │ │ │ ├── stringbuffertest.cpp │ │ │ ├── strtodtest.cpp │ │ │ ├── unittest.cpp │ │ │ ├── unittest.h │ │ │ ├── valuetest.cpp │ │ │ └── writertest.cpp │ │ └── travis-doxygen.sh ├── CMakeLists.txt ├── DeepAppearanceDescriptor │ ├── inc │ │ ├── CMakeLists.txt │ │ ├── FeatureTensor.h │ │ ├── dataType.h │ │ └── model.h │ └── src │ │ ├── CMakeLists.txt │ │ ├── FeatureTensor.cpp │ │ └── model.cpp ├── KalmanFilter │ ├── inc │ │ ├── CMakeLists.txt │ │ ├── city_tracker.h │ │ ├── kalmanfilter.h │ │ ├── linear_assignment.h │ │ ├── nn_matching.h │ │ ├── track.h │ │ └── tracker.h │ └── src │ │ ├── CMakeLists.txt │ │ ├── city_tracker.cpp │ │ ├── kalmanfilter.cpp │ │ ├── linear_assignment.cpp │ │ ├── main.cpp │ │ ├── nn_matching.cpp │ │ ├── track.cpp │ │ └── tracker.cpp ├── MOG │ ├── inc │ │ ├── CMakeLists.txt │ │ └── bgm.h │ └── src │ │ ├── CMakeLists.txt │ │ └── bgm.cpp ├── MunkresAssignment │ ├── inc │ │ ├── CMakeLists.txt │ │ ├── hungarianoper.h │ │ ├── matrix.h │ │ └── munkres.h │ └── src │ │ ├── CMakeLists.txt │ │ ├── hungarianoper.cpp │ │ └── munkres.cpp ├── OpticalFlow │ ├── inc │ │ ├── CMakeLists.txt │ │ ├── MedianFlow.h │ │ ├── OpticalFlow.h │ │ └── define_info.h │ └── src │ │ ├── CMakeLists.txt │ │ ├── MedianFlow.cpp │ │ └── OpticalFlow.cpp ├── common │ ├── CMakeLists.txt │ └── common_data.h ├── eco │ ├── inc │ │ ├── CMakeLists.txt │ │ ├── debug.hpp │ │ ├── eco.hpp │ │ ├── feature_extractor.hpp │ │ ├── feature_operator.hpp │ │ ├── ffttools.hpp │ │ ├── fhog.hpp │ │ ├── gradient.hpp │ │ ├── interpolator.hpp │ │ ├── metrics.hpp │ │ ├── optimize_scores.hpp │ │ ├── parameters.hpp │ │ ├── recttools.hpp │ │ ├── regularization_filter.hpp │ │ ├── sample_update.hpp │ │ ├── scale_filter.hpp │ │ ├── sse.hpp │ │ ├── sse2neon.h │ │ ├── training.hpp │ │ ├── vot.h │ │ └── wrappers.hpp │ └── lib │ │ └── libeco.so ├── mask │ ├── c041 │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── enter.jpg │ │ ├── leave.jpg │ │ ├── mask.jpg │ │ └── unmask.jpg │ ├── c042 │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── enter.jpg │ │ ├── leave.jpg │ │ ├── mask.jpg │ │ └── unmask.jpg │ ├── c043 │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── enter.jpg │ │ ├── leave.jpg │ │ ├── mask.jpg │ │ └── unmask.jpg │ ├── c044 │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── enter.jpg │ │ ├── leave.jpg │ │ ├── mask.jpg │ │ └── unmask.jpg │ ├── c045 │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── enter.jpg │ │ ├── leave.jpg │ │ ├── mask.jpg │ │ └── unmask.jpg │ └── c046 │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── enter.jpg │ │ ├── leave.jpg │ │ ├── mask.jpg │ │ └── unmask.jpg ├── re_region │ ├── c041.jpg │ ├── c041.json │ ├── c042.jpg │ ├── c042.json │ ├── c043.jpg │ ├── c043.json │ ├── c044.jpg │ ├── c044.json │ ├── c045.jpg │ ├── c045.json │ ├── c046.jpg │ └── c046.json ├── region │ ├── c041.jpg │ ├── c041.json │ ├── c042.jpg │ ├── c042.json │ ├── c043.jpg │ ├── c043.json │ ├── c044.jpg │ ├── c044.json │ ├── c045.jpg │ ├── c045.json │ ├── c046.jpg │ └── c046.json ├── region_cowd │ ├── c041.jpg │ ├── c041.json │ ├── c042.jpg │ ├── c042.json │ ├── c043.jpg │ ├── c043.json │ ├── c044.jpg │ ├── c044.json │ ├── c045.jpg │ ├── c045.json │ ├── c046.jpg │ └── c046.json ├── run_mot.sh └── tool │ ├── filter_tracklet.py │ ├── joint_tracklets.py │ ├── post_precess.py │ ├── pre_process.py │ ├── save_mot.py │ └── utils.py ├── readme.md ├── reid ├── extract_image_feat.py ├── merge_reid_feat.py ├── reid_inference │ ├── aictest.yml │ ├── baseline │ │ ├── config │ │ │ ├── __init__.py │ │ │ └── defaults.py │ │ ├── model │ │ │ ├── __init__.py │ │ │ ├── backbones │ │ │ │ ├── __init__.py │ │ │ │ ├── resnet_ibn_a.py │ │ │ │ └── resnext_ibn.py │ │ │ ├── layers │ │ │ │ └── pooling.py │ │ │ └── make_model.py │ │ └── processor │ │ │ ├── __init__.py │ │ │ ├── processor.py │ │ │ └── uda_processor.py │ └── reid_model.py └── reid_model │ └── dir ├── requirements.txt ├── run_all.sh └── run_mcvt.sh /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License (c) 2022 Fei Li & Zhen Wang & Ding Nie 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /config/__init__.py: -------------------------------------------------------------------------------- 1 | from .defaults import _C as cfg 2 | -------------------------------------------------------------------------------- /config/aic_all.yml: -------------------------------------------------------------------------------- 1 | CHALLENGE_DATA_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/AIC22_Track1_MTMC_Tracking/' 2 | DET_SOURCE_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detection/images/test/S06/' 3 | DATA_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_merge/' 4 | REID_SIZE_TEST: [384, 384] # 384, 256 5 | ROI_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/AIC22_Track1_MTMC_Tracking/test/S06/' 6 | CID_BIAS_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/AIC22_Track1_MTMC_Tracking/cam_timestamp/' 7 | USE_RERANK: True 8 | USE_FF: True 9 | SCORE_THR: 0.1 10 | MCMT_OUTPUT_TXT: 'track1.txt' 11 | -------------------------------------------------------------------------------- /config/aic_reid1.yml: -------------------------------------------------------------------------------- 1 | DET_SOURCE_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detection/images/test/S06/' 2 | # REID_MODEL: 'reid_model/resnet101_ibn_a_2.pth' 3 | REID_MODEL: 'reid_model/resnet101_ibn_a_2.pth' 4 | REID_BACKBONE: 'resnet101_ibn_a' 5 | DET_IMG_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_merge/' 6 | DATA_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_reid1/' 7 | REID_SIZE_TEST: [384, 384] 8 | -------------------------------------------------------------------------------- /config/aic_reid2.yml: -------------------------------------------------------------------------------- 1 | DET_SOURCE_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detection/images/test/S06/' 2 | REID_MODEL: 'reid_model/resnext101_ibn_a_2.pth' 3 | REID_BACKBONE: 'resnext101_ibn_a' 4 | DET_IMG_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_merge/' 5 | DATA_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_reid2/' 6 | REID_SIZE_TEST: [384, 384] 7 | -------------------------------------------------------------------------------- /config/aic_reid3.yml: -------------------------------------------------------------------------------- 1 | DET_SOURCE_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detection/images/test/S06/' 2 | REID_MODEL: 'reid_model/resnet101_ibn_a_3.pth' 3 | REID_BACKBONE: 'resnet101_ibn_a' 4 | DET_IMG_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_merge/' 5 | DATA_DIR: '/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_reid3/' 6 | REID_SIZE_TEST: [384, 384] 7 | -------------------------------------------------------------------------------- /config/defaults.py: -------------------------------------------------------------------------------- 1 | from yacs.config import CfgNode as CN 2 | 3 | _C = CN() 4 | 5 | _C.CHALLENGE_DATA_DIR = '' 6 | _C.DET_SOURCE_DIR = '' 7 | _C.REID_MODEL = '' 8 | _C.REID_BACKBONE = '' 9 | _C.REID_SIZE_TEST = [256, 256] 10 | 11 | _C.DET_IMG_DIR = '' 12 | _C.DATA_DIR = '' 13 | _C.ROI_DIR = '' 14 | _C.CID_BIAS_DIR = '' 15 | 16 | _C.USE_RERANK = False 17 | _C.USE_FF = False 18 | _C.SCORE_THR = 0.5 19 | 20 | _C.MCMT_OUTPUT_TXT = '' 21 | -------------------------------------------------------------------------------- /datasets/datasets_utils/ROIs/test/c041/roi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/datasets/datasets_utils/ROIs/test/c041/roi.jpg -------------------------------------------------------------------------------- /datasets/datasets_utils/ROIs/test/c042/roi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/datasets/datasets_utils/ROIs/test/c042/roi.jpg -------------------------------------------------------------------------------- /datasets/datasets_utils/ROIs/test/c043/roi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/datasets/datasets_utils/ROIs/test/c043/roi.jpg -------------------------------------------------------------------------------- /datasets/datasets_utils/ROIs/test/c044/roi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/datasets/datasets_utils/ROIs/test/c044/roi.jpg -------------------------------------------------------------------------------- /datasets/datasets_utils/ROIs/test/c045/roi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/datasets/datasets_utils/ROIs/test/c045/roi.jpg -------------------------------------------------------------------------------- /datasets/datasets_utils/ROIs/test/c046/roi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/datasets/datasets_utils/ROIs/test/c046/roi.jpg -------------------------------------------------------------------------------- /datasets/datasets_utils/check_traj.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | 4 | src_base_path ="/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/sot_result/result_0422" 5 | compare_base_path = "/mnt/LocalDisk1/Projects/AIC21-MTMC/datasets/algorithm_results/detect_merge" 6 | cam_names = ["c041","c042","c043","c044","c045","c046"] 7 | #cam_names = ["c042"] 8 | for cam_name in cam_names: 9 | traj_path = os.path.join(src_base_path,cam_name) 10 | traj_path = os.path.join(traj_path,"traj_result") 11 | traj_files = os.listdir(traj_path) 12 | diff= [] 13 | diff_ = [] 14 | for file in traj_files: 15 | compare_path = os.path.join(compare_base_path,cam_name) 16 | compare_path = os.path.join(compare_path,"result") 17 | compare_file = os.path.join(compare_path,file) 18 | if not os.path.exists(compare_file): 19 | print("not exist compare_file:",compare_file) 20 | diff_.append(compare_file) 21 | #raise 22 | else: 23 | src_data = {} 24 | compare_data = {} 25 | src_traj_file = os.path.join(traj_path,file) 26 | with open(src_traj_file, 'r') as f: 27 | src_data = json.load(f) 28 | with open(compare_file, 'r') as compare_f: 29 | compare_data = json.load(compare_f) 30 | if (src_data["feature_list"] != compare_data["feature_list"]): 31 | print("compare_file:",compare_file) 32 | diff.append(compare_file) 33 | #raise 34 | print("cam_name:{},diff file:{}".format(cam_name,diff)) 35 | print("cam_name:{},not exist diff file:{}".format(cam_name,diff_)) 36 | print("done") 37 | -------------------------------------------------------------------------------- /datasets/datasets_utils/run_eval.sh: -------------------------------------------------------------------------------- 1 | GROUND_TRUTH="../AIC22_Track1_MTMC_Tracking/algorithm_results/xxx.txt" 2 | PREDICTION="/mnt/LocalDisk1/Projects/AIC21-MTMC/reid/reid-matching/tools/track1.txt" 3 | 4 | python ../AIC22_Track1_MTMC_Tracking/eval/eval.py ${GROUND_TRUTH} ${PREDICTION} --dstype test -------------------------------------------------------------------------------- /detector/yolov5_2022/Arial.Unicode..ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/Arial.Unicode..ttf -------------------------------------------------------------------------------- /detector/yolov5_2022/Arial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/Arial.ttf -------------------------------------------------------------------------------- /detector/yolov5_2022/data/hyps/hyp.Objects365.yaml: -------------------------------------------------------------------------------- 1 | # YOLOv5 🚀 by Ultralytics, GPL-3.0 license 2 | # Hyperparameters for Objects365 training 3 | # python train.py --weights yolov5m.pt --data Objects365.yaml --evolve 4 | # See Hyperparameter Evolution tutorial for details https://github.com/ultralytics/yolov5#tutorials 5 | 6 | lr0: 0.00258 7 | lrf: 0.17 8 | momentum: 0.779 9 | weight_decay: 0.00058 10 | warmup_epochs: 1.33 11 | warmup_momentum: 0.86 12 | warmup_bias_lr: 0.0711 13 | box: 0.0539 14 | cls: 0.299 15 | cls_pw: 0.825 16 | obj: 0.632 17 | obj_pw: 1.0 18 | iou_t: 0.2 19 | anchor_t: 3.44 20 | anchors: 3.2 21 | fl_gamma: 0.0 22 | hsv_h: 0.0188 23 | hsv_s: 0.704 24 | hsv_v: 0.36 25 | degrees: 0.0 26 | translate: 0.0902 27 | scale: 0.491 28 | shear: 0.0 29 | perspective: 0.0 30 | flipud: 0.0 31 | fliplr: 0.5 32 | mosaic: 1.0 33 | mixup: 0.0 34 | copy_paste: 0.0 35 | -------------------------------------------------------------------------------- /detector/yolov5_2022/data/hyps/hyp.VOC.yaml: -------------------------------------------------------------------------------- 1 | # YOLOv5 🚀 by Ultralytics, GPL-3.0 license 2 | # Hyperparameters for VOC training 3 | # python train.py --batch 128 --weights yolov5m6.pt --data VOC.yaml --epochs 50 --img 512 --hyp hyp.scratch-med.yaml --evolve 4 | # See Hyperparameter Evolution tutorial for details https://github.com/ultralytics/yolov5#tutorials 5 | 6 | # YOLOv5 Hyperparameter Evolution Results 7 | # Best generation: 467 8 | # Last generation: 996 9 | # metrics/precision, metrics/recall, metrics/mAP_0.5, metrics/mAP_0.5:0.95, val/box_loss, val/obj_loss, val/cls_loss 10 | # 0.87729, 0.85125, 0.91286, 0.72664, 0.0076739, 0.0042529, 0.0013865 11 | 12 | lr0: 0.00334 13 | lrf: 0.15135 14 | momentum: 0.74832 15 | weight_decay: 0.00025 16 | warmup_epochs: 3.3835 17 | warmup_momentum: 0.59462 18 | warmup_bias_lr: 0.18657 19 | box: 0.02 20 | cls: 0.21638 21 | cls_pw: 0.5 22 | obj: 0.51728 23 | obj_pw: 0.67198 24 | iou_t: 0.2 25 | anchor_t: 3.3744 26 | fl_gamma: 0.0 27 | hsv_h: 0.01041 28 | hsv_s: 0.54703 29 | hsv_v: 0.27739 30 | degrees: 0.0 31 | translate: 0.04591 32 | scale: 0.75544 33 | shear: 0.0 34 | perspective: 0.0 35 | flipud: 0.0 36 | fliplr: 0.5 37 | mosaic: 0.85834 38 | mixup: 0.04266 39 | copy_paste: 0.0 40 | anchors: 3.412 41 | -------------------------------------------------------------------------------- /detector/yolov5_2022/data/images/bus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/data/images/bus.jpg -------------------------------------------------------------------------------- /detector/yolov5_2022/data/images/zidane.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/data/images/zidane.jpg -------------------------------------------------------------------------------- /detector/yolov5_2022/data/scripts/download_weights.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # YOLOv5 🚀 by Ultralytics, GPL-3.0 license 3 | # Download latest models from https://github.com/ultralytics/yolov5/releases 4 | # Example usage: bash path/to/download_weights.sh 5 | # parent 6 | # └── yolov5 7 | # ├── yolov5s.pt ← downloads here 8 | # ├── yolov5m.pt 9 | # └── ... 10 | 11 | python - <=3.2.2 5 | numpy>=1.18.5 6 | opencv-python>=4.1.2 7 | Pillow>=7.1.2 8 | PyYAML>=5.3.1 9 | requests>=2.23.0 10 | scipy>=1.4.1 11 | torch>=1.7.0 12 | torchvision>=0.8.1 13 | tqdm>=4.41.0 14 | 15 | # Logging ------------------------------------- 16 | tensorboard>=2.4.1 17 | # wandb 18 | 19 | # Plotting ------------------------------------ 20 | pandas>=1.1.4 21 | seaborn>=0.11.0 22 | 23 | # Export -------------------------------------- 24 | # coremltools>=4.1 # CoreML export 25 | # onnx>=1.9.0 # ONNX export 26 | # onnx-simplifier>=0.3.6 # ONNX simplifier 27 | # scikit-learn==0.19.2 # CoreML quantization 28 | # tensorflow>=2.4.1 # TFLite export 29 | # tensorflowjs>=3.9.0 # TF.js export 30 | # openvino-dev # OpenVINO export 31 | 32 | # Extras -------------------------------------- 33 | # albumentations>=1.0.3 34 | # Cython # for pycocotools https://github.com/cocodataset/cocoapi/issues/172 35 | # pycocotools>=2.0 # COCO mAP 36 | # roboflow 37 | thop # FLOPs computation 38 | -------------------------------------------------------------------------------- /detector/yolov5_2022/setup.cfg: -------------------------------------------------------------------------------- 1 | # Project-wide configuration file, can be used for package metadata and other toll configurations 2 | # Example usage: global configuration for PEP8 (via flake8) setting or default pytest arguments 3 | 4 | [metadata] 5 | license_file = LICENSE 6 | description-file = README.md 7 | 8 | 9 | [tool:pytest] 10 | norecursedirs = 11 | .git 12 | dist 13 | build 14 | addopts = 15 | --doctest-modules 16 | --durations=25 17 | --color=yes 18 | 19 | 20 | [flake8] 21 | max-line-length = 120 22 | exclude = .tox,*.egg,build,temp 23 | select = E,W,F 24 | doctests = True 25 | verbose = 2 26 | # https://pep8.readthedocs.io/en/latest/intro.html#error-codes 27 | format = pylint 28 | # see: https://www.flake8rules.com/ 29 | ignore = 30 | E731 # Do not assign a lambda expression, use a def 31 | F405 # name may be undefined, or defined from star imports: module 32 | E402 # module level import not at top of file 33 | F401 # module imported but unused 34 | W504 # line break after binary operator 35 | E127 # continuation line over-indented for visual indent 36 | W504 # line break after binary operator 37 | E231 # missing whitespace after ‘,’, ‘;’, or ‘:’ 38 | E501 # line too long 39 | F403 # ‘from module import *’ used; unable to detect undefined names 40 | 41 | 42 | [isort] 43 | # https://pycqa.github.io/isort/docs/configuration/options.html 44 | line_length = 120 45 | multi_line_output = 0 46 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # YOLOv5 🚀 by Ultralytics, GPL-3.0 license 2 | """ 3 | utils/initialization 4 | """ 5 | 6 | 7 | def notebook_init(verbose=True): 8 | # Check system software and hardware 9 | print('Checking setup...') 10 | 11 | import os 12 | import shutil 13 | 14 | from utils.general import check_requirements, emojis, is_colab 15 | from utils.torch_utils import select_device # imports 16 | 17 | check_requirements(('psutil', 'IPython')) 18 | import psutil 19 | from IPython import display # to display images and clear console output 20 | 21 | if is_colab(): 22 | shutil.rmtree('/content/sample_data', ignore_errors=True) # remove colab /sample_data directory 23 | 24 | if verbose: 25 | # System info 26 | # gb = 1 / 1000 ** 3 # bytes to GB 27 | gib = 1 / 1024 ** 3 # bytes to GiB 28 | ram = psutil.virtual_memory().total 29 | total, used, free = shutil.disk_usage("/") 30 | display.clear_output() 31 | s = f'({os.cpu_count()} CPUs, {ram * gib:.1f} GB RAM, {(total - free) * gib:.1f}/{total * gib:.1f} GB disk)' 32 | else: 33 | s = '' 34 | 35 | select_device(newline=False) 36 | print(emojis(f'Setup complete ✅ {s}')) 37 | return display 38 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/aws/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/utils/aws/__init__.py -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/aws/mime.sh: -------------------------------------------------------------------------------- 1 | # AWS EC2 instance startup 'MIME' script https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/ 2 | # This script will run on every instance restart, not only on first start 3 | # --- DO NOT COPY ABOVE COMMENTS WHEN PASTING INTO USERDATA --- 4 | 5 | Content-Type: multipart/mixed; boundary="//" 6 | MIME-Version: 1.0 7 | 8 | --// 9 | Content-Type: text/cloud-config; charset="us-ascii" 10 | MIME-Version: 1.0 11 | Content-Transfer-Encoding: 7bit 12 | Content-Disposition: attachment; filename="cloud-config.txt" 13 | 14 | #cloud-config 15 | cloud_final_modules: 16 | - [scripts-user, always] 17 | 18 | --// 19 | Content-Type: text/x-shellscript; charset="us-ascii" 20 | MIME-Version: 1.0 21 | Content-Transfer-Encoding: 7bit 22 | Content-Disposition: attachment; filename="userdata.txt" 23 | 24 | #!/bin/bash 25 | # --- paste contents of userdata.sh here --- 26 | --// 27 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/aws/resume.py: -------------------------------------------------------------------------------- 1 | # Resume all interrupted trainings in yolov5/ dir including DDP trainings 2 | # Usage: $ python utils/aws/resume.py 3 | 4 | import os 5 | import sys 6 | from pathlib import Path 7 | 8 | import torch 9 | import yaml 10 | 11 | FILE = Path(__file__).resolve() 12 | ROOT = FILE.parents[2] # YOLOv5 root directory 13 | if str(ROOT) not in sys.path: 14 | sys.path.append(str(ROOT)) # add ROOT to PATH 15 | 16 | port = 0 # --master_port 17 | path = Path('').resolve() 18 | for last in path.rglob('*/**/last.pt'): 19 | ckpt = torch.load(last) 20 | if ckpt['optimizer'] is None: 21 | continue 22 | 23 | # Load opt.yaml 24 | with open(last.parent.parent / 'opt.yaml', errors='ignore') as f: 25 | opt = yaml.safe_load(f) 26 | 27 | # Get device count 28 | d = opt['device'].split(',') # devices 29 | nd = len(d) # number of devices 30 | ddp = nd > 1 or (nd == 0 and torch.cuda.device_count() > 1) # distributed data parallel 31 | 32 | if ddp: # multi-GPU 33 | port += 1 34 | cmd = f'python -m torch.distributed.run --nproc_per_node {nd} --master_port {port} train.py --resume {last}' 35 | else: # single-GPU 36 | cmd = f'python train.py --resume {last}' 37 | 38 | cmd += ' > /dev/null 2>&1 &' # redirect output to dev/null and run in daemon thread 39 | print(cmd) 40 | os.system(cmd) 41 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/aws/userdata.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # AWS EC2 instance startup script https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html 3 | # This script will run only once on first instance start (for a re-start script see mime.sh) 4 | # /home/ubuntu (ubuntu) or /home/ec2-user (amazon-linux) is working dir 5 | # Use >300 GB SSD 6 | 7 | cd home/ubuntu 8 | if [ ! -d yolov5 ]; then 9 | echo "Running first-time script." # install dependencies, download COCO, pull Docker 10 | git clone https://github.com/ultralytics/yolov5 -b master && sudo chmod -R 777 yolov5 11 | cd yolov5 12 | bash data/scripts/get_coco.sh && echo "COCO done." & 13 | sudo docker pull ultralytics/yolov5:latest && echo "Docker done." & 14 | python -m pip install --upgrade pip && pip install -r requirements.txt && python detect.py && echo "Requirements done." & 15 | wait && echo "All tasks done." # finish background tasks 16 | else 17 | echo "Running re-start script." # resume interrupted runs 18 | i=0 19 | list=$(sudo docker ps -qa) # container list i.e. $'one\ntwo\nthree\nfour' 20 | while IFS= read -r id; do 21 | ((i++)) 22 | echo "restarting container $i: $id" 23 | sudo docker start $id 24 | # sudo docker exec -it $id python train.py --resume # single-GPU 25 | sudo docker exec -d $id python utils/aws/resume.py # multi-scenario 26 | done <<<"$list" 27 | fi 28 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/flask_rest_api/example_request.py: -------------------------------------------------------------------------------- 1 | """Perform test request""" 2 | import pprint 3 | 4 | import requests 5 | 6 | DETECTION_URL = "http://localhost:5000/v1/object-detection/yolov5s" 7 | TEST_IMAGE = "zidane.jpg" 8 | 9 | image_data = open(TEST_IMAGE, "rb").read() 10 | 11 | response = requests.post(DETECTION_URL, files={"image": image_data}).json() 12 | 13 | pprint.pprint(response) 14 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/flask_rest_api/restapi.py: -------------------------------------------------------------------------------- 1 | """ 2 | Run a rest API exposing the yolov5s object detection model 3 | """ 4 | import argparse 5 | import io 6 | 7 | import torch 8 | from flask import Flask, request 9 | from PIL import Image 10 | 11 | app = Flask(__name__) 12 | 13 | DETECTION_URL = "/v1/object-detection/yolov5s" 14 | 15 | 16 | @app.route(DETECTION_URL, methods=["POST"]) 17 | def predict(): 18 | if not request.method == "POST": 19 | return 20 | 21 | if request.files.get("image"): 22 | image_file = request.files["image"] 23 | image_bytes = image_file.read() 24 | 25 | img = Image.open(io.BytesIO(image_bytes)) 26 | 27 | results = model(img, size=640) # reduce size=320 for faster inference 28 | return results.pandas().xyxy[0].to_json(orient="records") 29 | 30 | 31 | if __name__ == "__main__": 32 | parser = argparse.ArgumentParser(description="Flask API exposing YOLOv5 model") 33 | parser.add_argument("--port", default=5000, type=int, help="port number") 34 | args = parser.parse_args() 35 | 36 | model = torch.hub.load("ultralytics/yolov5", "yolov5s", force_reload=True) # force_reload to recache 37 | app.run(host="0.0.0.0", port=args.port) # debug=True causes Restarting with stat 38 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/google_app_engine/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gcr.io/google-appengine/python 2 | 3 | # Create a virtualenv for dependencies. This isolates these packages from 4 | # system-level packages. 5 | # Use -p python3 or -p python3.7 to select python version. Default is version 2. 6 | RUN virtualenv /env -p python3 7 | 8 | # Setting these environment variables are the same as running 9 | # source /env/bin/activate. 10 | ENV VIRTUAL_ENV /env 11 | ENV PATH /env/bin:$PATH 12 | 13 | RUN apt-get update && apt-get install -y python-opencv 14 | 15 | # Copy the application's requirements.txt and run pip to install all 16 | # dependencies into the virtualenv. 17 | ADD requirements.txt /app/requirements.txt 18 | RUN pip install -r /app/requirements.txt 19 | 20 | # Add the application source code. 21 | ADD . /app 22 | 23 | # Run a WSGI server to serve the application. gunicorn must be declared as 24 | # a dependency in requirements.txt. 25 | CMD gunicorn -b :$PORT main:app 26 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/google_app_engine/additional_requirements.txt: -------------------------------------------------------------------------------- 1 | # add these requirements in your app on top of the existing ones 2 | pip==21.1 3 | Flask==1.0.2 4 | gunicorn==19.9.0 5 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/google_app_engine/app.yaml: -------------------------------------------------------------------------------- 1 | runtime: custom 2 | env: flex 3 | 4 | service: yolov5app 5 | 6 | liveness_check: 7 | initial_delay_sec: 600 8 | 9 | manual_scaling: 10 | instances: 1 11 | resources: 12 | cpu: 1 13 | memory_gb: 4 14 | disk_size_gb: 20 15 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/loggers/wandb/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/utils/loggers/wandb/__init__.py -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/loggers/wandb/log_dataset.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | 3 | from wandb_utils import WandbLogger 4 | 5 | from utils.general import LOGGER 6 | 7 | WANDB_ARTIFACT_PREFIX = 'wandb-artifact://' 8 | 9 | 10 | def create_dataset_artifact(opt): 11 | logger = WandbLogger(opt, None, job_type='Dataset Creation') # TODO: return value unused 12 | if not logger.wandb: 13 | LOGGER.info("install wandb using `pip install wandb` to log the dataset") 14 | 15 | 16 | if __name__ == '__main__': 17 | parser = argparse.ArgumentParser() 18 | parser.add_argument('--data', type=str, default='data/coco128.yaml', help='data.yaml path') 19 | parser.add_argument('--single-cls', action='store_true', help='train as single-class dataset') 20 | parser.add_argument('--project', type=str, default='YOLOv5', help='name of W&B Project') 21 | parser.add_argument('--entity', default=None, help='W&B entity') 22 | parser.add_argument('--name', type=str, default='log dataset', help='name of W&B run') 23 | 24 | opt = parser.parse_args() 25 | opt.resume = False # Explicitly disallow resume check for dataset upload job 26 | 27 | create_dataset_artifact(opt) 28 | -------------------------------------------------------------------------------- /detector/yolov5_2022/utils/loggers/wandb/sweep.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from pathlib import Path 3 | 4 | import wandb 5 | 6 | FILE = Path(__file__).resolve() 7 | ROOT = FILE.parents[3] # YOLOv5 root directory 8 | if str(ROOT) not in sys.path: 9 | sys.path.append(str(ROOT)) # add ROOT to PATH 10 | 11 | from train import parse_opt, train 12 | from utils.callbacks import Callbacks 13 | from utils.general import increment_path 14 | from utils.torch_utils import select_device 15 | 16 | 17 | def sweep(): 18 | wandb.init() 19 | # Get hyp dict from sweep agent 20 | hyp_dict = vars(wandb.config).get("_items") 21 | 22 | # Workaround: get necessary opt args 23 | opt = parse_opt(known=True) 24 | opt.batch_size = hyp_dict.get("batch_size") 25 | opt.save_dir = str(increment_path(Path(opt.project) / opt.name, exist_ok=opt.exist_ok or opt.evolve)) 26 | opt.epochs = hyp_dict.get("epochs") 27 | opt.nosave = True 28 | opt.data = hyp_dict.get("data") 29 | opt.weights = str(opt.weights) 30 | opt.cfg = str(opt.cfg) 31 | opt.data = str(opt.data) 32 | opt.hyp = str(opt.hyp) 33 | opt.project = str(opt.project) 34 | device = select_device(opt.device, batch_size=opt.batch_size) 35 | 36 | # train 37 | train(hyp_dict, opt, device, callbacks=Callbacks()) 38 | 39 | 40 | if __name__ == "__main__": 41 | sweep() 42 | -------------------------------------------------------------------------------- /detector/yolov5_2022/weights/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/detector/yolov5_2022/weights/.gitkeep -------------------------------------------------------------------------------- /matching/.gitignore: -------------------------------------------------------------------------------- 1 | # Package Files # 2 | *.jar 3 | *.war 4 | *.ear 5 | *.mat 6 | exp/ 7 | *.pkl 8 | *.txt 9 | -------------------------------------------------------------------------------- /matching/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/utils/__init__.py -------------------------------------------------------------------------------- /matching/zone/c041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/zone/c041.png -------------------------------------------------------------------------------- /matching/zone/c042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/zone/c042.png -------------------------------------------------------------------------------- /matching/zone/c043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/zone/c043.png -------------------------------------------------------------------------------- /matching/zone/c044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/zone/c044.png -------------------------------------------------------------------------------- /matching/zone/c045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/zone/c045.png -------------------------------------------------------------------------------- /matching/zone/c046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/matching/zone/c046.png -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/Cholesky: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_CHOLESKY_MODULE_H 9 | #define EIGEN_CHOLESKY_MODULE_H 10 | 11 | #include "Core" 12 | #include "Jacobi" 13 | 14 | #include "src/Core/util/DisableStupidWarnings.h" 15 | 16 | /** \defgroup Cholesky_Module Cholesky module 17 | * 18 | * 19 | * 20 | * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. 21 | * Those decompositions are also accessible via the following methods: 22 | * - MatrixBase::llt() 23 | * - MatrixBase::ldlt() 24 | * - SelfAdjointView::llt() 25 | * - SelfAdjointView::ldlt() 26 | * 27 | * \code 28 | * #include 29 | * \endcode 30 | */ 31 | 32 | #include "src/Cholesky/LLT.h" 33 | #include "src/Cholesky/LDLT.h" 34 | #ifdef EIGEN_USE_LAPACKE 35 | #ifdef EIGEN_USE_MKL 36 | #include "mkl_lapacke.h" 37 | #else 38 | #include "src/misc/lapacke.h" 39 | #endif 40 | #include "src/Cholesky/LLT_LAPACKE.h" 41 | #endif 42 | 43 | #include "src/Core/util/ReenableStupidWarnings.h" 44 | 45 | #endif // EIGEN_CHOLESKY_MODULE_H 46 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/Dense: -------------------------------------------------------------------------------- 1 | #include "Core" 2 | #include "LU" 3 | #include "Cholesky" 4 | #include "QR" 5 | #include "SVD" 6 | #include "Geometry" 7 | #include "Eigenvalues" 8 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/Eigen: -------------------------------------------------------------------------------- 1 | #include "Dense" 2 | #include "Sparse" 3 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/Householder: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_HOUSEHOLDER_MODULE_H 9 | #define EIGEN_HOUSEHOLDER_MODULE_H 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | /** \defgroup Householder_Module Householder module 16 | * This module provides Householder transformations. 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | */ 22 | 23 | #include "src/Householder/Householder.h" 24 | #include "src/Householder/HouseholderSequence.h" 25 | #include "src/Householder/BlockHouseholder.h" 26 | 27 | #include "src/Core/util/ReenableStupidWarnings.h" 28 | 29 | #endif // EIGEN_HOUSEHOLDER_MODULE_H 30 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/Jacobi: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_JACOBI_MODULE_H 9 | #define EIGEN_JACOBI_MODULE_H 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | /** \defgroup Jacobi_Module Jacobi module 16 | * This module provides Jacobi and Givens rotations. 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | * 22 | * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation: 23 | * - MatrixBase::applyOnTheLeft() 24 | * - MatrixBase::applyOnTheRight(). 25 | */ 26 | 27 | #include "src/Jacobi/Jacobi.h" 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif // EIGEN_JACOBI_MODULE_H 32 | 33 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/KLUSupport: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_KLUSUPPORT_MODULE_H 9 | #define EIGEN_KLUSUPPORT_MODULE_H 10 | 11 | #include 12 | 13 | #include 14 | 15 | extern "C" { 16 | #include 17 | #include 18 | } 19 | 20 | /** \ingroup Support_modules 21 | * \defgroup KLUSupport_Module KLUSupport module 22 | * 23 | * This module provides an interface to the KLU library which is part of the suitesparse package. 24 | * It provides the following factorization class: 25 | * - class KLU: a sparse LU factorization, well-suited for circuit simulation. 26 | * 27 | * \code 28 | * #include 29 | * \endcode 30 | * 31 | * In order to use this module, the klu and btf headers must be accessible from the include paths, and your binary must be linked to the klu library and its dependencies. 32 | * The dependencies depend on how umfpack has been compiled. 33 | * For a cmake based project, you can use our FindKLU.cmake module to help you in this task. 34 | * 35 | */ 36 | 37 | #include "src/KLUSupport/KLUSupport.h" 38 | 39 | #include 40 | 41 | #endif // EIGEN_KLUSUPPORT_MODULE_H 42 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/LU: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_LU_MODULE_H 9 | #define EIGEN_LU_MODULE_H 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | /** \defgroup LU_Module LU module 16 | * This module includes %LU decomposition and related notions such as matrix inversion and determinant. 17 | * This module defines the following MatrixBase methods: 18 | * - MatrixBase::inverse() 19 | * - MatrixBase::determinant() 20 | * 21 | * \code 22 | * #include 23 | * \endcode 24 | */ 25 | 26 | #include "src/misc/Kernel.h" 27 | #include "src/misc/Image.h" 28 | #include "src/LU/FullPivLU.h" 29 | #include "src/LU/PartialPivLU.h" 30 | #ifdef EIGEN_USE_LAPACKE 31 | #ifdef EIGEN_USE_MKL 32 | #include "mkl_lapacke.h" 33 | #else 34 | #include "src/misc/lapacke.h" 35 | #endif 36 | #include "src/LU/PartialPivLU_LAPACKE.h" 37 | #endif 38 | #include "src/LU/Determinant.h" 39 | #include "src/LU/InverseImpl.h" 40 | 41 | #if defined EIGEN_VECTORIZE_SSE || defined EIGEN_VECTORIZE_NEON 42 | #include "src/LU/arch/InverseSize4.h" 43 | #endif 44 | 45 | #include "src/Core/util/ReenableStupidWarnings.h" 46 | 47 | #endif // EIGEN_LU_MODULE_H 48 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/MetisSupport: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_METISSUPPORT_MODULE_H 9 | #define EIGEN_METISSUPPORT_MODULE_H 10 | 11 | #include "SparseCore" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | extern "C" { 16 | #include 17 | } 18 | 19 | 20 | /** \ingroup Support_modules 21 | * \defgroup MetisSupport_Module MetisSupport module 22 | * 23 | * \code 24 | * #include 25 | * \endcode 26 | * This module defines an interface to the METIS reordering package (http://glaros.dtc.umn.edu/gkhome/views/metis). 27 | * It can be used just as any other built-in method as explained in \link OrderingMethods_Module here. \endlink 28 | */ 29 | 30 | 31 | #include "src/MetisSupport/MetisSupport.h" 32 | 33 | #include "src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_METISSUPPORT_MODULE_H 36 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/PardisoSupport: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_PARDISOSUPPORT_MODULE_H 9 | #define EIGEN_PARDISOSUPPORT_MODULE_H 10 | 11 | #include "SparseCore" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | #include 16 | 17 | /** \ingroup Support_modules 18 | * \defgroup PardisoSupport_Module PardisoSupport module 19 | * 20 | * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers. 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | * 26 | * In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies. 27 | * See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration. 28 | * 29 | */ 30 | 31 | #include "src/PardisoSupport/PardisoSupport.h" 32 | 33 | #include "src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_PARDISOSUPPORT_MODULE_H 36 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/QR: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_QR_MODULE_H 9 | #define EIGEN_QR_MODULE_H 10 | 11 | #include "Core" 12 | 13 | #include "Cholesky" 14 | #include "Jacobi" 15 | #include "Householder" 16 | 17 | #include "src/Core/util/DisableStupidWarnings.h" 18 | 19 | /** \defgroup QR_Module QR module 20 | * 21 | * 22 | * 23 | * This module provides various QR decompositions 24 | * This module also provides some MatrixBase methods, including: 25 | * - MatrixBase::householderQr() 26 | * - MatrixBase::colPivHouseholderQr() 27 | * - MatrixBase::fullPivHouseholderQr() 28 | * 29 | * \code 30 | * #include 31 | * \endcode 32 | */ 33 | 34 | #include "src/QR/HouseholderQR.h" 35 | #include "src/QR/FullPivHouseholderQR.h" 36 | #include "src/QR/ColPivHouseholderQR.h" 37 | #include "src/QR/CompleteOrthogonalDecomposition.h" 38 | #ifdef EIGEN_USE_LAPACKE 39 | #ifdef EIGEN_USE_MKL 40 | #include "mkl_lapacke.h" 41 | #else 42 | #include "src/misc/lapacke.h" 43 | #endif 44 | #include "src/QR/HouseholderQR_LAPACKE.h" 45 | #include "src/QR/ColPivHouseholderQR_LAPACKE.h" 46 | #endif 47 | 48 | #include "src/Core/util/ReenableStupidWarnings.h" 49 | 50 | #endif // EIGEN_QR_MODULE_H 51 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/QtAlignedMalloc: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_QTMALLOC_MODULE_H 9 | #define EIGEN_QTMALLOC_MODULE_H 10 | 11 | #include "Core" 12 | 13 | #if (!EIGEN_MALLOC_ALREADY_ALIGNED) 14 | 15 | #include "src/Core/util/DisableStupidWarnings.h" 16 | 17 | void *qMalloc(std::size_t size) 18 | { 19 | return Eigen::internal::aligned_malloc(size); 20 | } 21 | 22 | void qFree(void *ptr) 23 | { 24 | Eigen::internal::aligned_free(ptr); 25 | } 26 | 27 | void *qRealloc(void *ptr, std::size_t size) 28 | { 29 | void* newPtr = Eigen::internal::aligned_malloc(size); 30 | std::memcpy(newPtr, ptr, size); 31 | Eigen::internal::aligned_free(ptr); 32 | return newPtr; 33 | } 34 | 35 | #include "src/Core/util/ReenableStupidWarnings.h" 36 | 37 | #endif 38 | 39 | #endif // EIGEN_QTMALLOC_MODULE_H 40 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/SPQRSupport: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_SPQRSUPPORT_MODULE_H 9 | #define EIGEN_SPQRSUPPORT_MODULE_H 10 | 11 | #include "SparseCore" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | #include "SuiteSparseQR.hpp" 16 | 17 | /** \ingroup Support_modules 18 | * \defgroup SPQRSupport_Module SuiteSparseQR module 19 | * 20 | * This module provides an interface to the SPQR library, which is part of the suitesparse package. 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | * 26 | * In order to use this module, the SPQR headers must be accessible from the include paths, and your binary must be linked to the SPQR library and its dependencies (Cholmod, AMD, COLAMD,...). 27 | * For a cmake based project, you can use our FindSPQR.cmake and FindCholmod.Cmake modules 28 | * 29 | */ 30 | 31 | #include "src/CholmodSupport/CholmodSupport.h" 32 | #include "src/SPQRSupport/SuiteSparseQRSupport.h" 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/Sparse: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_SPARSE_MODULE_H 9 | #define EIGEN_SPARSE_MODULE_H 10 | 11 | /** \defgroup Sparse_Module Sparse meta-module 12 | * 13 | * Meta-module including all related modules: 14 | * - \ref SparseCore_Module 15 | * - \ref OrderingMethods_Module 16 | * - \ref SparseCholesky_Module 17 | * - \ref SparseLU_Module 18 | * - \ref SparseQR_Module 19 | * - \ref IterativeLinearSolvers_Module 20 | * 21 | \code 22 | #include 23 | \endcode 24 | */ 25 | 26 | #include "SparseCore" 27 | #include "OrderingMethods" 28 | #include "SparseCholesky" 29 | #include "SparseLU" 30 | #include "SparseQR" 31 | #include "IterativeLinearSolvers" 32 | 33 | #endif // EIGEN_SPARSE_MODULE_H 34 | 35 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/SparseCholesky: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2013 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSECHOLESKY_MODULE_H 11 | #define EIGEN_SPARSECHOLESKY_MODULE_H 12 | 13 | #include "SparseCore" 14 | #include "OrderingMethods" 15 | 16 | #include "src/Core/util/DisableStupidWarnings.h" 17 | 18 | /** 19 | * \defgroup SparseCholesky_Module SparseCholesky module 20 | * 21 | * This module currently provides two variants of the direct sparse Cholesky decomposition for selfadjoint (hermitian) matrices. 22 | * Those decompositions are accessible via the following classes: 23 | * - SimplicialLLt, 24 | * - SimplicialLDLt 25 | * 26 | * Such problems can also be solved using the ConjugateGradient solver from the IterativeLinearSolvers module. 27 | * 28 | * \code 29 | * #include 30 | * \endcode 31 | */ 32 | 33 | #include "src/SparseCholesky/SimplicialCholesky.h" 34 | #include "src/SparseCholesky/SimplicialCholesky_impl.h" 35 | #include "src/Core/util/ReenableStupidWarnings.h" 36 | 37 | #endif // EIGEN_SPARSECHOLESKY_MODULE_H 38 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/SparseQR: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_SPARSEQR_MODULE_H 9 | #define EIGEN_SPARSEQR_MODULE_H 10 | 11 | #include "SparseCore" 12 | #include "OrderingMethods" 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | /** \defgroup SparseQR_Module SparseQR module 16 | * \brief Provides QR decomposition for sparse matrices 17 | * 18 | * This module provides a simplicial version of the left-looking Sparse QR decomposition. 19 | * The columns of the input matrix should be reordered to limit the fill-in during the 20 | * decomposition. Built-in methods (COLAMD, AMD) or external methods (METIS) can be used to this end. 21 | * See the \link OrderingMethods_Module OrderingMethods\endlink module for the list 22 | * of built-in and external ordering methods. 23 | * 24 | * \code 25 | * #include 26 | * \endcode 27 | * 28 | * 29 | */ 30 | 31 | #include "src/SparseCore/SparseColEtree.h" 32 | #include "src/SparseQR/SparseQR.h" 33 | 34 | #include "src/Core/util/ReenableStupidWarnings.h" 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/StdDeque: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Gael Guennebaud 5 | // Copyright (C) 2009 Hauke Heibel 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_STDDEQUE_MODULE_H 12 | #define EIGEN_STDDEQUE_MODULE_H 13 | 14 | #include "Core" 15 | #include 16 | 17 | #if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16) /* MSVC auto aligns up to 16 bytes in 64 bit builds */ 18 | 19 | #define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...) 20 | 21 | #else 22 | 23 | #include "src/StlSupport/StdDeque.h" 24 | 25 | #endif 26 | 27 | #endif // EIGEN_STDDEQUE_MODULE_H 28 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/StdList: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Hauke Heibel 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_STDLIST_MODULE_H 11 | #define EIGEN_STDLIST_MODULE_H 12 | 13 | #include "Core" 14 | #include 15 | 16 | #if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16) /* MSVC auto aligns up to 16 bytes in 64 bit builds */ 17 | 18 | #define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...) 19 | 20 | #else 21 | 22 | #include "src/StlSupport/StdList.h" 23 | 24 | #endif 25 | 26 | #endif // EIGEN_STDLIST_MODULE_H 27 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/StdVector: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Gael Guennebaud 5 | // Copyright (C) 2009 Hauke Heibel 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_STDVECTOR_MODULE_H 12 | #define EIGEN_STDVECTOR_MODULE_H 13 | 14 | #include "Core" 15 | #include 16 | 17 | #if EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16) /* MSVC auto aligns up to 16 bytes in 64 bit builds */ 18 | 19 | #define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...) 20 | 21 | #else 22 | 23 | #include "src/StlSupport/StdVector.h" 24 | 25 | #endif 26 | 27 | #endif // EIGEN_STDVECTOR_MODULE_H 28 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/UmfPackSupport: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // This Source Code Form is subject to the terms of the Mozilla 5 | // Public License v. 2.0. If a copy of the MPL was not distributed 6 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | #ifndef EIGEN_UMFPACKSUPPORT_MODULE_H 9 | #define EIGEN_UMFPACKSUPPORT_MODULE_H 10 | 11 | #include "SparseCore" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | extern "C" { 16 | #include 17 | } 18 | 19 | /** \ingroup Support_modules 20 | * \defgroup UmfPackSupport_Module UmfPackSupport module 21 | * 22 | * This module provides an interface to the UmfPack library which is part of the suitesparse package. 23 | * It provides the following factorization class: 24 | * - class UmfPackLU: a multifrontal sequential LU factorization. 25 | * 26 | * \code 27 | * #include 28 | * \endcode 29 | * 30 | * In order to use this module, the umfpack headers must be accessible from the include paths, and your binary must be linked to the umfpack library and its dependencies. 31 | * The dependencies depend on how umfpack has been compiled. 32 | * For a cmake based project, you can use our FindUmfPack.cmake module to help you in this task. 33 | * 34 | */ 35 | 36 | #include "src/UmfPackSupport/UmfPackSupport.h" 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #endif // EIGEN_UMFPACKSUPPORT_MODULE_H 41 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/DiagonalProduct.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008 Gael Guennebaud 5 | // Copyright (C) 2007-2009 Benoit Jacob 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_DIAGONALPRODUCT_H 12 | #define EIGEN_DIAGONALPRODUCT_H 13 | 14 | namespace Eigen { 15 | 16 | /** \returns the diagonal matrix product of \c *this by the diagonal matrix \a diagonal. 17 | */ 18 | template 19 | template 20 | EIGEN_DEVICE_FUNC inline const Product 21 | MatrixBase::operator*(const DiagonalBase &a_diagonal) const 22 | { 23 | return Product(derived(),a_diagonal.derived()); 24 | } 25 | 26 | } // end namespace Eigen 27 | 28 | #endif // EIGEN_DIAGONALPRODUCT_H 29 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h: -------------------------------------------------------------------------------- 1 | /* 2 | * math_constants.h - 3 | * HIP equivalent of the CUDA header of the same name 4 | */ 5 | 6 | #ifndef __MATH_CONSTANTS_H__ 7 | #define __MATH_CONSTANTS_H__ 8 | 9 | /* single precision constants */ 10 | 11 | #define HIPRT_INF_F __int_as_float(0x7f800000) 12 | #define HIPRT_NAN_F __int_as_float(0x7fffffff) 13 | #define HIPRT_MIN_DENORM_F __int_as_float(0x00000001) 14 | #define HIPRT_MAX_NORMAL_F __int_as_float(0x7f7fffff) 15 | #define HIPRT_NEG_ZERO_F __int_as_float(0x80000000) 16 | #define HIPRT_ZERO_F 0.0f 17 | #define HIPRT_ONE_F 1.0f 18 | 19 | /* double precision constants */ 20 | #define HIPRT_INF __hiloint2double(0x7ff00000, 0x00000000) 21 | #define HIPRT_NAN __hiloint2double(0xfff80000, 0x00000000) 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2020, Arm Limited and Contributors 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_MATH_FUNCTIONS_SVE_H 11 | #define EIGEN_MATH_FUNCTIONS_SVE_H 12 | 13 | namespace Eigen { 14 | namespace internal { 15 | 16 | template <> 17 | EIGEN_STRONG_INLINE EIGEN_UNUSED PacketXf pexp(const PacketXf& x) { 18 | return pexp_float(x); 19 | } 20 | 21 | template <> 22 | EIGEN_STRONG_INLINE EIGEN_UNUSED PacketXf plog(const PacketXf& x) { 23 | return plog_float(x); 24 | } 25 | 26 | template <> 27 | EIGEN_STRONG_INLINE EIGEN_UNUSED PacketXf psin(const PacketXf& x) { 28 | return psin_float(x); 29 | } 30 | 31 | template <> 32 | EIGEN_STRONG_INLINE EIGEN_UNUSED PacketXf pcos(const PacketXf& x) { 33 | return pcos_float(x); 34 | } 35 | 36 | // Hyperbolic Tangent function. 37 | template <> 38 | EIGEN_STRONG_INLINE EIGEN_UNUSED PacketXf ptanh(const PacketXf& x) { 39 | return internal::generic_fast_tanh_float(x); 40 | } 41 | } // end namespace internal 42 | } // end namespace Eigen 43 | 44 | #endif // EIGEN_MATH_FUNCTIONS_SVE_H 45 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2020, Arm Limited and Contributors 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_TYPE_CASTING_SVE_H 11 | #define EIGEN_TYPE_CASTING_SVE_H 12 | 13 | namespace Eigen { 14 | namespace internal { 15 | 16 | template <> 17 | struct type_casting_traits { 18 | enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; 19 | }; 20 | 21 | template <> 22 | struct type_casting_traits { 23 | enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; 24 | }; 25 | 26 | template <> 27 | EIGEN_STRONG_INLINE PacketXf pcast(const PacketXi& a) { 28 | return svcvt_f32_s32_z(svptrue_b32(), a); 29 | } 30 | 31 | template <> 32 | EIGEN_STRONG_INLINE PacketXi pcast(const PacketXf& a) { 33 | return svcvt_s32_f32_z(svptrue_b32(), a); 34 | } 35 | 36 | template <> 37 | EIGEN_STRONG_INLINE PacketXf preinterpret(const PacketXi& a) { 38 | return svreinterpret_f32_s32(a); 39 | } 40 | 41 | template <> 42 | EIGEN_STRONG_INLINE PacketXi preinterpret(const PacketXf& a) { 43 | return svreinterpret_s32_f32(a); 44 | } 45 | 46 | } // namespace internal 47 | } // namespace Eigen 48 | 49 | #endif // EIGEN_TYPE_CASTING_SVE_H 50 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/functors/TernaryFunctors.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2016 Eugene Brevdo 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_TERNARY_FUNCTORS_H 11 | #define EIGEN_TERNARY_FUNCTORS_H 12 | 13 | namespace Eigen { 14 | 15 | namespace internal { 16 | 17 | //---------- associative ternary functors ---------- 18 | 19 | 20 | 21 | } // end namespace internal 22 | 23 | } // end namespace Eigen 24 | 25 | #endif // EIGEN_TERNARY_FUNCTORS_H 26 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/util/NonMPL2.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_MPL2_ONLY 2 | #error Including non-MPL2 code in EIGEN_MPL2_ONLY mode 3 | #endif 4 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_WARNINGS_DISABLED_2 2 | // "DisableStupidWarnings.h" was included twice recursively: Do not reenable warnings yet! 3 | # undef EIGEN_WARNINGS_DISABLED_2 4 | 5 | #elif defined(EIGEN_WARNINGS_DISABLED) 6 | #undef EIGEN_WARNINGS_DISABLED 7 | 8 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 9 | #ifdef _MSC_VER 10 | #pragma warning( pop ) 11 | #elif defined __INTEL_COMPILER 12 | #pragma warning pop 13 | #elif defined __clang__ 14 | #pragma clang diagnostic pop 15 | #elif defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) 16 | #pragma GCC diagnostic pop 17 | #endif 18 | 19 | #if defined __NVCC__ 20 | // Don't reenable the diagnostic messages, as it turns out these messages need 21 | // to be disabled at the point of the template instantiation (i.e the user code) 22 | // otherwise they'll be triggered by nvcc. 23 | // #pragma diag_default code_is_unreachable 24 | // #pragma diag_default initialization_not_reachable 25 | // #pragma diag_default 2651 26 | // #pragma diag_default 2653 27 | #endif 28 | 29 | #endif 30 | 31 | #endif // EIGEN_WARNINGS_DISABLED 32 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/Core/util/ReshapedHelper.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2017 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | 11 | #ifndef EIGEN_RESHAPED_HELPER_H 12 | #define EIGEN_RESHAPED_HELPER_H 13 | 14 | namespace Eigen { 15 | 16 | enum AutoSize_t { AutoSize }; 17 | const int AutoOrder = 2; 18 | 19 | namespace internal { 20 | 21 | template 22 | struct get_compiletime_reshape_size { 23 | enum { value = get_fixed_value::value }; 24 | }; 25 | 26 | template 27 | Index get_runtime_reshape_size(SizeType size, Index /*other*/, Index /*total*/) { 28 | return internal::get_runtime_value(size); 29 | } 30 | 31 | template 32 | struct get_compiletime_reshape_size { 33 | enum { 34 | other_size = get_fixed_value::value, 35 | value = (TotalSize==Dynamic || other_size==Dynamic) ? Dynamic : TotalSize / other_size }; 36 | }; 37 | 38 | inline Index get_runtime_reshape_size(AutoSize_t /*size*/, Index other, Index total) { 39 | return total/other; 40 | } 41 | 42 | template 43 | struct get_compiletime_reshape_order { 44 | enum { value = Order == AutoOrder ? Flags & RowMajorBit : Order }; 45 | }; 46 | 47 | } 48 | 49 | } // end namespace Eigen 50 | 51 | #endif // EIGEN_RESHAPED_HELPER_H 52 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/SparseCore/SparseFuzzy.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2014 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSE_FUZZY_H 11 | #define EIGEN_SPARSE_FUZZY_H 12 | 13 | namespace Eigen { 14 | 15 | template 16 | template 17 | bool SparseMatrixBase::isApprox(const SparseMatrixBase& other, const RealScalar &prec) const 18 | { 19 | const typename internal::nested_eval::type actualA(derived()); 20 | typename internal::conditional::type, 22 | const PlainObject>::type actualB(other.derived()); 23 | 24 | return (actualA - actualB).squaredNorm() <= prec * prec * numext::mini(actualA.squaredNorm(), actualB.squaredNorm()); 25 | } 26 | 27 | } // end namespace Eigen 28 | 29 | #endif // EIGEN_SPARSE_FUZZY_H 30 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/Eigen/src/misc/lapacke_mangling.h: -------------------------------------------------------------------------------- 1 | #ifndef LAPACK_HEADER_INCLUDED 2 | #define LAPACK_HEADER_INCLUDED 3 | 4 | #ifndef LAPACK_GLOBAL 5 | #if defined(LAPACK_GLOBAL_PATTERN_LC) || defined(ADD_) 6 | #define LAPACK_GLOBAL(lcname,UCNAME) lcname##_ 7 | #elif defined(LAPACK_GLOBAL_PATTERN_UC) || defined(UPPER) 8 | #define LAPACK_GLOBAL(lcname,UCNAME) UCNAME 9 | #elif defined(LAPACK_GLOBAL_PATTERN_MC) || defined(NOCHANGE) 10 | #define LAPACK_GLOBAL(lcname,UCNAME) lcname 11 | #else 12 | #define LAPACK_GLOBAL(lcname,UCNAME) lcname##_ 13 | #endif 14 | #endif 15 | 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/signature_of_eigen3_matrix_library: -------------------------------------------------------------------------------- 1 | This file is just there as a signature to help identify directories containing Eigen3. When writing a script looking for Eigen3, just look for this file. This is especially useful to help disambiguate with Eigen2... 2 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/ArpackSupport: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla 6 | // Public License v. 2.0. If a copy of the MPL was not distributed 7 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | #ifndef EIGEN_ARPACKSUPPORT_MODULE_H 10 | #define EIGEN_ARPACKSUPPORT_MODULE_H 11 | 12 | #include "../../Eigen/Core" 13 | 14 | /** \defgroup ArpackSupport_Module Arpack support module 15 | * 16 | * This module provides a wrapper to Arpack, a library for sparse eigenvalue decomposition. 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | */ 22 | 23 | #include "../../Eigen/SparseCholesky" 24 | 25 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 26 | #include "src/Eigenvalues/ArpackSelfAdjointEigenSolver.h" 27 | 28 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 29 | 30 | #endif // EIGEN_ARPACKSUPPORT_MODULE_H 31 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/AutoDiff: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2009 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_AUTODIFF_MODULE 11 | #define EIGEN_AUTODIFF_MODULE 12 | 13 | namespace Eigen { 14 | 15 | /** 16 | * \defgroup AutoDiff_Module Auto Diff module 17 | * 18 | * This module features forward automatic differentation via a simple 19 | * templated scalar type wrapper AutoDiffScalar. 20 | * 21 | * Warning : this should NOT be confused with numerical differentiation, which 22 | * is a different method and has its own module in Eigen : \ref NumericalDiff_Module. 23 | * 24 | * \code 25 | * #include 26 | * \endcode 27 | */ 28 | //@{ 29 | 30 | } 31 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 32 | 33 | 34 | #include "src/AutoDiff/AutoDiffScalar.h" 35 | // #include "src/AutoDiff/AutoDiffVector.h" 36 | #include "src/AutoDiff/AutoDiffJacobian.h" 37 | 38 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 39 | 40 | 41 | 42 | namespace Eigen { 43 | //@} 44 | } 45 | 46 | #endif // EIGEN_AUTODIFF_MODULE 47 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/TensorSymmetry: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2013 Christian Seiler 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_CXX11_TENSORSYMMETRY_MODULE 11 | #define EIGEN_CXX11_TENSORSYMMETRY_MODULE 12 | 13 | #include "Tensor" 14 | 15 | #include "../../../Eigen/src/Core/util/DisableStupidWarnings.h" 16 | 17 | #include "src/util/CXX11Meta.h" 18 | 19 | /** \defgroup CXX11_TensorSymmetry_Module Tensor Symmetry Module 20 | * 21 | * This module provides a classes that allow for the definition of 22 | * symmetries w.r.t. tensor indices. 23 | * 24 | * Including this module will implicitly include the Tensor module. 25 | * 26 | * \code 27 | * #include 28 | * \endcode 29 | */ 30 | 31 | #include "src/TensorSymmetry/util/TemplateGroupTheory.h" 32 | #include "src/TensorSymmetry/Symmetry.h" 33 | #include "src/TensorSymmetry/StaticSymmetry.h" 34 | #include "src/TensorSymmetry/DynamicSymmetry.h" 35 | 36 | #include "../../../Eigen/src/Core/util/ReenableStupidWarnings.h" 37 | 38 | #endif // EIGEN_CXX11_TENSORSYMMETRY_MODULE 39 | 40 | /* 41 | * kate: space-indent on; indent-width 2; mixedindent off; indent-mode cstyle; 42 | */ 43 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h: -------------------------------------------------------------------------------- 1 | 2 | #if defined(__clang__) || defined(__GNUC__) 3 | #warning "Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorContractionGpu.h file" 4 | #endif 5 | 6 | #include "TensorContractionGpu.h" 7 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h: -------------------------------------------------------------------------------- 1 | 2 | #if defined(__clang__) || defined(__GNUC__) 3 | #warning "Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorDeviceGpu.h file" 4 | #endif 5 | 6 | #include "TensorDeviceGpu.h" 7 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2016 Eugene Brevdo 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_CXX11_TENSOR_TENSOR_GLOBAL_FUNCTIONS_H 11 | #define EIGEN_CXX11_TENSOR_TENSOR_GLOBAL_FUNCTIONS_H 12 | 13 | namespace Eigen { 14 | 15 | /** \cpp11 \returns an expression of the coefficient-wise betainc(\a x, \a a, \a b) to the given tensors. 16 | * 17 | * This function computes the regularized incomplete beta function (integral). 18 | * 19 | */ 20 | template 21 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const 22 | TensorCwiseTernaryOp, 23 | const ADerived, const BDerived, const XDerived> 24 | betainc(const ADerived& a, const BDerived& b, const XDerived& x) { 25 | return TensorCwiseTernaryOp< 26 | internal::scalar_betainc_op, const ADerived, 27 | const BDerived, const XDerived>( 28 | a, b, x, internal::scalar_betainc_op()); 29 | } 30 | 31 | } // end namespace Eigen 32 | 33 | #endif // EIGEN_CXX11_TENSOR_TENSOR_GLOBAL_FUNCTIONS_H 34 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2014 Benoit Steiner 5 | // Copyright (C) 2018 Deven Desai 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #if defined(EIGEN_CXX11_TENSOR_GPU_HIP_CUDA_DEFINES_H) 12 | 13 | #ifndef EIGEN_PERMANENTLY_ENABLE_GPU_HIP_CUDA_DEFINES 14 | 15 | #undef gpuStream_t 16 | #undef gpuDeviceProp_t 17 | #undef gpuError_t 18 | #undef gpuSuccess 19 | #undef gpuErrorNotReady 20 | #undef gpuGetDeviceCount 21 | #undef gpuGetErrorString 22 | #undef gpuGetDeviceProperties 23 | #undef gpuStreamDefault 24 | #undef gpuGetDevice 25 | #undef gpuSetDevice 26 | #undef gpuMalloc 27 | #undef gpuFree 28 | #undef gpuMemsetAsync 29 | #undef gpuMemcpyAsync 30 | #undef gpuMemcpyDeviceToDevice 31 | #undef gpuMemcpyDeviceToHost 32 | #undef gpuMemcpyHostToDevice 33 | #undef gpuStreamQuery 34 | #undef gpuSharedMemConfig 35 | #undef gpuDeviceSetSharedMemConfig 36 | #undef gpuStreamSynchronize 37 | #undef gpuDeviceSynchronize 38 | #undef gpuMemcpy 39 | 40 | #endif // EIGEN_PERMANENTLY_ENABLE_GPU_HIP_CUDA_DEFINES 41 | 42 | #undef EIGEN_CXX11_TENSOR_GPU_HIP_CUDA_DEFINES_H 43 | 44 | #endif // EIGEN_CXX11_TENSOR_GPU_HIP_CUDA_DEFINES_H 45 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h: -------------------------------------------------------------------------------- 1 | 2 | #if defined(__clang__) || defined(__GNUC__) 3 | #warning "Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorReductionGpu.h file" 4 | #endif 5 | 6 | #include "TensorReductionGpu.h" 7 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2016 Benoit Steiner 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_CXX11_THREADPOOL_THREAD_CANCEL_H 11 | #define EIGEN_CXX11_THREADPOOL_THREAD_CANCEL_H 12 | 13 | // Try to come up with a portable way to cancel a thread 14 | #if EIGEN_OS_GNULINUX 15 | #define EIGEN_THREAD_CANCEL(t) \ 16 | pthread_cancel(t.native_handle()); 17 | #define EIGEN_SUPPORTS_THREAD_CANCELLATION 1 18 | #else 19 | #define EIGEN_THREAD_CANCEL(t) 20 | #endif 21 | 22 | 23 | #endif // EIGEN_CXX11_THREADPOOL_THREAD_CANCEL_H 24 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2014 Benoit Steiner 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_CXX11_THREADPOOL_THREAD_ENVIRONMENT_H 11 | #define EIGEN_CXX11_THREADPOOL_THREAD_ENVIRONMENT_H 12 | 13 | namespace Eigen { 14 | 15 | struct StlThreadEnvironment { 16 | struct Task { 17 | std::function f; 18 | }; 19 | 20 | // EnvThread constructor must start the thread, 21 | // destructor must join the thread. 22 | class EnvThread { 23 | public: 24 | EnvThread(std::function f) : thr_(std::move(f)) {} 25 | ~EnvThread() { thr_.join(); } 26 | // This function is called when the threadpool is cancelled. 27 | void OnCancel() { } 28 | 29 | private: 30 | std::thread thr_; 31 | }; 32 | 33 | EnvThread* CreateThread(std::function f) { return new EnvThread(std::move(f)); } 34 | Task CreateTask(std::function f) { return Task{std::move(f)}; } 35 | void ExecuteTask(const Task& t) { t.f(); } 36 | }; 37 | 38 | } // namespace Eigen 39 | 40 | #endif // EIGEN_CXX11_THREADPOOL_THREAD_ENVIRONMENT_H 41 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2016 Benoit Steiner 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_CXX11_THREADPOOL_THREAD_YIELD_H 11 | #define EIGEN_CXX11_THREADPOOL_THREAD_YIELD_H 12 | 13 | // Try to come up with a portable way to yield 14 | #if EIGEN_COMP_GNUC && EIGEN_GNUC_AT_MOST(4, 7) 15 | #define EIGEN_THREAD_YIELD() sched_yield() 16 | #else 17 | #define EIGEN_THREAD_YIELD() std::this_thread::yield() 18 | #endif 19 | 20 | #endif // EIGEN_CXX11_THREADPOOL_THREAD_YIELD_H 21 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/EulerAngles: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2015 Tal Hadad 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_EULERANGLES_MODULE_H 11 | #define EIGEN_EULERANGLES_MODULE_H 12 | 13 | 14 | #include "../../Eigen/Core" 15 | #include "../../Eigen/Geometry" 16 | 17 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 18 | 19 | namespace Eigen { 20 | 21 | /** 22 | * \defgroup EulerAngles_Module EulerAngles module 23 | * \brief This module provides generic euler angles rotation. 24 | * 25 | * Euler angles are a way to represent 3D rotation. 26 | * 27 | * In order to use this module in your code, include this header: 28 | * \code 29 | * #include 30 | * \endcode 31 | * 32 | * See \ref EulerAngles for more information. 33 | * 34 | */ 35 | 36 | } 37 | 38 | #include "src/EulerAngles/EulerSystem.h" 39 | #include "src/EulerAngles/EulerAngles.h" 40 | 41 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 42 | 43 | #endif // EIGEN_EULERANGLES_MODULE_H 44 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/KroneckerProduct: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla 6 | // Public License v. 2.0. If a copy of the MPL was not distributed 7 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | #ifndef EIGEN_KRONECKER_PRODUCT_MODULE_H 10 | #define EIGEN_KRONECKER_PRODUCT_MODULE_H 11 | 12 | #include "../../Eigen/Core" 13 | 14 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 15 | 16 | #include "../../Eigen/src/SparseCore/SparseUtil.h" 17 | 18 | namespace Eigen { 19 | 20 | /** 21 | * \defgroup KroneckerProduct_Module KroneckerProduct module 22 | * 23 | * This module contains an experimental Kronecker product implementation. 24 | * 25 | * \code 26 | * #include 27 | * \endcode 28 | */ 29 | 30 | } // namespace Eigen 31 | 32 | #include "src/KroneckerProduct/KroneckerTensorProduct.h" 33 | 34 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 35 | 36 | #endif // EIGEN_KRONECKER_PRODUCT_MODULE_H 37 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/LevenbergMarquardt: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Thomas Capricelli 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_LEVENBERGMARQUARDT_MODULE 11 | #define EIGEN_LEVENBERGMARQUARDT_MODULE 12 | 13 | // #include 14 | 15 | #include "../../Eigen/Core" 16 | #include "../../Eigen/Jacobi" 17 | #include "../../Eigen/QR" 18 | #include "NumericalDiff" 19 | 20 | #include "../../Eigen/SparseQR" 21 | 22 | /** 23 | * \defgroup LevenbergMarquardt_Module Levenberg-Marquardt module 24 | * 25 | * \code 26 | * #include 27 | * \endcode 28 | * 29 | * 30 | */ 31 | 32 | #include "../../Eigen/SparseCore" 33 | 34 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 35 | 36 | #ifndef EIGEN_PARSED_BY_DOXYGEN 37 | 38 | #include "src/LevenbergMarquardt/LMqrsolv.h" 39 | #include "src/LevenbergMarquardt/LMcovar.h" 40 | #include "src/LevenbergMarquardt/LMpar.h" 41 | 42 | #endif 43 | 44 | #include "src/LevenbergMarquardt/LevenbergMarquardt.h" 45 | #include "src/LevenbergMarquardt/LMonestep.h" 46 | 47 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 48 | 49 | #endif // EIGEN_LEVENBERGMARQUARDT_MODULE 50 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/MoreVectorization: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla 6 | // Public License v. 2.0. If a copy of the MPL was not distributed 7 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | #ifndef EIGEN_MOREVECTORIZATION_MODULE_H 10 | #define EIGEN_MOREVECTORIZATION_MODULE_H 11 | 12 | #include "../../Eigen/Core" 13 | 14 | namespace Eigen { 15 | 16 | /** 17 | * \defgroup MoreVectorization More vectorization module 18 | */ 19 | 20 | } 21 | 22 | #include "src/MoreVectorization/MathFunctions.h" 23 | 24 | #endif // EIGEN_MOREVECTORIZATION_MODULE_H 25 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/Skyline: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla 6 | // Public License v. 2.0. If a copy of the MPL was not distributed 7 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | #ifndef EIGEN_SKYLINE_MODULE_H 10 | #define EIGEN_SKYLINE_MODULE_H 11 | 12 | 13 | #include "../../Eigen/Core" 14 | 15 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | /** 23 | * \defgroup Skyline_Module Skyline module 24 | * 25 | * 26 | * 27 | * 28 | */ 29 | 30 | #include "src/Skyline/SkylineUtil.h" 31 | #include "src/Skyline/SkylineMatrixBase.h" 32 | #include "src/Skyline/SkylineStorage.h" 33 | #include "src/Skyline/SkylineMatrix.h" 34 | #include "src/Skyline/SkylineInplaceLU.h" 35 | #include "src/Skyline/SkylineProduct.h" 36 | 37 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 38 | 39 | #endif // EIGEN_SKYLINE_MODULE_H 40 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/SparseExtra: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2009 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSE_EXTRA_MODULE_H 11 | #define EIGEN_SPARSE_EXTRA_MODULE_H 12 | 13 | #include "../../Eigen/Sparse" 14 | 15 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | #ifdef EIGEN_GOOGLEHASH_SUPPORT 26 | #include 27 | #include 28 | #endif 29 | 30 | /** 31 | * \defgroup SparseExtra_Module SparseExtra module 32 | * 33 | * This module contains some experimental features extending the sparse module. 34 | * 35 | * \code 36 | * #include 37 | * \endcode 38 | */ 39 | 40 | 41 | #include "src/SparseExtra/DynamicSparseMatrix.h" 42 | #include "src/SparseExtra/BlockOfDynamicSparseMatrix.h" 43 | #include "src/SparseExtra/RandomSetter.h" 44 | 45 | #include "src/SparseExtra/MarketIO.h" 46 | 47 | #if !defined(_WIN32) 48 | #include 49 | #include "src/SparseExtra/MatrixMarketIterator.h" 50 | #endif 51 | 52 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 53 | 54 | #endif // EIGEN_SPARSE_EXTRA_MODULE_H 55 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/Splines: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 20010-2011 Hauke Heibel 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPLINES_MODULE_H 11 | #define EIGEN_SPLINES_MODULE_H 12 | 13 | namespace Eigen 14 | { 15 | /** 16 | * \defgroup Splines_Module Spline and spline fitting module 17 | * 18 | * This module provides a simple multi-dimensional spline class while 19 | * offering most basic functionality to fit a spline to point sets. 20 | * 21 | * \code 22 | * #include 23 | * \endcode 24 | */ 25 | } 26 | 27 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 28 | 29 | #include "src/Splines/SplineFwd.h" 30 | #include "src/Splines/Spline.h" 31 | #include "src/Splines/SplineFitting.h" 32 | 33 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_SPLINES_MODULE_H 36 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | namespace internal { 4 | 5 | // TODO : move this to GivensQR once there's such a thing in Eigen 6 | 7 | template 8 | void r1mpyq(DenseIndex m, DenseIndex n, Scalar *a, const std::vector > &v_givens, const std::vector > &w_givens) 9 | { 10 | typedef DenseIndex Index; 11 | 12 | /* apply the first set of givens rotations to a. */ 13 | for (Index j = n-2; j>=0; --j) 14 | for (Index i = 0; i 6 | void rwupdt( 7 | Matrix< Scalar, Dynamic, Dynamic > &r, 8 | const Matrix< Scalar, Dynamic, 1> &w, 9 | Matrix< Scalar, Dynamic, 1> &b, 10 | Scalar alpha) 11 | { 12 | typedef DenseIndex Index; 13 | 14 | const Index n = r.cols(); 15 | eigen_assert(r.rows()>=n); 16 | std::vector > givens(n); 17 | 18 | /* Local variables */ 19 | Scalar temp, rowj; 20 | 21 | /* Function Body */ 22 | for (Index j = 0; j < n; ++j) { 23 | rowj = w[j]; 24 | 25 | /* apply the previous transformations to */ 26 | /* r(i,j), i=0,1,...,j-1, and to w(j). */ 27 | for (Index i = 0; i < j; ++i) { 28 | temp = givens[i].c() * r(i,j) + givens[i].s() * rowj; 29 | rowj = -givens[i].s() * r(i,j) + givens[i].c() * rowj; 30 | r(i,j) = temp; 31 | } 32 | 33 | /* determine a givens rotation which eliminates w(j). */ 34 | givens[j].makeGivens(-r(j,j), rowj); 35 | 36 | if (rowj == 0.) 37 | continue; // givens[j] is identity 38 | 39 | /* apply the current transformation to r(j,j), b(j), and alpha. */ 40 | r(j,j) = givens[j].c() * r(j,j) + givens[j].s() * rowj; 41 | temp = givens[j].c() * b[j] + givens[j].s() * alpha; 42 | alpha = -givens[j].s() * b[j] + givens[j].c() * alpha; 43 | b[j] = temp; 44 | } 45 | } 46 | 47 | } // end namespace internal 48 | 49 | } // end namespace Eigen 50 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_AVX_SPECIALFUNCTIONS_H 2 | #define EIGEN_AVX_SPECIALFUNCTIONS_H 3 | 4 | namespace Eigen { 5 | namespace internal { 6 | 7 | F16_PACKET_FUNCTION(Packet8f, Packet8h, perf) 8 | BF16_PACKET_FUNCTION(Packet8f, Packet8bf, perf) 9 | 10 | F16_PACKET_FUNCTION(Packet8f, Packet8h, pndtri) 11 | BF16_PACKET_FUNCTION(Packet8f, Packet8bf, pndtri) 12 | 13 | } // namespace internal 14 | } // namespace Eigen 15 | 16 | #endif // EIGEN_AVX_SPECIAL_FUNCTIONS_H 17 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_AVX512_SPECIALFUNCTIONS_H 2 | #define EIGEN_AVX512_SPECIALFUNCTIONS_H 3 | 4 | namespace Eigen { 5 | namespace internal { 6 | 7 | F16_PACKET_FUNCTION(Packet16f, Packet16h, perf) 8 | BF16_PACKET_FUNCTION(Packet16f, Packet16bf, perf) 9 | 10 | F16_PACKET_FUNCTION(Packet16f, Packet16h, pndtri) 11 | BF16_PACKET_FUNCTION(Packet16f, Packet16bf, pndtri) 12 | 13 | } // namespace internal 14 | } // namespace Eigen 15 | 16 | #endif // EIGEN_AVX512_SPECIAL_FUNCTIONS_H 17 | -------------------------------------------------------------------------------- /mot/3rd/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_NEON_SPECIALFUNCTIONS_H 2 | #define EIGEN_NEON_SPECIALFUNCTIONS_H 3 | 4 | namespace Eigen { 5 | namespace internal { 6 | 7 | #if EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC 8 | 9 | #define NEON_HALF_TO_FLOAT_FUNCTIONS(METHOD) \ 10 | template <> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE \ 11 | Packet8hf METHOD(const Packet8hf& x) { \ 12 | const Packet4f lo = METHOD(vcvt_f32_f16(vget_low_f16(x))); \ 13 | const Packet4f hi = METHOD(vcvt_f32_f16(vget_high_f16(x))); \ 14 | return vcombine_f16(vcvt_f16_f32(lo), vcvt_f16_f32(hi)); \ 15 | } \ 16 | \ 17 | template <> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE \ 18 | Packet4hf METHOD(const Packet4hf& x) { \ 19 | return vcvt_f16_f32(METHOD(vcvt_f32_f16(x))); \ 20 | } 21 | 22 | NEON_HALF_TO_FLOAT_FUNCTIONS(perf) 23 | NEON_HALF_TO_FLOAT_FUNCTIONS(pndtri) 24 | 25 | #undef NEON_HALF_TO_FLOAT_FUNCTIONS 26 | #endif 27 | 28 | BF16_PACKET_FUNCTION(Packet4f, Packet4bf, perf) 29 | BF16_PACKET_FUNCTION(Packet4f, Packet4bf, pndtri) 30 | 31 | } // namespace internal 32 | } // namespace Eigen 33 | 34 | #endif // EIGEN_NEON_SPECIALFUNCTIONS_H 35 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.cpp text 7 | *.h text 8 | *.txt text 9 | *.md text 10 | *.cmake text 11 | *.svg text 12 | *.dot text 13 | *.yml text 14 | *.in text 15 | *.sh text 16 | *.autopkg text 17 | Dockerfile text 18 | 19 | # Denote all files that are truly binary and should not be modified. 20 | *.png binary 21 | *.jpg binary 22 | *.json binary -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/* 2 | !/bin/data 3 | !/bin/encodings 4 | !/bin/jsonchecker 5 | !/bin/types 6 | /build 7 | /doc/html 8 | /doc/doxygen_*.db 9 | *.a 10 | 11 | # Temporary files created during CMake build 12 | CMakeCache.txt 13 | CMakeFiles 14 | cmake_install.cmake 15 | CTestTestfile.cmake 16 | Makefile 17 | RapidJSON*.cmake 18 | RapidJSON.pc 19 | Testing 20 | /googletest 21 | install_manifest.txt 22 | Doxyfile 23 | Doxyfile.zh-cn 24 | DartConfiguration.tcl 25 | *.nupkg 26 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "thirdparty/gtest"] 2 | path = thirdparty/gtest 3 | url = https://github.com/google/googletest.git 4 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/CMakeModules/FindGTestSrc.cmake: -------------------------------------------------------------------------------- 1 | 2 | SET(GTEST_SEARCH_PATH 3 | "${GTEST_SOURCE_DIR}" 4 | "${CMAKE_CURRENT_LIST_DIR}/../thirdparty/gtest/googletest") 5 | 6 | IF(UNIX) 7 | IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST) 8 | LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest") 9 | ELSE() 10 | LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest") 11 | ENDIF() 12 | ENDIF() 13 | 14 | FIND_PATH(GTEST_SOURCE_DIR 15 | NAMES CMakeLists.txt src/gtest_main.cc 16 | PATHS ${GTEST_SEARCH_PATH}) 17 | 18 | 19 | # Debian installs gtest include directory in /usr/include, thus need to look 20 | # for include directory separately from source directory. 21 | FIND_PATH(GTEST_INCLUDE_DIR 22 | NAMES gtest/gtest.h 23 | PATH_SUFFIXES include 24 | HINTS ${GTEST_SOURCE_DIR} 25 | PATHS ${GTEST_SEARCH_PATH}) 26 | 27 | INCLUDE(FindPackageHandleStandardArgs) 28 | find_package_handle_standard_args(GTestSrc DEFAULT_MSG 29 | GTEST_SOURCE_DIR 30 | GTEST_INCLUDE_DIR) 31 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/RapidJSON.pc.in: -------------------------------------------------------------------------------- 1 | includedir=@INCLUDE_INSTALL_DIR@ 2 | 3 | Name: @PROJECT_NAME@ 4 | Description: A fast JSON parser/generator for C++ with both SAX/DOM style API 5 | Version: @LIB_VERSION_STRING@ 6 | URL: https://github.com/miloyip/rapidjson 7 | Cflags: -I${includedir} 8 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/RapidJSONConfig.cmake.in: -------------------------------------------------------------------------------- 1 | get_filename_component(RAPIDJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) 2 | set(RAPIDJSON_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@") 3 | message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}") 4 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/RapidJSONConfigVersion.cmake.in: -------------------------------------------------------------------------------- 1 | SET(PACKAGE_VERSION "@LIB_VERSION_STRING@") 2 | 3 | IF (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) 4 | SET(PACKAGE_VERSION_EXACT "true") 5 | ENDIF (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) 6 | IF (NOT PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION) 7 | SET(PACKAGE_VERSION_COMPATIBLE "true") 8 | ELSE (NOT PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION) 9 | SET(PACKAGE_VERSION_UNSUITABLE "true") 10 | ENDIF (NOT PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION) 11 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/appveyor.yml: -------------------------------------------------------------------------------- 1 | os: Visual Studio 2015 CTP 2 | version: 1.1.0.{build} 3 | 4 | configuration: 5 | - Debug 6 | - Release 7 | 8 | environment: 9 | matrix: 10 | # - VS_VERSION: 9 2008 11 | # VS_PLATFORM: win32 12 | # - VS_VERSION: 9 2008 13 | # VS_PLATFORM: x64 14 | - VS_VERSION: 10 2010 15 | VS_PLATFORM: win32 16 | - VS_VERSION: 10 2010 17 | VS_PLATFORM: x64 18 | - VS_VERSION: 11 2012 19 | VS_PLATFORM: win32 20 | - VS_VERSION: 11 2012 21 | VS_PLATFORM: x64 22 | - VS_VERSION: 12 2013 23 | VS_PLATFORM: win32 24 | - VS_VERSION: 12 2013 25 | VS_PLATFORM: x64 26 | - VS_VERSION: 14 2015 27 | VS_PLATFORM: win32 28 | - VS_VERSION: 14 2015 29 | VS_PLATFORM: x64 30 | 31 | before_build: 32 | - git submodule update --init --recursive 33 | - cmake -H. -BBuild/VS -G "Visual Studio %VS_VERSION%" -DCMAKE_GENERATOR_PLATFORM=%VS_PLATFORM% -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=true -Wno-dev 34 | 35 | build: 36 | project: Build\VS\RapidJSON.sln 37 | parallel: true 38 | verbosity: minimal 39 | 40 | test_script: 41 | - cd Build\VS && if %CONFIGURATION%==Debug (ctest --verbose -E perftest --build-config %CONFIGURATION%) else (ctest --verbose --build-config %CONFIGURATION%) 42 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/data/glossary.json: -------------------------------------------------------------------------------- 1 | { 2 | "glossary": { 3 | "title": "example glossary", 4 | "GlossDiv": { 5 | "title": "S", 6 | "GlossList": { 7 | "GlossEntry": { 8 | "ID": "SGML", 9 | "SortAs": "SGML", 10 | "GlossTerm": "Standard Generalized Markup Language", 11 | "Acronym": "SGML", 12 | "Abbrev": "ISO 8879:1986", 13 | "GlossDef": { 14 | "para": "A meta-markup language, used to create markup languages such as DocBook.", 15 | "GlossSeeAlso": ["GML", "XML"] 16 | }, 17 | "GlossSee": "markup" 18 | } 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/data/menu.json: -------------------------------------------------------------------------------- 1 | {"menu": { 2 | "header": "SVG Viewer", 3 | "items": [ 4 | {"id": "Open"}, 5 | {"id": "OpenNew", "label": "Open New"}, 6 | null, 7 | {"id": "ZoomIn", "label": "Zoom In"}, 8 | {"id": "ZoomOut", "label": "Zoom Out"}, 9 | {"id": "OriginalView", "label": "Original View"}, 10 | null, 11 | {"id": "Quality"}, 12 | {"id": "Pause"}, 13 | {"id": "Mute"}, 14 | null, 15 | {"id": "Find", "label": "Find..."}, 16 | {"id": "FindAgain", "label": "Find Again"}, 17 | {"id": "Copy"}, 18 | {"id": "CopyAgain", "label": "Copy Again"}, 19 | {"id": "CopySVG", "label": "Copy SVG"}, 20 | {"id": "ViewSVG", "label": "View SVG"}, 21 | {"id": "ViewSource", "label": "View Source"}, 22 | {"id": "SaveAs", "label": "Save As"}, 23 | null, 24 | {"id": "Help"}, 25 | {"id": "About", "label": "About Adobe CVG Viewer..."} 26 | ] 27 | }} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/data/readme.txt: -------------------------------------------------------------------------------- 1 | sample.json is obtained from http://code.google.com/p/json-test-suite/downloads/detail?name=sample.zip 2 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/data/widget.json: -------------------------------------------------------------------------------- 1 | {"widget": { 2 | "debug": "on", 3 | "window": { 4 | "title": "Sample Konfabulator Widget", 5 | "name": "main_window", 6 | "width": 500, 7 | "height": 500 8 | }, 9 | "image": { 10 | "src": "Images/Sun.png", 11 | "name": "sun1", 12 | "hOffset": 250, 13 | "vOffset": 250, 14 | "alignment": "center" 15 | }, 16 | "text": { 17 | "data": "Click Here", 18 | "size": 36, 19 | "style": "bold", 20 | "name": "text1", 21 | "hOffset": 250, 22 | "vOffset": 100, 23 | "alignment": "center", 24 | "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" 25 | } 26 | }} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf16be.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf16be.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf16bebom.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf16bebom.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf16le.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf16le.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf16lebom.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf16lebom.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf32be.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf32be.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf32bebom.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf32bebom.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf32le.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf32le.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf32lebom.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/3rd/rapidjson-1.1.0/bin/encodings/utf32lebom.json -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf8.json: -------------------------------------------------------------------------------- 1 | { 2 | "en":"I can eat glass and it doesn't hurt me.", 3 | "zh-Hant":"我能吞下玻璃而不傷身體。", 4 | "zh-Hans":"我能吞下玻璃而不伤身体。", 5 | "ja":"私はガラスを食べられます。それは私を傷つけません。", 6 | "ko":"나는 유리를 먹을 수 있어요. 그래도 아프지 않아요" 7 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/encodings/utf8bom.json: -------------------------------------------------------------------------------- 1 | { 2 | "en":"I can eat glass and it doesn't hurt me.", 3 | "zh-Hant":"我能吞下玻璃而不傷身體。", 4 | "zh-Hans":"我能吞下玻璃而不伤身体。", 5 | "ja":"私はガラスを食べられます。それは私を傷つけません。", 6 | "ko":"나는 유리를 먹을 수 있어요. 그래도 아프지 않아요" 7 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail1.json: -------------------------------------------------------------------------------- 1 | "A JSON payload should be an object or array, not a string." -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail10.json: -------------------------------------------------------------------------------- 1 | {"Extra value after close": true} "misplaced quoted value" -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail11.json: -------------------------------------------------------------------------------- 1 | {"Illegal expression": 1 + 2} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail12.json: -------------------------------------------------------------------------------- 1 | {"Illegal invocation": alert()} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail13.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot have leading zeroes": 013} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail14.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot be hex": 0x14} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail15.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \x15"] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail16.json: -------------------------------------------------------------------------------- 1 | [\naked] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail17.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \017"] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail18.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail19.json: -------------------------------------------------------------------------------- 1 | {"Missing colon" null} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail2.json: -------------------------------------------------------------------------------- 1 | ["Unclosed array" -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail20.json: -------------------------------------------------------------------------------- 1 | {"Double colon":: null} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail21.json: -------------------------------------------------------------------------------- 1 | {"Comma instead of colon", null} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail22.json: -------------------------------------------------------------------------------- 1 | ["Colon instead of comma": false] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail23.json: -------------------------------------------------------------------------------- 1 | ["Bad value", truth] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail24.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail25.json: -------------------------------------------------------------------------------- 1 | [" tab character in string "] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail26.json: -------------------------------------------------------------------------------- 1 | ["tab\ character\ in\ string\ "] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail27.json: -------------------------------------------------------------------------------- 1 | ["line 2 | break"] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail28.json: -------------------------------------------------------------------------------- 1 | ["line\ 2 | break"] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail29.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail3.json: -------------------------------------------------------------------------------- 1 | {unquoted_key: "keys must be quoted"} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail30.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail31.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail32.json: -------------------------------------------------------------------------------- 1 | {"Comma instead if closing brace": true, -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail33.json: -------------------------------------------------------------------------------- 1 | ["mismatch"} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail4.json: -------------------------------------------------------------------------------- 1 | ["extra comma",] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail5.json: -------------------------------------------------------------------------------- 1 | ["double extra comma",,] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail6.json: -------------------------------------------------------------------------------- 1 | [ , "<-- missing value"] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail7.json: -------------------------------------------------------------------------------- 1 | ["Comma after the close"], -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail8.json: -------------------------------------------------------------------------------- 1 | ["Extra close"]] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/fail9.json: -------------------------------------------------------------------------------- 1 | {"Extra comma": true,} -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/pass1.json: -------------------------------------------------------------------------------- 1 | [ 2 | "JSON Test Pattern pass1", 3 | {"object with 1 member":["array with 1 element"]}, 4 | {}, 5 | [], 6 | -42, 7 | true, 8 | false, 9 | null, 10 | { 11 | "integer": 1234567890, 12 | "real": -9876.543210, 13 | "e": 0.123456789e-12, 14 | "E": 1.234567890E+34, 15 | "": 23456789012E66, 16 | "zero": 0, 17 | "one": 1, 18 | "space": " ", 19 | "quote": "\"", 20 | "backslash": "\\", 21 | "controls": "\b\f\n\r\t", 22 | "slash": "/ & \/", 23 | "alpha": "abcdefghijklmnopqrstuvwyz", 24 | "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ", 25 | "digit": "0123456789", 26 | "0123456789": "digit", 27 | "special": "`1~!@#$%^&*()_+-={':[,]}|;.?", 28 | "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A", 29 | "true": true, 30 | "false": false, 31 | "null": null, 32 | "array":[ ], 33 | "object":{ }, 34 | "address": "50 St. James Street", 35 | "url": "http://www.JSON.org/", 36 | "comment": "// /* */": " ", 38 | " s p a c e d " :[1,2 , 3 39 | 40 | , 41 | 42 | 4 , 5 , 6 ,7 ],"compact":[1,2,3,4,5,6,7], 43 | "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}", 44 | "quotes": "" \u0022 %22 0x22 034 "", 45 | "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?" 46 | : "A key can be any string" 47 | }, 48 | 0.5 ,98.6 49 | , 50 | 99.44 51 | , 52 | 53 | 1066, 54 | 1e1, 55 | 0.1e1, 56 | 1e-1, 57 | 1e00,2e+00,2e-00 58 | ,"rosebud"] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/pass2.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/pass3.json: -------------------------------------------------------------------------------- 1 | { 2 | "JSON Test Pattern pass3": { 3 | "The outermost value": "must be an object or array.", 4 | "In this test": "It is an object." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/jsonchecker/readme.txt: -------------------------------------------------------------------------------- 1 | Test suite from http://json.org/JSON_checker/. 2 | 3 | If the JSON_checker is working correctly, it must accept all of the pass*.json files and reject all of the fail*.json files. 4 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/types/booleans.json: -------------------------------------------------------------------------------- 1 | [ 2 | true, 3 | true, 4 | false, 5 | false, 6 | true, 7 | true, 8 | true, 9 | false, 10 | false, 11 | true, 12 | false, 13 | false, 14 | true, 15 | false, 16 | false, 17 | false, 18 | true, 19 | false, 20 | false, 21 | true, 22 | true, 23 | false, 24 | true, 25 | true, 26 | true, 27 | false, 28 | false, 29 | false, 30 | true, 31 | false, 32 | true, 33 | false, 34 | false, 35 | true, 36 | true, 37 | true, 38 | true, 39 | true, 40 | true, 41 | false, 42 | false, 43 | true, 44 | false, 45 | false, 46 | false, 47 | true, 48 | true, 49 | false, 50 | true, 51 | true, 52 | false, 53 | true, 54 | false, 55 | true, 56 | true, 57 | true, 58 | false, 59 | false, 60 | false, 61 | true, 62 | false, 63 | false, 64 | false, 65 | true, 66 | true, 67 | false, 68 | true, 69 | true, 70 | true, 71 | true, 72 | true, 73 | true, 74 | true, 75 | true, 76 | false, 77 | false, 78 | false, 79 | false, 80 | false, 81 | true, 82 | true, 83 | true, 84 | true, 85 | true, 86 | true, 87 | true, 88 | false, 89 | false, 90 | false, 91 | true, 92 | false, 93 | false, 94 | false, 95 | true, 96 | true, 97 | true, 98 | false, 99 | false, 100 | true, 101 | false 102 | ] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/types/integers.json: -------------------------------------------------------------------------------- 1 | [ 2 | 8125686, 3 | 8958709, 4 | 5976222, 5 | 1889524, 6 | 7968493, 7 | 1357486, 8 | 118415, 9 | 7081097, 10 | 4635968, 11 | 7555332, 12 | 2270233, 13 | 3428352, 14 | 8699968, 15 | 2087333, 16 | 7861337, 17 | 7554440, 18 | 2017031, 19 | 7981692, 20 | 6060687, 21 | 1877715, 22 | 3297474, 23 | 8373177, 24 | 6158629, 25 | 7853641, 26 | 3004441, 27 | 9650406, 28 | 2695251, 29 | 1180761, 30 | 4988426, 31 | 6043805, 32 | 8063373, 33 | 6103218, 34 | 2848339, 35 | 8188690, 36 | 9235573, 37 | 5949816, 38 | 6116081, 39 | 6471138, 40 | 3354531, 41 | 4787414, 42 | 9660600, 43 | 942529, 44 | 7278535, 45 | 7967399, 46 | 554292, 47 | 1436493, 48 | 267319, 49 | 2606657, 50 | 7900601, 51 | 4276634, 52 | 7996757, 53 | 8544466, 54 | 7266469, 55 | 3301373, 56 | 4005350, 57 | 6437652, 58 | 7717672, 59 | 7126292, 60 | 8588394, 61 | 2127902, 62 | 7410190, 63 | 1517806, 64 | 4583602, 65 | 3123440, 66 | 7747613, 67 | 5029464, 68 | 9834390, 69 | 3087227, 70 | 4913822, 71 | 7550487, 72 | 4518144, 73 | 5862588, 74 | 1778599, 75 | 9493290, 76 | 5588455, 77 | 3638706, 78 | 7394293, 79 | 4294719, 80 | 3837830, 81 | 6381878, 82 | 7175866, 83 | 8575492, 84 | 1415229, 85 | 1453733, 86 | 6972404, 87 | 9782571, 88 | 4234063, 89 | 7117418, 90 | 7293130, 91 | 8057071, 92 | 9345285, 93 | 7626648, 94 | 3358911, 95 | 4574537, 96 | 9371826, 97 | 7627107, 98 | 6154093, 99 | 5392367, 100 | 5398105, 101 | 6956377 102 | ] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/types/nulls.json: -------------------------------------------------------------------------------- 1 | [ 2 | null, 3 | null, 4 | null, 5 | null, 6 | null, 7 | null, 8 | null, 9 | null, 10 | null, 11 | null, 12 | null, 13 | null, 14 | null, 15 | null, 16 | null, 17 | null, 18 | null, 19 | null, 20 | null, 21 | null, 22 | null, 23 | null, 24 | null, 25 | null, 26 | null, 27 | null, 28 | null, 29 | null, 30 | null, 31 | null, 32 | null, 33 | null, 34 | null, 35 | null, 36 | null, 37 | null, 38 | null, 39 | null, 40 | null, 41 | null, 42 | null, 43 | null, 44 | null, 45 | null, 46 | null, 47 | null, 48 | null, 49 | null, 50 | null, 51 | null, 52 | null, 53 | null, 54 | null, 55 | null, 56 | null, 57 | null, 58 | null, 59 | null, 60 | null, 61 | null, 62 | null, 63 | null, 64 | null, 65 | null, 66 | null, 67 | null, 68 | null, 69 | null, 70 | null, 71 | null, 72 | null, 73 | null, 74 | null, 75 | null, 76 | null, 77 | null, 78 | null, 79 | null, 80 | null, 81 | null, 82 | null, 83 | null, 84 | null, 85 | null, 86 | null, 87 | null, 88 | null, 89 | null, 90 | null, 91 | null, 92 | null, 93 | null, 94 | null, 95 | null, 96 | null, 97 | null, 98 | null, 99 | null, 100 | null, 101 | null 102 | ] -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/bin/types/readme.txt: -------------------------------------------------------------------------------- 1 | Test data obtained from https://github.com/xpol/lua-rapidjson/tree/master/performance 2 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(Doxygen) 2 | 3 | IF(NOT DOXYGEN_FOUND) 4 | MESSAGE(STATUS "No Doxygen found. Documentation won't be built") 5 | ELSE() 6 | file(GLOB SOURCES ${CMAKE_CURRENT_LIST_DIR}/../include/*) 7 | file(GLOB MARKDOWN_DOC ${CMAKE_CURRENT_LIST_DIR}/../doc/*.md) 8 | list(APPEND MARKDOWN_DOC ${CMAKE_CURRENT_LIST_DIR}/../readme.md) 9 | 10 | CONFIGURE_FILE(Doxyfile.in Doxyfile @ONLY) 11 | CONFIGURE_FILE(Doxyfile.zh-cn.in Doxyfile.zh-cn @ONLY) 12 | 13 | add_custom_command(OUTPUT html 14 | COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile 15 | COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.zh-cn 16 | COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/html 17 | DEPENDS ${MARKDOWN_DOC} ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile* 18 | WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../ 19 | ) 20 | 21 | add_custom_target(doc ALL DEPENDS html) 22 | install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html 23 | DESTINATION ${DOC_INSTALL_DIR} 24 | COMPONENT doc) 25 | ENDIF() 26 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/diagram/architecture.dot: -------------------------------------------------------------------------------- 1 | digraph { 2 | compound=true 3 | fontname="Inconsolata, Consolas" 4 | fontsize=10 5 | margin="0,0" 6 | ranksep=0.2 7 | nodesep=0.5 8 | penwidth=0.5 9 | colorscheme=spectral7 10 | 11 | node [shape=box, fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5, style=filled, fillcolor=white] 12 | edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] 13 | 14 | subgraph cluster1 { 15 | margin="10,10" 16 | labeljust="left" 17 | label = "SAX" 18 | style=filled 19 | fillcolor=6 20 | 21 | Reader -> Writer [style=invis] 22 | } 23 | 24 | subgraph cluster2 { 25 | margin="10,10" 26 | labeljust="left" 27 | label = "DOM" 28 | style=filled 29 | fillcolor=7 30 | 31 | Value 32 | Document 33 | } 34 | 35 | Handler [label="<>\nHandler"] 36 | 37 | { 38 | edge [arrowtail=onormal, dir=back] 39 | Value -> Document 40 | Handler -> Document 41 | Handler -> Writer 42 | } 43 | 44 | { 45 | edge [arrowhead=vee, style=dashed, constraint=false] 46 | Reader -> Handler [label="calls"] 47 | Value -> Handler [label="calls"] 48 | Document -> Reader [label="uses"] 49 | } 50 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/diagram/makefile: -------------------------------------------------------------------------------- 1 | %.pdf: %.dot 2 | dot $< -Tpdf -o $@ 3 | 4 | %.png: %.dot 5 | dot $< -Tpng -o $@ 6 | 7 | DOTFILES = $(basename $(wildcard *.dot)) 8 | all: $(addsuffix .png, $(DOTFILES)) $(addsuffix .pdf, $(DOTFILES)) 9 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/diagram/move1.dot: -------------------------------------------------------------------------------- 1 | digraph { 2 | compound=true 3 | fontname="Inconsolata, Consolas" 4 | fontsize=10 5 | margin="0,0" 6 | ranksep=0.2 7 | penwidth=0.5 8 | 9 | node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] 10 | edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] 11 | 12 | subgraph cluster1 { 13 | margin="10,10" 14 | labeljust="left" 15 | label = "Before" 16 | style=filled 17 | fillcolor=gray95 18 | 19 | node [shape=Mrecord, style=filled, colorscheme=spectral7] 20 | 21 | { 22 | rank = same 23 | b1 [label="{b:number|456}", fillcolor=6] 24 | a1 [label="{a:number|123}", fillcolor=6] 25 | } 26 | 27 | a1 -> b1 [style="dashed", label="Move", dir=back] 28 | } 29 | 30 | subgraph cluster2 { 31 | margin="10,10" 32 | labeljust="left" 33 | label = "After" 34 | style=filled 35 | fillcolor=gray95 36 | 37 | node [shape=Mrecord, style=filled, colorscheme=spectral7] 38 | 39 | { 40 | rank = same 41 | b2 [label="{b:null|}", fillcolor=1] 42 | a2 [label="{a:number|456}", fillcolor=6] 43 | } 44 | a2 -> b2 [style=invis, dir=back] 45 | } 46 | b1 -> b2 [style=invis] 47 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/diagram/normalparsing.dot: -------------------------------------------------------------------------------- 1 | digraph { 2 | compound=true 3 | fontname="Inconsolata, Consolas" 4 | fontsize=10 5 | margin="0,0" 6 | ranksep=0.2 7 | penwidth=0.5 8 | 9 | node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] 10 | edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] 11 | 12 | { 13 | node [shape=record, fontsize="8", margin="0.04", height=0.2, color=gray] 14 | normaljson [label="\{|\"|m|s|g|\"|:|\"|H|e|l|l|o|\\|n|W|o|r|l|d|!|\"|,|\"|\\|u|0|0|7|3|t|a|r|s\"|:|1|0|\}"] 15 | 16 | { 17 | rank = same 18 | msgstring [label="m|s|g|\\0"] 19 | helloworldstring [label="H|e|l|l|o|\\n|W|o|r|l|d|!|\\0"] 20 | starsstring [label="s|t|a|r|s\\0"] 21 | } 22 | } 23 | 24 | subgraph cluster1 { 25 | margin="10,10" 26 | labeljust="left" 27 | label = "Document by Normal Parsing" 28 | style=filled 29 | fillcolor=gray95 30 | node [shape=Mrecord, style=filled, colorscheme=spectral7] 31 | 32 | root [label="{object|}", fillcolor=3] 33 | 34 | { 35 | msg [label="{string|}", fillcolor=5] 36 | helloworld [label="{string|}", fillcolor=5] 37 | stars [label="{string|}", fillcolor=5] 38 | ten [label="{number|10}", fillcolor=6] 39 | } 40 | } 41 | 42 | normaljson -> root [label=" Parse()" lhead="cluster1"] 43 | edge [arrowhead=vee] 44 | root -> { msg; stars } 45 | 46 | edge [arrowhead="none"] 47 | msg -> helloworld 48 | stars -> ten 49 | 50 | edge [arrowhead=vee, arrowtail=dot, arrowsize=0.5, dir=both, tailclip=false] 51 | msg:a:c -> msgstring:w 52 | helloworld:a:c -> helloworldstring:w 53 | stars:a:c -> starsstring:w 54 | 55 | msgstring -> helloworldstring -> starsstring [style=invis] 56 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/diagram/simpledom.dot: -------------------------------------------------------------------------------- 1 | digraph { 2 | compound=true 3 | fontname="Inconsolata, Consolas" 4 | fontsize=10 5 | margin="0,0" 6 | ranksep=0.2 7 | penwidth=0.5 8 | 9 | node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] 10 | edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] 11 | 12 | { 13 | node [shape=record, fontsize="8", margin="0.04", height=0.2, color=gray] 14 | srcjson [label="\{|\"|p|r|o|j|e|c|t|\"|:|\"|r|a|p|i|d|j|s|o|n|\"|,|\"|s|t|a|r|s|\"|:|1|0|\}"] 15 | dstjson [label="\{|\"|p|r|o|j|e|c|t|\"|:|\"|r|a|p|i|d|j|s|o|n|\"|,|\"|s|t|a|r|s|\"|:|1|1|\}"] 16 | } 17 | 18 | { 19 | node [shape="box", style="filled", fillcolor="gray95"] 20 | Document2 [label="(Modified) Document"] 21 | Writer 22 | } 23 | 24 | subgraph cluster1 { 25 | margin="10,10" 26 | labeljust="left" 27 | label = "Document" 28 | style=filled 29 | fillcolor=gray95 30 | node [shape=Mrecord, style=filled, colorscheme=spectral7] 31 | 32 | root [label="{object|}", fillcolor=3] 33 | 34 | { 35 | project [label="{string|\"project\"}", fillcolor=5] 36 | rapidjson [label="{string|\"rapidjson\"}", fillcolor=5] 37 | stars [label="{string|\"stars\"}", fillcolor=5] 38 | ten [label="{number|10}", fillcolor=6] 39 | } 40 | 41 | edge [arrowhead=vee] 42 | root -> { project; stars } 43 | 44 | edge [arrowhead="none"] 45 | project -> rapidjson 46 | stars -> ten 47 | } 48 | 49 | srcjson -> root [label=" Parse()", lhead="cluster1"] 50 | 51 | ten -> Document2 [label=" Increase \"stars\"", ltail="cluster1" ] 52 | Document2 -> Writer [label=" Traverse DOM by Accept()"] 53 | Writer -> dstjson [label=" Output to StringBuffer"] 54 | } -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/misc/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/misc/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | $projectname: $title 9 | $title 10 | 11 | 12 | 13 | $treeview 14 | $search 15 | $mathjax 16 | 17 | $extrastylesheet 18 | 19 | 20 |
21 |
22 | $searchbox 23 | 24 | 25 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/doc/npm.md: -------------------------------------------------------------------------------- 1 | ## NPM 2 | 3 | # package.json {#package} 4 | 5 | ~~~~~~~~~~js 6 | { 7 | ... 8 | "dependencies": { 9 | ... 10 | "rapidjson": "git@github.com:miloyip/rapidjson.git" 11 | }, 12 | ... 13 | "gypfile": true 14 | } 15 | ~~~~~~~~~~ 16 | 17 | # binding.gyp {#binding} 18 | 19 | ~~~~~~~~~~js 20 | { 21 | ... 22 | 'targets': [ 23 | { 24 | ... 25 | 'include_dirs': [ 26 | ' writer(os); 24 | 25 | // JSON reader parse from the input stream and let writer generate the output. 26 | if (!reader.Parse(is, writer)) { 27 | fprintf(stderr, "\nError(%u): %s\n", static_cast(reader.GetErrorOffset()), GetParseError_En(reader.GetParseErrorCode())); 28 | return 1; 29 | } 30 | 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/example/pretty/pretty.cpp: -------------------------------------------------------------------------------- 1 | // JSON pretty formatting example 2 | // This example can only handle UTF-8. For handling other encodings, see prettyauto example. 3 | 4 | #include "rapidjson/reader.h" 5 | #include "rapidjson/prettywriter.h" 6 | #include "rapidjson/filereadstream.h" 7 | #include "rapidjson/filewritestream.h" 8 | #include "rapidjson/error/en.h" 9 | 10 | using namespace rapidjson; 11 | 12 | int main(int, char*[]) { 13 | // Prepare reader and input stream. 14 | Reader reader; 15 | char readBuffer[65536]; 16 | FileReadStream is(stdin, readBuffer, sizeof(readBuffer)); 17 | 18 | // Prepare writer and output stream. 19 | char writeBuffer[65536]; 20 | FileWriteStream os(stdout, writeBuffer, sizeof(writeBuffer)); 21 | PrettyWriter writer(os); 22 | 23 | // JSON reader parse from the input stream and let writer generate the output. 24 | if (!reader.Parse(is, writer)) { 25 | fprintf(stderr, "\nError(%u): %s\n", static_cast(reader.GetErrorOffset()), GetParseError_En(reader.GetParseErrorCode())); 26 | return 1; 27 | } 28 | 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/example/simpledom/simpledom.cpp: -------------------------------------------------------------------------------- 1 | // JSON simple example 2 | // This example does not handle errors. 3 | 4 | #include "rapidjson/document.h" 5 | #include "rapidjson/writer.h" 6 | #include "rapidjson/stringbuffer.h" 7 | #include 8 | 9 | using namespace rapidjson; 10 | 11 | int main() { 12 | // 1. Parse a JSON string into DOM. 13 | const char* json = "{\"project\":\"rapidjson\",\"stars\":10}"; 14 | Document d; 15 | d.Parse(json); 16 | 17 | // 2. Modify it by DOM. 18 | Value& s = d["stars"]; 19 | s.SetInt(s.GetInt() + 1); 20 | 21 | // 3. Stringify the DOM 22 | StringBuffer buffer; 23 | Writer writer(buffer); 24 | d.Accept(writer); 25 | 26 | // Output {"project":"rapidjson","stars":11} 27 | std::cout << buffer.GetString() << std::endl; 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/example/simplewriter/simplewriter.cpp: -------------------------------------------------------------------------------- 1 | #include "rapidjson/writer.h" 2 | #include "rapidjson/stringbuffer.h" 3 | #include 4 | 5 | using namespace rapidjson; 6 | using namespace std; 7 | 8 | int main() { 9 | StringBuffer s; 10 | Writer writer(s); 11 | 12 | writer.StartObject(); // Between StartObject()/EndObject(), 13 | writer.Key("hello"); // output a key, 14 | writer.String("world"); // follow by a value. 15 | writer.Key("t"); 16 | writer.Bool(true); 17 | writer.Key("f"); 18 | writer.Bool(false); 19 | writer.Key("n"); 20 | writer.Null(); 21 | writer.Key("i"); 22 | writer.Uint(123); 23 | writer.Key("pi"); 24 | writer.Double(3.1416); 25 | writer.Key("a"); 26 | writer.StartArray(); // Between StartArray()/EndArray(), 27 | for (unsigned i = 0; i < 4; i++) 28 | writer.Uint(i); // all values are elements of the array. 29 | writer.EndArray(); 30 | writer.EndObject(); 31 | 32 | // {"hello":"world","t":true,"f":false,"n":null,"i":123,"pi":3.1416,"a":[0,1,2,3]} 33 | cout << s.GetString() << endl; 34 | 35 | return 0; 36 | } 37 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/include/rapidjson/internal/swap.h: -------------------------------------------------------------------------------- 1 | // Tencent is pleased to support the open source community by making RapidJSON available. 2 | // 3 | // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. 4 | // 5 | // Licensed under the MIT License (the "License"); you may not use this file except 6 | // in compliance with the License. You may obtain a copy of the License at 7 | // 8 | // http://opensource.org/licenses/MIT 9 | // 10 | // Unless required by applicable law or agreed to in writing, software distributed 11 | // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 12 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the 13 | // specific language governing permissions and limitations under the License. 14 | 15 | #ifndef RAPIDJSON_INTERNAL_SWAP_H_ 16 | #define RAPIDJSON_INTERNAL_SWAP_H_ 17 | 18 | #include "../rapidjson.h" 19 | 20 | #if defined(__clang__) 21 | RAPIDJSON_DIAG_PUSH 22 | RAPIDJSON_DIAG_OFF(c++98-compat) 23 | #endif 24 | 25 | RAPIDJSON_NAMESPACE_BEGIN 26 | namespace internal { 27 | 28 | //! Custom swap() to avoid dependency on C++ header 29 | /*! \tparam T Type of the arguments to swap, should be instantiated with primitive C++ types only. 30 | \note This has the same semantics as std::swap(). 31 | */ 32 | template 33 | inline void Swap(T& a, T& b) RAPIDJSON_NOEXCEPT { 34 | T tmp = a; 35 | a = b; 36 | b = tmp; 37 | } 38 | 39 | } // namespace internal 40 | RAPIDJSON_NAMESPACE_END 41 | 42 | #if defined(__clang__) 43 | RAPIDJSON_DIAG_POP 44 | #endif 45 | 46 | #endif // RAPIDJSON_INTERNAL_SWAP_H_ 47 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/include_dirs.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | console.log(path.join(path.relative('.', __dirname), 'include')); 3 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "RapidJSON", 3 | "keywords": "json, sax, dom, parser, generator", 4 | "description": "A fast JSON parser/generator for C++ with both SAX/DOM style API", 5 | "include": "include", 6 | "examples": "example/*/*.cpp", 7 | "repository": 8 | { 9 | "type": "git", 10 | "url": "https://github.com/miloyip/rapidjson" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rapidjson", 3 | "version": "1.0.4", 4 | "description": "![](doc/logo/rapidjson.png)", 5 | "main": "include_dirs.js", 6 | "directories": { 7 | "doc": "doc", 8 | "example": "example", 9 | "test": "test" 10 | }, 11 | "scripts": { 12 | "test": "echo \"Error: no test specified\" && exit 1" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/miloyip/rapidjson.git" 17 | }, 18 | "author": "", 19 | "license": "ISC", 20 | "bugs": { 21 | "url": "https://github.com/miloyip/rapidjson/issues" 22 | }, 23 | "homepage": "https://github.com/miloyip/rapidjson#readme" 24 | } 25 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(GTestSrc) 2 | 3 | IF(GTESTSRC_FOUND) 4 | enable_testing() 5 | 6 | if (WIN32 AND (NOT CYGWIN) AND (NOT MINGW)) 7 | set(gtest_disable_pthreads ON) 8 | set(gtest_force_shared_crt ON) 9 | endif() 10 | 11 | add_subdirectory(${GTEST_SOURCE_DIR} ${CMAKE_BINARY_DIR}/googletest) 12 | include_directories(SYSTEM ${GTEST_INCLUDE_DIR}) 13 | 14 | set(TEST_LIBRARIES gtest gtest_main) 15 | 16 | add_custom_target(tests ALL) 17 | add_subdirectory(perftest) 18 | add_subdirectory(unittest) 19 | 20 | ENDIF(GTESTSRC_FOUND) 21 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/test/perftest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(PERFTEST_SOURCES 2 | misctest.cpp 3 | perftest.cpp 4 | platformtest.cpp 5 | rapidjsontest.cpp 6 | schematest.cpp) 7 | 8 | add_executable(perftest ${PERFTEST_SOURCES}) 9 | target_link_libraries(perftest ${TEST_LIBRARIES}) 10 | 11 | add_dependencies(tests perftest) 12 | 13 | find_program(CCACHE_FOUND ccache) 14 | if(CCACHE_FOUND) 15 | set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) 16 | set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) 17 | if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") 18 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics") 19 | endif() 20 | endif(CCACHE_FOUND) 21 | 22 | IF(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug")) 23 | add_test(NAME perftest 24 | COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/perftest 25 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) 26 | ENDIF() 27 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/test/perftest/perftest.cpp: -------------------------------------------------------------------------------- 1 | // Tencent is pleased to support the open source community by making RapidJSON available. 2 | // 3 | // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. 4 | // 5 | // Licensed under the MIT License (the "License"); you may not use this file except 6 | // in compliance with the License. You may obtain a copy of the License at 7 | // 8 | // http://opensource.org/licenses/MIT 9 | // 10 | // Unless required by applicable law or agreed to in writing, software distributed 11 | // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 12 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the 13 | // specific language governing permissions and limitations under the License. 14 | 15 | #include "perftest.h" 16 | 17 | int main(int argc, char **argv) { 18 | #if _MSC_VER 19 | _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); 20 | //void *testWhetherMemoryLeakDetectionWorks = malloc(1); 21 | #endif 22 | ::testing::InitGoogleTest(&argc, argv); 23 | return RUN_ALL_TESTS(); 24 | } 25 | -------------------------------------------------------------------------------- /mot/3rd/rapidjson-1.1.0/test/unittest/strfunctest.cpp: -------------------------------------------------------------------------------- 1 | // Tencent is pleased to support the open source community by making RapidJSON available. 2 | // 3 | // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. 4 | // 5 | // Licensed under the MIT License (the "License"); you may not use this file except 6 | // in compliance with the License. You may obtain a copy of the License at 7 | // 8 | // http://opensource.org/licenses/MIT 9 | // 10 | // Unless required by applicable law or agreed to in writing, software distributed 11 | // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 12 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the 13 | // specific language governing permissions and limitations under the License. 14 | 15 | #include "unittest.h" 16 | #include "rapidjson/internal/strfunc.h" 17 | 18 | using namespace rapidjson; 19 | using namespace rapidjson::internal; 20 | 21 | TEST(StrFunc, CountStringCodePoint) { 22 | SizeType count; 23 | EXPECT_TRUE(CountStringCodePoint >("", 0, &count)); 24 | EXPECT_EQ(0u, count); 25 | EXPECT_TRUE(CountStringCodePoint >("Hello", 5, &count)); 26 | EXPECT_EQ(5u, count); 27 | EXPECT_TRUE(CountStringCodePoint >("\xC2\xA2\xE2\x82\xAC\xF0\x9D\x84\x9E", 9, &count)); // cents euro G-clef 28 | EXPECT_EQ(3u, count); 29 | EXPECT_FALSE(CountStringCodePoint >("\xC2\xA2\xE2\x82\xAC\xF0\x9D\x84\x9E\x80", 10, &count)); 30 | } 31 | -------------------------------------------------------------------------------- /mot/DeepAppearanceDescriptor/inc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(DeepAppearanceDescriptor_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/dataType.h 3 | ${CMAKE_CURRENT_SOURCE_DIR}/FeatureTensor.h 4 | ${CMAKE_CURRENT_SOURCE_DIR}/model.h 5 | PARENT_SCOPE 6 | ) -------------------------------------------------------------------------------- /mot/DeepAppearanceDescriptor/inc/FeatureTensor.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _CITY_FEATURE_H 3 | #define _CITY_FEATURE_H 4 | #include "opencv2/opencv.hpp" 5 | #include "opencv2/core/core.hpp" 6 | #include "opencv2/highgui/highgui.hpp" 7 | #include "rapidjson/document.h" 8 | #include "rapidjson/writer.h" 9 | #include "rapidjson/stringbuffer.h" 10 | 11 | #include "model.h" 12 | #include "dataType.h" 13 | #include "city_tracker.h" 14 | 15 | typedef unsigned char uint8; 16 | 17 | class FeatureTensor 18 | { 19 | public: 20 | static FeatureTensor* getInstance(); 21 | bool getRectsFeature(DETECTIONS &match_detect_b, 22 | DETECTIONS &create_detect_box,int frame_id,PARAM_S¶ms); 23 | private: 24 | FeatureTensor(); 25 | FeatureTensor(const FeatureTensor&); 26 | FeatureTensor& operator = (const FeatureTensor&); 27 | static FeatureTensor* instance; 28 | 29 | bool parse_file(std::string file_path,DETECTIONS &match_detect_b, 30 | float match_score,std::vector&rect_list,std::vector&scores,PARAM_S¶ms); 31 | bool generate(DETECTIONS&match_detect_b,DETECTIONS&create_detect_box); 32 | 33 | ~FeatureTensor(); 34 | 35 | void tobuffer(const std::vector &imgs, uint8 *buf); 36 | 37 | bool init(); 38 | int feature_dim; 39 | 40 | public: 41 | void test(); 42 | }; 43 | #endif -------------------------------------------------------------------------------- /mot/DeepAppearanceDescriptor/inc/model.h: -------------------------------------------------------------------------------- 1 | #ifndef MODEL_H 2 | #define MODEL_H 3 | #include "dataType.h" 4 | 5 | 6 | // * Each rect's data structure. 7 | // * tlwh: topleft point & (w,h) 8 | // * confidence: detection confidence. 9 | // * feature: the rect's 128d feature. 10 | // */ 11 | class DETECTION_ROW 12 | { 13 | public: 14 | DETECTION_ROW(); 15 | ~DETECTION_ROW(); 16 | bool is_feature; 17 | DETECTBOX tlwh; 18 | float confidence; 19 | FEATURE feature; 20 | DETECTBOX to_xyah() const; 21 | DETECTBOX to_tlbr() const; 22 | }; 23 | 24 | typedef std::vector DETECTIONS; 25 | 26 | 27 | 28 | #endif // MODEL_H 29 | -------------------------------------------------------------------------------- /mot/DeepAppearanceDescriptor/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(DeepAppearanceDescriptor_SOURCES 2 | ${CMAKE_CURRENT_SOURCE_DIR}/FeatureTensor.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/model.cpp 4 | PARENT_SCOPE 5 | ) -------------------------------------------------------------------------------- /mot/DeepAppearanceDescriptor/src/model.cpp: -------------------------------------------------------------------------------- 1 | #include "model.h" 2 | #include 3 | 4 | const float kRatio=0.5; 5 | enum DETECTBOX_IDX {IDX_X = 0, IDX_Y, IDX_W, IDX_H }; 6 | 7 | DETECTION_ROW::DETECTION_ROW() 8 | { 9 | is_feature = false; 10 | } 11 | DETECTION_ROW::~DETECTION_ROW() 12 | { 13 | 14 | } 15 | DETECTBOX DETECTION_ROW::to_xyah() const 16 | {//(centerx, centery, ration, h) 17 | DETECTBOX ret = tlwh; 18 | ret(0,IDX_X) += (ret(0, IDX_W)*kRatio); 19 | ret(0, IDX_Y) += (ret(0, IDX_H)*kRatio); 20 | ret(0, IDX_W) /= ret(0, IDX_H); 21 | return ret; 22 | } 23 | 24 | DETECTBOX DETECTION_ROW::to_tlbr() const 25 | {//(x,y,xx,yy) 26 | DETECTBOX ret = tlwh; 27 | ret(0, IDX_X) += ret(0, IDX_W); 28 | ret(0, IDX_Y) += ret(0, IDX_H); 29 | return ret; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /mot/KalmanFilter/inc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KalmanFilter_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/kalmanfilter.h 3 | ${CMAKE_CURRENT_SOURCE_DIR}/linear_assignment.h 4 | ${CMAKE_CURRENT_SOURCE_DIR}/nn_matching.h 5 | ${CMAKE_CURRENT_SOURCE_DIR}/track.h 6 | ${CMAKE_CURRENT_SOURCE_DIR}/tracker.h 7 | ${CMAKE_CURRENT_SOURCE_DIR}/city_tracker.h 8 | PARENT_SCOPE 9 | ) -------------------------------------------------------------------------------- /mot/KalmanFilter/inc/kalmanfilter.h: -------------------------------------------------------------------------------- 1 | #ifndef KALMANFILTER_H 2 | #define KALMANFILTER_H 3 | 4 | #include "dataType.h" 5 | 6 | class KalmanFilterTrack 7 | { 8 | public: 9 | static const double chi2inv95[10]; 10 | KalmanFilterTrack(); 11 | KAL_DATA initiate(const DETECTBOX& measurement); 12 | void predict(KAL_MEAN& mean, KAL_COVA& covariance); 13 | KAL_HDATA project(const KAL_MEAN& mean, const KAL_COVA& covariance); 14 | KAL_DATA update(const KAL_MEAN& mean, 15 | const KAL_COVA& covariance, 16 | const DETECTBOX& measurement); 17 | 18 | Eigen::Matrix gating_distance( 19 | const KAL_MEAN& mean, 20 | const KAL_COVA& covariance, 21 | const std::vector& measurements, 22 | bool only_position = false); 23 | 24 | private: 25 | Eigen::Matrix _motion_mat; 26 | Eigen::Matrix _update_mat; 27 | float _std_weight_position; 28 | float _std_weight_velocity; 29 | }; 30 | 31 | #endif // KALMANFILTER_H 32 | -------------------------------------------------------------------------------- /mot/KalmanFilter/inc/nn_matching.h: -------------------------------------------------------------------------------- 1 | #ifndef NN_MATCHING_H 2 | #define NN_MATCHING_H 3 | 4 | #include "dataType.h" 5 | 6 | #include 7 | 8 | //A tool to calculate distance; 9 | class NearNeighborDisMetric{ 10 | public: 11 | enum METRIC_TYPE{euclidean=1, cosine}; 12 | NearNeighborDisMetric(METRIC_TYPE metric, 13 | float matching_threshold, 14 | int budget); 15 | DYNAMICM distance(const FEATURESS& features, const std::vector &targets); 16 | // void partial_fit(FEATURESS& features, std::vector targets, std::vector active_targets); 17 | void partial_fit(std::vector& tid_feats, std::vector& active_targets); 18 | float mating_threshold; 19 | 20 | private: 21 | typedef Eigen::VectorXf (NearNeighborDisMetric::*PTRFUN)(const FEATURESS&, const FEATURESS&); 22 | Eigen::VectorXf _nncosine_distance(const FEATURESS& x, const FEATURESS& y); 23 | Eigen::VectorXf _nneuclidean_distance(const FEATURESS& x, const FEATURESS& y); 24 | 25 | Eigen::MatrixXf _pdist(const FEATURESS& x, const FEATURESS& y); 26 | Eigen::MatrixXf _cosine_distance(const FEATURESS & a, const FEATURESS& b, bool data_is_normalized = false); 27 | private: 28 | PTRFUN _metric; 29 | int budget; 30 | public: 31 | std::map samples; 32 | }; 33 | 34 | #endif // NN_MATCHING_H 35 | -------------------------------------------------------------------------------- /mot/KalmanFilter/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KalmanFilter_SOURCES 2 | ${CMAKE_CURRENT_SOURCE_DIR}/kalmanfilter.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/linear_assignment.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/nn_matching.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/track.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/tracker.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/city_tracker.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp 9 | PARENT_SCOPE 10 | ) -------------------------------------------------------------------------------- /mot/MOG/inc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(MOG_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/bgm.h 3 | PARENT_SCOPE 4 | ) -------------------------------------------------------------------------------- /mot/MOG/inc/bgm.h: -------------------------------------------------------------------------------- 1 | #ifndef _SEG_BG_ 2 | #define _SEG_BG_ 3 | 4 | 5 | #include "opencv2/core/cuda.hpp" 6 | #include "opencv2/cudabgsegm.hpp" 7 | #include "opencv2/video.hpp" 8 | #include 9 | #include "opencv2/opencv_modules.hpp" 10 | 11 | #include "common_data.h" 12 | #include 13 | #include 14 | #include 15 | 16 | using namespace cv; 17 | using namespace cv::cuda; 18 | 19 | class SegmBg 20 | { 21 | 22 | public: 23 | SegmBg(int init_frame_num,std::string image_path); 24 | ~SegmBg(); 25 | 26 | public: 27 | 28 | bool useRoi; 29 | 30 | std::string m_image_path; 31 | 32 | int m_init_frame_num; 33 | 34 | cv::Mat cpu_foreground; 35 | 36 | cv::cuda::GpuMat gpu_fore_ground; 37 | 38 | cv::Mat cup_back_ground; 39 | 40 | cv::cuda::GpuMat gpu_back_ground; 41 | 42 | 43 | cv::Ptr mog2; 44 | 45 | RET_INFO init_model(std::string image_path,int m_init_frame_numl); 46 | 47 | RET_INFO get_foreground_mask(cv::Mat &frame,cv::Mat &mask,float learing_rate); 48 | 49 | RET_INFO get_background_image(cv::Mat &back_ground_image); 50 | 51 | private: 52 | int randomInt(int minVal, int maxVal); 53 | GpuMat createMat(Size size, int type, bool useRoi=false); 54 | GpuMat loadMat(const Mat& m, bool useRoi); 55 | 56 | }; 57 | 58 | 59 | #endif -------------------------------------------------------------------------------- /mot/MOG/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(MOG_SOURCES 2 | ${CMAKE_CURRENT_SOURCE_DIR}/bgm.cpp 3 | PARENT_SCOPE 4 | ) -------------------------------------------------------------------------------- /mot/MunkresAssignment/inc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(MunkresAssignment_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/hungarianoper.h 3 | ${CMAKE_CURRENT_SOURCE_DIR}/matrix.h 4 | ${CMAKE_CURRENT_SOURCE_DIR}/munkres.h 5 | PARENT_SCOPE 6 | ) -------------------------------------------------------------------------------- /mot/MunkresAssignment/inc/hungarianoper.h: -------------------------------------------------------------------------------- 1 | #ifndef HUNGARIANOPER_H 2 | #define HUNGARIANOPER_H 3 | #include "munkres.h" 4 | 5 | #include "dataType.h" 6 | 7 | class HungarianOper { 8 | public: 9 | static Eigen::Matrix Solve(const DYNAMICM &cost_matrix); 10 | }; 11 | 12 | #endif // HUNGARIANOPER_H 13 | -------------------------------------------------------------------------------- /mot/MunkresAssignment/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(MunkresAssignment_SOURCES 2 | ${CMAKE_CURRENT_SOURCE_DIR}/hungarianoper.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/munkres.cpp 4 | PARENT_SCOPE 5 | ) -------------------------------------------------------------------------------- /mot/MunkresAssignment/src/hungarianoper.cpp: -------------------------------------------------------------------------------- 1 | #include "hungarianoper.h" 2 | 3 | Eigen::Matrix HungarianOper::Solve(const DYNAMICM &cost_matrix) 4 | { 5 | int rows = cost_matrix.rows(); 6 | int cols = cost_matrix.cols(); 7 | Matrix matrix(rows, cols); 8 | for (int row = 0; row < rows; row++) { 9 | for (int col = 0; col < cols; col++) { 10 | matrix(row, col) = cost_matrix(row, col); 11 | } 12 | } 13 | //Munkres get matrix; 14 | Munkres m; 15 | m.solve(matrix); 16 | 17 | // 18 | std::vector> pairs; 19 | for (int row = 0; row < rows; row++) { 20 | for (int col = 0; col < cols; col++) { 21 | int tmp = (int)matrix(row, col); 22 | if (tmp == 0) pairs.push_back(std::make_pair(row, col)); 23 | } 24 | } 25 | // 26 | int count = pairs.size(); 27 | Eigen::Matrix re(count, 2); 28 | for (int i = 0; i < count; i++) { 29 | re(i, 0) = pairs[i].first; 30 | re(i, 1) = pairs[i].second; 31 | } 32 | return re; 33 | }//end Solve; 34 | -------------------------------------------------------------------------------- /mot/MunkresAssignment/src/munkres.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2007 John Weaver 3 | * Copyright (c) 2015 Miroslav Krajicek 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include "munkres.h" 21 | 22 | template class Munkres; 23 | template class Munkres; 24 | template class Munkres; 25 | 26 | -------------------------------------------------------------------------------- /mot/OpticalFlow/inc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(OPTICAL_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/ai_define.h 3 | ${CMAKE_CURRENT_SOURCE_DIR}/MedianFlow.h 4 | ${CMAKE_CURRENT_SOURCE_DIR}/OpticalFlow.h 5 | PARENT_SCOPE 6 | ) -------------------------------------------------------------------------------- /mot/OpticalFlow/inc/OpticalFlow.h: -------------------------------------------------------------------------------- 1 | // 2 | // OpticalFlow.h 3 | // MedianFlow 4 | // 5 | // Created by 陈裕昕 on 10/15/14. 6 | // Copyright (c) 2014 陈裕昕. All rights reserved. 7 | // 8 | 9 | #ifndef __MedianFlow__OpticalFlow__ 10 | #define __MedianFlow__OpticalFlow__ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include "define_info.h" 17 | 18 | using namespace std; 19 | using namespace cv; 20 | 21 | class OpticalFlow 22 | { 23 | private: 24 | Mat prevImg, nextImg; 25 | 26 | public: 27 | OpticalFlow(); 28 | 29 | // prevImg & nextImg should be CV_8U 30 | OpticalFlow(const Mat &prevImg, const Mat &nextImg); 31 | 32 | ~OpticalFlow(); 33 | 34 | void trackPts(vector &pts, vector &retPts, vector &status); 35 | 36 | }; 37 | 38 | #endif /* defined(__MedianFlow__OpticalFlow__) */ 39 | -------------------------------------------------------------------------------- /mot/OpticalFlow/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(OPTICAL_SOURCES 2 | ${CMAKE_CURRENT_SOURCE_DIR}/MedianFlow.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/OpticalFlow.cpp 4 | PARENT_SCOPE 5 | ) -------------------------------------------------------------------------------- /mot/OpticalFlow/src/OpticalFlow.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // OpticalFlow.cpp 3 | // MedianFlow 4 | // 5 | // Created by 陈裕昕 on 10/15/14. 6 | // Copyright (c) 2014 陈裕昕. All rights reserved. 7 | // 8 | 9 | #include "OpticalFlow.h" 10 | 11 | OpticalFlow::OpticalFlow() 12 | { 13 | 14 | } 15 | 16 | OpticalFlow::OpticalFlow(const Mat &prevImg, const Mat &nextImg) 17 | { 18 | this->prevImg = prevImg; 19 | this->nextImg = nextImg; 20 | } 21 | 22 | OpticalFlow::~OpticalFlow() 23 | { 24 | 25 | } 26 | 27 | void OpticalFlow::trackPts(vector &pts, vector &retPts, vector &status) 28 | { 29 | vector err; 30 | 31 | calcOpticalFlowPyrLK(prevImg, nextImg, pts, retPts, status, err, Size(21, 21), 5, cvTermCriteria(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 30, 0.01), OPTFLOW_USE_INITIAL_FLOW); 32 | } -------------------------------------------------------------------------------- /mot/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(COMMON_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/common_data.h 3 | PARENT_SCOPE 4 | ) -------------------------------------------------------------------------------- /mot/common/common_data.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMMON_DEFINE_ 2 | #define _COMMON_DEFINE_ 3 | 4 | #include 5 | 6 | typedef struct res_info 7 | { 8 | std::string message; 9 | bool ret; 10 | res_info() 11 | { 12 | message = ""; 13 | ret = true; 14 | } 15 | } RET_INFO; 16 | 17 | #endif -------------------------------------------------------------------------------- /mot/eco/inc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(ECO_HEADERS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/debug.h 3 | ${CMAKE_CURRENT_SOURCE_DIR}/eco.hpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/feature_extractor.hpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/feature_operator.hpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/ffttools.hpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/fhog.hpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/gradient.hpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/interpolator.hpp 10 | ${CMAKE_CURRENT_SOURCE_DIR}/metrics.hpp 11 | ${CMAKE_CURRENT_SOURCE_DIR}/parameters.hpp 12 | ${CMAKE_CURRENT_SOURCE_DIR}/recttools.hpp 13 | ${CMAKE_CURRENT_SOURCE_DIR}/sample_update.hpp 14 | ${CMAKE_CURRENT_SOURCE_DIR}/scale_filter.hpp 15 | ${CMAKE_CURRENT_SOURCE_DIR}/sse2neon.hpp 16 | ${CMAKE_CURRENT_SOURCE_DIR}/training.hpp 17 | ${CMAKE_CURRENT_SOURCE_DIR}/vot.hpp 18 | ${CMAKE_CURRENT_SOURCE_DIR}/wrappers.hpp 19 | ${CMAKE_CURRENT_SOURCE_DIR}/optimize_scores.hpp 20 | ${CMAKE_CURRENT_SOURCE_DIR}/regularization_filter.hpp 21 | ${CMAKE_CURRENT_SOURCE_DIR}/sse.hpp 22 | PARENT_SCOPE 23 | ) -------------------------------------------------------------------------------- /mot/eco/inc/interpolator.hpp: -------------------------------------------------------------------------------- 1 | #ifndef INTERPOLATOR_HPP 2 | #define INTERPOLATOR_HPP 3 | 4 | #include 5 | #include 6 | #include "debug.hpp" 7 | 8 | namespace eco{ 9 | class Interpolator 10 | { 11 | public: 12 | Interpolator(); 13 | virtual ~Interpolator(); 14 | static inline float mat_cos1(float x) 15 | { 16 | return (cos(x * M_PI)); 17 | } 18 | static inline float mat_sin1(float x) 19 | { 20 | return (sin(x * M_PI)); 21 | } 22 | static inline float mat_cos2(float x) 23 | { 24 | return (cos(2 * x * M_PI)); 25 | } 26 | static inline float mat_sin2(float x) 27 | { 28 | return (sin(2 * x * M_PI)); 29 | } 30 | static inline float mat_cos4(float x) 31 | { 32 | return (cos(4 * x * M_PI)); 33 | } 34 | static inline float mat_sin4(float x) 35 | { 36 | return (sin(4 * x * M_PI)); 37 | } 38 | 39 | static void get_interp_fourier(cv::Size filter_sz, 40 | cv::Mat &interp1_fs, 41 | cv::Mat &interp2_fs, 42 | float a); 43 | 44 | static cv::Mat cubic_spline_fourier(cv::Mat f, float a); 45 | }; 46 | } 47 | 48 | #endif -------------------------------------------------------------------------------- /mot/eco/inc/metrics.hpp: -------------------------------------------------------------------------------- 1 | #ifndef METRICS_HPP 2 | #define METRICS_HPP 3 | 4 | //#include 5 | #include 6 | #include 7 | 8 | class Metrics 9 | { 10 | public: 11 | float center_error(const cv::Rect2f bbox, const cv::Rect2f bboxGroundtruth); 12 | float iou(const cv::Rect2f bbox, const cv::Rect2f bboxGroundtruth); 13 | cv::Rect2f intersection(const cv::Rect2f bbox, 14 | const cv::Rect2f bboxGroundtruth); 15 | float auc(); 16 | }; 17 | 18 | #endif -------------------------------------------------------------------------------- /mot/eco/inc/optimize_scores.hpp: -------------------------------------------------------------------------------- 1 | #ifndef OPTIMIZE_SCORES_HPP 2 | #define OPTIMIZE_SCORES_HPP 3 | 4 | //#include 5 | #include 6 | 7 | #include "ffttools.hpp" 8 | #include "debug.hpp" 9 | 10 | namespace eco 11 | { 12 | class OptimizeScores 13 | { 14 | public: 15 | virtual ~OptimizeScores() {} 16 | OptimizeScores() {} 17 | OptimizeScores(std::vector &scores_fs, int ite) 18 | : scores_fs_(scores_fs), iterations_(ite) {} 19 | 20 | void compute_scores(); 21 | 22 | inline int get_scale_ind() const { return scale_ind_; } 23 | inline float get_disp_row() const { return disp_row_; } 24 | inline float get_disp_col() const { return disp_col_; } 25 | inline float get_max_score() const { return max_score_; } 26 | 27 | private: 28 | std::vector scores_fs_; 29 | int iterations_; 30 | 31 | int scale_ind_; 32 | float disp_row_; 33 | float disp_col_; 34 | float max_score_; 35 | }; 36 | } // namespace eco 37 | #endif 38 | -------------------------------------------------------------------------------- /mot/eco/inc/regularization_filter.hpp: -------------------------------------------------------------------------------- 1 | #ifndef REGULARIZATION_FILTER_HPP 2 | #define REGULARIZATION_FILTER_HPP 3 | 4 | #include 5 | #include 6 | 7 | #include "parameters.hpp" 8 | #include "ffttools.hpp" 9 | #include "debug.hpp" 10 | 11 | namespace eco 12 | { 13 | cv::Mat get_regularization_filter(cv::Size sz, 14 | cv::Size2f target_sz, 15 | const EcoParameters ¶ms); 16 | } 17 | #endif -------------------------------------------------------------------------------- /mot/eco/inc/scale_filter.hpp: -------------------------------------------------------------------------------- 1 | #ifndef SCALE_FILTER_HPP 2 | #define SCALE_FILTER_HPP 3 | 4 | #include "parameters.hpp" 5 | #include "ffttools.hpp" 6 | #include "recttools.hpp" 7 | #include "feature_extractor.hpp" 8 | #include "debug.hpp" 9 | #include 10 | 11 | namespace eco 12 | { 13 | 14 | class ScaleFilter 15 | { 16 | public: 17 | ScaleFilter(){}; 18 | virtual ~ScaleFilter(){}; 19 | void init(int &nScales, float &scale_step, const EcoParameters ¶ms); 20 | float scale_filter_track(const cv::Mat &im, const cv::Point2f &pos, const cv::Size2f &base_target_sz, const float ¤tScaleFactor, const EcoParameters ¶ms); 21 | cv::Mat extract_scale_sample(const cv::Mat &im, const cv::Point2f &posf, const cv::Size2f &base_target_sz, vector &scaleFactors, const cv::Size &scale_model_sz); 22 | 23 | private: 24 | vector scaleSizeFactors_; 25 | vector interpScaleFactors_; 26 | cv::Mat yf_; 27 | vector window_; 28 | bool max_scale_dim_; 29 | }; 30 | } // namespace eco 31 | #endif -------------------------------------------------------------------------------- /mot/eco/lib/libeco.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/eco/lib/libeco.so -------------------------------------------------------------------------------- /mot/mask/c041/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/1.jpg -------------------------------------------------------------------------------- /mot/mask/c041/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/10.jpg -------------------------------------------------------------------------------- /mot/mask/c041/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/2.jpg -------------------------------------------------------------------------------- /mot/mask/c041/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/3.jpg -------------------------------------------------------------------------------- /mot/mask/c041/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/4.jpg -------------------------------------------------------------------------------- /mot/mask/c041/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/5.jpg -------------------------------------------------------------------------------- /mot/mask/c041/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/6.jpg -------------------------------------------------------------------------------- /mot/mask/c041/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/7.jpg -------------------------------------------------------------------------------- /mot/mask/c041/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/8.jpg -------------------------------------------------------------------------------- /mot/mask/c041/enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/enter.jpg -------------------------------------------------------------------------------- /mot/mask/c041/leave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/leave.jpg -------------------------------------------------------------------------------- /mot/mask/c041/mask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/mask.jpg -------------------------------------------------------------------------------- /mot/mask/c041/unmask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c041/unmask.jpg -------------------------------------------------------------------------------- /mot/mask/c042/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/1.jpg -------------------------------------------------------------------------------- /mot/mask/c042/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/10.jpg -------------------------------------------------------------------------------- /mot/mask/c042/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/2.jpg -------------------------------------------------------------------------------- /mot/mask/c042/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/3.jpg -------------------------------------------------------------------------------- /mot/mask/c042/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/4.jpg -------------------------------------------------------------------------------- /mot/mask/c042/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/5.jpg -------------------------------------------------------------------------------- /mot/mask/c042/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/6.jpg -------------------------------------------------------------------------------- /mot/mask/c042/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/7.jpg -------------------------------------------------------------------------------- /mot/mask/c042/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/8.jpg -------------------------------------------------------------------------------- /mot/mask/c042/enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/enter.jpg -------------------------------------------------------------------------------- /mot/mask/c042/leave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/leave.jpg -------------------------------------------------------------------------------- /mot/mask/c042/mask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/mask.jpg -------------------------------------------------------------------------------- /mot/mask/c042/unmask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c042/unmask.jpg -------------------------------------------------------------------------------- /mot/mask/c043/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/1.jpg -------------------------------------------------------------------------------- /mot/mask/c043/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/10.jpg -------------------------------------------------------------------------------- /mot/mask/c043/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/2.jpg -------------------------------------------------------------------------------- /mot/mask/c043/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/3.jpg -------------------------------------------------------------------------------- /mot/mask/c043/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/4.jpg -------------------------------------------------------------------------------- /mot/mask/c043/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/5.jpg -------------------------------------------------------------------------------- /mot/mask/c043/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/6.jpg -------------------------------------------------------------------------------- /mot/mask/c043/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/7.jpg -------------------------------------------------------------------------------- /mot/mask/c043/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/8.jpg -------------------------------------------------------------------------------- /mot/mask/c043/enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/enter.jpg -------------------------------------------------------------------------------- /mot/mask/c043/leave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/leave.jpg -------------------------------------------------------------------------------- /mot/mask/c043/mask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/mask.jpg -------------------------------------------------------------------------------- /mot/mask/c043/unmask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c043/unmask.jpg -------------------------------------------------------------------------------- /mot/mask/c044/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/1.jpg -------------------------------------------------------------------------------- /mot/mask/c044/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/10.jpg -------------------------------------------------------------------------------- /mot/mask/c044/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/2.jpg -------------------------------------------------------------------------------- /mot/mask/c044/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/3.jpg -------------------------------------------------------------------------------- /mot/mask/c044/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/4.jpg -------------------------------------------------------------------------------- /mot/mask/c044/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/5.jpg -------------------------------------------------------------------------------- /mot/mask/c044/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/6.jpg -------------------------------------------------------------------------------- /mot/mask/c044/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/7.jpg -------------------------------------------------------------------------------- /mot/mask/c044/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/8.jpg -------------------------------------------------------------------------------- /mot/mask/c044/enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/enter.jpg -------------------------------------------------------------------------------- /mot/mask/c044/leave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/leave.jpg -------------------------------------------------------------------------------- /mot/mask/c044/mask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/mask.jpg -------------------------------------------------------------------------------- /mot/mask/c044/unmask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c044/unmask.jpg -------------------------------------------------------------------------------- /mot/mask/c045/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/1.jpg -------------------------------------------------------------------------------- /mot/mask/c045/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/10.jpg -------------------------------------------------------------------------------- /mot/mask/c045/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/2.jpg -------------------------------------------------------------------------------- /mot/mask/c045/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/3.jpg -------------------------------------------------------------------------------- /mot/mask/c045/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/4.jpg -------------------------------------------------------------------------------- /mot/mask/c045/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/5.jpg -------------------------------------------------------------------------------- /mot/mask/c045/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/6.jpg -------------------------------------------------------------------------------- /mot/mask/c045/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/7.jpg -------------------------------------------------------------------------------- /mot/mask/c045/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/8.jpg -------------------------------------------------------------------------------- /mot/mask/c045/enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/enter.jpg -------------------------------------------------------------------------------- /mot/mask/c045/leave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/leave.jpg -------------------------------------------------------------------------------- /mot/mask/c045/mask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/mask.jpg -------------------------------------------------------------------------------- /mot/mask/c045/unmask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c045/unmask.jpg -------------------------------------------------------------------------------- /mot/mask/c046/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/1.jpg -------------------------------------------------------------------------------- /mot/mask/c046/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/10.jpg -------------------------------------------------------------------------------- /mot/mask/c046/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/2.jpg -------------------------------------------------------------------------------- /mot/mask/c046/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/3.jpg -------------------------------------------------------------------------------- /mot/mask/c046/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/4.jpg -------------------------------------------------------------------------------- /mot/mask/c046/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/5.jpg -------------------------------------------------------------------------------- /mot/mask/c046/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/6.jpg -------------------------------------------------------------------------------- /mot/mask/c046/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/7.jpg -------------------------------------------------------------------------------- /mot/mask/c046/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/8.jpg -------------------------------------------------------------------------------- /mot/mask/c046/enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/enter.jpg -------------------------------------------------------------------------------- /mot/mask/c046/leave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/leave.jpg -------------------------------------------------------------------------------- /mot/mask/c046/mask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/mask.jpg -------------------------------------------------------------------------------- /mot/mask/c046/unmask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/mask/c046/unmask.jpg -------------------------------------------------------------------------------- /mot/re_region/c041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/re_region/c041.jpg -------------------------------------------------------------------------------- /mot/re_region/c042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/re_region/c042.jpg -------------------------------------------------------------------------------- /mot/re_region/c043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/re_region/c043.jpg -------------------------------------------------------------------------------- /mot/re_region/c044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/re_region/c044.jpg -------------------------------------------------------------------------------- /mot/re_region/c045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/re_region/c045.jpg -------------------------------------------------------------------------------- /mot/re_region/c046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/re_region/c046.jpg -------------------------------------------------------------------------------- /mot/region/c041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region/c041.jpg -------------------------------------------------------------------------------- /mot/region/c042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region/c042.jpg -------------------------------------------------------------------------------- /mot/region/c043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region/c043.jpg -------------------------------------------------------------------------------- /mot/region/c044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region/c044.jpg -------------------------------------------------------------------------------- /mot/region/c045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region/c045.jpg -------------------------------------------------------------------------------- /mot/region/c046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region/c046.jpg -------------------------------------------------------------------------------- /mot/region_cowd/c041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region_cowd/c041.jpg -------------------------------------------------------------------------------- /mot/region_cowd/c042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region_cowd/c042.jpg -------------------------------------------------------------------------------- /mot/region_cowd/c043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region_cowd/c043.jpg -------------------------------------------------------------------------------- /mot/region_cowd/c044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region_cowd/c044.jpg -------------------------------------------------------------------------------- /mot/region_cowd/c045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region_cowd/c045.jpg -------------------------------------------------------------------------------- /mot/region_cowd/c046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/mot/region_cowd/c046.jpg -------------------------------------------------------------------------------- /mot/run_mot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd tool 3 | python pre_process.py 4 | 5 | cd .. 6 | if [ ! -d "./build" ];then 7 | mkdir build 8 | else 9 | rm -rf ./build/* 10 | fi 11 | cd build && cmake .. && make -j4 12 | ./city_tracker 13 | 14 | cd ../tool 15 | python post_precess.py 16 | 17 | seqs=(c041 c042 c043 c044 c045 c046) 18 | # seqs=(c042) 19 | 20 | TrackOneSeq(){ 21 | seq=$1 22 | config=$2 23 | echo save_sot $seq with ${config} 24 | python save_mot.py ${seq} pp ${config} 25 | } 26 | 27 | for seq in ${seqs[@]} 28 | do 29 | TrackOneSeq ${seq} $1 & 30 | done 31 | wait 32 | -------------------------------------------------------------------------------- /reid/reid_inference/aictest.yml: -------------------------------------------------------------------------------- 1 | MODEL: 2 | PRETRAIN_CHOICE: 'self' 3 | METRIC_LOSS_TYPE: 'triplet' 4 | IF_LABELSMOOTH: 'off' 5 | IF_WITH_CENTER: 'no' 6 | NAME: 'resnet50_ibn_a' 7 | NO_MARGIN: True 8 | DEVICE_ID: ('1') 9 | 10 | INPUT: 11 | SIZE_TRAIN: [256, 256] 12 | SIZE_TEST: [256, 256] 13 | PROB: 0.5 # random horizontal flip 14 | RE_PROB: 0.5 # random erasing 15 | PADDING: 10 16 | 17 | DATASETS: 18 | NAMES: ('aic_sim') 19 | PLUS_NUM_ID: 100 20 | 21 | DATALOADER: 22 | SAMPLER: 'softmax_triplet' 23 | NUM_INSTANCE: 8 24 | NUM_WORKERS: 8 25 | 26 | SOLVER: 27 | OPTIMIZER_NAME: 'SGD' 28 | MAX_EPOCHS: 60 29 | BASE_LR: 0.01 30 | IMS_PER_BATCH: 96 31 | STEPS: [30, 50] 32 | GAMMA: 0.1 33 | WARMUP_FACTOR: 0.01 34 | WARMUP_EPOCHS: 10 35 | WARMUP_METHOD: 'linear' 36 | LARGE_FC_LR: False 37 | CHECKPOINT_PERIOD: 60 38 | LOG_PERIOD: 200 39 | EVAL_PERIOD: 10 40 | FP16_ENABLED: True 41 | 42 | TEST: 43 | IMS_PER_BATCH: 128 44 | RE_RANKING: False 45 | RE_RANKING_TRACK: True 46 | NECK_FEAT: 'after' 47 | FEAT_NORM: 'yes' 48 | FLIP_FEATS: 'yes' 49 | EVAL: True 50 | OUTPUT_DIR: './exp' 51 | -------------------------------------------------------------------------------- /reid/reid_inference/baseline/config/__init__.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | """ 3 | @author: sherlock 4 | @contact: sherlockliao01@gmail.com 5 | """ 6 | 7 | from .defaults import _C as cfg 8 | from .defaults import _C as cfg_test 9 | -------------------------------------------------------------------------------- /reid/reid_inference/baseline/model/__init__.py: -------------------------------------------------------------------------------- 1 | from .make_model import make_model -------------------------------------------------------------------------------- /reid/reid_inference/baseline/model/backbones/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/reid/reid_inference/baseline/model/backbones/__init__.py -------------------------------------------------------------------------------- /reid/reid_inference/baseline/processor/__init__.py: -------------------------------------------------------------------------------- 1 | from .processor import do_train, do_inference,do_inference_query_mining,do_inference_Pseudo_track_rerank -------------------------------------------------------------------------------- /reid/reid_inference/reid_model.py: -------------------------------------------------------------------------------- 1 | import os 2 | from .baseline.config import cfg 3 | from .baseline.model import make_model 4 | 5 | 6 | def build_reid_model(_mcmt_cfg): 7 | abs_file = __file__ 8 | print("abs path is %s" % (__file__)) 9 | abs_dir = abs_file[:abs_file.rfind("/")] 10 | cfg.merge_from_file(os.path.join(abs_dir,'aictest.yml')) 11 | cfg.INPUT.SIZE_TEST = _mcmt_cfg.REID_SIZE_TEST 12 | cfg.MODEL.NAME = _mcmt_cfg.REID_BACKBONE 13 | model = make_model(cfg, num_class=100) 14 | model.load_param(_mcmt_cfg.REID_MODEL) 15 | 16 | return model,cfg 17 | -------------------------------------------------------------------------------- /reid/reid_model/dir: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coder-wangzhen/AIC22-MCVT/55489bc71666dea2ada31081ce46e947fc02cd5b/reid/reid_model/dir -------------------------------------------------------------------------------- /run_all.sh: -------------------------------------------------------------------------------- 1 | MCMT_CONFIG_FILE="aic_all.yml" 2 | #### Run Detector.#### 3 | cd detector/ 4 | python gen_images_aic.py ${MCMT_CONFIG_FILE} 5 | 6 | cd yolov5_2022/ 7 | bash gen_det.sh ${MCMT_CONFIG_FILE} 8 | 9 | #### Extract reid feautres.#### 10 | cd ../../reid/ 11 | python extract_image_feat.py "aic_reid1.yml" 12 | python extract_image_feat.py "aic_reid2.yml" 13 | python extract_image_feat.py "aic_reid3.yml" 14 | python merge_reid_feat.py ${MCMT_CONFIG_FILE} 15 | 16 | #### MOT. #### 17 | cd ../mot 18 | bash run_mot.sh ${MCMT_CONFIG_FILE} 19 | wait 20 | 21 | #### Get results. #### 22 | cd ../matching 23 | python trajectory_fusion.py ${MCMT_CONFIG_FILE} && python sub_cluster.py ${MCMT_CONFIG_FILE} && python gen_res.py ${MCMT_CONFIG_FILE} 24 | 25 | -------------------------------------------------------------------------------- /run_mcvt.sh: -------------------------------------------------------------------------------- 1 | MCMT_CONFIG_FILE="aic_all.yml" 2 | 3 | #### MOT. #### 4 | cd mot 5 | bash run_mot.sh ${MCMT_CONFIG_FILE} 6 | wait 7 | 8 | #### Get results. #### 9 | cd ../matching 10 | python trajectory_fusion.py ${MCMT_CONFIG_FILE} && python sub_cluster.py ${MCMT_CONFIG_FILE} && python gen_res.py ${MCMT_CONFIG_FILE} 11 | --------------------------------------------------------------------------------