728x90
SelfieBarracuda는 Unity의 Barracuda 신경망 추론 라이브러리를 활용하여 MediaPipe Selfie Segmentation 모델을 구현한 프로젝트입니다.주요 기능:인물 분할(Segmentation): 이미지나 비디오에서 사람의 영역을 실시간으로 분리하여 배경과 구분합니다.ONNX 파일에 대하여:원본 모델은 TensorFlow Lite(tflite) 형식으로 제공되며, 이를 ONNX(Open Neural Network Exchange) 형식으로 변환하여 사용합니다.변환에는 tflite2tensorflow 도구와 Colab 노트북이 활용되었습니다.이 저장소에는 가로 방향 모델(256x144)만 포함되어 있으며, 정사각형 또는 세로 방향 비율에는 SelfieSegmentationBar..
BodyPixSentis는 Unity의 Sentis 신경망 추론 라이브러리를 활용하여 BodyPix 모델을 구현한 프로젝트입니다.주요 기능:사람 분할(Segmentation): 이미지나 비디오에서 사람의 영역을 분리합니다.포즈 추정(Pose Estimation): 사람의 관절 위치를 추정하여 자세를 인식합니다.시스템 요구 사항:Unity 2020.3 LTS 이상 버전이 필요합니다.ONNX 파일에 대하여:원본 BodyPix 모델(tfjs 형식)을 ONNX 형식으로 변환하여 사용합니다.변환 과정에 대한 자세한 내용은 Colab 노트북을 참고하세요.ResNet 지원:ResNet 아키텍처(더 정확하지만 느리고 큰 모델)를 지원합니다.파일 크기 제한으로 인해 해당 ONNX 파일은 패키지에 포함되어 있지 않으며, ..
Waifu2xBarracuda는 Unity의 Barracuda 신경망 추론 라이브러리를 활용하여 Waifu2x 알고리즘을 구현한 프로젝트입니다.주요 기능:이미지 업스케일링: Waifu2x 알고리즘을 통해 이미지를 2배로 확대하면서 품질을 향상시킵니다.노이즈 제거: 다양한 수준의 노이즈 필터를 적용하여 이미지의 잡음을 감소시킵니다.사용 방법:Waifu2x.Waifu2xScaler 객체를 생성하고, Waifu2x 리소스 세트를 지정합니다.원본 텍스처를 입력으로 CreateScaledTexture 메서드를 호출하면, 2배 크기의 RenderTexture 객체가 반환됩니다.작업이 끝나면 Waifu2x.Waifu2xScaler 객체를 해제하여 리소스를 정리합니다.예시 코드:using (var scaler = ne..
Mnist CPUhttps://github.com/keijiro/MnistBarracuda GitHub - keijiro/MnistBarracuda: MNIST on Unity BarracudaMNIST on Unity Barracuda. Contribute to keijiro/MnistBarracuda development by creating an account on GitHub.github.com using System.Linq;using UnityEngine;using Unity.Barracuda;using UI = UnityEngine.UI;sealed class MnistTest : MonoBehaviour{ public NNModel _model; public Texture2D _..
Netron은 기계 학습(Machine Learning) 모델을 시각화하기 위한 도구로, 다양한 딥러닝 프레임워크에서 생성된 모델 파일을 쉽게 열어보고 이해할 수 있게 도와줍니다. 이 도구는 사용자 친화적 GUI를 제공하며, 복잡한 신경망 구조를 그래프로 시각화하여 모델의 아키텍처를 명확히 파악할 수 있도록 설계되었습니다. https://github.com/lutzroeder/netron GitHub - lutzroeder/netron: Visualizer for neural network, deep learning and machine learning modelsVisualizer for neural network, deep learning and machine learning models - lutz..
https://maxima-lab.tistory.com/entry/Python-Tensorflow-Convert-h5-onnx-Inference?category=1107629 [Python, Tensorflow] Convert .h5 to .onnx 및 Inference(.h5 모델을 .onnx 모델로 변환 및 추론) 하는 방법오늘은 Tensorflow 2 모델(.h5)을 .onnx 모델로 변환하는 방법에 대해서 알아보도록 하겠습니다. import tensorflow as tf from tensorflow.keras.models import load_model model = load_model("model.h5") 먼저, .h5 모델을 로드 합maxima-lab.tistory.comhttps://cola..
이미지 업로드 하는 코드using System;using System.Net.Sockets;using System.IO;using SimpleFileBrowser;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;using UnityEngine.Windows;using File = System.IO.File;public class ImageCaptureAndSend : MonoBehaviour{ public string serverIP = "127.0.0.1"; // Python 서버 IP 주소 public int serverPort = 65432; // Python 서버 포트 public RawIm..
유니티에서 Barracuda(바라쿠다)는 Unity에서 딥러닝 모델을 실행할 수 있는 라이브러리입니다. 주로 ONNX(Open Neural Network Exchange) 포맷의 모델을 Unity 프로젝트에 통합하여 실행하는 데 사용됩니다. 이를 통해 게임, AR/VR 애플리케이션 등 다양한 Unity 프로젝트에서 AI 모델을 활용할 수 있습니다.유니티 Barraucda 셋팅Barracuda 설정Unity 프로젝트에 Barracuda 패키지 추가:Unity Editor에서 Window > Package Manager로 이동합니다.상단에서 + 버튼을 클릭하고 Add Package by Name을 선택합니다.com.unity.barracuda를 입력하고 Enter를 누릅니다.https://github.com..
여러개의 Task 받아서 처리하기 public static Task WhenAny (params Task[] tasks); Task.WhenAny 메서드는 여러 개의 Task 중 하나가 완료될 때까지 대기하는 데 사용된다 tasks 는 비동기 작업(Task) 의 배열로 배열에 있는 작업 중 하나가 완료 될 때까지 대기하고 완료가 되면 Task 의 Task 객체가 반환된다 Task.WhenAny 는 여러 작업중 가장 빨리 완료되는 작업을 처리하거나, 병렬 작업중 하나를 선택하는데 사용한다 Task task1 = SomeAsyncOperation1(); Task task2 = SomeAsyncOperation2(); Task task3 = SomeAsyncOperation3(); Task whenAnyTas..
Task.Start와 Task.Run 는 둘다 비 동기 작업을 시작하는데 사용되는 메소드이다 Task.Start 메소드 public void Start (); public void Start (System.Threading.Tasks.TaskScheduler scheduler); Task.Start 는 새로운 Task 인스턴스를 생성하고 시작하는데 사용된다 기본적으로 TaskScheduler.Current 에서 실행된다 주로 커스텀 스케줄링 로직을 사용하거나 특정 스레드에서 작업을 실행 하려는 경우 사용된다 Task.Factory.StartNew 와 유사한 동작을 한다 Task 생성자를 호출해서 현재 작업을 시작하고 스케줄러에 대한 실행을 예약한다 using System; using System.Thre..