martes, 16 de abril de 2019

Nube de puntos - 5: Desempeño de punta


Nube de puntos - 5: Desempeño de punta

En la publicación previa aprendiste sobre algunos de los diferentes softwares que pueden ser usados para crear y manipular nube de puntos. En esta publicación aprenderás cómo el software supera el reto de mostrar esas grandes cantidades de datos en la pantalla y cómo puedes usar esto para mejorar la velocidad de tu software.

Ver modelos grandes con fluidez
Cómo te has dado cuenta hasta ahora: las nubes de punto son grandes. Dado que una computadora tiene una limitada capacidad de memoria, no puede sostener todos los puntos de una nube de puntos, en la memoria, durante todo el tiempo. Una pantalla de computadora tiene también un finito número de píxeles. Es por eso que no hace sentido mostrar todos los puntos a la vez.

Multi-escala al rescate
Básicamente, el software de nube de puntos resuelve este problema al solamente mostrar los puntos que son realmente visibles. Esta visibilidad depende de la resolución de la pantalla y el tamaño de la “ventana” que se está usando para ver la escena. Imagina que tu pantalla tiene 4 millones de píxeles, entonces 4 millones es el número máximo de puntos que pueden ser mostrados en cualquier momento dado. Esto puede ser tanto una versión de baja de resolución de su completa extensión o una pequeña parte en detalle completo.
Para ilustrar esto, vamos a darle un vistazo a una imagen 2D. Nuestro ejemplo usa una imagen skyline en 3 niveles de acercamiento. Imagina que tu computadora sólo puede mostrar 300x192 píxeles. Este es el tamaño del enmarcado de las imágenes en nuestro ejemplo. Dependiendo de que tanto te acerques o alejes, puedes ver la escena completa en baja resolución (izquierda), algunos detalles ( en medio) ó a máximo detalle (derecha). En cada ejemplo, el mismo número de píxeles está siendo mostrado.
Usando tres diferentes niveles de acercamiento. Imagina un visor que puede siempre mostrar el mismo limitado número de puntos. Esto puede ser la escena completa a baja resolución, una parte media a mediana resolución, o una pequeña parte a alta resolución. Designed by rawpixel.com / Freepik
La diferencia es que la nube de puntos son 3D no 2D, y 300X192 es muy pequeño a comparación de los estándares de pantalla actuales. Sin embargo, el principio es exactamente el mismo. El software no lee ni muestra todos los puntos a la vez. En vez, sólo lee y muestra lo que es relevante para la vista actual en un momento dado.

La multi-escala necesita un extra-preprocesamiento
Para poder encontrar esos puntos rápidamente, el preprocesamiento necesita reorganizar nube de puntos en bruto de una manera más eficiente. Los puntos que están más cerca en el espacio también están agrupados juntos en bloques en el disco. Para un acercamiento más veloz, los puntos también están hechos disponibles en diferentes niveles de acercamiento, justo como en nuestro ejemplo 2D. Esto explica por qué un archivo pre-procesado es más grande que los datos brutos originales.

Una vez que el preprocesamiento está listo, el software puede inmediatamente encontrar los puntos que están siendo en ese momento visibles en la pantalla. Este preprocesamiento de datos de la nube de puntos para búsqueda eficiente y consulta es también llamada “indexación”. Puede tomarse un largo tiempo, pero una vez que empieza no necesita atención humana. Si se corre por la noche, el usuario puede usar los resultados del preprocesamiento al siguiente día y este preprocesamiento sólo necesita ser computado una vez por conjunto de datos.
Detalles afinados contra desempeño
Un usuario con discos duros veloces, una mayor resolución de pantalla y más RAM disponible puede manejar un número más grande de puntos a la vez que un usuario con más limitado hardware. Es por lo que es útil ser capaz de cambiar ese número de puntos mostrados por instancia o, si quieres, el tamaño del área de visualización. En BricsCAD el comando POINTCLOUDPOINTMAX te lo mostrará.
No esperes más descargar BricsCAD desde aquí por 30 días
El texto original en inglés está aquí



lunes, 15 de abril de 2019

Nube de puntos - 4: Una nube de software


Nube de puntos - 4: Una nube de software
En el post previo fuiste introducido a algunos de los tipos de archivos de nube de puntos disponibles. Lo siguiente es una visión general de herramientas de software útiles que te permitan usar y manipular los datos de la nube de puntos una vez que fue creada. Esta visión general no es completa ya que hay muchas como para poder mencionarlas todas. Este cuarto post hablará de:

  • Software de escritorio comercial
  • Diferentes tipos de licencia de software
  • Software de escritorio gratis
  • Útiles librerías gratis
  • Visores web
  • Fuentes online gratis de datos de nube de puntos
