Abstract:
Techniques for analyzing images of pests using a mobile device application are described. A mobile computing device may receive, via a graphical user interface (GUI), location information input corresponding to a location of a glueboard, an identification input of a pest type caught on the glueboard, and an image of the glueboard. The device may analyze white and dark areas of the image to determine at least one of: 1) total dark surface area of the glueboard and 2) number and size of multiple contiguous dark surface areas of the glueboard. The device may calculate a quantity of pests based on dark surface area and an average size of the pest. The device may output the quantity of pests to the GUI.

Description:
CLAIM OF PRIORITY 
       [0001]    This application claims the benefit of priority to U.S. Provisional Patent Application No. 62/314,644, filed on Mar. 29, 2016 and entitled, “SYSTEM AND METHODS FOR ANALYZING IMAGES OF PESTS USING A MOBILE DEVICE APPLICATION,” the entire contents of which is incorporated herein by reference in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    This disclosure generally relates to devices, systems, and methods for processing and analyzing images of pests using a mobile device application. 
       BACKGROUND 
       [0003]    Pest elimination and reduction services use certain methods to keep track of pests and determine the extent of pest infestations. Such services often require pest concentrations to be monitored, tracked, and reported for each location serviced. Additionally, customers are increasingly demanding transparency of data on pest activities and better visualization and sharing of data. Currently, this requires individual service providers to manually count pests caught on glueboards and other insect trapping devices. This can be a time-intensive process and one that is subject to human error. 
         [0004]    To better count and track pest catches on insect trapping devices, mobile devices and applications may be used to both automate time-intensive pest counting and automate the tracking process. It is difficult for computers to automatically determine pest type and quantity. The current invention establishes a solution to count type and amount of pests using glue boards, as well as to track and share information on pest count and size. 
       SUMMARY OF EXAMPLE EMBODIMENTS 
       [0005]    Example 1 is a non-transitory computer readable medium with instructions stored thereon that, when executed by a processor of a mobile computing device, cause the mobile computing device to: receive, via a graphical user interface (GUI) of a mobile computing device, location information input corresponding to a location of a glueboard; receive, via the GUI, an identification input of a pest type caught on the glueboard; receive, via the GUI, an image of the glueboard; analyze white and dark areas of the image to determine at least one of: a) total dark surface area of the glueboard and b) number and size of multiple contiguous dark surface areas of the glueboard; calculate a quantity of pests based on dark surface area and an average size of the pest; and output, to the GUI, the quantity of pests. 
         [0006]    In Example 2, the subject matter of Example 1 optionally includes wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: request, via the GUI, a second identification input of a primary pest caught on the glueboard. 
         [0007]    In Example 3, the subject matter of any one or more of Examples 1-2 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: request, via the GUI, an image of the glueboard. 
         [0008]    In Example 4, the subject matter of any one or more of Examples 1-3 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: request at least one of: dimensions and model of the glueboard. 
         [0009]    In Example 5, the subject matter of any one or more of Examples 1-4 optionally include wherein the quantity of pests is calculated by dividing the total dark surface area by a stored average size of the pest. 
         [0010]    In Example 6, the subject matter of any one or more of Examples 1-5 optionally include wherein the quantity of pests is calculated by comparing sizes of contiguous dark surface areas to a stored average size of the pest. 
         [0011]    In Example 7, the subject matter of any one or more of Examples 1-6 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: display an outline on the GUI reflecting the dimensions of the glueboard, the outline providing a visible contrast from the glueboard. 
         [0012]    In Example 8, the subject matter of any one or more of Examples 1-7 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: analyze contiguous light areas of the glueboard to determine the dimensions of the glueboard. 
         [0013]    Example 9 is a system, comprising: a glueboard; and a mobile computing device including a non-transitory computer readable medium with instructions stored thereon that, when executed by a processor of the mobile computing device, cause the mobile computing device to: receive, via a graphical user interface (GUI), location information input corresponding to a location of a glueboard; receive, via the GUI, an identification input of a pest type caught on the glueboard; receive, via the GUI, an image of the glueboard; analyze white and dark areas of the image to determine at least one of: a) total dark surface area of the glueboard and b) number and size of multiple contiguous dark surface areas of the glueboard; calculate a quantity of pests based on dark surface area and an average size of the pest; and output, to the GUI, the quantity of pests. 
         [0014]    In Example 10, the subject matter of Example 9 optionally includes wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: request, via the GUI, a second identification input of a primary pest caught on the glueboard. 
         [0015]    In Example 11, the subject matter of any one or more of Examples 9-10 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: request, via the GUI, an image of the glueboard. 
         [0016]    In Example 12, the subject matter of any one or more of Examples 9-11 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: request at least one of: dimensions and model of the glueboard. 
         [0017]    In Example 13, the subject matter of any one or more of Examples 9-12 optionally include wherein the quantity of pests is calculated by dividing the total dark surface area by a stored average size of the pest. 
         [0018]    In Example 14, the subject matter of any one or more of Examples 9-13 optionally include wherein the quantity of pests is calculated by comparing sizes of contiguous dark surface areas to a stored average size of the pest. 
         [0019]    In Example 15, the subject matter of any one or more of Examples 9-14 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: display an outline on the GUI reflecting the dimensions of the glueboard, the outline providing a visible contrast from the glueboard. 
         [0020]    In Example 16, the subject matter of any one or more of Examples 9-15 optionally include wherein the instructions, when executed by a processor of the mobile computing device, further cause the mobile computing device to: analyze contiguous light areas of the glueboard to determine the dimensions of the glueboard. 
         [0021]    Example 17 is a method performed by a processor of a mobile computing device, the method comprising: receiving, via a graphical user interface (GUI) of a mobile computing device, location information input corresponding to a location of a glueboard; receiving, via the GUI, an identification input of a pest type caught on the glueboard; receiving, via the GUI, an image of the glueboard; analyzing white and dark areas of the image to determine at least one of: a) total dark surface area of the glueboard and b) number and size of multiple contiguous dark surface areas of the glueboard; calculating a quantity of pests based on dark surface area and an average size of the pest; and outputting, to the GUI, the quantity of pests. 
         [0022]    In Example 18, the subject matter of Example 17 optionally includes requesting, via the GUI, a second identification input of a primary pest caught on the glueboard. 
         [0023]    In Example 19, the subject matter of any one or more of Examples 17-18 optionally include requesting, via the GUI, an image of the glueboard. 
         [0024]    In Example 20, the subject matter of any one or more of Examples 17-19 optionally include requesting at least one of: dimensions and model of the glueboard. 
         [0025]    In Example 21, the subject matter of any one or more of Examples 17-20 optionally include wherein the quantity of pests is calculated by dividing the total dark surface area by a stored average size of the pest. 
         [0026]    In Example 22, the subject matter of any one or more of Examples 17-21 optionally include wherein the quantity of pests is calculated by comparing sizes of contiguous dark surface areas to a stored average size of the pest. 
         [0027]    In Example 23, the subject matter of any one or more of Examples 17-22 optionally include displaying an outline on the GUI reflecting the dimensions of the glueboard, the outline providing a visible contrast from the glueboard. 
         [0028]    In Example 24, the subject matter of any one or more of Examples 17-23 optionally include analyzing contiguous light areas of the glueboard to determine the dimensions of the glueboard. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0029]    The following drawings illustrate particular embodiments and therefore do not limit the scope of the invention. The drawings are intended for use in conjunction with the explanations in the following detailed description. Embodiments will hereinafter be described in conjunction with the appended drawings, wherein like numerals denote like elements. 
           [0030]      FIG. 1  is an example of a pest collection device. 
           [0031]      FIG. 2  is a flow diagram of a method for counting numbers and types of pests using a mobile application. 
           [0032]      FIG. 3  is an example of a message center in a mobile application. 
           [0033]      FIG. 4  is an example of a service schedule in a mobile application. 
           [0034]      FIG. 5  is an example of a summary screen for a given location in a mobile application. 
           [0035]      FIG. 6  is an example of a summary screen for a given piece of equipment in a mobile application. 
           [0036]      FIG. 7  is an example of a camera capture screen for capturing multiple images in a mobile application. 
           [0037]      FIG. 8A  is an example of output from pest count findings in a mobile application. 
           [0038]      FIG. 8B  is an example of an output report of pest count findings in a mobile application. 
           [0039]      FIG. 9  is an example of a report of pests found over time using stored information from pest counts. 
           [0040]      FIG. 10  is a block diagram illustrating an example of a machine, upon which any one or more example embodiments may be implemented. 
       
    
    
     DETAILED DESCRIPTION 
       [0041]    The following detailed description is exemplary in nature and is not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the following description provides some practical illustrations for implementing exemplary embodiments. Examples are provided for selected elements, and all other elements employ that which is known to those of ordinary skill in the field of the invention. Those skilled in the art will recognize that many of the noted examples have a variety of suitable alternatives. 
         [0042]      FIG. 1  shows an embodiment of a pest trapping device  010  as seen from within mobile device application  020 . In the present example, pest trapping device  010  consists of a white adhesive sheet, often referred to as a glue board. Insects and other pests can be caught on the adhesive. The white adhesive sheet may be contained within any pest trapping system, such as flying insect control lights and traps with replaceable glue boards. 
         [0043]      FIG. 2  shows a flow diagram of an embodiment of the system. In this embodiment, a user may prompt mobile device application  020  to analyze pest trapping device  010  for a number of pests. In some embodiments, mobile device application  020  may consist of or be embedded within an application entitled “PestService app,” available from the Assignee of the present application, and described, for instance, in a quick start guide entitled Pest Elimination PestService Application, the contents of which are hereby incorporated by reference in their entirety. Mobile device application  020  can prompt the user for the number of pest trapping devices  010  to analyze and the location that the pest trapping devices  010  were collected from. In other embodiments, the user may prompt mobile device application  020  to analyze pest trapping device  010  from within a service screen for a particular location and/or pest trapping device  010 . Examples of such embodiments are shown in  FIGS. 3, 4, 5, and 6 . The user may navigate to a specific location through mobile device application  020 , for example from a link within a message center displaying service visits in progress as shown in  FIG. 3 , or from a calendar of service visits as shown in  FIG. 4 . The user may then select the pest trapping device to be analyzed as shown in  FIG. 5 , and press a button from within that device&#39;s screen as shown in  FIG. 6  to begin the pest analysis. 
         [0044]    After mobile device application  020  determines the location and/or pest trapping device, mobile device application  020  can prompt the user for the type of pest to count. The user can enter one pest type or a combination of pest types. In some embodiments, mobile device application  020  can also prompt the user for the type or dimensions of insect trapping device  010 . In some embodiments, mobile device application  020  can prompt the user for neither and instead automatically select the pest type and/or type or dimensions of insect trapping device  010 . Mobile device application  020  can then prompt the user for image(s) of pest trapping device(s)  010 . Mobile device application  020  can use the mobile device&#39;s camera to capture such images. Where multiple pest trapping devices  010  are indicated, mobile device application  020  can allow the user to capture and store multiple images, as shown in  FIG. 7 . 
         [0045]    Mobile device application  020  processes images to select only the portion of the image that reflects pest trapping device  010 . In some embodiments, shown in  FIG. 1 , mobile device application  020  can overlay an outline  030  with the dimensions of a given pest trapping device  010 . The user can then manually line up outline  030  with the edges of pest trapping device  010 . Upon image capture, mobile device application  020  can process only the portion of the image displayed within outline  030 . In other embodiments, outline  030  may be displayed using different markers. For example, rather than a full outline, mobile device application  020  may display lines only at the corners, may overlay a semi-transparent shape in the dimensions of the pest trapping device  010 , or other markers intended to indicate pest trapping device  010 &#39;s shape and dimensions. 
         [0046]    Mobile device application  020  can determine the dimensions of outline  030  in various ways. In some embodiments, mobile device application  020  can do so by querying the user for the type or dimensions of pest trapping device  010 , as discussed above. In other embodiments, mobile device application  020  can do so where users start pest analysis from within a given pest trapping device&#39;s  010  screen, as discussed above and shown in  FIG. 6 . In such cases, mobile device application  020  can determine dimensions of outline  030  by analyzing the type of pest trapping device  010  that the user accessed. In other embodiments, mobile device application  020  can estimate the dimensions of outline  030  by analyzing the image for contiguous light pixels in an outline configuration. In this embodiment, mobile device application  020  can display an estimated outline based on this analysis. 
         [0047]    In some embodiments, mobile device application  020  can automatically determine the dimensions of pest trapping device  010  by analyzing the image for contiguous light pixels. In this embodiment, mobile device application  020  does not need to display outline  030 , but instead can determine dimensions automatically and integrate them into later analysis without user input. 
         [0048]    In some embodiments, mobile device application  020  can be calibrated before or during the image-taking process. Calibration can be manual or automatic. Calibration can include determination of a scaling factor to enable the user to take pictures of pest trapping device  010  from various distances. Calibration can also include a tool to ensure that the camera is properly focused. 
         [0049]    Upon uploading pictures, mobile device application  020  analyzes the images based on the contrast between pest trapping device  010  and the pests caught and the size of the pest(s). In some embodiments, mobile device application  020  determines the number contiguous dark pixels on pest trapping device  010 . It can then use known shapes and size limits of pests to determine which contiguous pixel areas may represent which pests, and complete a count of each type of pest. 
         [0050]    In other embodiments, mobile device application  020  determines the number of dark pixels on pest trapping device  010  to obtain a total surface area of dark pixels. Where the user indicated a single pest, mobile device application  020  divides the dark pixel surface area by a known average pest size to determine the approximate number of the indicated pest. Where the user indicates a combination of pests, mobile device application  020  divides the dark pixel surface area by the average of all pests indicated to determine the approximate number of total pests. 
         [0051]    Upon calculating the number and type of pests, mobile device application  020  outputs the result to the user. The output may be used in various ways. For example, the output stored in the summary section of a service visit as shown in  FIG. 8A  and used in summary reports as shown in  FIG. 8B . The output may also be stored and used in later reports, for example to report pests caught over time to customers as shown in  FIG. 9 . 
         [0052]      FIG. 10  is a block diagram illustrating an example of a machine  1000 , upon which any one or more example embodiments may be implemented. In alternative embodiments, the machine  1000  may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine  1000  may operate in the capacity of a server machine, a client machine, or both in a client-server network environment. In an example, the machine  1000  may act as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. The machine  1000  may implement or include any portion of the systems, devices, or methods illustrated in  FIGS. 1-10 , and may be a computer, a server, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, although only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations, etc. 
         [0053]    Examples, as described herein, may include, or may operate by, logic or a number of components, modules, or mechanisms. Modules are tangible entities (e.g., hardware) capable of performing specified operations and may be configured or arranged in a certain manner. In an example, circuits may be arranged (e.g., internally or with respect to external entities such as other circuits) in a specified manner as a module. In an example, the whole or part of one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware processors may be configured by firmware or software (e.g., instructions, an application portion, or an application) as a module that operates to perform specified operations. In an example, the software may reside on a machine-readable medium. In an example, the software, when executed by the underlying hardware of the module, causes the hardware to perform the specified operations. 
         [0054]    Accordingly, the term “module” is understood to encompass a tangible entity, be that an entity that is physically constructed, specifically configured (e.g., hardwired), or temporarily (e.g., transitorily) configured (e.g., programmed) to operate in a specified manner or to perform part or all of any operation described herein. Considering examples in which modules are temporarily configured, each of the modules need not be instantiated at any one moment in time. For example, where the modules comprise a general-purpose hardware processor configured using software, the general-purpose hardware processor may be configured as respective different modules at different times. Software may accordingly configure a hardware processor, for example, to constitute a particular module at one instance of time and to constitute a different module at a different instance of time. 
         [0055]    Machine (e.g., computer system)  1000  may include a hardware processor  1002  (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory  1004  and a static memory  1006 , some or all of which may communicate with each other via an interlink (e.g., bus)  1008 . The machine  1000  may further include a display unit  1010 , an alphanumeric input device  1012  (e.g., a keyboard), and a user interface (UI) navigation device  1014  (e.g., a mouse). In an example, the display unit  1010 , input device  1012  and UI navigation device  1014  may be a touch screen display. The machine  1000  may additionally include a storage device (e.g., drive unit)  1016 , a signal generation device  1018  (e.g., a speaker), a network interface device  1020 , and one or more sensors  1021 , such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine  1000  may include an output controller  1028 , such as a serial (e.g., USB, parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.) 
         [0056]    The storage device  1016  may include a machine-readable medium  1022  on which is stored one or more sets of data structures or instructions  1024  (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions  1024  may also reside, completely or at least partially, within the main memory  1004 , within static memory  1006 , or within the hardware processor  1002  during execution thereof by the machine  1000 . In an example, one or any combination of the hardware processor  1002 , the main memory  1004 , the static memory  1006 , or the storage device  1016  may constitute machine-readable media. 
         [0057]    Although the machine-readable medium  1022  is illustrated as a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions  1024 . 
         [0058]    The term “machine-readable medium” may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine  1000  and that cause the machine  1000  to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine-readable medium examples may include solid-state memories, and optical and magnetic media. Accordingly, machine-readable media are not transitory propagating signals. Specific examples of machine-readable media may include non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; Random Access Memory (RAM); Solid State Drives (SSD); and CD-ROM and DVD-ROM disks. 
         [0059]    The instructions  1024  may further be transmitted or received over a communications network  1026  using a transmission medium via the network interface device  1020  utilizing any one of a number of transfer protocols (e.g., frame relay, Internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMAX®), IEEE 802.15.4 family of standards, Bluetooth®, Bluetooth® low energy technology, ZigBee®, peer-to-peer (P2P) networks, among others. In an example, the network interface device  1020  may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network  1026 . In an example, the network interface device  1020  may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine  1000 , and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. 
         [0060]    Various examples have been described. These and other examples are within the scope of claims to be provided in one or more subsequent applications.