Ciao, attualmente le specifiche CSS non forniscono la possibilità di applicare l'opacità in modo esclusivo per background-image. La proprietà opacity agisce infatti sull'intero elemento.
Si può comunque risolvere in vari modi.
Potresti usare un'immagine png a cui applichi preventivamente la trasparenza desiderata, quindi usare questa come background-image.
In lternativa, per gestire l'opacità attraverso il CSS, in genere si usa un elemento posizionato opportunamente in modo assoluto, ad esempio un elemento <img> oppure uno pseudo-elemento definito per quello stesso <div>, quindi si applica l'opacità su tale elemento.
Qui qualche tutorial:
How to change background image opacity using CSS - sebhastian.com
How to change background-image opacity in CSS without affecting text - coder-coder.com
CSS Background Image Opacity Without Affecting the Text - linuxhint.com