本项目基于Mediapipe开发,开发了两个平台的APP,实现了测视力、测散光、测色盲三个主要功能模块,同时实现了测量距离(需要自定义计算图,我已经重新编译并且可以在Android上进行部署)、手势识别、测试环境亮度、连接电视等功能,并对测试的数据进行记录。本项目具有优秀的动画和交互体验(采用MotionLayout
Animation
TransformationLayout
Lottie
,比如一镜到底效果)。单击此处下载安装包。(开发了PC端的,但是没有和此处进行连接,因此不在此处展示)
该仓库为AI EYE
的代码。下图为三个APP的通信方式(不同设备之间的、不同进程之间的)
其中handtiqu
为手势识别APP,它是一个独立的程序,但是无法单独运行,它在手机端的主程序中进行调用。其主要功能是建立与TV
的连接,并且作为手势识别的平台,将解析的结果通过Socket
传递到TV
端。
Vision
为AI EYE
的主程序端,它是整个AI EYE
的核心部分。
TV
为AI EYE
的TV
端,可以在平板上运行(需要注意的是,TV
需要有摄像头),其主要功能是和手势识别进行通信,用户通过手势和TV
进行通信,从而在大屏幕上完成手势识别。
使用该程序的基本流程为:
- 打开主程序
Vision
,注册后可以使用。可以单独在该程序上面完成测量视力、测量散光、测量色盲,并且查看历史数据。 - 如果要在大屏幕上测试视力,需要在带有摄像头的大屏幕上如电视,安装
TV
端,同时在手机上安装handtiqu
。安装完成后确保手机端和大屏幕同处于一个WIFI网络中。打开主程序并登录后,在主页点击TV
,然后点击连接电视
,扫描屏幕上的二维码。扫描成功后在主页点击手势识别
,然后程序会切换到handtiqu
程序,此时便可以按照提示完成测量。
三个文件夹用三个Android Studio
打开。
该代码编译需要在带有Bazel
编译环境下进行,具体安装操作可以参考Google
的Mediapipe
官网,网址为www.mediapipe.dev。
由于github
无法上传大于25MB的文件,因此部分文件在此处。
把release/mp_iris_tracking_aar.aar
移动到Vision/app/libs
中。
把res
文件夹移动到vision/app/src/main
目录下。
把release/mp_multi_hand_tracking_aar.aar
移动到handTiqu/app/libs
中。
把release/mp_iris_tracking_aar.aar
移动到pad/app/libs
中。