DIP-football - A football video analyse system based on Yolov5, alphapose, Qt6

Overview

足球视频分析系统

作者

简介

本项目是SJTU 21-22学年CS386 数字图像处理课程的大作业,本文是足球视频分析系统的参考文档。我们主要实现了以下功能:

  1. 基于Yolo v5和PastaNet搭建了足球视频的分析神经网络,能够对球员位置、球员姿态和动作进行识别,也能对球队战术进行初步识别
  2. 基于Qt6搭建了一套足球分析系统,包括服务端和客户端:客户端上传视频到服务端,分析完成后再下载结果并展示

使用方法

  • 服务端:

    1. 需要一台装有NVIDIA20系列显卡,并且装有cuda10.2的Linux电脑(如果你打算用CPU运行神经网络,没有显卡也可以)
    2. 配置python环境,输入conda env create -n activity2vec -f DIP/HAKE-Action-Torch-Activity2Vec/activity2vec.yamlconda env create -n yolo -f DIP/Yolov5_DeepSort_Pytorch/yolo.yaml
    3. 在Linux环境下用Qt6编译src/server-console/server-console.pro,如果是在docker中,那么还需用ldd命令找到所需的库文件,将编译好的可执行文件和库文件一起拷贝到docker
    4. 修改DIP文件夹下面三个.sh脚本,将其中的$PYTHON_PATH改成自己conda环境中对应的python位置
    5. 将编译好的server-console放到DIP文件夹下,运行之
  • 客户端:

    1. 下载并安装Qt6
    2. 用Qt6打开src/layouts/basiclayouts.pro,编译之
    3. DIP/GUI中的get_place.py打包成get_place.exe,并与第二步编译好的文件放在同一目录下
    4. 运行第二步编译好的文件

文件夹

DIP  神经网络方面
|-- GUI            人工校准GUI
|-- inputfile      输入文件
|-- Yolov5_DeepSort_Pytorch
|-- HAKE-Action-Torch-Activity2Vec
...

src  图像界面方面
|-- layouts        客户端
|-- server-console 服务端

report 报告

注意

  • 我们在此处没有提供全套DIP文件夹,它足足有7.2G,您可以根据下面的链接下载环境

    链接: https://pan.baidu.com/s/1PiAyDIr59o5IvgcjAnUylw  密码: 0gso
    --来自百度网盘超级会员V5的分享
    

Football Video Analyse System

Introduction

This project is a major assignment of cs386 digital image processing course of SJTU 21-22 academic year. This tutorial is a reference document for football video analysis system. We mainly realize the following functions:

  1. We build a football video analysis neural network, which can identify the player's position, player's posture and action, and also preliminarily identify the team's tactics.
  2. We construct a football analysis system based on Qt-6, including server and client: the client uploads the video to the server, downloads the results and displays them after analysis.

Usage

  • Server:

    1. You need a CUDA 10.2 Linux computer with NVIDIA 20 series graphics card (If you plan to run neural networks with CPU, you can do it without a graphics card)
    2. Build the python environment, enter conda env create -n activity2vec -f DIP/HAKE-Action-Torch-Activity2Vec/activity2vec.yaml and conda env create -n yolo -f DIP/Yolov5_DeepSort_Pytorch/yolo.yaml
    3. Compile src/server-console/server-console.pro in Linux Qt6. If you decide to run it in docker, you also need ldd command to find the required library, then copy the executable file and the library to docker
    4. Modify the three .sh script in folder DIP, change $PYTHON_PATH to the corresponding Python location in your conda environment
    5. Put the executable server-console into the DIP folder, then run it
  • Client:

    1. Download and install Qt6
    2. Open src/layouts/basiclayouts.pro with Qt6, then compile it
    3. Pack the DIP/GUI/get_place.py to get_place.exe and put it in the same directory as the files compiled in step 2
    4. Run the file compiled in step 2

Directory

DIP  # about neural network
|-- GUI            # calibrate GUI
|-- inputfile      
|-- Yolov5_DeepSort_Pytorch
|-- HAKE-Action-Torch-Activity2Vec
...

src  # about GUI
|-- layouts        # client
|-- server-console # server

report 报告

Note

  • We don't provide a full set of DIP folders here. It takes up 7.2G of space. You can download the environment according to the link below:

    URL: https://pan.baidu.com/s/1PiAyDIr59o5IvgcjAnUylw
    password: 0gso
    
Code repository for our paper regarding the L3D dataset.

The Large Labelled Logo Dataset (L3D): A Multipurpose and Hand-Labelled Continuously Growing Dataset Website: https://lhf-labs.github.io/tm-dataset Da

LHF Labs 9 Dec 14, 2022
HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation

HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation Official PyTroch implementation of HPRNet. HPRNet: Hierarchical Point Regre

