Главная / Наука о пчелах / Идентификации пчел

Разработка алгоритма идентификации пород пчел по индексу квадратности крыла

Для повышения эффективности процедуры идентификации пород пчел по морфологической структуре крыла [1,2] применяются современные компьютерные методы, включающие оригинальные подходы из области получения цифровых изображений, распознавания образов, статистической обработки результатов исследований, теории принятия решений.

Существенное влияние на конечный результат автоматизированной идентификации пород пчел оказывает качество вводимых данных, поэтому одной из важнейших задач является обеспечение высокого качества графической оцифровки исследуемых материалов. Для решения этого вопроса необходимо выработать метод, позволяющий получать оцифрованные изображения, удовлетворяющие следующим критериям: высокое разрешение, чёткость, яркость, контраст. [3-5].

На сегодняшний день существует масса способов графической оцифровки изображений. Самые распространённые, доступные и широко применяемые – это сканирование и цифровая фотография. В контексте рассматриваемой задачи второй способ был более предпочтителен ввиду его простоты, удобства и приемлемых требований к обработке исходных данных.

Рассмотрим, вкратце, основные этапы создания цифрового фотоизображения:

  • световой поток проходит через оптическую систему на электронно-оптический преобразователь (ПЗС матрицу),
  • на основе данных ПЗС матрицы формируется «цифровое» изображение, в виде «промежуточного» файла,
  • «промежуточный» файл обрабатывается различными фильтрами, конвертируется и, как правило, сжимается в «общепринятый» формат - JPEG (Joint Photographic Experts Group).

На каждом этапе происходят большие или меньшие потери информации. Актуальна также проблема избыточности информации, в виду необходимости обрабатывать большое количество снимков. Большое значение имеют условия съемки и освещения.

Целью данной работы было создать алгоритм идентификации пород пчел. Для определения породы пчелы существует множество различных внешних признаков, в том числе и форма ячеек крыла, на этом и основан метод определения породы пчел по индексу квадратности крыла. В нашей работе решается задача автоматизированного распознавания и классификации цифровых изображений. Важным элементом работы является так же обработка исходных изображений для последующего анализа, которая сводится к удалению избыточной и шумовой информации.

В начале данной обработки цветное изображение (RGB) конвертируется в матрицу с бинарными элементами (эквиваленты черного и белого цветов.) Полученный графический файл с растровым содержимым и цветовой палитрой из 2х цветов: черный и белый имеет стандарт bitmap (bmp).

Следующий этап обработки изображения - выделение скелета (четких очертаний ячеек и морфологической структуры крыла), путем фильтрации изображения в одном из специализированных редакторов.
Рассмотрим некоторые существующие программные продукты.

Adobe Photoshop. В рамках данного программного обеспечения, можно провести всю начальную обработку изображения. Наиболее подходящими для выделения скелета стали фильтры из библиотеки визуальных эффектов Adobe Photoshop Photocopy и Stamp.

Первый фильтр дает более размытую картинку, но сохраняет начальные размеры ячеек, второй фильтр возвращает качественную картинку, но при этом резко расширяет стенки ячеек, нарушая размеры ячеек. По опыту, большую точность дает все-таки 2-ой фильтр.

Негативным фактором является то, что лицензия Adobe Photoshop не дает права использовать его в качестве составной части какого либо иного программного продукта. Само приложение имеет слишком большой размер и очень сложное управление для автоматической работы (требует ручного человеческого вмешательства).

Вторая программа – irfanview – бесплатная небольшая программа для просмотра и незначительного редактирования графических файлов. В ее комплектации не было обнаружено фильтров сравнимых с вышеописанными - качество полученных графических файлов несколько хуже, чем при использовании предыдущей программы. Данная программа была использована в качестве оболочки для собственного алгоритма преобразования, который состоит в следующем. В растровом файле каждому пикселю соответствует 3 байтовых параметра, составляющих цвет точки: R(красный), G(зеленый), B(синий)- все они изменяются в пределах от 0 до 255.

Для повышения контрастности достаточно умножить эти 3 параметра каждой точки на Contrast (параметр повышения контрастности), таким образом, чем ярче точка, тем ближе к белому цвету она станет. Этим самым повысим контрастность картинки и выделим структуру крыла.

Над каждой точкой произведем такое преобразование:

тогда точку окрашиваем в черный цвет b=0

окрашиваем точку в белый цвет b=1

Выбор параметра контрастности следует осуществлять при конвертации файла в режиме реального времени. Низкий параметр приводит к появлению разрывов в структуре крыла, а высокий – к возникновению шумов и помех. (Рис. 2, а, б, в).

Для идентификации породы пчелы разработан метод анализа, основанный на вычислении коэффициента формы элементов крыла (так называемых ячеек). Коэффициент формы – характеристика, описывающая форму замкнутой геометрической фигуры, равная отношению площади данной фигуры к квадрату ее периметра. Легко убедиться, что данный параметр является инвариантом в описании изображении крыла пчелы. Расчет коэффициента формы связан с такими понятиями, как очередь и алгоритм волны.

Под очередью понимается структура данных, являющаяся совокупностью 3 компонент: массива, в котором, размещаются обрабатываемые элементы; индекса начала очереди – указателя на элемент массива, который будет обработан первым; индекса конца очереди – указателя на место в массиве, куда будет помещен новый элемент, выбранный для обработки.

Сущность алгоритма волны в следующем. Пусть имеется замкнутая область экранной поверхности и очередь массива:

1. Массив: struct { int x,y; } queue[max];

