Directorio de artículos
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.
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 ComputeOnDesktopYolo
un 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
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.
Después de la descompresión, descubrí que HololensForCV
esta 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
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
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).
Después de abrir el archivo, primero 重定结局方案目标
hágalo compatible con su propia versión de SDK.
Luego, cuando lo abra 工具>Nuget包管理器>管理解决方案的nuget包
, encontrará que hay dos paquetes .
Necesitamos instalar otro. OpenCV.Hololens包
Para tres proyectos, están en la muestra HololensForCV
, Compartido ComputeOnDesktopYolo
y 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:
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
Examinar, cambie el paquete a la fuente que acaba de agregar,
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")
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.
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
. 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
y reemplace la IP en este script con la IP de su computadora en la misma LAN. Verifique lo siguiente:
si construye directamente, habrá un error de vencimiento del certificado.
Abra player setting>Other Settings >Certificate
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.sln
el archivo y configure ComputeOnDesktopYolo
el 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.
Configúrelo como en la imagen de arriba Release或者Debug
( x64
la 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.
Después, puedes apagar Unity, VS, etc., sin dejarlos colgados.
Abra la aplicación y aparecerá una interfaz como esta,
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í.