Software de escritorio comercial
Los datos serían nada sin el software apropiado para procesarlos. Existen muchas soluciones de software para nube de datos. La mayoría de estos también tiene un modo visor gratis. Este es un resumen de los más importantes:
  1. FARO SCENE y Virtusurv y visor gratis Scene LT.
  2. Leica CloudWorx suite tiene plugins para AutoCAD, Revit, and BricsCAD. Leica Cyclone además tiene una licencia gratis para modo visor
  3. Trimble Realworks (Gratis Trimble Realworks viewer).
  4. Bentley Pointools (Gratis Bentley Pointools View).
  5. PointCab posible vectorización, principalmente basada en proyecciones ortográficas y slices 2D.
  6. PointFuse crea engranes desde nube de puntos, seguido de segmentación inteligente y reconocimiento de objetos.
  7. EdgeWise  extrae geométricos semi-automáticos y los exporta a archivos CAD.
  8. ImaginIt creación semi-automática de geométricos en un ambiente CAD.
  9. GeoPlus VisionLidar puede visualizar, procesar, clasificar, segmentar, animar y editar.
  10. MARS: soporta tanto escaneo láser airbone y terrestre, con varias funciones de importe, análisis y exportación (también modo visor gratis).
  11. Elysium InfiPoints  maneja en flujo de trabajo, desde importación de los datos, filtración, registro hasta analizar geométricos CAD e incluso exportación.
  12. 3DReshaper puede importar, analizar/ingeniería inversa/ modelo y exportación. También tiene subproductos como Meteor (metrología) y un SDK con interfaces en C++ y Javascript. Un visor gratis free viewer también está disponible.
  13. Capturing Reality maneja y junta conjuntos de datos de diferentes fuentes (escáner láser, drones, fotografías, etc.) en un sólo modelo detallado.
  14. Quick Terrain Modeler: para visualización y análisis de modelos de terreno. También tiene su visor gratis llamado Quick Terrain Reader.
  15. Fugro viewer otro visor gratis para datos geoespaciales incluyendo nube de puntos.
Tipos de licencias de software
  • Licencias de software significa que los clientes deben comprar una licencia para usar el software y no pueden distribuir el software más allá. Esta es probablemente la más conocida licencia de software que los clientes se encuentran al comprar software. Típicos ejemplos son Microsoft Windows y Adobe Photoshop.
  • Diferentes tipos de licencias gratis:
    • Ciertas licencias te dan el permiso de usar el software de cualquier manera que quieras (cómo uso en productos de software comercial), mientras incluyas la nota de copyright original del software. Ejemplos de este tipo de licencias son MIT y BSD. Para uso comercial, esta es la menos restrictiva licencia.
    • Otro tipo de licencia GPL, establece que todo software que usa alguna parte de él, está dentro de GPL  y debe también ser publicado bajo el GPL. Para compañías comerciales, esta es la licencia más restrictiva. Estrictamente, el software como servicio no cae bajo GPL. Aun así, la más reciente AGPL abarca este tipo de uso explícitamente.
    • También hay licencias que son que son un poco de compromiso entre los dos extremos, como el LGPL. Este dice que todos los cambios hechos al producto LGPL también debe ser publicado de nuevo e incluir una nota de copyright, pero otro software puede usarlo, incluso para uso comercial.
Software de escritorio gratis
También hay dos programas independientes para nube de puntos extremadamente útiles y con fuentes enteramente gratis/abiertas:
Meshlab es un paquete de software de código abierto (GPL) para procesar y editar entramados. Sin embargo, también soporta varios formatos de nube de puntos. Este programa es bueno para visualizaciones rápidas de nube de puntos. Puede mostrar diferentes archivos de datos y permitir al usuario mostrar/esconder diferentes archivos. También, al importar ambos archivos de nube de puntos y engranajes (ejemplo, archivos ply), es una buena herramienta para comparar las nubes de puntos con los engranajes. Además, le permite al usuario editar nube de puntos (remover puntos, por ejemplo) y también crear engranajes desde nubes de puntos.
  1. CloudCompare es otro software de procesamiento de engranajes y nube de puntos 3D de código libre/abierto (LGPL core, rest GPL). Este programa esta de hecho dedicado a nube de puntos y tiene un gran conjunto de algoritmos para extracción de figuras, segmentación/agrupación de puntos, registro.
