Drop cv2 dependence (just numpy, skimage, scipy)(still used somewhere, but not necessary anymore)
DTree weak classifierFern classifierCANCELEDAgnostic to underlying feature typeQuantizationquantized thresholdsquantized response tables (hs)
Feature banks (fpga support)fit_stage must return training historyRejection scheduling in fit_stageDegenerated solutions - training dstump on 0 samples1/ avoid if possible2/ solve when it happens
Check what happens with weightsModel saving and restoration (h5)Protobuf
Configurable channelsInteger channelsMore than one channel in image/sample
Support for dtree and dstump
bb distance must take sizes and aspect ratios into accountRandom image adjustmentsrewrite sample SamplePoolbbGt reader parametersIgnore bounding boxesStop updating pool at some point, e.g. P0 < 1e-7 or soSample pool without generator???Sample pool should accept model in constructor (is mutable and can be used in update method without explicitly passing it)Pool should not hold prior probs. should be in training module
- Update Doc
- Input parameter checking - ValueError, TypeError where appropriate
- Example data and notebook
- Logging to screen and to file
- Applications
- training - waldboost-train -i dataset --n0=1000 --alpha=0.2 -o test.pb
- detection - waldboost-detect -m test.pb image.jpg image1.jpg ...
- Handle corner cases - no boxes on image, image too small for channels etc.
Better API for Learner - methods object_prob, bg_prob, lossResume learningsave/load learner to filesupply learer to training
- Constant soft cascade pipeline
- Channel parametrs in proto
Discard old messages from proto and simplify structureCorrect symbol initialization when loadingclassifier as list of DTree, theta in its own array so it can be modified- Channel opts as object
- Optimizations
- Numba and CUDA for one selected variant
- Stats
- Keep worst case eval. cost (possibly rewrite stats gthering)
Change image set during trainingFixed by "resume learning"Either update bbx package to be more consistent or use bbox (or other) packageBetter API for PoolFix dt_boxes is None and gt_boxes is None cases- Change data generator to yield dict with "image", "ground_truth_boxes" keys
Improve bbGt reading - return BoxList- Utility functions in bbox module - empty, empty_like, scale, set_aspect_ratio, ....
- Consider rename module - postprocessing?
- Verification - better log, validation set, show fp/fn rates
- bbox regression?
- SamplePool is slow when len(self.samples) gets large