Imagen 2 Bajo Polígono
Una foto, una malla de bajo polígono editable por presupuesto de triángulos, cada una puntuada frente a la foto a través de la misma cámara bloqueada y contada de cuatro maneras independientes. La propia geometría de bajo polígono realiza la aproximación: ninguna textura, cartel, foto proyectada o geometría no contada representa la forma.
Entradas: la imagen de referencia (nunca cambiada), el sujeto, los presupuestos. Ejemplo trabajado: examples/cat/ en el repositorio (un gato atigrado naranja, presupuestos 100 / 200 / 500 / 1000).
Antes de empezar
| Situación | Haga esto |
|---|---|
| Una foto, todo el sujeto visible, fondo plano | el camino principal |
| Un animal de cuatro patas | la plantilla proxy enviada (fit_camera_proxy.py, build_proxy.py) es un cuadrúpedo gato; ajuste sus priors |
| Cualquier otro sujeto | escriba primero una plantilla proxy para él (cilindros generalizados por parte, formato catlib/skeleton.py); el resto de las herramientas son independientes del sujeto |
| Varias fotos, un video, un escaneo | fuera de alcance: una vista, una cámara |
| El usuario quiere color o textura | solo colores planos por cara; dígalo antes de empezar |
| Sin Blender | no compatible: el conteo, el montaje y cada número oficial necesitan Blender 5.2+ |
Diga antes de empezar que todo lo que la foto no muestra se infiere, no se verifica.
Flujo de trabajo
S a continuación significa skills/image-to-lowpoly/scripts. Cada script toma --case CASE (o LOWPOLY_CASE). Publique una imagen etiquetada en cada punto de control (superposiciones, arcilla, alambre, ocho vistas): primero las imágenes, después los números.
- Caso y referencia. Haga
CASE/reference/reference.png(copia idéntica byte a byte de la imagen del usuario) y un archivo de procedencia con su SHA-256. Nunca la regenere, redimensione o edite. - Objetivos fijos. Anote puntos de referencia y ventanas de imagen mirando recortes ampliados (12 nítidos: puntas de orejas, ojos, nariz, cuatro contactos de patas, base/medio/punta de cola para un gato; adapte la lista al sujeto), luego
python3 $S/preflight_reference.py --case CASE. Miremask_overlay.pngylandmarks_overlay.png. La máscara excluye la sombra del suelo y los bigotes. - Cámara y proxy.
fit_camera_proxy.py --case CASE(CPU, decenas de minutos), luegobuild_proxy.py,build_proxy.py --lockybuild_proxy.py --report. Mire el proxy desde las ocho vistas: es la respuesta para todo lo oculto. Luego congele: escriba los hashes de referencia, máscara, puntos de referencia, regiones, cámara, escena, proxy y el código de evaluación encontract/FROZEN.jsonantes de que cualquier presupuesto sea puntuado (references/contract.md). - Controles.
make_decimation_baseline.py --case CASE --budget Npara cada presupuesto: Decimación del proxy a exactamente N, y lo mismo después del refinador compartido. Estos son los números a superar. - Asignar y construir, por presupuesto. Dé a cada presupuesto su propio trabajador y directorio
variants/<N>/(references/budget-worker.md). Escriba la tabla de asignación (región, triángulos, anillos x lados, razón), construya al menos dos asignaciones materialmente diferentes, dé a cada una el mismo refinamiento corto, compare, elija.variants/<N>/build.pyescribe uncatmesh-1mesh.jsoncon exactamente N triángulos (afírmelo), regiones, materiales y adjuntos de puntos de referencia. Una superficie cerrada: suelde extremidades, cola y orejas al cuerpo. - Punto de control inicial.
evaluate.py --case CASE --mesh variants/<N>/checkpoints/v0_initial/mesh.json --views. Esta es la fila "inicial". - Refinar, medir, mirar, editar, repetir.
refine_vertices.py(--flips,--freeze-vertspara caras y cualquier kit congelado),evaluate.py, luego mireref_overlay.png,ref_clay.png,ref_wire.pngy las ocho vistas. Haga ediciones de topología dirigidas donde la superposición muestre que el presupuesto está mal asignado. Mantenga el mejor punto de control validado; el más nuevo no tiene por qué ganar. - Revisión ciega.
make_critic_packet.py --case CASE --round Kempaqueta la foto y las representaciones de arcilla, alambre y contorno con nombres neutros. Inicie un subagente fresco que solo vea esa carpeta; convierta sus hallazgos en ediciones geométricas neutrales al presupuesto. Rechace cualquier sugerencia que sea una textura, una tarjeta o geometría no contada. - Finalizar y agregar.
finalize_variant.py --case CASE --budget N --checkpoint TAG --reason "..."copia el punto de control y lo re-puntúa;aggregate_metrics.pyconstruye la tabla cruzada de presupuestos y rechaza hashes o conteos no coincidentes;make_comparison.pyhace las hojas. - Informar y parar. Presente la hoja de arcilla/alambre con los cuatro conteos, la tabla de resultados inicial, final y ambos controles por presupuesto, las tablas de asignación, los veredictos del revisor y lo que está mal. Diga dónde la malla diseñada no supera al control. El usuario decide qué sigue.
- Timelapse (opcional). Grabe las etapas de construcción (
--stages-diren su script de construcción) y las instantáneas del optimizador (refine_vertices.py --snapshot-dir DIR --snapshot-every K), luegotimelapse/timelapse.py --case CASE: la malla dibujada sobre la foto a través de la cámara bloqueada.
Reglas estrictas
- El conteo es la geometría evaluada y exportada. Cuatro conteos (archivo de malla,
.blendevaluado sobre cada objeto, GLB reimportado, GLB analizado) deben coincidir y ser como máximo N; apunte a exactamente N. Nunca el conteo de polígonos de Blender (references/counting.md). - Nada oculta triángulos o forma. Solo triángulos, un objeto, sin modificadores, sin subdivisión, curvas, cabello, instancias, tarjetas alfa, relleno duplicado o degenerado, carteles o extrusiones de silueta plana.
- El objetivo nunca se mueve. La referencia, máscara, puntos de referencia, ventanas y cámara se hacen una vez y se hashean. Una corrección genuina se divulga y cada presupuesto se re-puntúa.
- Ningún número decide por sí solo. IoU, distancia de límite, puntos de referencia y huecos de piernas no deben contradecirse entre sí, y la arcilla y las ocho vistas deben verse mejor. Una mejor puntuación con una peor forma es una regresión.
- Suelde, no interpenetre. Los triángulos enterrados son presupuesto desperdiciado y las uniones se notan.
- El optimizador es compartido; la asignación es el experimento. Mismo refinador, mismas configuraciones disponibles para cada presupuesto y para el control.
- Los puntos de referencia se mueven con la geometría. Un punto de referencia está adjunto a la característica que nombra; nunca deslice el adjunto para mejorar un número.
- Una representación a la vez. Solo
render_variant.pyrenderiza, y toma el bloqueo él mismo. - Los materiales nunca cuentan como forma. Colores planos por cara con significado anatómico; clasifique la geometría solo con arcilla y siluetas.
- Diga lo que no es. Lado oculto inferido; un resultado que empata con el control es un empate; las cabezas y las partes delgadas son donde estas mallas son más débiles.
Referencias
| Archivo | Leer cuando |
|---|---|
references/contract.md | configurando un caso: diseño, unidades, cámara, formato de malla, métricas, representaciones, proxy, puntos de referencia, kit de cabeza |
references/budget-worker.md | delegando o haciendo un presupuesto: procedimiento, prioridades, qué mirar |
references/counting.md | el conteo de cuatro vías, fallos duros, qué se divulga |
references/lessons.md | qué salió mal en la ejecución del gato y la regla que cada fallo se convirtió |