Dados de vídeo podem ajudar a treinar robôs, incluindo humanoides, a compreender e executar tarefas físicas. Isso abrange modelos VLA, que conectam observações visuais e instruções de linguagem a ações, e modelos World, que aprendem como um ambiente muda ao longo do tempo. A web pública contém milhões de vídeos de pessoas realizando esse trabalho, e encontrar uma ação específica neles é difícil, porque um título descreve o tema geral de um vídeo, deixando as ações nas imagens sem nome. Descrições e tags geralmente não são melhores.
Para este estudo, usamos a Video Search API da Bright Data. A Video Search API é uma ferramenta que permite pesquisar visualmente momentos dentro de vídeos da web.
Você fornece uma descrição em linguagem natural de uma ação, ela pesquisa o conteúdo visual de vídeos públicos em vez do texto associado a eles, e retorna vídeos candidatos junto com timestamps indicando onde a ação pode aparecer. A pesquisa convencional por palavras-chave funciona ao contrário, combinando suas palavras com o título, descrição e tags de um vídeo, de modo que as duas abordagens acabam alcançando imagens muito diferentes.
Enviamos 141 ações físicas e recebemos 10.828 momentos em 7.549 vídeos. Para cada momento retido, verificamos se alguma palavra do nome da ação aparecia no título, descrição ou tags do vídeo. Em 90,8% dos casos, nenhuma apareceu.
Se você coleta imagens de treinamento por palavras-chave, esses 90,8% são os dados que você perde, e isso torna a coleta da API 10× maior do que o que a busca por texto poderia alcançar. Esses momentos extras mostram as mesmas ações que você solicitou, dentro de vídeos cujos títulos falam sobre outra coisa, e permanecem invisíveis para um pipeline de texto, independentemente de quantas consultas você execute nesses campos.
Comparamos substrings literais com título, descrição e tags, e contamos dentro do corpus que a própria API retornou, portanto a proporção se mantém sob essas duas condições. Pesquisa semântica, pesquisa multilíngue, pesquisa em transcrições e o próprio ranking do YouTube estão fora do que testamos.
O resultado em três números
| 10,9× | mais momentos do que correspondência literal | a pesquisa de conteúdo retornou 10.828; 992 contêm alguma palavra do nome da ação em seus metadados |
| 90,8% | sem nome em lugar nenhum | 9.836 de 10.828 momentos não contêm menção à ação em seu título, descrição ou tags |
| 56,1% | nenhuma pista no título | um teste mais fraco do que a pesquisa. Perguntamos ao google/gemini-2.5-flash se havia algo no título relacionado à ação, por mais vaga que fosse a relação, incluindo pistas vagas demais para pesquisar. Não encontrou nada em 6.071 de 10.828 |
De onde vêm esses três números
Os dois primeiros são a mesma divisão: 9.836 de 10.828 momentos não contêm nenhuma palavra da ação em nenhum campo, e os 992 que contêm são o que um matcher literal alcança, 10.828 ÷ 992 = 10,9. Os quatro grupos (título, descrição, tags, nenhum) são mutuamente exclusivos e somam o total verificado. Ambos são contados por linha de correspondência; ao colapsá-los para os 8.849 segundos de vídeo distintos, a proporção resulta em 8,9×.
O terceiro conta os títulos que o modelo classificou como não relacionados: 6.071 de 10.828, uma linha por momento em 7.549 vídeos distintos.
Os timestamps carregam uma segunda consequência. Permitindo no máximo 10 segundos de ação por momento, as 5.066,5 h de vídeo fonte onde essas correspondências se encontram se tornam 24,58 h de clipe, o que reduz o que precisa ser movido, armazenado e revisado em 206,1×.
O que a recuperação realmente retornou. Recuperação confiante não é o mesmo que recuperação correta, então extraímos um frame real de quase cada correspondência e pedimos a um modelo de visão para avaliá-los. A seção 3.5 contém as taxas. Esta auditoria apresenta imagens candidatas para descoberta e curadoria, e nenhuma política, modelo de mundo ou robô foi treinado com elas.
Amostra de seis vídeos e seus títulos no YouTube
O que um modelo de visão viu, mostrado a imagem sem o título, em comparação com o próprio título do vídeo, traduzido para o português quando um idioma de origem é indicado. Um juiz de IA leu cada título no corpus em busca de qualquer indício de sua ação, e classificou esses seis como não relacionados: uma data simples, um versículo do Alcorão, um boletim de notícias econômicas. Confirmamos cada frame visualmente e cada vídeo está ativo. Clique em um frame para reproduzir o vídeo naquele segundo.
90,8% dos momentos recuperados não são nomeados em nenhum metadado
Essa proporção é a lacuna entre o que a recuperação de conteúdo alcançou neste corpus e o que a correspondência literal de metadados teria alcançado.
A objeção óbvia é o idioma, já que testamos palavras de ação em inglês contra títulos que frequentemente não estão em inglês. Restringindo aos títulos em inglês confirmados pelo modelo, o número ainda fica em 85,8%; a seção 3.3 mostra cada fatia.
Onde a ação é nomeada, em todos os 10.828 momentos recuperados
Formato de tabela
| Grupo | Momentos | Proporção | O que significa para um pipeline de texto |
|---|---|---|---|
| nomeado no título | 386 | 3,6% | o matcher literal encontra |
| somente na descrição | 531 | 4,9% | somente se você lê descrições |
| somente nas tags | 75 | 0,7% | somente se você lê tags |
| não nomeado em lugar nenhum | 9.836 | 90,8% | o matcher literal não encontra |
Um momento real de cada grupo, porque “531 momentos são nomeados apenas na descrição” é uma afirmação e um título real com a palavra correspondente marcada é evidência:
| Grupo | Ação | Título do vídeo (abre no segundo correspondido) | Correspondência |
|---|---|---|---|
| nomeado no título | pour |
Teaching a beginner how to pour latte art patterns (Expert Barista Guide) | correspondido em “pour” |
| somente na descrição | take |
GENTLE SOY SAUCE SOUP RAMEN (SHOYU RAMEN) | A Real Japanese Dad Cooks | Japanese cooking | correspondido em “take” |
| somente nas tags | fold |
ورقة واحدة .. طيّات قليلة .. بدون لاصق.. وعالمٌ هرميٌ كامل! | correspondido em “fold” |
| não nomeado em lugar nenhum | take |
# viral video in social media # viral koriyaan # sad story of koriyan romance | nenhuma palavra de “take” aparece em nenhum lugar de seus metadados |
Proporção invisível, por domínio
Números em formato de tabela
| Domínio | Não nomeado em lugar nenhum | Momentos verificados |
|---|---|---|
| Mesa (DROID) | 98,1% | 1.836 |
| Externo | 95,9% | 217 |
| Corpo inteiro | 95,4% | 866 |
| Doméstico | 92,0% | 402 |
| Construção | 91,1% | 987 |
| Industrial | 89,6% | 4.612 |
| Automotivo | 83,8% | 1.908 |
Cada vídeo correspondido em cada domínio tinha metadados coletados por scraping, portanto cada n é o conjunto completo recuperado daquele domínio. Ninguém intitula um vídeo “colocando um bloco em uma tigela”; vídeos de reparo anunciam o que consertam, razão pela qual o automotivo é o único domínio que um matcher literal alcança parcialmente.
1 O que um timestamp remove do pipeline
Digamos que você queira dez segundos de alguém soldando uma junta. O caminho usual tem cinco etapas, e cada uma delas opera em um arquivo de vídeo inteiro: encontrar um vídeo pelo título, extrair todo ele, pesquisar sua própria cópia para o momento, recortar esse momento e, em seguida, rotular o que ele mostra.
A etapa um perde 90,8% desses momentos imediatamente. Pesquisar as imagens, em vez disso, retorna o vídeo e o segundo dentro dele, e uma das cinco etapas deixa de existir. Não há nada para pesquisar dentro do vídeo extraído, pois você já sabe onde está o momento. O recorte ainda precisa acontecer, pois a Media Data API entrega vídeos completos, áudio, legendas e storyboards sem aceitar um timestamp, mas você recorta com base em um deslocamento conhecido em vez de procurá-lo. Cinco etapas se tornam quatro.
Pipelines de coleta offline geralmente dividem esse trabalho em vários sistemas: movendo vídeo para armazenamento em nuvem, anotando-o quadro a quadro manual ou semi-automaticamente, e convertendo entre formatos de robótica como ROS ou MCAP e formatos de vídeo de uso geral. Cada transferência é um ponto onde a taxa de transferência é perdida e onde o alinhamento de tempo entre fluxos de câmera e comandos de motor pode se desviar. Não medimos nada disso aqui. É o contexto que torna um timestamp retornado algo valioso.
Rota convencional (cinco etapas, pago por vídeos completos):
- Encontrar vídeos · pesquisa por palavras-chave nos títulos
- Extrair · 5.066,5 h de vídeo fonte (a etapa cara, medida a partir da duração coletada de cada vídeo correspondido)
- Executar uma pesquisa · uma segunda ferramenta, sobre sua própria cópia
- Recortar · aparar cada clipe para o momento
- Rotular · anotar o que você recortou
Com recuperação de momentos (quatro etapas, pago por segundos):
- Encontrar cenas · a pesquisa de conteúdo retorna o segundo
- Recuperar · ~24,58 h em torno dos deslocamentos retornados (est: assume que cada momento tem no máximo 10 segundos de ação)
- Recortar · aparar localmente, com base em um deslocamento conhecido
- Rotular · um frame por momento
2 Método
Escrevemos uma frase descrevendo cada uma das 141 ações e as enviamos para a Video Search API. A de soldagem dizia:
uma das 141 frases que enviamos
close-up de uma mão segurando um ferro de solda em uma junta de placa de circuito enquanto alimenta fio de solda com a outra mão, iluminação de luminária de bancada
Em seguida, coletamos por scraping o título, a descrição e as tags de cada vídeo que retornou. A Bright Data documenta o índice como correspondendo em frames amostrados em vez de título, descrição ou tags, portanto os campos que avaliamos não deveriam ser o que encontrou as imagens. Não testamos isso de forma independente.
Extraímos 22 nomes de ações das strings de tarefa do DROID, que lemos para frequência de verbos, e adicionamos as 119 restantes como ações de autoria própria para ampliar a auditoria além da cobertura do DROID.
3 Resultados
3.1 O que cada rota custa
Tudo aqui está em horas neste corpus, com durações somadas do scraper, portanto o valor de origem é uma contagem em vez de uma estimativa. Não extraímos nenhum vídeo, portanto não reivindicamos nenhuma contagem de bytes.
Duas contagens estão por trás do 206,1×. As 5.066,5 h são uma soma real de 7.549 vídeos. O valor do clipe conta cada (vídeo, segundo) uma vez, em 8.849 segundos distintos, e multiplica pela janela de 10 segundos.
A proporção depende de duas escolhas, a duração de um clipe e se a cauda longa conta, e a cauda longa é a maior alavanca das duas: 483 vídeos de três horas ou mais representam ~6% do conjunto e carregam ~60% das horas. A tabela de sensibilidade completa:
Números em formato de tabela
| Remover vídeos mais longos que | Vídeos | Horas do corpus | Segundos distintos | Horas de clipe (10 s) | Redução |
|---|---|---|---|---|---|
| 1 h | 6.554 | 1.113,5 | 7.605 | 21,12 | 52,7× |
| 2 h | 6.873 | 1.563,8 | 8.017 | 22,27 | 70,2× |
| 3 h | 7.066 | 2.031,3 | 8.247 | 22,91 | 88,7× |
| 6 h | 7.364 | 3.272,8 | 8.609 | 23,91 | 136,9× |
| 12 h | 7.546 | 5.012,3 | 8.846 | 24,57 | 204,0× |
| manter todos (publicados) | 7.549 | 5.066,5 | 8.849 | 24,58 | 206,1× |
O mesmo corpus, obtido de qualquer forma: 10.828 linhas de correspondência em 8.849 segundos de vídeo distintos. Contar cada correspondência em vez de cada segundo distinto daria 30,08 horas de clipe e uma redução de 168,4×. A mesma proporção se aplica ao tempo de revisão somente se a alternativa revisar cada vídeo fonte na íntegra, o tempo de revisão escalar linearmente com a duração, e percorrer 8.849 clipes separados não carregar nenhuma sobrecarga por clipe.
3.2 A regra de correspondência e o que seu enrijecimento faz
Para cada momento candidato retido, verificamos o título, a descrição e as tags do vídeo, os principais campos de metadados disponíveis nesta auditoria.
Um momento é considerado nomeado se qualquer palavra do nome da ação com mais de dois caracteres aparecer como uma substring sem distinção de maiúsculas/minúsculas, portanto “change” sozinho marca change_tire_wrench e “car” é encontrado dentro de “carpet”. Essa é a regra mais permissiva que poderíamos ter escolhido, o que torna o título um limite mínimo. Enrijecê-la e o número sobe:
Cada regra mais rigorosa do que a publicada move o número para cima, o que torna 90,8% um limite mínimo em vez de um melhor caso: 395 dos 992 momentos que a regra publicada conta como nomeados devem isso a um fragmento dentro de uma palavra mais longa. Cada valor é medido, quatro passagens reais sobre o corpus (supply_gap.py _variants()).
3.3 Grande parte tem título em outro idioma
Lemos o idioma do título para cada um dos 10.828 momentos correspondidos, portanto este é o corpus completo em vez de uma amostra. Deles, 4.863 (~45%) estão em um vídeo com título em um dos 77 idiomas não ingleses identificados, mais um título que o modelo não conseguiu identificar. As mesmas descrições de ações em inglês retornaram 423 momentos de vídeos com títulos em hindi e 509 de vídeos com títulos em português. Nenhum campo geográfico foi coletado, portanto isso não diz nada sobre onde os vídeos foram feitos.
Idioma do título de cada momento correspondido, em todos os 79 idiomas encontrados.
Essa mistura é a razão pela qual dividimos o corpus em direção ao inglês antes de confiar no número principal. Restringindo aos títulos que sabemos estar em inglês, o número se move alguns pontos e a maior parte permanece, portanto parte da lacuna é uma incompatibilidade de idioma e o restante é uma falha de descrição que persiste após a remoção da incompatibilidade:
Os mesmos números como tabela
| Fatia | Não nomeado em lugar nenhum | n |
|---|---|---|
| todos os momentos | 90,8% | 10.828 |
| títulos em ASCII puro | 87,6% | 5.560 |
| títulos em inglês confirmados pelo modelo | 85,8% | 5.965 |
| áudio em inglês confirmado | 95,0% | 317 (poucos para se apoiar) |
3.4 Por ação
Ordenado pela proporção sem nenhum termo de ação literal nos metadados disponíveis. 17 ações não têm nenhum momento retido cujos metadados nomeiem a ação alvo. Em todas as 141 ações com pelo menos 8 momentos verificados, a proporção vai de 50,0% a 100,0%, mediana de 94,1%. As 12 menos ocultas:
Números em formato de tabela
| Ação | Domínio | Encontrado | Diz no texto | Não nomeado em lugar nenhum |
|---|---|---|---|---|
wash_car |
Automotivo | 72 | 36 | 50,0% |
wash_car_panel |
Automotivo | 78 | 36 | 53,8% |
car_door_open |
Automotivo | 92 | 38 | 58,7% |
car_door_close |
Automotivo | 91 | 36 | 60,4% |
car_door |
Automotivo | 93 | 36 | 61,3% |
pack_box |
Industrial | 73 | 28 | 61,6% |
grinder_use |
Industrial | 69 | 23 | 66,7% |
hand_saw_cut |
Industrial | 77 | 25 | 67,5% |
jack_up_car |
Automotivo | 78 | 24 | 69,2% |
tape_box |
Industrial | 75 | 23 | 69,3% |
sit_stand |
Corpo inteiro | 28 | 8 | 71,4% |
impact_driver |
Industrial | 70 | 19 | 72,9% |
Todas as 141 ações · encontrado / diz-assim / não-nomeado, mais a extrapolação em todo o índice por ação
| Ação | Domínio | Encontrado | Diz assim | Não nomeado em lugar nenhum | Est. momentos em todo o índice | Taxa utilizável | Base da taxa |
|---|---|---|---|---|---|---|---|
climb_ladder |
Corpo inteiro | 93 | 0 | 100,0% | 188.790 | 26,1% | ação |
crane_hook |
Industrial | 84 | 0 | 100,0% | 170.436 | 9,5% | ação |
flip |
Mesa (DROID) | 87 | 0 | 100,0% | 176.523 | 26,7% | ação |
lift |
Mesa (DROID) | 89 | 0 | 100,0% | 180.581 | 24,7% | ação |
load_cart |
Industrial | 82 | 0 | 100,0% | 166.460 | 9,8% | ação |
pick_up |
Mesa (DROID) | 72 | 0 | 100,0% | 146.088 | 47,9% | ação |
push |
Mesa (DROID) | 91 | 0 | 100,0% | 184.639 | 23,3% | ação |
push_heavy_cart |
Corpo inteiro | 70 | 0 | 100,0% | 142.100 | 24,3% | ação |
push_trolley |
Industrial | 65 | 0 | 100,0% | 131.950 | 20,0% | ação |
refuel |
Automotivo | 91 | 0 | 100,0% | 184.639 | 26,4% | ação |
refuel_nozzle |
Automotivo | 88 | 0 | 100,0% | 178.552 | 27,6% | ação |
seatbelt_buckle |
Automotivo | 87 | 0 | 100,0% | 176.523 | 29,9% | ação |
slide |
Mesa (DROID) | 82 | 0 | 100,0% | 166.378 | 32,1% | ação |
sort_parcel |
Industrial | 82 | 0 | 100,0% | 166.460 | 37,8% | ação |
stack |
Mesa (DROID) | 65 | 0 | 100,0% | 136.958 | 21,9% | ação |
unfold |
Mesa (DROID) | 79 | 0 | 100,0% | 160.291 | 57,0% | ação |
ziptie_bundle |
Industrial | 82 | 0 | 100,0% | 166.460 | 48,8% | ação |
carry_upstairs |
Corpo inteiro | 87 | 1 | 98,9% | 176.610 | 25,6% | ação |
hang |
Mesa (DROID) | 92 | 1 | 98,9% | 181.596 | 12,1% | ação |
pull |
Mesa (DROID) | 87 | 1 | 98,9% | 176.523 | 18,4% | ação |
pull_trolley |
Corpo inteiro | 92 | 1 | 98,9% | 186.760 | 22,8% | ação |
close |
Mesa (DROID) | 83 | 1 | 98,8% | 168.407 | 41,5% | ação |
emergency_stop |
Industrial | 85 | 1 | 98,8% | 172.465 | 22,6% | ação |
handbrake_pull |
Automotivo | 82 | 1 | 98,8% | 166.378 | 31,7% | ação |
place |
Mesa (DROID) | 84 | 1 | 98,8% | 170.436 | 39,3% | ação |
remove |
Mesa (DROID) | 86 | 1 | 98,8% | 174.494 | 48,8% | ação |
turn_on |
Mesa (DROID) | 85 | 1 | 98,8% | 172.465 | 29,4% | ação |
count_stock |
Industrial | 76 | 1 | 98,7% | 154.280 | 32,4% | ação |
reach_overhead |
Corpo inteiro | 79 | 1 | 98,7% | 160.370 | 46,8% | ação |
wipe |
Mesa (DROID) | 77 | 1 | 98,7% | 180.581 | 28,0% | ação |
crouch_down |
Corpo inteiro | 65 | 1 | 98,5% | 131.950 | 34,9% | ação |
seat_chip |
Industrial | 65 | 1 | 98,5% | 131.950 | 46,9% | ação |
plaster_wall |
Construção | 88 | 2 | 97,7% | 178.552 | 25,3% | ação |
plug_in |
Doméstico | 87 | 2 | 97,7% | 176.523 | 36,5% | ação |
turn |
Mesa (DROID) | 86 | 2 | 97,7% | 174.494 | 27,9% | ação |
unplug_cable |
Industrial | 88 | 2 | 97,7% | 178.640 | 42,5% | ação |
label_parcel |
Industrial | 85 | 2 | 97,6% | 172.550 | 45,9% | ação |
move |
Mesa (DROID) | 82 | 2 | 97,6% | 166.378 | 34,2% | ação |
press |
Mesa (DROID) | 83 | 2 | 97,6% | 168.407 | 42,2% | ação |
spirit_level |
Industrial | 83 | 2 | 97,6% | 168.407 | 12,5% | ação |
conveyor_pick |
Industrial | 79 | 2 | 97,5% | 160.291 | 35,4% | ação |
grout_joint |
Construção | 81 | 2 | 97,5% | 164.349 | 28,4% | ação |
open_hood |
Automotivo | 80 | 2 | 97,5% | 162.320 | 53,8% | ação |
trowel_mortar |
Construção | 79 | 2 | 97,5% | 160.291 | 28,2% | ação |
balance_load |
Corpo inteiro | 77 | 2 | 97,4% | 156.310 | 21,1% | ação |
shovel_load |
Externo | 74 | 2 | 97,3% | 150.220 | 31,5% | ação |
scan_barcode |
Industrial | 71 | 2 | 97,2% | 144.059 | 27,1% | ação |
desolder_remove |
Industrial | 63 | 2 | 96,8% | 127.890 | 51,6% | ação |
pull_wire |
Construção | 61 | 2 | 96,7% | 123.769 | 30,0% | ação |
take |
Mesa (DROID) | 90 | 3 | 96,7% | 182.610 | 37,8% | ação |
forklift_controls |
Industrial | 59 | 2 | 96,6% | 119.711 | 27,1% | ação |
open_gate |
Corpo inteiro | 88 | 3 | 96,6% | 178.640 | 21,6% | ação |
pour |
Mesa (DROID) | 89 | 3 | 96,6% | 183.624 | 56,2% | ação |
plug_in_socket |
Industrial | 85 | 3 | 96,5% | 172.550 | 36,5% | ação |
shrink_wrap |
Industrial | 81 | 3 | 96,3% | 164.430 | 22,5% | ação |
wipe_windshield |
Automotivo | 82 | 3 | 96,3% | 166.378 | 34,6% | ação |
control_dial |
Industrial | 72 | 3 | 95,8% | 146.088 | 31,9% | ação |
steering |
Automotivo | 72 | 3 | 95,8% | 146.088 | 59,7% | ação |
open_carton |
Industrial | 69 | 3 | 95,7% | 140.070 | 31,9% | ação |
put |
Mesa (DROID) | 91 | 4 | 95,6% | 184.639 | 41,8% | ação |
plant_seed |
Externo | 67 | 3 | 95,5% | 136.010 | 28,8% | ação |
steering_turn |
Automotivo | 43 | 2 | 95,3% | 87.247 | 60,5% | ação |
pipe_fitting |
Industrial | 83 | 4 | 95,2% | 168.407 | 44,6% | ação |
open |
Mesa (DROID) | 79 | 4 | 94,9% | 173.987 | 44,2% | ação |
dig_soil |
Externo | 76 | 4 | 94,7% | 154.280 | 44,6% | ação |
sweep |
Doméstico | 75 | 4 | 94,7% | 152.175 | 29,3% | ação |
route_cable |
Industrial | 74 | 4 | 94,6% | 150.220 | 43,8% | ação |
gear_shift |
Automotivo | 73 | 4 | 94,5% | 148.117 | 37,0% | ação |
stack_pallet |
Industrial | 70 | 4 | 94,3% | 142.100 | 12,9% | ação |
thermal_paste |
Industrial | 69 | 4 | 94,2% | 140.070 | 19,1% | ação |
ev_charge_plug |
Automotivo | 85 | 5 | 94,1% | 172.465 | 26,2% | ação |
carry_box |
Doméstico | 84 | 5 | 94,0% | 170.436 | 25,0% | ação |
open_trunk |
Automotivo | 84 | 5 | 94,0% | 170.436 | 28,6% | ação |
socket_ratchet |
Industrial | 82 | 5 | 93,9% | 166.378 | 31,7% | ação |
top_up_fluid |
Automotivo | 82 | 5 | 93,9% | 166.378 | 37,0% | ação |
press_machine_button |
Industrial | 79 | 5 | 93,7% | 160.291 | 31,6% | ação |
valve_turn |
Industrial | 79 | 5 | 93,7% | 160.291 | 19,0% | ação |
insert_usb |
Industrial | 78 | 5 | 93,6% | 158.340 | 46,0% | ação |
caulk_gun |
Industrial | 86 | 6 | 93,0% | 174.494 | 34,1% | ação |
adjust_mirror |
Automotivo | 85 | 6 | 92,9% | 172.465 | 20,0% | ação |
sand_surface |
Industrial | 85 | 6 | 92,9% | 172.465 | 55,3% | ação |
cut_pipe |
Construção | 68 | 5 | 92,6% | 137.972 | 41,8% | ação |
machine_unload |
Industrial | 68 | 5 | 92,6% | 137.972 | 30,9% | ação |
unload_truck |
Industrial | 68 | 5 | 92,6% | 138.040 | 35,3% | ação |
machine_lever |
Industrial | 80 | 6 | 92,5% | 162.320 | 21,2% | ação |
assemble_snap_fit |
Industrial | 77 | 6 | 92,2% | 156.310 | 51,3% | ação |
measure_tape |
Industrial | 76 | 6 | 92,1% | 154.204 | 42,1% | ação |
chisel_carve |
Industrial | 49 | 4 | 91,8% | 99.421 | 42,9% | ação |
wrench_bolt |
Industrial | 85 | 7 | 91,8% | 172.465 | 34,1% | ação |
hammer_nail |
Industrial | 84 | 7 | 91,7% | 170.436 | 20,2% | ação |
solder_pipe |
Construção | 70 | 6 | 91,4% | 142.030 | 37,1% | ação |
step_over |
Corpo inteiro | 70 | 6 | 91,4% | 142.100 | 28,6% | ação |
gauge_read |
Industrial | 78 | 7 | 91,0% | 158.262 | 35,9% | ação |
fold |
Mesa (DROID) | 77 | 7 | 90,9% | 158.769 | 57,1% | ação |
tile_place |
Construção | 83 | 8 | 90,4% | 168.407 | 30,1% | ação |
solder |
Industrial | 55 | 6 | 89,1% | 111.595 | 45,5% | ação |
screwdriver |
Industrial | 72 | 8 | 88,9% | 146.088 | 43,1% | ação |
bend_lift |
Corpo inteiro | 62 | 7 | 88,7% | 125.860 | 32,3% | ação |
power_drill_hole |
Industrial | 70 | 8 | 88,6% | 142.030 | 40,9% | ação |
solder_joint |
Industrial | 61 | 7 | 88,5% | 123.830 | 55,7% | ação |
mix_cement |
Construção | 68 | 8 | 88,2% | 137.972 | 43,3% | ação |
nail_gun |
Construção | 68 | 8 | 88,2% | 137.972 | 29,8% | ação |
drywall_screw |
Construção | 72 | 9 | 87,5% | 146.088 | 28,2% | ação |
lay_brick |
Construção | 80 | 10 | 87,5% | 162.320 | 27,5% | ação |
clamp_workpiece |
Industrial | 62 | 8 | 87,1% | 125.798 | 35,5% | ação |
machine_load |
Industrial | 62 | 8 | 87,1% | 125.798 | 19,4% | ação |
cut_vegetable |
Doméstico | 83 | 11 | 86,7% | 168.407 | 42,2% | ação |
torque_wrench |
Industrial | 83 | 11 | 86,7% | 168.407 | 31,3% | ação |
cut_knife |
Doméstico | 73 | 10 | 86,3% | 148.117 | 34,2% | ação |
tire_pressure |
Automotivo | 73 | 10 | 86,3% | 148.117 | 47,9% | ação |
weld_seam |
Industrial | 87 | 12 | 86,2% | 176.523 | 31,4% | ação |
pliers_grip |
Industrial | 72 | 10 | 86,1% | 146.088 | 50,7% | ação |
paint_brush |
Construção | 90 | 13 | 85,6% | 182.610 | 22,2% | ação |
wire_cut |
Industrial | 76 | 11 | 85,5% | 154.204 | 34,2% | ação |
paint_roller |
Construção | 79 | 13 | 83,5% | 160.291 | 15,2% | ação |
breadboard_wire |
Industrial | 65 | 11 | 83,1% | 131.950 | 44,6% | ação |
change_tire |
Automotivo | 69 | 12 | 82,6% | 140.001 | 50,0% | ação |
kneel_work |
Corpo inteiro | 55 | 10 | 81,8% | 111.650 | 45,5% | ação |
change_tire_wrench |
Automotivo | 71 | 13 | 81,7% | 144.059 | 46,4% | ação |
assemble_part |
Industrial | 70 | 13 | 81,4% | 142.030 | 64,3% | ação |
check_oil_dipstick |
Automotivo | 80 | 15 | 81,2% | 162.320 | 43,8% | ação |
screw_panel |
Industrial | 81 | 16 | 80,2% | 164.430 | 37,5% | ação |
lathe_operate |
Industrial | 51 | 11 | 78,4% | 103.479 | 31,4% | ação |
engine_bay |
Automotivo | 77 | 17 | 77,9% | 156.233 | 56,6% | ação |
probe_test |
Industrial | 63 | 14 | 77,8% | 127.890 | 54,8% | ação |
machine_control |
Industrial | 78 | 18 | 76,9% | 158.262 | 36,4% | ação |
screwdriver_drive |
Industrial | 78 | 20 | 74,4% | 158.262 | 39,5% | ação |
weld |
Industrial | 86 | 22 | 74,4% | 174.494 | 31,4% | ação |
power_drill |
Industrial | 70 | 18 | 74,3% | 142.030 | 48,6% | ação |
impact_driver |
Industrial | 70 | 19 | 72,9% | 142.030 | 35,3% | ação |
sit_stand |
Corpo inteiro | 28 | 8 | 71,4% | 56.840 | 35,7% | ação |
tape_box |
Industrial | 75 | 23 | 69,3% | 152.250 | 26,4% | ação |
jack_up_car |
Automotivo | 78 | 24 | 69,2% | 158.262 | 27,3% | ação |
hand_saw_cut |
Industrial | 77 | 25 | 67,5% | 156.233 | 32,9% | ação |
grinder_use |
Industrial | 69 | 23 | 66,7% | 140.001 | 42,6% | ação |
pack_box |
Industrial | 73 | 28 | 61,6% | 148.117 | 50,0% | ação |
car_door |
Automotivo | 93 | 36 | 61,3% | 188.697 | 20,4% | ação |
car_door_close |
Automotivo | 91 | 36 | 60,4% | 184.639 | 26,4% | ação |
car_door_open |
Automotivo | 92 | 38 | 58,7% | 186.668 | 22,8% | ação |
wash_car_panel |
Automotivo | 78 | 36 | 53,8% | 158.262 | 41,6% | ação |
wash_car |
Automotivo | 72 | 36 | 50,0% | 146.088 | 45,1% | ação |
Findability por ação. “Diz assim” conta os momentos cujo próprio título, descrição ou tags carregam alguma palavra do nome da ação sob a regra de substring publicada. As colunas de extrapolação multiplicam o rendimento por fragmento medido de cada ação pela contagem de fragmentos do índice e dividem pela sobreposição entre ações medida; “base da taxa” indica se a taxa utilizável foi medida nos próprios frames daquela ação, herdada de seu domínio ou herdada da taxa de todo o corpus.
3.5 Obtendo os frames
Para verificar se a recuperação estava correta, extraímos um frame real de cada vídeo correspondido e o analisamos. O que o YouTube expõe sem extrair o vídeo é o storyboard, uma folha de sprites de miniaturas cujo intervalo de amostragem aumenta com o tempo de execução: medimos 1 s em vídeos de até 109 s, 2 s de 175 s a 275 s, 5 s de 454 s a 892 s e 10 s a partir de 1.366 s. Os limites de etapa entre essas faixas não foram resolvidos pelos 12 vídeos que sondamos. A imagem que avaliamos é a amostra mais próxima no ou antes do segundo correspondido, portanto pode ser até um intervalo antes, 10 s no pior caso e 5 s ou 10 s para pouco mais da metade dos frames. Medido por storyboard_probe.py; as especificações por vídeo estão em data/storyboard_spec.json.
Um modelo de visão avaliou todos os 10.750 de 10.828 frames obtidos, portanto cada taxa aqui é medida em 99,3% do corpus em vez de uma amostra. 93,8% são filmagens reais em vez de animação, jogo ou gravação de tela; 25,7% capturaram a ação visivelmente em andamento e 57,4% mostraram-na em andamento ou configurada; 34,5% pontuaram 3 ou mais em uma escala de usabilidade de 0 a 5. Esse último número é um julgamento sobre um processo de treinamento downstream que o modelo não pode observar, e se comporta como tal: em uma amostra de 60 frames, quatro execuções da configuração idêntica abrangeram 3,4 pontos, e reformular o critério o moveu 20. A proporção de ação visível se moveu 1,7 nessa mesma mudança de critério, o que a torna o número a comparar entre execuções.
Aquisição de frames:
Números em formato de tabela
| Resultado | Momentos | Proporção |
|---|---|---|
| Frames obtidos | 10.750 / 10.828 | 99% |
| Nenhum storyboard analisável | 75 | 0,7% |
| Falha na busca de sprite | 3 | 0,03% |
Aquisição de frames. Buscamos storyboards diretamente e encontramos limitação de taxa em 863 dos 10.828 momentos, 856 dos quais uma passagem posterior recuperou, portanto nenhum dos 78 momentos perdidos terminou em um 429; a Media Data API é a rota suportada para esta etapa e retorna storyboards diretamente. Esta auditoria não fez nenhuma chamada a ela. Esses momentos estão em 7.549 vídeos, e um vídeo custa uma busca de página de visualização mais pelo menos uma folha de sprites, armazenada em cache por vídeo.
4 Os momentos, reproduzíveis
Correspondências mostradas contra o frame de storyboard mais próximo no ou antes do segundo em que foram correspondidas. O ranking não é curado. 10.750 dos 10.828 momentos têm um frame próprio, e a galeria completa tem 10.761 linhas porque 11 a mais compartilham uma imagem com outra ação correspondida no mesmo segundo. Essas linhas repousam em 8.792 imagens distintas, porque o nome do arquivo nomeia um vídeo e um segundo em vez de uma ação.
Abaixo estão os momentos correspondidos com maior pontuação, um por ação, direto do ranking. Clique em qualquer frame para reproduzir o vídeo fonte no segundo correspondido.
Cada célula: a ação para a qual foi correspondida e sua pontuação de relevância, depois o que o modelo de visão viu no frame (mostrado a imagem sem o título), depois o próprio título do vídeo em inglês. Os timestamps abrem dois segundos antes para que o momento entre em cena.
5 Trabalhos relacionados
Recuperar um momento por descrição é uma tarefa estabelecida: ancoragem temporal em Charades-STA, detecção de destaques em QVHighlights, consultas em linguagem natural em Ego4D. Não introduzimos nenhum método novo aqui.
O construto tem precedente. TVR (2020) rotulou suas 108.965 consultas por se vídeo, legendas ou ambos as respondiam, relatando 74,2% somente vídeo. O que difere é o corpus e o propósito: vídeo aberto da web em vez de seis programas de TV, ações físicas, uma subamostra verificada e uma razão de custo. O formato de lançamento segue AVA e HowTo100M: identificador, timestamp e rótulo, sem redistribuição de vídeo. A recuperação em todo o texto é feita pela Video Search API. Os frames aqui foram obtidos analisando o storyboard do YouTube na página de visualização; nenhum clipe foi extraído em nenhum momento. Para uma execução de produção, a rota suportada é a Media Data API.
O que a auditoria estabelece é mais restrito do que uma substituição para demonstrações de robôs. A web contém uma camada grande e mal indexada de imagens de ações físicas, e a pesquisa visual com timestamps torna essa camada consideravelmente mais fácil de alcançar. Se as imagens curadas dessa forma melhoram mensuravelmente um sistema de robótica ou modelo de mundo é a próxima questão, e respondê-la requer um experimento de treinamento que esta auditoria não realizou.
6 Citação
@misc{webmoments2026,
title = {Finding the Web's Hidden Robot Training Moments in
Public Web Video Data},
author = {Bright Data},
year = {2026},
howpublished = {Technical report},
note = {141 physical actions, 10,828 retrieved match rows over
8,849 distinct video-second moments, and
10,750 frames reviewed by a vision model}
}






















