-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhistory
70 lines (70 loc) · 9.54 KB
/
history
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
13/02/14 16:14:36 criei esse histórico
13/02/14 16:14:43 o arquivo surf_opencv2.4.8.cpp contém o surf original do opencv
13/02/14 16:15:35 o próximo passo foi criar o arquivo foveatedHessianDetector.h, com uma parte do surf_opencv2.4.8.cpp
13/02/14 16:16:24 um arquivo chamado test.cpp também foi criado para fazer testes básicos com o foveated hessian detc
13/02/14 16:24:37 fiz um grep -R SURF *.cpp em opencv-2.4.8/samples/cpp e encontrei o generic_descriptor_match.cpp
13/02/14 16:25:16 vou utilizar esse arquivo para servir de base para o test.cpp
13/02/14 17:01:35 o test.cpp deve ser modificado para utilizar seus próprios keypoints (usando foveatedHessianDetector)
======================================================================================
02/03/14 23:10:35 o test.cpp foi modificado e totalmente substituido por opencv-2.4.8/samples/cpp/matcher_simple.cpp
======================================================================================
03/03/14 00:12:02 foveatedHessianDetector.h: FoveatedHessianDetectorParams movido para o início do arquivo
03/03/14 00:12:44 foveatedHessianDetector.h: renomeado fastHessianDetector para fastFoveatedHessianDetector
03/03/14 00:13:15 foveatedHessianDetector.h: retirado os parâmetros de fastFoveatedHessianDetector: masksum, nOctaves, nOctaveLayers, hessianThreshold
03/03/14 00:13:57 foveatedHessianDetector.h: acrescentado o parâmetro em fastFoveatedHessianDetector: FoveatedHessianDetectorParams (que contém nOctaves, etc)
03/03/14 00:17:24 foveatedHessianDetector.h: fastFoveatedHessianDetector: acrescentado variáveis locais para resgatar valores de FoveatedHessianDetectorParams params
03/03/14 13:00:26 foveatedHessianDetector.h: voltando com o masksum - feito
======================================================================================
04/03/14 04:23:39 foveatedHessianDetector.h: acrescentado parâmetros de foveamento em FoveatedHessianDetectorParams
04/03/14 05:55:52 foveatedHessianDetector.h: acrescentado construtor FoveatedHessianDetectorParams para receber de arquivo yml + tamanho da imagem
04/03/14 05:56:26 foveatedHessianDetector.h: criado o arquivo fovea1.yml como exemplo
04/03/14 11:22:00 foveatedHessianDetector.h: criada a função init em FoveatedHessianDetectorParams, já que não há delegação de construtores
04/03/14 11:25:51 foveatedHessianDetector.h: passando FoveatedHessianDetectorParams para SURFBuildInvoker, que é um procedimento paralelizável que chama calcLayerDetAndTrace
04/03/14 12:54:20 copiado o arquivo foveatedSurf.h que estava no projeto das caixas de remédio, que parece estar mais próximo da implementação da versão 2.4.8 do opencv
04/03/14 12:57:30 foveatedHessianDetector.h: laço entre o número de oitavas substituído pelo número de níveis do modelo de foveamento
04/03/14 13:07:51 foveatedHessianDetector.h: acrescentado o vetor level em FoveatedHessianDetectorParams
04/03/14 19:46:07 foveatedHessianDetector.h: fastFoveatedHessianDetector: valores de nTotalLayers e nMiddleLayers atualizados
04/03/14 19:46:49 foveatedHessianDetector.h: fastFoveatedHessianDetector: acrescentado o vetor margin e seus valores inicializados. Lembrando que margin é o tamanho do maior filtro hessiano para aquele nível de foveamento (a variável m no algoritmo 5 (página 52) da tese de Rafael)
04/03/14 19:55:45 foveatedHessianDetector.h: fastFoveatedHessianDetector: acrescentado o vetor foveaLevel e seus valores inicializados
04/03/14 20:04:38 vale uma observação importante: a oitava na frequência original é 0 ou 1? Vou assumir como está na tese, isso é, oitavas começam em 1
04/03/14 20:47:51 valores de margin e sizes impressos na saída padrão, conferi e os resultados estão condizentes
04/03/14 21:17:19 foveatedHessianDetector.h: acrescentado em SURFBuildInvoker os parâmetros também de margin e foveaLevel, assim como os atributos locais dessa classe. A chamada de SURFBuildInvoker também foi alterada para incluir os respectivos argumentos
04/03/14 21:27:39 foveatedHessianDetector.h: tanto margin como foveaLevel são repassados de SURFBuildInvoker para calcLayerDetAndTrace. Para isso, a assinatura dessa última função foi reescrita
04/03/14 21:30:56 foveatedHessianDetector.h: em calcLayerDetAndTrace, como já há uma variável chamada margin, o parâmetro foi renomeado para marginH
04/03/14 22:15:05 importante: as matrizes dets e trace são redimensionadas, alterações serão feitas para que elas não seja redimensionadas
04/03/14 22:20:08 foveatedHessianDetector.h: acrescentado o growth factor (antigo foveafactor)
04/03/14 22:37:20 foveatedHessianDetector.h: fastFoveatedHessianDetector: dets e traces são criados com o mesmo tamanho da imagem original
04/03/14 22:54:38 observei agora que no código antigo (caixa dos remédios), os valores obtidos em amostras espaçadas na imagem original são armazenadas de forma contígua em dets e trace. TODO: refletir se é possível com isso reduzir o tamanho alocado. Como é apenas um consumo maior de memória, vou deixar para depois.
04/03/14 23:07:57 foveatedHessianDetector.h: atualizado ux e uy em FoveatedHessianDetectorParams (e os argumentos em test.cpp)
04/03/14 23:09:01 não sei se as alterações no SURFBuildInvoker estão ok, passarei agora para o SURFFindInvoker
======================================================================================
04/03/14 23:17:00 foveatedHessianDetector.h: alterando para incluir FoveatedHessianDetectorParams, margin e foveaLevel como parâmetros em SURFFindInvoker, o que inclui também a adição desses atributos em SURFFindInvoker
04/03/14 23:21:07 alguns parâmetros em findMaximaInLayer talvez não façam sentido da forma como estou implementando, são eles: octave e layer. Octave figura como sexto argumento no construtor do Keypoint.
04/03/14 23:55:49 foveatedHessianDetector.h: SURFFindInvoker: valor da variável octave alterar para corresponder ao valor eta estabelecido no modelo de foveamento
04/03/14 23:59:38 é necessário entender algumas variáveis da função findMaximaInLayer
05/03/14 00:01:03 uma primeira alteração já pode ser feita nos dois laços internos em findMaximaInLayer para determinar se o ponto passa do threshold ou não
05/03/14 00:07:34 foveatedHessianDetector.h: findMaximaInLayer: como os dois laços agora simulam os passos de amostragem na imagem original, não precisa-se mais recuperar a referência original (sum_i, sum_j) a partir de (i, j)
05/03/14 00:35:53 foveatedHessianDetector.h: findMaximaInLayer: internamente a esses dois laços, nenhuma mudança
05/03/14 00:36:40 foveatedHessianDetector.h: acrescentado valores iniciais para fx, fy, growthfactor, que não inicializavam em 0
05/03/14 00:37:41 foveatedHessianDetector.h: agora o vetor beta realmente faz com que os níveis sejam ignorados ou não
05/03/14 00:46:14 testes realizados e aparentemente está tudo ok, agora é necessária a realização de testes
======================================================================================
05/03/14 14:20:23 foveatedHessianDetector.h: o vetor beta não estava corretamente ignorando os níveis, pois o teste era params.beta[i] ou params.beta[layer], mas isso não indicava se aquela camada daquele nível (cada nível tem várias camadas, isto é, nOctaveLayers) deveria ser ou não ignorada. Para corrigir isso, o foveaLevel de cada camada recebe -1 caso deva ser ignorado.
05/03/14 14:58:24 passando agora todo cálculo de foveamento para linearFoveation.h
05/03/14 15:16:49 acrescentado o método fixFovea que corrigi a posição da fóvea para dentro dos limites do domínio da imagem
05/03/14 15:20:13 o atributo nOctaves foi eliminado, pois essa informação está implícita no vetor eta
======================================================================================
14/03/14 21:38:10 apaguei o test.cpp que será o match.cpp (apenas para casar features entre duas imagens) e o extract.cpp (extrai features de uma imagem e possui comandos via teclado para alterar os parâmetros de foveamento)
14/03/14 21:39:20 foveatedHessianDetector.h: sempre que a extração foveada for aplicada, uma checagem dos parâmetros de foveamento é realizada
14/03/14 21:40:04 foveatedHessianDetector.h: acrescentada a função drawFoveatedLevels(InputArray _img, FoveatedHessianDetectorParams params) que desenha em img os contornos do modelo de foveamento
14/03/14 21:41:00 linearFoveation.h: fixFovea agora leva em conta o growth factor
14/03/14 21:41:27 linearFoveation.h: acrescentado o método setFovea(int imgX, int imgY), isto é, as coordenadas da fóvea no sistema de referências da imagem original
14/03/14 22:10:59 linearFoveation.h: growthfactor foi separado em dois componentes: x e y, alterações consequêntes em foveatedHessianDetector.h e extract.cpp
======================================================================================
17/03/14 09:42:32 extract.cpp: acrescentados controles para alterar parâmetros da fóvea
======================================================================================
13/04/14 22:12:32 consertado o bug relatado por Renato Gardiman. O problema era que sum_ptr iniciava em (sum_i, 0) e não (sum_i, sum_j) que é a posição correta com o foveamento
======================================================================================
24/05/14 20:10:02 os parâmetros growthfactor_x, growthfactor_y serão retirados. Para obter o mesmo efeito, aumenta-se o nível da fóvea (wx, wy)
26/05/14 20:26:11 adicionado o arquivo foveatedTracking.h com funcionalidade básica para realização de tracking (se o objeto não for detectado, a fóvea é desabilitada até detectar novamente)
26/05/14 20:27:24 adicionado o arquivo tracking.cpp para teste do tracking foveado