1
  • 在移动端实现手指跟踪和声音告警,确实需要针对移动设备的特性和SDK进行开发。您的思路中提到通过Python与Android交互并不适合移动端应用,因为Android应用通常使用Java或Kotlin编写,而非Python。以下是一些可行的步骤和思路:

    1. 手指跟踪:
    • 使用Android的MotionEvent系统来获取触摸屏上的触摸事件,包括手指的位置信息。
    • 可以利用机器学习算法在本地实现简单手指跟踪,例如使用滑动窗口法预测手指位置变化。
    • 如果需要更高级的手势识别和跟踪,可以考虑使用开源库如Google的ML Kit手势识别API,它可以提供实时的手势识别功能。
    1. 目标检测与手指位置判断:
    • YOLOv8模型已转换为ncnn格式并在移动端部署,那么你需要在Android应用程序中调用ncnn接口执行推理,获取目标检测结果。
    • 将检测到的目标边界框与手指坐标进行比对,判断手指是否位于目标区域内。
    1. 声音告警:
    • 利用Android的音频播放功能,预先录制好不同目标对应的语音提示文件。
    • 当手指位置满足条件(位于目标区域)时,调用相关API播放相应的语音提示文件。
    1. 集成到应用流程:
    • 设计UI界面展示实时视频流和目标检测结果。
    • 结合手指跟踪模块,在每次接收到新的触摸事件时同步更新目标检测结果,并根据结果触发声音告警。
    1. 跨线程处理:
    • 注意目标检测和视频流处理一般会放在独立的线程中,避免阻塞主线程影响UI刷新,确保触摸事件能被及时响应。

    综合以上几点,您需要熟悉Android Native开发,并结合 ncnn 库在原生层完成YOLOv8模型的推理工作,同时在应用层实现手指跟踪和声音反馈功能。确保所有功能模块之间协同工作,形成完整的交互体验。

    1153952789488054272  评论     打赏       拉大锯
    • 看看有没有Android的SDK啊

      1139423796017500160  评论     打赏       断点
      • GE  回复 @断点
        研究了一下,yolov8官方这个demo是通过写cpp和Android之间的jni接口函数实现交互的,像具体的检测框描绘,模型读取都是在cpp那边完成,Android这边就只负责调用
        GE 2024-01-26 14:44   回复 1459787886420312066
    • 你pc能跑通,那么手机端也应该没问题的。这里难点,就是你手势的目标框是怎么判断指向蜗牛头部,你pc端是怎么判断,再用c或者java代码重写一次。

      1626111837167869953  评论     打赏       菜鸟程序员77
      • GE  回复 @菜鸟程序员77
        pc端是用python实现的,但是手机端这边的检测是用yolo官方提供的一个移动端部署例子,然后替换成我自己训练的ncnn模型。那在手机端这边有办法用python来实现吗
        GE 2024-01-24 15:24   回复 1459787886420312066
      • 菜鸟程序员77  回复 @GE
        不清楚。python插件好像确实可以。但是我用ncnn的部署,也有demo。大致步骤。先跑一次yolov8的案例。好像先处理你的模型pc端后处理部分处理一下获取模型。然后移动端处理摄影头的结果适配你的模型。根据结果处理逻辑
        菜鸟程序员77 2024-01-25 11:38   回复 1626111837167869953
    相关问题
    我太帅很烦恼 · python / 树莓派 / 目标检测
    2022-02-15 01:10 131 5
    幻影~ · 安卓
    2024-04-26 19:25 3 4
    deanhu · AOSP
    2024-04-25 21:53 3 10
    幻影~ · 提问
    2024-04-13 20:13 10 2
    幻影~ · 找工作
    2024-04-07 10:44 17 2
    幻影~ · 问题
    2024-03-31 17:20 7 2
    TONYGFX · AOSP
    2024-03-28 17:11 4 2