Librerías útiles
El software no es siempre sólo escrito para usuarios finales. Algunas compañías deciden distribuir librería, para que otras compañías puedan entonces integrarlas dentro de sus propios productos. Un ejemplo de una librería comercial de nube de puntos que puede ser integrada en otros productos es:
A un lado de las librerías comerciales, hay también librerías de nube de puntos gratis. Las más conocidas librerías gratis son:
  • Point Cloud Library (PCL, bajo 3-clause BSD license) es una independiente, de escala grande, proyecto abierto para imágenes 2D/3D y procesamiento de nube de puntos (C++, disponible con fijaciones Python). Contiene un largo conjunto de algoritmos de punta para filtración, computación de descriptores de puntos filtering, reconstrucción de superficie, registro, adecuación de modelo y segmentación. PCL puede ser usado para tanto productos comerciales como no comerciales. Además, este proyecto tiene un amplio apoyo de parte de la comunidad (tanto en términos de desarrolladores que contribuyen y apoyo de financiamiento).
  • Point Data Abstraction Layer (PDAL, BSD license)  te permite componer operaciones en nube de puntos a flujos de diferentes pasos del procesamiento.
Visores web
A veces, funcionalidad completa no es necesaria y un visor basado en web es suficiente. En este caso, vale la pena checar los siguientes proyectos:
  • Potree y código en GitHub:  un proyecto académico de investigación hecho por Markus Schuetz, que está disponible para uso de terceros bajo an MIT-like license.
  • Plas.io y código en GitHub, un producto de Uday Verma y Howard Butler, también disponible para uso de terceros bajo MIT license.
  • Point Cloud Web Viewer es una página web basada en Three.js para visualizar nube de puntos (licencia BSD). Un demo puede verse aquí here.
  • Flyvast: Un paquete de software comercial de nube de puntos basada en web, no sólo para ver si no para manejar, mediciones, análisis, etc.
  • LidarView por XtSense GmbH, una manera gratis, simple y útil de ver datos de nube de puntos en un navegador.
 Datos de nube de puntos gratis online
Para personas que quieren empezar con nube de puntos, aquí hay algunos enlaces para conjunto de datos online y públicamente disponibles:
Listo para probar BricsCAD
Fácil de probar, fácil de comprar, fácil de tener. Ese es BricsCAD. Prueba todos nuestros productos, de manera gratis por 30 días desde aquíLibertad de elección, además con licencias de producto perpetuas (permanentes) que trabajan con todos los idiomas (+10), en todos los lugares. Te gustará los que hemos desarrollado para ti con la familia de productos BricsCAD.

Todas las marcas y nombres de productos mencionados en esta publicación son marcas comerciales o marcas de servicio de sus respectivas compañías.
El texto original en inglés lo encuentras aquí



jueves, 11 de abril de 2019

Siete razones por qué considerar BricsCAD para su negocio




Siete razones por qué considerar BricsCAD para su empresa


"¿Por qué debería considerar BricsCAD para nuestra Compañía?" Esta es una muy frecuente pregunta, no solo hay una razón sino varias, veamos mis 7 razones favoritas para moverse a BricsCAD

1. BricsCAD ofrece las más avanzadas herramientas de Inteligencia Artificial para aprendizaje en máquinas tal como los comandos BLOCKIFY y PARAMETRIZE que aceleran los flujos de trabajo. 

BricsCAD no es un clon más - está rápidamente evolucionando en una plataforma CAD poderosa con características que la competencia simplemente carece. Puede ver más en los post de Heidi Hewett en:
2. BricsCAD es amistoso con el equipo TI, viene de manera compacta - el instalador es de tamaño 355 MB - y contienen todas las ediciones del producto en un solo instalador.

No más descargar 8 diferentes enormes paquetes de instalación. Tan solo descargue un instalador y la edición correcta será la autorizada con base a su código de activación de la licencia. Simple y rápido.

3. BricsCAD ofrece precios justos por licencias perpetuas, o lo puede rentar si lo desea.

Con el mantenimiento All-in siempre estará al día con las últimas versiones.
  • Las licencias funcionan en cualquier lado del planeta sin costos extras
  • BricsCAD ofrece licencias para red y volumen también.
  • Las licencias las encuentra en 15 idiomas
  • Ahhhh, y le permite dos activaciones - una en su desktop y otra en su laptop.
Adquiera licencias perpetuas o elija rentar si es que le hace más sentido. ¡El punto es que Usted puede elegir

Pero no espere más descargue BricsCAD desde aquí 



4. BricsCAD soporta multi-hilo, operaciones multi-procesadores para acelerar el desempeño del producto.

