A Survey on CBIR Techniques and Learning Algorithm Comparison