[Detección de objetivos Hololens2] Registro de lanzamiento del proyecto YoloDetectionHoloLens-Unity

entorno de desarrollo

  • win10 versión profesional
  • Unidad2019.4
  • VS2017 (¡ Asegúrese de utilizar esta versión de VS! )
  • Hololens2 (activa el modo desarrollador)
  • Win10 SDK 10.0.19041.0

1. Introducción

Fuente del proyecto: YoloDetectionHoloLens-Unity
Este es un proyecto que utiliza Hololens para la detección de objetivos. El lado de Hololens es responsable de la recopilación y visualización, y el lado de la computadora procesa la imagen, la anota y envía el marco de anotación de regreso al lado de Holo para su visualización.
Insertar descripción de la imagen aquíEl proceso de lanzamiento específico del proyecto se presenta en el proyecto. Este artículo registra principalmente los pasos específicos que el autor no mencionó, los errores que encontré durante el proceso de lanzamiento y las soluciones.

El proceso de lanzamiento general es el siguiente:
1. "HoloLensForCV"Genere la solución del proyecto y exporte ".dll"文件和".winmd"el archivo al proyecto Unity
2. Implemente el proyecto Unity en Hololens2
3. "ComputeOnDesktopYolo"Implemente el proyecto en su propia computadora y genere ComputeOnDesktopYoloun programa ejecutable llamado
4. Coloque Holo y la computadora en Bajo la misma LAN, inicie el programa Holo e ingrese la conexión IP en la computadora.

2.Registros de depuración

2.1 Descarga del proyecto

portal github

Descargue el paquete comprimido de todo el proyecto desde Github (no utilice el método de clonación). Después de la descarga, haga clic derecho en el paquete comprimido> Propiedades> marque Desbloquear.
Insertar descripción de la imagen aquí

Después de la descompresión, descubrí que HololensForCVesta carpeta está vacía porque el contenido de esta carpeta debe descargarse por separado.

Haga clic para ingresar al archivo del proyecto HololensForCV que se muestra a continuación
Insertar descripción de la imagen aquí

Utilice el mismo método para descargar y descomprimir ( desbloquearlo también ). Es mejor descomprimir HololensForCV en la ubicación que se muestra en la figura siguiente de acuerdo con el directorio de archivos del proyecto original, para evitar problemas innecesarios causados ​​por la ruta y todo el archivo. proyecto
Insertar descripción de la imagen aquí
Simplemente descárgalo.

Hay un punto a tener en cuenta aquí: una vez que ocurre un error durante operaciones anteriores, como la implementación del proyecto,Volver a descomprimirEl contenido de los dos paquetes descargados y los paquetes comprimidos no cambiará debido a un mal funcionamiento, cambios de versión, etc. Si no se puede solucionar, simplemente vuelva a abrirlo. Descomprímelo nuevamente y elimina el previamente descomprimido.

2.2 Generar solución HololensForCV

Está escrito en la introducción del proyecto que se puede utilizar Prebuilt文件夹, 预先生成的dll文件和winmd文件pero por razones de seguridad, todavía lo genero yo mismo. E incluso si aquí se utilizan archivos pregenerados, inevitablemente tendrá que implementar otros proyectos usted mismo más adelante, por lo que se recomienda generar los archivos usted mismo .

Abra el archivo debajo (se omite la siguiente cadena de caracteres, la misma a continuación) con VS2017 .HololensForCV文件夹HololensForCV.sln
Tenga en cuenta que debe usar VS2017 aquí. Acabo de comenzar a usar la versión 2019. Ocurrieron varios errores al generar la solución y no pude encontrar una solución (WindowsSDK puede usar versiones superiores, pero usted debe usar VS2017).
Insertar descripción de la imagen aquí
Después de abrir el archivo, primero 重定结局方案目标hágalo compatible con su propia versión de SDK.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Luego, cuando lo abra 工具>Nuget包管理器>管理解决方案的nuget包
, encontrará que hay dos paquetes .
Insertar descripción de la imagen aquíNecesitamos instalar otro. OpenCV.Hololens包Para tres proyectos, están en la muestra HololensForCV, Compartido ComputeOnDesktopYoloy OpenCVHelpers
Allí . Hay dos métodos:
Método 1:
Puede instalar el paquete nuget de acuerdo con el método proporcionado en el proyecto. Abra la consola del paquete nuget e ingrese el siguiente comando. Debe reemplazar la dirección en el comando con la dirección absoluta del archivo. El paquete nuget se encuentra en el archivo principal del proyecto. Método 2:
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquíInsertar descripción de la imagen aquí
Aquí Insertar descripción de la imagen aquí
proporciono
otro método de instalación para evitar que algunas personas cometan errores debido a las rutas.
Agregue una fuente de paquete nuget local como se muestra a continuación, cambie la dirección a la dirección del proyecto descargado, haga clic en
Insertar descripción de la imagen aquíExaminar, cambie el paquete a la fuente que acaba de agregar,
Insertar descripción de la imagen aquíverifique los tres proyectos que se mencionan a la derecha y haga clic en instalar (lo he instalado antes ) Después de que la instalación sea exitosa, el número de versión aparecerá en la columna "Versión")
Insertar descripción de la imagen aquíy OpenCV.Hololens nuget包la instalación será exitosa.