Con la variable de sistema MTFLAGS tiene el control sobre desempeño de tareas en paralelo. Con procesamiento multi-hilo BricsCAD aprovecha realmente las ventajas de un procesador, CPU, multi-core.

5. BricsCAD lee y escribe formatos .dwg 2018 con soberbia fidelidad
Y tanto BricsCAD BIM como BricsCAD Mechanical guardan los datos también en formato .dwg

6. BricsCAD es altamente compatible con los programas CAD líderes en la industria
  • Es compatible en comandos
  • Es compatible en menús (.CUI)
  • Es compatible en scrips/macros
  • Es compatible en archivos de soporte (.pc3, .lin, .pat, .dwt, .ssm)
Si usted sabe AutoCAD entonces usted aprende BricsCAD en una hora.

No tendrá que cambiar sus estándares para impresoras, templates, bloques o conjuntos de hojas (sheet sets) para adoptar BricsCAD - utilícelas como lo haría normalmente.

7. BricsCAD ofrece edición de API Visual LISP en todas sus ediciones - Classic, Pro y Platinum.

No tiene que abandonar sus rutinas de personalización LISP para adoptar BricsCAD - tan solo cargar con APPLOAD o con el archivo ON_START.LSP y adelante.

Pero no espere más descargue BricsCAD desde aquí 

El original de este post en inglés está aquí.




Nube de puntos – 3: Evite nubladas expectativas durante un proyecto de escaneo


Nube de puntos – 3: Evite nubladas expectativas durante un proyecto de escaneo


En el post anterior leíste acerca de los diferentes tipos de escaners. Este post te da un punto de partida de que mantener presente cuando estás planeando un proyecto de escaneo.
Planear un proyecto de escaneo
Para la mayoría de las personas, comprar un escáner no valdrá la inversión. Afortunadamente, hay varias compañías que ofrecen servicios de escaneo, para esas personas, puede ser útil tener una idea de los diferentes pasos en un proyecto típico de escaneo.
Hay tres fases principales:
  • preparar el proyecto
  • el escaneo en sí mismo
  • procesar los datos del escaneo y recibir los entregables

Figura 1: Escáner 1 puede ver objeto A, el cual oculta todo tras de si (parte azul claro). Escáner 2 puede ver los objetos A y B pero nada en el área rojo claro. Las área púrpureas son visibles para los dos escáners.

Preparación
Los clientes frecuentemente subestiman este aspecto, pero de hecho es la parte más importante. Un aspecto clave es asegurarse que el cliente y la compañía de escaneo se entienden completamente ambos. Cuando eso se arregla, puedes planear los detalles.

Evitar malentendidos
Escribe una detallada descripción de las metas finales con especificaciones, precisiones requeridas en ambas medidas (como en modelado) y todos los costos relacionados.
  • Escoger entre una representación exacta de la construcción tal y como es, o una representación idealizada en donde las paredes están simplificadas.
  • ¿Qué objetos se necesitan medir y con cuál nivel de precisión?
  • Las responsabilidades y los derechos de todas las partes involucradas
  • ¿Cuál es el producto final esperado del proyecto de escaneo?
  • ¿El cliente ordenó una nube de puntos para trabajar sobre eso, o un modelo CAD completo?
  • ¿Qué es práctico contra cuáles son los requerimientos del trabajo?
  • ¿Medir con mayor precisión justifica los costos extra, tiempo y esfuerzo?
  • Checar/estimar el tamaño esperado de los conjuntos de datos (el número de Gb) y sus correspondientes tiempos de procesamiento para asegurarse que el cliente tiene el hardware necesario para trabajar con los entregables
Planificación práctica
  1. Determina un conjunto de posiciones del escáner de donde todas las áreas requeridas pueden ser escaneadas con la precisión requerida. Como fue discutido en la introducción, el escáner láser solo puede ver las superficies de los objetos. Por lo tanto, los objetos esconden que hay detrás de ellos y posiciones adicionales de escaneo son necesarias para para incluir áreas previamente escondidas. La figura uno ilustra esto: mientras que el escáner 1 no puede ver el objeto B porque está detrás del objeto A ( el punto ciego del escáner 1 es ilustrado por el área en azul claro), el escáner 2 puede ver las partes inferiores de los objetos A y B, pero también tiene sus puntos ciegos (mostrados por las áreas en rojo claro) La planificación tiene que tener esto en cuenta.
  2. El tiempo del escaneo es costoso (horas de trabajo, equipo) así que asegúrate en avance:
  • La planificación incluye las suficientes posiciones de escáner para escanear todas las áreas requeridas.
  • Los operadores pueden acceder a todas las posiciones de manera segura (como al escanear en presencia de máquinas operativas en una sala de producción).
  • La locación es adecuada para escanear en el momento de escanear (sin vibraciones perturbadoras, gente u objetos pasando, etc.)
  • Los operadores tiene permiso de acceder a todas las posiciones planeadas para escanear.


