EXPERIMENTO

Instrumentos sintéticos podem substituir anotações reais? Sozinhos, não

Um segmentador de instrumentos treinado apenas com instrumentos renderizados, comparado ao mesmo modelo treinado com anotações reais: a hipótese, o resultado e o que ele não mostra.

Esta página ainda está sendo revisada por nossos especialistas científicos, clínicos e jurídicos. Ela descreve planos, não trabalho concluído.

A pergunta

Anotações em nível de pixel de vídeo cirúrgico são demoradas, e as bordas dos instrumentos são a parte menos consistente delas. Um renderizador fornece instrumentos ilimitados com máscaras exatas. Testamos a versão forte dessa ideia:

H1. Um modelo treinado apenas com instrumentos sintéticos não é pior, em instrumentos reais, do que o mesmo modelo treinado com anotações reais.

A hipótese, a margem e a regra de decisão foram fixadas em um documento de projeto (RFC 0001) antes de qualquer treinamento.

Como testamos

  • Dados sintéticos. Modelos de uma pinça de apreensão e de um gancho em L foram construídos no Blender e renderizados 20.000 vezes com máscaras exatas. As renderizações foram sobrepostas a 717 quadros sem instrumentos do conjunto público CholecT50, cada um verificado por uma pessoa. Aumentos: luz, desfoque, tecido sobre a ponta, a borda escura da imagem do endoscópio e fumaça simulada.
  • Dados reais. CholecSeg8k: 4.000 quadros anotados de 8 vídeos para treinamento e 1.120 quadros de 2 vídeos para validação.
  • Teste. Os 7 vídeos do CholecSeg8k que nunca serviram de fundo sintético, 2.960 quadros no total. Antes da primeira execução no teste, uma pessoa revisou cada clipe de teste em busca de instrumentos sem classe própria. Nada precisou ser excluído.
  • Modelo. O mesmo DeepLabV3-ResNet50, as mesmas configurações e o mesmo número de passos de treinamento em todos os braços. Cada braço rodou com 3 sementes.
Braço Treinado com
A apenas instrumentos sintéticos
B apenas anotações reais
C10 / C25 / C50 / C100 o modelo do braço A, depois 10 / 25 / 50 / 100 % dos quadros reais
  • Escolha do modelo. O braço A escolheu seu checkpoint apenas com dados de validação sintéticos, de modo que nenhuma anotação real chegou ao braço sintético.
  • Execuções no teste. Cada checkpoint escolhido foi executado exatamente uma vez nos vídeos de teste, e cada execução foi registrada.
Como os braços foram montados Instrumentos renderizados são sobrepostos a quadros do CholecT50 sem instrumentos para treinar o braço A. Quadros reais do CholecSeg8k treinam o braço B. Os braços C ajustam o braço A com 10 a 100 % dos quadros reais. Cada modelo escolhido é avaliado uma vez em 7 vídeos do CholecSeg8k que nunca foram fundo. Renderizações do Blender 20.000 pinças, ganchos em L Quadros sem instrumentos 717, CholecT50, revisados Anotações reais CholecSeg8k, 8 vídeos Braço A só sintético Braços C10–C100 A, depois 10–100 % real Braço B só real Teste 7 outros vídeos uma vez por modelo parte de A
O mesmo modelo, as mesmas configurações e o mesmo número de passos de treinamento em todos os braços; três sementes cada.

Resultados

A métrica é a sobreposição (IoU) da máscara de instrumentos em todos os pixels de teste. 1 é perfeito. A faixa é um intervalo de 95 % sobre vídeos de teste e sementes.

Braço Anotações reais IoU Intervalo de 95 %
A, só sintético 0 % 0,116 0,04 – 0,19
C10 10 % 0,775 0,66 – 0,83
C25 25 % 0,767 0,63 – 0,83
C50 50 % 0,778 0,65 – 0,84
C100 100 % 0,764 0,62 – 0,84
B, só real 100 % 0,772 0,65 – 0,84
IoU de teste por braço com intervalos de 95 % O braço A obtém 0,116, muito abaixo de todos os outros. Os braços C10 a C100 e o braço B obtêm entre 0,76 e 0,78, com intervalos que se sobrepõem. 0,00 0,25 0,50 0,75 1,00 IoU da máscara de instrumentos nos 7 vídeos de teste A · só sintético: 0,116 (intervalo de 95 % 0,041–0,185) A · só sintético 0,116 C10 · A + 10 % real: 0,775 (intervalo de 95 % 0,658–0,832) C10 · A + 10 % real 0,775 C25 · A + 25 % real: 0,767 (intervalo de 95 % 0,633–0,833) C25 · A + 25 % real 0,767 C50 · A + 50 % real: 0,778 (intervalo de 95 % 0,648–0,841) C50 · A + 50 % real 0,778 C100 · A + 100 % real: 0,764 (intervalo de 95 % 0,624–0,837) C100 · A + 100 % real 0,764 B · só real: 0,772 (intervalo de 95 % 0,654–0,837) B · só real 0,772
Pontos: IoU sobre todos os pixels de teste, três sementes juntas. Linhas: intervalo de 95 % sobre vídeos de teste e sementes.

H1 foi rejeitada. O braço A fica 65,5 pontos atrás do braço B, com intervalo de 95 % de −75,9 a −53,5. O projeto admitia uma diferença de no máximo 2 pontos.

