Здравствуйте. Виновен не picture, а стандартные стили браузера, которые обычно сбрасываются с помощью normalize.css.
Сброс стилей браузера для img решит проблему.
img {
vertical-align: middle;
}
display: block;
для img тоже сработает, но это костыль в данном контексте. Вдруг вам где-то дальше не нужен будет
display: block;
, тогда придется его постоянно сбрасывать.
Всегда подключайте normalize.css чтобы не бороться с приведениями браузерных стилей