-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement mediapipe_pose_world_landmarks #75
base: master
Are you sure you want to change the base?
Conversation
} | ||
Debug.Log($"Model loaded {modelName}"); | ||
|
||
string anchorsJSON = File.ReadAllText($"{jsonPath}/mediapipepose_anchors.json"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Androidの場合、StreamingAssetsPathのファイルを直接読み込むことはできないため、C#の配列としてanchorsを定義していただければと思います。
https://teratail.com/questions/169361
BlazeFaceの実装例です。
https://github.com/axinc-ai/ailia-models-unity/blob/master/Assets/AXIP/AILIA-MODELS/FaceDetection/AiliaBlazefaceAnchors.cs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BlazeFaceと同様に、新たに作成したAiliaMediapipePoseWorldLandmarks.cs上でC#の配列としてanchorsを再定義し、それをAiliaMediapipePoseWorldLandmarks.csから参照する形式に変更しました。
@@ -0,0 +1,34 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pluginsフォルダはコミットに含めないようにしていただければと思います。一度、ローカルファイルシステムからPluginsフォルダを退避(削除)してコミット、Pluginsフォルダをローカルファイルシステムに戻す、という操作で対応可能かと思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pluginsフォルダを除いたものを新たにpushいたしました。
public class ReadImage | ||
{ | ||
|
||
public static Texture2D PngToTex2D(string path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ファイルから読むよりも、
public Texture2D test_image = null;
を定義して、Textureのread/write enable属性を有効化して、Unity Editorから画像を指定する方が素直な実装かと思います。
下記を参照ください。
https://github.com/axinc-ai/ailia-models-unity/blob/master/Assets/AXIP/AILIA-MODELS/FaceIdentification/AiliaFeatureExtractorSample.cs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Texture Type を DefaultからSprite(2D and UI)に変更し、Textureのread/write enable属性を有効化することで、Unity Editorから画像を指定する方法に変更いたしました。その結果不必要になったReadImage.csは削除しました。
# Conflicts: # Assets/AXIP/AILIA-MODELS/AudioProcessing.meta # Assets/AXIP/AILIA-MODELS/DepthEstimation.meta # Assets/AXIP/AILIA-MODELS/Diffusion.meta # Assets/AXIP/AILIA-MODELS/Foundation.meta # Assets/AXIP/AILIA-MODELS/PoseEstimation/AiliaPoseEstimatorsSample.cs # Assets/AXIP/AILIA-MODELS/PoseEstimation/RenderTexture.renderTexture.meta # Assets/AXIP/AILIA-MODELS/common/Scripts/AiliaRenderer.cs # Assets/AXIP/AILIA/Scripts/Api/AiliaPoseEstimator.cs # Assets/Plugins/linux.meta
AILIAPoseEstimatorObjectPoseを拡張して、local_xとlocal_yが必要なので、新しい構造体を定義する必要がある。 |
AILIAPoseEstimatorObjectPoseは互換性の問題があるので、GetResultの引数にworld_cordinateかどうかを与えられるようにして、xとyに書き込むようにしました。 |
2D座標は合っていそうだが、3D座標が怪しい。 |
mediapipe_pose_world_landmarksの追加