Window环境下复现 MOT《Towards Real-Time Multi-Object Tracking》代码

一、从git把代码拉下来

代码地址: https://github.com/Zhongdao/Towards-Realtime-MOT

image.png

环境中有ffmpeg, 这是用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。需要自行安装编译

二、下载权重文件

注意下载两个权重文件

image.png

下载后在项目下新建文件weights,放入将两个权重文件
由于我之前下载过yolov3的权重,所以直接粘贴过来,没有的话可以下官网提供的darknet-53


image.png

三、修改demo.py文件

1.把默认的权重文件所在路径替换
image.png
2.修改调用ffmpeg命令

补全ffmpeg路径,并且指定编译器 libx264


image.png

四、运行demo.py文件

python demo.py --input-video path/to/your/input/video --output-root path/to/output/root

运行过程中找不到哪个模块就安装哪个模块

五、使用cv将图片合成视频

如果不想安装ffmpeg,或者ffmpeg编译不成功。可以用cv合成视频

import cv2

    if opt.output_format == 'video':
         # 原代码使用ffmpeg将图片合成视频
         # output_video_path = osp.join(result_root, 'result.mp4')
         # cmd_str = 'E:\lqj\\ffmpeg\\bin\\ffmpeg -f image2 -i {}/%05d.jpg -vcodec libx264 -r 25 -b 382k {}'.format(osp.join(result_root, 'frame') ,output_video_path)
         # os.system(cmd_str)


        fps = 10
        img = cv2.imread(frame_dir + "\\00000.jpg")
        size = img.shape[:2]

        videowriter = cv2.VideoWriter(result_root + "\\result.mp4", cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, size)

        for i in os.listdir(frame_dir):
            frame = cv2.imread(frame_dir + '\\' + i)
            videowriter.write(frame)
            cv2.imshow('track', frame)

            c = cv2.waitKey(10) & 0xff
            if c == 27:
                videowriter.release()
                break

        videowriter.release()
        cv2.destroyAllWindows()

运行的正确结果,有蓝色字体输出


clipboard.png

六、踩坑

1.pip install cython_bbox报错

报错信息如下:
(track_env) E:\lqj\05_Towards-Realtime-MOT>pip install cython_bbox
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting cython_bbox
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fa/b9/fc7d60e8c3b29cc0ff24a3bb3c4b7457e10b7610fbb2893741b623487b34/cython_bbox-0.1.3.tar.gz (41 kB)
|████████████████████████████████| 41 kB 81 kB/s
Building wheels for collected packages: cython-bbox
Building wheel for cython-bbox (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'D:\Miniconda3\envs\track_env\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox\setup.py'"'"'; file='"'"'C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\DLML\AppData\Local\Temp\pip-wheel-siwa8t6t'
cwd: C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox
Complete output (11 lines):
running bdist_wheel
running build
running build_ext
building 'cython_bbox' extension
creating build
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\src
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:\Miniconda3\envs\track_env\lib\site-packages\numpy\core\include -ID:\Miniconda3\envs\track_env\include -ID:\Miniconda3\envs\track_env\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" /Tcsrc/cython_bbox.c /Fobuild\temp.win-amd64-3.8\Release\src/cython_bbox.obj -Wno-cpp
cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' failed with exit status 2


ERROR: Failed building wheel for cython-bbox
Running setup.py clean for cython-bbox
Failed to build cython-bbox
Installing collected packages: cython-bbox
Running setup.py install for cython-bbox ... error
ERROR: Command errored out with exit status 1:
command: 'D:\Miniconda3\envs\track_env\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox\setup.py'"'"'; file='"'"'C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\DLML\AppData\Local\Temp\pip-record-en1l_gbw\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\Miniconda3\envs\track_env\Include\cython-bbox'
cwd: C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox
Complete output (11 lines):
running install
running build
running build_ext
building 'cython_bbox' extension
creating build
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\src
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:\Miniconda3\envs\track_env\lib\site-packages\numpy\core\include -ID:\Miniconda3\envs\track_env\include -ID:\Miniconda3\envs\track_env\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" /Tcsrc/cython_bbox.c /Fobuild\temp.win-amd64-3.8\Release\src/cython_bbox.obj -Wno-cpp
cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'D:\Miniconda3\envs\track_env\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox\setup.py'"'"'; file='"'"'C:\Users\DLML\AppData\Local\Temp\pip-install-p_l1_mma\cython-bbox\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\DLML\AppData\Local\Temp\pip-record-en1l_gbw\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\Miniconda3\envs\track_env\Include\cython-bbox' Check the logs for full command output.
<meta charset="utf-8">

clipboard.png
clipboard.png
clipboard.png
2.无法执行ffmpeg
clipboard.png

安装ffmpeg: https://www.videohelp.com/software/ffmpeg/old-versions
Python运行ffmpeg 解析视频中碰到的路径问题: https://blog.csdn.net/wangliuqi123/article/details/80493695

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351