Giter Club home page Giter Club logo

genshin-butterfly-wings-recognition's Introduction

项目说明

我将该类型的网络命名为“确定性神经网络”,它只为实现识别单一目标,拒绝识别其他目标。

确定性神经网络

训练后的模型很小,我这个项目的训练后的模型大小只有500kb不到,甚至我感觉可以让它只有200kb。

训练快速,训练的轮回数较少,训练的数据量较少。

本质是用神经网络来构造出目标对象,且只有一个目标对象

模型

晶蝶模型只能捕捉静态的晶蝶

单目标识别训练模型的模型必须要有合适的大小,而且训练的次数也要有合适的次数。

基础**:将是晶蝶的图片计算结果趋近于1,不是的趋近于0,模型最后输出一个值。

开源计算机可视化库(opencv)

该项目使用开源计算机可视化库(opencv)来截取图片数据。使用其帧差法来追踪动态目标,将追踪的结果输入至网络进而追踪晶蝶。

使用的工具在临时文件中。

使用的开源计算机可视化库(opencv)版本为 opencv-python 4.5.1.48,opencv-contrib-python 4.5.1.48。最新版可能会出现部分相关代码无法正常使用,有能力可自行修正。

使用

解压视频/test7.zip文件,这是用于测试的视频文件。

运行使用.py文件,如果在运行过程中想要退出,请按ESC键。

该项目使用到了 PIL、OpenCV、pyTorch,使用前请确保有安装相应类库

我会留一段视频在视频文件夹下,可以直接查看结果。

使用者也可以自行录制视频,但由于个人数据采取较为单一,所以我训练的只能在七天神像——风,蒙德 苍风高地附近效果好些。还有显示的晶蝶不要太小,否则可能识别不到。

自己训练

文件夹

以下为需要创建的文件夹

图片/测试/晶蝶

图片/测试/非晶蝶

图片/训练/晶蝶

图片/训练/非晶蝶

文件说明

临时文件/图片截取.py: 使用开源计算机可视化库(opencv)的多目标追踪,来快速截取大量的晶蝶图片,使用时请记得修改图片保存路径,在第27行

临时文件/背景截取.py: 非常简单的截取视频的第一帧,然后切割,需要手动的把切割的图片放入非晶蝶文件夹中,而且不要忘记删除有晶蝶的图片。

临时文件/帧差法.py: 写代码时为了测试对运动物体的追踪而使用的文件,这意味的我的项目可能无法在角色运动时使用,因为会捕捉不到晶蝶。

训练.py: 训练模型的入口。

晶蝶模型类.py: 实现模型的代码,模型的网络结构。

结果

项目效果一般般。

反过来说可以改进的空间很大(狗)

genshin-butterfly-wings-recognition's People

Contributors

zozero avatar

Stargazers

wushaogui avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.