- Python
- Opencv3
- Tensorflow
- Adb工具
- 安卓手机
IOS系统 (参考这里进行安装)
- iPhone
- Mac
- WebDriverAgent
- facebook-wda
- imobiledevice
- Multiscale search
- Fast search
- CNN-based coarse-to-fine model
想要了解算法细节,请参见https://zhuanlan.zhihu.com/p/32636329.
注意:CV based fast-search现在只能支持Android系统
在你运行我们的代码之前,请用USB连接好你的手机。
如果是Android手机,在开发者选项里打开USB调试模式,在终端输入adb devices
,确保设备列表不为空。
如果是iPhone手机,确保你有一台mac电脑,然后照着这个连接去做准备工作。
强烈推荐下载预训练好的模型(参考后面给出的链接)并且运行下面的代码
python nn_play.py --phone Android --sensitivity 2.045
当然你也可以使用play.py
,只要运行
python play.py --phone Android --sensitivity 2.045
--phone
有两个选项: Android或者IOS.--sensitivity
是一个控制按压时间的系数.nn_play.py
采用了CNN-based coarse-to-fine模型,支持Android和IOS(鲁棒性更好,适用性强)play.py
采用了Multiscale search和Fast search算法, 支持Android和IOS(有的时候在其他手机下效果会差)
我们的算法可以正确地检测出小人(绿色)和目标(红色)位置。
用这份代码非常容易刷榜,但是我在玩了运行了一个半小时之后,在859跳时选择狗带。
下面有一份样例视频,excited!
训练好的CNN模型和训练数据可以从下面的链接下载
如果你想从头自己训练: 下载好数据到任意目录下,然后修改cnn_coarse_to_fine/data_provider
目录下所有文件的self.data_dir
路径。
如果你只想跑一下我们的模型: 下载好train log文件(包括train_logs_coarse
and train_logs_fine
)并解压到resource
目录。
- 按照上述步骤下载并解压训练数据,并修改
cnn_coarse_to_fine/data_provider
文件夹下面的所有python文件的self.data_dir
选项到数据所在的路径。 base.large
是coarse model的模型文件夹base.fine
是fine model的模型文件夹, 其他在cnn_coarse_to_fine/config
文件夹下面的模型我们都没有使用,但是如果你感兴趣,你可以训练这些模型,或者训练自己构建的模型。- 运行
python3 train.py -g 0
训练模型,-g
指定使用的GPU,如果你没有GPU,训练模型是不推荐的,因为使用CPU训练模型速度过于缓慢。 - 模型训练好之后,复制或移动
.ckpt
文件到训练日志文件夹(train_logs_coarse
和train_logs_fine
) 来使用训练好的模型。