«ТЕХНОЛОГИЯ И ТЕХНИЧЕСКОЕ СРЕДСТВО БЕСКОНТАКТНОГО ИЗМЕРЕНИЯ ВЛАЖНОСТИ ПОЧВЫ НА ОСНОВЕ ИНФРАКРАСНОГО ИЗЛУЧЕНИЯ ...»
146. Marchand Patrick. Graphics and GUIs with MATLAB / by Patrick Marchand and O. Thomas Holland [Text] / Patrick Marchand // Boca Raton London New York Washington, D.C – 3rd ed.
147. Ortiz Laurel H. Aplicacion de la agricultura de precision en Mexico apoyada en tecnologias simplificadas [Text] / Ortiz Laurel H., D. Rossel, H. Hoffmann – Okologische Hefte der Landwirtschaftlich-Gartnerischen Fak.. Berlin, 2003; H.18,S.
101- 148. Rosenblat, F. Principles of Neurodynamics. Washington D.C.: Spartan Press, 1961. [Text] / F. Rosenblat // Пер. с англ. Розенблатт Ф. Принципы нейродинамики. М.: Мир, 1965.
149. Westervelt. GIS in site-specific agriculture. [Text] / Westervelt, James D., Reetz, Harold F. Danville, 111.: Interstate Publishers, c2000. v, 58 p. : ill. (somecol.);
26 cm.
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ А
ИСПОЛЬЗОВАНИЕ ТЕПЛОВИЗОРА ДЛЯ ОЦЕНКИ ВЛАЖНОСТИ
ИК ИЗОБРАЖЕНИЯ ПОЧВЫ РАЗЛИЧНОЙ ВЛАЖНОСТИ, ПОЛУЧЕННЫЕ
ТЕПЛОВИЗОРОМ SDSHOTFIND L (sat№ – W% – номер кадра и влажностьИК ИЗОБРАЖЕНИЯ ПОЧВЫ РАЗЛИЧНОЙ ВЛАЖНОСТИ, ПОЛУЧЕННЫЕ
ТЕПЛОВИЗОРОМ SDSHOTFIND L
(sat№ - W% – номер кадра и влажность почвы, %)А1. ХАРАКТЕРИСТИКА ПРИБОРА ДЛЯ ТЕПЛОВИЗИОННОГО ИЗМЕРЕНИЯ
ИЗЛУЧЕНИЯ ПОЧВЫ.
Тепловизор – это оптико-электронная система, предназначенная для получения видимого изображения объектов, испускающих инфракрасное излучение [53, 34]. Большинство современных тепловизоров работает в спектральном диапазоне от 7,5 до 14 мкм.эффективных инструментов применяемым для решения большинства задач, связанных с оценкой температурных полей на расстоянии [6].
Тепловизор – устройство для наблюдения за распределением температуры исследуемой поверхности, рисунок А1.1.
Распределение температуры отображается на дисплее тепловизора как цветовое поле, где определнной температуре соответствует определнный цвет [93, 77].
Технические характеристики тепловизора SDS Hot find L приведены в таблице А1.1.
Таблица А1.1 – Технические характеристики Диапазон измерений Минимально различимая разность температур Точность измерений Детектор Спектральный диапазон от 7,5 до 14 мкм клавиатура; 9 – дисплей
А2. МЕТОДИКА ПРОВЕДЕНИЯ ИЗМЕРЕНИЙ ИНФРАКРАСНОГО
ИЗЛУЧЕНИЯ ПОЧВЫ ТЕПЛОВИЗОРОМ SDS HOTFIND L.
Целью проведения данного эксперимента является – оценка возможности измерения влажности почвы по величине сигнала тепловизионного датчика.Измерение ИК температуры почвы тепловизором осуществлялось на стенде, представленного на рисунке А2.1. Стенд предназначен для восприятия ИК излучение жидкой фазы, прошедшей через газовую фазу, – излучение твердой фазы, прошедшей через газовую фазу и – излучение фона, которое воспринимается чувствительным элементом 3.
1 – ячейка с почвой (чернозем); 2 – поле зрения тепловизора; 3 – чувствительный элемент; 4 – корпус тепловизора; 5 – штатив; – излучение газовой фазы; – излучение жидкой фазы, прошедшей через газовую фазу; – излучение твердой фазы, прошедшей через газовую фазу; – излучение источника; – излучение фона Рисунок А2.1 – Измерение инфракрасного излучения почвы с помощью тепловизора SDS HOTFIND L: а) схема; б) общий вид стенда Процесс измерения ИК излучения происходит следующим образом.
Тепловизор 4, закрепленный на штативе 5 на расстоянии от поверхности почвы мм, фиксирует ИК-излучение. Измерения сохраняются на встраиваемой карте памяти и отображаются на дисплее прибора. Информация о состоянии почвы содержится в каждом пикселе ИК изображения тепловизора.
После серии измерений информация с карты памяти переносилась на компьютер, где с помощью приданных к тепловизору программных средств, исходный формат *sat преобразовывался в формат таблицы *xls. Для снижения возможных ошибок и помех из ИК фотографии использовалась только центральная часть размером 100х100 пикселов. Таким образом, накапливалась база данных ИК изображений почвы, таблица В2, ПРИЛОЖЕНИЕ В. Фрагмент ИК изображения и его цифровой эквивалент, полученного с помощью программы SatIrReportStd [79], приведен на рисунке А2.2. На пересечении столбца и строки находятся величины температуры отдельной точки почвы. Количество таких таблиц в базе данных соответствует числу изображений, полученных в процессе лабораторных или полевых измерений.
Полученные результаты по всему эксперименту заносятся в общую таблицу В3, ПРИЛОЖЕНИЕ В.
Рисунок А2.2 – Фрагмент инфракрасного изображения почвы в цифровом виде
А3. РЕЗУЛЬТАТЫ ЛАБОРАТОРНЫХ ИССЛЕДОВАНИЙ ЗАВИСИМОСТИ ИК
СИГНАЛА ТЕПЛОВИЗОРА ОТ ВЛАЖНОСТИ ПОЧВЫ И ФАКТОРОВ
ОКРУЖАЮЩЕЙ СРЕДЫ
В соответствии с методикой, представленной в главе 3, были исследованы зависимости инфракрасного излучения и температуры почвы от е влажности и одновременно на одних и тех же образцах почвы. Результаты эксперимента приведены в таблице В.3, ПРИЛОЖЕНИЕ В.На основании [10], создана база данных «ИК изображений образцов почвы по влажности». Структура базы данных приведена в таблице А3.1. Результаты исследования приведены в таблице В.2, ПРИЛОЖЕНИЕ В. База данных содержит 500 ИК-изображений и их цифровое и качественное описание. Примеры ИК изображений приведены выше (ПРИЛОЖЕНИЕ А).
Таблица А3.1 – Фрагмент базы данных «ИК изображения образцов почвы по влажности»
В таблице А3.1 представлены следующие параметры: № кадра тепловизора – номер ИК изображения почвы в виде «sat00001» в формате *sat; № файла Excel –соответствует № кадра тепловизора и несет цифровую информацию об ИК изображении почвы в виде матрицы температур в формате *xls; Wpv,% процентное содержание влаги в почве; Q2, мл – количество добавленной воды; Tpv, С – температура почвы с влагомера TR-46908; Tv, оС – температура воздуха; Wv, % - относительная влажность воздуха.
С помощью прикладного пакета программ MathCAD [73, 91], были получены гистограммы распределения температуры по кадру ИК изображения для различного количества добавленной в почву воды, рисунок А3.1.
Рисунок А3.1 – Гистограммы распределения температуры ИК изображений для различного количества добавленной в почву воды Гистограммы имеют различную форму распределения и перекрываются, хотя измерения проводились при одинаковых условиях. По мере увеличения количества добавляемой воды (влажности) в емкость с почвой, температура последней снижается. Это указывает на наличие неуправляемых переменных, присутствующих в фоне: угла наклона прибора; посторонних объектов рядом с прибором и влияние оператора. Было рассмотрено влияние каждого параметра на влажность отдельно.
По данным таблицы В.3, ПРИЛОЖЕНИЯ В, получена регрессионная зависимость среднего по кадру значения показаний тепловизора от количества добавленной воды Тsrt(Q2), рисунок А3.2.
На этом рисунке исходные данные температур взяты относительно ее средней величины по всему изображению. Эта зависимость аппроксимируется регрессией 2-го порядка, однако наблюдается очень высокое среднеквадратическое отклонение, иногда превосходящее сам сигнал при низком значении коэффициента детерминации. Это не позволяет Рисунок А3.2 – Зависимость значений тепловизора по кадру от количества добавленной зависимость ИК сигнала от воды обработки информации с тепловизора при ее определении.
Нелинейность зависимости среднего сигнала тепловизора Tsrt от объема воды Q1 объясняется разным характером влияния жидкой фазы на температуру почвы. При малых значениях Q1 увеличение последнего, имеющую температуру большую, чем температура почвы, приводит к увеличению испарения, т.е. оттоку энергии от смеси почва – жидкость, что приводит к снижению температуры.
Дальнейшее увеличение объема добавляемой воды приводит к повышению температуры за счет теплоемкости жидкой фазы.
Коэффициент детерминации между средней температурой по кадру Тsrt и количеством добавленной воды Q1 низок и не объясняет зависимости этих переменных друг от друга. Источниками такой низкой зависимости являются неуправляемые фоновые шумы, которые были допущены при проведении данного эксперимента, а так же неравномерность измеряемой температуры по кадру тепловизора, что подтверждается распределением температур по кадру приведенная на рисунке А3.3 (таблица В.2 ПРИЛОЖЕНИЕ В, кадр тепловизора №1360 по каталогу базы данных ИК изображений образцов почвы по влажности «POCHVA»).
температура имеет достаточно сильную изменчивость по кадру (3 оС и более) с минимальным значением в центре. При температуры при соответствующих
ПРИЛОЖЕНИЕ Б
ИЗОБРАЖЕНИЯ ИССЛЕДУЕМОЙ ПОЧВЫ С РАЗЛИЧНОЙ СТРУКТУРОЙ,
РАСТИТЕЛЬНОСТЬЮ И ВЛАЖНОСТЬЮ
ИЗОБРАЖЕНИЯ ИССЛЕДУЕМОЙ ПОЧВЫ С РАЗЛИЧНОЙ СТРУКТУРОЙ,
РАСТИТЕЛЬНОСТЬЮ И ВЛАЖНОСТЬЮ
сухая с растительностью сухая, растрескавшаяся с растительностью с редкой растительностью влажная с растительностью с густой растительностью сильно влажная с растительностьюПРИЛОЖЕНИЕ В
Таблица В.1 – Исходные данные по эксперименту исследования сигналов ИК приемников (расшифровка наименований столбцов в разделе 3) Таблица В.2 – Каталог базы данных «POCHVA» ИК изображений образцов почвы по влажности (расшифровка наименований столбцов приведена в разделе 3) Таблица В.3 – Исходные данные по эксперименту исследования сигналов ИК температуры тепловизором SDS Hotfind L и пироэлектрического датчика MLX (расшифровка наименований столбцов приведена в разделе 3) Таблица В.4 – Дополнение таблицы В.4 «Исходные данные по эксперименту исследования сигналов ИК температуры пироэлектрическим датчиком MLX» (расшифровка наименований столбцов приведена в разделе 3) сигналов прибором «ИКВП – 01» в полевых условиях (расшифровка наименований столбцов приведена в разделе 3) № п/п точки Таблица В.6 – Исходные данные по эксперименту исследования ИК сигналов прибором «ИКВП – 01» в плодовом саду ОПО ВНИИС им.И.В. Мичурина (расшифровка наименований столбцов приведена в разделе 3) п/п измеренияПРИЛОЖЕНИЕ Г
ЛИСТИНГ ПРОГРАММЫ ПРОВЕРКИ АППРОКСИМИРУЮЩИХ МОДЕЛЕЙ
НА АДЕКВАТНОСТЬ «STAT_ANALYZE.*XMCD»Ввод исходных данных Моделируем вспомогательную выборку – добавляем шум Получим независимую оценку дисперсии вспомогательной выборки Оценка параметров модели Составляем матрицу регрессоров Информационная матрица Матрица ошибок Оценка параметров Ввести модель. Предсказанные значения Статистический анализ регрессионной модели Остаточная сумма квадратов Число степеней свободы Оценка дисперсии (остаточная дисперсия) Сумма квадратов, обусловленная уравнением регрессии Дисперсия, обусловленная регрессией Полная сумма квадратов Проверка Проверка адекватности модели Независимая оценка дисперсии Дисперсионное отношение Фишера Критическая точка Функция принятия решения Проверка гипотезы о значимости коэффициента детерминации Коэффициент детерминации (множественной корреляции) в случае парной регрессии (функция одной переменной) равен квадрату коэффициента корреляции между наблюдаемыми и предсказанными значениями определяемой переменной. Он является обобщенной (суммарной) мерой качества регрессионной модели.
Статистика критерия – отношение дисперсии, обусловленной регрессией к остаточной дисперсии:
Критическая точка Функция принятия решения Проверка гипотезы о значимости коэффициентов модели Дисперсия оценок Задаем уровень значимости и находим критическую точку Рассчитываем статистику для каждого коэффициента модели Вводим функцию принятия решения и находим ее значения, на основании которой делаем вывод о значимости коэффициентов. Если коэффициент не значим, то соответствующий член уравнения исключается.
Нормированные остатки
ПРИЛОЖЕНИЕ Д
НЕЙРОННЫЕ СЕТИ
Нейронные сети – исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости [2, 12, 42, 71, 90, 122]. Известно, что искусственные нейронные сети – это математические модели, а также их программные реализации, построенные по принципу организации и функционирования нервных клеток живого организма.Искусственные нейронные сети состоят из совокупности элементов – нейронов, соединенных между собой синаптическими связями. Это распределенные и параллельные системы, способные к адаптивному обучению путем реакции на положительные и отрицательные воздействия. Математически нейронные сети обеспечивают расчет параметров множественной нелинейной регрессии [2].
Нейронная сеть – это адаптивная система для обработки и анализа данных, включающая в себя математическую структуру, имитирующую некоторые функции человеческого мозга, например, такие как способность к неформальному обучению и обобщению.
Нейросети в принципе не нуждаются в заранее известной модели, а строят ее сами только на основе предъявляемой информации. Поэтому нейронные сети и вошли в практику всюду, где нужно решать задачи прогнозирования, классификации, управления, т.е., где есть плохо алгоритмизуемые задачи, для квалифицированных экспертов, либо адаптивные системы автоматизации, каковыми и являются нейронные сети.
Нейронная сеть принимает входные сигналы и анализирует их способом, аналогичным тому, что использует наш мозг. В процессе анализа сеть обучается (приобретает опыт и знания) и выдает выходную информацию на основе приобретенного в процессе обучения, в том числе и более раннего, опыта.
Применение нейронной сети для обработки данных и аппроксимации в данной работе обусловлено:
накоплены достаточные объемы данных о взаимосвязи сигналов пироэлектрического датчика и влажности почвы на фоне изменяющихся взаимозависимых условий его работы и формирования самой влажности;
не существует традиционных методов или алгоритмов, которые удовлетворительно решают проблему выделения сигнала от влажности на фоне остальных шумов;
большое количество входных данных, между которыми существуют неявные взаимосвязи и закономерности. В этом случае, нейросети могут автоматически учесть различные нелинейные зависимости, скрытые в данных;
данные частично искажены, частично противоречивы или не полны и поэтому традиционные методы на фоне плохо планируемого эксперимента выдают неудовлетворительный результат.
ПРИЛОЖЕНИЕ Е
ЛИСТИНГ ПРОГРАММЫ ДЛЯ ВЫБОРА СТРУКТУРЫ И АЛГОРИТМА
ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ «OBUCHENIE_NEIROVLAGOMER.*M»
clear,clc format short g disp ('**************Обучение нейронной сети**********************') %% Загрузка данных для обучения (формирование обучающей выборки) disp ('**************загрузка данных для обучения**********************') baza=xlsread('KOMSOMOLEC.xls');%чтение даных из файла (выход - влажность) nn=1; nk=57;% начало и конец строк базы Y1=baza(nn:nk,5);Y2=baza(nn:nk,6);
X1=baza(nn:nk,1);
X2=baza(nn:nk,2);
X3=baza(nn:nk,3);
X4=baza(nn:nk,4);
T1=baza(nn:nk,7);
T2=baza(nn:nk,8);
%% масштабирование данных входного и целевого векторов к интервалу (-1 1) [Y1n,minY1,maxY1]=premnmx(Y1);
[Y2n,minY2,maxY2]=premnmx(Y2);
[X1n,minX1,maxX1]=premnmx(X1);
[X2n,minX2,maxX2]=premnmx(X2);
[X3n,minX3,maxX3]=premnmx(X3);
[X4n,minX4,maxX4]=premnmx(X4);
[T1n,minT1,maxT1]=premnmx(T1);
[T2n,minT2,maxT2]=premnmx(T2);
% Формирование входного вектора Y1n=Y1n';Y2n=Y2n';X1n=X1n';X2n=X2n';X3n=X3n';X4n=X4n';T1n=T1n';T2n=T2n';
p1=[Y1n; Y2n; X1n; X2n; X4n];
% Формирование выходного вектора t1=[T2n];
%[p,meanp1,stdp1,t,meant1,stdt1]=prestd(p1,t1);
p=p1;t=t1;
%=========================================================================
%% ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ
kk=10; % число нейронов входного слоя net = newff([-1 1; -1 1; -1 1; -1 1; -1 1],[kk 1],{'logsig' 'purelin'},'trainlm');%newff-тип сети; minmax(pn)- минимальное - максимальное значения %входного вектора; [kk 1]- число нейронов входного (кк) и выходного (1 и более) % слоев сети; logsig- функция активации входного слоя; purelin - функция % активации выходного слоя; traincgb - алгоритм обучения gensim(net) Y=sim(net,p);
figure, plot(p,t,p,Y,'o') w=net.IW{1}, b=net.b{1} % Параметры обучения нейронной сети:
net.trainParam.epochs=12000; % максимальное число циклов обучения net.trainParam.goal = 0.0005;%заданная ошибка обучения %Обучение сети:
net = train(net,p,t);% обучение сети m=sim(net,p);%моделирование сети (в обученную сеть подаются %данные обучающей выборки) Y=postmnmx(m,minT2,maxT2);% восстановление данных после масштабирования figure, plot(Y2,T2,Y2,Y,'o'),grid,xlabel('Y2, Tp1-сигнал ИКВП-01,^oC'), ylabel('T2, Wpv-влажность по эл.влагомеру TR-46908,%'), legend('значения обучения','наблюдаемые значения');
%% Тестирование сети ( используется тестовая выборка)=================== disp ('***********загрузка данных тестовой выборки********************') disp ('***********проверка адекватности сети********************') %================формирование тестовой выборки============================= ff=16;
p11=p(:,ff);% чтение входных параметров ( с 161 по 240 стр.) %================тестирование сети ================================== m11=sim(net,p11);%тестирование сети (в обученную сеть подаются Y11=abs(postmnmx(m11,minT2,maxT2));% восстановление данных после масштабирования (по модулю) T2(ff), Y %=====================Нахождение ошибки моделирования сети================= %oshibka=s %вычисление относительной ошибки моделирования сети s=(T2(ff)-Y11)*100/T2(ff) disp(' %') save net
Е1. ЛИСТИНГ ПРОГРАММЫ «OPREDELENIE_NEIROVLAGOMER.*M» ДЛЯ
КОРРЕКТИРОВКИ СИГНАЛА ПРИБОРА ВЛАЖНОСТИ ПОЧВЫ
clear,clc format short g load net disp ('**************Работа нейронной сети по корректировке показаний прибора ') %% Загрузка данных disp ('**************загрузка данных для обучения**********************') baza=xlsread('KOMSOMOLEC.xls');%чтение даных из файла (выход - влажность) nn=1; nk=57;% начало и конец строк базы Y1=baza(nn:nk,5);Y2=baza(nn:nk,6);X1=baza(nn:nk,1);X2=baza(nn:nk,2);X3=baza(nn:nk,3);X4=baza(nn:nk,4);T1=baza(nn:nk,7);T2=baza(nn:nk,8);
%% масштабирование данных входного и целевого векторов к интервалу (-1 1) [Y1n,minY1,maxY1]=premnmx(Y1);[Y2n,minY2,maxY2]=premnmx(Y2);
[X1n,minX1,maxX1]=premnmx(X1);[X2n,minX2,maxX2]=premnmx(X2);
[X3n,minX3,maxX3]=premnmx(X3);[X4n,minX4,maxX4]=premnmx(X4);
[T1n,minT1,maxT1]=premnmx(T1);[T2n,minT2,maxT2]=premnmx(T2);
% Формирование входного вектора Y1n=Y1n';Y2n=Y2n';X1n=X1n';X2n=X2n';X3n=X3n';X4n=X4n';T1n=T1n';T2n=T2n';
p1=[Y1n; Y2n; X1n; X2n; X4n];
% Формирование выходного вектора t1=[T2n];p=p1;t=t1;
%% Тестирование сети ( используется тестовая выборка)=================== %================формирование тестовой выборки============================= %ff=7;% Задание строки тестовой базы FF=56; %Ввод количества строк для тестирования for ff=1:FF p11=p(:,ff);% чтение входных параметров ( с 161 по 240 стр.) %================тестирование сети ================================== m11=sim(net,p11);%тестирование сети (в обученную сеть подаются Y11(ff)=abs(postmnmx(m11,minT2,maxT2));% восстановление данных после масштабирования (по модулю) %=====================Нахождение ошибки моделирования сети================= %oshibka=s %вычисление относительной ошибки моделирования сети s1(ff)=(T2(ff)-Y11(ff))*100/T2(ff);
end Y10=Y11'; s=s1';T20=T2(1:FF);
RR=[T20, Y10, s] disp(' Средняя ошибка, %') ss=mean(abs(s)) %plot (Y11,T20,'.') xlswrite('vlazhnost_exp.xls',RR,'A1:C56');%запись полученного значения %влажности в новый документ формата xls %Выполним ввод степени полинома s=1;
%Осуществим подбор коэффициентов y=b0+b1*x^1+...+bn*x^n X=T20';
b1=polyfit(Y11,X,s);
%Определеним массив для построения графика функции x11=sort(Y11);
t1=x11(1):0.1:x11(length(x11));
%Определим новые значения,полученные с применением подобранных %коэффициентов yi1=polyval(b1,t1);
%Вывод коэффициентов bs1=[b1];
%Графический вывод результатов plot(Y11,X,'ok',t1,yi1,'-k','LineWidth',1),grid,xlabel('Y11, W-влажность по ИКВП-01,%'), ylabel('T2, Wpv-влажность по эл.влагомеру TR-46908,%') %title('Зависимость'), подпись заголовка графика %text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)',...
% 'HorizontalAlignment','left') legend('наблюдаемые значения','значения регрессии');