Nermin Samet 53 Dec 04, 2022
PyArmadillo: an alternative approach to linear algebra in Python

PyArmadillo is a linear algebra library for the Python language, with an emphasis on ease of use.

Terry Zhuo 58 Oct 11, 2022
CMUA-Watermark: A Cross-Model Universal Adversarial Watermark for Combating Deepfakes (AAAI2022)

CMUA-Watermark The official code for CMUA-Watermark: A Cross-Model Universal Adversarial Watermark for Combating Deepfakes (AAAI2022) arxiv. It is bas

50 Nov 26, 2022
Poplar implementation of "Bundle Adjustment on a Graph Processor" (CVPR 2020)

Poplar Implementation of Bundle Adjustment using Gaussian Belief Propagation on Graphcore's IPU Implementation of CVPR 2020 paper: Bundle Adjustment o

Joe Ortiz 34 Dec 05, 2022
Unity Propagation in Bayesian Networks Handling Inconsistency via Unity Smoothing

This repository contains the scripts needed to generate the results from the paper Unity Propagation in Bayesian Networks Handling Inconsistency via U

0 Jan 19, 2022
Manipulation OpenAI Gym environments to simulate robots at the STARS lab

Manipulator Learning This repository contains a set of manipulation environments that are compatible with OpenAI Gym and simulated in pybullet. In par

STARS Laboratory 5 Dec 08, 2022
Little tool in python to watch anime from the terminal (the better way to watch anime)

ani-cli Script working again :), thanks to the fork by Dink4n for the alternative approach to by pass the captcha on gogoanime A cli to browse and wat

Harshith 4.5k Dec 31, 2022
Keras implementation of "One pixel attack for fooling deep neural networks" using differential evolution on Cifar10 and ImageNet

One Pixel Attack How simple is it to cause a deep neural network to misclassify an image if an attacker is only allowed to modify the color of one pix

Dan Kondratyuk 1.2k Dec 26, 2022
Anomaly detection analysis and labeling tool, specifically for multiple time series (one time series per category)

taganomaly Anomaly detection labeling tool, specifically for multiple time series (one time series per category). Taganomaly is a tool for creating la

Microsoft 272 Dec 17, 2022
Simultaneous Demand Prediction and Planning

Simultaneous Demand Prediction and Planning Dependencies Python packages: Pytorch, scikit-learn, Pandas, Numpy, PyYAML Data POI: data/poi Road network

Yizong Wang 1 Sep 01, 2022
UDP++ (ECCVW 2020 Oral), (Winner of COCO 2020 Keypoint Challenge).

UDP-Pose This is the pytorch implementation for UDP++, which won the Fisrt place in COCO Keypoint Challenge at ECCV 2020 Workshop. Top-Down Results on

20 Jul 29, 2022
The repository for the paper "When Do You Need Billions of Words of Pretraining Data?"

pretraining-learning-curves This is the repository for the paper When Do You Need Billions of Words of Pretraining Data? Edge Probing We use jiant1 fo

ML² AT CILVR 19 Nov 25, 2022
Real-Time Multi-Contact Model Predictive Control via ADMM

Here, you can find the code for the paper 'Real-Time Multi-Contact Model Predictive Control via ADMM'. Code is currently being cleared up and optimize

17 Dec 28, 2022
Code for Max-Margin Contrastive Learning - AAAI 2022

Max-Margin Contrastive Learning This is a pytorch implementation for the paper Max-Margin Contrastive Learning accepted to AAAI 2022. This repository

Anshul Shah 12 Oct 22, 2022
Official implementation for "Style Transformer for Image Inversion and Editing" (CVPR 2022)

Style Transformer for Image Inversion and Editing (CVPR2022) https://arxiv.org/abs/2203.07932 Existing GAN inversion methods fail to provide latent co

Xueqi Hu 153 Dec 02, 2022
A novel method to tune language models. Codes and datasets for paper ``GPT understands, too''.

P-tuning A novel method to tune language models. Codes and datasets for paper ``GPT understands, too''. How to use our code We have released the code

THUDM 562 Dec 27, 2022
sense-py-AnishaBaishya created by GitHub Classroom

Compute Statistics Here we compute statistics for a bunch of numbers. This project uses the unittest framework to test functionality. Pass the tests T

1 Oct 21, 2021
Half Instance Normalization Network for Image Restoration

HINet Half Instance Normalization Network for Image Restoration, based on https://github.com/megvii-model/HINet. Dependencies NumPy PyTorch, preferabl

Holy Wu 4 Jun 06, 2022
Implementation of the federated dual coordinate descent (FedDCD) method.

FedDCD.jl Implementation of the federated dual coordinate descent (FedDCD) method. Installation To install, just call Pkg.add("https://github.com/Zhen

Zhenan Fan 6 Sep 21, 2022