# DeadEye 辅助瞄准系统 / DeadEye Auto Aiming System
<img src="DeadEye.png" alt="DeadEye" style="width: 100%; height: auto;"/>
DeadEye 目标追踪系统是一款高性能的图像辅助目标追踪工具。作为示例,提供了在FPS游戏中的目标追踪以及对应的瞄准效果演示。示例程序通过分析屏幕截图,检测并追踪目标,最后通过模拟操作实现辅助瞄准和自动扳机功能。不仅如此,我还将这个系统应用在光学激光控制和监控探头的目标追踪中,虽然这些领域的示例程序没有提供,但用户可以通过简单修改相关模块,将这个系统应用于不同领域。
DeadEye target tracking system is a high-performance image-assisted target tracking tool. As an example, it provides a demonstration of target tracking and corresponding aiming effects in FPS games. The sample program analyzes screenshots, detects and tracks targets, and finally implements assisted aiming and automatic trigger functions through simulated operations. Additionally, I have applied this system to optical laser control and monitoring target tracking. Although sample programs for these fields are not provided, users can apply this system in different domains by simply modifying the corresponding modules.
## 特性
- **高速截图**: 使用 ScreenShotHelper 类快速截取屏幕图像,并自动适配不同的屏幕分辨率。
- **目标检测**: 目标检测 YoloDetector 类继承于 DetectModule 基类,基于 Yolov8 目标检测神经网络,支持基于 `.pt` 权重文件的直接检测或使用 TensorRT 部署后的 `.trt` / `.engine` 模型进行精确的目标检测。
- **目标追踪**: 结合匈牙利算法和卡尔曼滤波优化目标追踪的精确性和稳定性。
- **辅助瞄准**: 辅助瞄准模块 DeadEyeAutoAimingModule 类继承于 AutoAimModule 基类,利用 PID 控制算法实现平滑的辅助瞄准。
- **易于扩展**: 用户可以根据需求定制自己的图像输入模块、目标检测模块、后处理(辅助瞄准)模块以及驱动控制模块(鼠标控制或其他)。
- **多语言UI**: 具有简单直观的用户界面,支持英文和简体中文两种语言,用户可以方便地切换语言或者增加新的语言支持。
## Features
- **High-speed Screenshot**: Uses the ScreenShotHelper class to quickly capture screen images and automatically adapts to different screen resolutions.
- **Target Detection**: The target detection class YoloDetector is derived from the base class DetectModule. It is based on the Yolov8 target detection neural network and supports direct detection using `.pt` weight files or precise target detection using deployed TensorRT models with `.trt` / `.engine` formats.
- **Target Tracking**: Combines the Hungarian algorithm and Kalman filter to optimize the accuracy and stability of target tracking.
- **Assist Aiming**: The DeadEyeAutoAimingModule class, inheriting from the AutoAimModule base class, uses PID control algorithms to achieve smooth assist aiming.
- **Easy to Extend**: Users can customize their own image input module, target detection module, post-processing (assisted aiming) module and drive control module (mouse control or other) according to their needs.
- **Multi-language UI**: Features a simple and intuitive user interface that supports both English and Simplified Chinese. Users can easily switch between languages or add support for new languages.
## 技术路线
### 相机模块 (BaseCamera)
作为示例实现了一个快速的截图相机 `SimpleScreenShotCamera` ,可以快速获取指定大小的屏幕截图,用户可以自己实现自己的相机类并在 `main.py` 中的 `main` 函数里实例化并传入至 `DeadEyeCore` 中。
- **自动分辨率计算**: 自动检测屏幕分辨率并调整截图尺寸适应不同大小的窗口需求。
- **高速截图**: 采用 `dxcam` 或 `mss` 实现高速截图功能。
- **定制扩展**:你只需要继承 `BaseCamera` 类并且实现 `get_image()` 函数返回恰当的图像就可以自定义你的相机了。
### 目标检测模块 (DetectModule)
作为示例实现了一个基于 `Yolov8` 进行目标检测的 `YoloDetector` 类,用户可以自己实现自己的目标检测类,只需要保证输出的格式为 list<list<c, x, y, w, h>> 即可。
- **YoloDetector 类**: 可以使用 `.pt` 模型进行直接检测,也支持使用 `.trt` / `.engine` 模型的基于 TensorRT 的部署方式进行高效检测。
### 目标追踪
- **目标类 (Target)**: 基于检测结果,使用匈牙利算法进行帧间目标匹配和编号,此外使用卡尔曼滤波算法对目标位置进行预测和优化,以实现平滑的追踪效果。
### 瞄准模块 (AutoAimModule)
作为示例实现了一个 `DeadEyeAutoAimingModule` 类,支持使用 PID 算法进行瞄准。
- **定制扩展**: 允许用户继承或修改基类,创建个性化的辅助瞄准模块。
### 鼠标控制模块(MouseControlModule)
- **SimpleMouseController**: 鼠标控制类实例, `DeadEyeAutoAimingModule` 类会在 `__init__` 时实例化这个类并用这个类来控制鼠标。用户需要自己实现这个类里控制鼠标两个函数 `click_left_button` 以及 `move_mouse` ,分别对应点击鼠标左键以及移动鼠标。
- **定制扩展**: 用户可以自由实现这个类,即可轻松使用树莓派或其他设备来控制鼠标,此外,作者并没有为用户实现这个类的两个控制鼠标的函数功能以及其他硬件操控功能,用户编程实现后对应的法律风险需要用户自己承担。
## Technological Path
### Camera Module (BaseCamera)
An example implementation of a quick screenshot camera, `SimpleScreenShotCamera`, is provided. This camera can quickly capture screenshots of a specified size. Users can implement their own camera class and instantiate it in the `main` function of `main.py`, then pass it to `DeadEyeCore`.
- **Automatic Resolution Calculation**: Automatically detects screen resolution and adjusts the screenshot size to accommodate different window requirements.
- **High-Speed Screenshot**: Utilizes `dxcam` or `mss` to achieve high-speed screenshot functionality.
- **Custom Extensions**: To customize your camera, simply inherit from the `BaseCamera` class and implement the `get_image()` function to return the appropriate image.
### Target Detection Module (DetectModule)
An example implementation of target detection based on `Yolov8` is provided with the `YoloDetector` class. Users can implement their own target detection class, as long as the output format is `list<list<c, x, y, w, h>>`.
- **YoloDetector Class**: Can use `.pt` models for direct detection and also supports efficient detection using `.trt` / `.engine` models through TensorRT deployment.
### Target Tracking
- **Inter-Frame Matching**: Utilizes the Hungarian algorithm for consistent target matching across frames, ensuring reliable tracking.
- **Position Prediction and Optimization**: Employs Kalman filter algorithms to predict and optimize target positions, resulting in smoother tracking and better performance.
### Auto Aim Module (AutoAimModule)
An example implementation is provided with the `DeadEyeAutoAimingModule` class, which supports aiming using the PID algorithm.
- **Custom Extensions**: Allows users to inherit or modify the base class to create personalized aiming assistance modules.
### Mouse control module (MouseControlModule)
- **SimpleMouseController**: Mouse control class instance. The `DeadEyeAutoAimingModule` class will instantiate this class during `__init__` and use this class to control the mouse. Users need to implement the two mouse control functions in this class, `click_left_button` and `move_mouse`, which correspond to clicking the left mouse button and moving the mouse respectively.
- **Customized Extension**: Users can freely implement this class, and can easily use Raspberry Pi or other devic
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Yolo的辅助瞄准系统,高度模块化编写,也可以用于光学控制、监控物体追踪等领域,仅供交流学习使用。An auto-aiming system, or aim bot, which is mainly based on Yolo. Can be easily ….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
资源推荐
资源详情
资源评论
收起资源包目录
基于Yolo的辅助瞄准系统,高度模块化编写,也可以用于光学控制、监控物体追踪等领域,持续更新中,仅供交流学习使用。An auto-aiming system, or aim bot, which is mainly based on Yolo. Can be easily ….zip (31个子文件)
DSqrs942240909
BaseModules.py 3KB
test_imgs
apex_test1.png 1.3MB
TensorRTEngine.py 10KB
weights
yolov8n.pt 6.23MB
aimlabs_v8n.engine 8.94MB
yolov8s.pt 21.53MB
yolov8n.onnx 12.23MB
yolov8n.trt 19.15MB
main.py 11KB
LICENSE 34KB
effect_test.gif 13.45MB
MathTools.py 1KB
ScreenShotHelper.py 4KB
DeadEye.png 397KB
requirements.txt 1KB
.gitignore 150B
DeadEyeCore.py 8KB
DefaultModules.py 14KB
__pycache__
DefaultModules.cpython-311.pyc 17KB
TensorRTEngine.cpython-310.pyc 6KB
DeadEyeCore.cpython-310.pyc 5KB
BaseModules.cpython-310.pyc 3KB
MathTools.cpython-310.pyc 1KB
ScreenShotHelper.cpython-310.pyc 4KB
DefaultModules.cpython-310.pyc 8KB
ScreenShotHelper.cpython-311.pyc 8KB
BaseModules.cpython-311.pyc 5KB
DeadEyeCore.cpython-311.pyc 11KB
MathTools.cpython-311.pyc 2KB
TensorRTEngine.cpython-311.pyc 16KB
README.md 20KB
共 31 条
- 1
资源评论
热爱技术。
- 粉丝: 2557
- 资源: 7861
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功