0

截至目前,我正在使用 TensorFlow 和 OpenPose 在 java 11 中进行姿势估计。它运行良好,但是我希望该应用程序能够在商业上使用,因此我不能使用 OpenPose。我基本上用它来分析大型视频,因此处理时间是一个很大的因素。

我研究过其他模型,但是 java 的文档是有限的。因此,我进行了测试并得出了一些结论。

首先,对我来说最理想的解决方案是找到一个新的 .pb 模型或相应的 caffemodel,因为我也已经在应用程序中实现了 OpenCV。然而,这似乎说起来容易做起来难,因为我找不到任何与 java 要求和商业要求兼容的东西。

其次,我尝试在本指南的帮助下应用 djl 。但是,我确实使用了 maven 而不是 gradle,所以我通过以下方式转换了依赖项:

<dependency>
    <groupId>ai.djl</groupId>
    <artifactId>api</artifactId>
    <version>0.4.0</version>
</dependency>
<dependency>
    <groupId>ai.djl</groupId>
    <artifactId>repository</artifactId>
    <version>0.4.0</version>
</dependency>
<dependency>
    <groupId>ai.djl.pytorch</groupId>
    <artifactId>pytorch-model-zoo</artifactId>
    <version>0.4.0</version>
</dependency>
<dependency>
    <groupId>ai.djl.pytorch</groupId>
    <artifactId>pytorch-native-auto</artifactId>
    <version>1.4.0</version>
    <scope>runtime</scope>
</dependency>

模块信息.java

    requires api;
    requires repository;

但是我收到错误(正在运行的 testapplication 上的 java 15):

Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for C:\Users\my.username\.m2\repository\ai\djl\pytorch\pytorch-native-auto\1.4.0\pytorch-native-auto-1.4.0.jar
Caused by: java.lang.IllegalArgumentException: pytorch.native.auto: Invalid module name: 'native' is not a Java identifier

在尝试了不同版本的 djl 后,我没有找到解决方案。它仍然必须与 java 11 兼容。

第三,我研究了模型PoseNet和类似模型。但是,我宁愿在本地拥有模型,而不必为模型使用 API。但如果这是一个解决方案,我愿意适应。这也是一个问题,因为该模型适用于 js 而不是 java。在不严重影响应用程序的情况下,这仍然是这个问题的可能解决方案吗?

因此,我的问题是我是否应该尝试其他任何可能的路线,或者我到目前为止所采取的路线是否有任何解决方案。

4

0 回答 0