A project that uses optical flow and machine learning to detect aimhacking in video clips.

Overview

waldo-anticheat

A project that aims to use optical flow and machine learning to visually detect cheating or hacking in video clips from fps games. Check out this video discussing the purpose and vision of WALDO.

Notes

  • This project is still under development.

The What

A new market for cheats that are visually indistinguishable to the human eye have lead to a rise in "closet hacking" among streamers and professionals. This form of cheating is extremely hard to detect. In some cases it issible to detect, even with today's most advanced anti-cheat software.

We will combat this new kind of cheating by creating our own deep learning program to detect this behavior in video clips.

The How

Because of the advanced technology used, the only reliable way to detect this form of cheating is by observing the cheating behavior directly from the end result- gameplay. Our goal is to analyze the video directly using deep learning to detect if a user is receiving machine assistance.

Phase 1 focuses primarily on humanized aim-assist. Upon completion of phase 1, WALDO's main function will be vindication and clarity to many recent "hackusations."

Skills needed:

  1. Machine learning / neural networks / AI
  2. Visualizations and graphics
  3. Data analysis
  4. General python
  5. Website design / programming
  6. Game graphics / video analysis
  7. Gamers
  8. Current closet hackers you can help ( ͡° ͜ʖ ͡°)
Comments
  • ill give u a dollar if this ever succeeds

    ill give u a dollar if this ever succeeds

    to me this looks like a project started by people who act like they know what they're talking about but actually don't.... lol.

    like i don't want to write a lot cause im too lazy... but everyone moves their mouse differently, and aim assist that is created to by cheat developers is made the appear as though it is human, so i'm not sure how this would even work.

    ur video's blowing up, that's awesome... but how plausible is this actually, and how capable are you of even creating it.

    opened by srgantmoomoo 4
  • Doesn't success of this project screw itself over?

    Doesn't success of this project screw itself over?

    Let’s assume this project succeeds in detecting which patterns of movement are “human” and which ones aren’t. What’s to say that the hackers can’t just use this program to make their bots follow exactly what’s “human”. (I don’t know anything about machine learning so I have no idea whether this is trivial)

    opened by iMplode-nZ 4
  • Feature API for CV methods with contenerisation.

    Feature API for CV methods with contenerisation.

    Added API for CV methods. Added docker-compose for rapid building and starting container. Added pipenv for better local development. Updated gitignore. Added validation schemas. Updated instructions in README. Updated cv algorithms for using them as methods. Added settings.

    opened by WolfusFlow 2
  • Introduce myself to the team!

    Introduce myself to the team!

    1. What name do you prefer? Also, include your current Discord ID. Guillaume/ Boutdebatte#1483
    2. What relevant experience or skills do you have? If you don't have any, we still want you! Previously, I did a lot of Html/CSS/JavaScript websites for high school projects. Also, I learned c++ and python languages (all in my free time).
    3. Why do you want to contribute to this project? I want to contribute to this project because I want to learn more about js language. I have a good base with Html and CSS, but improving my capacities in both languages won't hurt. Also, I want to do something about hackers who are destroying videos games right now, and the best I can do is help you build this website.
    opened by BoutdeBatte 2
  • Introduce Yourself!

    Introduce Yourself!

    Discussed in https://github.com/waldo-vision/optical-flow-demo/discussions/6

    Originally posted by jaredb1011 October 20, 2021

    Introduce yourself to the team here!

    Make a post with the following information:

    1. What name do you prefer? Also include your current Discord ID. Jess/Koda - 240786290600181761

    2. What relevant experience or skills do you have? If you don't have any, we still want you! I have in-depth experience with Discord.js, NodeJs and ExpressJs. I mostly work in backend with API's integrating Discord, Steam etc. into websites as an example. Usually I work around server automation with game servers and other services. I have some projects that I work on but most code is private as it is a part of small products I am working on. My largest project is Horizons which includes my website at https://www.horizons.gg (This is developed in ExpressJs) and my Discord for further bot development at https://discord.gg/horizons

    3. Why do you want to contribute to this project? I would like to attempt contributing to a public GitHub project that I would be somewhat useful in as I have never had the opportunity to do so as most public projects are out of my league or just don't peak my interest, this is something that peaks my interest and is fairly new so I may have a chance to help out in an area that hasn't been touched too much as of right now.

