Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
d6d599a
Predběžný nástřel na přenesení ComplexMat do třídy Model
oraveja1 Nov 30, 2019
6052c1f
Most transfered functions edited to work, but needs testing yet
oraveja1 Nov 30, 2019
a3bef62
Added identification of some functions in header
oraveja1 Dec 1, 2019
6c0868d
- Funkce které byly původně přesunuty z ComplexMat do KCF_Tracker::Model
Dec 2, 2019
a4935ee
- Odstraněny warning které se objevovaly při žádosti o pull request
Dec 2, 2019
6774891
- Odstraněna funkce get_p_data()
Dec 2, 2019
7c6f8db
- Nástřel na definici sqr_norm
Dec 2, 2019
4cdc769
test
oraveja1 Dec 2, 2019
fe39e3c
Added probably final definiton for set_channel()
oraveja1 Dec 3, 2019
453953d
Added assert to set_channel
oraveja1 Dec 3, 2019
d91f2be
Přidáno upravené volání fft.forward() při inicializaci trackeru.
Dec 10, 2019
7d648aa
Změna typu attributů patch_feats a temp ve třídách Model a ThreadCtx
Dec 16, 2019
0ce85cd
Drobné změny ve funkci forward_window
Dec 16, 2019
71b7a1c
Opravena drobná chyba ve výpisu debug.
Dec 22, 2019
d0112f6
Opravena drobná chyba ve výpisu debug.
Dec 22, 2019
e68a1ba
Změna souborů cvmat_func.h
Dec 22, 2019
7515378
Delete cvmat_func.h
oraveja1 Dec 22, 2019
e73339d
Delete cvmat_func.cpp
oraveja1 Dec 22, 2019
82de1e4
Náhradní implementace pro ComplexMat ve funkci KCF_Tracker::train.
Dec 22, 2019
00bf574
Přidán init proměnné Model::model_xf_Test ve funkci KCF_Tracker::train
Dec 22, 2019
b04208d
Přidána funkce MatUtil::conj() pro aplikaci na cv::Mat
Dec 23, 2019
050b77d
Přidána funkce MatUtil::mul() pro aplikaci na cv::Mat
Dec 23, 2019
e5ab93a
Oprava typu argumentu v MatUtil funkcích
Dec 23, 2019
4648f5d
KCF_tracker::train -> Dokončena alternativní implementace pro přepína…
Dec 23, 2019
045e660
Přidána funkce MatUtil::add_scalar
Dec 23, 2019
e1a1d8d
Přidána funkce MatUtil::add_scalar
Dec 27, 2019
0076543
Přidána konverze atributů třídy GaussianCorrelation
Dec 28, 2019
44dc036
Přidána přepracovaná verze funkce sqr_norm() do MatUtil
Dec 28, 2019
d047bf8
Přidána přepracovaná verze funkce sqr_mag() do MatUtil
Dec 28, 2019
a5ac361
Přidána přepracovaná verze funkce sum_over_channels() do MatUtil
Dec 28, 2019
dcf1005
Přidána funkce plane3() do MatUtil
Dec 28, 2019
fa2324b
Přidána funkce plane3() do MatUtil (Oprava)
Dec 28, 2019
9f1d159
plane3() prejmenovana na plane() v MatUtil
Dec 29, 2019
1a2a3a9
Přidána funkce channel_to_cv_mat() do MatUtil
Dec 29, 2019
1ad86b0
Implementována alternativní verze fft::inverse()
Dec 29, 2019
5d45612
Dokončeny úpravy na alternativní verz GaussianCorrelation::operator()
Dec 29, 2019
cc5ebae
Opravena chyba sqr_norm()
Dec 29, 2019
1fdc34c
Opravena chyba sum_over_channels()
Dec 29, 2019
b503664
Opravena chyba GaussianCorrelation::operator()
Dec 29, 2019
058ceea
Opravena chyba referencí v MatUtil
Dec 30, 2019
890dfb7
Doladěna úprava pro přepínač m_use_linearkernel ve funkci train()
Dec 30, 2019
a229062
Přidána funkce divide_matn_matn() pro dělení mezi maticemi do MatUtil
Dec 30, 2019
372f505
Doladěna funkce train()
Dec 30, 2019
26220e7
Vyřešena chyba sqr_norm()
Jan 2, 2020
20185ce
Přidány placeholdery pro fft_fftw metody
Jan 2, 2020
a0aae9f
Přidány placeholdery pro fft_cufft metody
Jan 2, 2020
cf8acaa
Implementovány fft funkce pro fft_fftw.cpp
Jan 2, 2020
a0a7979
Opraven popisek funkce sum_over_channels
Jan 2, 2020
fcf578d
Opraven popisek funkce sqr_norm
Jan 2, 2020
0d50e87
Opravena implementace fft_fftw.cpp pro přepínač BIG_BATCH
Jan 2, 2020
7582baf
Opravena implementace fft_fftw.cpp (syntax)
Jan 2, 2020
ec4ce2f
Opravena implementace fft_fftw.cpp (proměnná)
Jan 2, 2020
c0fe2b2
Přidány komentáře k funkcím MatUtil
Jan 6, 2020
01cd7e8
Delete matutil.cpp
oraveja1 Jan 6, 2020
194df55
Upravena a otestována první část ThreadCtx::track()
Jan 7, 2020
a0cd4fa
Merge origin/master
Jan 7, 2020
7dbcceb
Upravena a otestována druhá část ThreadCtx::track()
Jan 7, 2020
059491e
ThreadCtx::track() je kompletně upravena a otestována
Jan 7, 2020
f7b63db
Proměnná ThreadCtx::ifft2_res byla odstraněna, protože není použita n…
Jan 7, 2020
4d5a4fa
Zvýrazněna místa pro edit v KCF_Tracker::findMaxReponse
Jan 7, 2020
9f4a1b5
KONVERTOVÁN POSLEDNÍ VÝSKYT COMPLEXMAT A DYNMEM
Jan 7, 2020
881293d
Opraveno nesprávné volání ve funkci findMaxReponse()
Jan 7, 2020
bd0f12b
Opraveno nesprávné volání ve funkci findMaxReponse() (oprava 2)
Jan 7, 2020
6725e43
Opraveno nesprávné volání ve funkci findMaxReponse() (oprava 3)
Jan 7, 2020
3bf5392
Opraveno nesprávné volání ve funkci findMaxReponse() (oprava 3)
Jan 7, 2020
f4e8e4f
Zprovozněny fft asserty pro cv::Mat formát
Jan 8, 2020
efd392c
Odstraněny komentáře a osobní poznámky
Jan 8, 2020
169e864
Odstraněny kód ComplexMat a DynMem ze souborů fft (kromě cufft)
Jan 8, 2020
e114a48
Odstraněn kód ComplexMat a DynMem ze souboru ThreadCtx
Jan 8, 2020
8b48ae8
Odstraněn kód ComplexMat a DynMem ze souboru fft_fftw.cpp
Jan 8, 2020
09a9074
Odstraněn kód ComplexMat a DynMem z celého projektu, včetně referencí.
Jan 8, 2020
95dd8fa
Odstraněn postfix "_Test" z názvu všech původně experimentálních prom…
Jan 8, 2020
78e28d9
Oprava warningu (build-specific call)
Jan 8, 2020
1caf2ad
Oprava warningu (build-specific call) (oprava 2)
Jan 8, 2020
94bab25
Oprava warningu (build-specific call) (oprava 3)
Jan 8, 2020
97e248c
Oprava warningu (build-specific call) (oprava 4)
Jan 8, 2020
84730ea
Delete complexmat.cu
oraveja1 Jan 8, 2020
343adee
Delete complexmat.hpp
oraveja1 Jan 8, 2020
081fd1c
Delete complexmat.cpp
oraveja1 Jan 8, 2020
d25660a
Delete dynmem.hpp
oraveja1 Jan 8, 2020
dd3a79f
Opraveny hlášky o nenalezených jménech OpenCV konstant
Mar 7, 2020
0e708a9
Merge origin/master
Mar 7, 2020
a9e5edd
Opraven CMakeLists.txt, aby se nepokoušel kompilovat odstraněné soubory
Mar 27, 2020
61f74b8
Opravena GitHub hláška o neexistujícím include "opencv2/imgcodecs"
Mar 27, 2020
4422851
Opravena GitHub hláška o neexistujícím include "opencv2/videoio"
Mar 27, 2020
0eeba28
Opravena GitHub hláška o neexistujícím include "opencv2/videoio"
Mar 27, 2020
18665b9
Vytvořen UMat override pro vypisovací funkci debuggeru
Apr 4, 2020
4209771
Vytvořeny testovací proměnné typu UMat pro třídy Model a GaussianCorr…
Apr 7, 2020
4cf7003
Vytvořeny všechny alternativní verze funkcí MatUtil pro datový typ cv…
Apr 7, 2020
f0e290c
Vytvořeny fft asserty pro datový typ cv::UMat
Apr 10, 2020
dcf32db
Vytvořeny všechny fft funkce pro datový typ cv::UMat
Apr 10, 2020
b3a00c0
Konverze na UMat všeho co se týká funkcí KCF_Tracker::init() a train()
Apr 13, 2020
97ffc48
Konverze typu dat načtených ze streamu na UMat
Apr 13, 2020
623bc0e
Konverze typu dat načtených ze streamu na UMat
Apr 13, 2020
ce50317
Dokončena poslední část konverze na UMat
Apr 14, 2020
d401d6d
Opraven mírně nepřesný výstup funkce GaussianCorrelation::operator()
Apr 18, 2020
d93433d
Přepnuta proměnná podle které je prováděn tracking na testovací verzi
Apr 18, 2020
535079b
KONEČNÁ VERZE KONVERZE NA cv::UMat
Apr 18, 2020
4d84a33
MatUtil::sqrNorm() byla odstraněna ve prospěch OpenCV implementace
Apr 20, 2020
6937808
MatUtil::mat_const_operator() od teď iteruje pomocí cv::Mat.forEach()
Apr 20, 2020
c8b38c7
Zakomentován testovací blok.
Apr 20, 2020
e9e4ded
Implementace Mat.forEach() zakomentována, chybný výstup
Apr 20, 2020
b596319
Implementace Mat.forEach() opravena a otestována
Apr 22, 2020
bdc51ff
Implementována GAPI implementace pro funkci MatUtil::add_scalar()
Apr 22, 2020
bc5aefa
Konverze BGR2Gray() a resize() ve funkci KCF_Tracker::init() na formá…
Apr 23, 2020
6d16c14
Konverze BGR2Gray() a resizeImgs() ve funkci KCF_Tracker::track() na …
Apr 23, 2020
8bd2e6d
Odstraněna redundantní funkce cosine_window_function_umat()
Apr 23, 2020
35ec955
Výpočet typu MatExpr ve funkci GaussianCorrelation() byl částečně pře…
Apr 23, 2020
26f62b4
Výpočet typu MatExpr ve funkci train() byl převeden do GAPI implementace
Apr 23, 2020
1044aec
Konvertováno volání cv::resize() ve funkci get_features() na GAPI imp…
Apr 23, 2020
15d4923
Funkce MatUtil::sum_over_channels() nyní používá paralelní foreach().
Apr 26, 2020
b24cbe2
Odstraněny některé redundantní cv::Mat funkce v MatUtil
Apr 26, 2020
dfe0d7a
Odstraněny některé redundantní cv::Mat funkce v MatUtil (part 2)
Apr 26, 2020
ad9898f
Konvertována funkce MatUtil::mul_matn_matn() na paralelní foreach()
Apr 26, 2020
9e3fc1b
Konvertována funkce MatUtil::divide_matn_matn() na paralelní foreach()
Apr 26, 2020
51f5d02
KONEČNÁ KONVERZE NA IMPLEMENTACI cv::GMat.
Apr 26, 2020
d6d756a
Dokončena konverze Fourierových transformací v fft_opencv.cpp
Apr 29, 2020
964f258
Funkce Fftw::forward() byla konvertována na GAPI
Apr 29, 2020
041c2fa
Funkce Fftw::forward_window() byla konvertována na GAPI
Apr 30, 2020
7e14736
Opravena rozbitá implementace původní funkce Fftw::forward_window()
May 1, 2020
7619052
GAPI implementace Fftw::forward_window byla opravena do funkční podoby
May 1, 2020
dc377c1
[FINAL] -> DOKONČENA KONVERZE FOURIEROVÝCH TRANSFORMACÍ V KONTEXTU RO…
May 1, 2020
9510946
Drobná optimalizace forward_window() knihovny OpenCV
May 16, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions main_vot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "kcf.h"
#include "vot.hpp"
#include "videoio.hpp"
#include <opencv2/core/core_c.h>

