На мой взгляд, лучший способ справиться с этим - использовать традиционное компьютерное зрение и алгоритмические подходы. Вероятно, вы можете сделать что-то вроде этого: пройтись по каждой строке и использовать хеш-таблицу для отслеживания пустой ячейки (все белые пиксели) и непустых ячеек (не все белые пиксели). В конце результатом будут числа в хеш-таблице. Для этого потребуется время O (n) и пространство O (m), где n - количество пикселей, а m - количество ячеек.
Если вы настаиваете на использовании CNN, то вам нужно собрать много (может быть, 1000-х) снимков ячеек (как, например, у вас). Затем вы должны выбрать сеть (помните о соотношении скорость / точность). Вы тренируете свою сеть как обычное обучение под наблюдением. Затем вы можете проверить это на тестовых данных.
Подход к обучению может давать ложные срабатывания, поэтому я бы рекомендовал алгоритмический подход, поскольку он не слишком сложен в вычислительном отношении.