Разработка системы компьютерного зрения для неразрушающей оценки качества и классификации куриных яиц

Автор: Ширманова Г.С., Неверов Е.Н., Владимиров А.А., Осинцев А.М., Руднев П.С.

Журнал: Вестник Омского государственного аграрного университета @vestnik-omgau

Рубрика: Агроинженерия

Статья в выпуске: 3 (59), 2025 года.

Бесплатный доступ

В настоящее время существует высокий спрос на птицеводческую продукцию. Выведение сельскохозяйственной птицы в промышленных масштабах возможно за счет применения искусственных инкубаторов. Важный фактор для выводимости яиц – предварительная оценка их пригодности к инкубации, а применение систем компьютерного зрения (СКЗ) позволит повысить точность данной оценки и исключить из процесса оценки погрешность, связанную с так называемым «человеческим фактором», результатом чего станет повышение их выводимости. Метод оценки пригодности яиц к инкубации посредством СКЗ не только точный, но и неинвазивный. Описана СКЗ для оценки качества куриных яиц. Сделан выбор аппаратных компонентов и программного обеспечения для разработки СКЗ. Написана управляющая программа для осуществления взаимодействия составных элементов СКЗ в рамках её функционала. В функционал СКЗ входят получение и обработка изображений, определение большого и малого диаметров яиц, вывод информации в текстовом виде. В статье проанализирована работа СКЗ при различных положениях анализируемых образцов. Проведено сравнение больших и малых диаметров яиц, измеренных механическим способом и посредством СКЗ. Средняя точность измерений составила 99,24%.

Еще

Оценка качества, компьютерное зрение, классификации куриных яиц, микрокомпьютер, дисплей, контур яиц, детектирование, пиксели, измерения

Короткий адрес: https://sciup.org/142245891

IDR: 142245891   |   УДК: 681.78

Текст научной статьи Разработка системы компьютерного зрения для неразрушающей оценки качества и классификации куриных яиц

Системы компьютерного зрения (СКЗ) применяют в различных сферах человеческой деятельности. В сфере утилизации промышленных отходов СКЗ используют для их категоризации, будь то ядерные отходы [1] или отходы прокладки электросетей [2–3]. В сфере образования СКЗ может быть применено для распознавания эмоционального отклика обучающихся по их мимике при дистанционном обучении [4]. В медицине СКЗ могут применяться для оценки качества наносимых швов при хирургических операциях [5]. В пищевой промышленности возможно применение СКЗ для оценки качества продукции [6–10]; это оценка посредством СКЗ выгодно отличается от органолептического анализа исключением человеческого фактора и снижением нагрузки на персонал. Существует проблема определения качества продукции птицеводства в сфере агропромышленного комплекса. Одним из примеров данной проблемы является анализ куриных яиц на предмет повреждений скорлупы, соотношения размеров, массы. Анализ проводится как для нахождения дефектов, так и для классификации куриных яиц. Процедуры взвешивания и измерения большого и малого диаметров проводят вручную. Автоматизация данных процедур позволит повысить их скорость и точность. Наиболее простым и экономичным способом автоматизации процессов оценки и классификации куриных яиц является применение систем компьютерного зрения (СКЗ). В работах [11–12] представлены системы компьютерного зрения (СКЗ) для оценки свежести и сортировки яиц по весу и плотности. Авторами статей [13–14] СКЗ применены для оценки пригодности к инкубации куриных яиц. Для той же задачи, но для оценки утиных яиц, описаны СКЗ в статье [15]: проанализированы изображения не в видимом спектре, а в инфракрасном. В статье [16] особое внимание уделено применению искусственных нейронных сетей в обработке изображений, полученных СКЗ. Для нахождения трещин на поверхности яиц СКЗ – в статье [17–18]. СКЗ для классификации размеров яиц с применением искусственных нейронных сетей описаны в статьях [19–20].

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

Материалы и методы исследования

В качестве исследуемых образцов в данном исследовании использовались куриные яйца гросса 200. Для оценки точности определения размеров СКЗ использован штангенциркуль ШЦ-1. В системе компьютерного зрения следующие составные элементы: микрокомпьютер Raspberry Pi 4 B, цифровая видеокамера Microsoft LifeCam Studio, жидкокристаллический сенсорный дисплей HDMI LCD(B), тактовые кнопки, корпус для расположения микрокомпьютера и экрана, смотровое помещение для получения снимков образцов при постоянном освещении и взаимном расположении камеры и образцов.

Размеры корпуса для микрокомпьютера и дисплея составляют 243,1x219,1x80,0 мм. Толщина стенок корпуса не превышает 2 мм. Три тактовые кнопки в конструкции СКЗ предусмотрены для дублирования функций сенсорного экрана при выходе из строя сенсорного ввода.