// Needed for OpenCV <= 3.2 as replacement for Rect::empty()
bool empty(cv::Rect r)
Expand Down Expand Up @@ -280,15 +281,15 @@ int main(int argc, char *argv[])
std::getline(groundtruth_stream, line);
}

cv::Mat image;
cv::UMat image;
io->getNextImage(image);

//img = firts frame, initPos = initial position in the first frame
if (empty(init_rect))
init_rect = io->getInitRectangle(); // Try to get BBox from VOT or .txt files

if (empty(init_rect) || set_box_interactively) {
init_rect = selectBBox(image, box_out, 1);
init_rect = selectBBox(image.getMat(cv::ACCESS_RW), box_out, 1);
auto b = init_rect;
printf("--box=%d,%d,%d,%d\n", b.x, b.y, b.width, b.height);
if (visualize_delay < 0)
Expand All @@ -297,14 +298,13 @@ int main(int argc, char *argv[])
io->outputBoundingBox(init_rect);

if (!video_out.empty()) {
int codec = CV_FOURCC('M', 'J', 'P', 'G'); // select desired codec (must be available at runtime)
int codec = cv::VideoWriter::fourcc('M', 'J', 'P', 'G'); // select desired codec (must be available at runtime)
double fps = 25.0; // framerate of the created video stream
videoWriter.open(video_out, codec, fps, image.size(), true);
}

tracker.init(image, init_rect, fit_size_x, fit_size_y);


BBox_c bb;
cv::Rect bb_rect;
double avg_time = 0., sum_accuracy = 0.;
Expand Down Expand Up @@ -367,7 +367,7 @@ int main(int argc, char *argv[])
break;
switch (key) {
case 'i':
init_rect = selectBBox(image, box_out, io->getImageNum());
init_rect = selectBBox(image.getMat(cv::ACCESS_RW), box_out, io->getImageNum());
tracker.init(image, init_rect, fit_size_x, fit_size_y);
break;
case 'o':
Expand Down
8 changes: 1 addition & 7 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.8)

set(KCF_LIB_SRC kcf.cpp kcf.h fft.cpp threadctx.hpp pragmas.h dynmem.hpp debug.cpp complexmat.hpp)
set(KCF_LIB_SRC kcf.cpp kcf.h fft.cpp threadctx.hpp pragmas.h debug.cpp)

find_package(PkgConfig)

Expand Down Expand Up @@ -51,12 +51,6 @@ ELSE()
MESSAGE(FATAL_ERROR "Invalid FFT implementation selected")
ENDIF()

IF(FFT STREQUAL "cuFFT")
list(APPEND KCF_LIB_SRC complexmat.cu)
ELSE()
list(APPEND KCF_LIB_SRC complexmat.cpp)
ENDIF()

IF((FFT STREQUAL "OpenCV") AND BIG_BATCH)
message(SEND_ERROR "OpenCV version does not support big batch mode.")
ENDIF()
Expand Down
21 changes: 21 additions & 0 deletions src/cn/cnfeat.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,27 @@ class CNFeat
}
return cn_feat;
}

static std::vector<cv::UMat> extract(const cv::UMat & patch_rgb)
{
std::vector<cv::UMat> cn_feat(p_cn_channels);
for (int i = 0; i < p_cn_channels; ++i) {
cn_feat[i].create(patch_rgb.size(), CV_32FC1);
}

float * ch_ptr[p_cn_channels];
for (int y = 0; y < patch_rgb.rows; ++y) {
for (int i = 0; i < p_cn_channels; ++i)
ch_ptr[i] = cn_feat[i].getMat(cv::ACCESS_RW).ptr<float>(y);
for (int x = 0; x < patch_rgb.cols; ++x) {
//images in opencv stored in BGR order
cv::Vec3b bgr_val = patch_rgb.getMat(cv::ACCESS_RW).at<cv::Vec3b>(y,x);
for (int i = 0; i < p_cn_channels; ++i)
ch_ptr[i][x] = p_id2feat[rgb2id(bgr_val[2], bgr_val[1], bgr_val[0])][i];
}
}
return cn_feat;
}

private:
inline static int rgb2id(int r, int g, int b)
Expand Down
149 changes: 0 additions & 149 deletions src/complexmat.cpp

This file was deleted.

Loading