Универсально таких нет
Это значит тебе нужно набрать свой обучающий датасет из изображений, которые будут использоваться в твоей задаче, и вручную их разметить, указав, где правильно удалился фон, затем создать нейросеть классификатор изображений и обучить ее на своем датасете. Инструментов полно но если хочешь (а ты захочешь) использовать gpu для ускорения, то скорее всего это будет nvidia и pytorch (есть не только для питона)
Какую именно выбрать датасет это вопрос исследования, какая подойдет для твоей задачи. Например если ты будешь обучать бинарный классификатор - хорошо/плохо (или при разметке ты будешь оценивать по какой то шкале например от 0 до 10 результат работы) то это одна задача, но ты можешь к примеру подавать на вход сразу все четыре изображения, и сеть должна выдать делить на 4 класса полученный комплекс, соответственно каждому изображению... совет, добавляй ко входу еще и исходное изображение.
Можно предварительно делать вычитание (или деление) исходного и результирующего изображений, так нейросети легче будет понимать что было вычтено и соотносить его с исходным
Можно предварительно обучить сеть на входных и обработанных изображениях, но не с целью получения результата, а с целью найти закономерности (мне нравится вариант когда на вход сети и на выход подается одно и то же изображение или пара, сеть многослойная но размерность средних слоев сделать меньше количества входов, т.е. нейросеть должна будет научиться упаковывать информацию об изображении в меньший объем, это вынудит ее искать закономерности.. затем левую половину полученной сети до сужения размерности можно скопировать в искомую сеть как первые слои (добавить еще несколько) и уже обучать как классификатор под твою задачу, эта предобученная сеть будет лучше решать задачу.