Is it a bad idea to go from EE undergrad to CS(ML/AI) PhD?
I think yes, it is feasible. On a purely technical side, regulations vary across countries and universities. At my university they consider eligible all applicants with previous education in "computer science and engineering". The rest undergo "additional examination", which in practice means that they check whether their actual transcripts overlap enough with our CS curriculum to be considered equivalent.
Computer science is an umbrella term, so it is a really diverse area. Even if you narrow it down to "machine learning", it still doesn't help much to identify your stronger and weaker points. There is machine learning in natural language processing, in computer vision, in human behavior analysis, etc., with different requirements. 
Since you mentioned computer vision, I think your math background is really handy. What many such candidates lack is coding skills and general experience in dealing with programming environments. Sometimes we have to glue together a bunch of "experimental" (buggy and poorly documented) libraries and make them work. When something goes wrong, people get startled with cryptic printouts and endless error messages, as they don't even know where to begin to untangle this mess. At least, this is what I feel sometimes as I have to take personal care of the tech issues...


Sorry no comments on the "best groups", but personally I think you should approach the question the other way round. Go to Google scholar and search for papers with keywords of your interest. Read the ones you like, see who cites them and which papers they cite. Just follow the links in both directions, gather enough papers to understand (a) who is cited more often and (b) what kind of research you personally like -- after all, your personal interest in a particular type of project should matter most. And this is how you approach people: by showing genuine interest in their projects and knowledge of their publications.