If it can be identified by any mechanical means, including by element xpath, by id, by class, by CSS properties, by the fact it got inserted after document load, by OCR of the image... then it can be ad blocked. A "sufficiently smart" adblock could be as good at spotting ads as a human.
How many false positives do you think users would tolerate with such smart algorithms?
There are a fair number of sites that simply don't work properly with adblock on. I load the page and I get a big grey blankness. I just shrug and move on - there's plenty more where whatever it was came from. It's well worth not having to look at ads.
I've wondered about this for the longest time, why not just embed the ads within the content so there's no way to "filter" it out? I've also thought that there is an opportunity for mobile ads, whenever the ads are blocked show a "default" built in ad. Sell these "default" ads to big companies as a block, for example Coca Cola. They never get tired of impressions, it's not like they need you to go to their website and look at an ad. Just seeing their logo reminds you of their product, and that's all they need to happen.