7 Replies Latest reply on Jan 18, 2018 1:53 PM by jkim-6 RSS
    jkim-6 Newbie

    Pattern recognition on ThingWorx

    Hi, all!

    Is pattern(sensor) recognition possible on ThingWorx?


    For example, if A pattern matches B pattern. (A: Machine pattern / B: predefined on ThingWorx)

    This machine may be considered as normally operation.


    I look forward to your reply.

    Thank you

      • Re: Pattern recognition on ThingWorx
        Ankit Gupta Ninja

        Jeongeun Kim, Per my understanding; this could be part of ThingWorx Analytics.


        Can Someone from ThingWorx Analytics Team confirm this?

        • Re: Pattern recognition on ThingWorx
          mneumann Creator

          A simple solution could also be to create a Thing (for the machine) and invoke a service each time a property changes.

          The service then compares pattern A to pattern B (e.g. via a regex or some ifs and switches) - return value of the service could be BOOLEAN for true if the pattern matches or false if it doesn't.


          For a more sophisticated pattern Ankit has a point and it could be ThingWorx Analytics relevant, e.g. with a pattern / threshold recognition via a ThingWatcher

            • Re: Pattern recognition on ThingWorx
              Ankit Gupta Ninja

              Hi Michael Neumann,


              This is interesting. Could you please explain about the service that compares pattern A to pattern B (e.g. via a regex or some ifs and switches) in more detail.

                • Re: Pattern recognition on ThingWorx
                  mneumann Creator

                  Well not really

                  I mean in the end you have pattern recognition that's deriving from a Machine Learning background, where TWX Analytics comes into play.

                  This could be behavioral patterns, patterns & shapes in images, movements and fences etc.

                  That in turn could relate to vectors, clustering, neural networks, decision trees for analysis.


                  However, those are all just algorithms, which could be implemented in a custom service. Probably based on a Java Class instead of a Java Script - which would then require programming a custom extension.


                  If the recognition, or the pattern is quite simple, like getting an numeric input and compare it to a pre-defined range of numbers - or receiving a string and validating it with a pre-existing regular expression... this can be implemented on a TWX service level with Java Script.

                  You could even have dynamic patterns by modifying the pattern and storing it in a (value) stream to validate, if an incoming value matches e.g. the last 3 stored patterns.

                  Those could be used for some kind of self-designed machine learning algorithm.


                  So if the use case is simple enough - depending on the actual patterns (text based instead of images / stream based), a simple service comparing thresholds or regex pattern could also be sufficient. For anything else, with a real machine learning approach / background TWX Analytics is probably most likely the better choice.



                  But to keep it short: yes, it's possible to use pattern recognition algorithms in a ThingWorx environment

              • Re: Pattern recognition on ThingWorx
                Ankit Gupta Ninja

                Jeongeun Kim,


                Can you please add more details regarding the pattern. Is it some simple pattern or could be some sophisticated pattern?

                • Re: Pattern recognition on ThingWorx
                  cmorfin Communicator

                  Hi Jeongeun Kim,


                  I can add something form a ThingWorx Analytics view.

                  We do have indeed ThingWatcher that is our Anomaly detection module.

                  This however will not compare to pre-existing data, what it does is read a signal as input and initially learn from the signal (so it is required that in this phase the signal is not anomalous). It will then create a model that will be used to compare the newcoming signal and identify if there is an anomaly.


                  Currently, as of ThingWorx 7.4, ThingWatcher exist only as a SDK and therefore requires some coding (see Sample Java utility to validate ThingWatcher 52.2 installation for an introduction as well as the Help Center: PTC ).

                  With release 8.0, this feature will be embedded in the ThignWorx core platform and therefore can be used straight out of the box.


                  Hope this helps