opened by ItsKodas 1
  • Implementation of Canny Edge Detection Algorithm

    Implementation of Canny Edge Detection Algorithm

    Hey Guys, I saw Homeless's vid and was instantly hooked by the idea and I love it that you're are making this a community, open source project. During the past days I did my best to implement the Canny Edge Detection Algorithm because I thought it would improve motion tracking. I also included example vids to see the difference and in my opinnion this seems to have worked. I don't know at all if this is the best way of doing it and I'm sure the result can be further improved and espacially stabilized by tweaking the Canny and the OpticalFlow algorithm. Also I focused on the LucasKanadeOpticalFlow algorithm because it seems to work better but I don't know how you guys want to train the ai. Greetings from Germany, Daniel

    opened by Dabemuc 1
  • Extra

    Extra "." appended to "savepath" in lucasKanadeOpticalFlow.py

    This is just something small, but the output path in "lucasKanadeOpticalFlow.py" appends and extra "." at the beginning of the path.

    I don't know if this a setup is for some future implementation, or just a typo, but in its current state, savepath = '.'+ vidpath.split('.')[-2] + '_LK_FLOW' + '.mp4' creates an invalid output path.

    Either savepath = pathparts[-2] + '_LK_FLOW' + '.mp4' or savepath = vidpath.split('.')[-2] + '_LK_FLOW' + '.mp4' will fix it for now.

    https://github.com/jaredb1011/waldo-anticheat/blob/d634f4ca27a38436e620f63177a9f3dbffbd62dc/opticalFlow/lucasKanadeOpticalFlow.py#L87

    I really like the idea for this project and I hope this takes off!

    opened by hilletc7 1
  • Grammatical error in README

    Grammatical error in README

    Line 9 of the readme file should use the word "led", not "lead". Unlike the past tense of "read", which is spelled the same way, the past tense of "lead" is indeed "led".

    have lead to a rise -> have led to a rise

    opened by PeterNjeim 0
  • added optical flow scripts

    added optical flow scripts

    Lucas-Kanade Optical Flow & Farneback Optical Flow initial demonstration scripts added.

    These need more refinement, but they get the idea of how we might be able to detect movement/aim

    opened by jaredb1011 0
  • Docs: Readme: Ambiguity

    Docs: Readme: Ambiguity "Current closet hackers you can help ( ͡° ͜ʖ ͡°)"

    "Current closet hackers you can help ( ͡° ͜ʖ ͡°)"

    reads to me as

    "You, person who is not a closet hacker, can "help" (nudge, nudge, wink, wink) current closet hackers"

    But a plausible interpretation is

    "Current closet hackers: you can help ( ͡° ͜ʖ ͡°)"

    Which addresses current closet hackers

    opened by Jonta 1
  • Engagement Isolation

    Engagement Isolation

    • Creating Engagement Isolation script which autonomously edits videos down to engagements only
    • Adds .gitignore

    The script scrubs through a cropped-down version of the video (focused on the cross-hair) and records for (n) seconds whenever it detects a human on screen.

    For detection of enemy players, the script uses the HOGDescriptor PeopleDetector with OpenCV. This could likely be improved upon later as it's an out-of-the-box detector that isn't specifically trained for CS:GO.

    Dependencies:

    • MoviePy
    • Numpy
    • OpenCV
    opened by Shazambom 0
  • general questions and thoughts (not in faq obv)

    general questions and thoughts (not in faq obv)

    Hello, I am a dev who has some questions and general thoughts I'd like to talk about/ask here.

    First things first - I disagree with everyone who says this is not possible. It's definitely possible from a technical standpoint and not a bad idea! However, that is not the same thing as saying this is feasible. There are many things that could get in the way of this getting accomplished from a real-world standpoint. The biggest central problem I see is a lack of experience regarding ML and treating it like a silver bullet. Having worked with ML quite a bit, I can tell you it can be very finicky; a real-world application like this requires more than just a general understanding of TensorFlow. Again, this is a technical problem that obviously can be solved, but this is more of a research problem, not a software engineering one.

    People have brought up lots of valid concerns regarding things like cheat software being able "fake" being a human - but I disagree with this since that's exactly what ML would be good at. Detecting things not obvious to humans. However, it is not as simple as just giving it good data. You need people experienced with the models themselves, and very importantly, the math behind them. Everyone I've seen interested in helping doesn't have the necessary depth or experience for this kind of task. Basically, I think your main problem isn't a technical one like everyone is saying - it's a matter of finding the properly experienced data scientists and researchers willing to contribute (notice how I didn't say software developers :D). Sure, you can have people contribute things, but you need experienced people at the head to drive things. I have no idea who you guys are, but I don't think you have that kind of background (please correct me if I'm wrong). 2 months of research is fine for coming up with concepts, but nothing in terms of actually conducting research projects, which is really what this project is.

    It worries me when I see statements like: "ML shouldn’t be underestimated" and "If you don't have any [experience], we still want you!" This is just not true - I think ML could be a good solution to this problem, but it is definitely not an easy problem. Second, you shouldn't just be accepting any and all developers. While a nice thought, it just isn't practical from an organizational standpoint. You certainly should be open to everyone, but it's not about just finding people to work on this - you need to find the right people. Otherwise, you will be overwhelmed with just managing people's PR's - a particular problem among junior devs and students (of who I see many...). Again, I think your central problem is that you have software engineers interested (which is part of the work) when your central issue is finding ML-experienced people. To be clear, I'm not against more inexperienced people helping, generally it's a win-win (experience for them and work done for you) - but I'm ONLY seeing these types of people (eg students), which is a problem.

    TLDR; you need to focus on finding experienced ML researchers/engineers - not software engineers


    Regarding the idea itself, I think it is a good one. However, I wanted to address some things regarding the longevity of the idea. Let's say it works fabulously, you are at a point where you can identify cheat software with great accuracy. Inevitably GAN's will be made for new cheating methods to avoid detection (eg an AI network designed to cheat while avoiding detection by being trained against yours). You will end up in a constant battle of catchup to defeat them. This is nothing new - Deepfake is experiencing this currently and it is a constant problem with cybersecurity. I bring this up to simply make the point that this doesn't magically fix the cheating problem. It simply will change the attack methods. To be clear - I still think this is a good solution because they will face the same challenges as you. However, it will inevitably come up if you are successful; it would be prudent to plan ahead for this.


    Lastly, I just want to mention that this is a cool idea and has interesting problems. You need to have a better plan regarding setting up your project and organization. If you have a large number of people working on the project (as it looks like you might) this is critical to do BEFORE you start working on it.

    I think this could be cool to work on - but I don't really have the time right now to be a central dev. Instead, I'd be happy to keep giving feedback and advice if you guys want. Hope this raised some thoughts on how you'll handle things moving forward.

    opened by idraper 2
  • Added a barebones GUI file selector

    Added a barebones GUI file selector

    Just wanted to get the ball rolling with the GUI file selector. You mentioned that you wanted to eventually replace it in response the issue #16. I included here; it's pretty basic but it gets the job done.

    I also was getting a error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor' when running "farnebackOpticalFlow.py" so I went ahead a made some tweaks to fix the error.

    Hope this helps.

    opened by hilletc7 2
  • video streaming userbot (vsu) based on pytgcalls for streaming video trought the telegram video chat group.

    VIDEO STREAM USERBOT ✨ an another telegram userbot for streaming video trought the telegram video chat. Environmental Variables ?? API_ID : Get this v

    levina 6 Oct 17, 2021
    MoviePy is a Python library for video editing, can read and write all the most common audio and video formats

    MoviePy is a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects. See the gallery for some examples of use.

    null 10k Jan 8, 2023
    Text2Video's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images to include in the video.

    Text2Video Text2Video's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images

    Josh Chen 19 Nov 22, 2022
    Takes a video as an input and creates a video which is suitable to upload on Youtube Shorts and Tik Tok (1080x1920 resolution).

    Shorts-Tik-Tok-Creator Takes a video as an input and creates a video which is suitable to upload on Youtube Shorts and Tik Tok (1080x1920 resolution).

    Arber Hakaj 5 Nov 9, 2022
    Extracting frames from video and create video using frames

    Extracting frames from video and create video using frames This program uses opencv library to extract the frames from video and create video from ext

    null 1 Nov 19, 2021
    Streamlink is a CLI utility which pipes video streams from various services into a video player

    Streamlink is a CLI utility which pipes video streams from various services into a video player

    null 8.2k Dec 26, 2022
    A youtube video link or id to video thumbnail python package.

    Youtube-Video-Thumbnail A youtube video link or id to video thumbnail python package. Made with Python3

    Fayas Noushad 10 Oct 21, 2022
    Filtering user-generated video content(SberZvukTechDays)Filtering user-generated video content(SberZvukTechDays)

    Filtering user-generated video content(SberZvukTechDays) Table of contents General info Team members Technologies Setup Result General info This is a

    Roman 6 Apr 6, 2022
    Telegram Video Chat Video Streaming bot 🇱🇰

    ?? Get SESSION_NAME from below: Pyrogram ?? Preview ✨ Features Music & Video stream support MultiChat support Playlist & Queue support Skip, Pause, Re

    DOOZY YEZ 5 Jun 26, 2022
    Play Video & Music on Telegram Group Video Chat

    ?? DEMONGIRL ?? ʜᴇʟʟᴏ ❤️ ???? Join us ᴠɪᴅᴇᴏ sᴛʀᴇᴀᴍ ɪs ᴀɴ ᴀᴅᴠᴀɴᴄᴇᴅ ᴛᴇʟᴇʀᴀᴍ ʙᴏᴛ ᴛʜᴀᴛ's ᴀʟʟᴏᴡ ʏᴏᴜ ᴛᴏ ᴘʟᴀʏ ᴠɪᴅᴇᴏ & ᴍᴜsɪᴄ ᴏɴ ᴛᴇʟᴇɢʀᴀᴍ ɢʀᴏᴜᴘ ᴠɪᴅᴇᴏ ᴄʜᴀᴛ ?? ɢ

    Jonathan 5 Dec 31, 2021
    Turn any live video stream or locally stored video into a dataset of interesting samples for ML training, or any other type of analysis.

    Sieve Video Data Collection Example Find samples that are interesting within hours of raw video, for free and completely automatically using Sieve API

    Sieve 72 Aug 1, 2022
    Video-to-GIF-Converter - A small code snippet that can be used to convert any video to a gif

    Video to GIF Converter Project Description: This is a small code snippet that ca

    Hassan Shahzad 3 Jun 22, 2022
    Video-stream - A telegram video stream bot repo

    This is a Telegram Video stream Bot. Binary Tech ?? Features stream videos downl

    silentz lk 1 Feb 2, 2022
    Terminal-Video-Player - A program that can display video in the terminal using ascii characters

    Terminal-Video-Player - A program that can display video in the terminal using ascii characters

    null 15 Nov 10, 2022
    A GUI based glitch tool that uses FFMPEG to create motion interpolated glitches in your videos.

    FF Dissolve Glitch This is a GUI based glitch tool that uses FFmpeg to create awesome and wierd motion interpolated glitches in videos. I call it FF d

    Akash Bora 19 Nov 10, 2022
    Real-time video and audio streams over the network, with Streamlit.

    streamlit-webrtc Example You can try out the sample app using the following commands.

    Yuichiro Tachibana (Tsuchiya) 648 Jan 1, 2023
    A python program which converts images and video into excel spreadsheets.

    image2excel A program which converts images and video into Excel spreadsheets. Usage examples can be found in examples Videos can take a long time to

    Oscar Peace 2 Aug 9, 2021
    Python application that can be used to generate video thumbnail for mp4 and mkv file types.

    Thumbnail Generator ?? What is This This is a Python application that can be used to generate video thumbnail for mp4 and mkv file types. Installation

    Tharindu N. 13 Jan 3, 2023
    A GUI based datamoshing apllication for everyone! Apply this glitch to your videos and gifs. Supports all video formats!

    A GUI based datamoshing apllication for everyone! Apply this glitch to your videos and gifs. Supports all video formats!

    Akascape 131 Dec 31, 2022