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
    
A PyTorch implementation of PointRend: Image Segmentation as Rendering

PointRend A PyTorch implementation of PointRend: Image Segmentation as Rendering [arxiv] [Official Implementation: Detectron2] This repo for Only Sema

AhnDW 336 Dec 26, 2022
Object tracking implemented with YOLOv4, DeepSort, and TensorFlow.

Object tracking implemented with YOLOv4, DeepSort, and TensorFlow. YOLOv4 is a state of the art algorithm that uses deep convolutional neural networks to perform object detections. We can take the ou

The AI Guy 1.1k Dec 29, 2022
Code for the TASLP paper "PSLA: Improving Audio Tagging With Pretraining, Sampling, Labeling, and Aggregation".

PSLA: Improving Audio Tagging with Pretraining, Sampling, Labeling, and Aggregation Introduction Getting Started FSD50K Recipe AudioSet Recipe Label E

Yuan Gong 84 Dec 27, 2022
LoL Runes Recommender With Python

LoL-Runes-Recommender Para ejecutar la aplicación se debe llamar a execute_app.p

Sebastián Salinas 1 Jan 10, 2022
This project hosts the code for implementing the ISAL algorithm for object detection and image classification

Influence Selection for Active Learning (ISAL) This project hosts the code for implementing the ISAL algorithm for object detection and image classifi

25 Sep 11, 2022
BankNote-Net: Open dataset and encoder model for assistive currency recognition

BankNote-Net: Open Dataset for Assistive Currency Recognition Millions of people around the world have low or no vision. Assistive software applicatio

Microsoft 13 Oct 28, 2022
Reference PyTorch implementation of "End-to-end optimized image compression with competition of prior distributions"

PyTorch reference implementation of "End-to-end optimized image compression with competition of prior distributions" by Benoit Brummer and Christophe

Benoit Brummer 6 Jun 16, 2022
Automatic packaging of the open-composite libs for OvGME

OvGME Packager for OpenXR – OpenComposite for DCS Note This repository is currently unsupported and needs to be migrated to the upstream OpenComposite

12 Nov 03, 2022
HuSpaCy: industrial-strength Hungarian natural language processing

HuSpaCy: Industrial-strength Hungarian NLP HuSpaCy is a spaCy model and a library providing industrial-strength Hungarian language processing faciliti

HuSpaCy 120 Dec 14, 2022
A toy project using OpenCV and PyMunk

A toy project using OpenCV, PyMunk and Mediapipe the source code for my LindkedIn post It's just a toy project and I didn't write a documentation yet,

Amirabbas Asadi 82 Oct 28, 2022
PFFDTD is an open-source FDTD simulator for 3D room acoustics

PFFDTD is an open-source FDTD simulator for 3D room acoustics

Brian Hamilton 34 Nov 24, 2022
High performance distributed framework for training deep learning recommendation models based on PyTorch.

PERSIA (Parallel rEcommendation tRaining System with hybrId Acceleration) is developed by AI 340 Dec 30, 2022

Interpretable-contrastive-word-mover-s-embedding

Interpretable-contrastive-word-mover-s-embedding Paper Datasets Here is a Dropbox link to the datasets used in the paper: https://www.dropbox.com/sh/n

0 Nov 02, 2021
A Diagnostic Dataset for Compositional Language and Elementary Visual Reasoning

CLEVR Dataset Generation This is the code used to generate the CLEVR dataset as described in the paper: CLEVR: A Diagnostic Dataset for Compositional

Facebook Research 503 Jan 04, 2023
Breaking the Dilemma of Medical Image-to-image Translation

Breaking the Dilemma of Medical Image-to-image Translation Supervised Pix2Pix and unsupervised Cycle-consistency are two modes that dominate the field

Kid Liet 86 Dec 21, 2022
PG2Net: Personalized and Group PreferenceGuided Network for Next Place Prediction

PG2Net PG2Net:Personalized and Group Preference Guided Network for Next Place Prediction Datasets Experiment results on two Foursquare check-in datase

Urban Mobility 5 Dec 20, 2022
FAVD: Featherweight Assisted Vulnerability Discovery

FAVD: Featherweight Assisted Vulnerability Discovery This repository contains the replication package for the paper "Featherweight Assisted Vulnerabil

secureIT 4 Sep 16, 2022
Setup and customize deep learning environment in seconds.

Deepo is a series of Docker images that allows you to quickly set up your deep learning research environment supports almost all commonly used deep le

Ming 6.3k Jan 06, 2023
Pytorch implementation of NeurIPS 2021 paper: Geometry Processing with Neural Fields.

Geometry Processing with Neural Fields Pytorch implementation for the NeurIPS 2021 paper: Geometry Processing with Neural Fields Guandao Yang, Serge B

Guandao Yang 162 Dec 16, 2022