Размеры смотровой камеры составляют 220,0x220,0x230,0 мм. Материал стенок смотровой камеры – фанера, толщина стенок – 5 мм. Стенки смотровой камеры скреплены между собой шиповым соединением. Камера состоит из корпуса, верхней

V estnik of Omsk SAU, 2025, no. 3 (59)

AGROENGINEERING

крышки, выдвижного ящика, заслона смотрового окна, вставных рамок со светопропускающей тканью.

Программно-аппаратный комплекс представлен на рис. 1.

Рис. 1. Система компьютерного зрения

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

Рис. 2. Вариант лабораторной системы компьютерного зрения

Управляющая программа системы компьютерного зрения написана на языке программирования Python 3.9.2. Для работы программы импортированы библиотеки cv2, numpy, random, math (рис. 3).

Библиотеку cv2 применяют для чтения, сохранения, изменения и анализа изображения. Файл изображений представлен функциями библиотеки cv2 как массив numpy, поэтому для обработки массивов применяется библиотека numpy. Библиотеку

V estnik of Omsk SAU, 2025, no. 3 (59)

AGROENGINEERING

random используют для генерации случайных чисел. Случайные числа применяют для значений красной, зеленой и синей компонент цветовой модели RGB в значении цветов линий, обозначающих большие и малые диаметры анализируемых куриных яиц, для удобства пользователя, для отличия различных диаметров одного яйца и диаметров разных яиц на обработанном снимке. Библиотека math используется для вычислений расстояний между точками контуров обнаруженных образцов.

File Edit Fermat Run Options Window Help import cv2 import numpy as np import random import math

IV = (1/2) (4л/3) a2b + (1/2) (4л/3) a2c cam = cv2.VideoCapture(0)

while True:

cv2 .imshow( Cameraframe)