2. Индекс начала: int ib=0;

3. Индекс конца: int ie=0;

Кроме того, имеются две переменные, в которых хранятся текущие значения площади и периметра области:

int s=0;

int p=0;

Для определения коэффициента формы данной области требуется выполнить следующую последовательность действий:

1. Находим любую из точек данной области (т.н. затравочную) и помещаем ее в queue [ie] и инкрементируем ie.

2. Цикл обработки в очереди выполняется, пока ib≠ie:

2.1. Рассматриваем каждый из элементов массива queueх[i], начиная с i=ib и заканчивая i=ie-1:

2.1.1. Рассматриваем 8 соседних точек queue[i]:

2.1.1.1. Если цвет соседней точки совпадает с цветом области, то помещаем ее в queue[ie] и инкрементируем ie.

2.1.1.2. Если цвет соседней точки совпадает с цветом границы области, то добавляем к текущему значению периметра 0,5.

2.1.2. Данная точка рассмотрена, поэтому изменяем ее цвет на любой, отличный от цветов области и ее границы, затем инкрементируем ib.

2.1.3. Добавляем к текущему значению площади 1.

В результате выполнения алгоритма получаем значения периметра и площади данной области, по которым рассчитываем коэффициент формы. Применительно к крылу, замкнутая область – это каждая из его ячеек. Как видно из бинарного изображения крыла (рис. 2, в), при поиске самой верхней среди левых точек внутри ячеек, мы найдем точку, принадлежащую крайней вытянутой ячейке. Поиск затравочной точки очередной ячейки осуществляем следующим образом: обходим контур уже обработанной ячейки по часовой стрелке и ищем ближайшую (к рассматриваемой на контуре) точку соседней ячейки. Таким образом, мы упорядочим обход всех ячеек.

На рис. 3 представлен внешний вид уже обработанного крыла: видны результаты очистки от шумов и обхода по контуру.

Значения коэффициентов в порядке обхода: 0,00337; 0,00609; 0,01340; 0,01399; 0,00668; 0,00634; 0,01640; 0,01702; 0,01297;

Результаты обработки крыла пчелы другой породы: 0,00496; 0,00975; 0,0128; 0,01466; 0,00862; 0,00761; 0,01605; 0,02082; 0,01031;

Данный метод позволяет определить принадлежность пчелы к той или иной породе по коэффициенту квадратности ячеек ее крыла при наличии алгоритма, программного обеспечения и эталонных изображений крыльев разных пород пчел.
На следующем этапе решения задачи необходимо разработать эффективный алгоритм и программное обеспечение, которые позволяли бы с максимальной скоростью и минимальными затратами аппаратных ресурсов квалифицировать исследуемый объект, исходя из полученных на данных.

Структура крыла такова, что для разных пород форма ячеек отличается. Поэтому самым подходящим способом классификации будет сравнение коэффициентов форм соответствующих ячеек исследуемого и эталонного изображений крыла.

В качестве исходной информации для определения эталонов используем изображения крыльев пород уже классифицированных экспертами. Чтобы получить на их основе эталон класса, необходимо найти среднее значение коэффициента формы для каждой ячейки.

Принадлежность к породе оценивается по степени близости коэффициентов формы к эталону, то есть будем сравнивать коэффициенты форм соответствующих ячеек эталона и объекта, а затем отнесем этот объект к той породе, которая ближе остальных по большинству перепонок.

Все три этапа объединены в одном программном продукте.

Основой для созданного программного продукта стало окно стандарта Windows с несколькими кнопками. Для этого в среде разработки Visual Studio 6(используемый язык C++) создан шаблон win32 application и в файл работы с диалогом дописаны функции нескольких новых кнопок: конвертации изображения, анализа изображения, классификации.

Созданный в результате программный продукт имеет приятный дизайн Windows и удобный интерфейс.

Заключение

  1. Предложено использовать для идентификации породы пчел расчетное значение коэффициентов формы всех ячеек крыла.
  2. Написана программа, описывающие геометрию крыла пчелы, с помощью метода волны.
  3. Предложен оригинальный метод получения, обработки и анализа изображений крыла.

Обработка изображения крыла с высоким параметром контрастност
Рис. 2 а. Обработка изображения крыла с высоким параметром контрастности Рис. 2 в. Обработка изображения крыла с низким параметром контрастности
Обработка изображения крыла с нормальным параметром контрастности
Рис. 2 а. Обработка изображения крыла с нормальным параметром контрастности Рис. 3. Изображение ячеек, готовое для анализа
Внешний вид программы
Рис. 4. Внешний вид программы  

Г.В. Ломаев, Н.И. Калядин, А.В. Агафонов, Н.Н. Ермаков, Н.В. Рубцов, И.И.Шумилов, Н.В. Хан

Литература.

  1. Алпатов В. В. Породы медоносной пчелы. М.: МОИП, 1948. – 183с. 17.
  2. Ломаев Г.В., Степанов В.А., Бондарева Н.В. Измерение экстерьерных признаков пчел: субъективные факторы и пути их исключения. Ижевск, ИжГТУ, 2002.
  3. Кухарев Г.А. Биометрические системы: методы и средства идентификации. СПб.: Политехника, 2001. – 240 с.
  4. Павлидис Т. Алгоритмы машинной графики и обработки изображений. М.: Радио и связь, 1986. – 399 с
  5. Садыков С. С., Самандаров И. Р. Скелетизация бинарных изображений.// Зарубежная радиоэлектроника – 1985. - №11 – с. 30-37.