Короткий ответ - да, это может быть проблематично, но с некоторыми усилиями вы можете сделать это возможным.Если у вас есть два набора городских данных, и в одном у вас есть только аннотации для светофоров, а во втором у вас есть только аннотации для автомобилей, то каждый экземпляр автомобиля в первом наборе данных будет изучен как ложный пример, а каждый экземпляр трафика.Свет во втором наборе данных будет изучен как ложный пример.Два возможных результата, о которых я могу думать:
- Модель не будет сходиться, поскольку она пытается изучить противоположные вещи.
- Модель будет сходиться, но будет зависеть от конкретной области.Это означает, что модель будет обнаруживать светофор только на изображениях из домена первого набора данных и автомобилей во втором.На самом деле я пытался сделать это сам в другой обстановке, и получил такой результат.
Для того, чтобы узнать вашу цель изучения светофоров и автомобилей независимо от того, из какого набора данных они поступают, выВам нужно будет изменить функцию потери.Вам нужно сообщить функции потерь, из какого набора данных происходит каждое изображение, а затем вычислить только потери в соответствующих классах (/ обнулить потери в классах, которые ему не соответствуют).Итак, возвращаясь к нашему примеру, вы вычисляете только светофоры с потерями и обратным распространением в первом наборе данных, а автомобили - во втором.
Для полноты картины добавлю, что если ресурсы доступны, то лучшим вариантом будет аннотировать всеклассы во всех наборах данных, чтобы избежать предлагаемой модификации, поскольку, только распространяя определенные классы в обратном направлении, вы не сможете использовать реальные ложные примеры для других классов.