if cv2.waitKey(l) = ord('q’):

cam.release()

cv2.destroyAHWindows()

break del classifier(d, name):

quant^O na = str(name)

if len(na)<4:

na - str(name)

na = O' + str(name)

Lrc 17 Col: 0

Рис. 3. Импорт библиотек

После импорта библиотек в коде программы задается переменная, которой присвоена инициализация объекта класса видеокамеры cv2.VideoCapture в библиотеке cv2. По отношению к данной переменной далее применяют функции настройки разрешения съёмки set. В рамках цикла WHILE происходит вызов функции захвата видео read. Для выбора пользователем снимка с автоматической фокусировкой, позволяющей максимальную четкость, в рамках того же цикла вызывается функция вывода изображения с камеры на экран imshow. Получение снимка и закрытие окна отображения видео проводят по нажатием клавиши «Q» на клавиатуре. Обработка команды по нажатию на клавишу производится функцией cv2.waitKey, ее аргумент – целое число периода обновления содержимого окна вывода видео в миллисекундах. В данном случае значение периода равно 1 мс. Значение данной функции сравнивается со значением функции ord, конвертирующей код символа, введённого с клавиатуры, в целое число. При совпадении значения, введённого с клавиатуры, со значением, указанным в качестве аргумента функции ord, происходит запись изображения в файл формата PNG функцией cv2.imwrite, отключение камеры функцией release и закрытие окна отображения видео функцией cv2.destroyAllWindows.

Детектирование контуров образцов проводят посредством функций библиотеки OpenCV (рис. 4). Пиксели, входящие в контуры яиц, определяют по значению их яркости. Группы пикселей, соприкасающихся друг с другом, распознаются программой как контуры. Контуры, горизонтальная ширина которых в пикселях менее 200 на снимке разрешения 1920x1080p, не учитываются программой.

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

V estnik of Omsk SAU, 2025, no. 3 (59)

AGROENGINEERING

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

Г for c in contours:

x,y,w,h = cv2.boundingRect(c)

ifw>200:

for v in c:

center x = int(sum(xs)/len(xs))

center_y = int(sum(ys)/len(ys))

shift x = int(w/10)

shifty = int(h/10)

for i in range(0,len(c)):

for j in range(0,len(c)):

length = max(dists)

for ce in dists:

if ce = length:

cv—lin^emietc indAvIr-Alimi ire 111 Cal M

Рис. 4. Обработка изображения

Результаты и их обсуждение

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

Рис. 5. Обработанные снимки образцов

Съемку проводили в разрешении 1920x1080p. Получены изображения партий яиц (4 шт.) в положениях, при которых линии больших диаметров были близки к горизонтальному положению, и в положениях, при которых линии больших диаметров были близки к положению под углом 45° к вертикали. Детектирование контуров яиц программой осуществлялось при минимальных значениях уровня яркости 25 и 50 из 255. Произведены и обработаны программой по два снимка при одинаковых условиях (положения образцов и пороговых значений яркости).

V estnik of Omsk SAU, 2025, no. 3 (59)

AGROENGINEERING

Проанализирована работа программы при разных значениях пороговой яркости пикселей (рис. 6). Один и тот же снимок обработан при значениях яркости от 25 до 100 с шагом 5.

Рис. 6. Пороговые значения яркости: 25, 60, 100.

Результаты анализа свидетельствуют об отсутствии влияния помех на точность обнаружения контуров образцов. При этом устранение помех приводит к снижению точности распознавания контуров яиц. Наиболее ярко данная тенденция выражена для образца в правом нижнем углу каждого снимка на рис. 6. Большие и малые диаметры яиц измерены посредством штангенциркуля и с помощью СКЗ. Для перевода значений расстояний в пикселях в значения в миллиметрах использован калибровочный объект с известными размерами (рис. 7).

Рис. 7. Калибровка размеров

Данные о размерах и относительных ошибках измерения для каждого образца при положении образцов с наклоном оси симметрии яйца 45° к вертикали при пороговом значении яркости 50 приведены в табл. 1.

V estnik of Omsk SAU, 2025, no. 3 (59)

AGROENGINEERING

Таблица 1

Данные о размерах и относительных ошибках измерения при расположении образцов с наклоном оси 45°

Большой диаметр

Малый диаметр

px

мм

мм (СКЗ)

Ошибка, %

px

мм

мм (СКЗ)

Ошибка, %

1

449

57,9

57,81

0,16

365

45,2

45,42

0,49

2

475

60,3

60,60

0,50

355

45,2

45,29

0,21

3

462

59,2

58,95

0,43

348

45,3

45,40

0,22

4

439

57,5

57,13

0,64

337

43,2

43,92

1,67

5

476

60,8

60,73

0,11

369

45,5

45,08

0,92

6

457

57,9

58,31

0,70

348

45,3

44,52

1,72

7

468

60,3

59,71

0,98

343

45,1

45,76

1,46

8

425

56,5

55,82

1,20

331

43,1

43,53

1,00

Средняя ошибка измерения размеров (большого и малого диаметров) составила 0,8%. Графически различия ошибок измерения большого и малого диаметра для каждого образца представлены на рис. 8.

■ Б о льшой днам етр   ■ Малый дням етр

Рис. 8. о шибки измерений больших и малых диаметров образцо в

В табл. 2 приведены данные для горизонтального расположения образцов при пороговом значении яркости 50.

Таблица 2

Данные о размерах и относительных ошибках измерения для горизонтального расположения образцов

Большой диаметр

Малый диаметр

px

мм

мм (СКЗ)

Ошибка, %

px

мм

мм (СКЗ)

Ошибка, %

1

454

57,9

57,92

0,04

357

45,2

45,55

0,77

2

474

60,3

60,48

0,29

359

45,2

45,80

1,34

3

463

59,2

59,07

0,22

352

45,3

44,91

0,86

4

442

57,5

57,39

0,19

332

43,2

43,36

0,37

5

481

60,8

61,37

0,94

359

45,5

45,80

0,67

6

453

57,9

57,80

0,18

350

45,3

44,66

1,42

7

466

60,3

59,46

1,40

348

45,1

44,40

1,55

8

427

56,5

55,88

1,10

325

43,1

43,47

0,86

V estnik of Omsk SAU, 2025, no. 3 (59)

AGROENGINEERING

Средняя ошибка измерения размеров составила 0,76% (рис. 9).

■ Большой диаметр  ■ Малый диаметр

Рис. 9. Ошибки измерений больших и малых диаметров образцов

Также проведено сравнение средних ошибок измерения линейных размеров контуров яиц при углах поворота образцов 90° и 45° к вертикали. Сравнение имеет графическое представление (рис. 10).

■ Наклон образцов 90°   ■ Наклон образцов 45°

Рис. 10. Ошибки измерений размеров образцов

Средняя ошибка измерения размеров при разных положениях анализируемых образцов составила 0,76%.

Заключение

В рамках данной работы была разработана система компьютерного зрения для автоматизированной неразрушающей оценки качества и классификации куриных яиц. При сравнении значений размеров образцов, полученных посредством измерения штангенциркулем и СКЗ, показан высокая точность определения большого и малого диаметра яиц. Средняя точность измерений составила 99.24%. Данная СКЗ может быть применена для автоматической классификации яиц, а также для автоматической оценки их пригодности к последующей инкубации, исходя из соотношений размеров с учетом оценки объема и массы яиц предлагаемым неразрушающим методом. А также для обнаружения дефектов: таких, как трещины, грязные пятна и пятна крови на яичной скорлупе.

V estnik of Omsk SAU, 2025, no. 3 (59) AGROENGINEERING

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