RU2805670C2 - Detection of plants diseases by classification of plants photography - Google Patents
Detection of plants diseases by classification of plants photography Download PDFInfo
- Publication number
- RU2805670C2 RU2805670C2 RU2021114056A RU2021114056A RU2805670C2 RU 2805670 C2 RU2805670 C2 RU 2805670C2 RU 2021114056 A RU2021114056 A RU 2021114056A RU 2021114056 A RU2021114056 A RU 2021114056A RU 2805670 C2 RU2805670 C2 RU 2805670C2
- Authority
- RU
- Russia
- Prior art keywords
- data
- marked
- areas
- diseases
- ssd
- Prior art date
Links
Abstract
Description
Уведомление об авторском правеCopyright notice
Часть описания данного патентного документа содержит материал, на который распространяется защита авторских прав. Владелец авторских прав не возражает против факсимильного воспроизведения кем-либо патентного документа или описания патента, как это фигурирует в патентном фонде или записях патентного ведомства по патентам и торговым маркам, но с другой стороны сохраняет за собой все авторские права или права, какими бы они ни были. © 2015-2019 Корпорация по защите климата.Portions of the specification of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of a patent document or patent specification as it appears in the patent file or the records of the Patent and Trademark Office, but otherwise retains all copyrights or rights whatsoever. were. © 2015-2019 Climate Protection Corporation.
Область примененияApplication area
Настоящее изобретение относится к техническим областям обнаружения заболеваний растений и машинного обучения. Настоящее изобретение также относится к технической области совершенствования конфигурации и тренировки моделей машинного обучения для распознавания болезней растений.The present invention relates to the technical fields of plant disease detection and machine learning. The present invention also relates to the technical field of improving the configuration and training of machine learning models for plant disease recognition.
Уровень техникиState of the art
Методы, описанные в этом разделе, представляют собой методы, которые можно было бы применить, но необязательно методы, которые были ранее разработаны или применены. Поэтому, если не указано иное, не следует исходить из того, что любой из методов, описанных в этом разделе, квалифицируется как уровень техники лишь в силу его включения в данный раздел.The methods described in this section represent methods that could be applied, but not necessarily methods that have been previously developed or applied. Therefore, unless otherwise noted, it should not be assumed that any method described in this section qualifies as prior art simply by virtue of its inclusion in this section.
Обнаружение болезней растений имеет важное значение в сельском хозяйстве. Сегодня автоматизированный подход часто предполагает классификацию фотснимков растений, которая может быть реализована путем применения сверточной нейронной сети (CNN), имеющей множество сверточных слоев. Некоторые CNN работают совместно посредством двухэтапного подхода, при котором первая CNN обычно предлагает интересующие области в пределах данных изображений, а вторая CNN затем классифицирует каждую предложенную область. Некоторые CNN требуют, чтобы все изображения были фиксированного размера. Существуют CNN, которые могут делать снимки разных размеров, а также предлагать и классифицировать интересующие области на одном фотоснимке с высоким качеством. Учитывая различные симптомы болезней растений, было бы полезно специально сконфигурировать и обучить такую CNN для классификации фотснимков растений и выявить инфекцию болезней растений для содействия здоровью и росту растений.Detection of plant diseases is important in agriculture. Today, an automated approach often involves classifying plant photographs, which can be implemented by using a convolutional neural network (CNN) with many convolutional layers. Some CNNs work together through a two-step approach, where the first CNN typically suggests regions of interest within the image data, and the second CNN then classifies each proposed region. Some CNNs require all images to be a fixed size. There are CNNs that can take pictures of different sizes and suggest and classify regions of interest in a single photo with high quality. Considering the various symptoms of plant diseases, it would be useful to specifically configure and train such a CNN to classify plant photographs and identify plant disease infection to promote plant health and growth.
Краткое описание изобретенияBrief description of the invention
Прилагаемая формула изобретения может служить кратким описанием изобретения.The attached claims may serve as a brief description of the invention.
Краткое описание чертежейBrief description of drawings
В графических материалах показано следующее.The graphic materials show the following.
На фиг.1 показан пример автоматизированной системы, рассчитанной на выполнение описанных здесь функций, показанной в окружении других устройств, с которыми система может взаимодействовать.Figure 1 shows an example of an automated system designed to perform the functions described herein, shown surrounded by other devices with which the system can interact.
На фиг.2 показаны два примера логической организации наборов инструкций в оперативной памяти при загрузке для выполнения мобильного приложения, взятого в качестве примера.Figure 2 shows two examples of the logical organization of sets of instructions in RAM when loading to execute an example mobile application.
На фиг.3 показан программируемый процесс, посредством которого автоматизированная система агроинтеллекта создает одну или несколько предварительно конфигурированных агрономических моделей, используя агрономические данные, предоставляемые одним или несколькими источниками данных.Figure 3 illustrates a programmable process by which an automated agrointelligence system creates one or more pre-configured agronomic models using agronomic data provided by one or more data sources.
На фиг.4 представлена блок-схема, иллюстрирующая автоматизированную систему, на которой может быть реализован вариант осуществления изобретения.FIG. 4 is a block diagram illustrating an automated system on which an embodiment of the invention may be implemented.
На фиг.5 приведен пример отображения последовательного графика работ для ввода данных.Figure 5 shows an example of displaying a sequential work schedule for data entry.
На фиг.6 представлен пример варианта электронной таблицы для ввода данных.Figure 6 shows an example of a spreadsheet for data entry.
На фиг.7А представлены фотоснимка кукурузных листьев, каждая из которых имеет симптомы одного заболевания.Figure 7A shows a photograph of corn leaves, each of which has symptoms of one disease.
На фиг.7В приведен пример фотоснимка кукурузного листа с симптомами нескольких заболеваний.Figure 7B shows an example of a photograph of a corn leaf showing symptoms of several diseases.
На фиг.8 показан примерный процесс применения немаксимального подавления для уточнения первоначального классификационного результата до конечного классификационного результата.FIG. 8 shows an exemplary process for applying non-maximum suppression to refine an initial classification result to a final classification result.
На фиг.9 показан пример метода, выполненного сервером, который запрограммирован для конфигурирования и применения сверточной нейронной сети для обнаружения болезней растений.Figure 9 shows an example of a method performed by a server that is programmed to configure and apply a convolutional neural network for plant disease detection.
Подробное описаниеDetailed description
Далее в описании, с целью объяснения, изложено множество конкретных деталей, для того чтобы обеспечить глубокое понимание настоящего изобретения. Однако должно быть очевидно, что варианты осуществления могут быть выполнены и без этих конкретных деталей. В других случаях хорошо известные структуры и устройства показаны в ввиде блок-схемы, чтобы избежать излишнего затушевывания настоящего изобретения. Варианты осуществления раскрываются в разделах в соответствии со следующим планом.In the following, for purposes of explanation, many specific details are set forth in order to provide a thorough understanding of the present invention. However, it should be obvious that embodiments can be implemented without these specific details. In other cases, well-known structures and devices are shown in block diagram form to avoid unnecessarily obscuring the present invention. Embodiments are disclosed in sections according to the following outline.
1. Общий обзор1. General overview
2. Пример автоматизированной системы агроинтеллекта2. An example of an automated agrointelligence system
2.1. Обзор структуры2.1. Structure overview
2.2. Обзор программного приложения2.2. Software Application Overview
2.3. Прием данных в автоматизированную систему2.3. Reception of data into an automated system
2.4. Обзор процесса - обучение агрономической модели2.4. Process Overview - Agronomic Model Training
2.5. Пример внедрения - аппаратное обеспечение2.5. Implementation example - hardware
3. Описания функций3. Descriptions of functions
3.1. Выявление заболевания растений3.1. Detection of plant diseases
3.2. Конфигурация цифровой модели3.2. Digital model configuration
3.3. Последовательность обучения и построение цифровой модели3.3. Sequence of training and construction of a digital model
3.4. Исполнение цифровой модели3.4. Execution of the digital model
3.5. Примеры процессов3.5. Examples of processes
4. Расширения и альтернативы4. Extensions and alternatives
1. Общий обзор1. General overview
Раскрыты система и технологические способы конфигурирования и применения сверточной нейронной сети (CNN) для распознавания болезней растений. В некоторых вариантах осуществления система запрограммирована на сбор фотоснимков зараженных растений или листьев, на которых отмечены области с симптомами заражения. Каждый фотоснимок может иметь несколько отмеченных областей. В зависимости от размера или группировки симптомных областей одна отмеченная область может включать только одно повреждение, вызванное одной болезнью, в то время как другая может включать множественные, близко расположенные повреждения, вызванные одной болезнью. Система запрограммирована на определение якорных рамок (по умолчанию рамок), имеющих различные соотношения сторон, в зависимости от этих отмеченных областей, для каждого сверточного слоя одностадийного многорамочного детектора (Single Shot Multibox Detector - SSD). Для некоторых типов растений распространенные заболевания приводят, в общем, ко многим соотношениям сторон, часть из которых имеет довольно экстремальные значения. Система запрограммирована на обучение SSD с использованием отмеченных областей и якорных рамок и на применение SSD к новым фотоснимкам для идентификации заболевших растений.A system and technological methods for configuring and using a convolutional neural network (CNN) for recognizing plant diseases are disclosed. In some embodiments, the system is programmed to collect photographs of infested plants or leaves that indicate areas of infestation symptoms. Each photo can have multiple marked areas. Depending on the size or grouping of symptomatic areas, one marked area may include only one lesion caused by a single disease, while another may include multiple, closely spaced lesions caused by a single disease. The system is programmed to detect anchor boxes (frames by default) having different aspect ratios, depending on these marked regions, for each convolutional layer of a Single Shot Multibox Detector (SSD). For some plant types, common diseases result in generally many aspect ratios, some of which are quite extreme. The system is programmed to learn SSD using marked areas and anchor boxes and to apply SSD to new photographs to identify diseased plants.
В некоторых вариантах осуществления система запрограммирована на сбор помеченных фотоснимков листьев кукурузы. Каждый фотоснимок может иметь одну или несколько отмеченных областей (эталонных рамок). Каждая отмеченная область может иметь одно или несколько повреждений, вызванных одним из множества заболеваний кукурузы, и быть помеченным одним заболеванием кукурузы. Система может быть запрограммирована на дальнейшую обработку отмеченных областей. В частности, система может быть запрограммирована на разделение отмеченной области на несколько или объединение нескольких отмеченных областей в одну на основе того, как области, соответствующие повреждению, размечены или сгруппированы на фотоснимке. Например, эксперт мог отметить на фотоснимке две части большого кластера повреждений, вызванных Южной Ржавчиной. Систему можно запрограммировать на слияние и расширение двух частей в одну отмеченную область, охватывающую весь кластер, потому что области, соответствующие разобщенным повреждениям в кластере, расположены близко друг к другу, а кластер покрывает большую часть листа.In some embodiments, the system is programmed to collect tagged photographs of corn leaves. Each photo can have one or more marked areas (reference frames). Each marked area may have one or more lesions caused by one of a variety of corn diseases and be labeled with one corn disease. The system can be programmed to further process the marked areas. Specifically, the system can be programmed to split a marked area into multiple marked areas or combine multiple marked areas into one based on how areas corresponding to damage are marked or grouped in the photograph. For example, an expert might note two parts of a large cluster of damage caused by Southern Rust in a photograph. The system can be programmed to merge and expand two parts into one marked region covering the entire cluster because the regions corresponding to dissociated lesions in the cluster are located close to each other and the cluster covers most of the leaf.
В некоторых вариантах осуществления система запрограммирована на определение якорных рамок для каждого из ряда сверточных слоев SSD из полученных отмеченных областей. См. Liu W. и др. (2016) SSD: Single Shot MultiBox Detector в: Leibe В., Matas J., Sebe N., Welling M. (ред.) Computer Vision - ECCV 2016, стр. 21-37. Lecture Notes in Computer Science, том 9905. Springer, Cham. Система может быть запрограммирована на нормализацию и кластеризацию отмеченных областей и на вычисление агрегата для каждого кластера для определения якорной рамки. Каждая якорная рамка может, таким образом, иметь свой масштаб и соотношение сторон, репрезентативное для подмножества отмеченных областей, показывающих симптомы распространенного заболевания кукурузы. Для некоторых болезней кукурузы, соотношение сторон может варьироваться от 1/7 до 7.In some embodiments, the system is programmed to determine anchor boxes for each of a number of SSD convolutional layers from the resulting labeled regions. See Liu W. et al. (2016) SSD: Single Shot MultiBox Detector in: Leibe V., Matas J., Sebe N., Welling M. (eds.) Computer Vision - ECCV 2016, pp. 21-37. Lecture Notes in Computer Science, volume 9905. Springer, Cham. The system can be programmed to normalize and cluster the marked regions and to compute an aggregate for each cluster to determine the anchor frame. Each anchor box may thus have a different scale and aspect ratio representative of a subset of the marked areas showing symptoms of a common corn disease. For some corn diseases, the aspect ratio may vary from 1/7 to 7.
В некоторых вариантах осуществления система запрограммирована на привязку каждой отмеченной области к якорной рамке в зависимости от формы отмеченной области. В частности, система может быть конфигурирована на завершение успешной привязки, когда совмещение якорной рамки может покрыть больше предопределенной процентной величины от отмеченной области. Далее система запрограммирована на обучение SSD изображениями, содержащими отмеченные области, соответствующие метки, якорные рамки и привязки.In some embodiments, the system is programmed to anchor each marked area to an anchor frame based on the shape of the marked area. In particular, the system can be configured to complete a successful snap when the anchor frame alignment can cover more than a predetermined percentage of the marked area. The system is then programmed to train the SSD with images containing marked areas, corresponding labels, anchor boxes and anchors.
В некоторых вариантах осуществления система запрограммирована на получение нового снимка кукурузного листа с клиентского устройства и подведение SSD к новому снимку для получения первоначальной идентификации нескольких областей на снимке и классификацию в одну из болезней кукурузы для каждого из нескольких областей с соответствующей доверительной оценкой. Когда одну и ту же область классифицируют по нескольким заболеваниям кукурузы, некоторые классификации, связанные с относительно низкой доверительной оценкой, могут быть отфильтрованы. Система запрограммирована на последующую передачу результатов классификации на клиентское устройство.In some embodiments, the system is programmed to receive a new image of a corn leaf from a client device and apply an SSD to the new image to obtain an initial identification of multiple regions in the image and a classification into one of the corn diseases for each of the multiple regions with a corresponding confidence score. When the same area is classified into multiple maize diseases, some classifications associated with relatively low confidence scores may be filtered out. The system is programmed to subsequently transmit classification results to the client device.
Система дает всевозможные технические преимущества. Было показано, что SSD достигают лучшей производительности, чем аналогичные CNN, будучи более быстрыми, чем предыдущие одностадийные детекторы, а также более точными, на самом деле столь же точными, как и более медленные методики, генерирующие точные предложения областей и осуществляющие пуллинг. Система обеспечивает подход к настройке и обучению SSD, который особенно подходит для классификации определенных типов задач, таких как симптомы болезней растений. Эти симптомы включают в себя повреждения, которые имеют размер и расположены определенным образом, а подход, предоставляемый системой, улавливает эту специфичность и, таким образом, еще больше улучшает производительность SSD при классификации симптомов болезни растений. Такое улучшение, в свою очередь, ведет к улучшению здоровья и росту растений.The system provides all sorts of technical advantages. SSDs have been shown to achieve better performance than similar CNNs, being faster than previous single-stage detectors and also more accurate, in fact as accurate as slower techniques generating accurate region proposals and performing pooling. The system provides an approach to tuning and training SSDs that is particularly suitable for classifying certain types of tasks, such as plant disease symptoms. These symptoms include lesions that are sized and located in a specific pattern, and the approach provided by the system captures this specificity and thus further improves the performance of SSD in classifying plant disease symptoms. This improvement, in turn, leads to improved plant health and growth.
Другие аспекты и признаки вариантов осуществления станут очевидны из других разделов описания.Other aspects and features of the embodiments will become apparent from other sections of the description.
2. Пример автоматизированной системы агроинтеллекта2. An example of an automated agrointelligence system
2.1. Обзор структуры2.1. Structure overview
На фиг.1 представлен пример автоматизированной системы, предназначенной для выполнения описанных далее функций, показанной в полевых условиях с другими устройствами, с которыми система может взаимодействовать. В одном варианте осуществления пользователь 102 владеет, управляет или обладает вычислительным устройством 104 для управления полевыми работами в полевых условиях или условиях, ассоциируемых с полевыми, таким как поле, предназначенное для сельскохозяйственной деятельности, или место управления одним или несколькими сельскохозяйственными полями. Компьютерное устройство 104 для управления полевыми работами запрограммировано или выполнено с возможностью предоставления полевых данных 106 компьютерной системе 130 агроинтеллекта через одну или более сетей 109.Figure 1 is an example of an automated system designed to perform the functions described below, shown in the field with other devices with which the system can interface. In one embodiment, a user 102 owns, operates, or possesses a computing device 104 for managing field operations in a field environment or environment associated with a field environment, such as a field dedicated to agricultural activity or a management location for one or more agricultural fields. The field management computer device 104 is programmed or configured to provide field data 106 to the agrointelligence computer system 130 through one or more networks 109.
Примеры полевых данных 106 включают:Examples of 106 field data include:
а) идентификационные данные (например, площадь земли, наименование поля, идентификаторы поля, географические идентификаторы, идентификаторы границ, идентификаторы сельскохозяйственных культур и любые другие подходящие данные, которые могут быть использованы для идентификации сельскохозяйственных угодий, таких как единица общинной земли (CLU), номер партии и блока, номер земельного участка, географические координаты и границы, серийный номер фермы (FSN), номер фермы, номер поля, участка, населенного пункта и/или пастбища),a) identification data (e.g. land area, field name, field identifiers, geographical identifiers, boundary identifiers, crop identifiers and any other suitable data that can be used to identify agricultural land, such as community land unit (CLU), number batch and block, land plot number, geographical coordinates and boundaries, farm serial number (FSN), farm number, field number, plot number, settlement and/or pasture),
(b) данные об урожае (например, тип культуры, сорт культуры, севооборот, выращивается ли данная культура органическим способом, дата сбора урожая, фактическая история производства (ΑΡΗ), ожидаемая урожайность, урожайность, цена на продукцию, выручка от выращивания, влажность зерна, практика обработки почвы и информация о предыдущих вегетационных периодах),(b) crop data (e.g. crop type, crop variety, crop rotation, whether the crop is grown organically, harvest date, actual production history (AH), expected yield, yield, product price, crop revenue, grain moisture content , tillage practices and information about previous growing seasons),
(c) данные о почве (например, тип, состав, рН, органическое вещество (ОМ), возможность катионного обмена (ЦЭК)),(c) soil data (e.g. type, composition, pH, organic matter (OM), cation exchange potential (CEC)),
(d) данные о посадке (например, дата посадки, тип семян, относительная зрелость (РМ) посадочного материала, популяция семян),(d) planting data (e.g. planting date, seed type, relative maturity (RM) of planting material, seed population),
(e) данные об удобрениях (например, тип питательных веществ (азот, фосфор, калий), тип применения, дата внесения, количество, источник, метод),(e) fertilizer data (e.g. type of nutrients (nitrogen, phosphorus, potassium), type of application, date of application, quantity, source, method),
f) данные о химическом применении (например, пестицид, гербицид, фунгицид, другое вещество или смесь веществ, предназначенных для использования в качестве регулятора растений, дефолианта или влагопоглотителя, дата применения, количество, источник, метод),f) chemical application data (e.g. pesticide, herbicide, fungicide, other substance or mixture of substances intended for use as a plant regulator, defoliant or desiccant, date of application, quantity, source, method),
g) ирригационные данные (например, дата применения, количество, источник, метод),g) irrigation data (e.g. date of application, quantity, source, method),
h) погодные данные (например, количество осадков, скорость выпадения осадков, прогнозируемые осадки, регион стока воды, температура, ветер, прогноз погоды, давление, видимость, облачность, индекс жары, точка росы, влажность, глубина снега, качество воздуха, восход солнца, закат солнца),h) weather data (e.g. precipitation amount, precipitation rate, forecast precipitation, drainage region, temperature, wind, weather forecast, pressure, visibility, cloudiness, heat index, dew point, humidity, snow depth, air quality, sunrise , sunset),
i) данные съемок (например, снимки и информация о световом спектре, получаемая с помощью датчика сельскохозяйственного оборудования, фотоаппарата, компьютера, смартфона, планшета, беспилотного летательного аппарата, самолета или спутника),i) survey data (for example, images and light spectrum information obtained from an agricultural equipment sensor, camera, computer, smartphone, tablet, drone, aircraft or satellite),
j) данные наблюдений в целях разведки (фотоснимки, видеозаписи, записи в свободной форме, голосовые записи), голосовые транскрипции, погодные условия (температура, осадки (текущие и с течением времени), влажность почвы, стадия роста сельскохозяйственных культур, скорость ветра, относительная влажность, точка росы, черный слой) иj) surveillance data for reconnaissance purposes (photographs, videos, free-form recordings, voice recordings), voice transcriptions, weather conditions (temperature, precipitation (current and over time), soil moisture, crop growth stage, wind speed, relative humidity, dew point, black layer) and
k) почва, семена, фенология сельскохозяйственных культур, сообщения о вредителях и болезнях, а также источники прогнозов и базы данных.k) soil, seeds, crop phenology, pest and disease reports, and forecast sources and databases.
Сервер 108 данных соединен с компьютерной системой 130 агроинтеллекта и запрограммирован или конфигурирован для передачи внешних данных 110 в компьютерную систему 130 агроинтеллекта через сеть 109. Сервер 108 внешних данных может быть в собственности или под управлением того же физического или юридического лица, что и автоматизированная система 130 агроинтеллекта, или другого физического или юридического лица, например, государственного учреждения, неправительственной организации (НПО) и/или частного поставщика услуг по передаче данных. Примерами внешних данных являются, в частности, данные о погоде, снимки, данные о почве или статистические данные, касающиеся урожайности сельскохозяйственных культур. Внешние данные 110 могут содержать ту же информацию, что и полевые данные 106. В некоторых вариантах осуществления внешние данные 110 предоставляет внешний сервер 108 данных, принадлежащий той же самой организации, которая владеет и/или управляет автоматизированной системой 130 агроинтеллекта. Например, автоматизированная система 130 агроинтеллекта может включать сервер данных, сфокусированный исключительно на том типе данных, который в ином случае мог бы быть получен из сторонних источников, таких как данные о погоде. В некоторых вариантах осуществления внешний сервер 108 данных может быть фактически включен в систему 130.The data server 108 is coupled to the agrointelligence computer system 130 and is programmed or configured to transmit external data 110 to the agrointelligence computer system 130 via a network 109. The external data server 108 may be owned or operated by the same individual or entity as the automated system 130 agrointelligence, or other natural or legal entity, such as a government agency, non-governmental organization (NGO) and/or private data service provider. Examples of external data include, but are not limited to, weather data, imagery, soil data or statistics relating to crop yields. External data 110 may contain the same information as field data 106. In some embodiments, external data 110 is provided by an external data server 108 owned by the same organization that owns and/or operates the automated agrointelligence system 130. For example, automated agricultural intelligence system 130 may include a data server focused solely on the type of data that might otherwise be obtained from third-party sources, such as weather data. In some embodiments, the external data server 108 may actually be included in the system 130.
Сельскохозяйственная техника 111 может содержать один или несколько дистанционных датчиков 112, которые прямо или косвенно через сельскохозяйственную технику 111 соединены с автоматизированной системой 130 агроинтеллекта и запрограммированы или конфигурированы на передачу данных датчика в автоматизированную систему 130 агроинтеллекта. Примерами сельскохозяйственной техники 111 являются тракторы, комбайны, уборщики, сеялки, грузовики, оборудование для внесения удобрений, летательные аппараты, включая беспилотные летательные аппараты, и любые другие единицы физических машин или оборудования, как правило, мобильные машины, которые могут быть использованы для выполнения задач, связанных с сельским хозяйством. В некоторых вариантах осуществления одна единица техники 111 может включать множество датчиков 112, которые локально объединены в сеть на этой технике; сеть контроллеров (CAN) является примером такой сети, которая может быть установлена на комбайнах, уборщиках, опрыскивателях и культиваторах. Прикладной контроллер 114 соединен с автоматизированной системой 130 агроинтеллекта через сеть(и) 109 и запрограммирован или конфигурирован на получение одного или нескольких сценариев, которые используются для управления рабочими параметрами сельскохозяйственного транспортного средства или орудия из автоматизированной системы 130 агроинтеллекта. Например, интерфейс шины контроллерной сети (CAN) может быть использован для обеспечения связи от автоматизированной системы 130 агроинтеллекта до сельскохозяйственной техники 111 так, как CLIMATE FIELDVIEW DRIVE, доступная в Климатической корпорации, Сан-Франциско, Калифорния. Данные сенсоров могут содержать ту же информацию, что и полевые данные 106. В некоторых вариантах осуществления дистанционные датчики 112 не могут быть закреплены на сельскохозяйственной технике 111, но могут быть удаленно расположены в поле и могут обмениваться данными по сети 109.The farm equipment 111 may include one or more remote sensors 112 that are directly or indirectly connected through the farm equipment 111 to the automated agrointelligence system 130 and are programmed or configured to transmit sensor data to the automated agrointelligence system 130 . Examples of 111 agricultural equipment include tractors, combines, harvesters, seeders, trucks, fertilizer application equipment, aircraft, including unmanned aerial vehicles, and any other piece of physical machinery or equipment, typically mobile machines, that can be used to perform tasks related to agriculture. In some embodiments, one piece of equipment 111 may include a plurality of sensors 112 that are locally networked on that piece of equipment; Controller Area Network (CAN) is an example of such a network that can be installed on combines, harvesters, sprayers and cultivators. Application controller 114 is connected to the automated agricultural intelligence system 130 via network(s) 109 and is programmed or configured to receive one or more scripts that are used to control the operating parameters of the agricultural vehicle or implement from the automated agricultural intelligence system 130. For example, a controller network (CAN) bus interface can be used to provide communication from the automated agrointelligence system 130 to the farm equipment 111 such as the CLIMATE FIELDVIEW DRIVE available from Climate Corporation, San Francisco, California. The sensor data may contain the same information as the field data 106. In some embodiments, the remote sensors 112 may not be attached to the farm equipment 111, but may be remotely located in the field and may communicate over the network 109.
Техника 111 может включать бортовой компьютер 115, который запрограммирован с приложением кабины, которое может состоять из версии или варианта мобильного приложения для устройства 104, описанного более подробно в других разделах настоящего документа. В одном варианте осуществления кабинный компьютер 115 включает компактный компьютер, часто планшетный компьютер или смартфон, с графическим дисплеем, например цветным дисплеем, который устанавливается в кабине оператора техники 111. Бортовой компьютер 115 может выполнять некоторые или все операции и функции, описанные далее в настоящем документе для мобильного компьютерного устройства 104.Appliance 111 may include an on-board computer 115 that is programmed with a cockpit application, which may consist of a version or variant of a mobile application for apparatus 104 described in more detail elsewhere herein. In one embodiment, cockpit computer 115 includes a compact computer, often a tablet computer or smartphone, with a graphical display, such as a color display, that is mounted in the operator's compartment of equipment 111. Cockpit computer 115 may perform some or all of the operations and functions described later herein. for mobile computing device 104.
Сеть (сети) 109 в широком смысле представляет собой любую комбинацию одной или нескольких сетей передачи данных, включая локальные вычислительные сети, широкополосные сети или глобальные сети, использующие любую из проводных или беспроводных линий связи, включая наземные или спутниковые линии связи. Сеть (сети) может быть реализована любым средством или механизмом, обеспечивающим обмен данными между различными элементами рис. 1. Различные элементы по фиг.1 могут также иметь прямые (проводные или беспроводные) линии связи. Датчики 112, контроллер 114, компьютер 108 с внешним сервером данных и другие элементы системы, каждый из которых содержит интерфейс, совместимый с сетью (сетями) 109, и запрограммирован или конфигурирован на использование стандартизированных протоколов для связи между сетями, таких как TCP/IP, Bluetooth, протокол CAN и протоколы более высокого уровня, такие как HTTP, TLS и т.п.Network(s) 109 is broadly defined as any combination of one or more data networks, including local area networks, broadband networks, or wide area networks, using any of wired or wireless communications links, including terrestrial or satellite links. The network(s) can be implemented by any means or mechanism that allows data exchange between the various elements of Fig. 1. The various elements of FIG. 1 may also have direct (wired or wireless) communication links. Sensors 112, controller 114, computer 108 with external data server, and other system elements, each of which includes an interface compatible with the network(s) 109 and is programmed or configured to use standardized protocols for communication between networks, such as TCP/IP, Bluetooth, CAN protocol and higher level protocols such as HTTP, TLS, etc.
Автоматизированная система 130 агроинтеллекта запрограммирована или конфигурирована на прием полевых данных 106 с вычислительного устройства 104 диспетчера поля, внешних данных 110 с внешнего сервера данных 108 компьютера и данных датчика с удаленного датчика 112. Автоматизированная система 130 агроинтеллекта может быть дополнительно конфигурирована для размещения, использования или выполнения одной или нескольких компьютерных программ, других программных элементов, логики цифрового программирования, таких как FPGA или ASIC, или любой их комбинации для выполнения перевода и хранения значений данных, построения цифровых моделей одной или нескольких культур на одном или нескольких полях, генерирования рекомендаций и уведомлений, а также генерирования и отправки скриптов на контроллер внесения удобрений 114, в порядке, описанном далее в других разделах данного изобретения.The automated agrointelligence system 130 is programmed or configured to receive field data 106 from the field manager computing device 104, external data 110 from an external computer data server 108, and sensor data from a remote sensor 112. The automated agrointelligence system 130 may be further configured to host, use, or execute one or more computer programs, other software elements, digital programming logic such as an FPGA or ASIC, or any combination thereof to perform translation and storage of data values, build digital models of one or more crops in one or more fields, generate recommendations and notifications, and generating and sending scripts to the fertilizer controller 114, in the manner described further in other sections of the present invention.
В одном варианте осуществления автоматизированная система 130 агроинтеллекта запрограммирована с коммуникационным слоем 132 или включает в себя коммуникационный слой 132, слой 134 презентации, слой 140 управления данными, слой 150 аппаратного обеспечения/виртуализации, а также хранилище 160 данных моделей и полей. "Слой" в данном контексте означает любую комбинацию электронных цифровых интерфейсных схем, микроконтроллеров, встроенного программного обеспечения, такого как драйверы и/или компьютерные программы или другие элементы программного обеспечения.In one embodiment, the automated agrointelligence system 130 is programmed with or includes a communication layer 132, a presentation layer 134, a data management layer 140, a hardware/virtualization layer 150, and a model and field data store 160. "Layer" in this context means any combination of electronic digital interface circuits, microcontrollers, embedded software such as drivers and/or computer programs or other software elements.
Коммуникационный слой 132 может быть запрограммирован или конфигурирован на выполнение функций интерфейса ввода/вывода, включая отправку запросов на вычислительное устройство 104 полевого менеджера, компьютер внешнего сервера 108 данных и удаленный датчик 112 для полевых данных, внешних данных и данных датчика соответственно. Слой 132 может быть запрограммирован или конфигурирован на передачу полученных данных в хранилище 160 данных модели и поля для хранения в качестве полевых данных 106.The communications layer 132 may be programmed or configured to perform input/output interface functions, including sending requests to the field manager computing device 104, the external data server computer 108, and the remote sensor 112 for field data, external data, and sensor data, respectively. Layer 132 may be programmed or configured to transfer the received data to model and field data storage 160 for storage as field data 106.
Презентационный слой 134 может быть запрограммирован или конфигурирован на создание графического пользовательского интерфейса (GUI), который должен отображаться на вычислительном устройстве 104 полевого менеджера, бортовом компьютере 115 или других компьютерах, которые подключены к системе 130 через сеть 109. Графический интерфейс пользователя может включать элементы управления вводом данных, подлежащих отправлению в автоматизированную систему 130 агроинтеллекта, генерирования запросов на модели и/или рекомендации и/или отображения рекомендаций, уведомлений, моделей и других полевых данных.The presentation layer 134 may be programmed or configured to create a graphical user interface (GUI) that is to be displayed on the field manager computing device 104, on-board computer 115, or other computers that are connected to the system 130 via the network 109. The GUI may include controls entering data to be sent to the automated agrointelligence system 130, generating requests for models and/or recommendations and/or displaying recommendations, notifications, models and other field data.
Слой 140 управления данными может быть запрограммирован или конфигурирован для управления операциями чтения и записи с использованием хранилища 160 и других функциональных элементов системы, включая запросы и наборы результатов, передаваемые между функциональными элементами системы и хранилищем. Примеры уровня 140 управления данными включают, в частности, JDBC, код интерфейса SQL Server и/или код интерфейса HADOOP. Репозиторий 160 может представлять собой базу данных. В контексте данного документа термин "база данных" может относиться как к массиву данных, так и к системе управления реляционными базами данных (СУБД) или к обоим типам данных. В контексте данного документа база данных может включать любой набор данных, в том числе иерархические базы данных, реляционные базы данных, плоские файловые базы данных, объектно-реляционные базы данных, объектно-ориентированные базы данных, распределенные базы данных, а также любые другие структурированные наборы записей или данных, которые хранятся в компьютерной системе. Примеры СУБД включают, в частности, базы данных ORACLE®, MYSQL, IBM® DB2, MICROSOFT® SQL SERVER, SYBASE® и POSTGRESQL. Тем не менее, может быть использована любая база данных, которая предоставляет возможность использовать системы и методы, описанные в данном документе.The data management layer 140 may be programmed or configured to control read and write operations using the storage 160 and other system functional elements, including queries and result sets passed between the system functional elements and the store. Examples of data management layer 140 include, but are not limited to, JDBC, SQL Server interface code, and/or HADOOP interface code. Repository 160 may be a database. In the context of this document, the term "database" can refer to either a body of data, a relational database management system (DBMS), or both types of data. For the purposes of this document, a database can include any set of data, including hierarchical databases, relational databases, flat file databases, object-relational databases, object-oriented databases, distributed databases, and any other structured collections. records or data stored on a computer system. Examples of DBMS include, but are not limited to, ORACLE®, MYSQL, IBM® DB2, MICROSOFT® SQL SERVER, SYBASE®, and POSTGRESQL databases. However, any database that provides the ability to use the systems and methods described in this document may be used.
Когда полевые данные 106 не поступают непосредственно в автоматизированную систему агроинтеллекта через одну или несколько сельскохозяйственных машин или устройств сельскохозяйственной техники, которые взаимодействуют с автоматизированной системой агроинтеллекта, пользователю может быть предложено посредством одного или нескольких пользовательских интерфейсов на пользовательском устройстве (обслуживаемом автоматизированной системой агроинтеллекта) ввести такую информацию. В примере варианта осуществления пользователь может указать идентификационные данные, получив доступ к карте на устройстве пользователя (обслуживаемом автоматизированной системой агроинтеллекта) и выбрав конкретные CLU, которые были графически отображены на карте. В альтернативном варианте осуществления пользователь может указать идентификационные данные, получив доступ к карте на устройстве пользователя (обслуживаемом автоматизированной системой 130 агроинтеллекта) и прорисовав границы поля на карте. Такой выбор CLU или прорисовки карты представляют собой географические идентификаторы. В альтернативных вариантах осуществления пользователь может указать идентификационные данные, получив доступ к идентификационным данным поля (предоставляемым в виде файлов формы или в аналогичном формате) из Агентства сельскохозяйственного обслуживания Министерства сельского хозяйства США или из другого источника с помощью устройства пользователя и предоставив такие идентификационные данные поля в автоматизированную систему агроинтеллекта.When field data 106 is not directly fed into the automated agrointelligence system through one or more farm machines or farm equipment devices that interact with the automated agrointelligence system, the user may be prompted through one or more user interfaces on the user device (served by the automated agrointelligence system) to enter such information. In an exemplary embodiment, the user can provide identification by accessing the map on the user's device (served by the automated agri-intelligence system) and selecting specific CLUs that have been graphically displayed on the map. In an alternative embodiment, the user may provide identification by accessing the map on the user's device (served by the automated agri-intelligence system 130) and drawing field boundaries on the map. These CLU selections or map drawings represent geographic identifiers. In alternative embodiments, the user may provide identification data by accessing field identification data (provided as form files or similar format) from the USDA Farm Service Agency or other source through the user's device and providing such field identification data to automated agrointelligence system.
В одном примере осуществления автоматизированная система 130 агроинтеллекта запрограммирована на генерирование и отображение графического пользовательского интерфейса, включающего устройство управления данными для ввода данных. После идентификации одного или нескольких полей посредством методов, описанных выше, устройство управления данными может предоставить один или несколько виджетов графического интерфейса пользователя, которые при выборе могут идентифицировать изменения в поле, почве, культурах, методах обработки почвы или питательных веществах. Устройство управления данными может включать представление последовательного графика работ, представление электронной таблицы и/или одну или несколько редактируемых программ.In one embodiment, the automated agrointelligence system 130 is programmed to generate and display a graphical user interface including a data manager for data input. After identifying one or more fields through the methods described above, the data management device may provide one or more graphical user interface widgets that, when selected, can identify changes in the field, soil, crops, tillage practices, or nutrients. The data management device may include a sequential schedule view, a spreadsheet view, and/or one or more editable programs.
На фиг.5 показан пример представления последовательного графика работ для ввода данных. Используя дисплей, изображенный на фиг.5, в пользовательский компьютер можно ввести выбор конкретного поля и конкретной даты для добавления мероприятия. Мероприятия, отображаемые в верхней части последовательного графика работ, могут включать Nitrogen (Азот), Planting (Посадки), Practices (Методы) и Soil (Почву). Для добавления мероприятия по внесению азота пользовательский компьютер может предоставить информацию для выбора вкладки азот. Затем пользовательский компьютер на графике работ может выделить область для конкретного поля, чтобы указать внесение азота на выбранном поле. В ответ на выделение области конкретного поля на графике работ устройство управления данными может вывести на экран накладку для ввода данных, позволяющую ввести в пользовательский компьютер данные, касающиеся применения азота, процедур посадки, внесения удобрений в почву, процедур обработки почвы, методов орошения или другой информации, относящейся к конкретному полю. Например, если в пользовательском компьютере выбрана область на графике работ и указано внесение азота, то накладка для ввода данных может включать поля для ввода количества внесенного азота, даты внесения, типа используемого удобрения и любой другой информации, относящейся к внесению азота.Figure 5 shows an example of a sequential work schedule for data entry. Using the display shown in FIG. 5, a selection of a specific field and a specific date for adding an event can be entered into the user's computer. Activities displayed at the top of the sequential work schedule may include Nitrogen, Planting, Practices, and Soil. To add a nitrogen application event, the user's computer can provide information to select the nitrogen tab. The user's computer on the job schedule can then highlight an area for a specific field to indicate nitrogen application to the selected field. In response to highlighting an area of a particular field on a work schedule, the data management device may display a data input overlay allowing data regarding nitrogen application, planting procedures, soil amendments, tillage procedures, irrigation methods, or other information to be entered into the user's computer , related to a specific field. For example, if an area on a work schedule is selected on a user's computer and a nitrogen application is specified, the data entry overlay may include fields for entering the amount of nitrogen applied, the date of application, the type of fertilizer used, and any other information related to the nitrogen application.
В одном из вариантов осуществления устройство управления данными предоставляет интерфейс для создания одной или нескольких программ. "Программа" в этом контексте означает набор данных, относящихся к азотным приложениям, процедурам посадки, внесению удобрений в почву, процедурам обработки почвы, методам орошения или другой информации, которая может быть связана с одним или несколькими полями и которая может храниться в цифровом хранилище данных для повторного использования в качестве набора данных в других операциях. После создания программы ее можно концептуально применять для одного или нескольких полей, а ссылки на программу можно хранить в цифровом хранилище в сочетании с данными, идентифицирующими поля. Таким образом, вместо ручного ввода идентичных данных, относящихся к одному и тому же азотному приложению для нескольких различных полей, пользовательский компьютер может создать программу, которая указывает на конкретное внесение азотных удобрений, а затем применить программу к нескольким различным полям. Например, в представлении графика работ на рис. 5 в двух верхних временных шкалах выбрана программа "Предпосевная", которая включает применение 150 фунтов азота/акр (170 кг/га) в начале апреля. Устройство управления данными может предоставить интерфейс для редактирования программы. В одном из вариантов осуществления, когда редактируется конкретная программа, то редактируется каждое поле, выбравшее эту конкретную программу. Например, на рис. 5, если программа "Предпосевная" редактируется таким образом, чтобы уменьшить применение азота до 130 фунтов N/акр (146 кг/га), два верхних поля могут быть обновлены с уменьшенным внесением азота на основании отредактированной программы.In one embodiment, the data management device provides an interface for creating one or more programs. "Program" in this context means a set of data relating to nitrogen applications, planting procedures, soil amendments, tillage procedures, irrigation methods or other information that may be associated with one or more fields and which may be stored in a digital data warehouse for reuse as a data set in other operations. Once a program is created, it can be conceptually applied to one or more fields, and references to the program can be stored in digital storage in conjunction with data identifying the fields. Thus, instead of manually entering identical data related to the same nitrogen application for several different fields, the user's computer can create a program that specifies a specific nitrogen fertilizer application and then apply the program to several different fields. For example, in the presentation of the work schedule in Fig. 5, the top two timelines select the Preplant program, which involves applying 150 lbs N/acre (170 kg/ha) in early April. The data management device may provide an interface for program editing. In one embodiment, when a particular program is edited, each field that selected that particular program is edited. For example, in Fig. 5, if the Preplant program is edited to reduce N application to 130 lb N/acre (146 kg/ha), the top two fields can be updated with reduced N application based on the edited program.
В одном из вариантов осуществления в ответ на получение правок для поля с помеченной программой, устройство управления данными удаляет соответствие поля выбранной программе. Например, если на фиг.5 к верхнему полю добавляется азотное приложение, интерфейс может обновляться, указывая на то, что программа "Внесение весной" больше не применяется к верхнему полю. В то время как внесение азота в начале апреля может остаться, обновление программы "Предпосевная" не изменит применение азота в апреле.In one embodiment, in response to receiving edits for a field tagged with a program, the data management device removes the field's mapping to the selected program. For example, if a nitrogen application is added to the top field in FIG. 5, the interface may be updated to indicate that the Spring Application program is no longer applied to the top field. While early April nitrogen applications may remain, updating the Preplant program will not change April nitrogen applications.
На фиг.6 показан пример представления электронной таблицы для ввода данных. Используя дисплей, изображенный на фиг.6, пользователь может создавать и редактировать информацию для одного или нескольких полей. Устройство управления данными может включать электронные таблицы для ввода информации об азоте, посадках, технологиях и почве, как показано на фиг.6. Для редактирования определенной записи в пользовательском компьютере можно выбрать определенную запись в электронной таблице и обновить значения. Например, на фиг.6 изображено обновление целевого значения урожайности для второго поля. Кроме того, в пользовательском компьютере можно выбрать одно или несколько полей для применения одной или нескольких программ. В ответ на выбор программы для конкретного поля устройство управления данными может автоматически заполнить записи для конкретного поля на основе выбранной программы. Как и в случае с графиком работ, устройство управления данными может обновить записи для каждого поля, связанного с определенной программой, в ответ на получение обновления программы. Кроме того, устройство управления данными может удалить соответствие выбранной программы полю в ответ на получение редакторской правки для одной из записей данного поля.Figure 6 shows an example of a spreadsheet view for data entry. Using the display shown in FIG. 6, the user can create and edit information for one or more fields. The data management device may include spreadsheets for entering nitrogen, planting, technology, and soil information, as shown in FIG. 6. To edit a specific record on a user's computer, you can select a specific record in the spreadsheet and update the values. For example, FIG. 6 shows an update to the yield target for a second field. In addition, on the user's computer, you can select one or more fields to apply one or more programs. In response to the selection of a program for a particular field, the data management device may automatically populate records for the particular field based on the selected program. As with the work schedule, the data manager can update records for each field associated with a particular program in response to receiving a program update. In addition, the data management device may remove a selected program's mapping to a field in response to receiving an editorial change for one of the entries in that field.
В одном из вариантов осуществления данные модели и поля хранятся в хранилище 160 данных модели и поля. Информация о модели включают модели данных, созданные для одного или нескольких полей. Например, модель урожая может включать цифровую модель урожайности на одном или нескольких полях. Под "моделью" в данном контексте понимается электронный цифровой набор исполняемых инструкций и связанных между собой значений данных, которые способны принимать и отвечать на программный или другой цифровой вызов, активизацию или запрос разрешения на основе заданных входных значений, чтобы получить одно или несколько сохраненных или рассчитанных выходных значений, которые могут служить, среди прочего, основой для компьютеризованных рекомендаций, отображения выходных данных или управления машиной. Специалистам в данной области техники удобно выражать модели с помощью математических уравнений, но такая форма выражения не ограничивает раскрываемые в настоящем документе модели абстрактными понятиями; вместо этого каждая модель в настоящем документе имеет практическое применение в компьютере в виде сохраненных исполняемых инструкций и данных, реализующих модель с помощью компьютера. Модель может включать модель прошлых мероприятий на одном или нескольких полях, модель текущего состояния одного или нескольких полей и/или модель прогнозируемых мероприятий в одном или нескольких полях. Данные модели и поля могут храниться в структурах данных в памяти, строках в таблице базы данных, в плоских файлах или электронных таблицах, а также в других формах хранимых цифровых данных.In one embodiment, model and field data are stored in model and field data store 160. Model information includes data models created for one or more fields. For example, a crop model may include a digital model of the yield of one or more fields. "Model" in this context means an electronic digital set of executable instructions and associated data values that is capable of receiving and responding to a program or other digital challenge, activation, or permission request based on specified input values to produce one or more stored or calculated output values, which can serve, among other things, as the basis for computerized recommendations, output display or machine control. It is convenient for those skilled in the art to express models using mathematical equations, but such form of expression does not limit the models disclosed herein to abstract concepts; instead, each model herein has a practical application on a computer in the form of stored executable instructions and data that implement the model using the computer. The model may include a model of past activities in one or more fields, a model of the current state of one or more fields, and/or a model of predicted activities in one or more fields. Model and field data can be stored in in-memory data structures, rows in a database table, flat files or spreadsheets, and other forms of stored digital data.
В одном из вариантов осуществления автоматизированная система 130 агроинтеллекта запрограммирована как серверный компьютер (сервер) 170 управления классификационной моделью. Сервер 170, кроме того, выполнен с возможностью включения инструкции 172 по конфигурации модели, инструкции 174 по построению модели, инструкции 176 по исполнению модели и инструкции 178 пользовательского интерфейса.In one embodiment, the automated agrointelligence system 130 is programmed as a server computer (server) 170 for managing the classification model. The server 170 is further configured to include a model configuration instruction 172, a model construction instruction 174, a model execution instruction 176, and a user interface instruction 178.
В некоторых вариантах осуществления в инструкции 172 по конфигурации модели предложены исполняемые компьютером инструкции по сбору исходных данных изображения и определению значений определенных параметров цифровой модели для распознавания болезней растений по исходным данным изображения. Если цифровой моделью является SSD, то исходными данными изображения могут быть фотоснимки растений, включающие отмеченные области, каждая из которых обозначена идентификатором заболевания растений. Отмеченные области могут быть обработаны с учетом полных изображений при построении обучающего множества для SSD. Исходными данными изображения могут быть также просто помеченные области с соответствующими метками. Соответствующие параметры SSD включают в себя группу якорных рамок. В инструкции 172 по конфигурации модели предлагаются исполняемые компьютером инструкции по созданию якорных рамок, представляющих симптомы болезней растений.In some embodiments, model configuration instruction 172 provides computer-executable instructions for collecting raw image data and determining the values of certain digital model parameters for recognizing plant diseases from the raw image data. If the digital model is an SSD, the original image data may be photographs of plants, including marked areas, each designated by a plant disease identifier. The marked regions can be processed taking into account the full images when constructing the training set for the SSD. The original image data can also simply be labeled areas with appropriate labels. Relevant SSD options include a group of anchor frames. Model Configuration Instruction 172 provides computer-executable instructions for creating anchor frames representing plant disease symptoms.
В некоторых вариантах осуществления инструкции 174 по построению модели предлагают исполняемые компьютером инструкции по построению обучающего множества и обучению цифровой модели посредством обучающего множества. Обучающее множество может включать изображения определенного размера с обозначенными областями и соответствующими метками или обрезанные, подбитые или масштабированные версии изображений с эквивалентными помеченными областями и соответствующими метками. В случае, когда цифровой моделью является SSD, обучающее множество также включает в себя привязки отмеченных областей к якорным рамкам.In some embodiments, model building instructions 174 provide computer-executable instructions for building a training set and training a digital model via the training set. The training set may include images of a specific size with labeled regions and corresponding labels, or cropped, trimmed, or scaled versions of images with equivalent labeled regions and corresponding labels. In the case where the digital model is an SSD, the training set also includes bindings of the marked areas to anchor frames.
В некоторых вариантах осуществления инструкции 176 по исполнению модели предлагают исполняемые компьютером инструкции по применению цифровой модели к новым изображениям для классификации. Новым изображением может быть новый фотоснимок растения, показывающий симптомы одного или нескольких заболеваний растения в одной или нескольких областях. Новое изображение может потребовать аналогичной обрезки, подбивки или масштабирования перед подачей в цифровую модель. Когда цифровой моделью является SSD, применение цифровой модели, как ожидается, даст по меньшей мере одну классификацию в определенной растительной болезни для каждого из одного или более регионов.In some embodiments, model execution instructions 176 provide computer-executable instructions for applying the digital model to new images for classification. The new image may be a new photograph of the plant showing symptoms of one or more plant diseases in one or more areas. The new image may require similar cropping, trimming, or scaling before being fed into the digital model. When the digital model is SSD, application of the digital model is expected to produce at least one classification in a particular plant disease for each of one or more regions.
В некоторых вариантах осуществления инструкции 178 пользовательского интерфейса предлагают исполняемые компьютером инструкции по управлению обменом данных с другими устройствами. Обмен данных может включать получение исходных данных изображения, включая метки источника изображения, получение нового фотоснимка для классификации от клиентского устройства, отправку результатов классификации для нового фотоснимка на клиентское устройство или отправку цифровых данных, представляющих SSD, на другое клиентское устройство.In some embodiments, user interface instructions 178 offer computer-executable instructions for controlling communication with other devices. The data exchange may include receiving the original image data, including image source labels, receiving a new photo for classification from the client device, sending classification results for the new photo to the client device, or sending digital data representing the SSD to another client device.
Каждый компонент сервера 170 содержит набор из одной или нескольких страниц оперативной памяти, например RAM, в автоматизированной системе 130 агроинтеллекта, в которую загрузили исполняемые инструкции и которые при их исполнении вынуждают автоматизированную систему агроинтеллекта выполнять функции или операции, описанные в настоящем документе со ссылкой на эти модули. Например, модуль конфигурации модели 172 может включать набор страниц в RAM, которые содержат инструкции, которые при их исполнении вызывают выполнение описанных в настоящем документе функций выбора области. Инструкции могут быть в машино-исполняемом коде в наборе инструкций CPU и могут быть скомпилированы на основе исходного кода, написанного на JAVA, С, С, OBJECTIVE-C или любом другом человеко-читаемом языке программирования или вычислительной среде, отдельно или в комбинации со скриптами на JAVASCRIPT, других языках сценариев и других исходных текстах программирования. Термин "страницы" предназначен для широкого обращения к любой области оперативной памяти, а конкретная терминология, используемая в системе, может варьироваться в зависимости от архитектуры памяти или архитектуры процессора. В другом варианте осуществления каждый компонент сервера 170 также может представлять собой один или несколько файлов или проектов исходного кода, которые в цифровом виде хранятся в запоминающем устройстве, таком как энергонезависимое ОЗУ или дисковое хранилище, в автоматизированной системе 130 агроинтеллекта или в отдельной системе хранения данных, которые при компиляции или интерпретации вызывают генерирование исполняемых инструкций, которые при исполнении вызывают выполнение автоматизированной системой агроинтеллекта функций или операций, описанных в настоящем документе со ссылкой на эти модули. Другими словами, чертежный рисунок может представлять собой способ, которым программисты или разработчики программного обеспечения организуют и упорядочивают исходный код для последующей компиляции в исполняемый файл или интерпретации в байткод или его эквивалент для исполнения автоматизированной системой 130 агроинтеллекта.Each component of the server 170 contains a set of one or more pages of random access memory, such as RAM, in the automated agrointelligence system 130, into which executable instructions are loaded and which, when executed, cause the automated agrointelligence system to perform the functions or operations described herein with reference to these modules. For example, the Model 172 configuration module may include a set of pages in RAM that contain instructions that, when executed, cause the region selection functions described herein to be performed. The instructions may be in machine-executable code in the CPU instruction set and may be compiled from source code written in JAVA, C, C, OBJECTIVE-C, or any other human-readable programming language or computing environment, alone or in combination with scripts in JAVASCRIPT, other scripting languages and other programming source codes. The term "pages" is intended to refer broadly to any area of RAM, and the specific terminology used in a system may vary depending on the memory architecture or processor architecture. In another embodiment, each component of server 170 may also be one or more source code files or projects that are digitally stored in a storage device such as non-volatile RAM or disk storage, in an automated agri-intelligence system 130, or in a separate storage system. which, when compiled or interpreted, cause the generation of executable instructions that, when executed, cause the automated agricultural intelligence system to perform the functions or operations described in this document with reference to these modules. In other words, a drawing may be a way in which programmers or software developers organize and arrange source code for subsequent compilation into an executable file or interpretation into bytecode or its equivalent for execution by automated agrointelligence system 130.
Аппаратный/виртуализационный слой 150 включает один или несколько центральных процессоров (ЦПУ), контроллеров памяти и других устройств, компонентов или элементов автоматизированной системы, таких как энергозависимая или энергонезависимая память, энергонезависимое хранилище, такое как диск, а также устройства ввода/вывода или интерфейсы, как показано и описано, например, на фиг.4. Слой 150 также может включать запрограммированные инструкции, которые конфигурированы на поддержку виртуализации, контейнеризации или других технологий.The hardware/virtualization layer 150 includes one or more central processing units (CPUs), memory controllers, and other devices, components, or automation system elements, such as volatile or nonvolatile memory, nonvolatile storage such as disk, and input/output devices or interfaces. as shown and described, for example, in Fig.4. Layer 150 may also include programmed instructions that are configured to support virtualization, containerization, or other technologies.
Для иллюстрации наглядного примера на фиг.1 показано ограниченное количество экземпляров определенных функциональных элементов. Однако в других вариантах осуществления может быть любое количество таких элементов. Например, в вариантах осуществления могут быть использованы тысячи или миллионы различных мобильных вычислительных устройств 104, связанных с различными пользователями. Кроме того, система 130 и/или внешний сервер 108 данных могут быть реализованы с применением двух или более процессоров, ядер, кластеров или экземпляров физических машин или виртуальных машин, конфигурированных в отдельном месте или размещенных совместно с другими элементами в центре обработки данных, общем вычислительном комплексе или облачном вычислительном комплексе.To illustrate an illustrative example, FIG. 1 shows a limited number of instances of certain functional elements. However, in other embodiments, there may be any number of such elements. For example, in embodiments there may be thousands or millions of different mobile computing devices 104 associated with different users. In addition, the system 130 and/or the external data server 108 may be implemented using two or more processors, cores, clusters, or instances of physical machines or virtual machines configured in a separate location or co-located with other elements in a data center, shared computing complex or cloud computing complex.
2.2. Обзор прикладных программ2.2. Application overview
В некоторых вариантах осуществления реализация функций, описанных в настоящем документе, с использованием одной или нескольких компьютерных программ или других элементов программного обеспечения, которые загружаются и выполняются с помощью одного или нескольких компьютеров общего назначения, приведет к тому, что компьютеры общего назначения будут конфигурированы как конкретная машина или как компьютер, специально приспособленный для выполнения функций, описанных в настоящем документе. Кроме того, каждая из описанных далее в настоящем документе блок-схем может служить, по отдельности или в сочетании с описанием процессов и функций в прозе, в качестве алгоритмов, планов или направлений, которые могут быть использованы для программирования компьютера или логики для реализации описанных функций. Иными словами, весь текст настоящего документа в прозе и все рисунки в совокупности призваны обеспечить раскрытие алгоритмов, планов или направлений, достаточных для того, чтобы специалист мог запрограммировать компьютер для выполнения функций, описанных в настоящем документе, в сочетании с навыком и знаниями специалиста данного уровня техники, учитывая уровень навыка, который соответствует изобретениям и раскрытиям этого типа.In some embodiments, implementing the functions described herein using one or more computer programs or other software elements that are loaded and executed by one or more general purpose computers will result in the general purpose computers being configured as a specific a machine or computer specifically adapted to perform the functions described in this document. In addition, each of the flowcharts described later herein may serve, alone or in combination with prose descriptions of processes and functions, as algorithms, plans, or directions that can be used to program a computer or logic to implement the described functions. . In other words, all prose text herein and all illustrations taken together are intended to disclose algorithms, plans, or directions sufficient to enable a skilled person to program a computer to perform the functions described herein when combined with the skill and knowledge of that level of skilled person. techniques, taking into account the level of skill that is appropriate for inventions and disclosures of this type.
В некотором варианте осуществления пользователь 102 взаимодействует с автоматизированной системой 130 агроинтеллекта, используя вычислительное устройство 104 управляющего полевыми работами, конфигурированное с операционной системой и одной или несколькими прикладными программами или приложениями; вычислительное устройство 104 управляющего полевыми работами также может взаимодействовать с автоматизированной системой агроинтеллекта независимо и автоматически под программным или логическим управлением, при этом прямое взаимодействие пользователя не всегда является обязательным. Вычислительное устройство 104 управляющего полевыми работами в широком смысле представляет собой один или несколько смартфонов, КПК, планшетных вычислительных устройств, ноутбуков, настольных компьютеров, рабочих станций или любых других вычислительных устройств, способных передавать и получать информацию и выполнять функции, описанные в настоящем документе. Вычислительное устройство 104 может обмениваться данными по сети с помощью мобильного приложения, хранящегося на вычислительном устройстве 104, а в некоторых вариантах исполнения устройство может быть подключено с помощью кабеля 113 или разъема к датчику 112 и/или контроллеру 114. Конкретный пользователь 102 может владеть, управлять или обладать и использовать в соединении с системой 130 более одного вычислительного устройства 104 управляющего полевыми работами одновременно.In some embodiment, the user 102 interacts with the automated agrointelligence system 130 using a field manager computing device 104 configured with an operating system and one or more application programs or applications; The field manager's computing device 104 can also interact with the automated agrointelligence system independently and automatically under program or logic control, although direct user interaction is not always necessary. Field manager computing device 104 is broadly defined as one or more smartphones, PDAs, tablet computing devices, laptops, desktop computers, workstations, or any other computing devices capable of transmitting and receiving information and performing the functions described herein. Computing device 104 may communicate over a network using a mobile application stored on computing device 104, and in some embodiments, the device may be connected via cable 113 or connector to sensor 112 and/or controller 114. A specific user 102 may own, control or possess and use in connection with the system 130 more than one field management computing device 104 at a time.
Мобильное приложение может обеспечивать функциональность на стороне клиента через сеть с одним или несколькими мобильными вычислительными устройствами. В одном примере осуществления вычислительное устройство 104 управляющего полевыми работами может получить доступ к мобильному приложению через веб-браузер или через локальное клиентское приложение. Вычислительное устройство 104 управляющего полевыми работами может передавать данные и получать данные с одного или нескольких внешних серверов, используя веб-протоколы или форматы, такие как HTTP, XML и/или JSON, или приложений конкретных протоколов. В одном примере осуществления данные могут принимать форму запросов и ввода пользовательской информации, такой как полевые данные, в мобильное вычислительное устройство. В некоторых вариантах осуществления мобильное приложение взаимодействует с аппаратным и программным обеспечением отслеживания местоположения на вычислительном устройстве 104 управляющего полевыми работами, которое определяет местоположение вычислительного устройства 104 управляющего полевым работами с помощью стандартных методов отслеживания, таких как многолатерационные радиосигналы глобальной системы позиционирования (GPS), WiFi системы позиционирования или другие методы мобильного позиционирования. В некоторых случаях данные о местоположении или другие данные, связанные с устройством 104, пользователем 102 и/или учетной записью (учетными записями) пользователя, могут быть получены путем запроса к операционной системе устройства или путем запроса приложения на устройстве для получения данных от операционной системы.A mobile application may provide client-side functionality over a network with one or more mobile computing devices. In one embodiment, the field manager computing device 104 may access the mobile application through a web browser or through a local client application. The field manager computing device 104 may transmit data to and receive data from one or more external servers using web protocols or formats such as HTTP, XML and/or JSON, or application specific protocols. In one embodiment, the data may take the form of queries and input of user information, such as field data, into the mobile computing device. In some embodiments, the mobile application interacts with location tracking hardware and software on the field manager computing device 104, which determines the location of the field manager computing device 104 using standard tracking methods such as global positioning system (GPS) multilateration radio signals, WiFi systems positioning or other mobile positioning methods. In some cases, location data or other data associated with device 104, user 102, and/or user account(s) may be obtained by querying the device's operating system or by querying an application on the device to obtain data from the operating system.
В одном из вариантов осуществления вычислительное устройство 104 управляющего полевыми работами посылает полевые данные 106 в автоматизированную систему 130 агроинтеллекта, включающую, в частности, значения данных, представляющие одно или несколько из: географическое расположение одного или нескольких полей, информацию об обработке почвы для одного или нескольких полей, посевные культуры, посаженные на одном или нескольких полях, и почвенные данные, извлеченные из одного или нескольких полей. Вычислительное устройство 104 управляющего полевыми работами может посылать полевые данные 106 в ответ на ввод данных пользователем 102 с указанием значений данных для одного или нескольких полей. Кроме того, вычислительное устройство 104 управляющего полевыми работами может автоматически посылать полевые данные 106, когда одно или несколько значений данных становятся доступными вычислительному устройству 104 управляющего полевыми работами. Например, вычислительное устройство 104 управляющего полевыми работами может быть соединено с возможностью связи с дистанционным датчиком 112 и/или контроллером приложений 114, которые включают в себя датчик орошения и/или контроллер орошения. В ответ на получение данных, указывающих на то, что контроллер 114 внесения удобрений высвободил воду на одно или несколько полей, вычислительное устройство 104 управляющего полевыми работами может передать полевые данные 106 в автоматизированную систему 130 агроинтеллекта, указывая, что вода высвободилась на одном или нескольких полях. Данные с поля 106, указанные в этом сообщении, можно вводить и передавать посредством электронных цифровых данных, которые передаются между вычислительными устройствами с использованием параметрических URL-адресов по протоколу HTTP или другому подходящему протоколу связи или обмена сообщениями.In one embodiment, field manager computing device 104 sends field data 106 to automated agrointelligence system 130 including, but not limited to, data values representing one or more of: the geographic location of one or more fields, tillage information for one or more fields, crops planted in one or more fields, and soil data extracted from one or more fields. Field manager computing device 104 may send field data 106 in response to input from user 102 indicating data values for one or more fields. In addition, field manager computing device 104 may automatically send field data 106 when one or more data values become available to field manager computing device 104. For example, field manager computing device 104 may be communicatively coupled to remote sensor 112 and/or application controller 114, which includes an irrigation sensor and/or an irrigation controller. In response to receiving data indicating that the fertilizer controller 114 has released water in one or more fields, the field manager computing device 104 may transmit field data 106 to the automated agri-intelligence system 130 indicating that water has been released in one or more fields. . The data from field 106 indicated in this message may be entered and transmitted via electronic digital data that is transferred between computing devices using parametric URLs over HTTP or other suitable communication or messaging protocol.
Коммерческим примером мобильного приложения является CLIMATE FIELDVIEW, коммерчески доступный в компании The Climate Corporation, Сан-Франциско, Калифорния. Приложение CLIMATE FIELDVIEW или другие приложения могут быть изменены, расширены или адаптированы с целью включения в них функций, возможностей и программирования, которые не были раскрыты ранее даты подачи такого изобретения. В одном варианте осуществления мобильное приложение включает интегрированную программную платформу, которая позволяет производителю принимать основанные на фактах решения об их работе, так как она объединяет исторические данные о полях производителя с любыми другими данными, которые производитель хочет сравнить. Комбинации и сравнения могут быть выполнены в режиме реального времени, и они основаны на научных моделях, которые обеспечивают потенциальные сценарии, позволяющие производителю принимать лучшие, более обоснованные решения.A commercial example of a mobile application is CLIMATE FIELDVIEW, commercially available from The Climate Corporation, San Francisco, California. The CLIMATE FIELDVIEW application or other applications may be modified, extended, or adapted to include features, functionality, and programming that were not disclosed prior to the filing date of such invention. In one embodiment, the mobile application includes an integrated software platform that allows the producer to make fact-based decisions about their operation as it combines the producer's historical field data with any other data the producer wants to compare. Combinations and comparisons can be made in real time and are based on scientific models that provide potential scenarios that allow the manufacturer to make better, more informed decisions.
На фиг.2 проиллюстрированы два взгляда на пример логической организации наборов инструкций в оперативной памяти при загрузке для выполнения примера мобильного приложения. В фиг.2 каждый названный элемент представляет собой область одной или нескольких страниц ОЗУ или другой оперативной памяти, или один или несколько блоков дискового хранилища или другого энергонезависимого хранилища, а также запрограммированные инструкции в этих областях. В одном варианте осуществления, с точки зрения (а), мобильное компьютерное приложение 200 включает инструкции 202 по совместному использованию данных о счетах-полях, инструкции 204 по обзору и оповещению, инструкции 206 по цифровой книге карт, инструкции 208 по семенам и посадке, инструкции 210 по азоту, инструкции 212 по погоде, инструкции 214 по полевых медико-санитарных условий и инструкции 216 по производительности.Figure 2 illustrates two views of an example of the logical organization of sets of instructions in RAM when loading for execution of an example mobile application. In FIG. 2, each named element represents an area of one or more pages of RAM or other random access memory, or one or more blocks of disk storage or other non-volatile storage, as well as programmed instructions in these areas. In one embodiment, in terms of (a), the mobile computer application 200 includes instructions 202 for sharing account-field data, review and alert instructions 204, digital map book instructions 206, seeds and planting instructions 208, instructions 210 for nitrogen, 212 for weather, 214 for field health, and 216 for productivity.
В одном варианте мобильное компьютерное приложение 200 включает учетную запись, поля, ввод данных, инструкции 202 по совместному использованию, которые запрограммированы на получение, перевод и прием полевых данных от сторонних систем с помощью ручной загрузки или API. Типы данных могут включать, в частности, границы полей, карты урожайности, карты по состоянию на посадку, результаты испытаний почвы, карты по состоянию применения и/или хозяйственные зоны. Форматы данных могут включать, в частности, файлы форм, исходные форматы данных сторонних организаций и/или экспортированные данные систем управленческой информации о сельском хозяйстве (FMIS). Получение данных может происходить посредством ручной загрузки, электронной почты с вложениями, внешних API, которые проталкивают данные в мобильное приложение, или инструкций, которые вызывают API внешних систем для выталкивания данных в мобильное приложение. В одном варианте осуществления мобильное компьютерное приложение 200 включает ввод данных. В ответ на получение опции ввода данных, мобильное компьютерное приложение 200 может вывести на экран графический интерфейс пользователя для ручной загрузки файлов данных и импорта загруженных файлов в устройство управления данными.In one embodiment, the mobile computer application 200 includes an account, fields, data entry, sharing instructions 202 that are programmed to receive, translate, and ingest field data from third-party systems via manual upload or API. Data types may include, but are not limited to, field boundaries, yield maps, planted status maps, soil test results, application status maps, and/or management zones. Data formats may include, but are not limited to, form files, third party native data formats, and/or exported agricultural management information systems (FMIS) data. Retrieving data can occur through manual downloads, email with attachments, external APIs that push data into the mobile app, or instructions that call APIs of external systems to push data into the mobile app. In one embodiment, mobile computer application 200 includes data entry. In response to receiving the data input option, the mobile computer application 200 may display a graphical user interface for manually downloading data files and importing the downloaded files into the data management device.
В одном из вариантов осуществления инструкции 206 к книге цифровых карт содержат слои данных карты поля, хранящиеся в памяти устройства и запрограммированные средствами визуализации данных и геопространственными полевыми данными. Это обеспечивает фермеров удобной информацией, находящейся под рукой, для справки, ведения лесозаготовок и визуального представления о работе поля. В одном варианте осуществления обзор и инструкции 204 по оповещению запрограммированы таким образом, чтобы дать представление о том, что важно для производителя в целом, и своевременные рекомендации по принятию мер или сосредоточению внимания на конкретных вопросах. Это позволяет фермеру сконцентрироваться на том, что требует внимания, сэкономить время и сохранить урожайность в течение всего сезона. В одном варианте осуществления семена и инструкции 208 по посадке запрограммированы на предоставление инструментов для селекции семян, размещения гибридов и создания сценария, включая создание сценария изменяемой нормы внесения (VR), основанное на научных моделях и эмпирических данных. Это позволяет фермерам максимизировать урожайность или окупаемость инвестиций за счет оптимизированной покупки, размещения и засева семян.In one embodiment, digital map book instructions 206 include field map data layers stored in device memory and programmed with data visualization and geospatial field data. This provides farmers with easy-to-use information at their fingertips for reference, harvesting, and visibility into field performance. In one embodiment, the overview and alert instructions 204 are programmed to provide insight into what is important to the manufacturer as a whole and timely recommendations to take action or focus on specific issues. This allows the farmer to concentrate on what needs attention, save time and maintain yields throughout the season. In one embodiment, the seeds and planting instructions 208 are programmed to provide tools for seed selection, hybrid placement, and scenario creation, including variable rate (VR) scenario creation based on scientific models and empirical data. This allows farmers to maximize yield or return on investment through optimized seed purchase, placement and seeding.
В одном варианте осуществления инструкции 205 по созданию сценария запрограммированы на предоставление интерфейса для создания сценариев, включая сценарии производительности при изменяемой норме внесения (VR). Интерфейс позволяет фермерам создавать сценарии для полевых орудий, таких как внесение удобрений в почву, посадка и орошение. Например, интерфейс сценария посадки может включать в себя инструменты для определения типа посадочного материала. После получения опции типа семян, мобильное компьютерное приложение 200 может вывести на экран одно или несколько полей, разбитых на зоны управления, например слои данных карты поля, созданные в рамках инструкций к книге цифровых карт 206.In one embodiment, the scenario creation instructions 205 are programmed to provide an interface for creating scenarios, including variable rate (VR) performance scenarios. The interface allows farmers to create scenarios for field implements such as soil fertilization, planting and irrigation. For example, the planting script interface may include tools to determine the type of planting material. Upon receiving the seed type option, the mobile computer application 200 may display one or more fields divided into management zones, such as field map data layers created within the instructions of the digital map book 206.
В одном варианте осуществления зоны управления включают в себя почвенные зоны вместе с панелью, идентифицирующей каждую почвенную зону, и названием почвы, текстурой, дренажем для каждой зоны или другими полевыми данными. Мобильное компьютерное приложение 200 может также вывести на карту одного или нескольких полей инструменты для редактирования или создания таких инструментов, как графические инструменты для рисования зон управления, например почвенных зон. Процедуры посадки могут быть применены ко всем зонам управления, или же разные процедуры посадки могут быть применены к различным подмножествам зон управления. При создании сценария мобильное компьютерное приложение 200 может сделать его доступным для загрузки в формате, читаемом контроллером приложения, например в архивированном или сжатом виде. Кроме того, и/или в качестве альтернативы, сценарий может быть отправлен непосредственно на бортовой компьютер 115 из мобильного компьютерного приложения 200 и/или загружен на один или несколько серверов данных и сохранен для дальнейшего использования.In one embodiment, management zones include soil zones along with a panel identifying each soil zone and soil name, texture, drainage for each zone, or other field data. Mobile computer application 200 may also display editing or creating tools on a map of one or more fields, such as graphical tools for drawing management zones, such as soil zones. Planting procedures may be applied to all management zones, or different planting procedures may be applied to different subsets of management zones. When a script is created, the mobile computer application 200 may make it available for download in a format readable by the application controller, such as a zipped or compressed form. Additionally and/or alternatively, the script may be sent directly to the on-board computer 115 from the mobile computer application 200 and/or downloaded to one or more data servers and stored for future use.
В одном варианте осуществления инструкция 210 по азоту запрограммирована таким образом, чтобы обеспечить средства для принятия решений по азоту, визуализируя доступность азота для сельскохозяйственных культур. Это позволяет фермерам максимизировать урожайность или окупаемость инвестиций за счет оптимизированного применения азота во время сезона. Примеры запрограммированных функций включают в себя вывод на экран таких изображений, как изображения SSURGO, позволяющие рисовать зоны внесения удобрений, и/или изображения, полученные по данным почвы подобласти, таким как данные, полученные от датчиков, с высоким пространственным разрешением (до миллиметров или меньше в зависимости от близости расположения датчиков и разрешения); загрузку существующих зон, определяемых фермером; предоставление графика доступности питательных веществ для растений и/или карты, позволяющей настроить внесение азота в несколько зон; вывод сценариев для управления машинами; инструменты для ввода и настройки данных о массе; и/или карты для визуализации данных, среди прочего. "Ввод массива данных" в этом контексте может означать ввод данных один раз и последующее применение одних и тех же данных к нескольким полям и/или зонам, которые были определены в системе; например, данные могут включать одинаковые данные о внесении азота ко многим полям и/или зонам одного и того же фермера, но такой ввод массива данных применяется к вводу любого типа данных с полей в мобильное компьютерное приложение 200. Например, инструкции 210 по азоту могут быть запрограммированы на принятие описаний программ применения и практики азота и на принятие вводимых пользователем данных, указывающих на применение этих программ на нескольких полях. Под "программами применения азота" в этом контексте понимаются хранимые, именованные наборы данных, которые ассоциируются с: названием, цветовым кодом или другим идентификатором, одной или несколькими датами применения, типами материала или продукта для каждой из дат и количеств, методом применения или инкорпорации, например инъекции или трансляции, и/или количеством или нормами применения для каждой из дат, культурой или гибридом, которые являются предметом применения, среди прочего. В этом контексте "программы по азоту" означают хранимые, именованные наборы данных, которые ассоциируются с названием практики; предыдущей культурой; системой обработки почвы; датой первичной обработки почвы; одной или несколькими ранее использовавшимися системами обработки почвы; одним или несколькими показателями типа обработки почвы, например, навозом, который использовался. Инструкции 210 по азоту также могут быть запрограммированы на создание, приводящее к отображению графика азота, который показывает прогноз использования растениями указанного азота, а также прогноз избытка или недостатка; в некоторых вариантах осуществления различные цветовые индикаторы могут сигнализировать о величине избытка или недостатка. В одном из вариантов график азота является графическим изображением в компьютерном устройстве отображения, содержащим множество рядов, каждый из которых ассоциируется с полем и идентифицирует его; данные, указывающие какая культура посажена на поле, его размер, расположение на поле и графическое изображение периметра поля; в каждом ряду - шкалу времени по месяцам с графическими индикаторами, указывающими каждое внесение и количество азота в точках, связанных с названиями месяцев; и цифровые и/или цветные индикаторы излишка или недостатка, в которых цветными индикаторами указывается величина излишка или недостатка.In one embodiment, nitrogen instruction 210 is programmed to provide a means for making nitrogen decisions by visualizing nitrogen availability for crops. This allows farmers to maximize yield or return on investment through optimized nitrogen application during the season. Examples of programmed functions include displaying images such as SSURGO images, which allow you to draw fertilizer application zones, and/or images derived from sub-area soil data, such as sensor data, at high spatial resolution (down to millimeters or less depending on the proximity of the sensors and resolution); loading of existing zones determined by the farmer; providing a graph of plant nutrient availability and/or a map that allows you to customize nitrogen application to multiple zones; output of scripts for controlling machines; tools for entering and configuring mass data; and/or maps for data visualization, among others. "Bulk data entry" in this context may mean entering data once and then applying the same data to multiple fields and/or zones that have been defined in the system; for example, the data may include the same nitrogen application data to many fields and/or zones of the same farmer, but such bulk data entry applies to the entry of any type of field data into the mobile computer application 200. For example, nitrogen instructions 210 may be are programmed to accept descriptions of nitrogen application and practice programs and to accept user input indicating the application of these programs to multiple fields. “Nitrogen application programs” in this context refer to stored, named sets of data that are associated with: a name, color code or other identifier, one or more application dates, material or product types for each date and quantity, method of application or incorporation, such as injection or broadcast, and/or the amount or rates of application for each of the dates, crops or hybrids that are the subject of application, among other things. In this context, "nitrogen programs" refer to stored, named sets of data that are associated with the name of the practice; previous culture; soil cultivation system; date of primary tillage; one or more previously used tillage systems; one or more indicators of the type of tillage, such as manure, that was used. Nitrogen instructions 210 may also be programmed to produce, resulting in the display of a nitrogen graph that shows a prediction of plant use of said nitrogen, as well as a prediction of excess or deficiency; in some embodiments, various color indicators may indicate the amount of excess or deficiency. In one embodiment, the nitrogen graph is a graphical representation on a computer display device comprising a plurality of rows, each of which is associated with and identifies a field; data indicating what crop is planted on the field, its size, location on the field and a graphic representation of the field perimeter; in each row - a time scale by month with graphic indicators indicating each application and the amount of nitrogen at points associated with the names of the months; and digital and/or color indicators of surplus or deficiency, in which the amount of surplus or deficiency is indicated by color indicators.
В одном из вариантов осуществления график азота может включать в себя один или несколько графических элементов для ввода данных пользователем, таких как циферблаты или ползунки, для динамического изменения программ внесения азота с тем, чтобы пользователь мог оптимизировать свой график азота. Затем пользователь может использовать свой оптимизированный график азота и связанные с ним программы посадки и отработки азота для реализации одного или нескольких сценариев, включая сценарии производительности при изменяемой норме внесения (VR). Инструкции 210 по азоту также могут быть запрограммированы на создание, приводящее к отображению карты азота, которая показывает прогнозы использования растениями указанного азота, а также то, прогнозируется ли избыток или дефицит; в некоторых вариантах осуществления различные цветовые индикаторы могут сигнализировать о величине избытка или недостатка. На карте азота могут быть показаны прогнозы использования растениями указанного азота, а также то, прогнозируется ли избыток или дефицит для различных периодов времени в прошлом и будущем (например, ежедневно, еженедельно, ежемесячно или ежегодно) с использованием числовых и/или цветных индикаторов избытка или дефицита, в которых цветами обозначена величина. В одном варианте осуществления карта азота может включать один или несколько графических элементов для ввода данных пользователем, таких как циферблаты или ползунки, для динамического изменения программ посадки и обращения с азотом так, чтобы пользователь мог оптимизировать свою карту азота, например, чтобы получить предпочтительное количество избытка или недостатка. Затем пользователь может использовать свою оптимизированную азотную карту и связанные с ней программы посадки и обращения с азотом для реализации одного или нескольких сценариев, включая сценарии производительности при изменяемой норме внесения (VR). В других вариантах осуществления аналогичные инструкции 210 по азоту могут быть использованы для внесения других питательных веществ (таких как фосфор и калий), применения пестицидов и программ орошения.In one embodiment, the nitrogen schedule may include one or more graphical elements for user input, such as dials or sliders, to dynamically change nitrogen application programs so that the user can optimize their nitrogen schedule. The user can then use their optimized nitrogen schedule and associated planting and nitrogen programs to implement one or more scenarios, including variable rate (VR) performance scenarios. Nitrogen instructions 210 may also be programmed to generate, resulting in the display of a nitrogen map that shows predictions of plant use of said nitrogen, and whether an excess or deficiency is predicted; in some embodiments, various color indicators may indicate the amount of excess or deficiency. A nitrogen map can show projections of plant use of specified nitrogen and whether excess or deficiency is predicted for various time periods in the past and future (e.g. daily, weekly, monthly or yearly) using numerical and/or color indicators of excess or deficit, in which the colors indicate the value. In one embodiment, the nitrogen map may include one or more graphical elements for user input, such as dials or sliders, to dynamically change planting and nitrogen management programs so that the user can optimize his nitrogen map, for example, to obtain a preferred amount of excess or lack. The user can then use their optimized nitrogen map and associated planting and nitrogen management programs to implement one or more scenarios, including variable rate (VR) performance scenarios. In other embodiments, similar nitrogen instructions 210 may be used for other nutrient applications (such as phosphorus and potassium), pesticide applications, and irrigation programs.
В одном варианте осуществления инструкции 212 по погоде запрограммированы для предоставления последних данных о погоде и прогнозной информации о погоде для конкретного поля. Это позволяет фермерам экономить время и иметь эффективный интегрированный дисплей для принятия ежедневных оперативных решений.In one embodiment, weather instructions 212 are programmed to provide the latest weather data and forecast weather information for a particular field. This allows farmers to save time and have an efficient integrated display for making daily operational decisions.
В одном варианте осуществления инструкции 214 по гигиене поля запрограммированы для предоставления своевременных изображений дистанционного зондирования, освещающих сезонные колебания культур и потенциальные проблемы. Примеры запрограммированных функций включают в себя проверку облаков для выявления возможных облаков или теней облаков; определение индексов азота на основе изображений с полей; графическую визуализацию слоев скаутов, включая, например, те, которые связаны с состоянием здоровья полей, и просмотр и/или обмен разведывательными заметками; и/или скачивание спутниковых изображений из нескольких источников и определение приоритетности изображений, в частности, для производителя.In one embodiment, field hygiene instructions 214 are programmed to provide timely remote sensing images highlighting seasonal crop variations and potential problems. Examples of programmed functions include cloud checking to identify possible clouds or cloud shadows; determination of nitrogen indices based on field images; graphical visualization of scouting layers, including, for example, those related to field health, and viewing and/or sharing of scouting notes; and/or downloading satellite imagery from multiple sources and prioritizing the images, particularly for the manufacturer.
В одном из вариантов осуществления инструкции 216 по эксплуатации запрограммированы на предоставление отчетов, аналитических и ознакомительных материалов с использованием данных, полученных на ферме, для оценки, осмысления и принятия решений. Это позволяет фермеру добиться лучших результатов на следующий год посредством основанных на фактах выводов о том, почему отдача от инвестиций была на прежнем уровне, и понимания факторов, ограничивающих доходность. Инструкции 216 по эксплуатации могут быть запрограммированы для связи по сети 109 с внутренними аналитическими программами, выполняемыми в автоматизированной системе 130 агроинтеллекта и/или внешнем сервере 108 данных и конфигурированы на анализ, в частности, таких показателей, как урожайность, разница в окупаемости, гибрид, популяция, зона SSURGO, свойства почвы или высота над уровнем моря. Программные отчеты и анализ могут включать анализ изменчивости урожайности, оценку эффекта обработки, сравнительный анализ урожайности и другие показатели в сравнении с другими фермерами, основанные, в частности, на анонимизированных данных, собранных от многих фермеров, или данные по семенам и посадке.In one embodiment, operating instructions 216 are programmed to provide reports, analysis, and insights using on-farm data for assessment, understanding, and decision making. This allows the farmer to achieve better results for the next year through evidence-based conclusions about why returns on investment have been stagnant and an understanding of the factors limiting returns. Operating instructions 216 may be programmed to communicate over network 109 with internal analytical programs running on automated agrointelligence system 130 and/or external data server 108 and configured to analyze metrics such as yield, payback differential, hybrid, etc., among others. population, SSURGO zone, soil properties or altitude. Program reports and analyzes may include yield variability analysis, treatment effect estimates, yield benchmarking, and other metrics relative to other farmers, based, among other things, on anonymized data collected from many farmers or seed and planting data.
Приложения, конфигурированные таким образом, могут быть реализованы для различных платформ вычислительных устройств, сохраняя при этом тот же общий вид интерфейса пользователя. Например, мобильное приложение может быть запрограммировано на выполнение на планшетных компьютерах, смартфонах или серверах, доступ к которым осуществляется через браузеры на клиентских компьютерах. Кроме того, мобильное приложение, конфигурированное на планшетные компьютеры или смартфоны, может обеспечить полноценную работу приложения или бортового компьютерного приложения, подходящего для отображения и обработки возможностей бортового компьютера 115. Например, обращаясь теперь к представлению (b) на фиг.2, в одном из вариантов осуществления бортовое компьютерное приложение 220 может включать в себя бортовые карты инструкции 222, инструкции 224 для удаленного просмотра, инструкции 226 для сбора и передачи данных, инструкции 228 для машинного оповещения, инструкции 230 для передачи сценария и инструкции 232 для бортового скаутинга. Кодовая основа для инструкций вида (b) может быть такой же, как и для вида (а), а исполняемые файлы, реализующие код, могут быть запрограммированы на определение типа платформы, на которой они исполняются, и на демонстрацию с помощью графического интерфейса пользователя только тех функций, которые подходят для бортовой платформы или полной платформы. Такой подход позволяет системе распознавать явно различающиеся пользовательские функции, подходящие для внутрибортовой среды и для различной технологической бортовой среды. Карточные бортовые инструкции 222 могут быть запрограммированы на представление карт полей, ферм или регионов, которые могут быть полезны для управления работой машины. Инструкции 224 удаленного просмотра могут быть запрограммированы на включение, управление и предоставление снимков работы машины в режиме реального или близкого к реальному времени другим вычислительным устройствам, подключенным к системе 130 с помощью беспроводных сетей, проводных разъемов или адаптеров и т.п. Инструкции 226 по сбору и передаче данных могут быть запрограммированы на включение, управление и обеспечение передачи данных, собранных на датчиках и контроллерах, в систему 130 по беспроводным сетям, проводным разъемам или адаптерам и т.п. Инструкции 228 автоматических предупреждений могут быть запрограммированы на обнаружение проблем с работой станка или инструментов, связанных с бортом, и генерацию предупреждений для оператора. Сценарий передачи инструкций 230 может быть конфигурирован на передачу в сценариях инструкций, которые конфигурированы для управления работой станка или сбора данных. Скаутские бортовые компьютерные инструкции 232 могут быть запрограммированы на вывод на экран предупреждений, основанных на местоположении, и информации, полученной от системы 130, основанной на местоположении вычислительных устройств 104, сельскохозяйственной техники 111 или датчиков 112 в поле, а также на прием, управление и обеспечение передачи в систему 130 поисково-разведовательной информации основанной на местоположении сельскохозяйственной техники 111 или датчиков 112 в поле.Applications configured in this way can be implemented across multiple computing device platforms while maintaining the same general user interface appearance. For example, a mobile application can be programmed to run on tablet computers, smartphones, or servers that are accessed through browsers on client computers. In addition, a mobile application configured on tablet computers or smartphones may provide a complete operation of an application or on-board computer application suitable for displaying and processing capabilities of the on-board computer 115. For example, referring now to representation (b) in FIG. 2, in one of In embodiments, the on-board computer application 220 may include on-board map instructions 222, remote viewing instructions 224, data collection and transmission instructions 226, machine alert instructions 228, script transmission instructions 230, and on-board scouting instructions 232. The code base for instructions of type (b) can be the same as for type (a), and the executable files implementing the code can be programmed to detect the type of platform on which they are executed and to demonstrate using a graphical user interface only those functions that are suitable for a flatbed platform or a complete platform. This approach allows the system to recognize distinctly different user functions suitable for the on-board environment and for different on-board technological environments. The on-board instruction cards 222 may be programmed to present maps of fields, farms, or regions that may be useful for controlling machine operation. Remote viewing instructions 224 may be programmed to enable, control, and provide real-time or near real-time snapshots of the machine's operation to other computing devices connected to the system 130 via wireless networks, wired connectors or adapters, and the like. Data collection and transmission instructions 226 may be programmed to enable, control, and enable transmission of data collected on sensors and controllers to system 130 via wireless networks, wired connectors or adapters, and the like. The automatic alert instructions 228 may be programmed to detect machine or tooling problems associated with the board and generate alerts to the operator. Instruction transmission script 230 may be configured to transmit instructions in scripts that are configured to control machine operation or collect data. Scout on-board computer instructions 232 may be programmed to display location-based alerts and information received from system 130 based on the location of computing devices 104, farm equipment 111, or sensors 112 in the field, as well as to receive, control, and provide transmission to the system 130 of search and reconnaissance information based on the location of agricultural machinery 111 or sensors 112 in the field.
2.3. Поступление данных в компьютерную систему2.3. Data entry into the computer system
В одном из вариантов осуществления внешний сервер 108 данных хранит внешние данные 110, включая данные о составе почвы для одного или нескольких полей и данные о погоде, представляющие температуру и осадки на одном или нескольких полях. Данные о погоде могут включать данные о погоде в прошлом и настоящем, а также данные прогноза погоды на будущее. В одном из вариантов осуществления внешний сервер 108 данных включает множество серверов, размещенных на различных логических объектах. Например, первый сервер может содержать данные о составе почвы, в то время как второй сервер может содержать данные о погоде. Кроме того, данные о составе почвы могут храниться на нескольких серверах. Например, один сервер может хранить данные, представляющие процентное содержание песка, ила и глины в почве, в то время как второй сервер может хранить данные, представляющие процентное содержание органического вещества (ОВ) в почве.In one embodiment, external data server 108 stores external data 110, including soil composition data for one or more fields and weather data representing temperature and precipitation for one or more fields. Weather data may include past and present weather data, as well as future weather forecast data. In one embodiment, the front-end data server 108 includes a plurality of servers located in different entities. For example, the first server may contain soil composition data, while the second server may contain weather data. In addition, soil composition data can be stored on multiple servers. For example, one server may store data representing the percentage of sand, silt, and clay in the soil, while a second server may store data representing the percentage of organic matter (OM) in the soil.
В одном из вариантов осуществления удаленный сенсор 112 содержит один или несколько сенсоров, которые запрограммированы или конфигурированы под производство одного или нескольких наблюдений. Удаленный сенсор 112 может быть воздушным датчиком, таким как спутник, датчиком транспортных средств, датчиком посадочной техники, датчиком обработки почвы, датчиком внесения удобрений или инсектицидов, датчиком для уборки урожая и любым другим оборудованием, способным принимать данные от одного или нескольких полей. В одном из вариантов осуществления контроллер 114 внесения удобрений запрограммирован или конфигурирован для получения инструкций от автоматизированной системы 130 агроинтеллекта. Контроллер 114 внесения удобрений также может быть запрограммирован или конфигурирован для управления рабочими параметрами сельскохозяйственного транспортного средства или орудия. Например, контроллер внесения удобрений может быть запрограммирован или конфигурирован для управления рабочими параметрами транспортного средства, таких как трактор, посадочное оборудование, почвообрабатывающее оборудование, оборудование для внесения удобрений или инсектицидов, оборудование для уборки урожая или другая сельскохозяйственная техника, такая как водяной клапан. В других вариантах осуществления могут быть применены любые комбинации датчиков и контроллеров, часть из которых приведена ниже лишь в качестве примера.In one embodiment, remote sensor 112 includes one or more sensors that are programmed or configured to make one or more observations. The remote sensor 112 may be an airborne sensor such as a satellite, a vehicle sensor, a planting equipment sensor, a tillage sensor, a fertilizer or insecticide application sensor, a harvest sensor, or any other equipment capable of receiving data from one or more fields. In one embodiment, the fertilizer application controller 114 is programmed or configured to receive instructions from the automated agrointelligence system 130 . The fertilizer controller 114 may also be programmed or configured to control the operating parameters of the agricultural vehicle or implement. For example, a fertilizer controller may be programmed or configured to control operating parameters of a vehicle such as a tractor, planting equipment, tillage equipment, fertilizer or insecticide application equipment, harvesting equipment, or other agricultural equipment such as a water valve. In other embodiments, any combination of sensors and controllers may be used, some of which are shown below by way of example only.
Система 130 может получать данные под управлением пользователя 102, в массовом порядке от большого числа фермеров, которые внесли данные в общую систему базы данных. Эту форму получения данных можно назвать "ручным вводом данных", так как для получения данных системой 130 запрашивается или запускается одна компьютерная операция или более, управляемая пользователем. В качестве примера можно привести приложение CLIMATE FIELDVIEW, коммерчески доступное у Climate Corporation, Сан-Франциско, Калифорния, для экспорта данных в систему 130 для хранения в хранилище 160.System 130 may receive data, under the control of user 102, in bulk from a large number of farmers who have contributed data to a common database system. This form of data acquisition may be referred to as "manual data entry" because one or more user-controlled computer operations are requested or initiated by system 130 to obtain data. An example is the CLIMATE FIELDVIEW application, commercially available from Climate Corporation, San Francisco, California, for exporting data to system 130 for storage in storage 160.
Например, системы мониторинга семян могут как управлять компонентами сеялки, так и получать данные о посадке, в том числе сигналы от датчиков семян через сигнальный жгут, состоящий из магистральной сети CAN и соединений "точка-точка" для регистрации и/или диагностики. Системы контроля посевного материала могут быть запрограммированы или конфигурированы так, чтобы вывести на экран расстояние между посевным материалом, численность посевного материала и другую информацию через бортовой компьютер 115 или другие устройства в системе 130. Примеры приведены в документе US Pat. №8 738 243 и патент США. Pub. 20150094916, и настоящее описание предполагает знание тех других патентных изобретений.For example, seed monitoring systems can both control planter components and receive planting data, including signals from seed sensors through a signal harness consisting of a CAN backbone and point-to-point connections for logging and/or diagnostics. Seed monitoring systems may be programmed or configured to display seed spacing, seed quantity, and other information through on-board computer 115 or other devices in system 130. Examples are provided in US Pat. No. 8,738,243 and US Pat. Pub. 20150094916, and the present disclosure assumes knowledge of those other patent inventions.
Аналогичным образом, системы мониторинга урожайности могут включать датчики урожайности для уборочных машин, которые посылают результаты измерения урожайности в бортовой компьютер 115 или другие устройства в системе 130. В системах контроля урожайности может быть использован один дистанционный датчик 112 или более для получения результатов измерений влажности зерна в зерноуборочном комбайне или другом комбайне и передачи этих результатов пользователю через бортовой компьютер 115 или другие устройства в системе 130.Likewise, yield monitoring systems may include yield sensors for harvesters that send yield measurements to on-board computer 115 or other devices in system 130. Yield monitoring systems may use one or more remote sensors 112 to provide grain moisture measurements at combine harvester or other combine harvester and transmitting these results to the user through the on-board computer 115 or other devices in the system 130.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы с любым движущимся транспортным средством или устройством типа, описанного в настоящем документе, включают кинематические датчики и датчики положения. Кинематические датчики могут включать любые датчики скорости, такие как радар или колесные датчики скорости, акселерометры или гироскопы. Датчики положения могут включать в себя GPS-приемники или приемопередатчики, а также WiFi-приложения для определения местоположения или картографирования, которые запрограммированы на определение местоположения, в частности, на основе близлежащих точек доступа WiFi.In one embodiment, exemplary sensors 112 that can be used with any moving vehicle or device of the type described herein include kinematic sensors and position sensors. Kinematic sensors can include any speed sensors such as radar or wheel speed sensors, accelerometers or gyroscopes. Position sensors may include GPS receivers or transceivers, as well as WiFi location or mapping applications that are programmed to determine location based, in part, on nearby WiFi access points.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы вместе с тракторами или другими движущимися транспортными средствами, включают в себя датчики оборотов двигателя, датчики расхода топлива, счетчики площади или расстояния, которые взаимодействуют с сигналами GPS или радаров, датчики скорости отбора мощности, гидравлические датчики трактора, конфигурированные на обнаружение гидравлических параметров, таких как давление или расход и/или и датчики скорости гидравлического насоса, датчики скорости движения колес или пробуксовки колес. В одном из вариантов осуществления приведенные в качестве примера контроллеры 114, которые могут быть использованы вместе с тракторами, включают в себя: гидравлические контроллеры направления движения; контроллеры давления и/или контроллеры расхода; контроллеры скорости вращения гидравлических насосов; контроллеры или регуляторы скорости движения; контроллеры положения сцепного устройства; или контроллеры положения колес, обеспечивающие автоматическое рулевое управление.In one embodiment, exemplary sensors 112 that may be used in conjunction with tractors or other moving vehicles include engine speed sensors, fuel consumption sensors, area or distance meters that interface with GPS or radar signals, sensors power take-off speeds, tractor hydraulic sensors configured to detect hydraulic parameters such as pressure or flow and/or hydraulic pump speed sensors, wheel speed or wheel slip sensors. In one embodiment, exemplary controllers 114 that may be used in conjunction with tractors include: hydraulic directional controllers; pressure controllers and/or flow controllers; hydraulic pump rotation speed controllers; controllers or speed regulators; hitch position controllers; or wheel position controllers that provide automatic steering.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы вместе с посадочным оборудованием, таким как высадкопосадочная машина, сеялки или пневматические сеялки, включают в себя: датчики семян, которые могут быть оптическими, электромагнитными или ударными; датчики прижимной силы, такие как датчики нагрузки, тензодатчики, датчики давления; датчики показателей почвы, такие как датчики отражения, датчики влажности, датчики электропроводности, оптические датчики остатков или датчики температуры; компонентные датчики эксплуатационных критериев, например, датчики глубины посадки, датчики давления в цилиндрах, датчики скорости вращения дисков, датчики приводных двигателей семян, датчики скорости в системе транспортировки семян или вакуумные датчики уровня; или датчики внесения пестицидов, например оптические или другие электромагнитные датчики, или датчики ударных воздействий. В одном из вариантов осуществления приведенные в качестве примера контроллеры 114, которые могут быть использованы вместе с таким оборудованием для посадки семян, включают в себя: контроллеры складывания инструментальных панелей, такие как контроллеры для клапанов, связанных с гидравлическими цилиндрами; контроллеры прижимной силы, такие как контроллеры для клапанов, связанных с пневматическими цилиндрами, подушками безопасности или гидравлическими цилиндрами и запрограммированных на приложение прижимной силы к отдельным рядам или всей раме сеялки; контроллеры глубины посадки, такие как линейные приводы; контроллеры дозирования, такие как электрические приводные моторы счетчиков семян, гидравлические приводные моторы счетчиков семян или муфты для управления валками; гибридные селекционные контроллеры, такие как приводные двигатели счетчиков семян, или другие приводы, запрограммированные для селективной подачи или предотвращения подачи семян или смеси семян к счетчикам семян или к центральным бункерным емкостям; контроллеры дозирования, такие как приводные двигатели счетчиков семян или приводные двигатели гидравлических счетчиков семян; контроллеры систем транспортировки семян, такие как контроллеры двигателей ленточных транспортеров; контроллеры маркеров, такие как контроллеры пневматических или гидравлических приводов; или контроллеры нормирования внесения пестицидов, такие как контроллеры приводов дозаторов, контроллеры размеров или положения отверстий.In one embodiment, exemplary sensors 112 that may be used in conjunction with planting equipment such as a planter, seeders, or air seeders include: seed sensors, which may be optical, electromagnetic, or impact; downforce sensors such as load cells, strain gauges, pressure sensors; soil sensors such as reflectance sensors, moisture sensors, conductivity sensors, optical residue sensors or temperature sensors; component performance sensors, such as planting depth sensors, cylinder pressure sensors, disc speed sensors, seed drive motor sensors, seed transport system speed sensors, or vacuum level sensors; or pesticide application sensors, such as optical or other electromagnetic or impact sensors. In one embodiment, exemplary controllers 114 that may be used in conjunction with such seed planting equipment include: instrument panel folding controllers, such as controllers for valves associated with hydraulic cylinders; downforce controllers, such as controllers for valves associated with pneumatic cylinders, airbags or hydraulic cylinders and programmed to apply downforce to individual rows or the entire planter frame; planting depth controllers such as linear actuators; metering controllers such as electric seed counter drive motors, hydraulic seed counter drive motors or roller clutches; hybrid breeding controllers, such as seed counter drive motors, or other drives programmed to selectively feed or prevent seed or seed mixture from being fed to seed counters or central hoppers; metering controllers such as seed counter drive motors or hydraulic seed counter drive motors; seed transport system controllers, such as conveyor belt motor controllers; marker controllers, such as pneumatic or hydraulic actuator controllers; or pesticide application rate controllers, such as metering drive controllers, orifice size or position controllers.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы вместе с почвообрабатывающим оборудованием, включают в себя датчики положения таких инструментов, как хвостовики или диски; датчики положения инструментов для таких инструментов, которые конфигурированы на определение глубины, угла наклона или бокового расстояния; датчики прижимной силы; или датчики тягового усилия. В одном из вариантов осуществления приведенные в качестве примера контроллеры 114, которые могут быть использованы вместе с почвообрабатывающим оборудованием, включают в себя контроллеры прижимной силы или положения инструмента, например, контроллеры, конфигурированные на контроль глубины, угла наклона шашек или бокового расстояния между шашками.In one embodiment, exemplary sensors 112 that may be used in conjunction with tillage equipment include position sensors for tools such as shanks or discs; tool position sensors for such tools that are configured to detect depth, inclination or lateral distance; downforce sensors; or traction sensors. In one embodiment, exemplary controllers 114 that may be used in conjunction with tillage equipment include downforce or tool position controllers, such as controllers configured to control depth, block angle, or lateral distance between blocks.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы вместе с оборудованием для внесения удобрений, инсектицидов, фунгицидов и т.п., таких как системы для внесения удобрений на плантациях, аппликаторы для внесения удобрений в грунт или распылители удобрений, включают: датчики критериев системы подачи жидкости, такие как датчики расхода или давления; датчики, указывающие на то, какие клапаны напорной арматуры или клапаны трубопроводов подачи жидкости открыты; датчики, связанные с резервуарами, такие как датчики уровня наполнения; датчики секционных или общесистемных питающих линий или датчики питающих линий для конкретных рядов; или кинематические датчики, такие как акселерометры, расположенные на штангах опрыскивателя. В одном из вариантов осуществления приведенные в качестве примера контроллеры 114, которые могут быть использованы вместе с такими устройствами, включают контроллеры скорости насосов; контроллеры клапанов, которые запрограммированы на управление давлением, расходом, направлением, ШИМ и т.п.; или приводы положения, например, для высоты штанги, глубины подошвы или положения штанги.In one embodiment, exemplary sensors 112 that may be used in conjunction with equipment for applying fertilizers, insecticides, fungicides, and the like, such as plantation fertilizer systems, soil fertilizer applicators, or fertilizer sprayers , include: fluid system criteria sensors, such as flow or pressure sensors; sensors indicating which pressure valves or fluid supply valves are open; sensors associated with tanks, such as fill level sensors; sectional or system-wide supply line sensors or row-specific supply line sensors; or kinematic sensors such as accelerometers located on the sprayer booms. In one embodiment, exemplary controllers 114 that may be used in conjunction with such devices include pump speed controllers; valve controllers, which are programmed to control pressure, flow, direction, PWM, etc.; or position actuators, for example for boom height, sole depth or boom position.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы вместе с комбайнами, включают: мониторы урожайности, такие как датчики деформации ударной плиты или датчики положения, емкостные датчики потока, датчики нагрузки, датчики веса, или датчики крутящего момента, связанные с элеваторами или шнеками, или оптические или другие электромагнитные датчики высоты зерна; датчики влажности зерна, такие как емкостные датчики; датчики потери зерна, включая ударные, оптические или емкостные датчики; датчики рабочих характеристик жатки, таких как высота жатки, тип жатки, зазор между плитами, скорость подачи и скорость барабана; датчики рабочих характеристик сепараторов, таких как зазор подбарабанья, скорость вращения ротора, зазор колодки или зазор мякинного решета; датчики положения, работы или скорости шнеков; или датчики частоты вращения двигателя. В одном из вариантов осуществления приведенные в качестве примера контроллеры 114, которые могут быть использованы вместе с комбайнами, включают в себя: контроллеры рабочих характеристик жатки, таких как высота жатки, тип жатки, зазор между плитами, скорость подачи или скорость барабана; контроллеры рабочих характеристик сепаратора таких, как зазор подбарабанья, скорость вращения ротора, зазор колодки или зазор мякинного решета; или контроллеры положения, работы или скорости шнека.In one embodiment, exemplary sensors 112 that may be used in conjunction with harvesters include: yield monitors such as impact plate strain sensors or position sensors, capacitive flow sensors, load sensors, weight sensors, or torque sensors, associated with elevators or augers, or optical or other electromagnetic grain height sensors; grain moisture sensors such as capacitive sensors; grain loss sensors, including impact, optical or capacitive sensors; header performance sensors such as header height, header type, platen gap, feed speed, and reel speed; separator performance sensors such as concave clearance, rotor speed, block clearance or chaff sieve clearance; sensors for position, operation or speed of augers; or engine speed sensors. In one embodiment, exemplary controllers 114 that may be used in conjunction with combines include: controllers for header performance, such as header height, header type, platen gap, feed speed, or reel speed; controllers for separator operating characteristics such as concave clearance, rotor speed, block clearance or chaff sieve clearance; or controllers for position, operation or speed of the auger.
В одном из вариантов осуществления приведенные в качестве примера датчики 112, которые могут быть использованы вместе с тележками для зерна, включают датчики веса или датчики положения, работы или скорости шнека. В одном из вариантов осуществления приведенные в качестве примера контроллеры 114, которые могут быть использованы вместе с тележками для зерна, включают контроллеры положения, работы или скорости шнека.In one embodiment, exemplary sensors 112 that may be used in conjunction with grain carts include weight sensors or sensors for auger position, operation, or speed. In one embodiment, exemplary controllers 114 that may be used in conjunction with grain carts include auger position, operation, or speed controllers.
В одном из вариантов осуществления приведенные в качестве примера датчики 112 и контроллеры 114 могут быть установлены в беспилотных летательных аппаратах (БПЛА) или "дронах". Такие датчики могут включать в себя: камеры с детекторами, эффективно работающими в любом диапазоне электромагнитного спектра, включая видимый свет, инфракрасный, ультрафиолетовый, ближний инфракрасный (БИК) и т.п.; акселерометры; высотомеры; датчики температуры; датчики влажности; датчики с питовыми трубками или другие датчики скорости воздуха или ветра; датчики срока службы батарей; или радиолокационные излучатели и приборы обнаружения отраженной радиолокационной энергии; другие излучатели электромагнитного излучения и приборы обнаружения отраженного электромагнитного излучения. Такие контроллеры могут включать устройства наведения или управления двигателями, контроллеры поверхностей управления, контроллеры камер или контроллеры, запрограммированные на включение, эксплуатацию, получение данных от любого из вышеперечисленных датчиков, управление и конфигурацию. Примеры приведены в документе US Pat. Арр. No. 14/831 165, и настоящее описание предполагает знание этого другого описания изобретения к патенту.In one embodiment, the exemplary sensors 112 and controllers 114 may be installed in unmanned aerial vehicles (UAVs) or "drones". Such sensors may include: cameras with detectors that operate effectively in any range of the electromagnetic spectrum, including visible light, infrared, ultraviolet, near-infrared (NIR), etc.; accelerometers; altimeters; temperature sensors; humidity sensors; pit tube sensors or other air or wind speed sensors; battery life sensors; or radar emitters and devices for detecting reflected radar energy; other emitters of electromagnetic radiation and devices for detecting reflected electromagnetic radiation. Such controllers may include guidance or motor control devices, control surface controllers, camera controllers, or controllers programmed to enable, operate, receive data from any of the above sensors, control, and configure. Examples are given in US Pat. Arr. No. 14/831,165, and the present description assumes knowledge of this other patent specification.
В одном из вариантов осуществления датчики 112 и контроллеры 114 могут быть прикреплены к пробоотборнику и измерительному устройству, которое конфигурировано или запрограммировано на отбор проб почвы и проведение химических тестов почвы, тестов на влажность почвы и других тестов, относящихся к почве. Например, может быть использовано устройство, раскрытое в патентной заявке US 15/551 582, поданной 16 августа 2017 г., и настоящее описание предполагает знание описания изобретения к этому патенту.In one embodiment, sensors 112 and controllers 114 may be attached to a sampler and measurement device that is configured or programmed to collect soil samples and perform soil chemical tests, soil moisture tests, and other soil-related tests. For example, the device disclosed in patent application US 15/551,582, filed August 16, 2017, may be used, and the present disclosure assumes knowledge of the specification of that patent.
В одном из вариантов осуществления датчики 112 и контроллеры 114 могут включать погодные устройства для мониторинга погодных условий полей. Например, устройство, раскрытое в предварительной заявке на патент США US 62/154,207, поданной 29 апреля 2015 г., предварительной заявке на патент США US 62/175,160, поданной 12 июня 2015 г., предварительной заявке на патент США US 62/198,060, поданной 28 июля 2015 г., и предварительной заявке на патент США US 62/220,852, поданной 18 сентября 2015 г., может быть использовано, и настоящее описание предполагает знание описаний изобретений к этим патентам.In one embodiment, sensors 112 and controllers 114 may include weather devices for monitoring field weather conditions. For example, the device disclosed in US Provisional Patent Application US 62/154,207, filed April 29, 2015, US Provisional Patent Application US 62/175,160, filed June 12, 2015, US Provisional Patent Application US 62/198,060, filed July 28, 2015, and U.S. Provisional Patent Application US 62/220,852, filed September 18, 2015, may be relied upon, and the disclosure assumes knowledge of the disclosures of those patents.
2.4. Обзор процесса - обучение агрономической модели2.4. Process Overview - Agronomic Model Training
В одном из вариантов осуществления автоматизированная система 130 агроинтеллекта запрограммирована или конфигурирована для создания агрономической модели. В данном контексте, агрономическая модель представляет собой структуру данных в памяти автоматизированной системы 130 агроинтеллекта, которая включает полевые данные 106, такие как идентификационные данные и данные об урожае для одного или нескольких полей. Агрономическая модель может также включать рассчитанные агрономические свойства, которые описывают либо условия, которые могут влиять на рост одной или нескольких культур на поле, либо свойства одной или нескольких культур, либо и то, и другое. Кроме того, агрономическая модель может включать рекомендации, основанные на таких агрономических факторах, как рекомендации по культурам, рекомендации по орошению, рекомендации по посадке, рекомендации по удобрениям, рекомендации по фунгицидам, рекомендации по пестицидам, рекомендации по уборке урожая и другие рекомендации по управлению сельскохозяйственными культурами. Агрономические факторы могут также использоваться для оценки одного или нескольких результатов, связанных с культурами, таких как урожайность. Агрономическая урожайность культуры - это оценка количества произведенной культуры или, в некоторых примерах, выручки или прибыли, полученной от этой культуры.In one embodiment, the automated agrointelligence system 130 is programmed or configured to create an agronomic model. In this context, an agronomic model is a data structure in the memory of an automated agrointelligence system 130 that includes field data 106, such as identification and yield data for one or more fields. An agronomic model may also include calculated agronomic properties that describe either the conditions that may affect the growth of one or more crops in a field, or the properties of one or more crops, or both. Additionally, an agronomic model may include recommendations based on agronomic factors such as crop recommendations, irrigation recommendations, planting recommendations, fertilizer recommendations, fungicide recommendations, pesticide recommendations, harvest recommendations, and other agricultural management recommendations. cultures. Agronomic factors can also be used to evaluate one or more crop-related outcomes, such as yield. Agronomic crop yield is an estimate of the amount of a crop produced or, in some examples, the revenue or profit generated by that crop.
В одном из вариантов осуществления автоматизированная система 130 агроинтеллекта может использовать предварительно конфигурированную агрономическую модель для расчета агрономических свойств, связанных с полученными текущими данными о местоположении и урожае для одного или нескольких полей. Предварительно конфигурированная агрономическая модель основана на ранее обработанных полевых данных, включая, в частности, идентификационные данные, данные об урожае, данные об удобрениях и данные о погоде. Предварительно конфигурированная агрономическая модель может быть подвергнута перекрестной проверке для обеспечения точности модели. Перекрестная проверка может включать сравнение с наземной правкой, которая сравнивает прогнозируемые результаты с фактическими результатами на поле, например, сравнение оценки осадков с датчиком дождя или датчиком, предоставляющим данные о погоде в том же или близлежащем месте, или оценку содержания азота с измерением образца почвенной пробы.In one embodiment, the automated agrointelligence system 130 may use a preconfigured agronomic model to calculate agronomic properties associated with received current location and yield data for one or more fields. The pre-configured agronomic model is based on previously processed field data, including but not limited to identification data, yield data, fertilizer data and weather data. A pre-configured agronomic model can be cross-validated to ensure model accuracy. Cross-validation may include a comparison with a ground edit that compares predicted results with actual results in a field, such as comparing a rainfall estimate with a rain gauge or sensor providing weather data at the same or nearby location, or a nitrogen estimate with a soil sample measurement .
На фиг.3 показан программируемый процесс, посредством которого автоматизированная система агроинтеллекта генерирует одну или несколько предварительно конфигурированных агрономических моделей, используя полевые данные, предоставляемые одним или несколькими источниками данных. Фиг. 3 может представлять собой алгоритм или инструкцию по программированию функциональных элементов автоматизированной системы 130 агроинтеллекта для выполнения описанных операций.Figure 3 illustrates a programmable process by which an automated agrointelligence system generates one or more preconfigured agronomic models using field data provided by one or more data sources. Fig. 3 may represent an algorithm or instructions for programming functional elements of an automated agrointelligence system 130 to perform the described operations.
В блоке 305 автоматизированная система 130 агроинтеллекта конфигурирована или запрограммирована на осуществление предварительной обработки агрономических данных, полученных из одного или нескольких источников данных. Данные с поля, полученные из одного или нескольких источников данных, могут быть предварительно обработаны с целью устранения шумов, искажающих эффектов и смещающих факторов в пределах агрономических данных, включая отклонения от нормы, которые могут негативно повлиять на значения получаемых полевых данных. В одном из вариантов осуществления предварительная обработка агрономических данных может включать, в частности, удаление значений данных, обычно связанных с выбросами, конкретные точки данных измерений, которые, как известно, излишне искажают другие значения данных, сглаживание данных, агрегирование или методы отбора проб, используемые для удаления или уменьшения аддитивного или мультипликативного воздействия шума, и другие методы фильтрации или получения данных, используемые для обеспечения четкого различия между позитивными и негативными входными данными.At block 305, the automated agrointelligence system 130 is configured or programmed to perform pre-processing of agronomic data obtained from one or more data sources. Field data obtained from one or more data sources may be preprocessed to remove noise, confounding effects, and bias factors within the agronomic data, including anomalies that may negatively impact the resulting field data values. In one embodiment, pre-processing of agronomic data may include, but is not limited to, removal of data values typically associated with outliers, specific measurement data points that are known to unduly bias other data values, data smoothing, aggregation, or sampling methods used to remove or reduce the additive or multiplicative effects of noise, and other filtering or data acquisition techniques used to ensure a clear distinction between positive and negative input data.
В блоке 310 автоматизированная система 130 агроинтеллекта конфигурирована или запрограммирована для осуществления выбора поднабора данных с использованием предварительно обработанных полевых данных с целью определения набора данных, полезных для создания первоначальной агрономической модели. Автоматизированная система 130 агроинтеллекта может обеспечить методы отбора подмножеств данных, как например метод генетического алгоритма, метод моделирования всех поднаборов, метод последовательного поиска, метод пошаговой регрессии, метод оптимизации стаи частиц и метод оптимизации муравьиных колоний. Например, метод выбора генетического алгоритма использует адаптивный эвристический алгоритм поиска, основанный на эволюционных принципах естественного отбора и генетики, для определения и оценки наборов данных в пределах предварительно обработанных агрономических данных.At block 310, the automated agrointelligence system 130 is configured or programmed to select a subset of data using the preprocessed field data to determine a set of data useful for creating an initial agronomic model. The automated agrointelligence system 130 may provide data subset selection methods, such as a genetic algorithm method, an all subset modeling method, a sequential search method, a stepwise regression method, a particle swarm optimization method, and an ant colony optimization method. For example, the genetic algorithm selection method uses an adaptive heuristic search algorithm based on evolutionary principles of natural selection and genetics to identify and evaluate data sets within preprocessed agronomic data.
В блоке 315 автоматизированная система 130 агроинтеллекта конфигурирована или запрограммирована на реализацию оценки набора полевых данных. В одном из вариантов осуществления определенный набор полевых данных оценивается путем создания агрономической модели и использования конкретных пороговых значений качества для созданной агрономической модели. Агрономические модели можно сравнивать и/или проверять посредством одного или нескольких методов сравнения, таких как, например, среднеквадратичная ошибка с перекрестной проверкой (RMSECV), среднеабсолютная ошибка и среднепроцентная ошибка. Например, система RMSECV может проводить перекрестную валидацию агрономических моделей путем сравнения прогнозируемых значений агрономических показателей, созданных агрономической моделью, с историческими значениями собранных и проанализированных агрономических показателей. В одном из вариантов осуществления логика оценки наборов агрономических данных используется в качестве контура обратной связи, в которой наборы агрономических данных, которые не соответствуют настроенным пороговым значениям качества, используются на будущих этапах выбора подмножества данных (блок 310).At block 315, the automated agrointelligence system 130 is configured or programmed to implement an evaluation of a set of field data. In one embodiment, a specific set of field data is assessed by creating an agronomic model and using specific quality thresholds for the created agronomic model. Agronomic models can be compared and/or validated through one or more comparison methods, such as, for example, root mean square error with cross validation (RMSECV), mean absolute error, and mean percentage error. For example, the RMSECV system can cross-validate agronomic models by comparing the predicted values of agronomic indicators generated by the agronomic model with the historical values of collected and analyzed agronomic indicators. In one embodiment, the agronomic data set evaluation logic is used as a feedback loop in which agronomic data sets that do not meet configured quality thresholds are used in future data subset selection steps (block 310).
В блоке 320 автоматизированная система 130 агроинтеллекта конфигурирована или запрограммирована на создание агрономической модели на основе перекрестно подтвержденных наборов агрономических данных. В одном из вариантов осуществления разработка агрономической модели может реализовать многомерную регрессию для создания предварительно конфигурированных моделей агрономических данных.At block 320, the automated agrointelligence system 130 is configured or programmed to create an agronomic model based on cross-validated agronomic data sets. In one embodiment, an agronomic model developer may implement multivariate regression to create pre-configured models of agronomic data.
В блоке 325 автоматизированная система 130 агроинтеллекта конфигурирована или запрограммирована для хранения предварительно конфигурированных моделей агрономических данных для оценки полевых данных в будущем.At block 325, the automated agrointelligence system 130 is configured or programmed to store preconfigured agronomic data models for future evaluation of field data.
2.5. Пример внедрения - обзор аппаратного обеспечения2.5. Case Study - Hardware Overview
В соответствии с одним из вариантов осуществления описанные здесь методики реализуют одним или несколькими специализированными вычислительными устройствами. Специализированные вычислительные устройства могут быть жестко смонтированными для выполнения технических решений или могут включать цифровые электронные устройства, такие как одна или несколько специализированных интегральных схем (СИС), или программируемые пользователем вентильные матрицы (ППВМ), которые жестко запрограммированы для выполнения этих технических решений, или могут включать один или несколько аппаратных процессоров общего назначения, запрограммированных для выполнения технических решений в соответствии с программными инструкциями в аппаратно-реализованном программном обеспечении, памяти, других запоминающих устройствах или их комбинации. Такие специализированные вычислительные устройства могут также сочетать пользовательскую аппаратную логику, специализированные интегральные схемы (СИС) или программируемые логические интегральные схемы (ПЛИС) с пользовательским программированием для выполнения технических решений. Специализированные вычислительные устройства могут представлять собой настольные компьютерные системы, портативные компьютерные системы, карманные устройства, сетевые устройства или любое другое устройство, которое включает аппаратно- и/или программно-реализованную логику для осуществления технических решений.In accordance with one embodiment, the techniques described herein are implemented by one or more specialized computing devices. Application-specific computing devices may be hard-wired to implement technical solutions, or may include digital electronic devices, such as one or more application-specific integrated circuits (ASICs), or field programmable gate arrays (FPGAs), that are hard-wired to implement these technical solutions, or may include one or more general purpose hardware processors programmed to execute technical solutions in accordance with software instructions in hardware-implemented software, memory, other storage devices, or a combination thereof. Such application-specific computing devices may also combine custom hardware logic, application-specific integrated circuits (ASICs), or programmable logic integrated circuits (FPGAs) with custom programming to implement technical solutions. Special purpose computing devices may be desktop computer systems, portable computer systems, handheld devices, network devices, or any other device that includes hardware and/or software logic to implement technical solutions.
Например, на фиг.4 представлена блок-схема, иллюстрирующая компьютерную систему 400, на которой может быть реализован вариант изобретения. Компьютерная система 400 включает шину 402 или другой механизм связи для передачи информации, а также аппаратный процессор 404, соединенный с шиной 402 для обработки информации. Аппаратный процессор 404 может быть, например, микропроцессором общего назначения.For example, FIG. 4 is a block diagram illustrating a computer system 400 on which an embodiment of the invention may be implemented. The computer system 400 includes a bus 402 or other communication mechanism for transmitting information, as well as a hardware processor 404 coupled to the bus 402 for processing the information. The hardware processor 404 may be, for example, a general purpose microprocessor.
Компьютерная система 400 также включает в себя оперативную память 406, например оперативное запоминающее устройство (ОЗУ) или другое устройство динамического хранения данных, соединенное с шиной 402 для хранения информации и инструкций, выполняемых процессором 404. Память 406 также может быть использована для хранения временных переменных или другой промежуточной информации во время выполнения инструкций, которые будут выполняться процессором 404. Такие инструкции при хранении на долговременных носителях информации, доступных для процессора 404, преобразуют вычислительную систему 400 в специализированную машину, конфигурированную на выполнение операций, указанных в инструкциях.Computer system 400 also includes random access memory 406, such as random access memory (RAM) or other dynamic storage device, coupled to bus 402 to store information and instructions executed by processor 404. Memory 406 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 404. Such instructions, when stored on non-transitory storage media accessible to the processor 404, transform the computing system 400 into a specialized machine configured to perform the operations specified in the instructions.
Далее компьютерная система 400 включает постоянное запоминающее устройство (ПЗУ) 408 или другое статическое запоминающее устройство, подключенное к шине 402 для хранения статической информации и инструкций для процессора 404. Для хранения информации и инструкций поставляется и подключается к шине 402 запоминающее устройство 410, например, магнитный диск, оптический диск или полупроводниковый диск.The computer system 400 further includes a read-only memory (ROM) 408 or other static storage device connected to the bus 402 for storing static information and instructions for the processor 404. A storage device 410, such as a magnetic device, is provided and connected to the bus 402 to store the information and instructions. disk, optical disk or semiconductor disk.
Компьютерная система 400 может быть подключена через шину 402 к дисплею 412, например к электронно-лучевой трубке (ЭЛТ), для отображения информации пользователю компьютера. Устройство 414 ввода данных, включая буквенно-цифровые и другие клавиши, подключается к шине 402 для передачи информации и выбора команд процессору 404. Другим типом устройства ввода данных пользователя является управление курсором 416, такие как мышь, трекбол или клавиши направления курсора для передачи информации о направлении и выбора команд процессору 404, а также для управления движением курсора на дисплее 412. Это устройство ввода обычно имеет две степени свободы по двум осям, первая ось (например х) и вторая ось (например у), что позволяет устройству задавать позиции в плоскости.The computer system 400 may be coupled via bus 402 to a display 412, such as a cathode ray tube (CRT), to display information to a computer user. A data input device 414, including alphanumeric and other keys, is connected to the bus 402 to transmit information and select commands to the processor 404. Another type of user input device is a cursor control 416, such as a mouse, trackball, or cursor direction keys to transmit information about direction and selection of commands to the processor 404, and to control the movement of the cursor on the display 412. This input device typically has two degrees of freedom along two axes, a first axis (eg x) and a second axis (eg y), which allows the device to specify positions in the plane .
Компьютерная система 400 может реализовать описанные здесь методы с использованием настраиваемой аппаратно-реализованной логики, одной или нескольких СИС или ППВМ, встроенного программного обеспечения и/или программной логики, которые в сочетании с компьютерной системой приводят к тому или программируют так, что компьютерная система 400 превращается в специализированную машину. В соответствии с одним из вариантов осуществления описанные здесь технические решения выполняются компьютерной системой 400 в результате выполнения процессором 404 одной или нескольких последовательностей одной или нескольких инструкций, содержащихся в оперативной памяти 406. Такие инструкции могут быть перенесены в оперативную память 406 из другого носителя информации, например с устройства хранения данных 410. Выполнение последовательностей инструкций, содержащихся в оперативной памяти 406, вынуждает процессор 404 выполнять описанные здесь стадии обработки. В альтернативных вариантах осуществления вместо или в комбинации с инструкциями программного обеспечения может быть применена аппаратно-реализуемая схема.The computer system 400 may implement the techniques described herein using custom hardware-implemented logic, one or more SIS or FPGAs, firmware, and/or program logic that, in combination with the computer system, causes or is programmed to cause the computer system 400 to become into a specialized machine. In accordance with one embodiment, the technical solutions described herein are executed by the computer system 400 as a result of the processor 404 executing one or more sequences of one or more instructions contained in the main memory 406. Such instructions may be transferred to the main memory 406 from another storage medium, for example from storage device 410. Execution of sequences of instructions contained in main memory 406 causes processor 404 to perform the processing steps described herein. In alternative embodiments, hardware-based circuitry may be used instead of or in combination with software instructions.
Используемый здесь термин "носитель информации" относится к любым носителям информации долговременного хранения, на которых хранятся данные и/или инструкции, приводящие к специфической работе машины. Такие носители информации могут представлять собой энергонезависимые и/или энергозависимые носители. К энергонезависимым носителям относятся, например, оптические диски, магнитные диски или полупроводниковые накопители, например устройство хранения 410. Энергонезависимые носители включают в себя динамическую память, например операционную память 406. К распространенным формам носителей информации относятся, например, дискета, гибкий диск, жесткий диск, твердотельный накопитель, магнитная лента или любой другой магнитный носитель данных, CD-ROM, любой другой оптический носитель данных, любой физический носитель с шаблонами отверстий, ОЗУ, ПИЗУ и ЭППЗУ, FLASH-EPROM, NVRAM, любая другая микросхема памяти или картридж.As used herein, the term "storage medium" refers to any non-transitory storage media on which data and/or instructions leading to the specific operation of a machine are stored. Such storage media may be non-volatile and/or volatile media. Non-volatile media includes, for example, optical disks, magnetic disks, or semiconductor storage, such as storage device 410. Non-volatile media includes dynamic memory, such as random access memory 406. Common forms of storage media include, for example, floppy disk, floppy disk, hard disk , solid state drive, magnetic tape or any other magnetic storage media, CD-ROM, any other optical storage media, any physical media with hole patterns, RAM, ROM and EPROM, FLASH-EPROM, NVRAM, any other memory chip or cartridge.
Носитель информации отличается от передающей среды, но может быть использован в соединении с ней. Передающая среда участвуют в передаче информации между носителями информации. Например, передающая среда включает коаксиальные кабели, медный провод и оптоволокно, в том числе провода, которые представляют собой шины 402. Передающая среда также может принимать форму акустических или световых волн, таких как те, которые генерируются во время радиоволновой и инфракрасной передачи данных.The storage medium is different from the transmission medium, but can be used in conjunction with it. The transmission medium is involved in the transfer of information between storage media. For example, the transmission medium includes coaxial cables, copper wire, and fiber optics, including the wires that constitute buses 402. The transmission medium may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data transmission.
Различные формы передающей среды могут быть вовлечены в переносе одной или нескольких последовательностей одной или нескольких инструкций процессору 404 для исполнения. Например, инструкции могут первоначально переноситься на магнитный диск или полупроводниковый диск удаленного компьютера. Удаленный компьютер может загрузить инструкции в свою динамическую память и отправить их по телефонной линии с помощью модема. Модем локальной компьютерной системы 400 может принимать данные по телефонной линии и использовать инфракрасный передатчик для преобразования данных в инфракрасный сигнал. Инфракрасный детектор может принимать данные, содержащиеся в инфракрасном сигнале, а соответствующая схема может подать данные на шину 402. Шина 402 передает данные в оперативную память 406, из которой процессор 404 извлекает и выполняет инструкции. Инструкции, получаемые оперативной памятью 406, могут опционально храниться в запоминающем устройстве 410 либо до, либо после выполнения процессором 404.Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 404 for execution. For example, instructions may initially be transferred to a magnetic disk or semiconductor disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send them over the telephone line using a modem. The local computer system modem 400 may receive data over a telephone line and use an infrared transmitter to convert the data into an infrared signal. The infrared detector may receive data contained in the infrared signal, and associated circuitry may provide the data to bus 402. Bus 402 transfers the data to main memory 406, from which processor 404 retrieves and executes instructions. Instructions received by main memory 406 may optionally be stored in memory 410 either before or after execution by processor 404.
Компьютерная система 400 также включает в себя коммуникационный интерфейс 418, соединенный с шиной 402. Коммуникационный интерфейс 418 обеспечивает двухстороннюю передачу данных с сетевым каналом 420, который подключен к локальной сети 422. Например, коммуникационный интерфейс 418 может быть картой интегрированной цифровой сети услуг (ISDN), кабельным модемом, спутниковым модемом или модемом для обеспечения передачи данных с соответствующим типом телефонной линии. В качестве другого примера коммуникационный интерфейс 418 может быть картой локальной вычислительной сети (ЛВС) для обеспечения передачи данных с совместимой ЛВС. Также могут быть реализованы и беспроводные соединения. В любой такой реализации коммуникационный интерфейс 418 посылает и принимает электрические, электромагнитные или оптические сигналы, которые передают цифровые потоки данных, представляющие различные виды информации.Computer system 400 also includes a communications interface 418 coupled to bus 402. Communications interface 418 provides two-way data transfer with a network link 420 that is connected to a local area network 422. For example, communications interface 418 may be an integrated digital services network (ISDN) card. , cable modem, satellite modem, or modem to provide data transmission with the appropriate type of telephone line. As another example, communications interface 418 may be a local area network (LAN) card for providing data transfer from a compatible LAN. Wireless connections can also be implemented. In any such implementation, communications interface 418 sends and receives electrical, electromagnetic, or optical signals that convey digital data streams representing various types of information.
Сетевой канал 420 обычно обеспечивает передачу данных по одной или нескольким сетям к другим устройствам передачи данных. Например, канал связи 420 может обеспечивать подключение по локальной сети 422 к хост-компьютеру 424 или к устройству передачи данных, эксплуатируемому интернет-провайдером (Internet Service Provider, ISP) 426. Интернет-провайдер 426, в свою очередь, предоставляет услуги передачи данных через всемирную сеть пакетной передачи данных, которую сейчас принято называть "Интернет" 428. В локальной сети 422 и Интернете 428 используют электрические, электромагнитные или оптические сигналы, передающие цифровые потоки данных. Сигналы через различные сети и сигналы по сетевому каналу 420 и через коммуникационный интерфейс 418, которые передают цифровые данные в и из компьютерной системы 400, являются примерами форм передачи данных.Network link 420 typically provides data transmission over one or more networks to other data communication devices. For example, communication link 420 may provide connectivity over a local area network 422 to a host computer 424 or to a data device operated by an Internet Service Provider (ISP) 426. The Internet Service Provider 426, in turn, provides data services via the worldwide packet data network, which is now commonly referred to as the "Internet" 428. Local area network 422 and the Internet 428 use electrical, electromagnetic or optical signals that transmit digital data streams. Signals over various networks and signals over network link 420 and through communications interface 418 that transfer digital data to and from computer system 400 are examples of forms of data transfer.
Компьютерная система 400 может отправлять сообщения и принимать данные, включая программный код, по сети (сетям), сетевому каналу 420 и интерфейсу связи 418. На примере Интернета сервер 430 может передавать запрашиваемый код прикладной программы через Интернет 428, ISP 426, локальную сеть 422 и коммуникационный интерфейс 418. Полученный код может быть выполнен процессором 404 по мере его получения и/или сохранен в запоминающем устройстве 410, или другом энергонезависимом запоминающем устройстве для последующего выполнения.Computer system 400 may send messages and receive data, including program code, over network(s), network link 420, and communications interface 418. Using the Internet as an example, server 430 may transmit requested application code over Internet 428, ISP 426, local area network 422, and communication interface 418. The received code may be executed by processor 404 as it is received and/or stored in memory 410 or other non-volatile storage device for later execution.
3. Описания функций3. Descriptions of functions
3.1. Выявление заболеваний растений3.1. Detection of plant diseases
Сегодня доступны различные методы классификации, основанные на анализе изображений. Эти методы классификации могут быть использованы для анализа фотоснимков растений и классификации фотоснимков по заданным классам болезней или классу без болезней, тем самым выявляя потенциальное заражение растений соответствующими болезнями. Некоторые из этих методов классификации включают CNN, в том числе SSD.Various classification methods based on image analysis are available today. These classification methods can be used to analyze photographs of plants and classify the photographs into specified disease classes or disease-free classes, thereby identifying potential plant infections with the corresponding diseases. Some of these classification methods include CNNs, including SSD.
Как правило, SSD начинается с базовой CNN, содержащей ряд сверточных слоев, которые соответствуют рецептивным разномасштабным полям. Затем в SSD выполняется классификация посредством карт признаков, созданных не только последним сверточным слоем, но и другими сверточными слоями. Точнее, в SSD используют набор определяемых пользователем якорных рамок, которые обычно имеют различные размеры и соотношения сторон и которые соответствуют всевозможным признакам заданных классов, для каждого из указанных сверточных слоев в базовой CNN. Затем SSD включает набор 4+с малых (например 3×3) фильтров для каждого из якорных рамок (в так называемом сверточном слое признаков), причем 4 из них соответствуют четырем сторонам якорной рамки, а 'с' - числу классов для каждого из сверточных слоев. Эти маленькие фильтры обучаются эталонными изображениями известных признаков для каждого из классов. Эти изображения могут иметь всевозможные размеры и соотношения сторон, и каждое изображение ассоциируется с классом и якорной рамкой. Эти небольшие фильтры могут быть использованы для определения того, соответствует ли область, очерченная одной из якорных рамок на карте признаков, созданной соответствующим сверточным слоем, признакам одного из классов.Typically, SSD starts with a basic CNN containing a number of convolutional layers that correspond to multi-scale receptive fields. SSD then performs classification through feature maps generated not only by the last convolutional layer, but also by other convolutional layers. More precisely, SSD uses a set of user-defined anchor boxes, which typically have different sizes and aspect ratios and which correspond to various features of given classes, for each of the specified convolutional layers in the underlying CNN. The SSD then includes a set of 4+c small (e.g. 3x3) filters for each of the anchor boxes (in what is called a convolutional feature layer), with 4 of them corresponding to the four sides of the anchor box, and 'c' being the number of classes for each of the convolutional boxes. layers. These small filters are trained with reference images of known features for each of the classes. These images can come in all sorts of sizes and aspect ratios, and each image is associated with a class and an anchor box. These small filters can be used to determine whether the region outlined by one of the anchor boxes in the feature map produced by the corresponding convolutional layer corresponds to features of one of the classes.
Как описано выше, SSD может распознать всевозможные признаки классов, имеющих всевозможные размеры и соотношения сторон на одном или нескольких изображениях, и классифицировать части изображений в классы с соответствующими оценками достоверности в одну стадию, не требуя начальной, отдельной стадии генерации предполагаемой области для определения местоположения признаков на изображениях. Возможно, что SSD изначально классифицирует область изображения на несколько классов. Немаксимальное подавление (NMS) может быть применено для выбора одного из нескольких классов в качестве окончательной классификации. Было показано, что SSD быстрее, чем предыдущие одностадийные детекторы, а также точнее, на самом деле, как и более медленные способы, которые генерируют точные предложения области и осуществляют пуллинг. На платформе GitHub доступны сторонние библиотеки, реализующие SSD-функции с использованием библиотеки Keras и Python, которые могут использовать VGG16 в качестве базовой CNN в качестве примера.As described above, SSD can recognize all sorts of class features having all sorts of sizes and aspect ratios in one or more images, and classify parts of the images into classes with corresponding confidence scores in one stage, without requiring an initial, separate stage of generating a candidate region to locate the features on the images. It is possible that the SSD initially classifies the image area into several classes. Non-maximal suppression (NMS) can be applied to select one of several classes as the final classification. SSD has been shown to be faster than previous single-stage detectors, as well as more accurate, in fact, than slower methods that generate accurate region proposals and perform pooling. There are third-party libraries available on the GitHub platform that implement SSD functions using Keras and Python libraries, which can use VGG16 as a basic CNN as an example.
3.2. Конфигурация цифровой модели3.2. Digital model configuration
В некоторых вариантах осуществления сервер 170 запрограммирован на построение цифровой модели для выявления заражения болезнями растений по снимкам растений посредством SSD. Для кукурузы распространенными болезнями растений являются антракозовая листьевая недостаточность (ALB), обыкновенная ржавчина (CR), глазная оспа (EYE), серая листьевая недостаточность (GLS), вилт Госса (GW), северная листьевая недостаточность (NLB), северная листьевая пятнистость(NLS), южная листьевая недостаточность (SLB) и южная ржавчина (SR). Цифровая модель может быть предназначена для классификации изображений по определенному числу классов, соответствующему определенному числу таких заболеваний растений. Сервер 170 запрограммирован на первое получение набора изображений, таких как фотоснимки листьев кукурузы, которые могут иметь отмеченные области симптомов заболевания или непосредственно характеризовать такие симптомы заболевания.In some embodiments, the server 170 is programmed to build a digital model for identifying plant disease infestations from plant images via the SSD. For corn, common plant diseases are anthracose leaf blight (ALB), common rust (CR), eye blight (EYE), gray leaf blight (GLS), Goss's wilt (GW), northern leaf blight (NLB), northern leaf spot (NLS). ), southern leaf blight (SLB) and southern rust (SR). The digital model may be designed to classify images into a certain number of classes corresponding to a certain number of such plant diseases. The server 170 is programmed to first receive a set of images, such as photographs of corn leaves, that may have areas of disease symptoms marked or directly characterize such disease symptoms.
На фиг.7А приведены примеры фотоснимков листьев кукурузы, каждая из которых имеет симптомы одного заболевания. На рисунке 720 показаны симптомы GLS в рамке (определяющей отмеченную область) 704 и в рамке 706. Рамка 704, помеченная как "GLS", включает одно повреждение, а рамка 706, также помеченная как "GLS", включает отсоединенное, но близко расположенное повреждение, что не редкость. Рамка 704 и рамка 706 имеют разные размеры и похожи, но отличаются соотношениями сторон. Наличие одной рамки 706 вместо нескольких рамок для каждого из разъединенных повреждений может повысить эффективность обучения и выполнения цифровой модели. На снимке 722 показаны симптомы SR в рамке 708, которая включает большую группу отдельных повреждений, как это часто бывает. Рамка 708 также имеет четкий размер и соотношение сторон.Figure 7A shows examples of photographs of corn leaves, each of which has symptoms of one disease. Figure 720 shows GLS symptoms in box (defining the marked area) 704 and box 706. Box 704, labeled “GLS,” includes a single lesion, and box 706, also labeled “GLS,” includes a disconnected but closely located lesion. , which is not uncommon. Frame 704 and frame 706 are different sizes and similar, but differ in aspect ratio. Having a single frame 706 instead of multiple frames for each of the disconnected faults can improve the efficiency of training and execution of the digital model. Figure 722 shows SR symptoms in box 708, which includes a large group of individual lesions, as is often the case. The 708 frame also has a clear size and aspect ratio.
На рисунке 7В приведен пример фотоснимка кукурузного листа с симптомами множественных заболеваний. На рисунке 724 показаны симптомы GLS в рамке 710. На рисунке 724 также показаны симптомы CR в рамке 712, который включает множество отдельных повреждений. Рамка 710, помеченная как "GLS", и рамка 712, помеченная как "CR", имеют разные размеры и соотношение сторон. Хотя рамка 712 включает множественные повреждения, поскольку преобладают повреждения от CR, эта отмеченная область, соответствующая рамке 712, все же может служить хорошей выборкой для CR.Figure 7B is an example of a photograph of a corn leaf showing symptoms of multiple diseases. Figure 724 shows the symptoms of GLS in box 710. Figure 724 also shows the symptoms of CR in box 712, which includes many individual lesions. Frame 710, labeled "GLS", and frame 712, labeled "CR", have different sizes and aspect ratios. Although frame 712 includes multiple lesions, since damage from CR predominates, this marked area corresponding to frame 712 can still serve as a good sample for CR.
В некоторых вариантах осуществления сервер 170 запрограммирован на обработку каждого изображения, имеющего отмеченные области, с соблюдением определенных правил, которые могут завершать или совершенствовать маркировку. Сервер 170 может быть конфигурирован на разбиение каждой маркированной области на несколько областей или на объединение нескольких маркированных областей в одну в соответствии с ограничением на размер маркированной области, плотность кластера повреждений или пропорцию между кластером и листом. Например, вместо отметки рамки 712 на фотоснимке 724 могла быть только небольшая отмеченная область для индивидуального CR-повреждения. Сервер 170 может быть запрограммирован на автоматическое расширение этой отмеченной области до рамки 712, исходя из обнаружения близлежащих повреждений и определения общего размера кластера повреждений относительно размера листа. Кроме того, сервер 170 может быть конфигурирован на ограничение количества отмеченных областей в каждом изображении, например не более шести, для упрощения процесса обучения SSD. Например, сервер 170 может быть запрограммирован на автоматическое уменьшение количества помеченных областей на изображении 724 с текущих семи до шести путем снятия метки отмеченной области, имеющей наименьший размер, или области с таким же соотношением сторон, как и у другой отмеченной области.In some embodiments, server 170 is programmed to process each image having marked areas following certain rules that may complete or improve the marking. The server 170 may be configured to split each marked area into multiple areas or to combine multiple marked areas into one according to a constraint on the size of the marked area, the density of the damage cluster, or the proportion between cluster and leaf. For example, instead of frame mark 712, photograph 724 could only have a small marked area for individual CR damage. Server 170 may be programmed to automatically expand this marked area to frame 712 based on detection of nearby damage and determination of the overall size of the damage cluster relative to the sheet size. Additionally, server 170 may be configured to limit the number of marked regions in each image, such as no more than six, to simplify the SSD training process. For example, server 170 may be programmed to automatically reduce the number of labeled regions in image 724 from the current seven to six by unlabeling the labeled region that has the smallest size, or the region with the same aspect ratio as another labeled region.
В некоторых вариантах осуществления сервер 170 запрограммирован на определение якорных рамок для сверточных слоев в твердотельном накопителе. Каждая якорная рамка может быть выражена в единицах длины, соотношения сторон и коэффициента масштабируемости. Например, единица длины может быть десять пикселей, отношение ширины к высоте может быть 1.0, а коэффициент масштабируемости может быть 1, в результате чего якорная рамка будет состоять из десяти пикселей по ширине и десяти пикселей по длине. Соотношение сторон может быть и 2.0, что приводит к якорной рамке, состоящей из двадцати пикселей по ширине и десяти пикселей по длине. Коэффициент масштабирования может быть равен 2.0, в результате чего получается якорная рамка из двадцати пикселей по ширине и двадцати пикселей по длине. Сервер 170 может быть запрограммирован на применение отмеченных областей, например, соответствующих рамкам 704, 706, 708, 710 или 712, для задания якорных рамок. Сервер 170 можно запрограммировать на стандартизацию отмеченных областей (например, на фиксированное расстояние между камерой и растением и фиксированное разрешение камеры), сгруппировать однотипные области в один кластер и вычислить суммарный размер и соотношение сторон для каждого кластера для определения масштабных факторов и соотношений сторон. Поскольку ряд сверточных слоев в базовой CNN обычно соответствует все большим рецептивным полям, сервер можно запрограммировать на назначение все больших коэффициентов масштабирования для ряда сверточных слоев. Сервер можно также запрограммировать на применение коэффициента масштабирования, например 0,1, который меньше коэффициента масштабирования, применяемого в типичной реализации SSD, чтобы помочь идентифицировать очень маленькие повреждения, вызванные определенными болезнями кукурузы, или другие очень маленькие симптомы болезни. Например, коэффициенты масштабирования могут быть 0,1, 0,2, 0,37, 0,54, 0,71, 0,88, 1,05 для серии из шести сверточных слоев, при этом одному сверточному слою приписывается один коэффициент масштабирования для всех якорных рамок. Для болезней кукурузы общие соотношения сторон включают 1,0/7,0, 1,0/5,0, 1,0/3,0, 0,5, 1,0, 2,0, 3,0, 5,0 или 7,0.In some embodiments, server 170 is programmed to determine anchor frames for convolutional layers in the SSD. Each anchor frame can be expressed in terms of length, aspect ratio, and scalability factor. For example, the length unit could be ten pixels, the width-to-height ratio could be 1.0, and the scalability factor could be 1, resulting in an anchor frame that is ten pixels wide by ten pixels long. The aspect ratio can be 2.0, which results in an anchor frame that is twenty pixels wide by ten pixels long. The scaling factor can be set to 2.0, resulting in an anchor frame that is twenty pixels wide by twenty pixels long. Server 170 may be programmed to use marked areas, such as those corresponding to frames 704, 706, 708, 710, or 712, to define anchor frames. The server 170 can be programmed to standardize the marked areas (eg, a fixed distance between the camera and the plant and a fixed camera resolution), group similar areas into one cluster, and calculate the total size and aspect ratio for each cluster to determine scale factors and aspect ratios. Since a number of convolutional layers in a basic CNN typically correspond to increasingly larger receptive fields, the server can be programmed to assign increasingly larger scaling factors to a number of convolutional layers. The server can also be programmed to apply a scaling factor, such as 0.1, which is less than the scaling factor used in a typical SSD implementation to help identify very small lesions caused by certain corn diseases or other very small disease symptoms. For example, scaling factors could be 0.1, 0.2, 0.37, 0.54, 0.71, 0.88, 1.05 for a series of six convolutional layers, with one convolutional layer assigned one scaling factor for all anchor frames. For corn diseases, common aspect ratios include 1.0/7.0, 1.0/5.0, 1.0/3.0, 0.5, 1.0, 2.0, 3.0, 5.0 or 7.0.
3.3. Учебный комплект и построение цифровой модели3.3. Training kit and digital model construction
В некоторых вариантах осуществления сервер 170 запрограммирован на масштабирование, заполнение или иную обработку изображения для получения конечных изображений учебного набора. Например, доступные на платформе GitHub функции max_crop_and_resize и random_pad_and_resize могут быть адаптированы для генерации вариантов исходных изображений. Сервер 170 запрограммирован так, чтобы каждый вариант ассоциировался с отмеченными областями и соответствующими метками, как на оригинальном изображении. Для выявления болезней растений классы соответствуют болезням растений, и каждая метка идентифицирует одно из болезней растений. Изображения не нужно поворачивать, чтобы получить дополнительные изображения для учебного набора, когда для якорных рамок используются симметричные соотношения сторон. Для выявления заражения болезнями кукурузы количество отмеченных областей может быть не менее 100 для каждой из болезней кукурузы.In some embodiments, the server 170 is programmed to scale, fill, or otherwise process the image to produce the final images of the training set. For example, the max_crop_and_resize and random_pad_and_resize functions available on the GitHub platform can be adapted to generate variations of source images. The server 170 is programmed to associate each option with marked areas and corresponding labels, as in the original image. To identify plant diseases, classes correspond to plant diseases, and each label identifies one of the plant diseases. Images do not need to be rotated to provide additional images for the training set when symmetrical aspect ratios are used for anchor frames. To identify corn disease infestation, the number of marked areas can be at least 100 for each corn disease.
В некоторых вариантах осуществления сервер 170 запрограммирован на соответствие учебного набора изображений якорным рамкам, как это требуется для построения SSD. Например, SSDBoxEncoder, доступный на платформе GitHub, может быть адаптирован также для ссылки на варианты оригинальных изображений для такого соответствия с пороговым значением pos_iou_threshold set равным 0.5 и neg_iou_threshold set равным 0.2. Сервер 170 запрограммирован на последующее построение цифровой модели для распознавания болезней кукурузы по якорным рамкам и обучающему набору, включая изображения с отмеченными областями или их вариантами, соответствующие метки классов, а также связанные с ними совпадения с якорными рамками. Например, функция model.fit_generator в библиотеке Keras может быть использована с lr_schedule, установленным в 0.001.In some embodiments, server 170 is programmed to match a training set of images to anchor frames, as required to build the SSD. For example, SSDBoxEncoder, available on the GitHub platform, can be adapted to also link to variants of the original images for such a match with a pos_iou_threshold set of 0.5 and a neg_iou_threshold set of 0.2. The server 170 is programmed to subsequently build a digital model for corn disease recognition from the anchor boxes and training set, including images with labeled regions or variants thereof, corresponding class labels, and associated anchor box matches. For example, the model.fit_generator function in the Keras library can be used with lr_schedule set to 0.001.
3.4. Реализация цифровой модели3.4. Implementation of a digital model
В некоторых вариантах осуществления сервер 170 запрограммирован на получение нового изображения, например фотоснимка кукурузного растения, и применение цифровой модели к новому изображению. Сервер 170 запрограммирован на преобразование нового изображения в квадратное изображение, при необходимости. Вместо обрезки нового изображения, вызывающей потерю информации, сервер 170 может быть выполнен с возможностью проведения паддинга с целью создания обновленного изображения, где каждый край имеет длину, равную длинному краю нового изображения. Далее сервер 170 может быть выполнен с возможностью центрирования нового изображения в обновленном изображении и масштабирования результата для получения конечного входного изображения.In some embodiments, server 170 is programmed to receive a new image, such as a photograph of a corn plant, and apply a digital model to the new image. Server 170 is programmed to convert the new image to a square image, if necessary. Instead of cropping the new image causing loss of information, the server 170 may be configured to perform padding to create an updated image where each edge has a length equal to the long edge of the new image. Next, the server 170 may be configured to center the new image in the updated image and scale the result to obtain the final input image.
В некоторых вариантах осуществления сервер 170 запрограммирован с возможностью исполнения цифровой модели на конечном входном изображении. Например, функция decode_y, доступная на платформе GitHub, может быть использована для реализации исполнения, при этом confidence_thresh устанавливается в 0.8, a iou_threshold - в 0.5 для NMS.In some embodiments, server 170 is programmed to execute a digital model on the final input image. For example, the decode_y function available on the GitHub platform can be used to implement execution, with confidence_thresh set to 0.8 and iou_threshold to 0.5 for NMS.
На фиг.8 показан пример процесса применения NMS для уточнения первоначального результата классификации до конечного результата классификации. На рисунке 802 изображена часть кукурузного листа. Как обсуждалось выше, SSD может первоначально классифицировать область изображения по нескольким классам. В этом примере каждая из рамок, в том числе рамка 804 и рамка 808, очерчивает область изображения, которая была отнесена в один из классов, соответствующих болезням кукурузы. В частности, рамка 808 отнесена к набору рамок, которые покрывают пиксел 806 или окружающую область. Перед применением NMS те рамки, где соответствующие оценки уверенности ниже определенного порога, например confidence_thresh, могут быть отфильтрованы. В этом примере классификация рамки 804 связана с низкой доверительной вероятностью и, таким образом, может быть удалена. Затем через NMS выбирается рамка с наибольшей оценкой, затем удаляются все остальные рамки, которые пересекаются с этой рамкой со значением, превышающим определенный порог, например iou_thresh, и процесс продолжается до тех пор, пока рамка больше не будет отфильтрована. В данном примере осталась только рамка 808, и, таким образом, пиксел 806 будет классифицирован на основе рамки 808.FIG. 8 shows an example of the process of applying NMS to refine an initial classification result to a final classification result. Figure 802 shows part of a corn leaf. As discussed above, the SSD can initially classify the image area into several classes. In this example, each of the frames, including frame 804 and frame 808, delineates an area of the image that has been assigned to one of the corn disease classes. In particular, frame 808 refers to a set of frames that cover pixel 806 or a surrounding area. Before applying the NMS, those frames where the corresponding confidence scores are below a certain threshold, such as confidence_thresh, can be filtered out. In this example, the frame classification 804 is associated with a low confidence level and thus can be removed. The frame with the highest score is then selected via NMS, then all other frames that intersect with that frame with a value greater than a certain threshold, such as iou_thresh, are removed, and the process continues until the frame is no longer filtered. In this example, only frame 808 remains, and thus pixel 806 will be classified based on frame 808.
3.5. Примеры процессов3.5. Examples of processes
На фиг.9 показан пример метода, выполняемого сервером, который запрограммирован под конфигурирование и применение CNN для обнаружения болезней растений. На фиг.9 представлено раскрытие алгоритма, плана или схемы, которые могут быть использованы для реализации одной или нескольких компьютерных программ или других элементов программного обеспечения, которые при их выполнении приводят к функциональным уточнениям и техническим усовершенствованиям, описанным в настоящем документе. Кроме того, приведенные здесь блок-схемы описаны с той же степенью детализации, которую специалисты в данной области техники обычно используют для общения друг с другом по вопросам алгоритмов, планов или спецификаций, составляющих основу программного обеспечения, которое они планируют кодировать или реализовывать, используя накопленные ими навыки и знания.Figure 9 shows an example of a method performed by a server that is programmed to configure and use a CNN for plant disease detection. FIG. 9 is a disclosure of an algorithm, plan, or diagram that may be used to implement one or more computer programs or other software elements that, when executed, result in the functional refinements and technical improvements described herein. In addition, the flowcharts presented here are described in the same level of detail that experts in the art typically use to communicate with each other about the algorithms, plans, or specifications that form the basis of the software they plan to code or implement using accumulated knowledge. their skills and knowledge.
В некоторых вариантах осуществления на шаге 902, сервер 170 запрограммирован или конфигурирован с возможностью получения набора фотоснимков растений, зараженных множеством болезней. В частности, на наборе фотоснимков изображены листья с множеством отмеченных областей с множественными соотношениями сторон. Каждая отмеченная область связана с меткой одного из множества заболеваний и показывает хотя бы одно повреждение, вызванное одним заболеванием. Набор фотоснимков включает конкретный фотоснимок, на котором изображен конкретный лист, имеющий отмеченную область с множественными повреждениями. Для любого такого конкретного фотоснимка общий размер множественных повреждений относительно размера конкретной отмеченной области должен быть больше первого предопределенного процентного значения. Кроме того, размер конкретной отмеченной области относительно размера конкретного листа должен быть больше второго предопределенного процентного значения. Например, на наборе фотоснимков должны быть видны пораженные листья кукурузы, при этом на одной из фотоснимков должен быть показан лист, содержащий скопление повреждений от одного из заболеваний кукурузы, где повреждения расположены близко друг к другу и занимают большую часть листа.In some embodiments, at step 902, the server 170 is programmed or configured to receive a set of photographs of plants infected with a variety of diseases. In particular, the photo set shows leaves with multiple marked areas of multiple aspect ratios. Each marked area is associated with a label for one of many diseases and shows at least one damage caused by one disease. The photo set includes a specific photograph showing a specific sheet having a marked area of multiple damage. For any such particular photograph, the total size of the multiple lesions relative to the size of the specific marked area must be greater than the first predetermined percentage value. In addition, the size of the specific marked area relative to the size of the specific sheet must be greater than the second predefined percentage value. For example, a set of photographs should show diseased leaves of corn, and one of the photographs should show a leaf containing a cluster of lesions from one of the corn diseases, where the lesions are located close to each other and occupy a large portion of the leaf.
В некоторых вариантах осуществления на шаге 904, сервер 170 запрограммирован или конфигурирован для определения группы якорных рамок из множества отмеченных областей для каждого из ряда сверточных слоев SSD. Каждая группа якорных рамок обычно имеет отличающееся соотношение сторон, репрезентативное как минимум для подмножества отмеченных областей, которые могут соответствовать похожим симптомам одного заболевания. Для кукурузы соотношение сторон может достигать 7:1. Серия сверточных слоев имеет все более крупные рецептивные поля, поэтому сервер 170 может быть запрограммирован на назначение более крупных якорных рамок более глубоким сверточным слоям.In some embodiments, at step 904, server 170 is programmed or configured to determine a group of anchor boxes from a plurality of marked regions for each of a number of SSD convolutional layers. Each group of anchor boxes typically has a different aspect ratio, representative of at least a subset of the marked areas that may correspond to similar symptoms of the same disease. For corn, the aspect ratio can be as high as 7:1. A series of convolutional layers have increasingly larger receptive fields, so server 170 can be programmed to assign larger anchor boxes to deeper convolutional layers.
В некоторых вариантах осуществления на шаге 906, после определения группы якорных рамок сервер 170 может быть запрограммирован на последующее связывание каждого из множества отмеченных областей с одной из групп якорных рамок. Сервер 170 может быть конфигурирован на совпадение отмеченной области с якорной рамкой в случае, когда процентное отношение площади пересечения отмеченной области и якорной рамки к площади их объединения больше определенного порога.In some embodiments, at step 906, after determining a group of anchor frames, the server 170 may be programmed to subsequently associate each of the plurality of marked areas with one of the groups of anchor frames. The server 170 may be configured to match the marked region to the anchor frame when the percentage of the area where the marked region and the anchor frame intersect to the area of their union is greater than a certain threshold.
В некоторых вариантах осуществления на шаге 908 сервер 170 запрограммирован или конфигурирован на построение SSD, исходя из группы якорных рамок, набора фотоснимков с множеством отмеченных областей, присоединенным множеством меток болезней и присоединенным множеством отображений на якорные рамками. В учебных целях набор исходных фотоснимков может быть дополнен модификациями, полученными в результате обрезки, подбивки, изменения размера или выполнения другой операции по обработке изображений, выполненных на исходных снимках. Модификации связываются с эквивалентными отмеченными областями и соответствующими пометками, как на исходных снимках. Даже при выполнении этих операций по обработке изображений соотношения сторон отмеченных областей сохраняются и связываются теми же привязками к якорным рамкам, что и на исходных фотоснимках.In some embodiments, at step 908, the server 170 is programmed or configured to construct an SSD based on a group of anchor frames, a set of photographs with a plurality of marked areas, a plurality of disease labels attached, and a plurality of anchor frame mappings attached. For educational purposes, a set of original photographs can be supplemented with modifications resulting from cropping, tamping, resizing, or other image processing operations performed on the original photographs. Modifications are associated with equivalent marked areas and corresponding markings as in the original images. Even when these image processing operations are performed, the aspect ratios of the marked areas are preserved and linked by the same anchor frames as in the original photographs.
В некоторых вариантах осуществления на шаге 910 сервер 170 запрограммирован или конфигурирован для получения нового изображения от клиентского устройства. Новым изображением может быть фотоснимок растения, на котором изображены симптомы одного или нескольких заболеваний в одной или нескольких областях. На шаге 912 сервер 170 запрограммирован или конфигурирован для применения SSD к новому изображению для выявления симптомов одного или нескольких заболеваний в одной или нескольких областях нового изображения.In some embodiments, at step 910, the server 170 is programmed or configured to receive a new image from the client device. The new image may be a photograph of a plant that depicts symptoms of one or more diseases in one or more areas. At step 912, server 170 is programmed or configured to apply SSD to the new image to detect symptoms of one or more diseases in one or more areas of the new image.
В некоторых вариантах осуществления на шаге 914 сервер 170 запрограммирован или конфигурирован для передачи данных, связанных с одним или несколькими заболеваниями или с одной или несколькими областями, на клиентское устройство. Данные могут идентифицировать каждую из одной или нескольких областей и одной или нескольких классификаций области. Данные могут также включать доверительную оценку каждой из одной или нескольких классификаций по одной из болезней растений.In some embodiments, at step 914, the server 170 is programmed or configured to transmit data associated with one or more diseases or one or more areas to the client device. The data may identify each of one or more domains and one or more domain classifications. The data may also include a confidence estimate for each of one or more plant disease classifications.
4. Расширения и альтернативы4. Extensions and alternatives
В приведенной выше спецификации варианты осуществления изобретения описаны со ссылкой на многочисленные специфические детали, которые могут варьироваться от реализации к реализации. Соответственно, описание и чертежи должны рассматриваться в иллюстративном, а не ограничительном смысле. Единственным и исключительным показателем объема изобретения и того, что заявители считают объемом изобретения, является буквальный и эквивалентный объем формулы изобретения, которая вытекает из данной заявки в конкретной форме, в которой такая формула предоставляется, включая любые последующие исправления.In the above specification, embodiments of the invention are described with reference to numerous specific details, which may vary from implementation to implementation. Accordingly, the description and drawings are to be considered in an illustrative and not a restrictive sense. The sole and exclusive indication of the scope of the invention, and of what applicants believe to be the scope of the invention, is the literal and equivalent scope of the claims that appear from this application in the specific form in which such claims are provided, including any subsequent amendments.
Claims (37)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/748,288 | 2018-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2021114056A RU2021114056A (en) | 2022-11-21 |
RU2805670C2 true RU2805670C2 (en) | 2023-10-23 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130136312A1 (en) * | 2011-11-24 | 2013-05-30 | Shih-Mu TSENG | Method and system for recognizing plant diseases and recording medium |
WO2013149038A1 (en) * | 2012-03-28 | 2013-10-03 | University Of Houston System | Methods and software for screening and diagnosing skin lesions and plant diseases |
US8738243B2 (en) * | 2007-01-08 | 2014-05-27 | Precision Planting Llc | Planter monitor system and method |
WO2016029054A1 (en) * | 2014-08-22 | 2016-02-25 | The Climate Corporation | Methods for agronomic and agricultural monitoring using unmanned aerial systems |
CN108596017A (en) * | 2018-03-06 | 2018-09-28 | 深圳市农博创新科技有限公司 | A kind of method and device based on picture recognition diseases of garden stuff |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738243B2 (en) * | 2007-01-08 | 2014-05-27 | Precision Planting Llc | Planter monitor system and method |
US20130136312A1 (en) * | 2011-11-24 | 2013-05-30 | Shih-Mu TSENG | Method and system for recognizing plant diseases and recording medium |
WO2013149038A1 (en) * | 2012-03-28 | 2013-10-03 | University Of Houston System | Methods and software for screening and diagnosing skin lesions and plant diseases |
WO2016029054A1 (en) * | 2014-08-22 | 2016-02-25 | The Climate Corporation | Methods for agronomic and agricultural monitoring using unmanned aerial systems |
CN108596017A (en) * | 2018-03-06 | 2018-09-28 | 深圳市农博创新科技有限公司 | A kind of method and device based on picture recognition diseases of garden stuff |
Non-Patent Citations (1)
Title |
---|
ALVARO FUENTES и др., "A Robust Deep-Learning-Based Detector for Real-Time Tomato Plant Diseases and Pests Recognition", 04.09.2017, https://dx.doi.org/10.3390/s17092022, доступно по ссылке: https://www.mdpi.com/1424-8220/17/9/2022/pdf?version=1504687369. LIU WEI и др., "SSD: Single Shot MultiBox Detector ", 17.09.2016, https://doi.org/10.1007/978-3-319-46448-0_2, доступно по ссылке: https://link.springer.com/content/pdf/10.1007/978-3-319-46448-0_2.pdf. FERENTINOS KONSTANTINOS P., "Deep learning models for plant disease detection and diagnosis", 05.02.2018, https://dx.doi.org/10.1016/j.compag.2018.01.009, доступно по ссылке: https://www.sciencedirect.com/science/article/pii/S0168169917311742/pdfft?md5=7740c21f7a06018a4cba1e39b02430bd&pid=1-s2.0-S0168169917311742-main.pdf. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11852618B2 (en) | Detecting infection of plant diseases by classifying plant photos | |
US11856881B2 (en) | Detection of plant diseases with multi-stage, multi-scale deep learning | |
US11769232B2 (en) | Machine learning techniques for identifying clouds and cloud shadows in satellite imagery | |
US12008744B2 (en) | Mapping field anomalies using digital images and machine learning models | |
US10755129B2 (en) | Disease recognition from images having a large field of view | |
US10956780B2 (en) | Detecting infection of plant diseases with improved machine learning | |
RU2805670C2 (en) | Detection of plants diseases by classification of plants photography | |
RU2820495C2 (en) | Detection of plant diseases using multi-step, multi-scale deep learning |