MCPcopy Index your code
hub / github.com/Tang1705/Baidu-Rot-Validate

github.com/Tang1705/Baidu-Rot-Validate @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
68 symbols 172 edges 10 files 8 documented · 12% updated 3y ago★ 331 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Baidu-Rot-Validate

目标:

识别图片角度,推算出对应滑动距离,模拟滑动。

实现:

  1. 获得原始图片数据集:循环访问百度搜索页面从而进入百度安全验证页面,抓取图片1500张,获得大量重复图片。对这些图片进行筛选,获得不重复图片144张;

在这里插入图片描述

  1. 制作数据集:生成各个角度图片模型,每个不同的图片均有360张不同角度的照片,标记正向图,根据现有图片名称序列计算不同角度照片相对于正向图片的相对角度,重新命名从而建立数据集;

在这里插入图片描述在这里插入图片描述

  1. 生成规则:根据滑动距离与图片旋转角度的关系形成滑动规则(按照滑动距离 $o=angle \times 360 \times b$ 的规则来预测角度是不准确的,所以通过在安全验证页面逐单位距离滑动记录角度与滑动距离的关系);
  2. 模型训练:利用神经网络(考虑模型、数据集的大小以及模型的感受野)在数据集上进行训练,直接预测需要滑动的距离。由于百度安全验证的角度并不是整数变化的,滑动距离与角度的变化也不是一一对应的,因此相对于预测角度而言,直接预测滑动距离更加准确、便捷。且滑动距离的类别相比较于而言要少,从而使得模型的参数也更少。此外,因为模型的目的是能足够准确地预测滑动距离,从而使得自动化程序模拟验证,因此,应该使得模型尽可能多地在现有数据集上学习。综上,考虑到真实场景的验证图片与获得的图片存在一定的差异(即使是相同的图片,也会受到不同程度的噪声干扰,如水印等),不再对数据集进行训练集与测试集的划分。

性能:

推理快、预测准(基本在三次验证中可通过,根据实际操作和 b 站视频来看,人为通过安全验证的难度也相对较大)

https://www.douyin.com/video/7070526136115105054?modeFrom=userPost&secUid=MS4wLjABAAAA1Yrnw5gwCNI_5nHTEeJtXCcSkkqajKIfspcXvw6Oxkg

代码

欢迎大家 star 和提 issue

Core symbols most depended-on inside this repo

get_train_config
called by 2
config.py
input_transform
called by 2
Data.py
get_training_set
called by 2
Data.py
get_optimizer
called by 2
BVRotNet.py
load_img
called by 2
Dataset.py
get_b16_config
called by 1
config.py
get_l16_config
called by 1
config.py
print_config
called by 1
config.py

Shape

Method 32
Function 24
Class 12

Languages

Python100%

Modules by API surface

VisionTransformer.py21 symbols
utils.py17 symbols
Dataset.py12 symbols
config.py7 symbols
BVRotNet.py4 symbols
train.py3 symbols
Data.py3 symbols
test.py1 symbols

For agents

$ claude mcp add Baidu-Rot-Validate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact