diff --git a/.gitignore b/.gitignore index 86b7b9d..7cbf407 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Customized -weights/* +# weights/* !weights/ckpt.t7 !weights/DHN.pth !weights/osnet_x0_25.pth @@ -11,8 +11,8 @@ wandb/* track_result.txt .idea/ track_results/* -*.mp4 -*.mkv +# *.mp4 +# *.mkv temp.py demo_result/ diff --git a/ground_truth/A2A_002_gt.txt b/ground_truth/A2A_002_gt.txt new file mode 100644 index 0000000..5fe0c84 --- /dev/null +++ b/ground_truth/A2A_002_gt.txt @@ -0,0 +1,520 @@ +1,1,700.99,367.79,51.82,29.78,1,0,1 +2,1,699.18,362.17,49.03,28.79,1,0,1 +3,1,700.84,356.79,49.54,28.41,1,0,1 +4,1,698.00,350.29,50.00,30.05,1,0,1 +5,1,701.12,342.09,44.48,30.92,1,0,1 +6,1,697.37,335.89,50.83,29.56,1,0,1 +7,1,698.44,326.97,49.76,34.48,1,0,1 +8,1,694.93,323.41,54.35,31.36,1,0,1 +9,1,693.61,316.77,55.43,31.12,1,0,1 +10,1,694.88,308.77,52.00,34.00,1,0,1 +11,1,693.37,302.97,55.43,32.68,1,0,1 +12,1,692.73,297.41,55.18,33.12,1,0,1 +13,1,693.17,291.85,54.99,31.80,1,0,1 +14,1,692.04,286.25,54.99,31.65,1,0,1 +15,1,695.57,279.61,49.03,31.89,1,0,1 +16,1,692.49,274.93,51.47,30.29,1,0,1 +17,1,692.52,269.81,50.99,29.85,1,0,1 +18,1,693.17,264.73,52.30,30.68,1,0,1 +19,1,693.36,259.41,48.59,31.12,1,0,1 +20,1,691.16,255.61,51.47,28.48,1,0,1 +21,1,696.64,249.41,45.61,32.44,1,0,1 +22,1,692.73,245.41,52.35,30.44,1,0,1 +23,1,692.72,242.24,50.35,30.05,1,0,1 +24,1,698.05,237.81,46.55,31.61,1,0,1 +25,1,694.52,236.44,52.55,30.29,1,0,1 +26,1,692.52,233.11,54.11,32.05,1,0,1 +27,1,701.76,231.99,44.64,30.29,1,0,1 +28,1,696.28,228.00,51.43,31.61,1,0,1 +29,1,695.41,226.19,55.62,32.49,1,0,1 +30,1,704.44,224.19,45.91,31.85,1,0,1 +31,1,698.49,224.20,52.11,30.73,1,0,1 +32,1,697.57,223.76,54.35,30.92,1,0,1 +33,1,701.17,225.07,48.11,30.73,1,0,1 +34,1,702.69,224.00,48.59,30.92,1,0,1 +35,1,696.73,225.75,58.94,30.53,1,0,1 +36,1,700.45,226.83,50.83,31.85,1,0,1 +37,1,697.61,229.72,58.50,29.65,1,0,1 +38,1,698.49,230.64,51.03,33.56,1,0,1 +39,1,696.28,234.83,55.43,32.29,1,0,1 +40,1,698.68,237.71,57.23,29.85,1,0,1 +41,1,696.24,242.15,53.08,31.85,1,0,1 +42,1,695.12,245.03,56.44,32.29,1,0,1 +43,1,699.03,249.91,54.24,29.50,1,0,1 +44,1,694.68,254.83,60.44,32.00,1,0,1 +45,1,694.92,257.51,54.68,34.73,1,0,1 +46,1,697.80,264.79,50.88,32.29,1,0,1 +47,1,694.28,270.35,57.47,31.41,1,0,1 +48,1,694.53,273.91,54.11,33.17,1,0,1 +49,1,691.80,282.55,56.64,32.73,1,0,1 +50,1,690.00,288.34,54.88,30.73,1,0,1 +51,1,692.00,293.87,54.68,34.09,1,0,1 +52,1,689.36,298.55,56.20,34.29,1,0,1 +53,1,690.24,304.31,53.56,33.21,1,0,1 +54,1,688.44,309.23,58.00,34.05,1,0,1 +55,1,686.05,314.99,57.36,32.53,1,0,1 +56,1,687.12,318.99,56.24,34.29,1,0,1 +57,1,685.56,322.30,56.68,33.26,1,0,1 +58,1,684.92,326.59,57.08,34.92,1,0,1 +59,1,683.61,331.03,56.83,33.80,1,0,1 +60,1,685.12,336.11,57.76,32.77,1,0,1 +61,1,680.29,339.91,55.12,32.53,1,0,1 +62,1,678.92,340.35,61.32,36.77,1,0,1 +63,1,680.04,345.71,56.64,34.92,1,0,1 +64,1,676.73,350.35,60.83,35.17,1,0,1 +65,1,676.73,355.22,57.95,33.45,1,0,1 +66,1,681.80,358.34,53.08,35.85,1,0,1 +67,1,679.61,361.47,55.67,37.41,1,0,1 +68,1,677.01,365.66,61.43,36.33,1,0,1 +69,1,674.53,369.72,62.35,33.85,1,0,1 +70,1,674.49,369.71,59.80,36.33,1,0,1 +71,1,678.00,371.03,57.36,38.38,1,0,1 +72,1,677.12,372.39,58.44,38.09,1,0,1 +73,1,674.24,372.79,62.20,38.38,1,0,1 +74,1,676.00,370.00,60.00,42.49,1,0,1 +75,1,672.00,373.03,67.27,38.58,1,0,1 +76,1,673.12,370.59,59.36,41.02,1,0,1 +77,1,676.89,371.04,56.39,39.89,1,0,1 +78,1,674.05,369.07,62.11,37.85,1,0,1 +79,1,672.24,368.88,62.88,39.85,1,0,1 +80,1,674.00,366.00,62.24,38.97,1,0,1 +81,1,675.08,367.95,62.48,37.89,1,0,1 +82,1,676.63,364.84,60.05,36.77,1,0,1 +83,1,673.96,362.88,64.29,37.21,1,0,1 +84,1,674.20,362.88,64.00,37.85,1,0,1 +85,1,674.83,360.44,63.56,39.41,1,0,1 +86,1,674.44,357.56,64.64,40.68,1,0,1 +87,1,675.56,356.00,63.71,39.80,1,0,1 +88,1,676.00,356.00,64.83,38.68,1,0,1 +89,1,676.00,356.00,66.20,40.00,1,0,1 +90,1,672.93,353.95,68.35,37.45,1,0,1 +91,1,676.64,351.32,64.00,40.24,1,0,1 +92,1,676.88,350.00,67.32,37.41,1,0,1 +93,1,679.27,347.76,66.00,40.73,1,0,1 +94,1,680.64,345.31,63.56,41.17,1,0,1 +95,1,676.88,342.44,69.08,42.09,1,0,1 +96,1,677.75,343.96,70.59,40.05,1,0,1 +97,1,676.00,343.56,73.76,38.97,1,0,1 +98,1,675.66,342.63,69.91,42.09,1,0,1 +99,1,682.00,344.00,58.00,44.00,1,0,1 +100,1,677.85,345.32,68.50,42.68,1,0,1 +101,1,682.00,346.00,61.27,43.76,1,0,1 +102,1,679.57,349.56,69.03,43.32,1,0,1 +103,1,676.72,354.34,69.91,40.09,1,0,1 +104,1,676.88,354.88,72.44,43.36,1,0,1 +105,1,675.16,359.07,70.39,43.85,1,0,1 +106,1,673.96,362.16,74.48,43.89,1,0,1 +107,1,672.84,361.96,72.73,47.41,1,0,1 +108,1,671.52,364.63,77.61,43.02,1,0,1 +109,1,670.00,363.95,74.09,46.77,1,0,1 +110,1,672.49,364.44,71.71,45.36,1,0,1 +111,1,667.80,366.88,77.32,44.05,1,0,1 +112,1,662.88,365.56,82.48,46.00,1,0,1 +113,1,666.48,366.00,76.20,47.08,1,0,1 +114,1,664.00,365.32,81.36,47.36,1,0,1 +115,1,664.04,366.00,79.71,45.61,1,0,1 +116,1,660.33,365.56,82.70,45.80,1,0,1 +117,1,658.88,362.88,80.64,48.05,1,0,1 +118,1,658.68,361.99,78.20,46.29,1,0,1 +119,1,656.48,359.56,76.40,46.97,1,0,1 +120,1,654.69,354.93,80.83,46.53,1,0,1 +121,1,654.24,350.68,79.12,44.82,1,0,1 +122,1,655.16,344.33,75.91,46.00,1,0,1 +123,1,650.77,337.40,77.67,46.73,1,0,1 +124,1,644.97,332.25,85.43,45.65,1,0,1 +125,1,645.22,324.68,77.91,49.02,1,0,1 +126,1,641.16,317.81,83.27,48.77,1,0,1 +127,1,642.48,311.17,77.76,50.05,1,0,1 +128,1,634.08,304.53,81.91,48.29,1,0,1 +129,1,632.82,297.41,86.30,50.05,1,0,1 +130,1,626.09,290.48,88.39,50.09,1,0,1 +131,1,630.44,285.41,84.44,49.41,1,0,1 +132,1,628.29,275.84,86.44,53.85,1,0,1 +133,1,621.01,270.05,87.67,51.85,1,0,1 +134,1,622.00,262.53,86.64,50.48,1,0,1 +135,1,617.45,254.48,80.39,53.17,1,0,1 +136,1,613.46,247.61,87.87,54.73,1,0,1 +137,1,613.85,238.52,82.20,56.49,1,0,1 +138,1,609.17,234.49,83.91,54.73,1,0,1 +139,1,604.09,230.93,84.84,56.48,1,0,1 +140,1,606.05,226.00,78.44,58.05,1,0,1 +141,1,604.88,222.88,76.77,61.21,1,0,1 +142,1,596.49,218.00,80.05,64.44,1,0,1 +143,1,589.81,221.47,84.48,62.48,1,0,1 +144,1,590.20,218.63,82.29,65.41,1,0,1 +145,1,588.63,222.35,76.13,63.85,1,0,1 +146,1,584.88,227.22,82.92,61.85,1,0,1 +147,1,583.56,229.66,77.70,61.21,1,0,1 +148,1,581.75,236.75,79.21,58.53,1,0,1 +149,1,581.32,237.71,74.77,63.80,1,0,1 +150,1,577.51,244.54,82.73,58.82,1,0,1 +151,1,576.44,250.35,75.61,58.58,1,0,1 +152,1,569.32,255.28,80.92,56.33,1,0,1 +153,1,570.88,257.08,75.61,58.29,1,0,1 +154,1,570.04,261.75,75.17,55.41,1,0,1 +155,1,564.25,264.20,84.83,53.12,1,0,1 +156,1,557.56,267.07,83.36,56.09,1,0,1 +157,1,558.69,268.05,87.27,54.92,1,0,1 +158,1,552.68,268.69,94.11,57.21,1,0,1 +159,1,552.83,271.07,91.80,58.20,1,0,1 +160,1,547.99,270.88,92.40,58.92,1,0,1 +161,1,549.07,274.44,90.20,59.12,1,0,1 +162,1,544.84,281.52,90.59,56.04,1,0,1 +163,1,539.81,285.87,88.79,55.40,1,0,1 +164,1,538.29,289.28,90.94,57.17,1,0,1 +165,1,536.00,288.00,82.00,60.00,1,0,1 +166,1,532.00,288.00,88.00,62.00,1,0,1 +167,1,520.00,295.56,101.38,59.80,1,0,1 +168,1,517.40,297.56,101.53,58.92,1,0,1 +169,1,514.09,297.31,97.38,57.65,1,0,1 +170,1,514.00,298.00,97.47,56.92,1,0,1 +171,1,506.24,295.66,105.76,56.33,1,0,1 +172,1,506.48,292.15,101.76,59.26,1,0,1 +173,1,505.16,288.93,103.58,58.24,1,0,1 +174,1,505.56,286.25,101.87,56.73,1,0,1 +175,1,504.92,280.77,107.14,59.52,1,0,1 +176,1,502.49,275.31,107.91,60.49,1,0,1 +177,1,517.12,270.24,103.09,58.92,1,0,1 +178,1,512.24,264.53,109.38,59.12,1,0,1 +179,1,518.25,256.53,98.39,60.88,1,0,1 +180,1,523.12,249.36,99.67,61.17,1,0,1 +181,1,520.48,240.93,108.90,59.41,1,0,1 +182,1,520.53,230.73,108.61,62.24,1,0,1 +183,1,521.37,223.41,104.35,60.92,1,0,1 +184,1,514.04,214.69,103.91,62.53,1,0,1 +185,1,519.36,204.97,108.26,64.48,1,0,1 +186,1,514.49,198.28,118.06,64.05,1,0,1 +187,1,512.92,190.92,120.44,63.61,1,0,1 +188,1,507.84,186.73,122.59,63.56,1,0,1 +189,1,504.88,180.24,122.92,66.48,1,0,1 +190,1,500.20,174.93,130.24,65.80,1,0,1 +191,1,505.85,170.88,118.99,65.41,1,0,1 +192,1,503.85,168.48,115.38,64.88,1,0,1 +193,1,499.81,162.68,112.30,68.68,1,0,1 +194,1,491.01,160.25,122.26,67.95,1,0,1 +195,1,498.00,156.00,108.00,72.00,1,0,1 +196,1,488.04,154.24,111.71,67.36,1,0,1 +197,1,478.53,149.80,112.35,70.68,1,0,1 +198,1,466.81,148.88,124.90,68.48,1,0,1 +199,1,461.89,144.00,120.55,70.92,1,0,1 +200,1,454.78,141.07,119.91,72.73,1,0,1 +201,1,455.21,137.12,118.74,71.95,1,0,1 +202,1,447.61,134.83,125.27,71.65,1,0,1 +203,1,455.75,130.00,119.27,74.00,1,0,1 +204,1,456.00,127.56,120.00,78.00,1,0,1 +205,1,463.99,127.56,123.87,73.12,1,0,1 +206,1,475.95,124.64,125.87,75.85,1,0,1 +207,1,490.78,121.51,130.55,77.17,1,0,1 +208,1,509.43,120.19,131.62,74.29,1,0,1 +209,1,524.15,115.76,132.50,75.85,1,0,1 +210,1,538.39,112.84,127.82,76.33,1,0,1 +211,1,549.27,107.52,133.78,75.50,1,0,1 +212,1,560.88,103.31,123.03,80.05,1,0,1 +213,1,570.59,97.08,129.67,79.89,1,0,1 +214,1,577.51,94.88,127.43,79.12,1,0,1 +215,1,583.55,91.28,129.43,79.21,1,0,1 +216,1,597.47,87.72,128.15,79.65,1,0,1 +217,1,613.81,85.28,126.73,81.89,1,0,1 +218,1,619.90,84.39,136.79,83.21,1,0,1 +219,1,635.23,83.92,136.20,80.77,1,0,1 +220,1,652.50,83.08,136.88,82.09,1,0,1 +221,1,665.19,79.12,135.80,83.61,1,0,1 +222,1,673.51,74.79,134.59,82.38,1,0,1 +223,1,683.27,70.83,137.91,84.58,1,0,1 +224,1,690.36,64.63,140.39,87.45,1,0,1 +225,1,696.45,59.07,140.59,86.77,1,0,1 +226,1,705.51,54.88,139.03,90.92,1,0,1 +227,1,702.00,50.00,151.62,91.36,1,0,1 +228,1,711.12,48.44,155.05,91.12,1,0,1 +229,1,709.08,46.19,144.88,88.53,1,0,1 +230,1,713.36,42.45,150.99,91.27,1,0,1 +231,1,707.61,41.27,157.87,94.68,1,0,1 +232,1,708.53,42.00,157.53,91.56,1,0,1 +233,1,707.17,44.24,160.26,94.44,1,0,1 +234,1,703.17,47.23,158.55,97.21,1,0,1 +235,1,696.14,52.59,156.50,94.24,1,0,1 +236,1,700.24,56.59,151.76,98.24,1,0,1 +237,1,694.48,61.91,152.39,101.76,1,0,1 +238,1,684.33,71.86,157.91,101.76,1,0,1 +239,1,684.92,78.40,154.64,106.30,1,0,1 +240,1,677.16,85.03,160.15,98.68,1,0,1 +241,1,670.38,90.88,162.35,105.91,1,0,1 +242,1,669.60,96.39,161.52,106.79,1,0,1 +243,1,663.25,99.91,166.99,102.73,1,0,1 +244,1,659.12,105.67,168.97,112.00,1,0,1 +245,1,656.04,115.42,168.20,110.59,1,0,1 +246,1,654.09,122.74,165.32,112.20,1,0,1 +247,1,651.30,133.62,164.74,112.39,1,0,1 +248,1,644.92,145.14,169.56,110.48,1,0,1 +249,1,639.40,153.92,172.55,112.39,1,0,1 +250,1,635.17,162.74,174.24,113.12,1,0,1 +251,1,635.12,172.50,173.45,108.58,1,0,1 +252,1,626.92,177.62,177.56,112.00,1,0,1 +253,1,626.93,183.91,177.80,108.00,1,0,1 +254,1,621.85,187.87,184.35,109.47,1,0,1 +255,1,615.89,191.23,192.90,105.41,1,0,1 +256,1,607.54,194.39,192.06,105.85,1,0,1 +257,1,593.98,197.52,184.15,106.24,1,0,1 +258,1,579.40,199.02,196.85,106.29,1,0,1 +259,1,563.63,200.64,207.49,103.85,1,0,1 +260,1,547.24,201.80,209.55,105.32,1,0,1 +261,1,539.55,203.41,198.61,105.08,1,0,1 +262,1,529.31,205.76,191.29,106.20,1,0,1 +263,1,515.11,208.20,181.67,107.56,1,0,1 +264,1,480.21,211.12,206.28,106.20,1,0,1 +265,1,481.94,212.88,197.38,107.56,1,0,1 +266,1,463.92,215.56,207.40,108.39,1,0,1 +267,1,455.39,216.83,210.08,109.80,1,0,1 +268,1,442.50,219.96,211.69,111.17,1,0,1 +269,1,440.37,221.08,206.85,112.68,1,0,1 +270,1,434.62,223.27,192.79,114.73,1,0,1 +271,1,426.81,224.54,191.08,115.70,1,0,1 +272,1,414.86,228.59,201.82,113.45,1,0,1 +273,1,414.73,232.99,193.32,113.65,1,0,1 +274,1,395.79,236.55,210.26,109.94,1,0,1 +275,1,406.73,239.47,207.29,114.48,1,0,1 +276,1,402.72,244.55,200.11,115.41,1,0,1 +277,1,399.01,248.75,212.22,114.73,1,0,1 +278,1,407.85,254.55,208.46,116.73,1,0,1 +279,1,421.16,259.22,214.22,115.02,1,0,1 +280,1,449.87,266.75,201.18,115.41,1,0,1 +281,1,464.54,270.10,204.99,119.85,1,0,1 +282,1,487.95,277.86,201.09,115.74,1,0,1 +283,1,500.33,284.11,212.72,117.17,1,0,1 +284,1,527.36,286.83,212.76,122.00,1,0,1 +285,1,542.00,294.59,210.90,116.29,1,0,1 +286,1,555.80,303.86,209.82,114.14,1,0,1 +287,1,574.92,307.42,207.58,113.02,1,0,1 +288,1,597.08,314.55,216.56,117.80,1,0,1 +289,1,617.24,322.94,207.33,109.26,1,0,1 +290,1,631.28,331.62,212.56,107.65,1,0,1 +291,1,640.68,337.23,209.00,111.41,1,0,1 +292,1,651.80,343.23,204.65,112.92,1,0,1 +293,1,666.00,352.35,201.14,112.04,1,0,1 +294,1,675.32,357.86,199.14,113.02,1,0,1 +295,1,684.00,364.31,195.43,117.61,1,0,1 +296,1,696.05,369.67,188.94,115.41,1,0,1 +297,1,705.32,376.98,190.20,113.70,1,0,1 +298,1,713.27,380.70,182.88,113.55,1,0,1 +299,1,723.23,379.62,180.73,114.86,1,0,1 +300,1,727.95,381.91,176.20,112.38,1,0,1 +301,1,735.27,380.59,176.44,110.14,1,0,1 +302,1,740.63,380.59,192.65,112.09,1,0,1 +303,1,746.64,379.47,192.26,109.26,1,0,1 +304,1,749.51,380.35,196.46,108.58,1,0,1 +305,1,756.00,381.91,185.43,106.14,1,0,1 +306,1,764.45,381.71,179.27,105.26,1,0,1 +307,1,774.83,382.11,172.00,103.55,1,0,1 +308,1,780.20,381.27,172.44,104.09,1,0,1 +309,1,786.93,381.71,169.03,100.33,1,0,1 +310,1,788.68,382.79,197.40,94.62,1,0,1 +311,1,788.57,383.91,203.60,92.18,1,0,1 +312,1,795.93,387.32,190.37,94.68,1,0,1 +313,1,809.80,390.15,182.70,94.24,1,0,1 +314,1,820.44,394.94,171.62,91.02,1,0,1 +315,1,828.60,396.75,165.85,93.21,1,0,1 +316,1,830.64,400.10,164.04,87.26,1,0,1 +317,1,835.90,401.32,167.61,89.12,1,0,1 +318,1,839.52,400.92,157.36,91.67,1,0,1 +319,1,841.71,400.83,154.00,86.73,1,0,1 +320,1,843.52,400.24,154.44,86.00,1,0,1 +321,1,851.32,396.19,141.32,85.17,1,0,1 +322,1,853.56,391.56,140.44,83.89,1,0,1 +323,1,858.24,386.00,137.14,83.70,1,0,1 +324,1,856.93,379.32,155.29,82.33,1,0,1 +325,1,861.28,374.64,135.36,81.94,1,0,1 +326,1,860.88,371.56,130.04,80.73,1,0,1 +327,1,859.12,367.56,130.24,79.32,1,0,1 +328,1,864.39,363.36,125.21,79.32,1,0,1 +329,1,860.20,358.88,137.36,78.48,1,0,1 +330,1,860.40,354.20,132.68,78.48,1,0,1 +331,1,857.71,349.17,138.24,73.80,1,0,1 +332,1,857.52,344.93,128.04,70.68,1,0,1 +333,1,855.36,337.65,128.88,72.00,1,0,1 +334,1,856.19,329.56,128.97,71.85,1,0,1 +335,1,855.75,319.17,135.47,69.65,1,0,1 +336,1,851.16,309.85,132.79,67.17,1,0,1 +337,1,853.12,298.97,128.59,65.17,1,0,1 +338,1,851.12,287.17,125.56,68.53,1,0,1 +339,1,851.61,276.73,138.21,62.18,1,0,1 +340,1,852.88,265.85,132.50,63.26,1,0,1 +341,1,851.37,253.86,130.74,65.89,1,0,1 +342,1,851.08,244.29,125.32,65.45,1,0,1 +343,1,851.12,236.28,125.23,64.05,1,0,1 +344,1,844.92,228.49,128.15,63.89,1,0,1 +345,1,844.88,220.44,123.32,61.30,1,0,1 +346,1,846.28,214.69,117.52,63.65,1,0,1 +347,1,840.04,209.12,113.76,66.68,1,0,1 +348,1,830.38,204.01,115.03,63.21,1,0,1 +349,1,815.54,200.19,121.38,64.97,1,0,1 +350,1,807.45,197.27,112.39,61.02,1,0,1 +351,1,801.41,193.28,101.12,62.09,1,0,1 +352,1,794.68,190.11,84.18,64.38,1,0,1 +353,1,783.41,185.92,84.13,61.89,1,0,1 +354,1,778.52,182.39,83.41,62.77,1,0,1 +355,1,767.61,181.71,82.57,59.50,1,0,1 +356,1,757.45,179.27,90.15,58.14,1,0,1 +357,1,749.41,175.96,89.61,58.18,1,0,1 +358,1,738.44,174.16,88.48,58.77,1,0,1 +359,1,723.89,169.76,89.96,57.02,1,0,1 +360,1,709.05,167.71,92.59,56.38,1,0,1 +361,1,691.01,162.79,89.76,60.82,1,0,1 +362,1,681.46,158.64,88.59,59.45,1,0,1 +363,1,660.57,155.91,97.71,59.94,1,0,1 +364,1,653.25,153.07,88.20,59.26,1,0,1 +365,1,644.09,151.03,90.64,60.38,1,0,1 +366,1,633.17,149.48,91.36,58.77,1,0,1 +367,1,630.00,148.30,92.24,61.50,1,0,1 +368,1,625.36,147.67,84.88,57.70,1,0,1 +369,1,623.80,147.22,91.91,55.89,1,0,1 +370,1,621.80,145.92,93.47,58.33,1,0,1 +371,1,622.20,145.04,86.05,61.65,1,0,1 +372,1,626.88,146.16,84.39,60.77,1,0,1 +373,1,626.04,145.92,83.08,61.21,1,0,1 +374,1,628.87,144.98,84.59,60.14,1,0,1 +375,1,632.88,143.91,80.15,59.94,1,0,1 +376,1,640.35,142.94,75.80,62.03,1,0,1 +377,1,644.75,144.54,69.89,60.82,1,0,1 +378,1,651.71,144.15,72.88,60.62,1,0,1 +379,1,652.88,145.03,75.27,59.26,1,0,1 +380,1,659.32,145.07,76.55,60.29,1,0,1 +381,1,666.19,147.08,75.23,60.92,1,0,1 +382,1,668.63,148.78,81.27,58.33,1,0,1 +383,1,678.15,149.92,82.39,57.89,1,0,1 +384,1,688.79,151.23,84.64,53.06,1,0,1 +385,1,693.43,152.79,84.68,58.48,1,0,1 +386,1,708.06,155.46,78.73,62.05,1,0,1 +387,1,714.06,158.78,86.24,60.49,1,0,1 +388,1,720.55,161.22,85.56,60.73,1,0,1 +389,1,727.62,164.99,93.32,58.77,1,0,1 +390,1,742.26,167.51,86.04,57.17,1,0,1 +391,1,750.06,170.34,87.12,54.09,1,0,1 +392,1,758.11,171.95,86.00,56.73,1,0,1 +393,1,770.75,175.27,88.59,55.56,1,0,1 +394,1,776.54,174.88,94.15,56.64,1,0,1 +395,1,784.99,178.15,85.56,56.24,1,0,1 +396,1,794.06,180.40,94.44,55.17,1,0,1 +397,1,800.84,181.08,99.23,56.88,1,0,1 +398,1,809.48,182.39,98.83,52.73,1,0,1 +399,1,812.29,184.79,101.38,52.48,1,0,1 +400,1,819.56,184.64,97.08,53.32,1,0,1 +401,1,822.04,187.08,103.78,52.24,1,0,1 +402,1,828.05,189.16,103.18,51.03,1,0,1 +403,1,833.08,190.54,103.03,49.02,1,0,1 +404,1,848.59,191.86,91.36,50.58,1,0,1 +405,1,853.27,192.58,90.20,51.17,1,0,1 +406,1,855.28,193.23,92.04,53.65,1,0,1 +407,1,870.94,193.23,78.82,54.09,1,0,1 +408,1,877.18,192.39,82.24,53.21,1,0,1 +409,1,872.20,195.75,91.80,52.29,1,0,1 +410,1,877.80,199.23,92.88,50.77,1,0,1 +411,1,882.39,200.20,91.76,50.92,1,0,1 +412,1,899.22,201.04,82.73,50.97,1,0,1 +413,1,901.95,202.39,84.15,50.05,1,0,1 +414,1,910.11,203.90,87.96,50.29,1,0,1 +415,1,910.60,205.71,92.15,48.53,1,0,1 +416,1,920.15,208.16,85.17,48.09,1,0,1 +417,1,927.48,209.08,86.83,47.36,1,0,1 +418,1,932.79,211.28,85.27,46.77,1,0,1 +419,1,943.78,211.91,83.56,47.02,1,0,1 +420,1,946.16,212.39,83.91,48.53,1,0,1 +421,1,952.64,215.71,80.11,47.85,1,0,1 +422,1,956.00,214.00,74.00,48.00,1,0,1 +423,1,962.00,218.00,80.74,50.44,1,0,1 +424,1,962.00,218.00,85.67,52.05,1,0,1 +425,1,972.00,220.00,78.11,49.51,1,0,1 +426,1,970.00,219.56,81.91,54.00,1,0,1 +427,1,962.00,223.56,87.91,51.32,1,0,1 +428,1,968.00,220.00,86.55,59.51,1,0,1 +429,1,972.00,224.00,87.47,57.12,1,0,1 +430,1,978.00,223.56,85.91,58.00,1,0,1 +431,1,981.12,236.35,87.23,46.38,1,0,1 +432,1,985.95,237.91,85.96,47.65,1,0,1 +433,1,988.69,239.71,85.91,47.50,1,0,1 +434,1,994.19,243.67,88.35,47.06,1,0,1 +435,1,996.45,244.79,90.59,46.42,1,0,1 +436,1,1002.44,246.30,94.90,47.74,1,0,1 +437,1,1005.51,249.87,89.91,44.42,1,0,1 +438,1,1008.15,252.31,97.87,44.23,1,0,1 +439,1,1017.23,253.48,92.24,46.77,1,0,1 +440,1,1025.07,256.74,92.55,47.94,1,0,1 +441,1,1029.16,256.35,91.58,48.82,1,0,1 +442,1,1036.92,259.47,95.78,47.06,1,0,1 +443,1,1038.29,260.59,94.26,47.94,1,0,1 +444,1,1043.66,265.92,97.97,46.77,1,0,1 +445,1,1047.40,267.38,86.55,47.99,1,0,1 +446,1,1049.56,270.35,108.61,48.14,1,0,1 +447,1,1056.64,271.67,100.26,50.62,1,0,1 +448,1,1057.56,272.98,103.09,50.58,1,0,1 +449,1,1062.97,275.90,98.41,50.97,1,0,1 +450,1,1066.92,279.22,98.70,49.02,1,0,1 +451,1,1065.17,281.62,107.93,50.77,1,0,1 +452,1,1066.68,282.63,99.23,49.61,1,0,1 +453,1,1065.80,284.64,105.14,49.56,1,0,1 +454,1,1070.19,287.92,106.11,47.89,1,0,1 +455,1,1068.09,290.16,103.43,48.77,1,0,1 +456,1,1067.69,291.86,114.61,48.38,1,0,1 +457,1,1073.61,291.52,106.94,50.05,1,0,1 +458,1,1069.65,295.92,110.65,48.77,1,0,1 +459,1,1070.72,298.79,106.55,48.14,1,0,1 +460,1,1074.04,300.40,111.14,46.53,1,0,1 +461,1,1073.21,301.47,103.82,45.21,1,0,1 +462,1,1072.58,301.51,110.41,46.77,1,0,1 +463,1,1078.01,301.28,100.39,48.53,1,0,1 +464,1,1074.33,300.59,113.53,53.21,1,0,1 +465,1,1078.04,302.39,115.78,48.58,1,0,1 +466,1,1080.10,299.96,117.29,50.53,1,0,1 +467,1,1080.25,300.36,119.29,49.89,1,0,1 +468,1,1083.21,301.71,109.53,48.33,1,0,1 +469,1,1082.97,300.59,106.06,51.06,1,0,1 +470,1,1085.21,302.15,104.95,48.82,1,0,1 +471,1,1089.56,297.27,104.11,51.26,1,0,1 +472,1,1093.61,296.00,101.43,50.38,1,0,1 +473,1,1092.82,297.07,109.97,52.09,1,0,1 +474,1,1096.13,295.51,120.08,51.02,1,0,1 +475,1,1098.04,291.51,116.22,55.02,1,0,1 +476,1,1107.08,291.71,112.99,51.45,1,0,1 +477,1,1114.59,289.27,115.08,52.14,1,0,1 +478,1,1109.43,285.67,127.32,54.03,1,0,1 +479,1,1113.17,281.95,128.08,53.02,1,0,1 +480,1,1118.05,280.10,127.79,53.45,1,0,1 +481,1,1122.00,277.52,126.70,51.74,1,0,1 +482,1,1128.96,274.00,125.73,53.02,1,0,1 +483,1,1130.48,269.07,132.22,56.82,1,0,1 +484,1,1136.84,263.76,127.47,58.14,1,0,1 +485,1,1144.40,263.75,131.97,54.09,1,0,1 +486,1,1147.72,258.25,130.30,54.29,1,0,1 +487,1,1152.00,252.92,128.00,56.00,1,0,1 +488,1,1160.74,248.00,119.26,55.85,1,0,1 +489,1,1162.64,242.87,117.36,59.17,1,0,1 +490,1,1166.15,236.00,113.85,57.65,1,0,1 +491,1,1173.12,231.55,106.88,61.41,1,0,1 +492,1,1176.24,226.83,103.76,58.58,1,0,1 +493,1,1181.12,220.00,98.88,59.70,1,0,1 +494,1,1183.12,215.12,96.88,59.41,1,0,1 +495,1,1186.64,210.24,93.36,60.68,1,0,1 +496,1,1190.00,205.12,90.00,59.56,1,0,1 +497,1,1189.36,197.85,90.64,61.03,1,0,1 +498,1,1196.44,189.85,82.00,62.00,1,0,1 +499,1,1206.00,183.80,72.44,59.12,1,0,1 +500,1,1213.36,175.17,66.64,62.97,1,0,1 +501,1,1212.44,167.85,67.56,63.47,1,0,1 +502,1,1215.56,158.73,64.44,66.00,1,0,1 +503,1,1212.00,150.05,68.00,66.00,1,0,1 +504,1,1212.92,140.49,67.08,68.35,1,0,1 +505,1,1197.45,132.29,82.55,64.44,1,0,1 +506,1,1193.50,123.16,86.50,69.17,1,0,1 +507,1,1186.66,111.69,93.34,71.17,1,0,1 +508,1,1182.90,102.62,97.09,71.32,1,0,1 +509,1,1177.30,91.69,102.70,69.51,1,0,1 +510,1,1170.46,84.62,109.53,71.51,1,0,1 +511,1,1162.08,74.82,117.93,69.65,1,0,1 +512,1,1159.06,64.14,120.94,70.00,1,0,1 +513,1,1141.15,54.77,133.53,65.26,1,0,1 +514,1,1150.72,44.29,117.23,66.58,1,0,1 +515,1,1142.14,32.09,110.92,70.73,1,0,1 +516,1,1122.51,22.52,138.96,67.17,1,0,1 +517,1,1117.73,10.96,123.67,66.73,1,0,1 +518,1,1105.46,0.00,123.91,67.65,1,0,1 +519,1,1081.25,0.00,139.71,57.70,1,0,1 +520,1,1079.89,0.00,114.04,46.48,1,0,1 diff --git a/ground_truth/multi_drone_241016_001_gt.txt b/ground_truth/multi_drone_241016_001_gt.txt new file mode 100644 index 0000000..cdc0da2 --- /dev/null +++ b/ground_truth/multi_drone_241016_001_gt.txt @@ -0,0 +1,576 @@ +1,1,244.50,467.00,56.00,20.00,1,0,1 +1,2,583.00,8.50,17.00,13.00,1,0,1 +2,1,244.00,469.00,60.00,18.00,1,0,1 +2,2,583.00,10.50,18.00,13.00,1,0,1 +3,1,239.00,471.50,67.00,21.00,1,0,1 +3,2,583.00,19.50,18.00,15.00,1,0,1 +4,1,249.00,475.00,56.00,19.00,1,0,1 +4,2,583.00,25.50,18.00,15.00,1,0,1 +5,1,248.50,480.00,60.00,20.00,1,0,1 +5,2,582.50,34.00,18.00,14.00,1,0,1 +6,1,251.50,488.00,60.00,17.00,1,0,1 +6,2,583.00,48.50,18.00,15.00,1,0,1 +7,1,260.00,495.50,58.00,19.00,1,0,1 +7,2,580.50,65.50,21.00,14.00,1,0,1 +8,1,263.00,499.50,56.00,16.00,1,0,1 +8,2,581.50,71.50,19.00,14.00,1,0,1 +9,1,267.50,501.50,57.00,18.00,1,0,1 +9,2,581.50,80.00,18.00,13.00,1,0,1 +10,1,273.00,504.00,56.00,18.00,1,0,1 +10,2,580.50,90.50,18.00,14.00,1,0,1 +11,1,272.00,504.00,59.00,17.00,1,0,1 +11,2,578.50,94.50,20.00,14.00,1,0,1 +12,1,278.00,502.00,61.00,18.00,1,0,1 +12,2,576.50,102.50,20.00,13.00,1,0,1 +13,1,307.00,488.00,54.00,24.00,1,0,1 +13,2,572.00,112.50,20.00,14.00,1,0,1 +14,1,312.00,485.00,55.00,27.00,1,0,1 +14,2,571.50,113.00,18.00,15.00,1,0,1 +15,1,324.00,484.00,54.00,26.00,1,0,1 +15,2,570.00,116.00,19.00,14.00,1,0,1 +16,1,331.00,482.00,54.00,26.00,1,0,1 +16,2,569.00,118.50,19.00,12.00,1,0,1 +17,1,346.00,480.00,56.00,27.00,1,0,1 +17,2,564.50,120.00,20.00,14.00,1,0,1 +18,1,351.00,478.00,58.00,29.00,1,0,1 +18,2,565.00,123.00,18.00,11.00,1,0,1 +19,1,370.00,477.00,59.00,27.00,1,0,1 +19,2,561.50,126.00,18.00,9.00,1,0,1 +20,1,392.00,477.00,56.00,25.00,1,0,1 +20,2,560.50,127.00,16.00,10.00,1,0,1 +21,1,404.00,477.00,39.00,27.00,1,0,1 +21,2,558.00,128.50,18.00,11.00,1,0,1 +22,1,432.50,477.50,55.00,21.00,1,0,1 +22,2,559.00,132.50,12.00,9.00,1,0,1 +23,1,440.00,474.50,69.00,21.00,1,0,1 +23,2,556.50,134.00,17.00,8.00,1,0,1 +24,1,471.50,475.50,59.00,18.00,1,0,1 +24,2,562.50,137.00,9.00,7.00,1,0,1 +25,1,486.00,473.00,57.00,22.00,1,0,1 +25,2,560.50,134.50,13.00,10.00,1,0,1 +26,1,515.00,469.00,53.81,24.53,1,0,1 +26,2,562.50,137.00,13.00,10.00,1,0,1 +27,1,528.00,469.66,57.59,20.46,1,0,1 +27,2,561.00,137.50,15.00,10.00,1,0,1 +28,1,551.00,463.00,55.00,28.00,1,0,1 +28,2,559.50,137.00,17.00,13.00,1,0,1 +29,2,554.50,137.00,19.00,13.00,1,0,1 +29,1,583.00,454.00,53.00,32.00,1,0,1 +30,2,555.50,139.50,11.00,10.00,1,0,1 +30,1,593.00,453.00,51.00,31.00,1,0,1 +31,2,550.50,137.50,17.00,13.00,1,0,1 +31,1,609.00,451.00,51.00,32.00,1,0,1 +32,2,549.50,138.50,18.00,11.00,1,0,1 +32,1,617.00,448.00,52.00,35.00,1,0,1 +33,2,543.50,137.00,18.00,13.00,1,0,1 +33,1,627.00,445.00,55.00,32.00,1,0,1 +34,2,542.50,134.00,19.00,16.00,1,0,1 +34,1,633.00,445.00,51.00,30.00,1,0,1 +35,2,535.50,133.50,20.00,14.00,1,0,1 +35,1,643.00,442.00,49.00,26.00,1,0,1 +36,2,534.00,133.50,18.00,13.00,1,0,1 +36,1,647.00,438.00,47.00,29.00,1,0,1 +37,2,529.50,131.00,19.00,16.00,1,0,1 +37,1,653.00,434.00,50.23,29.23,1,0,1 +38,2,528.00,131.00,18.00,13.00,1,0,1 +38,1,654.00,434.00,51.08,27.76,1,0,1 +39,2,522.00,128.50,19.00,15.00,1,0,1 +39,1,657.00,428.00,46.00,30.00,1,0,1 +40,2,520.00,128.00,20.00,14.00,1,0,1 +40,1,658.00,428.00,49.65,25.61,1,0,1 +41,2,514.00,125.00,18.00,14.00,1,0,1 +41,1,659.00,421.82,47.44,26.46,1,0,1 +42,2,509.00,123.00,19.00,14.00,1,0,1 +42,1,653.00,414.00,53.00,29.00,1,0,1 +43,2,509.00,121.50,18.00,15.00,1,0,1 +43,1,652.00,409.00,49.00,29.00,1,0,1 +44,2,505.00,117.50,18.00,18.00,1,0,1 +44,1,647.00,406.00,48.10,27.42,1,0,1 +45,2,504.50,116.50,18.00,18.00,1,0,1 +45,1,643.00,404.00,47.00,26.00,1,0,1 +46,2,502.50,116.50,17.00,17.00,1,0,1 +46,1,635.00,399.00,48.00,25.00,1,0,1 +47,2,501.50,115.00,18.00,17.00,1,0,1 +47,1,627.00,397.00,52.00,24.00,1,0,1 +48,2,501.00,114.50,17.00,17.00,1,0,1 +48,1,618.00,387.00,54.98,27.00,1,0,1 +49,2,499.50,114.00,18.00,14.00,1,0,1 +49,1,610.00,387.00,61.84,19.00,1,0,1 +50,2,501.50,113.00,16.00,15.00,1,0,1 +50,1,607.00,381.00,51.54,18.29,1,0,1 +51,2,501.00,113.00,19.00,16.00,1,0,1 +51,1,599.00,373.00,53.00,21.00,1,0,1 +52,2,501.00,112.00,19.00,18.00,1,0,1 +52,1,592.00,366.00,54.58,20.86,1,0,1 +53,2,501.00,112.00,18.00,17.00,1,0,1 +53,1,590.00,361.00,49.00,20.00,1,0,1 +54,2,501.50,112.50,18.00,15.00,1,0,1 +54,1,587.00,355.00,52.00,23.00,1,0,1 +55,2,502.50,112.00,18.00,15.00,1,0,1 +55,1,580.00,341.00,47.00,27.00,1,0,1 +56,2,504.50,110.50,17.00,17.00,1,0,1 +56,1,577.00,334.00,47.00,26.00,1,0,1 +57,2,508.00,112.00,16.00,14.00,1,0,1 +57,1,569.00,321.00,49.00,29.00,1,0,1 +58,2,506.50,110.50,19.00,16.00,1,0,1 +58,1,566.00,313.38,48.27,31.11,1,0,1 +59,2,512.00,111.50,17.00,14.00,1,0,1 +59,1,557.00,310.00,47.00,25.00,1,0,1 +60,2,513.50,111.00,19.00,15.00,1,0,1 +60,1,554.00,306.00,45.00,24.00,1,0,1 +61,2,518.50,112.00,17.00,14.00,1,0,1 +61,1,543.00,290.00,45.90,29.05,1,0,1 +62,2,520.50,112.00,18.00,15.00,1,0,1 +62,1,539.50,282.50,45.00,33.00,1,0,1 +63,2,526.50,111.00,19.00,14.00,1,0,1 +63,1,531.00,274.50,43.00,31.00,1,0,1 +64,1,521.00,267.00,48.00,32.00,1,0,1 +64,2,528.00,111.00,20.00,16.00,1,0,1 +65,1,512.00,264.50,46.00,29.00,1,0,1 +65,2,533.50,112.00,20.00,14.00,1,0,1 +66,1,506.00,261.50,45.00,25.00,1,0,1 +66,2,537.00,113.00,20.00,14.00,1,0,1 +67,1,492.00,257.00,48.00,22.00,1,0,1 +67,2,540.50,116.50,23.00,14.00,1,0,1 +68,1,484.50,256.50,47.00,23.00,1,0,1 +68,2,547.00,120.50,20.00,14.00,1,0,1 +69,1,474.00,258.00,47.00,18.00,1,0,1 +69,2,551.50,131.50,20.00,14.00,1,0,1 +70,1,470.00,257.00,43.00,21.00,1,0,1 +70,2,557.00,137.50,18.00,14.00,1,0,1 +71,1,461.00,259.50,44.00,18.00,1,0,1 +71,2,563.00,154.00,19.00,13.00,1,0,1 +72,1,454.50,259.00,48.00,23.00,1,0,1 +72,2,567.00,161.00,15.00,10.00,1,0,1 +73,1,455.00,259.00,35.00,18.00,1,0,1 +73,2,570.00,170.50,19.00,13.00,1,0,1 +74,1,446.00,256.00,41.00,18.00,1,0,1 +74,2,571.50,174.00,20.00,13.00,1,0,1 +75,1,434.50,248.50,43.00,20.00,1,0,1 +75,2,578.50,182.50,18.00,12.00,1,0,1 +76,1,428.50,245.50,48.00,21.00,1,0,1 +76,2,583.00,186.50,16.00,11.00,1,0,1 +77,1,421.00,235.50,45.00,21.00,1,0,1 +77,2,587.50,190.00,16.00,11.00,1,0,1 +78,1,418.00,234.00,39.00,19.00,1,0,1 +78,2,589.50,193.50,17.00,11.00,1,0,1 +79,1,412.00,225.00,31.00,18.00,1,0,1 +79,2,594.00,196.00,17.00,12.00,1,0,1 +80,1,410.00,218.50,39.00,22.00,1,0,1 +80,2,595.00,198.50,18.00,11.00,1,0,1 +81,1,404.00,214.00,29.00,22.00,1,0,1 +81,2,597.50,202.00,18.00,11.00,1,0,1 +82,1,402.00,206.50,44.00,22.00,1,0,1 +82,2,601.50,204.50,16.00,12.00,1,0,1 +83,1,398.00,203.50,43.00,21.00,1,0,1 +83,2,598.50,209.00,23.00,12.00,1,0,1 +84,1,397.00,202.00,41.00,22.00,1,0,1 +84,2,607.00,214.00,17.00,12.00,1,0,1 +85,1,393.50,201.50,43.00,21.00,1,0,1 +85,2,609.00,224.50,18.00,11.00,1,0,1 +86,1,393.00,202.50,44.00,22.00,1,0,1 +86,2,613.00,230.50,17.00,11.00,1,0,1 +87,1,392.00,204.50,43.00,23.00,1,0,1 +87,2,615.00,242.50,19.00,14.00,1,0,1 +88,1,390.00,209.50,42.00,20.00,1,0,1 +88,2,618.50,250.50,17.00,12.00,1,0,1 +89,1,387.00,211.00,42.00,22.00,1,0,1 +89,2,621.50,262.00,17.00,12.00,1,0,1 +90,1,386.00,211.00,45.00,22.00,1,0,1 +90,2,624.50,266.00,16.00,11.00,1,0,1 +91,1,384.00,212.00,43.00,22.00,1,0,1 +91,2,625.50,272.00,19.00,13.00,1,0,1 +92,1,383.00,211.00,42.00,22.00,1,0,1 +92,2,629.50,276.00,16.00,13.00,1,0,1 +93,1,381.00,210.00,43.00,22.00,1,0,1 +93,2,631.00,281.50,19.00,10.00,1,0,1 +94,1,379.50,206.50,43.00,23.00,1,0,1 +94,2,632.00,281.50,20.00,12.00,1,0,1 +95,1,379.00,203.00,42.00,22.00,1,0,1 +95,2,636.00,282.50,19.00,11.00,1,0,1 +96,1,378.00,201.00,42.00,22.00,1,0,1 +96,2,638.00,283.50,19.00,10.00,1,0,1 +97,1,377.00,198.00,43.00,20.00,1,0,1 +97,2,642.00,284.50,20.00,12.00,1,0,1 +98,1,376.00,196.50,42.00,22.00,1,0,1 +98,2,646.00,285.50,17.00,10.00,1,0,1 +99,1,376.00,192.00,42.00,22.00,1,0,1 +99,2,648.00,288.00,19.00,10.00,1,0,1 +100,1,376.00,191.00,41.00,20.00,1,0,1 +100,2,651.50,288.00,17.00,12.00,1,0,1 +101,1,376.00,186.00,42.00,24.00,1,0,1 +101,2,653.00,291.50,20.00,10.00,1,0,1 +102,1,377.00,184.00,42.00,26.00,1,0,1 +102,2,656.50,291.50,20.00,12.00,1,0,1 +103,1,377.00,180.00,45.00,29.00,1,0,1 +103,2,663.50,294.50,19.00,12.00,1,0,1 +104,1,378.00,178.00,42.00,32.00,1,0,1 +104,2,664.00,295.00,21.00,12.00,1,0,1 +105,1,380.00,177.00,41.00,28.00,1,0,1 +105,2,672.50,297.50,20.00,12.00,1,0,1 +106,1,381.00,176.00,41.00,30.00,1,0,1 +106,2,677.00,300.00,18.00,10.00,1,0,1 +107,1,387.00,175.00,42.00,30.00,1,0,1 +107,2,688.00,301.50,21.00,12.00,1,0,1 +108,1,392.00,176.00,39.00,30.00,1,0,1 +108,2,695.50,302.00,20.00,11.00,1,0,1 +109,1,399.00,177.00,39.00,30.00,1,0,1 +109,2,713.50,305.50,14.00,9.00,1,0,1 +110,1,402.00,178.00,40.00,30.00,1,0,1 +110,2,719.00,307.50,17.00,8.00,1,0,1 +111,1,405.00,180.00,40.00,30.00,1,0,1 +111,2,734.00,309.50,14.00,9.00,1,0,1 +112,1,407.00,182.00,38.00,29.00,1,0,1 +112,2,735.00,311.00,20.00,9.00,1,0,1 +113,1,407.00,187.00,38.00,29.00,1,0,1 +113,2,744.50,314.50,20.00,10.00,1,0,1 +114,1,406.00,191.00,39.00,29.00,1,0,1 +114,2,749.50,317.50,19.00,10.00,1,0,1 +115,1,403.00,203.00,41.00,27.00,1,0,1 +115,2,756.50,327.50,21.00,8.00,1,0,1 +116,1,401.00,212.00,40.00,24.00,1,0,1 +116,2,761.00,333.00,18.00,9.00,1,0,1 +117,1,397.00,228.00,40.00,23.00,1,0,1 +117,2,768.00,346.00,18.00,10.00,1,0,1 +118,1,395.00,237.00,40.00,22.00,1,0,1 +118,2,769.00,353.00,21.00,10.00,1,0,1 +119,1,389.00,251.00,40.00,23.00,1,0,1 +119,2,776.50,367.50,18.00,9.00,1,0,1 +120,1,385.00,259.00,40.00,21.00,1,0,1 +120,2,777.50,371.50,19.00,10.00,1,0,1 +121,1,380.00,269.00,42.00,22.00,1,0,1 +121,2,781.00,381.00,19.00,10.00,1,0,1 +122,1,377.00,276.00,39.00,18.00,1,0,1 +122,2,783.00,384.00,20.00,11.00,1,0,1 +123,1,372.00,281.00,40.00,21.00,1,0,1 +123,2,788.50,390.00,19.00,11.00,1,0,1 +124,1,369.00,284.00,40.00,21.00,1,0,1 +124,2,790.00,390.00,17.00,12.00,1,0,1 +125,1,364.00,285.00,40.00,25.00,1,0,1 +125,2,794.00,393.00,17.00,12.00,1,0,1 +126,1,362.00,287.00,40.00,24.00,1,0,1 +126,2,796.50,394.50,18.00,12.00,1,0,1 +127,1,358.00,289.00,39.00,24.00,1,0,1 +127,2,798.00,395.00,18.00,11.00,1,0,1 +128,1,355.00,290.00,39.00,25.00,1,0,1 +128,2,800.00,395.00,18.00,12.00,1,0,1 +129,1,349.00,291.00,39.00,26.00,1,0,1 +129,2,802.00,397.00,18.00,12.00,1,0,1 +130,1,345.00,292.00,39.00,26.00,1,0,1 +130,2,803.00,397.00,18.00,12.00,1,0,1 +131,1,337.00,294.00,38.00,26.00,1,0,1 +131,2,803.00,398.00,18.00,13.00,1,0,1 +132,1,332.00,295.00,40.00,27.00,1,0,1 +132,2,803.00,398.00,18.00,14.00,1,0,1 +133,1,325.00,297.00,38.00,25.00,1,0,1 +133,2,802.50,398.50,20.00,16.00,1,0,1 +134,1,321.00,299.00,39.00,24.00,1,0,1 +134,2,804.00,401.00,17.00,14.00,1,0,1 +135,1,315.00,302.50,41.00,23.00,1,0,1 +135,2,806.00,401.00,17.00,16.00,1,0,1 +136,1,314.00,304.00,38.00,21.00,1,0,1 +136,2,807.00,405.00,17.00,12.00,1,0,1 +137,1,311.00,306.00,41.00,19.00,1,0,1 +137,2,809.00,406.00,18.00,15.00,1,0,1 +138,1,310.00,306.00,41.00,19.00,1,0,1 +138,2,811.00,409.00,17.00,13.00,1,0,1 +139,1,310.00,308.00,38.00,17.00,1,0,1 +139,2,815.00,410.00,17.00,15.00,1,0,1 +140,1,311.00,307.00,39.00,19.00,1,0,1 +140,2,817.00,412.00,18.00,14.00,1,0,1 +141,1,315.00,307.00,37.00,21.00,1,0,1 +141,2,822.00,416.00,17.00,13.00,1,0,1 +142,1,318.00,305.00,35.00,23.00,1,0,1 +142,2,825.00,419.00,17.00,12.00,1,0,1 +143,1,325.00,304.00,34.00,25.00,1,0,1 +143,2,831.00,421.00,17.00,13.00,1,0,1 +144,1,330.00,304.00,34.00,26.00,1,0,1 +144,2,834.00,423.00,18.00,13.00,1,0,1 +145,1,341.00,303.00,34.00,28.00,1,0,1 +145,2,840.00,427.00,18.00,12.00,1,0,1 +146,1,347.00,306.00,35.00,26.00,1,0,1 +146,2,843.00,426.00,18.00,14.00,1,0,1 +147,1,362.00,307.00,35.00,24.00,1,0,1 +147,2,850.00,431.00,18.00,12.00,1,0,1 +148,1,370.00,307.00,35.00,25.00,1,0,1 +148,2,853.00,432.00,18.00,13.00,1,0,1 +149,1,387.00,310.00,34.00,19.00,1,0,1 +149,2,860.00,436.00,18.00,12.00,1,0,1 +150,1,397.00,311.00,34.00,19.00,1,0,1 +150,2,863.00,438.00,18.00,12.00,1,0,1 +151,1,415.00,312.00,37.00,20.00,1,0,1 +151,2,870.00,441.00,18.00,13.00,1,0,1 +152,1,424.00,311.50,36.00,20.00,1,0,1 +152,2,874.00,443.00,17.00,13.00,1,0,1 +153,1,447.00,319.00,39.00,14.00,1,0,1 +153,2,881.00,449.00,18.00,11.00,1,0,1 +154,1,458.00,317.50,37.00,16.00,1,0,1 +154,2,885.00,451.00,18.00,12.00,1,0,1 +155,1,481.50,319.50,34.00,16.00,1,0,1 +155,2,893.00,457.00,18.00,10.00,1,0,1 +156,1,494.00,321.00,37.00,18.00,1,0,1 +156,2,897.00,460.00,19.00,10.00,1,0,1 +157,1,518.50,324.50,35.00,18.00,1,0,1 +157,2,906.00,464.00,18.00,12.00,1,0,1 +158,1,530.50,327.50,34.00,17.00,1,0,1 +158,2,910.00,466.00,19.00,13.00,1,0,1 +159,1,554.00,331.50,33.00,17.00,1,0,1 +159,2,917.00,471.00,20.00,13.00,1,0,1 +160,1,565.50,330.00,33.00,20.00,1,0,1 +160,2,921.00,473.00,19.00,13.00,1,0,1 +161,1,576.50,337.50,35.00,14.00,1,0,1 +161,2,926.00,478.00,19.00,13.00,1,0,1 +162,1,589.00,339.00,30.00,11.00,1,0,1 +162,2,928.00,480.00,19.00,12.00,1,0,1 +163,1,609.50,339.00,37.00,12.00,1,0,1 +163,2,932.00,483.00,19.00,12.00,1,0,1 +164,1,621.50,337.50,35.00,15.00,1,0,1 +164,2,934.00,485.00,19.00,12.00,1,0,1 +165,1,655.00,339.00,22.00,11.00,1,0,1 +165,2,939.00,488.00,19.00,11.00,1,0,1 +166,1,655.50,338.50,32.00,12.00,1,0,1 +166,2,943.00,489.00,18.00,11.00,1,0,1 +167,1,680.00,340.00,26.00,10.00,1,0,1 +167,2,950.00,490.00,18.00,11.00,1,0,1 +168,1,690.50,341.00,26.00,10.00,1,0,1 +168,2,954.00,491.00,18.00,11.00,1,0,1 +169,1,713.00,339.50,28.00,11.00,1,0,1 +169,2,962.00,492.00,18.00,10.00,1,0,1 +170,1,721.50,339.00,30.00,10.00,1,0,1 +170,2,966.00,491.00,17.00,11.00,1,0,1 +171,1,744.00,332.00,31.00,15.00,1,0,1 +171,2,974.00,487.00,16.00,10.00,1,0,1 +172,1,751.00,326.00,35.00,16.00,1,0,1 +172,2,977.00,483.00,17.00,11.00,1,0,1 +173,1,771.00,315.00,34.00,17.00,1,0,1 +173,2,983.00,473.00,17.00,10.00,1,0,1 +174,1,781.00,308.00,33.00,19.00,1,0,1 +174,2,985.00,466.00,17.00,11.00,1,0,1 +175,1,799.00,292.00,35.00,23.00,1,0,1 +175,2,988.00,452.00,19.00,11.00,1,0,1 +176,1,808.00,284.00,33.00,25.00,1,0,1 +176,2,990.00,445.00,18.00,10.00,1,0,1 +177,1,825.00,267.00,35.00,26.00,1,0,1 +177,2,991.50,428.00,17.00,10.00,1,0,1 +178,1,832.00,259.00,35.00,26.00,1,0,1 +178,2,989.50,420.50,21.00,10.00,1,0,1 +179,1,849.00,243.00,34.00,27.00,1,0,1 +179,2,994.50,403.00,15.00,10.00,1,0,1 +180,1,857.00,235.00,33.00,27.00,1,0,1 +180,2,992.00,392.50,17.00,11.00,1,0,1 +181,1,869.00,221.00,34.00,25.00,1,0,1 +181,2,989.50,377.00,16.00,9.00,1,0,1 +182,1,874.00,214.00,33.00,24.00,1,0,1 +182,2,986.00,367.00,15.00,10.00,1,0,1 +183,1,877.00,202.00,32.00,21.00,1,0,1 +183,2,970.50,351.50,16.00,9.00,1,0,1 +184,1,875.00,195.00,32.00,21.00,1,0,1 +184,2,961.00,344.00,16.00,7.00,1,0,1 +185,1,865.00,183.00,31.00,21.00,1,0,1 +185,2,933.00,327.50,17.00,8.00,1,0,1 +186,1,857.00,179.00,32.00,19.00,1,0,1 +186,2,914.50,319.00,20.00,9.00,1,0,1 +187,1,837.00,170.00,32.00,18.00,1,0,1 +187,2,881.00,305.00,15.00,9.00,1,0,1 +188,1,826.00,167.00,31.00,17.00,1,0,1 +188,2,860.00,299.00,18.00,9.00,1,0,1 +189,1,803.00,164.00,32.00,16.00,1,0,1 +189,2,823.00,290.00,17.00,7.00,1,0,1 +190,1,792.00,162.00,31.00,17.00,1,0,1 +190,2,806.00,286.00,17.00,7.00,1,0,1 +191,2,768.50,278.50,20.00,9.00,1,0,1 +191,1,772.00,160.00,29.00,20.00,1,0,1 +192,2,751.50,274.50,20.00,10.00,1,0,1 +192,1,763.00,161.00,29.00,19.00,1,0,1 +193,2,727.00,272.00,16.00,8.00,1,0,1 +193,1,749.00,164.00,29.00,19.00,1,0,1 +194,2,716.00,271.00,16.00,8.00,1,0,1 +194,1,745.00,167.00,28.00,18.00,1,0,1 +195,2,696.50,269.00,15.00,6.00,1,0,1 +195,1,740.00,172.00,28.00,15.00,1,0,1 +196,2,688.50,267.00,15.00,8.00,1,0,1 +196,1,738.00,173.00,30.00,17.00,1,0,1 +197,2,673.50,263.50,14.00,8.00,1,0,1 +197,1,737.00,176.00,28.00,19.00,1,0,1 +198,2,666.00,262.00,16.00,8.00,1,0,1 +198,1,737.00,177.00,29.00,21.00,1,0,1 +199,2,654.00,258.50,16.00,8.00,1,0,1 +199,1,738.00,181.00,28.00,21.00,1,0,1 +200,2,649.50,257.00,15.00,8.00,1,0,1 +200,1,739.00,183.00,27.00,21.00,1,0,1 +201,2,638.50,253.50,16.00,8.00,1,0,1 +201,1,740.00,187.00,27.00,22.00,1,0,1 +202,2,632.50,252.00,17.00,7.00,1,0,1 +202,1,740.00,190.00,27.00,22.00,1,0,1 +203,2,625.00,247.00,15.00,8.00,1,0,1 +203,1,740.00,195.00,27.00,22.00,1,0,1 +204,2,620.00,244.50,17.00,9.00,1,0,1 +204,1,740.00,198.00,27.00,22.00,1,0,1 +205,2,614.00,239.00,14.00,9.00,1,0,1 +205,1,739.00,204.00,28.00,22.00,1,0,1 +206,2,608.50,237.00,16.00,9.00,1,0,1 +206,1,738.00,208.00,29.00,20.00,1,0,1 +207,2,602.50,230.00,15.00,9.00,1,0,1 +207,1,737.00,216.00,29.00,17.00,1,0,1 +208,2,599.50,228.00,15.00,8.00,1,0,1 +208,1,736.00,219.00,30.00,16.00,1,0,1 +209,2,593.00,221.00,14.00,8.00,1,0,1 +209,1,735.00,226.00,31.00,15.00,1,0,1 +210,2,589.50,218.50,14.00,7.00,1,0,1 +210,1,735.00,229.00,28.00,16.00,1,0,1 +211,2,583.00,211.00,15.00,9.00,1,0,1 +211,1,734.00,234.00,28.00,17.00,1,0,1 +212,2,580.00,207.00,15.00,9.00,1,0,1 +212,1,734.00,237.00,28.00,17.00,1,0,1 +213,2,574.50,199.00,14.00,8.00,1,0,1 +213,1,733.00,240.00,28.00,20.00,1,0,1 +214,2,572.00,195.00,15.00,8.00,1,0,1 +214,1,732.00,243.00,29.00,19.00,1,0,1 +215,2,564.50,186.50,16.00,9.00,1,0,1 +215,1,730.00,247.00,30.00,20.00,1,0,1 +216,2,562.00,183.00,15.00,8.00,1,0,1 +216,1,730.00,250.00,27.00,19.00,1,0,1 +217,2,557.50,174.00,14.00,9.00,1,0,1 +217,1,728.00,256.00,28.00,17.00,1,0,1 +218,2,553.00,169.50,14.00,9.00,1,0,1 +218,1,727.00,260.00,27.00,16.00,1,0,1 +219,2,547.00,160.50,15.00,9.00,1,0,1 +219,1,723.00,264.00,31.00,15.00,1,0,1 +220,2,544.00,157.50,16.00,8.00,1,0,1 +220,1,722.00,267.00,28.00,14.00,1,0,1 +221,2,539.00,148.00,16.00,10.00,1,0,1 +221,1,721.00,271.00,27.00,13.00,1,0,1 +222,2,536.00,145.50,15.00,8.00,1,0,1 +222,1,720.00,273.00,26.00,12.00,1,0,1 +223,2,530.50,137.00,15.00,8.00,1,0,1 +223,1,717.00,275.00,27.00,12.00,1,0,1 +224,2,526.00,133.00,17.00,8.00,1,0,1 +224,1,716.00,275.00,27.00,13.00,1,0,1 +225,2,521.50,125.50,15.00,9.00,1,0,1 +225,1,714.00,276.00,28.00,13.00,1,0,1 +226,2,518.50,121.50,16.00,10.00,1,0,1 +226,1,714.00,276.00,27.00,14.00,1,0,1 +227,2,513.00,113.50,16.00,11.00,1,0,1 +227,1,713.00,277.00,27.00,14.00,1,0,1 +228,2,509.00,111.00,17.00,9.00,1,0,1 +228,1,712.00,277.00,28.00,14.00,1,0,1 +229,2,505.00,104.00,15.00,9.00,1,0,1 +229,1,711.00,278.00,28.00,13.00,1,0,1 +230,2,502.50,100.50,17.00,9.00,1,0,1 +230,1,711.00,279.00,28.00,12.00,1,0,1 +231,2,497.50,93.50,15.00,9.00,1,0,1 +231,1,710.00,278.00,31.00,12.00,1,0,1 +232,2,494.00,88.00,16.00,12.00,1,0,1 +232,1,710.00,276.00,32.00,13.00,1,0,1 +233,2,488.00,83.00,16.00,9.00,1,0,1 +233,1,710.00,274.00,32.00,14.00,1,0,1 +234,2,486.00,81.00,15.00,9.00,1,0,1 +234,1,710.00,272.00,32.00,15.00,1,0,1 +235,2,479.50,74.00,17.00,9.00,1,0,1 +235,1,712.00,270.00,31.00,15.00,1,0,1 +236,2,477.50,71.00,15.00,8.00,1,0,1 +236,1,712.00,269.00,32.00,15.00,1,0,1 +237,2,471.00,65.50,17.00,8.00,1,0,1 +237,1,713.00,268.00,33.00,12.00,1,0,1 +238,2,470.00,62.50,14.00,7.00,1,0,1 +238,1,714.00,266.00,33.00,12.00,1,0,1 +239,2,462.50,57.00,16.00,8.00,1,0,1 +239,1,715.00,262.00,33.00,15.00,1,0,1 +240,2,459.50,56.00,16.00,8.00,1,0,1 +240,1,716.00,260.00,35.00,17.00,1,0,1 +241,2,452.50,56.50,17.00,8.00,1,0,1 +241,1,719.00,261.00,33.00,18.00,1,0,1 +242,2,451.00,58.50,15.00,8.00,1,0,1 +242,1,720.00,263.00,37.00,18.00,1,0,1 +243,2,444.00,65.00,16.00,8.00,1,0,1 +243,1,723.00,269.00,35.00,18.00,1,0,1 +244,2,440.00,69.50,17.00,8.00,1,0,1 +244,1,726.00,272.00,33.00,19.00,1,0,1 +245,2,433.50,79.50,15.00,7.00,1,0,1 +245,1,729.00,279.00,36.00,20.00,1,0,1 +246,2,429.00,84.50,16.00,7.00,1,0,1 +246,1,731.00,283.00,36.00,21.00,1,0,1 +247,2,422.50,95.00,16.00,8.00,1,0,1 +247,1,736.00,289.00,36.00,26.00,1,0,1 +248,2,419.00,100.00,16.00,9.00,1,0,1 +248,1,739.00,293.00,36.00,27.00,1,0,1 +249,2,411.50,110.00,14.00,9.00,1,0,1 +249,1,745.00,301.00,37.00,28.00,1,0,1 +250,2,405.00,113.00,16.00,9.00,1,0,1 +250,1,748.00,304.00,38.00,28.00,1,0,1 +251,2,397.50,119.00,16.00,9.00,1,0,1 +251,1,756.00,308.00,39.00,29.00,1,0,1 +252,2,391.50,120.50,18.00,9.00,1,0,1 +252,1,760.00,310.00,39.00,29.00,1,0,1 +253,2,383.00,121.50,17.00,9.00,1,0,1 +253,1,768.00,312.00,41.00,26.00,1,0,1 +254,2,378.50,119.00,16.00,10.00,1,0,1 +254,1,773.00,313.00,41.00,24.00,1,0,1 +255,2,369.00,115.00,15.00,11.00,1,0,1 +255,1,784.00,311.00,41.00,24.00,1,0,1 +256,2,362.50,113.50,16.00,10.00,1,0,1 +256,1,790.00,309.00,41.00,24.00,1,0,1 +257,2,350.00,104.00,17.00,11.00,1,0,1 +257,1,801.00,303.00,44.00,25.00,1,0,1 +258,2,345.00,102.00,16.00,10.00,1,0,1 +258,1,806.00,302.00,44.00,24.00,1,0,1 +259,2,333.00,95.00,18.00,11.00,1,0,1 +259,1,821.00,299.00,43.00,24.00,1,0,1 +260,2,327.00,93.00,18.00,10.00,1,0,1 +260,1,826.00,297.00,50.00,24.00,1,0,1 +261,2,315.00,85.00,18.00,12.00,1,0,1 +261,1,837.00,295.00,55.00,23.00,1,0,1 +262,2,309.00,82.00,19.00,12.00,1,0,1 +262,1,841.00,295.00,58.00,21.00,1,0,1 +263,2,298.00,77.00,18.00,11.00,1,0,1 +263,1,853.00,297.00,62.00,18.00,1,0,1 +264,2,292.00,75.00,20.00,12.00,1,0,1 +264,1,859.00,297.00,64.00,19.00,1,0,1 +265,2,283.00,73.00,18.00,11.00,1,0,1 +265,1,874.00,299.00,63.00,18.00,1,0,1 +266,2,277.00,72.00,20.00,13.00,1,0,1 +266,1,882.00,300.00,61.00,19.00,1,0,1 +267,2,269.00,75.00,18.00,12.00,1,0,1 +267,1,896.00,304.00,61.00,23.00,1,0,1 +268,2,264.00,77.00,19.00,12.00,1,0,1 +268,1,903.00,307.00,60.00,25.00,1,0,1 +269,2,256.00,83.00,19.00,12.00,1,0,1 +269,1,920.00,316.00,60.00,27.00,1,0,1 +270,2,253.00,87.00,19.00,11.00,1,0,1 +270,1,927.00,320.00,60.00,29.00,1,0,1 +271,2,246.00,92.00,19.00,11.00,1,0,1 +271,1,950.00,331.00,54.00,29.00,1,0,1 +272,2,243.00,92.00,19.00,12.00,1,0,1 +272,1,959.00,334.00,54.00,32.00,1,0,1 +273,2,236.00,92.00,19.00,12.00,1,0,1 +273,1,969.00,340.00,62.00,35.00,1,0,1 +274,2,233.00,90.00,20.00,13.00,1,0,1 +274,1,984.00,342.00,56.00,38.00,1,0,1 +275,2,227.00,86.00,20.00,13.00,1,0,1 +275,1,1002.00,345.00,56.00,44.00,1,0,1 +276,2,224.00,83.00,20.00,13.00,1,0,1 +276,1,1010.00,347.00,58.00,45.00,1,0,1 +277,2,218.00,75.00,20.00,13.00,1,0,1 +277,1,1028.00,353.00,60.00,42.00,1,0,1 +278,2,215.00,70.00,21.00,14.00,1,0,1 +278,1,1036.00,356.00,63.00,41.00,1,0,1 +279,2,210.00,61.00,20.00,13.00,1,0,1 +279,1,1054.00,363.00,65.00,38.00,1,0,1 +280,2,208.00,56.00,21.00,13.00,1,0,1 +280,1,1063.00,366.00,67.00,38.00,1,0,1 +281,2,203.00,47.00,21.00,14.00,1,0,1 +281,1,1072.00,374.00,78.00,37.00,1,0,1 +282,2,202.00,42.00,20.00,13.00,1,0,1 +282,1,1090.00,377.00,70.00,39.00,1,0,1 +283,2,198.00,33.00,21.00,13.00,1,0,1 +283,1,1108.00,385.00,71.00,42.00,1,0,1 +284,2,197.00,28.00,20.00,13.00,1,0,1 +284,1,1116.00,390.00,72.00,42.00,1,0,1 +285,2,194.00,19.00,21.00,15.00,1,0,1 +285,1,1132.00,402.00,74.00,39.00,1,0,1 +286,2,193.00,15.00,21.00,15.00,1,0,1 +286,1,1140.00,408.00,74.00,36.00,1,0,1 +287,2,192.00,7.00,21.00,16.00,1,0,1 +287,1,1144.00,419.00,86.00,35.00,1,0,1 +288,2,191.00,2.00,20.00,18.00,1,0,1 +288,1,1159.00,425.00,79.00,34.00,1,0,1 diff --git a/image/tracker.jpg b/image/tracker.jpg new file mode 100644 index 0000000..3be9967 Binary files /dev/null and b/image/tracker.jpg differ diff --git a/image/tracker_v2.jpg b/image/tracker_v2.jpg new file mode 100644 index 0000000..a1ab38a Binary files /dev/null and b/image/tracker_v2.jpg differ diff --git a/image/tracker_v3.jpg b/image/tracker_v3.jpg new file mode 100644 index 0000000..8265cee Binary files /dev/null and b/image/tracker_v3.jpg differ diff --git a/tracker/track_demo_v3.py b/tracker/track_demo_v3.py new file mode 100644 index 0000000..9fc865c --- /dev/null +++ b/tracker/track_demo_v3.py @@ -0,0 +1,385 @@ +""" +新增MOT與修正scale +""" +import sys, os +import numpy as np +import torch +import cv2 +from PIL import Image +from tqdm import tqdm +import yaml +import time +import json + + +from loguru import logger +import argparse + +from tracking_utils.envs import select_device +from tracking_utils.tools import * +from tracking_utils.visualization import plot_img, save_video + +from tracker_dataloader import TestDataset, DemoDataset + +# trackers +from trackers.byte_tracker import ByteTracker +from trackers.sort_tracker import SortTracker +from trackers.botsort_tracker import BotTracker +from trackers.c_biou_tracker import C_BIoUTracker +from trackers.ocsort_tracker import OCSortTracker +from trackers.deepsort_tracker import DeepSortTracker + +trackers = { + 'sort': SortTracker, + 'bytetrack': ByteTracker, + 'botsort': BotTracker, + 'c_bioutrack': C_BIoUTracker, + 'ocsort': OCSortTracker, + 'deepsort': DeepSortTracker +} + +# MOTION_MODEL_DICT = { +# 'sort': SORTKalman, +# 'byte': ByteKalman, +# 'bot': BotKalman, +# 'ocsort': OCSORTKalman, +# 'strongsort': NSAKalman, +# 'ucmc': UCMCKalman, +# } + +tracker_name = 'sort' # sort, deepsort, botsort, c_bioutrack, bytetrack + +testdata = "multi_drone_241016_001" + + +video_path = f'D:/Project/Yolov7-tracker-2/video/{testdata}.mp4' +weights = './weights/best_AGDS_v001.pt' + +# Kalman, sort, deepsort, byte + +if tracker_name == 'sort': + kalman_format_name = 'sort' + +elif tracker_name == 'deepsort': + kalman_format_name = 'byte' + +elif tracker_name == 'bytetrack': + kalman_format_name = 'byte' + +elif tracker_name == 'botsort': + kalman_format_name = 'bot' + +elif tracker_name == 'c_bioutrack': + kalman_format_name = 'bot' + + + +results_json = {key: [] for key in trackers} +fps_dict = {key: 0 for key in trackers} + +# YOLOX modules +try: + from yolox.exp import get_exp + from yolox_utils.postprocess import postprocess_yolox + from yolox.utils import fuse_model +except Exception as e: + logger.warning(e) + logger.warning('Load yolox fail. If you want to use yolox, please check the installation.') + pass + +# YOLOv7 modules +try: + sys.path.append(os.getcwd()) + from models.experimental import attempt_load + from utils.torch_utils import select_device, time_synchronized, TracedModel + from utils.general import non_max_suppression, scale_coords, check_img_size + from yolov7_utils.postprocess import postprocess as postprocess_yolov7 + +except Exception as e: + logger.warning(e) + logger.warning('Load yolov7 fail. If you want to use yolov7, please check the installation.') + pass + +# YOLOv8 modules +try: + from ultralytics import YOLO + from yolov8_utils.postprocess import postprocess as postprocess_yolov8 + +except Exception as e: + logger.warning(e) + logger.warning('Load yolov8 fail. If you want to use yolov8, please check the installation.') + pass + +TRACKER_DICT = { + 'sort': SortTracker, + 'bytetrack': ByteTracker, + 'botsort': BotTracker, + 'c_bioutrack': C_BIoUTracker, + 'ocsort': OCSortTracker, + 'deepsort': DeepSortTracker +} + +def get_args(): + + parser = argparse.ArgumentParser() + + """general""" + # parser.add_argument('--obj', type=str, required=True, default='D:\Project\Yolov7-tracker-2\video', help='video or images folder PATH') + + parser.add_argument('--obj', type=str, default=video_path, help='video or images folder PATH') + + parser.add_argument('--detector', type=str, default='yolov7', help='yolov7, yolox, etc.') + parser.add_argument('--tracker', type=str, default = tracker_name, help='sort, deepsort, etc') + # parser.add_argument('--reid_model', type=str, default='deepsort', help='osnet or deepsort') + parser.add_argument('--reid_model', type=str, default='osnet_x0_25', help='osnet or deepsort') + + parser.add_argument('--kalman_format', type=str, default=kalman_format_name, help='use what kind of Kalman, sort, deepsort, byte, etc.') + parser.add_argument('--img_size', type=int, default=640, help='image size, [h, w]') + + parser.add_argument('--conf_thresh', type=float, default=0.5, help='filter tracks') + parser.add_argument('--nms_thresh', type=float, default=0.7, help='thresh for NMS') + parser.add_argument('--iou_thresh', type=float, default=0.5, help='IOU thresh to filter tracks') + + parser.add_argument('--device', type=str, default='0', help='cuda device, i.e. 0 or 0,1,2,3 or cpu') + + """yolox""" + parser.add_argument('--num_classes', type=int, default=1) + parser.add_argument('--yolox_exp_file', type=str, default='./tracker/yolox_utils/yolox_m.py') + + """model path""" + parser.add_argument('--detector_model_path', type=str, default = weights, help='model path') + parser.add_argument('--trace', type=bool, default=True, help='traced model of YOLO v7') + # other model path + parser.add_argument('--reid_model_path', type=str, default='./weights/osnet_x0_25.pth', help='path for reid model path') + parser.add_argument('--dhn_path', type=str, default='./weights/DHN.pth', help='path of DHN path for DeepMOT') + + + """other options""" + parser.add_argument('--discard_reid', action='store_true', help='discard reid model, only work in bot-sort etc. which need a reid part') + parser.add_argument('--track_buffer', type=int, default=30, help='tracking buffer') + parser.add_argument('--gamma', type=float, default=0.1, help='param to control fusing motion and apperance dist') + parser.add_argument('--min_area', type=float, default=200, help='use to filter small bboxs') + + parser.add_argument('--save_dir', type=str, default='track_demo_results') + parser.add_argument('--save_images', action='store_true', help='save tracking results (image)') + # parser.add_argument('--save_videos', action='store_true', help='save tracking results (video)') + parser.add_argument('--save_videos', default=True, help='save tracking results (video)') + + parser.add_argument('--track_eval', type=bool, default=True, help='Use TrackEval to evaluate') + + return parser.parse_args() + +def main(args): + + """1. set some params""" + + # NOTE: if save video, you must save image + if args.save_videos: + args.save_images = True + + """2. load detector""" + device = select_device(args.device) + + if args.detector == 'yolox': + + exp = get_exp(args.yolox_exp_file, None) # TODO: modify num_classes etc. for specific dataset + model_img_size = exp.input_size + model = exp.get_model() + model.to(device) + model.eval() + + logger.info(f"loading detector {args.detector} checkpoint {args.detector_model_path}") + ckpt = torch.load(args.detector_model_path, map_location=device) + model.load_state_dict(ckpt['model']) + logger.info("loaded checkpoint done") + model = fuse_model(model) + + stride = None # match with yolo v7 + + logger.info(f'Now detector is on device {next(model.parameters()).device}') + + elif args.detector == 'yolov7': + + logger.info(f"loading detector {args.detector} checkpoint {args.detector_model_path}") + model = attempt_load(args.detector_model_path, map_location=device) + + # get inference img size + stride = int(model.stride.max()) # model stride + model_img_size = check_img_size(args.img_size, s=stride) # check img_size + + # Traced model + model = TracedModel(model, device=device, img_size=args.img_size) + # model.half() + + logger.info("loaded checkpoint done") + + logger.info(f'Now detector is on device {next(model.parameters()).device}') + + elif args.detector == 'yolov8': + + logger.info(f"loading detector {args.detector} checkpoint {args.detector_model_path}") + model = YOLO(args.detector_model_path) + + model_img_size = [None, None] + stride = None + + logger.info("loaded checkpoint done") + + else: + logger.error(f"detector {args.detector} is not supprted") + exit(0) + + """3. load sequences""" + + dataset = DemoDataset(file_name=args.obj, img_size=model_img_size, model=args.detector, stride=stride, ) + data_loader = torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False) + + tracker = TRACKER_DICT[args.tracker](args, ) + + + save_dir = args.save_dir + + process_bar = enumerate(data_loader) + process_bar = tqdm(process_bar, total=len(data_loader), ncols=150) + + results = [] + + """4. Tracking""" + start_time = time.time() + frame_count = 0 + + for frame_idx, (ori_img, img) in process_bar: + + p1 = 0 + p2 = 0 + + + if args.detector == 'yolov8': + img = img.squeeze(0).cpu().numpy() + + else: + img = img.to(device) # (1, C, H, W) + img = img.float() + + ori_img = ori_img.squeeze(0) + + + # get detector output + with torch.no_grad(): + if args.detector == 'yolov8': + output = model.predict(img, conf=args.conf_thresh, iou=args.nms_thresh) + else: + output = model(img) + + # postprocess output to original scales + if args.detector == 'yolox': + output = postprocess_yolox(output, args.num_classes, conf_thresh=args.conf_thresh, + img=img, ori_img=ori_img) + + elif args.detector == 'yolov7': + output = postprocess_yolov7(output, args.conf_thresh, args.nms_thresh, img.shape[2:], ori_img.shape) + + elif args.detector == 'yolov8': + output = postprocess_yolov8(output) + + else: raise NotImplementedError + + # output: (tlbr, conf, cls) + # convert tlbr to tlwh + if isinstance(output, torch.Tensor): + output = output.detach().cpu().numpy() + output[:, 2] -= output[:, 0] + output[:, 3] -= output[:, 1] + current_tracks = tracker.update(output, img, ori_img.cpu().numpy()) + + # save results + cur_tlwh, cur_id, cur_cls, cur_score = [], [], [], [] + for trk in current_tracks: + bbox = trk.tlwh + id = trk.track_id + cls = trk.category + score = trk.score + + # filter low area bbox + if bbox[2] * bbox[3] > args.min_area: + cur_tlwh.append(bbox) + cur_id.append(id) + cur_cls.append(cls) + cur_score.append(score) + p1 = (int(bbox[0]), int(bbox[1])) + p2 = (int(bbox[0] + bbox[2]), int(bbox[1] + bbox[3])) + # results.append((frame_id + 1, id, bbox, cls)) + + results.append((frame_idx + 1, cur_id, cur_tlwh, cur_cls, cur_score)) + results_json[tracker_name].append((p1, p2)) + + if args.save_images: + plot_img(img=ori_img, frame_id=frame_idx, results=[cur_tlwh, cur_id, cur_cls], + save_dir=os.path.join(save_dir, 'vis_results')) + frame_count += 1 + + save_results(folder_name=os.path.join(save_dir, 'txt_results'), + seq_name='demo', + results=results) + + + # 寫入 pred.txt(MOT 格式) + # 設定縮放比例(模型輸入 vs 原圖大小) + re_img_h, re_img_w = ori_img.shape[:2] + org_img_h, org_img_w = 720, 1280 + scale_x = org_img_h / re_img_h + scale_y = org_img_w / re_img_w + + # Check if the dataset folder exists, if not, create it + dataset_folder = os.path.join(save_dir, testdata) + if not os.path.exists(dataset_folder): + os.makedirs(dataset_folder) + + pred_path = os.path.join(save_dir, f"{testdata}\\{tracker_name}_pred.txt") + with open(pred_path, "w") as f: + for frame_idx, ids, boxes, classes, scores in results: + for i in range(len(ids)): + x, y, w, h = map(float, boxes[i]) # 假設為 TLWH(像素座標) + + # 進行座標放大回原始尺寸 + x *= scale_x + y *= scale_y + w *= scale_x + h *= scale_y + + obj_id = int(ids[i]) + cls = int(classes[i]) + conf = float(scores[i]) + + f.write(f"{frame_idx},{obj_id},{x:.2f},{y:.2f},{w:.2f},{h:.2f},{conf:.2f},{cls},1\n") + logger.info(f"Saved MOT-format tracking result to: {pred_path}") + + + end_time = time.time() + total_time = end_time - start_time + fps = frame_count / total_time + fps_dict[tracker_name] = fps + logger.info(f"Total time: {total_time:.2f} seconds, FPS: {fps:.2f}") + + if args.save_videos: + save_video(images_path=os.path.join(save_dir, 'vis_results')) + logger.info(f'save video done') + + + tracker_results = { + 'results': results_json[tracker_name], + 'fps_dict': fps_dict[tracker_name] + } + results_path = f'./{save_dir}/{testdata}/tracker_results_{tracker_name}.json' + + with open(results_path, 'w') as f: + json.dump(tracker_results, f, ensure_ascii=False, indent=4) + + + print(f"Tracker results and FPS dictionary saved to {results_path}") + +if __name__ == '__main__': + + args = get_args() + + main(args) diff --git a/tracker/track_demo_v4.py b/tracker/track_demo_v4.py new file mode 100644 index 0000000..f9d1788 --- /dev/null +++ b/tracker/track_demo_v4.py @@ -0,0 +1,175 @@ +import sys, os +import numpy as np +import torch +import cv2 +from PIL import Image +from tqdm import tqdm +import yaml +import time +import json +from loguru import logger +import argparse + +# 確保 yolov7 模型能正確載入 +sys.path.append(os.getcwd()) # 加入目前工作目錄 + +from tracking_utils.envs import select_device +from tracking_utils.tools import * +from tracking_utils.visualization import plot_img, save_video + +from tracker_dataloader import TestDataset, DemoDataset + +# trackers +from trackers.byte_tracker import ByteTracker +from trackers.sort_tracker import SortTracker +from trackers.botsort_tracker import BotTracker +from trackers.c_biou_tracker import C_BIoUTracker +from trackers.ocsort_tracker import OCSortTracker +from trackers.deepsort_tracker import DeepSortTracker + +TRACKER_DICT = { + 'sort': SortTracker, + 'bytetrack': ByteTracker, + 'botsort': BotTracker, + 'c_bioutrack': C_BIoUTracker, + 'deepsort': DeepSortTracker +} + +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--detector', type=str, default='yolov7', help='yolov7, yolox, yolov8') + parser.add_argument('--dataset', type=str, default='multi_drone_241016_001', help='dataset name') + parser.add_argument('--reid_model', type=str, default='osnet_x0_25') + parser.add_argument('--img_size', type=int, default=640) + parser.add_argument('--conf_thresh', type=float, default=0.5) + parser.add_argument('--nms_thresh', type=float, default=0.7) + parser.add_argument('--iou_thresh', type=float, default=0.5) + parser.add_argument('--device', type=str, default='0') + parser.add_argument('--num_classes', type=int, default=1) + parser.add_argument('--yolox_exp_file', type=str, default='./tracker/yolox_utils/yolox_m.py') + parser.add_argument('--detector_model_path', type=str, default='./weights/best_AGDS_v001.pt') + parser.add_argument('--trace', type=bool, default=True) + parser.add_argument('--reid_model_path', type=str, default='./weights/osnet_x0_25.pth') + parser.add_argument('--dhn_path', type=str, default='./weights/DHN.pth') + parser.add_argument('--discard_reid', action='store_true') + parser.add_argument('--track_buffer', type=int, default=30) + parser.add_argument('--gamma', type=float, default=0.1) + parser.add_argument('--min_area', type=float, default=200) + parser.add_argument('--save_dir', type=str, default='track_demo_results') + parser.add_argument('--save_images', default=False) + parser.add_argument('--save_videos', default=False) + parser.add_argument('--track_eval', type=bool, default=True) + parser.add_argument('--kalman_format', type=str, default='sort', help='use what kind of Kalman: sort, byte, bot, etc.') + args = parser.parse_args() + args.obj = f'video/{args.dataset}_output_video.mp4' + return args + +def main(args, tracker_name): + args.tracker = tracker_name + + # 自動設定 kalman_format + if tracker_name == 'sort': + args.kalman_format = 'sort' + elif tracker_name in ['deepsort', 'bytetrack']: + args.kalman_format = 'byte' + elif tracker_name in ['botsort', 'c_bioutrack']: + args.kalman_format = 'bot' + else: + args.kalman_format = 'sort' + + testdata = args.dataset + device = select_device(args.device) + + if args.detector == 'yolov7': + from models.experimental import attempt_load + from utils.torch_utils import TracedModel + from utils.general import non_max_suppression, scale_coords, check_img_size + from yolov7_utils.postprocess import postprocess as postprocess_yolov7 + + model = attempt_load(args.detector_model_path, map_location=device) + stride = int(model.stride.max()) + model_img_size = check_img_size(args.img_size, s=stride) + model = TracedModel(model, device=device, img_size=args.img_size) + logger.info("Yolov7 detector loaded") + + else: + logger.error("Only yolov7 currently supported in this script") + return + + dataset = DemoDataset(file_name=args.obj, img_size=model_img_size, model=args.detector, stride=stride) + data_loader = torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False) + tracker = TRACKER_DICT[args.tracker](args) + + results = [] + results_json = {tracker_name: []} + fps_dict = {tracker_name: 0} + frame_count = 0 + start_time = time.time() + + for frame_idx, (ori_img, img) in tqdm(enumerate(data_loader), total=len(data_loader)): + img = img.to(device).float() + ori_img = ori_img.squeeze(0) + with torch.no_grad(): + output = model(img) + output = postprocess_yolov7(output, args.conf_thresh, args.nms_thresh, img.shape[2:], ori_img.shape) + + if isinstance(output, torch.Tensor): + output = output.detach().cpu().numpy() + output[:, 2] -= output[:, 0] + output[:, 3] -= output[:, 1] + + current_tracks = tracker.update(output, img, ori_img.cpu().numpy()) + + cur_tlwh, cur_id, cur_cls, cur_score = [], [], [], [] + for trk in current_tracks: + bbox = trk.tlwh + id = trk.track_id + cls = trk.category + score = trk.score + if bbox[2] * bbox[3] > args.min_area: + cur_tlwh.append(bbox) + cur_id.append(id) + cur_cls.append(cls) + cur_score.append(score) + + results.append((frame_idx + 1, cur_id, cur_tlwh, cur_cls, cur_score)) + frame_count += 1 + + if args.save_images: + plot_img(img=ori_img, frame_id=frame_idx, results=[cur_tlwh, cur_id, cur_cls], + save_dir=os.path.join(args.save_dir, 'vis_results', tracker_name)) + + org_h, org_w = 720, 1280 + re_h, re_w = ori_img.shape[:2] + scale_x, scale_y = org_h / re_h, org_w / re_w + + pred_path = os.path.join(args.save_dir, testdata, f"{tracker_name}_pred.txt") + os.makedirs(os.path.dirname(pred_path), exist_ok=True) + + with open(pred_path, 'w') as f: + for frame_idx, ids, boxes, classes, scores in results: + for i in range(len(ids)): + x, y, w, h = boxes[i] + x, y, w, h = x * scale_x, y * scale_y, w * scale_x, h * scale_y + f.write(f"{frame_idx},{ids[i]},{x:.2f},{y:.2f},{w:.2f},{h:.2f},{scores[i]:.2f},{classes[i]},1\n") + + end_time = time.time() + fps = frame_count / (end_time - start_time) + fps_dict[tracker_name] = fps + logger.info(f"{tracker_name}: FPS={fps:.2f}") + + if args.save_videos: + save_video(images_path=os.path.join(args.save_dir, 'vis_results', tracker_name)) + + tracker_results = { + 'results': results_json[tracker_name], + 'fps_dict': fps_dict[tracker_name] + } + with open(os.path.join(args.save_dir, testdata, f'tracker_results_{tracker_name}.json'), 'w') as f: + json.dump(tracker_results, f, ensure_ascii=False, indent=4) + +if __name__ == '__main__': + args = get_args() + for tracker_name in TRACKER_DICT.keys(): + print(f"\n===== Testing tracker: {tracker_name} =====") + main(args, tracker_name) diff --git a/video/A2A_002.mp4 b/video/A2A_002.mp4 new file mode 100644 index 0000000..6ae73a2 Binary files /dev/null and b/video/A2A_002.mp4 differ diff --git a/video/A2A_002_output_video.mp4 b/video/A2A_002_output_video.mp4 new file mode 100644 index 0000000..17c4e92 Binary files /dev/null and b/video/A2A_002_output_video.mp4 differ diff --git a/video/multi_drone.mp4 b/video/multi_drone.mp4 new file mode 100644 index 0000000..0935bad Binary files /dev/null and b/video/multi_drone.mp4 differ diff --git a/video/multi_drone_241016_001.mp4 b/video/multi_drone_241016_001.mp4 new file mode 100644 index 0000000..7b2bd06 Binary files /dev/null and b/video/multi_drone_241016_001.mp4 differ diff --git a/video/multi_drone_241016_001_output_video.mp4 b/video/multi_drone_241016_001_output_video.mp4 new file mode 100644 index 0000000..7b2bd06 Binary files /dev/null and b/video/multi_drone_241016_001_output_video.mp4 differ diff --git a/weights/best_AGDS_v001.pt b/weights/best_AGDS_v001.pt new file mode 100644 index 0000000..472d3da Binary files /dev/null and b/weights/best_AGDS_v001.pt differ diff --git a/weights/best_v5.pt b/weights/best_v5.pt new file mode 100644 index 0000000..d76911d Binary files /dev/null and b/weights/best_v5.pt differ