El escaneo en sí mismo

Procesando los datos
  1. Registro: todos los datos de diferentes escaners tienen que unirse en el mismo sistema de coordenadas. Para poder obtener un sólo conjunto de datos provenientes de diferentes posiciones del escáner, todos estos puntos de datos tienen que transferirse en el mismo sistema de coordenadas (Figura 2). Para este propósito, ciertos objetos de referencia necesitan usarse. Este proceso es llamado "registro de los datos".
  2. Verificación de la calidad: los operadores usan puntos de control de tierra para este propósito. Miden estos puntos de una manera alternativa y comparan sus posiciones con la posición de puntos correspondientes dentro de los escáneres.
  3. Filtrar los datos: remover ruido, personas que pasaron a través del escenario durante el escaneo, valores atípicos causados por reflexiones, etc.
  4. Modelado/medición: de los datos escaneados.

Figura 2: Registro de nubes de puntos desde distintas posiciones del escáner (cada cual con su propio sistena de coordenadas "CS") para el mismo sistema de coordenadas global (WCS).

Los resultados: ¡archivos de nube de puntos!
Aspectos que considerar
Vamos a asumir que el cliente va a hacer el modelado real de su lado y que ellos están de acuerdo con la compañía de escaneo que el entregable es un conjunto de nubes de puntos limpios. No hace falta decir que, cuando un escáner produce hasta un millón de puntos por segundo, el conjunto de datos resultantes tiene tamaños en el orden de cientos de Mb a cientos de Gb. Ser capaz de trabajar con estos enormes conjuntos de datos no es evidente y tiene sus propios retos, como:
  • Suficiente almacenamiento de datos en el disco necesita estar disponible, tanto para los datos en bruto como para los derivados.
  • Procesamiento e interpretación de todos los datos puede tomar horas y a veces hasta días.
  • Visualización y navegación eficiente a través de estas enormes cantidades de datos puede ser muy lento o incluso imposible sin el hardware adecuado.


Tipos de formato de archivos
Para almacenar datos de nube de puntos al disco, los datos necesitan escribirse a archivos. Esto puede ser un verdadero dolor ya que cada compañía parece trabajar con su propio formato. Esta sección va a discutir algunos aspectos de los formatos de archivos de nube de puntos y sus propiedades. Los formatos de archivos pueden ser:
  • Abierto: un documento de especificación y/o referencia (la implementación está abiertamente disponible)
  • Cerrado: los archivos sólo pueden ser leídos por el software que tiene la licencia del creador
  • Algo en el medio: las compañías proporcionan bibliotecas binarias para su formato de archivo, sin exponer la especificación formato de archivo en sí.

Los formatos de archivo pueden ser ASCII o binario. El primero tiene la ventaja que también es legible para humanos y, por lo tanto, fácilmente inspeccionable para dar una idea de lo que hay adentro, usando un simple lector de texto como un Notepad, el bloc de notas. Por supuesto, este tipo de archivo es por definición abierto, ya que hasta los humanos pueden leer el contenido del archivo. La desventaja es que estos archivos son más lentos de procesar por que el texto tiene que ser analizado e interpretado. Los archivos binarios son lo contrario: rápidos de leer, pero difíciles de inspeccionar sin el software adecuado si no hay disponible una especificación de este formato.
Ejemplos de formatos de archivo:
  • Cerrado, binario:
·        Leica imp
·        FARO fls
·        Kubit ptc
·        Autodesk rcp/rcs

  •  Abierto, binario:
·       las laz (zipped las)
·        E57
·        El variante binario de pcd

·        ASCII:
·       Variante ASCII de pcd
·       Pts
·       Ptx
·       Xyz

A veces, los formatos de archivo que no son estrictamente nubes de puntos también son mencionados, como PLY, STL, OBJ, VTK, … Estos archivos no sólo contienen geometrías de puntos y sus propiedades, pero también esquinas, caras, etc.
La próxima vez
Vuelve a este blog para aprender sobre los diferentes tipos de software disponible y algunos “links” para conjunto de datos gratis, para experimentar.

Puede descargar BricsCAD desde aquí

Versión original en inglés aquí