A decisão sobre H1 A diferença entre o braço A e o braço B é de −65,5 pontos de IoU, com intervalo de 95 % de −75,9 a −53,5. Todo o intervalo fica muito à esquerda da margem de −2, por isso H1 foi rejeitada. dentro da margem −80 −70 −60 −50 −40 −30 −20 −10 0 10 20 30 margem −2 A − B: −65,5 (intervalo de 95 % −75,9 … −53,5) −75,9 −53,5 A − B = −65,5 IoU(A) − IoU(B), pontos
H1 teria se mantido se todo o intervalo tivesse ficado à direita da linha de −2.

O modelo só sintético aprendeu a tarefa sintética: chegou a 0,96 nos dados de validação sintéticos. Nos quadros reais de validação, obteve cerca de 0,45, e nos vídeos de teste, 0,12. Verificamos uma explicação: que ele teria memorizado o tecido das operações de validação por meio dos fundos. Apenas 29 dos 717 fundos vêm dessas operações, então isso não explica a diferença. Ainda não se sabe por que o modelo falha com instrumentos reais.

O braço A durante o treinamento Nos dados de validação sintéticos o braço A sobe de 0,91 para 0,96. Nos quadros reais de validação oscila sem tendência entre 0,21 e 0,56 e termina perto de 0,44. Nos vídeos de teste chega a 0,12. 0,00 0,25 0,50 0,75 1,00 1 6 11 16 20 época teste validação sintética validação real (apenas informativa) validação sintética, época 20: 0,96 0,96 validação real (apenas informativa), época 20: 0,44 0,44 teste: 0,116 (0,114 / 0,082 / 0,152) 0,12
Linhas: média das três sementes; faixas: da pior à melhor semente. O checkpoint foi escolhido apenas pela validação sintética; a real foi registrada e nunca usada.
Dados em tabela
ÉpocaValidação sintética, médiaValidação real, média
10,9120,431
20,9250,399
30,9380,386
40,9410,399
50,9440,363
60,9490,467
70,9490,412
80,9530,442
90,9530,346
100,9560,383
110,9570,334
120,9580,409
130,9590,383
140,9600,403
150,9610,394
160,9620,364
170,9630,398
180,9630,438
190,9630,429
200,9630,442

Seis quadros de validação

A figura mostra o que os modelos dos braços A, B e C10 (semente 1) preveem em seis quadros reais de validação. Os quadros estão espaçados igualmente e foram fixados antes de qualquer previsão ser vista. Quadros de teste não são mostrados: executar os modelos neles de novo seria usar o teste mais uma vez.

  • Onde uma pinça se destaca do tecido, o braço A encontra parte dela (IoU de 0,39 a 0,76).
  • Onde o instrumento está na borda da imagem ou tem haste escura (linhas 2 e 6), o braço A quase não encontra nada (0,00 e 0,02). Os braços B e C10 encontram esses instrumentos (de 0,73 a 0,90).
  • No último quadro, o braço B marca o gancho em L como pinça, e o C10 o rotula corretamente. O IoU da máscara de instrumentos não considera a classe.

Seis quadros ilustram os números acima. Sozinhos, não são evidência.

Grade de seis quadros laparoscópicos com máscaras de instrumentos: as anotações de referência e as previsões dos braços A, B e C10.
Cada linha: o quadro, as anotações de referência e, em seguida, os braços A, B e C10 (semente 1) com o IoU do quadro. Pinça em ciano, gancho em L em amarelo. Quadros reais de validação (vídeos 26 e 52), nunca os de teste. Execuções m1-A-s1-be48f5bc, m1-B-s1-cccfe860, m1-C10-s1-a5ef566d. Quadros e máscaras de referência: CholecSeg8k (Hong et al. 2020), a partir do Cholec80 (Twinanda et al. 2017), CC BY-NC-SA 4.0, diferente do restante deste site, que é CC BY 4.0.

O que estes números não são

  • Não são prova de que o pré-treinamento sintético economiza anotações. Os braços C alcançam o braço B com 10 % dos quadros reais, cerca de 400, e não ganham nada além disso. Mas o projeto não tinha um braço treinado com esses mesmos 10 % sem a etapa sintética. Sem ele, não dá para saber se a etapa sintética ajudou ou se 400 quadros reais bastam sozinhos.
  • Não são um veredito sobre dados sintéticos em geral. Valem para este renderizador, estes instrumentos e 717 fundos, menos do que os cerca de 1.000 planejados.
  • Não são um resultado clínico. Velocidade, reflexos e sangue não foram medidos separadamente, e nenhum modelo foi publicado.

RESEARCH USE ONLY – NOT FOR CLINICAL USE (somente para pesquisa, não para uso clínico).

O que deu errado pelo caminho

  • As primeiras renderizações foram três vezes mais lentas do que precisavam. O removedor de ruído rodava na CPU enquanto a GPU esperava. Após a correção, 20.000 renderizações levaram cerca de 3 horas.
  • O braço sintético parou depois de poucas épocas. Algumas imagens de fumaça foram danificadas ao serem copiadas para o servidor com GPU. As execuções foram retomadas do último checkpoint, e agora cada imagem é verificada antes do início do treinamento.
  • Seis ajustes finos partiram de modelos inacabados por causa dessa falha. Foram marcados como inválidos, nunca executados no teste, e o código de treinamento agora se recusa a iniciá-los.

Possíveis próximos passos

  • Um braço de controle treinado com 10 % e 25 % dos quadros reais sem a etapa sintética. É a forma mais barata de saber o que a etapa sintética acrescenta.
  • Randomização de domínio: texturas e cores propositalmente irreais, para testar se a diferença é de aparência.

O cartão completo do modelo, com os identificadores das execuções, está no repositório do projeto. Veja também o registro de experimentos e por que os resultados negativos importam.