Establezca el proyecto HololensForCV como proyecto de inicio. Seleccione la versión ARM (si tiene gafas de primera generación, seleccione X86 aquí) para generar el proyecto y luego genere el archivo.
Insertar descripción de la imagen aquí
Varios puntos clave: Versión VS2017, reordene la solución, importe el paquete nuget (dos métodos) y genere la solución

2.3 Implementación del proyecto Unity

Copie todos los archivos generados a la carpeta YoloDetectionHoloLensUnity del proyecto mencionada por el autor Assets->Plugins->x86/ARM 文件夹.
Si solo copia los archivos dll y winmd aquí como dijo el autor, Unity informará un error de que falta el espacio de nombres, por lo que deberá copiar todos estos archivos generados para resolver el problema.

Luego abra el proyecto Unity y convierta la plataforma a UWP.
Aquí debe realizar algunas modificaciones en los archivos importados.
Esto no se menciona en el artículo del autor
Insertar descripción de la imagen aquí . Como se muestra en la imagen, cambie ambos archivos al estado de la derecha. y luego haga clic en Aplicar (si tiene gafas de generación, reemplace ARM con X86).

Luego abra la escena
Insertar descripción de la imagen aquí
y reemplace la IP en este script con la IP de su computadora en la misma LAN. Verifique lo siguiente:
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
si construye directamente, habrá un error de vencimiento del certificado.
Abra player setting>Other Settings >Certificate
Insertar descripción de la imagen aquíy haga clic en el certificado que se muestra en la imagen de arriba para cancelar el montaje del certificado caducado.
Luego realice Build para generar la solución e implementarla en Holo (el proceso de implementación no se explica en detalle)

Varios puntos clave: Conversión de plataforma, configuración de archivos dll y winmd, modificación de dirección IP, caducidad de certificado.

2.4 Implementar aplicaciones del lado de la computadora

Abra HololensForCV.slnel archivo y configure ComputeOnDesktopYoloel proyecto como proyecto de inicio.

Debido a que el paquete nuget se importó a este proyecto anteriormente, no es necesario importarlo nuevamente aquí, simplemente impleméntelo directamente.
Insertar descripción de la imagen aquí
Configúrelo como en la imagen de arriba Release或者Debug( x64la computadora es de 64 bits). Luego despliegue.

Es posible que aparezcan advertencias sobre la conversión de float a tipo int durante el proceso de implementación y se pueden ignorar.

Después de la implementación, la computadora generará una aplicación.
Insertar descripción de la imagen aquí
Después, puedes apagar Unity, VS, etc., sin dejarlos colgados.

Abra la aplicación y aparecerá una interfaz como esta,
Insertar descripción de la imagen aquílo que significa que la implementación se realizó correctamente.

2.5 Depuración

Primero abra la aplicación Holo y luego siga las instrucciones de texto anteriores para realizar el gesto de doble toque. En el medio, se le pedirá que solicite permiso para la cámara.
Luego ingrese la dirección IP de Holo en el programa de computadora y haga clic en conectar para recibir el video de Holo.
Siga las indicaciones de Holo y realice el gesto doble AirTap, y Holo podrá mostrar el cuadro de llamada. Debido a que la cámara está ocupada, las imágenes de los resultados no se muestran aquí.

Supongo que te gusta

Origin blog.csdn.net/weixin_44338714/article/details/130194037
Recomendado
Clasificación