prittt / YACCLAB

YACCLAB: Yet Another Connected Components Labeling Benchmark
BSD 3-Clause "New" or "Revised" License
203 stars 37 forks source link

Add Block-Based Decision Forest CCL #7

Closed chabardt closed 4 years ago

chabardt commented 5 years ago

This fork includes a new algorithm: a block based approach with prediction.

chabardt commented 5 years ago

Dear project members of YACCLAB,

I am hoping to reach you through this message so that you consider this pull request. If any help is required on the merging, I'll gladly help.

Best regards,

chabardt

prittt commented 5 years ago

Dear Chabardt,

Sorry for the delay and thank you for your contribution! I am going to accept and merge your pull request but there are still a couple of things that should be fixed:

The list of warnings obtained by building with Microsoft Visual Studio 2017 is the following:

1>labeling_chabardes_2018.h(963): warning C4102: 'FLAG_MEM_ODD_ODD_FIRST_ROW__x2x4abcd': unreferenced label
1>labeling_chabardes_2018.h(945): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_mem_odd_odd(MemMat<unsigned char> &,MemMat<int> &,const int,const int)'
1>labeling_chabardes_2018.h(241): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_mem_odd_odd(MemMat<unsigned char> &,MemMat<int> &,const int,const int)' being compiled
1>labeling_chabardes_2018.cc(31): note: see reference to class template instantiation 'BBDF<TTA>' being compiled
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW__x2x4cd': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW__ab': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW_f_be': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW_a_b': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW__b': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW_ae_b': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW_e_b': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW__bef': unreferenced label
1>labeling_chabardes_2018.h(982): warning C4102: 'FLAG_MEM_ODD_ODD_MIDDLE_ROW__be': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW__x2x3x4cdf': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW_ae_x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW_a_x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW__x3x4abf': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW__x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW__x3x4bef': unreferenced label
1>labeling_chabardes_2018.h(997): warning C4102: 'FLAG_MEM_ODD_ODD_LAST_ROW_e_x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(922): warning C4102: 'FLAG_MEM_EVEN_ODD_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(885): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_mem_even_odd(MemMat<unsigned char> &,MemMat<int> &,const int,const int)'
1>labeling_chabardes_2018.h(234): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_mem_even_odd(MemMat<unsigned char> &,MemMat<int> &,const int,const int)' being compiled
1>labeling_chabardes_2018.h(922): warning C4102: 'FLAG_MEM_EVEN_ODD_MIDDLE_ROW__d': unreferenced label
1>labeling_chabardes_2018.h(922): warning C4102: 'FLAG_MEM_EVEN_ODD_MIDDLE_ROW__abef': unreferenced label
1>labeling_chabardes_2018.h(937): warning C4102: 'FLAG_MEM_EVEN_ODD_LAST_ROW__x3x4df': unreferenced label
1>labeling_chabardes_2018.h(937): warning C4102: 'FLAG_MEM_EVEN_ODD_LAST_ROW__x3x4abef': unreferenced label
1>labeling_chabardes_2018.h(858): warning C4102: 'FLAG_MEM_ODD_EVEN_FIRST_ROW__x2x4abcd': unreferenced label
1>labeling_chabardes_2018.h(841): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_mem_odd_even(MemMat<unsigned char> &,MemMat<int> &,const int,const int)'
1>labeling_chabardes_2018.h(239): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_mem_odd_even(MemMat<unsigned char> &,MemMat<int> &,const int,const int)' being compiled
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW__x2x4cd': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW__ab': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW_f_be': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW_a_b': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW__b': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW_ae_b': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW_e_b': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW__bef': unreferenced label
1>labeling_chabardes_2018.h(877): warning C4102: 'FLAG_MEM_ODD_EVEN_MIDDLE_ROW__be': unreferenced label
1>labeling_chabardes_2018.h(833): warning C4102: 'FLAG_MEM_EVEN_EVEN_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(796): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_mem_even_even(MemMat<unsigned char> &,MemMat<int> &,const int,const int)'
1>labeling_chabardes_2018.h(232): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_mem_even_even(MemMat<unsigned char> &,MemMat<int> &,const int,const int)' being compiled
1>labeling_chabardes_2018.h(833): warning C4102: 'FLAG_MEM_EVEN_EVEN_MIDDLE_ROW__d': unreferenced label
1>labeling_chabardes_2018.h(833): warning C4102: 'FLAG_MEM_EVEN_EVEN_MIDDLE_ROW__abef': unreferenced label
1>labeling_chabardes_2018.h(697): warning C4102: 'FLAG_OPT_ODD_ODD_FIRST_ROW__x2x4abcd': unreferenced label
1>labeling_chabardes_2018.h(674): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_opt_odd_odd(const int,const int)'
1>labeling_chabardes_2018.h(82): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_opt_odd_odd(const int,const int)' being compiled
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW__x2x4cd': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW__ab': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW_f_be': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW_a_b': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW__b': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW_ae_b': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW_e_b': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW__bef': unreferenced label
1>labeling_chabardes_2018.h(722): warning C4102: 'FLAG_OPT_ODD_ODD_MIDDLE_ROW__be': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW__x2x3x4cdf': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW_ae_x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW_a_x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW__x3x4abf': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW__x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW__x3x4bef': unreferenced label
1>labeling_chabardes_2018.h(742): warning C4102: 'FLAG_OPT_ODD_ODD_LAST_ROW_e_x3x4bf': unreferenced label
1>labeling_chabardes_2018.h(646): warning C4102: 'FLAG_OPT_EVEN_ODD_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(600): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_opt_even_odd(const int,const int)'
1>labeling_chabardes_2018.h(75): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_opt_even_odd(const int,const int)' being compiled
1>labeling_chabardes_2018.h(646): warning C4102: 'FLAG_OPT_EVEN_ODD_MIDDLE_ROW__d': unreferenced label
1>labeling_chabardes_2018.h(646): warning C4102: 'FLAG_OPT_EVEN_ODD_MIDDLE_ROW__abef': unreferenced label
1>labeling_chabardes_2018.h(666): warning C4102: 'FLAG_OPT_EVEN_ODD_LAST_ROW__x3x4df': unreferenced label
1>labeling_chabardes_2018.h(666): warning C4102: 'FLAG_OPT_EVEN_ODD_LAST_ROW__x3x4abef': unreferenced label
1>labeling_chabardes_2018.h(567): warning C4102: 'FLAG_OPT_ODD_EVEN_FIRST_ROW__x2x4abcd': unreferenced label
1>labeling_chabardes_2018.h(546): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_opt_odd_even(const int,const int)'
1>labeling_chabardes_2018.h(80): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_opt_odd_even(const int,const int)' being compiled
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW__x2x4cd': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW__ab': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW_f_be': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW_a_b': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW__b': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW_ae_b': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW_e_b': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW__bef': unreferenced label
1>labeling_chabardes_2018.h(592): warning C4102: 'FLAG_OPT_ODD_EVEN_MIDDLE_ROW__be': unreferenced label
1>labeling_chabardes_2018.h(539): warning C4102: 'FLAG_OPT_EVEN_EVEN_MIDDLE_ROW__aef': unreferenced label
1>labeling_chabardes_2018.h(493): note: while compiling class template member function 'void BBDF<TTA>::FirstScan_opt_even_even(const int,const int)'
1>labeling_chabardes_2018.h(73): note: see reference to function template instantiation 'void BBDF<TTA>::FirstScan_opt_even_even(const int,const int)' being compiled
1>labeling_chabardes_2018.h(539): warning C4102: 'FLAG_OPT_EVEN_EVEN_MIDDLE_ROW__d': unreferenced label
1>labeling_chabardes_2018.h(539): warning C4102: 'FLAG_OPT_EVEN_EVEN_MIDDLE_ROW__abef': unreferenced label
chabardt commented 5 years ago

Dear pritt,

Thank you. I am working on fixing those warnings and the problems related to 1-column or 1-row images. It seems to add a lot of complexities to the original code, and it may takes more than a day...

Best regards,

prittt commented 5 years ago

Dear chabardt,

we are waiting for your commit! Are there any news? ;)

prittt commented 4 years ago

This pull request is getting very old and we haven't heard from you in a long time. I am about to close it, feel free to open a new one once you are ready.